com.salesforce.hyperdb.grpc.QueryInfo Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jdbc Show documentation
Show all versions of jdbc Show documentation
Salesforce Data Cloud JDBC Driver
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: hyper_service.proto
// Protobuf Java Version: 3.25.5
package com.salesforce.hyperdb.grpc;
/**
* Protobuf type {@code salesforce.hyperdb.grpc.v1.QueryInfo}
*/
public final class QueryInfo extends
com.google.protobuf.GeneratedMessageV3 implements
// @@protoc_insertion_point(message_implements:salesforce.hyperdb.grpc.v1.QueryInfo)
QueryInfoOrBuilder {
private static final long serialVersionUID = 0L;
// Use QueryInfo.newBuilder() to construct.
private QueryInfo(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
super(builder);
}
private QueryInfo() {
}
@java.lang.Override
@SuppressWarnings({"unused"})
protected java.lang.Object newInstance(
UnusedPrivateParameter unused) {
return new QueryInfo();
}
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return com.salesforce.hyperdb.grpc.HyperDatabaseServiceProto.internal_static_salesforce_hyperdb_grpc_v1_QueryInfo_descriptor;
}
@java.lang.Override
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
return com.salesforce.hyperdb.grpc.HyperDatabaseServiceProto.internal_static_salesforce_hyperdb_grpc_v1_QueryInfo_fieldAccessorTable
.ensureFieldAccessorsInitialized(
com.salesforce.hyperdb.grpc.QueryInfo.class, com.salesforce.hyperdb.grpc.QueryInfo.Builder.class);
}
private int contentCase_ = 0;
@SuppressWarnings("serial")
private java.lang.Object content_;
public enum ContentCase
implements com.google.protobuf.Internal.EnumLite,
com.google.protobuf.AbstractMessage.InternalOneOfEnum {
QUERY_STATUS(1),
CONTENT_NOT_SET(0);
private final int value;
private ContentCase(int value) {
this.value = value;
}
/**
* @param value The number of the enum to look for.
* @return The enum associated with the given number.
* @deprecated Use {@link #forNumber(int)} instead.
*/
@java.lang.Deprecated
public static ContentCase valueOf(int value) {
return forNumber(value);
}
public static ContentCase forNumber(int value) {
switch (value) {
case 1: return QUERY_STATUS;
case 0: return CONTENT_NOT_SET;
default: return null;
}
}
public int getNumber() {
return this.value;
}
};
public ContentCase
getContentCase() {
return ContentCase.forNumber(
contentCase_);
}
public static final int QUERY_STATUS_FIELD_NUMBER = 1;
/**
* .salesforce.hyperdb.grpc.v1.QueryStatus query_status = 1;
* @return Whether the queryStatus field is set.
*/
@java.lang.Override
public boolean hasQueryStatus() {
return contentCase_ == 1;
}
/**
* .salesforce.hyperdb.grpc.v1.QueryStatus query_status = 1;
* @return The queryStatus.
*/
@java.lang.Override
public com.salesforce.hyperdb.grpc.QueryStatus getQueryStatus() {
if (contentCase_ == 1) {
return (com.salesforce.hyperdb.grpc.QueryStatus) content_;
}
return com.salesforce.hyperdb.grpc.QueryStatus.getDefaultInstance();
}
/**
* .salesforce.hyperdb.grpc.v1.QueryStatus query_status = 1;
*/
@java.lang.Override
public com.salesforce.hyperdb.grpc.QueryStatusOrBuilder getQueryStatusOrBuilder() {
if (contentCase_ == 1) {
return (com.salesforce.hyperdb.grpc.QueryStatus) content_;
}
return com.salesforce.hyperdb.grpc.QueryStatus.getDefaultInstance();
}
public static final int OPTIONAL_FIELD_NUMBER = 2;
private boolean optional_ = false;
/**
* bool optional = 2;
* @return The optional.
*/
@java.lang.Override
public boolean getOptional() {
return optional_;
}
private byte memoizedIsInitialized = -1;
@java.lang.Override
public final boolean isInitialized() {
byte isInitialized = memoizedIsInitialized;
if (isInitialized == 1) return true;
if (isInitialized == 0) return false;
memoizedIsInitialized = 1;
return true;
}
@java.lang.Override
public void writeTo(com.google.protobuf.CodedOutputStream output)
throws java.io.IOException {
if (contentCase_ == 1) {
output.writeMessage(1, (com.salesforce.hyperdb.grpc.QueryStatus) content_);
}
if (optional_ != false) {
output.writeBool(2, optional_);
}
getUnknownFields().writeTo(output);
}
@java.lang.Override
public int getSerializedSize() {
int size = memoizedSize;
if (size != -1) return size;
size = 0;
if (contentCase_ == 1) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(1, (com.salesforce.hyperdb.grpc.QueryStatus) content_);
}
if (optional_ != false) {
size += com.google.protobuf.CodedOutputStream
.computeBoolSize(2, optional_);
}
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
}
@java.lang.Override
public boolean equals(final java.lang.Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof com.salesforce.hyperdb.grpc.QueryInfo)) {
return super.equals(obj);
}
com.salesforce.hyperdb.grpc.QueryInfo other = (com.salesforce.hyperdb.grpc.QueryInfo) obj;
if (getOptional()
!= other.getOptional()) return false;
if (!getContentCase().equals(other.getContentCase())) return false;
switch (contentCase_) {
case 1:
if (!getQueryStatus()
.equals(other.getQueryStatus())) return false;
break;
case 0:
default:
}
if (!getUnknownFields().equals(other.getUnknownFields())) return false;
return true;
}
@java.lang.Override
public int hashCode() {
if (memoizedHashCode != 0) {
return memoizedHashCode;
}
int hash = 41;
hash = (19 * hash) + getDescriptor().hashCode();
hash = (37 * hash) + OPTIONAL_FIELD_NUMBER;
hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
getOptional());
switch (contentCase_) {
case 1:
hash = (37 * hash) + QUERY_STATUS_FIELD_NUMBER;
hash = (53 * hash) + getQueryStatus().hashCode();
break;
case 0:
default:
}
hash = (29 * hash) + getUnknownFields().hashCode();
memoizedHashCode = hash;
return hash;
}
public static com.salesforce.hyperdb.grpc.QueryInfo parseFrom(
java.nio.ByteBuffer data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static com.salesforce.hyperdb.grpc.QueryInfo parseFrom(
java.nio.ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static com.salesforce.hyperdb.grpc.QueryInfo parseFrom(
com.google.protobuf.ByteString data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static com.salesforce.hyperdb.grpc.QueryInfo parseFrom(
com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static com.salesforce.hyperdb.grpc.QueryInfo parseFrom(byte[] data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static com.salesforce.hyperdb.grpc.QueryInfo parseFrom(
byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static com.salesforce.hyperdb.grpc.QueryInfo parseFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input);
}
public static com.salesforce.hyperdb.grpc.QueryInfo parseFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input, extensionRegistry);
}
public static com.salesforce.hyperdb.grpc.QueryInfo parseDelimitedFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseDelimitedWithIOException(PARSER, input);
}
public static com.salesforce.hyperdb.grpc.QueryInfo parseDelimitedFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseDelimitedWithIOException(PARSER, input, extensionRegistry);
}
public static com.salesforce.hyperdb.grpc.QueryInfo parseFrom(
com.google.protobuf.CodedInputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input);
}
public static com.salesforce.hyperdb.grpc.QueryInfo parseFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input, extensionRegistry);
}
@java.lang.Override
public Builder newBuilderForType() { return newBuilder(); }
public static Builder newBuilder() {
return DEFAULT_INSTANCE.toBuilder();
}
public static Builder newBuilder(com.salesforce.hyperdb.grpc.QueryInfo prototype) {
return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
}
@java.lang.Override
public Builder toBuilder() {
return this == DEFAULT_INSTANCE
? new Builder() : new Builder().mergeFrom(this);
}
@java.lang.Override
protected Builder newBuilderForType(
com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
Builder builder = new Builder(parent);
return builder;
}
/**
* Protobuf type {@code salesforce.hyperdb.grpc.v1.QueryInfo}
*/
public static final class Builder extends
com.google.protobuf.GeneratedMessageV3.Builder implements
// @@protoc_insertion_point(builder_implements:salesforce.hyperdb.grpc.v1.QueryInfo)
com.salesforce.hyperdb.grpc.QueryInfoOrBuilder {
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return com.salesforce.hyperdb.grpc.HyperDatabaseServiceProto.internal_static_salesforce_hyperdb_grpc_v1_QueryInfo_descriptor;
}
@java.lang.Override
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
return com.salesforce.hyperdb.grpc.HyperDatabaseServiceProto.internal_static_salesforce_hyperdb_grpc_v1_QueryInfo_fieldAccessorTable
.ensureFieldAccessorsInitialized(
com.salesforce.hyperdb.grpc.QueryInfo.class, com.salesforce.hyperdb.grpc.QueryInfo.Builder.class);
}
// Construct using com.salesforce.hyperdb.grpc.QueryInfo.newBuilder()
private Builder() {
}
private Builder(
com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
super(parent);
}
@java.lang.Override
public Builder clear() {
super.clear();
bitField0_ = 0;
if (queryStatusBuilder_ != null) {
queryStatusBuilder_.clear();
}
optional_ = false;
contentCase_ = 0;
content_ = null;
return this;
}
@java.lang.Override
public com.google.protobuf.Descriptors.Descriptor
getDescriptorForType() {
return com.salesforce.hyperdb.grpc.HyperDatabaseServiceProto.internal_static_salesforce_hyperdb_grpc_v1_QueryInfo_descriptor;
}
@java.lang.Override
public com.salesforce.hyperdb.grpc.QueryInfo getDefaultInstanceForType() {
return com.salesforce.hyperdb.grpc.QueryInfo.getDefaultInstance();
}
@java.lang.Override
public com.salesforce.hyperdb.grpc.QueryInfo build() {
com.salesforce.hyperdb.grpc.QueryInfo result = buildPartial();
if (!result.isInitialized()) {
throw newUninitializedMessageException(result);
}
return result;
}
@java.lang.Override
public com.salesforce.hyperdb.grpc.QueryInfo buildPartial() {
com.salesforce.hyperdb.grpc.QueryInfo result = new com.salesforce.hyperdb.grpc.QueryInfo(this);
if (bitField0_ != 0) { buildPartial0(result); }
buildPartialOneofs(result);
onBuilt();
return result;
}
private void buildPartial0(com.salesforce.hyperdb.grpc.QueryInfo result) {
int from_bitField0_ = bitField0_;
if (((from_bitField0_ & 0x00000002) != 0)) {
result.optional_ = optional_;
}
}
private void buildPartialOneofs(com.salesforce.hyperdb.grpc.QueryInfo result) {
result.contentCase_ = contentCase_;
result.content_ = this.content_;
if (contentCase_ == 1 &&
queryStatusBuilder_ != null) {
result.content_ = queryStatusBuilder_.build();
}
}
@java.lang.Override
public Builder clone() {
return super.clone();
}
@java.lang.Override
public Builder setField(
com.google.protobuf.Descriptors.FieldDescriptor field,
java.lang.Object value) {
return super.setField(field, value);
}
@java.lang.Override
public Builder clearField(
com.google.protobuf.Descriptors.FieldDescriptor field) {
return super.clearField(field);
}
@java.lang.Override
public Builder clearOneof(
com.google.protobuf.Descriptors.OneofDescriptor oneof) {
return super.clearOneof(oneof);
}
@java.lang.Override
public Builder setRepeatedField(
com.google.protobuf.Descriptors.FieldDescriptor field,
int index, java.lang.Object value) {
return super.setRepeatedField(field, index, value);
}
@java.lang.Override
public Builder addRepeatedField(
com.google.protobuf.Descriptors.FieldDescriptor field,
java.lang.Object value) {
return super.addRepeatedField(field, value);
}
@java.lang.Override
public Builder mergeFrom(com.google.protobuf.Message other) {
if (other instanceof com.salesforce.hyperdb.grpc.QueryInfo) {
return mergeFrom((com.salesforce.hyperdb.grpc.QueryInfo)other);
} else {
super.mergeFrom(other);
return this;
}
}
public Builder mergeFrom(com.salesforce.hyperdb.grpc.QueryInfo other) {
if (other == com.salesforce.hyperdb.grpc.QueryInfo.getDefaultInstance()) return this;
if (other.getOptional() != false) {
setOptional(other.getOptional());
}
switch (other.getContentCase()) {
case QUERY_STATUS: {
mergeQueryStatus(other.getQueryStatus());
break;
}
case CONTENT_NOT_SET: {
break;
}
}
this.mergeUnknownFields(other.getUnknownFields());
onChanged();
return this;
}
@java.lang.Override
public final boolean isInitialized() {
return true;
}
@java.lang.Override
public Builder mergeFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
if (extensionRegistry == null) {
throw new java.lang.NullPointerException();
}
try {
boolean done = false;
while (!done) {
int tag = input.readTag();
switch (tag) {
case 0:
done = true;
break;
case 10: {
input.readMessage(
getQueryStatusFieldBuilder().getBuilder(),
extensionRegistry);
contentCase_ = 1;
break;
} // case 10
case 16: {
optional_ = input.readBool();
bitField0_ |= 0x00000002;
break;
} // case 16
default: {
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
done = true; // was an endgroup tag
}
break;
} // default:
} // switch (tag)
} // while (!done)
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
throw e.unwrapIOException();
} finally {
onChanged();
} // finally
return this;
}
private int contentCase_ = 0;
private java.lang.Object content_;
public ContentCase
getContentCase() {
return ContentCase.forNumber(
contentCase_);
}
public Builder clearContent() {
contentCase_ = 0;
content_ = null;
onChanged();
return this;
}
private int bitField0_;
private com.google.protobuf.SingleFieldBuilderV3<
com.salesforce.hyperdb.grpc.QueryStatus, com.salesforce.hyperdb.grpc.QueryStatus.Builder, com.salesforce.hyperdb.grpc.QueryStatusOrBuilder> queryStatusBuilder_;
/**
* .salesforce.hyperdb.grpc.v1.QueryStatus query_status = 1;
* @return Whether the queryStatus field is set.
*/
@java.lang.Override
public boolean hasQueryStatus() {
return contentCase_ == 1;
}
/**
* .salesforce.hyperdb.grpc.v1.QueryStatus query_status = 1;
* @return The queryStatus.
*/
@java.lang.Override
public com.salesforce.hyperdb.grpc.QueryStatus getQueryStatus() {
if (queryStatusBuilder_ == null) {
if (contentCase_ == 1) {
return (com.salesforce.hyperdb.grpc.QueryStatus) content_;
}
return com.salesforce.hyperdb.grpc.QueryStatus.getDefaultInstance();
} else {
if (contentCase_ == 1) {
return queryStatusBuilder_.getMessage();
}
return com.salesforce.hyperdb.grpc.QueryStatus.getDefaultInstance();
}
}
/**
* .salesforce.hyperdb.grpc.v1.QueryStatus query_status = 1;
*/
public Builder setQueryStatus(com.salesforce.hyperdb.grpc.QueryStatus value) {
if (queryStatusBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
content_ = value;
onChanged();
} else {
queryStatusBuilder_.setMessage(value);
}
contentCase_ = 1;
return this;
}
/**
* .salesforce.hyperdb.grpc.v1.QueryStatus query_status = 1;
*/
public Builder setQueryStatus(
com.salesforce.hyperdb.grpc.QueryStatus.Builder builderForValue) {
if (queryStatusBuilder_ == null) {
content_ = builderForValue.build();
onChanged();
} else {
queryStatusBuilder_.setMessage(builderForValue.build());
}
contentCase_ = 1;
return this;
}
/**
* .salesforce.hyperdb.grpc.v1.QueryStatus query_status = 1;
*/
public Builder mergeQueryStatus(com.salesforce.hyperdb.grpc.QueryStatus value) {
if (queryStatusBuilder_ == null) {
if (contentCase_ == 1 &&
content_ != com.salesforce.hyperdb.grpc.QueryStatus.getDefaultInstance()) {
content_ = com.salesforce.hyperdb.grpc.QueryStatus.newBuilder((com.salesforce.hyperdb.grpc.QueryStatus) content_)
.mergeFrom(value).buildPartial();
} else {
content_ = value;
}
onChanged();
} else {
if (contentCase_ == 1) {
queryStatusBuilder_.mergeFrom(value);
} else {
queryStatusBuilder_.setMessage(value);
}
}
contentCase_ = 1;
return this;
}
/**
* .salesforce.hyperdb.grpc.v1.QueryStatus query_status = 1;
*/
public Builder clearQueryStatus() {
if (queryStatusBuilder_ == null) {
if (contentCase_ == 1) {
contentCase_ = 0;
content_ = null;
onChanged();
}
} else {
if (contentCase_ == 1) {
contentCase_ = 0;
content_ = null;
}
queryStatusBuilder_.clear();
}
return this;
}
/**
* .salesforce.hyperdb.grpc.v1.QueryStatus query_status = 1;
*/
public com.salesforce.hyperdb.grpc.QueryStatus.Builder getQueryStatusBuilder() {
return getQueryStatusFieldBuilder().getBuilder();
}
/**
* .salesforce.hyperdb.grpc.v1.QueryStatus query_status = 1;
*/
@java.lang.Override
public com.salesforce.hyperdb.grpc.QueryStatusOrBuilder getQueryStatusOrBuilder() {
if ((contentCase_ == 1) && (queryStatusBuilder_ != null)) {
return queryStatusBuilder_.getMessageOrBuilder();
} else {
if (contentCase_ == 1) {
return (com.salesforce.hyperdb.grpc.QueryStatus) content_;
}
return com.salesforce.hyperdb.grpc.QueryStatus.getDefaultInstance();
}
}
/**
* .salesforce.hyperdb.grpc.v1.QueryStatus query_status = 1;
*/
private com.google.protobuf.SingleFieldBuilderV3<
com.salesforce.hyperdb.grpc.QueryStatus, com.salesforce.hyperdb.grpc.QueryStatus.Builder, com.salesforce.hyperdb.grpc.QueryStatusOrBuilder>
getQueryStatusFieldBuilder() {
if (queryStatusBuilder_ == null) {
if (!(contentCase_ == 1)) {
content_ = com.salesforce.hyperdb.grpc.QueryStatus.getDefaultInstance();
}
queryStatusBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
com.salesforce.hyperdb.grpc.QueryStatus, com.salesforce.hyperdb.grpc.QueryStatus.Builder, com.salesforce.hyperdb.grpc.QueryStatusOrBuilder>(
(com.salesforce.hyperdb.grpc.QueryStatus) content_,
getParentForChildren(),
isClean());
content_ = null;
}
contentCase_ = 1;
onChanged();
return queryStatusBuilder_;
}
private boolean optional_ ;
/**
* bool optional = 2;
* @return The optional.
*/
@java.lang.Override
public boolean getOptional() {
return optional_;
}
/**
* bool optional = 2;
* @param value The optional to set.
* @return This builder for chaining.
*/
public Builder setOptional(boolean value) {
optional_ = value;
bitField0_ |= 0x00000002;
onChanged();
return this;
}
/**
* bool optional = 2;
* @return This builder for chaining.
*/
public Builder clearOptional() {
bitField0_ = (bitField0_ & ~0x00000002);
optional_ = false;
onChanged();
return this;
}
@java.lang.Override
public final Builder setUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.setUnknownFields(unknownFields);
}
@java.lang.Override
public final Builder mergeUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.mergeUnknownFields(unknownFields);
}
// @@protoc_insertion_point(builder_scope:salesforce.hyperdb.grpc.v1.QueryInfo)
}
// @@protoc_insertion_point(class_scope:salesforce.hyperdb.grpc.v1.QueryInfo)
private static final com.salesforce.hyperdb.grpc.QueryInfo DEFAULT_INSTANCE;
static {
DEFAULT_INSTANCE = new com.salesforce.hyperdb.grpc.QueryInfo();
}
public static com.salesforce.hyperdb.grpc.QueryInfo getDefaultInstance() {
return DEFAULT_INSTANCE;
}
private static final com.google.protobuf.Parser
PARSER = new com.google.protobuf.AbstractParser() {
@java.lang.Override
public QueryInfo parsePartialFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
Builder builder = newBuilder();
try {
builder.mergeFrom(input, extensionRegistry);
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
throw e.setUnfinishedMessage(builder.buildPartial());
} catch (com.google.protobuf.UninitializedMessageException e) {
throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
} catch (java.io.IOException e) {
throw new com.google.protobuf.InvalidProtocolBufferException(e)
.setUnfinishedMessage(builder.buildPartial());
}
return builder.buildPartial();
}
};
public static com.google.protobuf.Parser parser() {
return PARSER;
}
@java.lang.Override
public com.google.protobuf.Parser getParserForType() {
return PARSER;
}
@java.lang.Override
public com.salesforce.hyperdb.grpc.QueryInfo getDefaultInstanceForType() {
return DEFAULT_INSTANCE;
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy