From 26f20e340aff56b893eae980c81c2796538f4e43 Mon Sep 17 00:00:00 2001 From: leancloud-bot Date: Thu, 22 Sep 2022 15:23:43 +0800 Subject: [PATCH] 0.10.18 --- Plugins.meta | 8 + Plugins/LC.Google.Protobuf.dll | Bin 0 -> 358912 bytes Plugins/LC.Google.Protobuf.dll.meta | 33 + Plugins/LC.Google.Protobuf.pdb | Bin 0 -> 142288 bytes Plugins/LC.Google.Protobuf.pdb.meta | 7 + Plugins/LC.Google.Protobuf.xml | 9125 +++++++++++++++++++++++++++ Plugins/LC.Google.Protobuf.xml.meta | 7 + Plugins/LiveQuery.deps.json | 111 + Plugins/LiveQuery.deps.json.meta | 7 + Plugins/LiveQuery.dll | Bin 0 -> 22016 bytes Plugins/LiveQuery.dll.meta | 33 + Plugins/LiveQuery.pdb | Bin 0 -> 12328 bytes Plugins/LiveQuery.pdb.meta | 7 + Plugins/Realtime.dll | Bin 0 -> 299008 bytes Plugins/Realtime.dll.meta | 33 + Plugins/Realtime.pdb | Bin 0 -> 105448 bytes Plugins/Realtime.pdb.meta | 7 + Plugins/link.xml | 10 + Plugins/link.xml.meta | 7 + package.json | 16 + package.json.meta | 7 + 21 files changed, 9418 insertions(+) create mode 100644 Plugins.meta create mode 100644 Plugins/LC.Google.Protobuf.dll create mode 100644 Plugins/LC.Google.Protobuf.dll.meta create mode 100644 Plugins/LC.Google.Protobuf.pdb create mode 100644 Plugins/LC.Google.Protobuf.pdb.meta create mode 100644 Plugins/LC.Google.Protobuf.xml create mode 100644 Plugins/LC.Google.Protobuf.xml.meta create mode 100644 Plugins/LiveQuery.deps.json create mode 100644 Plugins/LiveQuery.deps.json.meta create mode 100644 Plugins/LiveQuery.dll create mode 100644 Plugins/LiveQuery.dll.meta create mode 100644 Plugins/LiveQuery.pdb create mode 100644 Plugins/LiveQuery.pdb.meta create mode 100644 Plugins/Realtime.dll create mode 100644 Plugins/Realtime.dll.meta create mode 100644 Plugins/Realtime.pdb create mode 100644 Plugins/Realtime.pdb.meta create mode 100644 Plugins/link.xml create mode 100644 Plugins/link.xml.meta create mode 100644 package.json create mode 100644 package.json.meta diff --git a/Plugins.meta b/Plugins.meta new file mode 100644 index 0000000..91c4551 --- /dev/null +++ b/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f2f17c39bfa0440a094201a311410a9a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LC.Google.Protobuf.dll b/Plugins/LC.Google.Protobuf.dll new file mode 100644 index 0000000000000000000000000000000000000000..e7552a872ae1a84307f7ae245ca6e589bc818e6d GIT binary patch literal 358912 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 ()CV5ubvDD>)mfS0u0Vt0zDHM7d7yuU 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 NSCvI`;uHI|{|A6%Yz6=T literal 0 HcmV?d00001 diff --git a/Plugins/LC.Google.Protobuf.pdb.meta b/Plugins/LC.Google.Protobuf.pdb.meta new file mode 100644 index 0000000..e5f719d --- /dev/null +++ b/Plugins/LC.Google.Protobuf.pdb.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a95d52b2b10bd4c6b8b6b2167c89a4d3 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LC.Google.Protobuf.xml b/Plugins/LC.Google.Protobuf.xml new file mode 100644 index 0000000..0a7b479 --- /dev/null +++ b/Plugins/LC.Google.Protobuf.xml @@ -0,0 +1,9125 @@ + + + + LC.Google.Protobuf + + + + + Provides a utility routine to copy small arrays much more quickly than Buffer.BlockCopy + + + + + The threshold above which you should use Buffer.BlockCopy rather than ByteArray.Copy + + + + + Determines which copy routine to use based on the number of bytes to be copied. + + + + + Reverses the order of bytes in the array + + + + + Immutable array of bytes. + + + + + Unsafe operations that can cause IO Failure and/or other catastrophic side-effects. + + + + + Constructs a new ByteString from the given byte array. The array is + *not* copied, and must not be modified after this constructor is called. + + + + + Internal use only. Ensure that the provided array is not mutated and belongs to this instance. + + + + + Constructs a new ByteString from the given byte array. The array is + *not* copied, and must not be modified after this constructor is called. + + + + + Returns an empty ByteString. + + + + + Returns the length of this ByteString in bytes. + + + + + Returns true if this byte string is empty, false otherwise. + + + + + Converts this into a byte array. + + The data is copied - changes to the returned array will not be reflected in this ByteString. + A byte array with the same data as this ByteString. + + + + Converts this into a standard base64 representation. + + A base64 representation of this ByteString. + + + + Constructs a from the Base64 Encoded String. + + + + + Constructs a from data in the given stream, synchronously. + + If successful, will be read completely, from the position + at the start of the call. + The stream to copy into a ByteString. + A ByteString with content read from the given stream. + + + + Constructs a from data in the given stream, asynchronously. + + If successful, will be read completely, from the position + at the start of the call. + The stream to copy into a ByteString. + The cancellation token to use when reading from the stream, if any. + A ByteString with content read from the given stream. + + + + Constructs a from the given array. The contents + are copied, so further modifications to the array will not + be reflected in the returned ByteString. + This method can also be invoked in ByteString.CopyFrom(0xaa, 0xbb, ...) form + which is primarily useful for testing. + + + + + Constructs a from a portion of a byte array. + + + + + Creates a new by encoding the specified text with + the given encoding. + + + + + Creates a new by encoding the specified text in UTF-8. + + + + + Retuns the byte at the given index. + + + + + Converts this into a string by applying the given encoding. + + + This method should only be used to convert binary data which was the result of encoding + text with the given encoding. + + The encoding to use to decode the binary data into text. + The result of decoding the binary data with the given decoding. + + + + Converts this into a string by applying the UTF-8 encoding. + + + This method should only be used to convert binary data which was the result of encoding + text with UTF-8. + + The result of decoding the binary data with the given decoding. + + + + Returns an iterator over the bytes in this . + + An iterator over the bytes in this object. + + + + Returns an iterator over the bytes in this . + + An iterator over the bytes in this object. + + + + Creates a CodedInputStream from this ByteString's data. + + + + + Compares two byte strings for equality. + + The first byte string to compare. + The second byte string to compare. + true if the byte strings are equal; false otherwise. + + + + Compares two byte strings for inequality. + + The first byte string to compare. + The second byte string to compare. + false if the byte strings are equal; true otherwise. + + + + Compares this byte string with another object. + + The object to compare this with. + true if refers to an equal ; false otherwise. + + + + Returns a hash code for this object. Two equal byte strings + will return the same hash code. + + A hash code for this object. + + + + Compares this byte string with another. + + The to compare this with. + true if refers to an equal byte string; false otherwise. + + + + Used internally by CodedOutputStream to avoid creating a copy for the write + + + + + Copies the entire byte array to the destination array provided at the offset specified. + + + + + Writes the entire byte array to the provided stream + + + + + Reads and decodes protocol message fields. + + + + This class is generally used by generated code to read appropriate + primitives from the stream. It effectively encapsulates the lowest + levels of protocol buffer format. + + + Repeated fields and map fields are not handled by this class; use + and to serialize such fields. + + + + + + Whether to leave the underlying stream open when disposing of this stream. + This is always true when there's no stream. + + + + + Buffer of data read from the stream or provided at construction time. + + + + + The index of the buffer at which we need to refill from the stream (if there is one). + + + + + The position within the current buffer (i.e. the next byte to read) + + + + + The stream to read further input from, or null if the byte array buffer was provided + directly on construction, with no further data available. + + + + + The last tag we read. 0 indicates we've read to the end of the stream + (or haven't read anything yet). + + + + + The next tag, used to store the value read by PeekTag. + + + + + The total number of bytes read before the current buffer. The + total bytes read up to the current position can be computed as + totalBytesRetired + bufferPos. + + + + + The absolute position of the end of the current message. + + + + + Creates a new CodedInputStream reading data from the given byte array. + + + + + Creates a new that reads from the given byte array slice. + + + + + Creates a new reading data from the given stream, which will be disposed + when the returned object is disposed. + + The stream to read from. + + + + Creates a new reading data from the given stream. + + The stream to read from. + true to leave open when the returned + is disposed; false to dispose of the given stream when the + returned object is disposed. + + + + Creates a new CodedInputStream reading data from the given + stream and buffer, using the default limits. + + + + + Creates a new CodedInputStream reading data from the given + stream and buffer, using the specified limits. + + + This chains to the version with the default limits instead of vice versa to avoid + having to check that the default values are valid every time. + + + + + Creates a with the specified size and recursion limits, reading + from an input stream. + + + This method exists separately from the constructor to reduce the number of constructor overloads. + It is likely to be used considerably less frequently than the constructors, as the default limits + are suitable for most use cases. + + The input stream to read from + The total limit of data to read from the stream. + The maximum recursion depth to allow while reading. + A CodedInputStream reading from with the specified size + and recursion limits. + + + + Returns the current position in the input stream, or the position in the input buffer + + + + + Returns the last tag read, or 0 if no tags have been read or we've read beyond + the end of the stream. + + + + + Returns the size limit for this stream. + + + This limit is applied when reading from the underlying stream, as a sanity check. It is + not applied when reading from a byte array data source without an underlying stream. + The default value is Int32.MaxValue. + + + The size limit. + + + + + Returns the recursion limit for this stream. This limit is applied whilst reading messages, + to avoid maliciously-recursive data. + + + The default limit is 100. + + + The recursion limit for this stream. + + + + + Internal-only property; when set to true, unknown fields will be discarded while parsing. + + + + + Internal-only property; provides extension identifiers to compatible messages while parsing. + + + + + Disposes of this instance, potentially closing any underlying stream. + + + As there is no flushing to perform here, disposing of a which + was constructed with the leaveOpen option parameter set to true (or one which + was constructed to read from a byte array) has no effect. + + + + + Verifies that the last call to ReadTag() returned tag 0 - in other words, + we've reached the end of the stream when we expected to. + + The + tag read was not the one specified + + + + Peeks at the next field tag. This is like calling , but the + tag is not consumed. (So a subsequent call to will return the + same value.) + + + + + Reads a field tag, returning the tag of 0 for "end of stream". + + + If this method returns 0, it doesn't necessarily mean the end of all + the data in this CodedInputStream; it may be the end of the logical stream + for an embedded message, for example. + + The next field tag, or 0 for end of stream. (0 is never a valid tag.) + + + + Skips the data for the field with the tag we've just read. + This should be called directly after , when + the caller wishes to skip an unknown field. + + + This method throws if the last-read tag was an end-group tag. + If a caller wishes to skip a group, they should skip the whole group, by calling this method after reading the + start-group tag. This behavior allows callers to call this method on any field they don't understand, correctly + resulting in an error if an end-group tag has not been paired with an earlier start-group tag. + + The last tag was an end-group tag + The last read operation read to the end of the logical stream + + + + Skip a group. + + + + + Reads a double field from the stream. + + + + + Reads a float field from the stream. + + + + + Reads a uint64 field from the stream. + + + + + Reads an int64 field from the stream. + + + + + Reads an int32 field from the stream. + + + + + Reads a fixed64 field from the stream. + + + + + Reads a fixed32 field from the stream. + + + + + Reads a bool field from the stream. + + + + + Reads a string field from the stream. + + + + + Reads an embedded message field value from the stream. + + + + + Reads an embedded group field from the stream. + + + + + Reads an embedded group unknown field from the stream. + + + + + Reads a bytes field value from the stream. + + + + + Reads a uint32 field value from the stream. + + + + + Reads an enum field value from the stream. + + + + + Reads an sfixed32 field value from the stream. + + + + + Reads an sfixed64 field value from the stream. + + + + + Reads an sint32 field value from the stream. + + + + + Reads an sint64 field value from the stream. + + + + + Reads a length for length-delimited data. + + + This is internally just reading a varint, but this method exists + to make the calling code clearer. + + + + + Peeks at the next tag in the stream. If it matches , + the tag is consumed and the method returns true; otherwise, the + stream is left in the original position and the method returns false. + + + + + Same code as ReadRawVarint32, but read each byte individually, checking for + buffer overflow. + + + + + Reads a raw Varint from the stream. If larger than 32 bits, discard the upper bits. + This method is optimised for the case where we've got lots of data in the buffer. + That means we can check the size just once, then just read directly from the buffer + without constant rechecking of the buffer length. + + + + + Reads a varint from the input one byte at a time, so that it does not + read any bytes after the end of the varint. If you simply wrapped the + stream in a CodedInputStream and used ReadRawVarint32(Stream) + then you would probably end up reading past the end of the varint since + CodedInputStream buffers its input. + + + + + + + Reads a raw varint from the stream. + + + + + Reads a 32-bit little-endian integer from the stream. + + + + + Reads a 64-bit little-endian integer from the stream. + + + + + Decode a 32-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Decode a 32-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Sets currentLimit to (current position) + byteLimit. This is called + when descending into a length-delimited embedded message. The previous + limit is returned. + + The old limit. + + + + Discards the current limit, returning the previous limit. + + + + + Returns whether or not all the data before the limit has been read. + + + + + + Returns true if the stream has reached the end of the input. This is the + case if either the end of the underlying input source has been reached or + the stream has reached a limit created using PushLimit. + + + + + Called when buffer is empty to read more bytes from the + input. If is true, RefillBuffer() gurantees that + either there will be at least one byte in the buffer when it returns + or it will throw an exception. If is false, + RefillBuffer() returns false if no more bytes were available. + + + + + + + Read one byte from the input. + + + the end of the stream or the current limit was reached + + + + + Reads a fixed size of bytes from the input. + + + the end of the stream or the current limit was reached + + + + + Reads and discards bytes. + + the end of the stream + or the current limit was reached + + + + Abstraction of skipping to cope with streams which can't really skip. + + + + + Encodes and writes protocol message fields. + + + + This class is generally used by generated code to write appropriate + primitives to the stream. It effectively encapsulates the lowest + levels of protocol buffer format. Unlike some other implementations, + this does not include combined "write tag and value" methods. Generated + code knows the exact byte representations of the tags they're going to write, + so there's no need to re-encode them each time. Manually-written code calling + this class should just call one of the WriteTag overloads before each value. + + + Repeated fields and map fields are not handled by this class; use RepeatedField<T> + and MapField<TKey, TValue> to serialize such fields. + + + + + + Computes the number of bytes that would be needed to encode a + double field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + float field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + uint64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + int64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + int32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + fixed64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + fixed32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + bool field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + string field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + group field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + embedded message field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + bytes field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + uint32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + enum field, including the tag. The caller is responsible for + converting the enum value to its numeric value. + + + + + Computes the number of bytes that would be needed to encode an + sfixed32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + sfixed64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + sint32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + sint64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a length, + as written by . + + + + + Computes the number of bytes that would be needed to encode a varint. + + + + + Computes the number of bytes that would be needed to encode a varint. + + + + + Computes the number of bytes that would be needed to encode a tag. + + + + + The buffer size used by CreateInstance(Stream). + + + + + Creates a new CodedOutputStream that writes directly to the given + byte array. If more bytes are written than fit in the array, + OutOfSpaceException will be thrown. + + + + + Creates a new CodedOutputStream that writes directly to the given + byte array slice. If more bytes are written than fit in the array, + OutOfSpaceException will be thrown. + + + + + Creates a new which write to the given stream, and disposes of that + stream when the returned CodedOutputStream is disposed. + + The stream to write to. It will be disposed when the returned CodedOutputStream is disposed. + + + + Creates a new CodedOutputStream which write to the given stream and uses + the specified buffer size. + + The stream to write to. It will be disposed when the returned CodedOutputStream is disposed. + The size of buffer to use internally. + + + + Creates a new CodedOutputStream which write to the given stream. + + The stream to write to. + If true, is left open when the returned CodedOutputStream is disposed; + if false, the provided stream is disposed as well. + + + + Creates a new CodedOutputStream which write to the given stream and uses + the specified buffer size. + + The stream to write to. + The size of buffer to use internally. + If true, is left open when the returned CodedOutputStream is disposed; + if false, the provided stream is disposed as well. + + + + Returns the current position in the stream, or the position in the output buffer + + + + + Writes a double field value, without a tag, to the stream. + + The value to write + + + + Writes a float field value, without a tag, to the stream. + + The value to write + + + + Writes a uint64 field value, without a tag, to the stream. + + The value to write + + + + Writes an int64 field value, without a tag, to the stream. + + The value to write + + + + Writes an int32 field value, without a tag, to the stream. + + The value to write + + + + Writes a fixed64 field value, without a tag, to the stream. + + The value to write + + + + Writes a fixed32 field value, without a tag, to the stream. + + The value to write + + + + Writes a bool field value, without a tag, to the stream. + + The value to write + + + + Writes a string field value, without a tag, to the stream. + The data is length-prefixed. + + The value to write + + + + Writes a message, without a tag, to the stream. + The data is length-prefixed. + + The value to write + + + + Writes a group, without a tag, to the stream. + + The value to write + + + + Write a byte string, without a tag, to the stream. + The data is length-prefixed. + + The value to write + + + + Writes a uint32 value, without a tag, to the stream. + + The value to write + + + + Writes an enum value, without a tag, to the stream. + + The value to write + + + + Writes an sfixed32 value, without a tag, to the stream. + + The value to write. + + + + Writes an sfixed64 value, without a tag, to the stream. + + The value to write + + + + Writes an sint32 value, without a tag, to the stream. + + The value to write + + + + Writes an sint64 value, without a tag, to the stream. + + The value to write + + + + Writes a length (in bytes) for length-delimited data. + + + This method simply writes a rawint, but exists for clarity in calling code. + + Length value, in bytes. + + + + Encodes and writes a tag. + + The number of the field to write the tag for + The wire format type of the tag to write + + + + Writes an already-encoded tag. + + The encoded tag + + + + Writes the given single-byte tag directly to the stream. + + The encoded tag + + + + Writes the given two-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + + + + Writes the given three-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + + + + Writes the given four-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + The fourth byte of the encoded tag + + + + Writes the given five-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + The fourth byte of the encoded tag + The fifth byte of the encoded tag + + + + Writes a 32 bit value as a varint. The fast route is taken when + there's enough buffer space left to whizz through without checking + for each byte; otherwise, we resort to calling WriteRawByte each time. + + + + + Writes out an array of bytes. + + + + + Writes out part of an array of bytes. + + + + + Encode a 32-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Encode a 64-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Indicates that a CodedOutputStream wrapping a flat byte array + ran out of space. + + + + + Flushes any buffered data and optionally closes the underlying stream, if any. + + + + By default, any underlying stream is closed by this method. To configure this behaviour, + use a constructor overload with a leaveOpen parameter. If this instance does not + have an underlying stream, this method does nothing. + + + For the sake of efficiency, calling this method does not prevent future write calls - but + if a later write ends up writing to a stream which has been disposed, that is likely to + fail. It is recommend that you not call any other methods after this. + + + + + + Flushes any buffered data to the underlying stream (if there is one). + + + + + Verifies that SpaceLeft returns zero. It's common to create a byte array + that is exactly big enough to hold a message, then write to it with + a CodedOutputStream. Calling CheckNoSpaceLeft after writing verifies that + the message was actually as big as expected, which can help bugs. + + + + + If writing to a flat array, returns the space left in the array. Otherwise, + throws an InvalidOperationException. + + + + + Utility to compare if two Lists are the same, and the hash code + of a List. + + + + + Checks if two lists are equal. + + + + + Gets the list's hash code. + + + + + Representation of a map field in a Protocol Buffer message. + + Key type in the map. Must be a type supported by Protocol Buffer map keys. + Value type in the map. Must be a type supported by Protocol Buffers. + + + For string keys, the equality comparison is provided by . + + + Null values are not permitted in the map, either for wrapper types or regular messages. + If a map is deserialized from a data stream and the value is missing from an entry, a default value + is created instead. For primitive types, that is the regular default value (0, the empty string and so + on); for message types, an empty instance of the message is created, as if the map entry contained a 0-length + encoded value for the field. + + + This implementation does not generally prohibit the use of key/value types which are not + supported by Protocol Buffers (e.g. using a key type of byte) but nor does it guarantee + that all operations will work in such cases. + + + The order in which entries are returned when iterating over this object is undefined, and may change + in future versions. + + + + + + Creates a deep clone of this object. + + + A deep clone of this object. + + + + + Adds the specified key/value pair to the map. + + + This operation fails if the key already exists in the map. To replace an existing entry, use the indexer. + + The key to add + The value to add. + The given key already exists in map. + + + + Determines whether the specified key is present in the map. + + The key to check. + true if the map contains the given key; false otherwise. + + + + Removes the entry identified by the given key from the map. + + The key indicating the entry to remove from the map. + true if the map contained the given key before the entry was removed; false otherwise. + + + + Gets the value associated with the specified key. + + The key whose value to get. + When this method returns, the value associated with the specified key, if the key is found; + otherwise, the default value for the type of the parameter. + This parameter is passed uninitialized. + true if the map contains an element with the specified key; otherwise, false. + + + + Gets or sets the value associated with the specified key. + + The key of the value to get or set. + The property is retrieved and key does not exist in the collection. + The value associated with the specified key. If the specified key is not found, + a get operation throws a , and a set operation creates a new element with the specified key. + + + + Gets a collection containing the keys in the map. + + + + + Gets a collection containing the values in the map. + + + + + Adds the specified entries to the map. The keys and values are not automatically cloned. + + The entries to add to the map. + + + + Returns an enumerator that iterates through the collection. + + + An enumerator that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Adds the specified item to the map. + + The item to add to the map. + + + + Removes all items from the map. + + + + + Determines whether map contains an entry equivalent to the given key/value pair. + + The key/value pair to find. + + + + + Copies the key/value pairs in this map to an array. + + The array to copy the entries into. + The index of the array at which to start copying values. + + + + Removes the specified key/value pair from the map. + + Both the key and the value must be found for the entry to be removed. + The key/value pair to remove. + true if the key/value pair was found and removed; false otherwise. + + + + Gets the number of elements contained in the map. + + + + + Gets a value indicating whether the map is read-only. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Compares this map with another for equality. + + + The order of the key/value pairs in the maps is not deemed significant in this comparison. + + The map to compare this with. + true if refers to an equal map; false otherwise. + + + + Adds entries to the map from the given stream. + + + It is assumed that the stream is initially positioned after the tag specified by the codec. + This method will continue reading entries from the stream until the end is reached, or + a different tag is encountered. + + Stream to read from + Codec describing how the key/value pairs are encoded + + + + Writes the contents of this map to the given coded output stream, using the specified codec + to encode each entry. + + The output stream to write to. + The codec to use for each entry. + + + + Calculates the size of this map based on the given entry codec. + + The codec to use to encode each entry. + + + + + Returns a string representation of this repeated field, in the same + way as it would be represented by the default JSON formatter. + + + + + A codec for a specific map field. This contains all the information required to encode and + decode the nested messages. + + + + + Creates a new entry codec based on a separate key codec and value codec, + and the tag to use for each map entry. + + The key codec. + The value codec. + The map tag to use to introduce each map entry. + + + + The tag used in the enclosing message to indicate map entries. + + + + + A mutable message class, used for parsing and serializing. This + delegates the work to a codec, but implements the interface + for interop with and . + This is nested inside Codec as it's tightly coupled to the associated codec, + and it's simpler if it has direct access to all its fields. + + + + + Provides a central place to implement equality comparisons, primarily for bitwise float/double equality. + + + + + Returns an equality comparer for suitable for Protobuf equality comparisons. + This is usually just the default equality comparer for the type, but floating point numbers are compared + bitwise. + + The type of equality comparer to return. + The equality comparer. + + + + Returns an equality comparer suitable for comparing 64-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Returns an equality comparer suitable for comparing 32-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Returns an equality comparer suitable for comparing nullable 64-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Returns an equality comparer suitable for comparing nullable 32-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Read-only wrapper around another dictionary. + + + + + The contents of a repeated field: essentially, a collection with some extra + restrictions (no null values) and capabilities (deep cloning). + + + This implementation does not generally prohibit the use of types which are not + supported by Protocol Buffers but nor does it guarantee that all operations will work in such cases. + + The element type of the repeated field. + + + + Creates a deep clone of this repeated field. + + + If the field type is + a message type, each element is also cloned; otherwise, it is + assumed that the field type is primitive (including string and + bytes, both of which are immutable) and so a simple copy is + equivalent to a deep clone. + + A deep clone of this repeated field. + + + + Adds the entries from the given input stream, decoding them with the specified codec. + + The input stream to read from. + The codec to use in order to read each entry. + + + + Calculates the size of this collection based on the given codec. + + The codec to use when encoding each field. + The number of bytes that would be written to a by , + using the same codec. + + + + Writes the contents of this collection to the given , + encoding each value using the specified codec. + + The output stream to write to. + The codec to use when encoding each value. + + + + Gets and sets the capacity of the RepeatedField's internal array. WHen set, the internal array is reallocated to the given capacity. + The new value is less than Count -or- when Count is less than 0. + + + + + Adds the specified item to the collection. + + The item to add. + + + + Removes all items from the collection. + + + + + Determines whether this collection contains the given item. + + The item to find. + true if this collection contains the given item; false otherwise. + + + + Copies this collection to the given array. + + The array to copy to. + The first index of the array to copy to. + + + + Removes the specified item from the collection + + The item to remove. + true if the item was found and removed; false otherwise. + + + + Gets the number of elements contained in the collection. + + + + + Gets a value indicating whether the collection is read-only. + + + + + Adds all of the specified values into this collection. + + The values to add to this collection. + + + + Adds all of the specified values into this collection. This method is present to + allow repeated fields to be constructed from queries within collection initializers. + Within non-collection-initializer code, consider using the equivalent + method instead for clarity. + + The values to add to this collection. + + + + Returns an enumerator that iterates through the collection. + + + An enumerator that can be used to iterate through the collection. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Compares this repeated field with another for equality. + + The repeated field to compare this with. + true if refers to an equal repeated field; false otherwise. + + + + Returns the index of the given item within the collection, or -1 if the item is not + present. + + The item to find in the collection. + The zero-based index of the item, or -1 if it is not found. + + + + Inserts the given item at the specified index. + + The index at which to insert the item. + The item to insert. + + + + Removes the item at the given index. + + The zero-based index of the item to remove. + + + + Returns a string representation of this repeated field, in the same + way as it would be represented by the default JSON formatter. + + + + + Gets or sets the item at the specified index. + + + The element at the specified index. + + The zero-based index of the element to get or set. + The item at the specified index. + + + + Extension methods for , effectively providing + the familiar members from previous desktop framework versions while + targeting the newer releases, .NET Core etc. + + + + + Returns the public getter of a property, or null if there is no such getter + (either because it's read-only, or the getter isn't public). + + + + + Returns the public setter of a property, or null if there is no such setter + (either because it's write-only, or the setter isn't public). + + + + + Provides extension methods on Type that just proxy to TypeInfo. + These are used to support the new type system from .NET 4.5, without + having calls to GetTypeInfo all over the place. While the methods here are meant to be + broadly compatible with the desktop framework, there are some subtle differences in behaviour - but + they're not expected to affect our use cases. While the class is internal, that should be fine: we can + evaluate each new use appropriately. + + + + + See https://msdn.microsoft.com/en-us/library/system.type.isassignablefrom + + + + + Returns a representation of the public property associated with the given name in the given type, + including inherited properties or null if there is no such public property. + Here, "public property" means a property where either the getter, or the setter, or both, is public. + + + + + Returns a representation of the public method associated with the given name in the given type, + including inherited methods. + + + This has a few differences compared with Type.GetMethod in the desktop framework. It will throw + if there is an ambiguous match even between a private method and a public one, but it *won't* throw + if there are two overloads at different levels in the type hierarchy (e.g. class Base declares public void Foo(int) and + class Child : Base declares public void Foo(long)). + + One type in the hierarchy declared more than one method with the same name + + + + Represents a non-generic extension definition. This API is experimental and subject to change. + + + + + Internal use. Creates a new extension with the specified field number. + + + + + Gets the field number of this extension + + + + + Represents a type-safe extension identifier used for getting and setting single extension values in instances. + This API is experimental and subject to change. + + The message type this field applies to + The field value type of this extension + + + + Creates a new extension identifier with the specified field number and codec + + + + + Represents a type-safe extension identifier used for getting repeated extension values in instances. + This API is experimental and subject to change. + + The message type this field applies to + The repeated field value type of this extension + + + + Creates a new repeated extension identifier with the specified field number and codec + + + + + Provides extensions to messages while parsing. This API is experimental and subject to change. + + + + + Creates a new empty extension registry + + + + + Gets the total number of extensions in this extension registry + + + + + Returns whether the registry is readonly + + + + + Adds the specified extension to the registry + + + + + Adds the specified extensions to the registry + + + + + Clears the registry of all values + + + + + Gets whether the extension registry contains the specified extension + + + + + Copies the arrays in the registry set to the specified array at the specified index + + The array to copy to + The array index to start at + + + + Returns an enumerator to enumerate through the items in the registry + + Returns an enumerator for the extensions in this registry + + + + Removes the specified extension from the set + + The extension + true if the extension was removed, otherwise false + + + + Clones the registry into a new registry + + + + + Methods for managing s with null checking. + + Most users will not use this class directly and its API is experimental and subject to change. + + + + + Gets the value of the specified extension + + + + + Gets the value of the specified repeated extension or null if it doesn't exist in this set + + + + + Gets the value of the specified repeated extension, registering it if it doesn't exist + + + + + Sets the value of the specified extension. This will make a new instance of ExtensionSet if the set is null. + + + + + Gets whether the value of the specified extension is set + + + + + Clears the value of the specified extension + + + + + Clears the value of the specified extension + + + + + Tries to merge a field from the coded input, returning true if the field was merged. + If the set is null or the field was not otherwise merged, this returns false. + + + + + Merges the second set into the first set, creating a new instance if first is null + + + + + Clones the set into a new set. If the set is null, this returns null + + + + + Used for keeping track of extensions in messages. + methods route to this set. + + Most users will not need to use this class directly + + The message type that extensions in this set target + + + + Gets a hash code of the set + + + + + Returns whether this set is equal to the other object + + + + + Calculates the size of this extension set + + + + + Writes the extension values in this set to the output stream + + + + + Factory methods for . + + + + + Retrieves a codec suitable for a string field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a bytes field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a bool field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an int32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an int64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a float field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a double field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an enum field with the given tag. + + The tag. + A conversion function from to the enum type. + A conversion function from the enum type to . + A codec for the given tag. + + + + Retrieves a codec suitable for a string field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a bytes field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a bool field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an int32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an int64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a float field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a double field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an enum field with the given tag. + + The tag. + A conversion function from to the enum type. + A conversion function from the enum type to . + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a message field with the given tag. + + The tag. + A parser to use for the message type. + A codec for the given tag. + + + + Retrieves a codec suitable for a group field with the given tag. + + The start group tag. + The end group tag. + A parser to use for the group message type. + A codec for given tag + + + + Creates a codec for a wrapper type of a class - which must be string or ByteString. + + + + + Creates a codec for a wrapper type of a struct - which must be Int32, Int64, UInt32, UInt64, + Bool, Single or Double. + + + + + Helper code to create codecs for wrapper types. + + + Somewhat ugly with all the static methods, but the conversions involved to/from nullable types make it + slightly tricky to improve. So long as we keep the public API (ForClassWrapper, ForStructWrapper) in place, + we can refactor later if we come up with something cleaner. + + + + + Returns a field codec which effectively wraps a value of type T in a message. + + + + + + + An encode/decode pair for a single field. This effectively encapsulates + all the information needed to read or write the field value from/to a coded + stream. + + + This class is public and has to be as it is used by generated code, but its public + API is very limited - just what the generated code needs to call directly. + + + + This never writes default values to the stream, and does not address "packedness" + in repeated fields itself, other than to know whether or not the field *should* be packed. + + + + + Merges an input stream into a value + + + + + Merges a value into a reference to another value, returning a boolean if the value was set + + + + + Returns a delegate to write a value (unconditionally) to a coded output stream. + + + + + Returns the size calculator for just a value. + + + + + Returns a delegate to read a value from a coded input stream. It is assumed that + the stream is already positioned on the appropriate tag. + + + + + Returns a delegate to merge a value from a coded input stream. + It is assumed that the stream is already positioned on the appropriate tag + + + + + Returns a delegate to merge two values together. + + + + + Returns the fixed size for an entry, or 0 if sizes vary. + + + + + Gets the tag of the codec. + + + The tag of the codec. + + + + + Gets the end tag of the codec or 0 if there is no end tag + + + The end tag of the codec. + + + + + Default value for this codec. Usually the same for every instance of the same type, but + for string/ByteString wrapper fields the codec's default value is null, whereas for + other string/ByteString fields it's "" or ByteString.Empty. + + + The default value of the codec's type. + + + + + Write a tag and the given value, *if* the value is not the default. + + + + + Reads a value of the codec type from the given . + + The input stream to read from. + The value read from the stream. + + + + Calculates the size required to write the given value, with a tag, + if the value is not the default. + + + + + A tree representation of a FieldMask. Each leaf node in this tree represent + a field path in the FieldMask. + + For example, FieldMask "foo.bar,foo.baz,bar.baz" as a tree will be: + + [root] -+- foo -+- bar + | | + | +- baz + | + +- bar --- baz + + + By representing FieldMasks with this tree structure we can easily convert + a FieldMask to a canonical form, merge two FieldMasks, calculate the + intersection to two FieldMasks and traverse all fields specified by the + FieldMask in a message tree. + + + + + Creates an empty FieldMaskTree. + + + + + Creates a FieldMaskTree for a given FieldMask. + + + + + Adds a field path to the tree. In a FieldMask, every field path matches the + specified field as well as all its sub-fields. For example, a field path + "foo.bar" matches field "foo.bar" and also "foo.bar.baz", etc. When adding + a field path to the tree, redundant sub-paths will be removed. That is, + after adding "foo.bar" to the tree, "foo.bar.baz" will be removed if it + exists, which will turn the tree node for "foo.bar" to a leaf node. + Likewise, if the field path to add is a sub-path of an existing leaf node, + nothing will be changed in the tree. + + + + + Merges all field paths in a FieldMask into this tree. + + + + + Converts this tree to a FieldMask. + + + + + Gathers all field paths in a sub-tree. + + + + + Adds the intersection of this tree with the given to . + + + + + Merges all fields specified by this FieldMaskTree from to . + + + + + Merges all fields specified by a sub-tree from to . + + + + + Class containing helpful workarounds for various platform compatibility + + + + + A message type that has a custom string format for diagnostic purposes. + + + + Calling on a generated message type normally + returns the JSON representation. If a message type implements this interface, + then the method will be called instead of the regular + JSON formatting code, but only when ToString() is called either on the message itself + or on another message which contains it. This does not affect the normal JSON formatting of + the message. + + + For example, if you create a proto message representing a GUID, the internal + representation may be a bytes field or four fixed32 fields. However, when debugging + it may be more convenient to see a result in the same format as provides. + + This interface extends to avoid it accidentally being implemented + on types other than messages, where it would not be used by anything in the framework. + + + + + Returns a string representation of this object, for diagnostic purposes. + + + This method is called when a message is formatted as part of a + call. It does not affect the JSON representation used by other than + in calls to . While it is recommended + that the result is valid JSON, this is never assumed by the Protobuf library. + + A string representation of this object, for diagnostic purposes. + + + + Generic interface for a deeply cloneable type. + + + + All generated messages implement this interface, but so do some non-message types. + Additionally, due to the type constraint on T in , + it is simpler to keep this as a separate interface. + + + The type itself, returned by the method. + + + + Creates a deep clone of this object. + + A deep clone of this object. + + + + Generic interface for a Protocol Buffers message containing one or more extensions, where the type parameter is expected to be the same type as the implementation class. + This interface is experiemental and is subject to change. + + + + + Gets the value of the specified extension + + + + + Gets the value of the specified repeated extension or null if the extension isn't registered in this set. + For a version of this method that never returns null, use + + + + + Gets the value of the specified repeated extension, registering it if it hasn't already been registered. + + + + + Sets the value of the specified extension + + + + + Gets whether the value of the specified extension is set + + + + + Clears the value of the specified extension + + + + + Clears the value of the specified repeated extension + + + + + Interface for a Protocol Buffers message, supporting + basic operations required for serialization. + + + + + Merges the data from the specified coded input stream with the current message. + + See the user guide for precise merge semantics. + + + + + Writes the data to the given coded output stream. + + Coded output stream to write the data to. Must not be null. + + + + Calculates the size of this message in Protocol Buffer wire format, in bytes. + + The number of bytes required to write this message + to a coded output stream. + + + + Descriptor for this message. All instances are expected to return the same descriptor, + and for generated types this will be an explicitly-implemented member, returning the + same value as the static property declared on the type. + + + + + Generic interface for a Protocol Buffers message, + where the type parameter is expected to be the same type as + the implementation class. + + The message type. + + + + Merges the given message into this one. + + See the user guide for precise merge semantics. + The message to merge with this one. Must not be null. + + + + Thrown when an attempt is made to parse invalid JSON, e.g. using + a non-string property key, or including a redundant comma. Parsing a protocol buffer + message represented in JSON using can throw both this + exception and depending on the situation. This + exception is only thrown for "pure JSON" errors, whereas InvalidProtocolBufferException + is thrown when the JSON may be valid in and of itself, but cannot be parsed as a protocol buffer + message. + + + + + Thrown when a protocol message being parsed is invalid in some way, + e.g. it contains a malformed varint or a negative byte length. + + + + + Creates an exception for an error condition of an invalid tag being encountered. + + + + + Reflection-based converter from messages to JSON. + + + + Instances of this class are thread-safe, with no mutable state. + + + This is a simple start to get JSON formatting working. As it's reflection-based, + it's not as quick as baking calls into generated messages - but is a simpler implementation. + (This code is generally not heavily optimized.) + + + + + + Returns a formatter using the default settings. + + + + + The JSON representation of the first 160 characters of Unicode. + Empty strings are replaced by the static constructor. + + + + + Creates a new formatted with the given settings. + + The settings. + + + + Formats the specified message as JSON. + + The message to format. + The formatted message. + + + + Formats the specified message as JSON. + + The message to format. + The TextWriter to write the formatted message to. + The formatted message. + + + + Converts a message to JSON for diagnostic purposes with no extra context. + + + + This differs from calling on the default JSON + formatter in its handling of . As no type registry is available + in calls, the normal way of resolving the type of + an Any message cannot be applied. Instead, a JSON property named @value + is included with the base64 data from the property of the message. + + The value returned by this method is only designed to be used for diagnostic + purposes. It may not be parsable by , and may not be parsable + by other Protocol Buffer implementations. + + The message to format for diagnostic purposes. + The diagnostic-only JSON representation of the message + + + + Writes a single value to the given writer as JSON. Only types understood by + Protocol Buffers can be written in this way. This method is only exposed for + advanced use cases; most users should be using + or . + + The writer to write the value to. Must not be null. + The value to write. May be null. + + + + Central interception point for well-known type formatting. Any well-known types which + don't need special handling can fall back to WriteMessage. We avoid assuming that the + values are using the embedded well-known types, in order to allow for dynamic messages + in the future. + + + + + Writes a string (including leading and trailing double quotes) to a builder, escaping as required. + + + Other than surrogate pair handling, this code is mostly taken from src/google/protobuf/util/internal/json_escaping.cc. + + + + + Settings controlling JSON formatting. + + + + + Default settings, as used by + + + + + Whether fields whose values are the default for the field type (e.g. 0 for integers) + should be formatted (true) or omitted (false). + + + + + The type registry used to format messages. + + + + + Whether to format enums as ints. Defaults to false. + + + + + Creates a new object with the specified formatting of default values + and an empty type registry. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + + + + Creates a new object with the specified formatting of default values + and type registry. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + The to use when formatting messages. + + + + Creates a new object with the specified parameters. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + The to use when formatting messages. TypeRegistry.Empty will be used if it is null. + true to format the enums as integers; false to format enums as enum names. + + + + Creates a new object with the specified formatting of default values and the current settings. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + + + + Creates a new object with the specified type registry and the current settings. + + The to use when formatting messages. + + + + Creates a new object with the specified enums formatting option and the current settings. + + true to format the enums as integers; false to format enums as enum names. + + + + Reflection-based converter from JSON to messages. + + + + Instances of this class are thread-safe, with no mutable state. + + + This is a simple start to get JSON parsing working. As it's reflection-based, + it's not as quick as baking calls into generated messages - but is a simpler implementation. + (This code is generally not heavily optimized.) + + + + + + Returns a formatter using the default settings. + + + + + Creates a new formatted with the given settings. + + The settings. + + + + Parses and merges the information into the given message. + + The message to merge the JSON information into. + The JSON to parse. + + + + Parses JSON read from and merges the information into the given message. + + The message to merge the JSON information into. + Reader providing the JSON to parse. + + + + Merges the given message using data from the given tokenizer. In most cases, the next + token should be a "start object" token, but wrapper types and nullity can invalidate + that assumption. This is implemented as an LL(1) recursive descent parser over the stream + of tokens provided by the tokenizer. This token stream is assumed to be valid JSON, with the + tokenizer performing that validation - but not every token stream is valid "protobuf JSON". + + + + + Parses into a new message. + + The type of message to create. + The JSON to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Parses JSON read from into a new message. + + The type of message to create. + Reader providing the JSON to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Parses into a new message. + + The JSON to parse. + Descriptor of message type to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Parses JSON read from into a new message. + + Reader providing the JSON to parse. + Descriptor of message type to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Creates a new instance of the message type for the given field. + + + + + Checks that any infinite/NaN values originated from the correct text. + This corrects the lenient whitespace handling of double.Parse/float.Parse, as well as the + way that Mono parses out-of-range values as infinity. + + + + + Settings controlling JSON parsing. + + + + + Default settings, as used by . This has the same default + recursion limit as , and an empty type registry. + + + + + The maximum depth of messages to parse. Note that this limit only applies to parsing + messages, not collections - so a message within a collection within a message only counts as + depth 2, not 3. + + + + + The type registry used to parse messages. + + + + + Whether the parser should ignore unknown fields (true) or throw an exception when + they are encountered (false). + + + + + Creates a new object with the specified recursion limit. + + The maximum depth of messages to parse + + + + Creates a new object with the specified recursion limit and type registry. + + The maximum depth of messages to parse + The type registry used to parse messages + + + + Creates a new object set to either ignore unknown fields, or throw an exception + when unknown fields are encountered. + + true if unknown fields should be ignored when parsing; false to throw an exception. + + + + Creates a new object based on this one, but with the specified recursion limit. + + The new recursion limit. + + + + Creates a new object based on this one, but with the specified type registry. + + The new type registry. Must not be null. + + + + Simple but strict JSON tokenizer, rigidly following RFC 7159. + + + + This tokenizer is stateful, and only returns "useful" tokens - names, values etc. + It does not create tokens for the separator between names and values, or for the comma + between values. It validates the token stream as it goes - so callers can assume that the + tokens it produces are appropriate. For example, it would never produce "start object, end array." + + Implementation details: the base class handles single token push-back and + Not thread-safe. + + + + + Creates a tokenizer that reads from the given text reader. + + + + + Creates a tokenizer that first replays the given list of tokens, then continues reading + from another tokenizer. Note that if the returned tokenizer is "pushed back", that does not push back + on the continuation tokenizer, or vice versa. Care should be taken when using this method - it was + created for the sake of Any parsing. + + + + + Returns the depth of the stack, purely in objects (not collections). + Informally, this is the number of remaining unclosed '{' characters we have. + + + + + Returns the next JSON token in the stream. An EndDocument token is returned to indicate the end of the stream, + after which point Next() should not be called again. + + This implementation provides single-token buffering, and calls if there is no buffered token. + The next token in the stream. This is never null. + This method is called after an EndDocument token has been returned + The input text does not comply with RFC 7159 + + + + Returns the next JSON token in the stream, when requested by the base class. (The method delegates + to this if it doesn't have a buffered token.) + + This method is called after an EndDocument token has been returned + The input text does not comply with RFC 7159 + + + + Skips the value we're about to read. This must only be called immediately after reading a property name. + If the value is an object or an array, the complete object/array is skipped. + + + + + Tokenizer which first exhausts a list of tokens, then consults another tokenizer. + + + + + Tokenizer which does all the *real* work of parsing JSON. + + + + + This method essentially just loops through characters skipping whitespace, validating and + changing state (e.g. from ObjectBeforeColon to ObjectAfterColon) + until it reaches something which will be a genuine token (e.g. a start object, or a value) at which point + it returns the token. Although the method is large, it would be relatively hard to break down further... most + of it is the large switch statement, which sometimes returns and sometimes doesn't. + + + + + Reads a string token. It is assumed that the opening " has already been read. + + + + + Reads an escaped character. It is assumed that the leading backslash has already been read. + + + + + Reads an escaped Unicode 4-nybble hex sequence. It is assumed that the leading \u has already been read. + + + + + Consumes a text-only literal, throwing an exception if the read text doesn't match it. + It is assumed that the first letter of the literal has already been read. + + + + + Validates that we're in a valid state to read a value (using the given error prefix if necessary) + and changes the state to the appropriate one, e.g. ObjectAfterColon to ObjectAfterProperty. + + + + + Pops the top-most container, and sets the state to the appropriate one for the end of a value + in the parent container. + + + + + Possible states of the tokenizer. + + + This is a flags enum purely so we can simply and efficiently represent a set of valid states + for checking. + + Each is documented with an example, + where ^ represents the current position within the text stream. The examples all use string values, + but could be any value, including nested objects/arrays. + The complete state of the tokenizer also includes a stack to indicate the contexts (arrays/objects). + Any additional notional state of "AfterValue" indicates that a value has been completed, at which + point there's an immediate transition to ExpectedEndOfDocument, ObjectAfterProperty or ArrayAfterValue. + + + These states were derived manually by reading RFC 7159 carefully. + + + + + + ^ { "foo": "bar" } + Before the value in a document. Next states: ObjectStart, ArrayStart, "AfterValue" + + + + + { "foo": "bar" } ^ + After the value in a document. Next states: ReaderExhausted + + + + + { "foo": "bar" } ^ (and already read to the end of the reader) + Terminal state. + + + + + { ^ "foo": "bar" } + Before the *first* property in an object. + Next states: + "AfterValue" (empty object) + ObjectBeforeColon (read a name) + + + + + { "foo" ^ : "bar", "x": "y" } + Next state: ObjectAfterColon + + + + + { "foo" : ^ "bar", "x": "y" } + Before any property other than the first in an object. + (Equivalently: after any property in an object) + Next states: + "AfterValue" (value is simple) + ObjectStart (value is object) + ArrayStart (value is array) + + + + + { "foo" : "bar" ^ , "x" : "y" } + At the end of a property, so expecting either a comma or end-of-object + Next states: ObjectAfterComma or "AfterValue" + + + + + { "foo":"bar", ^ "x":"y" } + Read the comma after the previous property, so expecting another property. + This is like ObjectStart, but closing brace isn't valid here + Next state: ObjectBeforeColon. + + + + + [ ^ "foo", "bar" ] + Before the *first* value in an array. + Next states: + "AfterValue" (read a value) + "AfterValue" (end of array; will pop stack) + + + + + [ "foo" ^ , "bar" ] + After any value in an array, so expecting either a comma or end-of-array + Next states: ArrayAfterComma or "AfterValue" + + + + + [ "foo", ^ "bar" ] + After a comma in an array, so there *must* be another value (simple or complex). + Next states: "AfterValue" (simple value), StartObject, StartArray + + + + + Wrapper around a text reader allowing small amounts of buffering and location handling. + + + + + The buffered next character, if we have one. + + + + + Returns the next character in the stream, or null if we have reached the end. + + + + + + Creates a new exception appropriate for the current state of the reader. + + + + + Stream implementation which proxies another stream, only allowing a certain amount + of data to be read. Note that this is only used to read delimited streams, so it + doesn't attempt to implement everything. + + + + + Extension methods on and . + + + + + Merges data from the given byte array into an existing message. + + The message to merge the data into. + The data to merge, which must be protobuf-encoded binary data. + + + + Merges data from the given byte array slice into an existing message. + + The message to merge the data into. + The data containing the slice to merge, which must be protobuf-encoded binary data. + The offset of the slice to merge. + The length of the slice to merge. + + + + Merges data from the given byte string into an existing message. + + The message to merge the data into. + The data to merge, which must be protobuf-encoded binary data. + + + + Merges data from the given stream into an existing message. + + The message to merge the data into. + Stream containing the data to merge, which must be protobuf-encoded binary data. + + + + Merges length-delimited data from the given stream into an existing message. + + + The stream is expected to contain a length and then the data. Only the amount of data + specified by the length will be consumed. + + The message to merge the data into. + Stream containing the data to merge, which must be protobuf-encoded binary data. + + + + Converts the given message into a byte array in protobuf encoding. + + The message to convert. + The message data as a byte array. + + + + Writes the given message data to the given stream in protobuf encoding. + + The message to write to the stream. + The stream to write to. + + + + Writes the length and then data of the given message to a stream. + + The message to write. + The output stream to write to. + + + + Converts the given message into a byte string in protobuf encoding. + + The message to convert. + The message data as a byte string. + + + + Checks if all required fields in a message have values set. For proto3 messages, this returns true + + + + + A general message parser, typically used by reflection-based code as all the methods + return simple . + + + + + Creates a template instance ready for population. + + An empty message. + + + + Parses a message from a byte array. + + The byte array containing the message. Must not be null. + The newly parsed message. + + + + Parses a message from a byte array slice. + + The byte array containing the message. Must not be null. + The offset of the slice to parse. + The length of the slice to parse. + The newly parsed message. + + + + Parses a message from the given byte string. + + The data to parse. + The parsed message. + + + + Parses a message from the given stream. + + The stream to parse. + The parsed message. + + + + Parses a length-delimited message from the given stream. + + + The stream is expected to contain a length and then the data. Only the amount of data + specified by the length will be consumed. + + The stream to parse. + The parsed message. + + + + Parses a message from the given coded input stream. + + The stream to parse. + The parsed message. + + + + Parses a message from the given JSON. + + The JSON to parse. + The parsed message. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Creates a new message parser which optionally discards unknown fields when parsing. + + Whether or not to discard unknown fields when parsing. + A newly configured message parser. + + + + Creates a new message parser which registers extensions from the specified registry upon creating the message instance + + The extensions to register + A newly configured message parser. + + + + A parser for a specific message type. + + +

+ This delegates most behavior to the + implementation within the original type, but + provides convenient overloads to parse from a variety of sources. +

+

+ Most applications will never need to create their own instances of this type; + instead, use the static Parser property of a generated message type to obtain a + parser for that type. +

+
+ The type of message to be parsed. +
+ + + Creates a new parser. + + + The factory method is effectively an optimization over using a generic constraint + to require a parameterless constructor: delegates are significantly faster to execute. + + Function to invoke when a new, empty message is required. + + + + Creates a template instance ready for population. + + An empty message. + + + + Parses a message from a byte array. + + The byte array containing the message. Must not be null. + The newly parsed message. + + + + Parses a message from a byte array slice. + + The byte array containing the message. Must not be null. + The offset of the slice to parse. + The length of the slice to parse. + The newly parsed message. + + + + Parses a message from the given byte string. + + The data to parse. + The parsed message. + + + + Parses a message from the given stream. + + The stream to parse. + The parsed message. + + + + Parses a length-delimited message from the given stream. + + + The stream is expected to contain a length and then the data. Only the amount of data + specified by the length will be consumed. + + The stream to parse. + The parsed message. + + + + Parses a message from the given coded input stream. + + The stream to parse. + The parsed message. + + + + Parses a message from the given JSON. + + The JSON to parse. + The parsed message. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Creates a new message parser which optionally discards unknown fields when parsing. + + Whether or not to discard unknown fields when parsing. + A newly configured message parser. + + + + Creates a new message parser which registers extensions from the specified registry upon creating the message instance + + The extensions to register + A newly configured message parser. + + + + Struct used to hold the keys for the fieldByNumber table in DescriptorPool and the keys for the + extensionByNumber table in ExtensionRegistry. + + + + + Helper methods for throwing exceptions when preconditions are not met. + + + This class is used internally and by generated code; it is not particularly + expected to be used from application code, although nothing prevents it + from being used that way. + + + + + Throws an ArgumentNullException if the given value is null, otherwise + return the value to the caller. + + + + + Throws an ArgumentNullException if the given value is null, otherwise + return the value to the caller. + + + This is equivalent to but without the type parameter + constraint. In most cases, the constraint is useful to prevent you from calling CheckNotNull + with a value type - but it gets in the way if either you want to use it with a nullable + value type, or you want to use it with an unconstrained type parameter. + + + + + Container for a set of custom options specified within a message, field etc. + + + + This type is publicly immutable, but internally mutable. It is only populated + by the descriptor parsing code - by the time any user code is able to see an instance, + it will be fully initialized. + + + If an option is requested using the incorrect method, an answer may still be returned: all + of the numeric types are represented internally using 64-bit integers, for example. It is up to + the caller to ensure that they make the appropriate method call for the option they're interested in. + Note that enum options are simply stored as integers, so the value should be fetched using + and then cast appropriately. + + + Repeated options are currently not supported. Asking for a single value of an option + which was actually repeated will return the last value, except for message types where + all the set values are merged together. + + + + + + Retrieves a Boolean value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 32-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 64-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 32-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 64-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 32-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 64-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 32-bit integer value for the specified option field, + assuming a zigzag encoding. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 64-bit integer value for the specified option field, + assuming a zigzag encoding. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 32-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 64-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a 32-bit floating point value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a 64-bit floating point value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a string value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a bytes value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a message value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + Holder for reflection information generated from google/protobuf/descriptor.proto + + + File descriptor for google/protobuf/descriptor.proto + + + + The protocol compiler can output a FileDescriptorSet containing the .proto + files it parses. + + + + Field number for the "file" field. + + + + Describes a complete .proto file. + + + + Field number for the "name" field. + + + + file name, relative to root of source tree + + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "package" field. + + + + e.g. "foo", "foo.bar", etc. + + + + Gets whether the "package" field is set + + + Clears the value of the "package" field + + + Field number for the "dependency" field. + + + + Names of files imported by this file. + + + + Field number for the "public_dependency" field. + + + + Indexes of the public imported files in the dependency list above. + + + + Field number for the "weak_dependency" field. + + + + Indexes of the weak imported files in the dependency list. + For Google-internal migration only. Do not use. + + + + Field number for the "message_type" field. + + + + All top-level definitions in this file. + + + + Field number for the "enum_type" field. + + + Field number for the "service" field. + + + Field number for the "extension" field. + + + Field number for the "options" field. + + + Field number for the "source_code_info" field. + + + + This field contains optional information about the original source code. + You may safely remove this entire field without harming runtime + functionality of the descriptors -- the information is needed only by + development tools. + + + + Field number for the "syntax" field. + + + + The syntax of the proto file. + The supported values are "proto2" and "proto3". + + + + Gets whether the "syntax" field is set + + + Clears the value of the "syntax" field + + + + Describes a message type. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "field" field. + + + Field number for the "extension" field. + + + Field number for the "nested_type" field. + + + Field number for the "enum_type" field. + + + Field number for the "extension_range" field. + + + Field number for the "oneof_decl" field. + + + Field number for the "options" field. + + + Field number for the "reserved_range" field. + + + Field number for the "reserved_name" field. + + + + Reserved field names, which may not be used by fields in the same message. + A given name may only be reserved once. + + + + Container for nested types declared in the DescriptorProto message type. + + + Field number for the "start" field. + + + + Inclusive. + + + + Gets whether the "start" field is set + + + Clears the value of the "start" field + + + Field number for the "end" field. + + + + Exclusive. + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + Field number for the "options" field. + + + + Range of reserved tag numbers. Reserved tag numbers may not be used by + fields or extension ranges in the same message. Reserved ranges may + not overlap. + + + + Field number for the "start" field. + + + + Inclusive. + + + + Gets whether the "start" field is set + + + Clears the value of the "start" field + + + Field number for the "end" field. + + + + Exclusive. + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + + Describes a field within a message. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "number" field. + + + Gets whether the "number" field is set + + + Clears the value of the "number" field + + + Field number for the "label" field. + + + Gets whether the "label" field is set + + + Clears the value of the "label" field + + + Field number for the "type" field. + + + + If type_name is set, this need not be set. If both this and type_name + are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. + + + + Gets whether the "type" field is set + + + Clears the value of the "type" field + + + Field number for the "type_name" field. + + + + For message and enum types, this is the name of the type. If the name + starts with a '.', it is fully-qualified. Otherwise, C++-like scoping + rules are used to find the type (i.e. first the nested types within this + message are searched, then within the parent, on up to the root + namespace). + + + + Gets whether the "type_name" field is set + + + Clears the value of the "type_name" field + + + Field number for the "extendee" field. + + + + For extensions, this is the name of the type being extended. It is + resolved in the same manner as type_name. + + + + Gets whether the "extendee" field is set + + + Clears the value of the "extendee" field + + + Field number for the "default_value" field. + + + + For numeric types, contains the original text representation of the value. + For booleans, "true" or "false". + For strings, contains the default text contents (not escaped in any way). + For bytes, contains the C escaped value. All bytes >= 128 are escaped. + TODO(kenton): Base-64 encode? + + + + Gets whether the "default_value" field is set + + + Clears the value of the "default_value" field + + + Field number for the "oneof_index" field. + + + + If set, gives the index of a oneof in the containing type's oneof_decl + list. This field is a member of that oneof. + + + + Gets whether the "oneof_index" field is set + + + Clears the value of the "oneof_index" field + + + Field number for the "json_name" field. + + + + JSON name of this field. The value is set by protocol compiler. If the + user has set a "json_name" option on this field, that option's value + will be used. Otherwise, it's deduced from the field's name by converting + it to camelCase. + + + + Gets whether the "json_name" field is set + + + Clears the value of the "json_name" field + + + Field number for the "options" field. + + + Field number for the "proto3_optional" field. + + + + If true, this is a proto3 "optional". When a proto3 field is optional, it + tracks presence regardless of field type. + + When proto3_optional is true, this field must be belong to a oneof to + signal to old proto3 clients that presence is tracked for this field. This + oneof is known as a "synthetic" oneof, and this field must be its sole + member (each proto3 optional field gets its own synthetic oneof). Synthetic + oneofs exist in the descriptor only, and do not generate any API. Synthetic + oneofs must be ordered after all "real" oneofs. + + For message fields, proto3_optional doesn't create any semantic change, + since non-repeated message fields always track presence. However it still + indicates the semantic detail of whether the user wrote "optional" or not. + This can be useful for round-tripping the .proto file. For consistency we + give message fields a synthetic oneof also, even though it is not required + to track presence. This is especially important because the parser can't + tell if a field is a message or an enum, so it must always create a + synthetic oneof. + + Proto2 optional fields do not set this flag, because they already indicate + optional with `LABEL_OPTIONAL`. + + + + Gets whether the "proto3_optional" field is set + + + Clears the value of the "proto3_optional" field + + + Container for nested types declared in the FieldDescriptorProto message type. + + + + 0 is reserved for errors. + Order is weird for historical reasons. + + + + + Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if + negative values are likely. + + + + + Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if + negative values are likely. + + + + + Tag-delimited aggregate. + Group type is deprecated and not supported in proto3. However, Proto3 + implementations should still be able to parse the group wire format and + treat group fields as unknown fields. + + + + + Length-delimited aggregate. + + + + + New in version 2. + + + + + Uses ZigZag encoding. + + + + + Uses ZigZag encoding. + + + + + 0 is reserved for errors + + + + + Describes a oneof. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "options" field. + + + + Describes an enum type. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "value" field. + + + Field number for the "options" field. + + + Field number for the "reserved_range" field. + + + + Range of reserved numeric values. Reserved numeric values may not be used + by enum values in the same enum declaration. Reserved ranges may not + overlap. + + + + Field number for the "reserved_name" field. + + + + Reserved enum value names, which may not be reused. A given name may only + be reserved once. + + + + Container for nested types declared in the EnumDescriptorProto message type. + + + + Range of reserved numeric values. Reserved values may not be used by + entries in the same enum. Reserved ranges may not overlap. + + Note that this is distinct from DescriptorProto.ReservedRange in that it + is inclusive such that it can appropriately represent the entire int32 + domain. + + + + Field number for the "start" field. + + + + Inclusive. + + + + Gets whether the "start" field is set + + + Clears the value of the "start" field + + + Field number for the "end" field. + + + + Inclusive. + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + + Describes a value within an enum. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "number" field. + + + Gets whether the "number" field is set + + + Clears the value of the "number" field + + + Field number for the "options" field. + + + + Describes a service. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "method" field. + + + Field number for the "options" field. + + + + Describes a method of a service. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "input_type" field. + + + + Input and output type names. These are resolved in the same way as + FieldDescriptorProto.type_name, but must refer to a message type. + + + + Gets whether the "input_type" field is set + + + Clears the value of the "input_type" field + + + Field number for the "output_type" field. + + + Gets whether the "output_type" field is set + + + Clears the value of the "output_type" field + + + Field number for the "options" field. + + + Field number for the "client_streaming" field. + + + + Identifies if client streams multiple client messages + + + + Gets whether the "client_streaming" field is set + + + Clears the value of the "client_streaming" field + + + Field number for the "server_streaming" field. + + + + Identifies if server streams multiple server messages + + + + Gets whether the "server_streaming" field is set + + + Clears the value of the "server_streaming" field + + + Field number for the "java_package" field. + + + + Sets the Java package where classes generated from this .proto will be + placed. By default, the proto package is used, but this is often + inappropriate because proto packages do not normally start with backwards + domain names. + + + + Gets whether the "java_package" field is set + + + Clears the value of the "java_package" field + + + Field number for the "java_outer_classname" field. + + + + If set, all the classes from the .proto file are wrapped in a single + outer class with the given name. This applies to both Proto1 + (equivalent to the old "--one_java_file" option) and Proto2 (where + a .proto always translates to a single class, but you may want to + explicitly choose the class name). + + + + Gets whether the "java_outer_classname" field is set + + + Clears the value of the "java_outer_classname" field + + + Field number for the "java_multiple_files" field. + + + + If set true, then the Java code generator will generate a separate .java + file for each top-level message, enum, and service defined in the .proto + file. Thus, these types will *not* be nested inside the outer class + named by java_outer_classname. However, the outer class will still be + generated to contain the file's getDescriptor() method as well as any + top-level extensions defined in the file. + + + + Gets whether the "java_multiple_files" field is set + + + Clears the value of the "java_multiple_files" field + + + Field number for the "java_generate_equals_and_hash" field. + + + + This option does nothing. + + + + Gets whether the "java_generate_equals_and_hash" field is set + + + Clears the value of the "java_generate_equals_and_hash" field + + + Field number for the "java_string_check_utf8" field. + + + + If set true, then the Java2 code generator will generate code that + throws an exception whenever an attempt is made to assign a non-UTF-8 + byte sequence to a string field. + Message reflection will do the same. + However, an extension field still accepts non-UTF-8 byte sequences. + This option has no effect on when used with the lite runtime. + + + + Gets whether the "java_string_check_utf8" field is set + + + Clears the value of the "java_string_check_utf8" field + + + Field number for the "optimize_for" field. + + + Gets whether the "optimize_for" field is set + + + Clears the value of the "optimize_for" field + + + Field number for the "go_package" field. + + + + Sets the Go package where structs generated from this .proto will be + placed. If omitted, the Go package will be derived from the following: + - The basename of the package import path, if provided. + - Otherwise, the package statement in the .proto file, if present. + - Otherwise, the basename of the .proto file, without extension. + + + + Gets whether the "go_package" field is set + + + Clears the value of the "go_package" field + + + Field number for the "cc_generic_services" field. + + + + Should generic services be generated in each language? "Generic" services + are not specific to any particular RPC system. They are generated by the + main code generators in each language (without additional plugins). + Generic services were the only kind of service generation supported by + early versions of google.protobuf. + + Generic services are now considered deprecated in favor of using plugins + that generate code specific to your particular RPC system. Therefore, + these default to false. Old code which depends on generic services should + explicitly set them to true. + + + + Gets whether the "cc_generic_services" field is set + + + Clears the value of the "cc_generic_services" field + + + Field number for the "java_generic_services" field. + + + Gets whether the "java_generic_services" field is set + + + Clears the value of the "java_generic_services" field + + + Field number for the "py_generic_services" field. + + + Gets whether the "py_generic_services" field is set + + + Clears the value of the "py_generic_services" field + + + Field number for the "php_generic_services" field. + + + Gets whether the "php_generic_services" field is set + + + Clears the value of the "php_generic_services" field + + + Field number for the "deprecated" field. + + + + Is this file deprecated? + Depending on the target platform, this can emit Deprecated annotations + for everything in the file, or it will be completely ignored; in the very + least, this is a formalization for deprecating files. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "cc_enable_arenas" field. + + + + Enables the use of arenas for the proto messages in this file. This applies + only to generated classes for C++. + + + + Gets whether the "cc_enable_arenas" field is set + + + Clears the value of the "cc_enable_arenas" field + + + Field number for the "objc_class_prefix" field. + + + + Sets the objective c class prefix which is prepended to all objective c + generated classes from this .proto. There is no default. + + + + Gets whether the "objc_class_prefix" field is set + + + Clears the value of the "objc_class_prefix" field + + + Field number for the "csharp_namespace" field. + + + + Namespace for generated classes; defaults to the package. + + + + Gets whether the "csharp_namespace" field is set + + + Clears the value of the "csharp_namespace" field + + + Field number for the "swift_prefix" field. + + + + By default Swift generators will take the proto package and CamelCase it + replacing '.' with underscore and use that to prefix the types/symbols + defined. When this options is provided, they will use this value instead + to prefix the types/symbols defined. + + + + Gets whether the "swift_prefix" field is set + + + Clears the value of the "swift_prefix" field + + + Field number for the "php_class_prefix" field. + + + + Sets the php class prefix which is prepended to all php generated classes + from this .proto. Default is empty. + + + + Gets whether the "php_class_prefix" field is set + + + Clears the value of the "php_class_prefix" field + + + Field number for the "php_namespace" field. + + + + Use this option to change the namespace of php generated classes. Default + is empty. When this option is empty, the package name will be used for + determining the namespace. + + + + Gets whether the "php_namespace" field is set + + + Clears the value of the "php_namespace" field + + + Field number for the "php_metadata_namespace" field. + + + + Use this option to change the namespace of php generated metadata classes. + Default is empty. When this option is empty, the proto file name will be + used for determining the namespace. + + + + Gets whether the "php_metadata_namespace" field is set + + + Clears the value of the "php_metadata_namespace" field + + + Field number for the "ruby_package" field. + + + + Use this option to change the package of ruby generated classes. Default + is empty. When this option is not set, the package name will be used for + determining the ruby package. + + + + Gets whether the "ruby_package" field is set + + + Clears the value of the "ruby_package" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. + See the documentation for the "Options" section above. + + + + Container for nested types declared in the FileOptions message type. + + + + Generated classes can be optimized for speed or code size. + + + + + Generate complete code for parsing, serialization, + + + + + etc. + + + + + Generate code using MessageLite and the lite runtime. + + + + Field number for the "message_set_wire_format" field. + + + + Set true to use the old proto1 MessageSet wire format for extensions. + This is provided for backwards-compatibility with the MessageSet wire + format. You should not use this for any other reason: It's less + efficient, has fewer features, and is more complicated. + + The message must be defined exactly as follows: + message Foo { + option message_set_wire_format = true; + extensions 4 to max; + } + Note that the message cannot have any defined fields; MessageSets only + have extensions. + + All extensions of your type must be singular messages; e.g. they cannot + be int32s, enums, or repeated messages. + + Because this is an option, the above two restrictions are not enforced by + the protocol compiler. + + + + Gets whether the "message_set_wire_format" field is set + + + Clears the value of the "message_set_wire_format" field + + + Field number for the "no_standard_descriptor_accessor" field. + + + + Disables the generation of the standard "descriptor()" accessor, which can + conflict with a field of the same name. This is meant to make migration + from proto1 easier; new code should avoid fields named "descriptor". + + + + Gets whether the "no_standard_descriptor_accessor" field is set + + + Clears the value of the "no_standard_descriptor_accessor" field + + + Field number for the "deprecated" field. + + + + Is this message deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the message, or it will be completely ignored; in the very least, + this is a formalization for deprecating messages. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "map_entry" field. + + + + Whether the message is an automatically generated map entry type for the + maps field. + + For maps fields: + map<KeyType, ValueType> map_field = 1; + The parsed descriptor looks like: + message MapFieldEntry { + option map_entry = true; + optional KeyType key = 1; + optional ValueType value = 2; + } + repeated MapFieldEntry map_field = 1; + + Implementations may choose not to generate the map_entry=true message, but + use a native map in the target language to hold the keys and values. + The reflection APIs in such implementations still need to work as + if the field is a repeated message field. + + NOTE: Do not set the option in .proto files. Always use the maps syntax + instead. The option should only be implicitly set by the proto compiler + parser. + + + + Gets whether the "map_entry" field is set + + + Clears the value of the "map_entry" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "ctype" field. + + + + The ctype option instructs the C++ code generator to use a different + representation of the field than it normally would. See the specific + options below. This option is not yet implemented in the open source + release -- sorry, we'll try to include it in a future version! + + + + Gets whether the "ctype" field is set + + + Clears the value of the "ctype" field + + + Field number for the "packed" field. + + + + The packed option can be enabled for repeated primitive fields to enable + a more efficient representation on the wire. Rather than repeatedly + writing the tag and type for each element, the entire array is encoded as + a single length-delimited blob. In proto3, only explicit setting it to + false will avoid using packed encoding. + + + + Gets whether the "packed" field is set + + + Clears the value of the "packed" field + + + Field number for the "jstype" field. + + + + The jstype option determines the JavaScript type used for values of the + field. The option is permitted only for 64 bit integral and fixed types + (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING + is represented as JavaScript string, which avoids loss of precision that + can happen when a large value is converted to a floating point JavaScript. + Specifying JS_NUMBER for the jstype causes the generated JavaScript code to + use the JavaScript "number" type. The behavior of the default option + JS_NORMAL is implementation dependent. + + This option is an enum to permit additional types to be added, e.g. + goog.math.Integer. + + + + Gets whether the "jstype" field is set + + + Clears the value of the "jstype" field + + + Field number for the "lazy" field. + + + + Should this field be parsed lazily? Lazy applies only to message-type + fields. It means that when the outer message is initially parsed, the + inner message's contents will not be parsed but instead stored in encoded + form. The inner message will actually be parsed when it is first accessed. + + This is only a hint. Implementations are free to choose whether to use + eager or lazy parsing regardless of the value of this option. However, + setting this option true suggests that the protocol author believes that + using lazy parsing on this field is worth the additional bookkeeping + overhead typically needed to implement it. + + This option does not affect the public interface of any generated code; + all method signatures remain the same. Furthermore, thread-safety of the + interface is not affected by this option; const methods remain safe to + call from multiple threads concurrently, while non-const methods continue + to require exclusive access. + + Note that implementations may choose not to check required fields within + a lazy sub-message. That is, calling IsInitialized() on the outer message + may return true even if the inner message has missing required fields. + This is necessary because otherwise the inner message would have to be + parsed in order to perform the check, defeating the purpose of lazy + parsing. An implementation which chooses not to check required fields + must be consistent about it. That is, for any particular sub-message, the + implementation must either *always* check its required fields, or *never* + check its required fields, regardless of whether or not the message has + been parsed. + + + + Gets whether the "lazy" field is set + + + Clears the value of the "lazy" field + + + Field number for the "deprecated" field. + + + + Is this field deprecated? + Depending on the target platform, this can emit Deprecated annotations + for accessors, or it will be completely ignored; in the very least, this + is a formalization for deprecating fields. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "weak" field. + + + + For Google-internal migration only. Do not use. + + + + Gets whether the "weak" field is set + + + Clears the value of the "weak" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Container for nested types declared in the FieldOptions message type. + + + + Default mode. + + + + + Use the default type. + + + + + Use JavaScript strings. + + + + + Use JavaScript numbers. + + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "allow_alias" field. + + + + Set this option to true to allow mapping different tag names to the same + value. + + + + Gets whether the "allow_alias" field is set + + + Clears the value of the "allow_alias" field + + + Field number for the "deprecated" field. + + + + Is this enum deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the enum, or it will be completely ignored; in the very least, this + is a formalization for deprecating enums. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "deprecated" field. + + + + Is this enum value deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the enum value, or it will be completely ignored; in the very least, + this is a formalization for deprecating enum values. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "deprecated" field. + + + + Is this service deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the service, or it will be completely ignored; in the very least, + this is a formalization for deprecating services. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "deprecated" field. + + + + Is this method deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the method, or it will be completely ignored; in the very least, + this is a formalization for deprecating methods. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "idempotency_level" field. + + + Gets whether the "idempotency_level" field is set + + + Clears the value of the "idempotency_level" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Container for nested types declared in the MethodOptions message type. + + + + Is this method side-effect-free (or safe in HTTP parlance), or idempotent, + or neither? HTTP based RPC implementation may choose GET verb for safe + methods, and PUT verb for idempotent methods instead of the default POST. + + + + + implies idempotent + + + + + idempotent, but may have side effects + + + + + A message representing a option the parser does not recognize. This only + appears in options protos created by the compiler::Parser class. + DescriptorPool resolves these when building Descriptor objects. Therefore, + options protos in descriptor objects (e.g. returned by Descriptor::options(), + or produced by Descriptor::CopyTo()) will never have UninterpretedOptions + in them. + + + + Field number for the "name" field. + + + Field number for the "identifier_value" field. + + + + The value of the uninterpreted option, in whatever type the tokenizer + identified it as during parsing. Exactly one of these should be set. + + + + Gets whether the "identifier_value" field is set + + + Clears the value of the "identifier_value" field + + + Field number for the "positive_int_value" field. + + + Gets whether the "positive_int_value" field is set + + + Clears the value of the "positive_int_value" field + + + Field number for the "negative_int_value" field. + + + Gets whether the "negative_int_value" field is set + + + Clears the value of the "negative_int_value" field + + + Field number for the "double_value" field. + + + Gets whether the "double_value" field is set + + + Clears the value of the "double_value" field + + + Field number for the "string_value" field. + + + Gets whether the "string_value" field is set + + + Clears the value of the "string_value" field + + + Field number for the "aggregate_value" field. + + + Gets whether the "aggregate_value" field is set + + + Clears the value of the "aggregate_value" field + + + Container for nested types declared in the UninterpretedOption message type. + + + + The name of the uninterpreted option. Each string represents a segment in + a dot-separated name. is_extension is true iff a segment represents an + extension (denoted with parentheses in options specs in .proto files). + E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents + "foo.(bar.baz).qux". + + + + Field number for the "name_part" field. + + + Gets whether the "name_part" field is set + + + Clears the value of the "name_part" field + + + Field number for the "is_extension" field. + + + Gets whether the "is_extension" field is set + + + Clears the value of the "is_extension" field + + + + Encapsulates information about the original source file from which a + FileDescriptorProto was generated. + + + + Field number for the "location" field. + + + + A Location identifies a piece of source code in a .proto file which + corresponds to a particular definition. This information is intended + to be useful to IDEs, code indexers, documentation generators, and similar + tools. + + For example, say we have a file like: + message Foo { + optional string foo = 1; + } + Let's look at just the field definition: + optional string foo = 1; + ^ ^^ ^^ ^ ^^^ + a bc de f ghi + We have the following locations: + span path represents + [a,i) [ 4, 0, 2, 0 ] The whole field definition. + [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). + [c,d) [ 4, 0, 2, 0, 5 ] The type (string). + [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). + [g,h) [ 4, 0, 2, 0, 3 ] The number (1). + + Notes: + - A location may refer to a repeated field itself (i.e. not to any + particular index within it). This is used whenever a set of elements are + logically enclosed in a single code segment. For example, an entire + extend block (possibly containing multiple extension definitions) will + have an outer location whose path refers to the "extensions" repeated + field without an index. + - Multiple locations may have the same path. This happens when a single + logical declaration is spread out across multiple places. The most + obvious example is the "extend" block again -- there may be multiple + extend blocks in the same scope, each of which will have the same path. + - A location's span is not always a subset of its parent's span. For + example, the "extendee" of an extension declaration appears at the + beginning of the "extend" block and is shared by all extensions within + the block. + - Just because a location's span is a subset of some other location's span + does not mean that it is a descendant. For example, a "group" defines + both a type and a field in a single declaration. Thus, the locations + corresponding to the type and field and their components will overlap. + - Code which tries to interpret locations should probably be designed to + ignore those that it doesn't understand, as more types of locations could + be recorded in the future. + + + + Container for nested types declared in the SourceCodeInfo message type. + + + Field number for the "path" field. + + + + Identifies which part of the FileDescriptorProto was defined at this + location. + + Each element is a field number or an index. They form a path from + the root FileDescriptorProto to the place where the definition. For + example, this path: + [ 4, 3, 2, 7, 1 ] + refers to: + file.message_type(3) // 4, 3 + .field(7) // 2, 7 + .name() // 1 + This is because FileDescriptorProto.message_type has field number 4: + repeated DescriptorProto message_type = 4; + and DescriptorProto.field has field number 2: + repeated FieldDescriptorProto field = 2; + and FieldDescriptorProto.name has field number 1: + optional string name = 1; + + Thus, the above path gives the location of a field name. If we removed + the last element: + [ 4, 3, 2, 7 ] + this path refers to the whole field declaration (from the beginning + of the label to the terminating semicolon). + + + + Field number for the "span" field. + + + + Always has exactly three or four elements: start line, start column, + end line (optional, otherwise assumed same as start line), end column. + These are packed into a single field for efficiency. Note that line + and column numbers are zero-based -- typically you will want to add + 1 to each before displaying to a user. + + + + Field number for the "leading_comments" field. + + + + If this SourceCodeInfo represents a complete declaration, these are any + comments appearing before and after the declaration which appear to be + attached to the declaration. + + A series of line comments appearing on consecutive lines, with no other + tokens appearing on those lines, will be treated as a single comment. + + leading_detached_comments will keep paragraphs of comments that appear + before (but not connected to) the current element. Each paragraph, + separated by empty lines, will be one comment element in the repeated + field. + + Only the comment content is provided; comment markers (e.g. //) are + stripped out. For block comments, leading whitespace and an asterisk + will be stripped from the beginning of each line other than the first. + Newlines are included in the output. + + Examples: + + optional int32 foo = 1; // Comment attached to foo. + // Comment attached to bar. + optional int32 bar = 2; + + optional string baz = 3; + // Comment attached to baz. + // Another line attached to baz. + + // Comment attached to qux. + // + // Another line attached to qux. + optional double qux = 4; + + // Detached comment for corge. This is not leading or trailing comments + // to qux or corge because there are blank lines separating it from + // both. + + // Detached comment for corge paragraph 2. + + optional string corge = 5; + /* Block comment attached + * to corge. Leading asterisks + * will be removed. */ + /* Block comment attached to + * grault. */ + optional int32 grault = 6; + + // ignored detached comments. + + + + Gets whether the "leading_comments" field is set + + + Clears the value of the "leading_comments" field + + + Field number for the "trailing_comments" field. + + + Gets whether the "trailing_comments" field is set + + + Clears the value of the "trailing_comments" field + + + Field number for the "leading_detached_comments" field. + + + + Describes the relationship between generated code and its original source + file. A GeneratedCodeInfo message is associated with only one generated + source file, but may contain references to different source .proto files. + + + + Field number for the "annotation" field. + + + + An Annotation connects some span of text in generated code to an element + of its generating .proto file. + + + + Container for nested types declared in the GeneratedCodeInfo message type. + + + Field number for the "path" field. + + + + Identifies the element in the original source .proto file. This field + is formatted the same as SourceCodeInfo.Location.path. + + + + Field number for the "source_file" field. + + + + Identifies the filesystem path to the original source .proto. + + + + Gets whether the "source_file" field is set + + + Clears the value of the "source_file" field + + + Field number for the "begin" field. + + + + Identifies the starting offset in bytes in the generated code + that relates to the identified object. + + + + Gets whether the "begin" field is set + + + Clears the value of the "begin" field + + + Field number for the "end" field. + + + + Identifies the ending offset in bytes in the generated code that + relates to the identified offset. The end offset should be one past + the last relevant byte (so the length of the text = end - begin). + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + + Base class for nearly all descriptors, providing common functionality. + + + + + The index of this descriptor within its parent descriptor. + + + This returns the index of this descriptor within its parent, for + this descriptor's type. (There can be duplicate values for different + types, e.g. one enum type with index 0 and one message type with index 0.) + + + + + Returns the name of the entity (field, message etc) being described. + + + + + The fully qualified name of the descriptor's target. + + + + + The file this descriptor was declared in. + + + + + The declaration information about the descriptor, or null if no declaration information + is available for this descriptor. + + + This information is typically only available for dynamically loaded descriptors, + for example within a protoc plugin where the full descriptors, including source info, + are passed to the code by protoc. + + + + + Retrieves the list of nested descriptors corresponding to the given field number, if any. + If the field is unknown or not a nested descriptor list, return null to terminate the search. + The default implementation returns null. + + + + + Provides additional information about the declaration of a descriptor, + such as source location and comments. + + + + + The descriptor this declaration relates to. + + + + + The start line of the declaration within the source file. This value is 1-based. + + + + + The start column of the declaration within the source file. This value is 1-based. + + + + + // The end line of the declaration within the source file. This value is 1-based. + + + + + The end column of the declaration within the source file. This value is 1-based, and + exclusive. (The final character of the declaration is on the column before this value.) + + + + + Comments appearing before the declaration. Never null, but may be empty. Multi-line comments + are represented as a newline-separated string. Leading whitespace and the comment marker ("//") + are removed from each line. + + + + + Comments appearing after the declaration. Never null, but may be empty. Multi-line comments + are represented as a newline-separated string. Leading whitespace and the comment marker ("//") + are removed from each line. + + + + + Comments appearing before the declaration, but separated from it by blank + lines. Each string represents a newline-separated paragraph of comments. + Leading whitespace and the comment marker ("//") are removed from each line. + The list is never null, but may be empty. Likewise each element is never null, but may be empty. + + + + + Contains lookup tables containing all the descriptors defined in a particular file. + + + + + Finds a symbol of the given name within the pool. + + The type of symbol to look for + Fully-qualified name to look up + The symbol with the given name and type, + or null if the symbol doesn't exist or has the wrong type + + + + Adds a package to the symbol tables. If a package by the same name + already exists, that is fine, but if some other kind of symbol + exists under the same name, an exception is thrown. If the package + has multiple components, this also adds the parent package(s). + + + + + Adds a symbol to the symbol table. + + The symbol already existed + in the symbol table. + + + + Verifies that the descriptor's name is valid (i.e. it contains + only letters, digits and underscores, and does not start with a digit). + + + + + + Returns the field with the given number in the given descriptor, + or null if it can't be found. + + + + + Adds a field to the fieldsByNumber table. + + A field with the same + containing type and number already exists. + + + + Adds an enum value to the enumValuesByNumber table. If an enum value + with the same type and number already exists, this method does nothing. + (This is allowed; the first value defined with the number takes precedence.) + + + + + Looks up a descriptor by name, relative to some other descriptor. + The name may be fully-qualified (with a leading '.'), partially-qualified, + or unqualified. C++-like name lookup semantics are used to search for the + matching descriptor. + + + This isn't heavily optimized, but it's only used during cross linking anyway. + If it starts being used more widely, we should look at performance more carefully. + + + + + Internal class containing utility methods when working with descriptors. + + + + + Equivalent to Func[TInput, int, TOutput] but usable in .NET 2.0. Only used to convert + arrays. + + + + + Converts the given array into a read-only list, applying the specified conversion to + each input element. + + + + + Thrown when building descriptors fails because the source DescriptorProtos + are not valid. + + + + + The full name of the descriptor where the error occurred. + + + + + A human-readable description of the error. (The Message property + is made up of the descriptor's name and this description.) + + + + + Descriptor for an enum type in a .proto file. + + + + + The brief name of the descriptor's target. + + + + + The CLR type for this enum. For generated code, this will be a CLR enum type. + + + + + If this is a nested type, get the outer descriptor, otherwise null. + + + + + An unmodifiable list of defined value descriptors for this enum. + + + + + Finds an enum value by number. If multiple enum values have the + same number, this returns the first defined value with that number. + If there is no value for the given number, this returns null. + + + + + Finds an enum value by name. + + The unqualified name of the value (e.g. "FOO"). + The value's descriptor, or null if not found. + + + + The (possibly empty) set of custom options for this enum. + + + + + The EnumOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value enum option for this descriptor + + + + + Gets a repeated value enum option for this descriptor + + + + + Descriptor for a single enum value within an enum in a .proto file. + + + + + Returns the name of the enum value described by this object. + + + + + Returns the number associated with this enum value. + + + + + Returns the enum descriptor that this value is part of. + + + + + The (possibly empty) set of custom options for this enum value. + + + + + The EnumValueOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value enum value option for this descriptor + + + + + Gets a repeated value enum value option for this descriptor + + + + + A collection to simplify retrieving the descriptors of extensions in a descriptor for a message + + + + + Returns a readonly list of all the extensions defined in this type in + the order they were defined in the source .proto file + + + + + Returns a readonly list of all the extensions define in this type that extend + the provided descriptor type in the order they were defined in the source .proto file + + + + + Returns a readonly list of all the extensions define in this type that extend + the provided descriptor type in accending field order + + + + + Base class for field accessors. + + + + + Descriptor for a field or extension within a message in a .proto file. + + + + + Get the field's containing message type, or null if it is a field defined at the top level of a file as an extension. + + + + + Returns the oneof containing this field, or null if it is not part of a oneof. + + + + + Returns the oneof containing this field if it's a "real" oneof, or null if either this + field is not part of a oneof, or the oneof is synthetic. + + + + + The effective JSON name for this field. This is usually the lower-camel-cased form of the field name, + but can be overridden using the json_name option in the .proto file. + + + + + Indicates whether this field supports presence, either implicitly (e.g. due to it being a message + type field) or explicitly via Has/Clear members. If this returns true, it is safe to call + and + on this field's accessor with a suitable message. + + + + + An extension identifier for this field, or null if this field isn't an extension. + + + + + The brief name of the descriptor's target. + + + + + Returns the accessor for this field. + + + + While a describes the field, it does not provide + any way of obtaining or changing the value of the field within a specific message; + that is the responsibility of the accessor. + + + In descriptors for generated code, the value returned by this property will be non-null for all + regular fields. However, if a message containing a map field is introspected, the list of nested messages will include + an auto-generated nested key/value pair message for the field. This is not represented in any + generated type, and the value of the map field itself is represented by a dictionary in the + reflection API. There are never instances of those "hidden" messages, so no accessor is provided + and this property will return null. + + + In dynamically loaded descriptors, the value returned by this property will current be null; + if and when dynamic messages are supported, it will return a suitable accessor to work with + them. + + + + + + Maps a field type as included in the .proto file to a FieldType. + + + + + Returns true if this field is a repeated field; false otherwise. + + + + + Returns true if this field is a required field; false otherwise. + + + + + Returns true if this field is a map field; false otherwise. + + + + + Returns true if this field is a packed, repeated field; false otherwise. + + + + + Returns true if this field extends another message type; false otherwise. + + + + + Returns the type of the field. + + + + + Returns the field number declared in the proto file. + + + + + Compares this descriptor with another one, ordering in "canonical" order + which simply means ascending order by field number. + must be a field of the same type, i.e. the of + both fields must be the same. + + + + + For enum fields, returns the field's type. + + + + + For embedded message and group fields, returns the field's type. + + + + + For extension fields, returns the extended type + + + + + The (possibly empty) set of custom options for this field. + + + + + The FieldOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value field option for this descriptor + + + + + Gets a repeated value field option for this descriptor + + + + + Look up and cross-link all field types etc. + + + + + Enumeration of all the possible field types. + + + + + The double field type. + + + + + The float field type. + + + + + The int64 field type. + + + + + The uint64 field type. + + + + + The int32 field type. + + + + + The fixed64 field type. + + + + + The fixed32 field type. + + + + + The bool field type. + + + + + The string field type. + + + + + The field type used for groups. + + + + + The field type used for message fields. + + + + + The bytes field type. + + + + + The uint32 field type. + + + + + The sfixed32 field type. + + + + + The sfixed64 field type. + + + + + The sint32 field type. + + + + + The sint64 field type. + + + + + The field type used for enum fields. + + + + + The syntax of a .proto file + + + + + Proto2 syntax + + + + + Proto3 syntax + + + + + An unknown declared syntax + + + + + Describes a .proto file, including everything defined within. + IDescriptor is implemented such that the File property returns this descriptor, + and the FullName is the same as the Name. + + + + + Computes the full name of a descriptor within this file, with an optional parent message. + + + + + Extracts public dependencies from direct dependencies. This is a static method despite its + first parameter, as the value we're in the middle of constructing is only used for exceptions. + + + + + The descriptor in its protocol message representation. + + + + + The syntax of the file + + + + + The file name. + + + + + The package as declared in the .proto file. This may or may not + be equivalent to the .NET namespace of the generated classes. + + + + + Unmodifiable list of top-level message types declared in this file. + + + + + Unmodifiable list of top-level enum types declared in this file. + + + + + Unmodifiable list of top-level services declared in this file. + + + + + Unmodifiable list of top-level extensions declared in this file. + Note that some extensions may be incomplete (FieldDescriptor.Extension may be null) + if this descriptor was generated using a version of protoc that did not fully + support extensions in C#. + + + + + Unmodifiable list of this file's dependencies (imports). + + + + + Unmodifiable list of this file's public dependencies (public imports). + + + + + The original serialized binary form of this descriptor. + + + + + Implementation of IDescriptor.FullName - just returns the same as Name. + + + + + Implementation of IDescriptor.File - just returns this descriptor. + + + + + Pool containing symbol descriptors. + + + + + Finds a type (message, enum, service or extension) in the file by name. Does not find nested types. + + The unqualified type name to look for. + The type of descriptor to look for + The type's descriptor, or null if not found. + + + + Builds a FileDescriptor from its protocol buffer representation. + + The original serialized descriptor data. + We have only limited proto2 support, so serializing FileDescriptorProto + would not necessarily give us this. + The protocol message form of the FileDescriptor. + FileDescriptors corresponding to all of the + file's dependencies, in the exact order listed in the .proto file. May be null, + in which case it is treated as an empty array. + Whether unknown dependencies are ignored (true) or cause an exception to be thrown (false). + Details about generated code, for the purposes of reflection. + If is not + a valid descriptor. This can occur for a number of reasons, such as a field + having an undefined type or because two messages were defined with the same name. + + + + Creates a descriptor for generated code. + + + This method is only designed to be used by the results of generating code with protoc, + which creates the appropriate dependencies etc. It has to be public because the generated + code is "external", but should not be called directly by end users. + + + + + Converts the given descriptor binary data into FileDescriptor objects. + Note: reflection using the returned FileDescriptors is not currently supported. + + The binary file descriptor proto data. Must not be null, and any + dependencies must come before the descriptor which depends on them. (If A depends on B, and B + depends on C, then the descriptors must be presented in the order C, B, A.) This is compatible + with the order in which protoc provides descriptors to plugins. + The file descriptors corresponding to . + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns the file descriptor for descriptor.proto. + + + This is used for protos which take a direct dependency on descriptor.proto, typically for + annotations. While descriptor.proto is a proto2 file, it is built into the Google.Protobuf + runtime for reflection purposes. The messages are internal to the runtime as they would require + proto2 semantics for full support, but the file descriptor is available via this property. The + C# codegen in protoc automatically uses this property when it detects a dependency on descriptor.proto. + + + The file descriptor for descriptor.proto. + + + + + The (possibly empty) set of custom options for this file. + + + + + The FileOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value file option for this descriptor + + + + + Gets a repeated value file option for this descriptor + + + + + Performs initialization for the given generic type argument. + + + This method is present for the sake of AOT compilers. It allows code (whether handwritten or generated) + to make calls into the reflection machinery of this library to express an intention to use that type + reflectively (e.g. for JSON parsing and formatting). The call itself does almost nothing, but AOT compilers + attempting to determine which generic type arguments need to be handled will spot the code path and act + accordingly. + + The type to force initialization for. + + + + Extra information provided by generated code when initializing a message or file descriptor. + These are constructed as required, and are not long-lived. Hand-written code should + never need to use this type. + + + + + Irrelevant for file descriptors; the CLR type for the message for message descriptors. + + + + + Irrelevant for file descriptors; the parser for message descriptors. + + + + + Irrelevant for file descriptors; the CLR property names (in message descriptor field order) + for fields in the message for message descriptors. + + + + + The extensions defined within this file/message descriptor + + + + + Irrelevant for file descriptors; the CLR property "base" names (in message descriptor oneof order) + for oneofs in the message for message descriptors. It is expected that for a oneof name of "Foo", + there will be a "FooCase" property and a "ClearFoo" method. + + + + + The reflection information for types within this file/message descriptor. Elements may be null + if there is no corresponding generated type, e.g. for map entry types. + + + + + The CLR types for enums within this file/message descriptor. + + + + + Creates a GeneratedClrTypeInfo for a message descriptor, with nested types, nested enums, the CLR type, property names and oneof names. + Each array parameter may be null, to indicate a lack of values. + The parameter order is designed to make it feasible to format the generated code readably. + + + + + Creates a GeneratedClrTypeInfo for a message descriptor, with nested types, nested enums, the CLR type, property names and oneof names. + Each array parameter may be null, to indicate a lack of values. + The parameter order is designed to make it feasible to format the generated code readably. + + + + + Creates a GeneratedClrTypeInfo for a file descriptor, with only types, enums, and extensions. + + + + + Creates a GeneratedClrTypeInfo for a file descriptor, with only types and enums. + + + + + Interface implemented by all descriptor types. + + + + + Returns the name of the entity (message, field etc) being described. + + + + + Returns the fully-qualified name of the entity being described. + + + + + Returns the descriptor for the .proto file that this entity is part of. + + + + + Allows fields to be reflectively accessed. + + + + + Returns the descriptor associated with this field. + + + + + Clears the field in the specified message. (For repeated fields, + this clears the list.) + + + + + Fetches the field value. For repeated values, this will be an + implementation. For map values, this will be an + implementation. + + + + + Indicates whether the field in the specified message is set. + For proto3 fields that aren't explicitly optional, this throws an + + + + + Mutator for single "simple" fields only. + + + Repeated fields are mutated by fetching the value and manipulating it as a list. + Map fields are mutated by fetching the value and manipulating it as a dictionary. + + The field is not a "simple" field. + + + + Accessor for map fields. + + + + + Describes a message type. + + + + + The brief name of the descriptor's target. + + + + + The CLR type used to represent message instances from this descriptor. + + + + The value returned by this property will be non-null for all regular fields. However, + if a message containing a map field is introspected, the list of nested messages will include + an auto-generated nested key/value pair message for the field. This is not represented in any + generated type, so this property will return null in such cases. + + + For wrapper types ( and the like), the type returned here + will be the generated message type, not the native type used by reflection for fields of those types. Code + using reflection should call to determine whether a message descriptor represents + a wrapper type, and handle the result appropriately. + + + + + + A parser for this message type. + + + + As is not generic, this cannot be statically + typed to the relevant type, but it should produce objects of a type compatible with . + + + The value returned by this property will be non-null for all regular fields. However, + if a message containing a map field is introspected, the list of nested messages will include + an auto-generated nested key/value pair message for the field. No message parser object is created for + such messages, so this property will return null in such cases. + + + For wrapper types ( and the like), the parser returned here + will be the generated message type, not the native type used by reflection for fields of those types. Code + using reflection should call to determine whether a message descriptor represents + a wrapper type, and handle the result appropriately. + + + + + + Returns whether this message is one of the "well known types" which may have runtime/protoc support. + + + + + Returns whether this message is one of the "wrapper types" used for fields which represent primitive values + with the addition of presence. + + + + + If this is a nested type, get the outer descriptor, otherwise null. + + + + + A collection of fields, which can be retrieved by name or field number. + + + + + An unmodifiable list of extensions defined in this message's scope. + Note that some extensions may be incomplete (FieldDescriptor.Extension may be null) + if they are declared in a file generated using a version of protoc that did not fully + support extensions in C#. + + + + + An unmodifiable list of this message type's nested types. + + + + + An unmodifiable list of this message type's enum types. + + + + + An unmodifiable list of the "oneof" field collections in this message type. + All "real" oneofs (where returns false) + come before synthetic ones. + + + + + The number of real "oneof" descriptors in this message type. Every element in + with an index less than this will have a property value + of false; every element with an index greater than or equal to this will have a + property value of true. + + + + + Finds a field by field name. + + The unqualified name of the field (e.g. "foo"). + The field's descriptor, or null if not found. + + + + Finds a field by field number. + + The field number within this message type. + The field's descriptor, or null if not found. + + + + Finds a nested descriptor by name. The is valid for fields, nested + message types, oneofs and enums. + + The unqualified name of the descriptor, e.g. "Foo" + The descriptor, or null if not found. + + + + The (possibly empty) set of custom options for this message. + + + + + The MessageOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value message option for this descriptor + + + + + Gets a repeated value message option for this descriptor + + + + + Looks up and cross-links all fields and nested types. + + + + + A collection to simplify retrieving the field accessor for a particular field. + + + + + Returns the fields in the message as an immutable list, in the order in which they + are declared in the source .proto file. + + + + + Returns the fields in the message as an immutable list, in ascending field number + order. Field numbers need not be contiguous, so there is no direct mapping from the + index in the list to the field number; to retrieve a field by field number, it is better + to use the indexer. + + + + + Returns a read-only dictionary mapping the field names in this message as they're available + in the JSON representation to the field descriptors. For example, a field foo_bar + in the message would result two entries, one with a key fooBar and one with a key + foo_bar, both referring to the same field. + + + + + Retrieves the descriptor for the field with the given number. + + Number of the field to retrieve the descriptor for + The accessor for the given field + The message descriptor does not contain a field + with the given number + + + + Retrieves the descriptor for the field with the given name. + + Name of the field to retrieve the descriptor for + The descriptor for the given field + The message descriptor does not contain a field + with the given name + + + + Describes a single method in a service. + + + + + The service this method belongs to. + + + + + The method's input type. + + + + + The method's input type. + + + + + Indicates if client streams multiple requests. + + + + + Indicates if server streams multiple responses. + + + + + The (possibly empty) set of custom options for this method. + + + + + The MethodOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value method option for this descriptor + + + + + Gets a repeated value method option for this descriptor + + + + + The brief name of the descriptor's target. + + + + + Reflection access for a oneof, allowing clear and "get case" actions. + + + + + Gets the descriptor for this oneof. + + + The descriptor of the oneof. + + + + + Clears the oneof in the specified message. + + + + + Indicates which field in the oneof is set for specified message + + + + + Describes a "oneof" field collection in a message type: a set of + fields of which at most one can be set in any particular message. + + + + + The brief name of the descriptor's target. + + + + + Gets the message type containing this oneof. + + + The message type containing this oneof. + + + + + Gets the fields within this oneof, in declaration order. + + + The fields within this oneof, in declaration order. + + + + + Returns true if this oneof is a synthetic oneof containing a proto3 optional field; + false otherwise. + + + + + Gets an accessor for reflective access to the values associated with the oneof + in a particular message. + + + + In descriptors for generated code, the value returned by this property will always be non-null. + + + In dynamically loaded descriptors, the value returned by this property will current be null; + if and when dynamic messages are supported, it will return a suitable accessor to work with + them. + + + + The accessor used for reflective access. + + + + + The (possibly empty) set of custom options for this oneof. + + + + + The OneofOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value oneof option for this descriptor + + + + + Gets a repeated value oneof option for this descriptor + + + + + Specifies the original name (in the .proto file) of a named element, + such as an enum value. + + + + + The name of the element in the .proto file. + + + + + If the name is preferred in the .proto file. + + + + + Constructs a new attribute instance for the given name. + + The name of the element in the .proto file. + + + + Represents a package in the symbol table. We use PackageDescriptors + just as placeholders so that someone cannot define, say, a message type + that has the same name as an existing package. + + + + + The methods in this class are somewhat evil, and should not be tampered with lightly. + Basically they allow the creation of relatively weakly typed delegates from MethodInfos + which are more strongly typed. They do this by creating an appropriate strongly typed + delegate from the MethodInfo, and then calling that within an anonymous method. + Mind-bending stuff (at least to your humble narrator) but the resulting delegates are + very fast compared with calling Invoke later on. + + + + + Empty Type[] used when calling GetProperty to force property instead of indexer fetching. + + + + + Creates a delegate which will cast the argument to the type that declares the method, + call the method on it, then convert the result to object. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will cast the argument to the type that declares the method, + call the method on it, then convert the result to the specified type. The method is expected + to actually return an enum (because of where we're calling it - for oneof cases). Sometimes that + means we need some extra work to perform conversions. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will execute the given method after casting the first argument to + the type that declares the method, and the second argument to the first parameter type of the method. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will execute the given method after casting the first argument to + type that declares the method. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will execute the given method after casting the first argument to + the type that declares the method, and the second argument to the first parameter type of the method. + + + + + Creates a reflection helper for the given type arguments. Currently these are created on demand + rather than cached; this will be "busy" when initially loading a message's descriptor, but after that + they can be garbage collected. We could cache them by type if that proves to be important, but creating + an object is pretty cheap. + + + + + Accessor for repeated fields. + + + + + Describes a service type. + + + + + The brief name of the descriptor's target. + + + + + An unmodifiable list of methods in this service. + + + + + Finds a method by name. + + The unqualified name of the method (e.g. "Foo"). + The method's descriptor, or null if not found. + + + + The (possibly empty) set of custom options for this service. + + + + + The ServiceOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value service option for this descriptor + + + + + Gets a repeated value service option for this descriptor + + + + + Accessor for single fields. + + + + + An immutable registry of types which can be looked up by their full name. + + + + + An empty type registry, containing no types. + + + + + Attempts to find a message descriptor by its full name. + + The full name of the message, which is the dot-separated + combination of package, containing messages and message name + The message descriptor corresponding to or null + if there is no such message descriptor. + + + + Creates a type registry from the specified set of file descriptors. + + + This is a convenience overload for + to allow calls such as TypeRegistry.FromFiles(descriptor1, descriptor2). + + The set of files to include in the registry. Must not contain null values. + A type registry for the given files. + + + + Creates a type registry from the specified set of file descriptors. + + + All message types within all the specified files are added to the registry, and + the dependencies of the specified files are also added, recursively. + + The set of files to include in the registry. Must not contain null values. + A type registry for the given files. + + + + Creates a type registry from the file descriptor parents of the specified set of message descriptors. + + + This is a convenience overload for + to allow calls such as TypeRegistry.FromFiles(descriptor1, descriptor2). + + The set of message descriptors to use to identify file descriptors to include in the registry. + Must not contain null values. + A type registry for the given files. + + + + Creates a type registry from the file descriptor parents of the specified set of message descriptors. + + + The specified message descriptors are only used to identify their file descriptors; the returned registry + contains all the types within the file descriptors which contain the specified message descriptors (and + the dependencies of those files), not just the specified messages. + + The set of message descriptors to use to identify file descriptors to include in the registry. + Must not contain null values. + A type registry for the given files. + + + + Builder class which isn't exposed, but acts as a convenient alternative to passing round two dictionaries in recursive calls. + + + + + Represents a single field in an UnknownFieldSet. + + An UnknownField consists of four lists of values. The lists correspond + to the four "wire types" used in the protocol buffer binary format. + Normally, only one of the four lists will contain any values, since it + is impossible to define a valid message type that declares two different + types for the same field number. However, the code is designed to allow + for the case where the same unknown field number is encountered using + multiple different wire types. + + + + + + Creates a new UnknownField. + + + + + Checks if two unknown field are equal. + + + + + Get the hash code of the unknown field. + + + + + Serializes the field, including the field number, and writes it to + + + The unknown field number. + The CodedOutputStream to write to. + + + + Computes the number of bytes required to encode this field, including field + number. + + + + + Merge the values in into this field. For each list + of values, 's values are append to the ones in this + field. + + + + + Returns a new list containing all of the given specified values from + both the and lists. + If is null and is empty, + null is returned. Otherwise, either a new list is created (if + is null) or the elements of are added to . + + + + + Adds a varint value. + + + + + Adds a fixed32 value. + + + + + Adds a fixed64 value. + + + + + Adds a length-delimited value. + + + + + Adds to the , creating + a new list if is null. The list is returned - either + the original reference or the new list. + + + + + Used to keep track of fields which were seen when parsing a protocol message + but whose field numbers or types are unrecognized. This most frequently + occurs when new fields are added to a message type and then messages containing + those fields are read by old software that was built before the new types were + added. + + Most users will never need to use this class directly. + + + + + Creates a new UnknownFieldSet. + + + + + Checks whether or not the given field number is present in the set. + + + + + Serializes the set and writes it to . + + + + + Gets the number of bytes required to encode this set. + + + + + Checks if two unknown field sets are equal. + + + + + Gets the unknown field set's hash code. + + + + + Adds a field to the set. If a field with the same number already exists, it + is replaced. + + + + + Parse a single field from and merge it + into this set. + + The coded input stream containing the field + false if the tag is an "end group" tag, true otherwise + + + + Create a new UnknownFieldSet if unknownFields is null. + Parse a single field from and merge it + into unknownFields. If is configured to discard unknown fields, + will be returned as-is and the field will be skipped. + + The UnknownFieldSet which need to be merged + The coded input stream containing the field + The merged UnknownFieldSet + + + + Merges the fields from into this set. + If a field number exists in both sets, the values in + will be appended to the values in this set. + + + + + Created a new UnknownFieldSet to if + needed and merges the fields from into the first set. + If a field number exists in both sets, the values in + will be appended to the values in this set. + + + + + Adds a field to the unknown field set. If a field with the same + number already exists, the two are merged. + + + + + Clone an unknown field set from . + + + + Holder for reflection information generated from google/protobuf/any.proto + + + File descriptor for google/protobuf/any.proto + + + + `Any` contains an arbitrary serialized protocol buffer message along with a + URL that describes the type of the serialized message. + + Protobuf library provides support to pack/unpack Any values in the form + of utility functions or additional generated methods of the Any type. + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by default use + 'type.googleapis.com/full.type.name' as the type URL and the unpack + methods only use the fully qualified type name after the last '/' + in the type URL, for example "foo.bar.com/x/y.z" will yield type + name "y.z". + + JSON + ==== + The JSON representation of an `Any` value uses the regular + representation of the deserialized, embedded message, with an + additional field `@type` which contains the type URL. Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": <string>, + "lastName": <string> + } + + If the embedded message type is well-known and has a custom JSON + representation, that representation will be embedded adding a field + `value` which holds the custom JSON in addition to the `@type` + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + + + + Field number for the "type_url" field. + + + + A URL/resource name that uniquely identifies the type of the serialized + protocol buffer message. This string must contain at least + one "/" character. The last segment of the URL's path must represent + the fully qualified name of the type (as in + `path/google.protobuf.Duration`). The name should be in a canonical form + (e.g., leading "." is not accepted). + + In practice, teams usually precompile into the binary all types that they + expect it to use in the context of Any. However, for URLs which use the + scheme `http`, `https`, or no scheme, one can optionally set up a type + server that maps type URLs to message definitions as follows: + + * If no scheme is provided, `https` is assumed. + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the official + protobuf release, and it is not used for type URLs beginning with + type.googleapis.com. + + Schemes other than `http`, `https` (or the empty scheme) might be + used with implementation specific semantics. + + + + Field number for the "value" field. + + + + Must be a valid serialized protocol buffer of the above specified type. + + + + + Retrieves the type name for a type URL, matching the + of the packed message type. + + + + This is always just the last part of the URL, after the final slash. No validation of + anything before the trailing slash is performed. If the type URL does not include a slash, + an empty string is returned rather than an exception being thrown; this won't match any types, + and the calling code is probably in a better position to give a meaningful error. + + + There is no handling of fragments or queries at the moment. + + + The URL to extract the type name from + The type name + + + + Returns a bool indictating whether this Any message is of the target message type + + The descriptor of the message type + true if the type name matches the descriptor's full name or false otherwise + + + + Unpacks the content of this Any message into the target message type, + which must match the type URL within this Any message. + + The type of message to unpack the content into. + The unpacked message. + The target message type doesn't match the type URL in this message + + + + Attempts to unpack the content of this Any message into the target message type, + if it matches the type URL within this Any message. + + The type of message to attempt to unpack the content into. + true if the message was successfully unpacked; false if the type name didn't match + + + + Packs the specified message into an Any message using a type URL prefix of "type.googleapis.com". + + The message to pack. + An Any message with the content and type URL of . + + + + Packs the specified message into an Any message using the specified type URL prefix. + + The message to pack. + The prefix for the type URL. + An Any message with the content and type URL of . + + + Holder for reflection information generated from google/protobuf/api.proto + + + File descriptor for google/protobuf/api.proto + + + + Api is a light-weight descriptor for an API Interface. + + Interfaces are also described as "protocol buffer services" in some contexts, + such as by the "service" keyword in a .proto file, but they are different + from API Services, which represent a concrete implementation of an interface + as opposed to simply a description of methods and bindings. They are also + sometimes simply referred to as "APIs" in other contexts, such as the name of + this message itself. See https://cloud.google.com/apis/design/glossary for + detailed terminology. + + + + Field number for the "name" field. + + + + The fully qualified name of this interface, including package name + followed by the interface's simple name. + + + + Field number for the "methods" field. + + + + The methods of this interface, in unspecified order. + + + + Field number for the "options" field. + + + + Any metadata attached to the interface. + + + + Field number for the "version" field. + + + + A version string for this interface. If specified, must have the form + `major-version.minor-version`, as in `1.10`. If the minor version is + omitted, it defaults to zero. If the entire version field is empty, the + major version is derived from the package name, as outlined below. If the + field is not empty, the version in the package name will be verified to be + consistent with what is provided here. + + The versioning schema uses [semantic + versioning](http://semver.org) where the major version number + indicates a breaking change and the minor version an additive, + non-breaking change. Both version numbers are signals to users + what to expect from different versions, and should be carefully + chosen based on the product plan. + + The major version is also reflected in the package name of the + interface, which must end in `v<major-version>`, as in + `google.feature.v1`. For major versions 0 and 1, the suffix can + be omitted. Zero major versions must only be used for + experimental, non-GA interfaces. + + + + Field number for the "source_context" field. + + + + Source context for the protocol buffer service represented by this + message. + + + + Field number for the "mixins" field. + + + + Included interfaces. See [Mixin][]. + + + + Field number for the "syntax" field. + + + + The source syntax of the service. + + + + + Method represents a method of an API interface. + + + + Field number for the "name" field. + + + + The simple name of this method. + + + + Field number for the "request_type_url" field. + + + + A URL of the input message type. + + + + Field number for the "request_streaming" field. + + + + If true, the request is streamed. + + + + Field number for the "response_type_url" field. + + + + The URL of the output message type. + + + + Field number for the "response_streaming" field. + + + + If true, the response is streamed. + + + + Field number for the "options" field. + + + + Any metadata attached to the method. + + + + Field number for the "syntax" field. + + + + The source syntax of this method. + + + + + Declares an API Interface to be included in this interface. The including + interface must redeclare all the methods from the included interface, but + documentation and options are inherited as follows: + + - If after comment and whitespace stripping, the documentation + string of the redeclared method is empty, it will be inherited + from the original method. + + - Each annotation belonging to the service config (http, + visibility) which is not set in the redeclared method will be + inherited. + + - If an http annotation is inherited, the path pattern will be + modified as follows. Any version prefix will be replaced by the + version of the including interface plus the [root][] path if + specified. + + Example of a simple mixin: + + package google.acl.v1; + service AccessControl { + // Get the underlying ACL object. + rpc GetAcl(GetAclRequest) returns (Acl) { + option (google.api.http).get = "/v1/{resource=**}:getAcl"; + } + } + + package google.storage.v2; + service Storage { + rpc GetAcl(GetAclRequest) returns (Acl); + + // Get a data record. + rpc GetData(GetDataRequest) returns (Data) { + option (google.api.http).get = "/v2/{resource=**}"; + } + } + + Example of a mixin configuration: + + apis: + - name: google.storage.v2.Storage + mixins: + - name: google.acl.v1.AccessControl + + The mixin construct implies that all methods in `AccessControl` are + also declared with same name and request/response types in + `Storage`. A documentation generator or annotation processor will + see the effective `Storage.GetAcl` method after inherting + documentation and annotations as follows: + + service Storage { + // Get the underlying ACL object. + rpc GetAcl(GetAclRequest) returns (Acl) { + option (google.api.http).get = "/v2/{resource=**}:getAcl"; + } + ... + } + + Note how the version in the path pattern changed from `v1` to `v2`. + + If the `root` field in the mixin is specified, it should be a + relative path under which inherited HTTP paths are placed. Example: + + apis: + - name: google.storage.v2.Storage + mixins: + - name: google.acl.v1.AccessControl + root: acls + + This implies the following inherited HTTP annotation: + + service Storage { + // Get the underlying ACL object. + rpc GetAcl(GetAclRequest) returns (Acl) { + option (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; + } + ... + } + + + + Field number for the "name" field. + + + + The fully qualified name of the interface which is included. + + + + Field number for the "root" field. + + + + If non-empty specifies a path under which inherited HTTP paths + are rooted. + + + + Holder for reflection information generated from google/protobuf/duration.proto + + + File descriptor for google/protobuf/duration.proto + + + + A Duration represents a signed, fixed-length span of time represented + as a count of seconds and fractions of seconds at nanosecond + resolution. It is independent of any calendar and concepts like "day" + or "month". It is related to Timestamp in that the difference between + two Timestamp values is a Duration and it can be added or subtracted + from a Timestamp. Range is approximately +-10,000 years. + + # Examples + + Example 1: Compute Duration from two Timestamps in pseudo code. + + Timestamp start = ...; + Timestamp end = ...; + Duration duration = ...; + + duration.seconds = end.seconds - start.seconds; + duration.nanos = end.nanos - start.nanos; + + if (duration.seconds < 0 && duration.nanos > 0) { + duration.seconds += 1; + duration.nanos -= 1000000000; + } else if (duration.seconds > 0 && duration.nanos < 0) { + duration.seconds -= 1; + duration.nanos += 1000000000; + } + + Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. + + Timestamp start = ...; + Duration duration = ...; + Timestamp end = ...; + + end.seconds = start.seconds + duration.seconds; + end.nanos = start.nanos + duration.nanos; + + if (end.nanos < 0) { + end.seconds -= 1; + end.nanos += 1000000000; + } else if (end.nanos >= 1000000000) { + end.seconds += 1; + end.nanos -= 1000000000; + } + + Example 3: Compute Duration from datetime.timedelta in Python. + + td = datetime.timedelta(days=3, minutes=10) + duration = Duration() + duration.FromTimedelta(td) + + # JSON Mapping + + In JSON format, the Duration type is encoded as a string rather than an + object, where the string ends in the suffix "s" (indicating seconds) and + is preceded by the number of seconds, with nanoseconds expressed as + fractional seconds. For example, 3 seconds with 0 nanoseconds should be + encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should + be expressed in JSON format as "3.000000001s", and 3 seconds and 1 + microsecond should be expressed in JSON format as "3.000001s". + + + + Field number for the "seconds" field. + + + + Signed seconds of the span of time. Must be from -315,576,000,000 + to +315,576,000,000 inclusive. Note: these bounds are computed from: + 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + + + + Field number for the "nanos" field. + + + + Signed fractions of a second at nanosecond resolution of the span + of time. Durations less than one second are represented with a 0 + `seconds` field and a positive or negative `nanos` field. For durations + of one second or more, a non-zero value for the `nanos` field must be + of the same sign as the `seconds` field. Must be from -999,999,999 + to +999,999,999 inclusive. + + + + + The number of nanoseconds in a second. + + + + + The number of nanoseconds in a BCL tick (as used by and ). + + + + + The maximum permitted number of seconds. + + + + + The minimum permitted number of seconds. + + + + + Converts this to a . + + If the duration is not a precise number of ticks, it is truncated towards 0. + The value of this duration, as a TimeSpan. + This value isn't a valid normalized duration, as + described in the documentation. + + + + Converts the given to a . + + The TimeSpan to convert. + The value of the given TimeSpan, as a Duration. + + + + Returns the result of negating the duration. For example, the negation of 5 minutes is -5 minutes. + + The duration to negate. Must not be null. + The negated value of this duration. + + + + Adds the two specified values together. + + The first value to add. Must not be null. + The second value to add. Must not be null. + + + + + Subtracts one from another. + + The duration to subtract from. Must not be null. + The duration to subtract. Must not be null. + The difference between the two specified durations. + + + + Creates a duration with the normalized values from the given number of seconds and + nanoseconds, conforming with the description in the proto file. + + + + + Converts a duration specified in seconds/nanoseconds to a string. + + + If the value is a normalized duration in the range described in duration.proto, + is ignored. Otherwise, if the parameter is true, + a JSON object with a warning is returned; if it is false, an is thrown. + + Seconds portion of the duration. + Nanoseconds portion of the duration. + Determines the handling of non-normalized values + The represented duration is invalid, and is false. + + + + Returns a string representation of this for diagnostic purposes. + + + Normally the returned value will be a JSON string value (including leading and trailing quotes) but + when the value is non-normalized or out of range, a JSON object representation will be returned + instead, including a warning. This is to avoid exceptions being thrown when trying to + diagnose problems - the regular JSON formatter will still throw an exception for non-normalized + values. + + A string representation of this value. + + + + Appends a number of nanoseconds to a StringBuilder. Either 0 digits are added (in which + case no "." is appended), or 3 6 or 9 digits. This is internal for use in Timestamp as well + as Duration. + + + + Holder for reflection information generated from google/protobuf/empty.proto + + + File descriptor for google/protobuf/empty.proto + + + + A generic empty message that you can re-use to avoid defining duplicated + empty messages in your APIs. A typical example is to use it as the request + or the response type of an API method. For instance: + + service Foo { + rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); + } + + The JSON representation for `Empty` is empty JSON object `{}`. + + + + Holder for reflection information generated from google/protobuf/field_mask.proto + + + File descriptor for google/protobuf/field_mask.proto + + + + `FieldMask` represents a set of symbolic field paths, for example: + + paths: "f.a" + paths: "f.b.d" + + Here `f` represents a field in some root message, `a` and `b` + fields in the message found in `f`, and `d` a field found in the + message in `f.b`. + + Field masks are used to specify a subset of fields that should be + returned by a get operation or modified by an update operation. + Field masks also have a custom JSON encoding (see below). + + # Field Masks in Projections + + When used in the context of a projection, a response message or + sub-message is filtered by the API to only contain those fields as + specified in the mask. For example, if the mask in the previous + example is applied to a response message as follows: + + f { + a : 22 + b { + d : 1 + x : 2 + } + y : 13 + } + z: 8 + + The result will not contain specific values for fields x,y and z + (their value will be set to the default, and omitted in proto text + output): + + f { + a : 22 + b { + d : 1 + } + } + + A repeated field is not allowed except at the last position of a + paths string. + + If a FieldMask object is not present in a get operation, the + operation applies to all fields (as if a FieldMask of all fields + had been specified). + + Note that a field mask does not necessarily apply to the + top-level response message. In case of a REST get operation, the + field mask applies directly to the response, but in case of a REST + list operation, the mask instead applies to each individual message + in the returned resource list. In case of a REST custom method, + other definitions may be used. Where the mask applies will be + clearly documented together with its declaration in the API. In + any case, the effect on the returned resource/resources is required + behavior for APIs. + + # Field Masks in Update Operations + + A field mask in update operations specifies which fields of the + targeted resource are going to be updated. The API is required + to only change the values of the fields as specified in the mask + and leave the others untouched. If a resource is passed in to + describe the updated values, the API ignores the values of all + fields not covered by the mask. + + If a repeated field is specified for an update operation, new values will + be appended to the existing repeated field in the target resource. Note that + a repeated field is only allowed in the last position of a `paths` string. + + If a sub-message is specified in the last position of the field mask for an + update operation, then new value will be merged into the existing sub-message + in the target resource. + + For example, given the target message: + + f { + b { + d: 1 + x: 2 + } + c: [1] + } + + And an update message: + + f { + b { + d: 10 + } + c: [2] + } + + then if the field mask is: + + paths: ["f.b", "f.c"] + + then the result will be: + + f { + b { + d: 10 + x: 2 + } + c: [1, 2] + } + + An implementation may provide options to override this default behavior for + repeated and message fields. + + In order to reset a field's value to the default, the field must + be in the mask and set to the default value in the provided resource. + Hence, in order to reset all fields of a resource, provide a default + instance of the resource and set all fields in the mask, or do + not provide a mask as described below. + + If a field mask is not present on update, the operation applies to + all fields (as if a field mask of all fields has been specified). + Note that in the presence of schema evolution, this may mean that + fields the client does not know and has therefore not filled into + the request will be reset to their default. If this is unwanted + behavior, a specific service may require a client to always specify + a field mask, producing an error if not. + + As with get operations, the location of the resource which + describes the updated values in the request message depends on the + operation kind. In any case, the effect of the field mask is + required to be honored by the API. + + ## Considerations for HTTP REST + + The HTTP kind of an update operation which uses a field mask must + be set to PATCH instead of PUT in order to satisfy HTTP semantics + (PUT must only be used for full updates). + + # JSON Encoding of Field Masks + + In JSON, a field mask is encoded as a single string where paths are + separated by a comma. Fields name in each path are converted + to/from lower-camel naming conventions. + + As an example, consider the following message declarations: + + message Profile { + User user = 1; + Photo photo = 2; + } + message User { + string display_name = 1; + string address = 2; + } + + In proto a field mask for `Profile` may look as such: + + mask { + paths: "user.display_name" + paths: "photo" + } + + In JSON, the same mask is represented as below: + + { + mask: "user.displayName,photo" + } + + # Field Masks and Oneof Fields + + Field masks treat fields in oneofs just as regular fields. Consider the + following message: + + message SampleMessage { + oneof test_oneof { + string name = 4; + SubMessage sub_message = 9; + } + } + + The field mask can be: + + mask { + paths: "name" + } + + Or: + + mask { + paths: "sub_message" + } + + Note that oneof type names ("test_oneof" in this case) cannot be used in + paths. + + ## Field Mask Verification + + The implementation of any API method which has a FieldMask type field in the + request should verify the included field paths, and return an + `INVALID_ARGUMENT` error if any path is unmappable. + + + + Field number for the "paths" field. + + + + The set of field mask paths. + + + + + Converts a field mask specified by paths to a string. + + + If the value is a normalized duration in the range described in field_mask.proto, + is ignored. Otherwise, if the parameter is true, + a JSON object with a warning is returned; if it is false, an is thrown. + + Paths in the field mask + Determines the handling of non-normalized values + The represented field mask is invalid, and is false. + + + + Returns a string representation of this for diagnostic purposes. + + + Normally the returned value will be a JSON string value (including leading and trailing quotes) but + when the value is non-normalized or out of range, a JSON object representation will be returned + instead, including a warning. This is to avoid exceptions being thrown when trying to + diagnose problems - the regular JSON formatter will still throw an exception for non-normalized + values. + + A string representation of this value. + + + + Parses from a string to a FieldMask. + + + + + Parses from a string to a FieldMask and validates all field paths. + + The type to validate the field paths against. + + + + Constructs a FieldMask for a list of field paths in a certain type. + + The type to validate the field paths against. + + + + Constructs a FieldMask from the passed field numbers. + + The type to validate the field paths against. + + + + Constructs a FieldMask from the passed field numbers. + + The type to validate the field paths against. + + + + Checks whether the given path is valid for a field mask. + + true if the path is valid; false otherwise + + + + Checks whether paths in a given fields mask are valid. + + The type to validate the field paths against. + + + + Checks whether paths in a given fields mask are valid. + + + + + Checks whether a given field path is valid. + + The type to validate the field paths against. + + + + Checks whether paths in a given fields mask are valid. + + + + + Converts this FieldMask to its canonical form. In the canonical form of a + FieldMask, all field paths are sorted alphabetically and redundant field + paths are removed. + + + + + Creates a union of two or more FieldMasks. + + + + + Calculates the intersection of two FieldMasks. + + + + + Merges fields specified by this FieldMask from one message to another with the + specified merge options. + + + + + Merges fields specified by this FieldMask from one message to another. + + + + + Options to customize merging behavior. + + + + + Whether to replace message fields(i.e., discard existing content in + destination message fields) when merging. + Default behavior is to merge the source message field into the + destination message field. + + + + + Whether to replace repeated fields (i.e., discard existing content in + destination repeated fields) when merging. + Default behavior is to append elements from source repeated field to the + destination repeated field. + + + + + Whether to replace primitive (non-repeated and non-message) fields in + destination message fields with the source primitive fields (i.e., if the + field is set in the source, the value is copied to the + destination; if the field is unset in the source, the field is cleared + from the destination) when merging. + + Default behavior is to always set the value of the source primitive + field to the destination primitive field, and if the source field is + unset, the default value of the source field is copied to the + destination. + + + + Holder for reflection information generated from google/protobuf/source_context.proto + + + File descriptor for google/protobuf/source_context.proto + + + + `SourceContext` represents information about the source of a + protobuf element, like the file in which it is defined. + + + + Field number for the "file_name" field. + + + + The path-qualified name of the .proto file that contained the associated + protobuf element. For example: `"google/protobuf/source_context.proto"`. + + + + Holder for reflection information generated from google/protobuf/struct.proto + + + File descriptor for google/protobuf/struct.proto + + + + `NullValue` is a singleton enumeration to represent the null value for the + `Value` type union. + + The JSON representation for `NullValue` is JSON `null`. + + + + + Null value. + + + + + `Struct` represents a structured data value, consisting of fields + which map to dynamically typed values. In some languages, `Struct` + might be supported by a native representation. For example, in + scripting languages like JS a struct is represented as an + object. The details of that representation are described together + with the proto support for the language. + + The JSON representation for `Struct` is JSON object. + + + + Field number for the "fields" field. + + + + Unordered map of dynamically typed values. + + + + + `Value` represents a dynamically typed value which can be either + null, a number, a string, a boolean, a recursive struct value, or a + list of values. A producer of value is expected to set one of that + variants, absence of any variant indicates an error. + + The JSON representation for `Value` is JSON value. + + + + Field number for the "null_value" field. + + + + Represents a null value. + + + + Field number for the "number_value" field. + + + + Represents a double value. + + + + Field number for the "string_value" field. + + + + Represents a string value. + + + + Field number for the "bool_value" field. + + + + Represents a boolean value. + + + + Field number for the "struct_value" field. + + + + Represents a structured value. + + + + Field number for the "list_value" field. + + + + Represents a repeated `Value`. + + + + Enum of possible cases for the "kind" oneof. + + + + Convenience method to create a Value message with a string value. + + Value to set for the StringValue property. + A newly-created Value message with the given value. + + + + Convenience method to create a Value message with a number value. + + Value to set for the NumberValue property. + A newly-created Value message with the given value. + + + + Convenience method to create a Value message with a Boolean value. + + Value to set for the BoolValue property. + A newly-created Value message with the given value. + + + + Convenience method to create a Value message with a null initial value. + + A newly-created Value message a null initial value. + + + + Convenience method to create a Value message with an initial list of values. + + The values provided are not cloned; the references are copied directly. + A newly-created Value message an initial list value. + + + + Convenience method to create a Value message with an initial struct value + + The value provided is not cloned; the reference is copied directly. + A newly-created Value message an initial struct value. + + + + `ListValue` is a wrapper around a repeated field of values. + + The JSON representation for `ListValue` is JSON array. + + + + Field number for the "values" field. + + + + Repeated field of dynamically typed values. + + + + + Extension methods on BCL time-related types, converting to protobuf types. + + + + + Converts the given to a . + + The date and time to convert to a timestamp. + The value has a other than Utc. + The converted timestamp. + + + + Converts the given to a + + The offset is taken into consideration when converting the value (so the same instant in time + is represented) but is not a separate part of the resulting value. In other words, there is no + roundtrip operation to retrieve the original DateTimeOffset. + The date and time (with UTC offset) to convert to a timestamp. + The converted timestamp. + + + + Converts the given to a . + + The time span to convert. + The converted duration. + + + Holder for reflection information generated from google/protobuf/timestamp.proto + + + File descriptor for google/protobuf/timestamp.proto + + + + A Timestamp represents a point in time independent of any time zone or local + calendar, encoded as a count of seconds and fractions of seconds at + nanosecond resolution. The count is relative to an epoch at UTC midnight on + January 1, 1970, in the proleptic Gregorian calendar which extends the + Gregorian calendar backwards to year one. + + All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap + second table is needed for interpretation, using a [24-hour linear + smear](https://developers.google.com/time/smear). + + The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By + restricting to that range, we ensure that we can convert to and from [RFC + 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. + + # Examples + + Example 1: Compute Timestamp from POSIX `time()`. + + Timestamp timestamp; + timestamp.set_seconds(time(NULL)); + timestamp.set_nanos(0); + + Example 2: Compute Timestamp from POSIX `gettimeofday()`. + + struct timeval tv; + gettimeofday(&tv, NULL); + + Timestamp timestamp; + timestamp.set_seconds(tv.tv_sec); + timestamp.set_nanos(tv.tv_usec * 1000); + + Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. + + FILETIME ft; + GetSystemTimeAsFileTime(&ft); + UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; + + // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z + // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. + Timestamp timestamp; + timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); + timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); + + Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. + + long millis = System.currentTimeMillis(); + + Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) + .setNanos((int) ((millis % 1000) * 1000000)).build(); + + Example 5: Compute Timestamp from current time in Python. + + timestamp = Timestamp() + timestamp.GetCurrentTime() + + # JSON Mapping + + In JSON format, the Timestamp type is encoded as a string in the + [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the + format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" + where {year} is always expressed using four digits while {month}, {day}, + {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional + seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), + are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone + is required. A proto3 JSON serializer should always use UTC (as indicated by + "Z") when printing the Timestamp type and a proto3 JSON parser should be + able to accept both UTC and other timezones (as indicated by an offset). + + For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past + 01:30 UTC on January 15, 2017. + + In JavaScript, one can convert a Date object to this format using the + standard + [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) + method. In Python, a standard `datetime.datetime` object can be converted + to this format using + [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with + the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use + the Joda Time's [`ISODateTimeFormat.dateTime()`]( + http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D + ) to obtain a formatter capable of generating timestamps in this format. + + + + Field number for the "seconds" field. + + + + Represents seconds of UTC time since Unix epoch + 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to + 9999-12-31T23:59:59Z inclusive. + + + + Field number for the "nanos" field. + + + + Non-negative fractions of a second at nanosecond resolution. Negative + second values with fractions must still have non-negative nanos values + that count forward in time. Must be from 0 to 999,999,999 + inclusive. + + + + + Returns the difference between one and another, as a . + + The timestamp to subtract from. Must not be null. + The timestamp to subtract. Must not be null. + The difference between the two specified timestamps. + + + + Adds a to a , to obtain another Timestamp. + + The timestamp to add the duration to. Must not be null. + The duration to add. Must not be null. + The result of adding the duration to the timestamp. + + + + Subtracts a from a , to obtain another Timestamp. + + The timestamp to subtract the duration from. Must not be null. + The duration to subtract. + The result of subtracting the duration from the timestamp. + + + + Converts this timestamp into a . + + + The resulting DateTime will always have a Kind of Utc. + If the timestamp is not a precise number of ticks, it will be truncated towards the start + of time. For example, a timestamp with a value of 99 will result in a + value precisely on a second. + + This timestamp as a DateTime. + The timestamp contains invalid values; either it is + incorrectly normalized or is outside the valid range. + + + + Converts this timestamp into a . + + + The resulting DateTimeOffset will always have an Offset of zero. + If the timestamp is not a precise number of ticks, it will be truncated towards the start + of time. For example, a timestamp with a value of 99 will result in a + value precisely on a second. + + This timestamp as a DateTimeOffset. + The timestamp contains invalid values; either it is + incorrectly normalized or is outside the valid range. + + + + Converts the specified to a . + + + The Kind of is not DateTimeKind.Utc. + The converted timestamp. + + + + Converts the given to a + + The offset is taken into consideration when converting the value (so the same instant in time + is represented) but is not a separate part of the resulting value. In other words, there is no + roundtrip operation to retrieve the original DateTimeOffset. + The date and time (with UTC offset) to convert to a timestamp. + The converted timestamp. + + + + Converts a timestamp specified in seconds/nanoseconds to a string. + + + If the value is a normalized duration in the range described in timestamp.proto, + is ignored. Otherwise, if the parameter is true, + a JSON object with a warning is returned; if it is false, an is thrown. + + Seconds portion of the duration. + Nanoseconds portion of the duration. + Determines the handling of non-normalized values + The represented duration is invalid, and is false. + + + + Given another timestamp, returns 0 if the timestamps are equivalent, -1 if this timestamp precedes the other, and 1 otherwise + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + Timestamp to compare + an integer indicating whether this timestamp precedes or follows the other + + + + Compares two timestamps and returns whether the first is less than (chronologically precedes) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a precedes b + + + + Compares two timestamps and returns whether the first is greater than (chronologically follows) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a follows b + + + + Compares two timestamps and returns whether the first is less than (chronologically precedes) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a precedes b + + + + Compares two timestamps and returns whether the first is greater than (chronologically follows) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a follows b + + + + Returns whether two timestamps are equivalent + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if the two timestamps refer to the same nanosecond + + + + Returns whether two timestamps differ + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if the two timestamps differ + + + + Returns a string representation of this for diagnostic purposes. + + + Normally the returned value will be a JSON string value (including leading and trailing quotes) but + when the value is non-normalized or out of range, a JSON object representation will be returned + instead, including a warning. This is to avoid exceptions being thrown when trying to + diagnose problems - the regular JSON formatter will still throw an exception for non-normalized + values. + + A string representation of this value. + + + Holder for reflection information generated from google/protobuf/type.proto + + + File descriptor for google/protobuf/type.proto + + + + The syntax in which a protocol buffer element is defined. + + + + + Syntax `proto2`. + + + + + Syntax `proto3`. + + + + + A protocol buffer message type. + + + + Field number for the "name" field. + + + + The fully qualified message name. + + + + Field number for the "fields" field. + + + + The list of fields. + + + + Field number for the "oneofs" field. + + + + The list of types appearing in `oneof` definitions in this type. + + + + Field number for the "options" field. + + + + The protocol buffer options. + + + + Field number for the "source_context" field. + + + + The source context. + + + + Field number for the "syntax" field. + + + + The source syntax. + + + + + A single field of a message type. + + + + Field number for the "kind" field. + + + + The field type. + + + + Field number for the "cardinality" field. + + + + The field cardinality. + + + + Field number for the "number" field. + + + + The field number. + + + + Field number for the "name" field. + + + + The field name. + + + + Field number for the "type_url" field. + + + + The field type URL, without the scheme, for message or enumeration + types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`. + + + + Field number for the "oneof_index" field. + + + + The index of the field type in `Type.oneofs`, for message or enumeration + types. The first type has index 1; zero means the type is not in the list. + + + + Field number for the "packed" field. + + + + Whether to use alternative packed wire representation. + + + + Field number for the "options" field. + + + + The protocol buffer options. + + + + Field number for the "json_name" field. + + + + The field JSON name. + + + + Field number for the "default_value" field. + + + + The string value of the default value of this field. Proto2 syntax only. + + + + Container for nested types declared in the Field message type. + + + + Basic field types. + + + + + Field type unknown. + + + + + Field type double. + + + + + Field type float. + + + + + Field type int64. + + + + + Field type uint64. + + + + + Field type int32. + + + + + Field type fixed64. + + + + + Field type fixed32. + + + + + Field type bool. + + + + + Field type string. + + + + + Field type group. Proto2 syntax only, and deprecated. + + + + + Field type message. + + + + + Field type bytes. + + + + + Field type uint32. + + + + + Field type enum. + + + + + Field type sfixed32. + + + + + Field type sfixed64. + + + + + Field type sint32. + + + + + Field type sint64. + + + + + Whether a field is optional, required, or repeated. + + + + + For fields with unknown cardinality. + + + + + For optional fields. + + + + + For required fields. Proto2 syntax only. + + + + + For repeated fields. + + + + + Enum type definition. + + + + Field number for the "name" field. + + + + Enum type name. + + + + Field number for the "enumvalue" field. + + + + Enum value definitions. + + + + Field number for the "options" field. + + + + Protocol buffer options. + + + + Field number for the "source_context" field. + + + + The source context. + + + + Field number for the "syntax" field. + + + + The source syntax. + + + + + Enum value definition. + + + + Field number for the "name" field. + + + + Enum value name. + + + + Field number for the "number" field. + + + + Enum value number. + + + + Field number for the "options" field. + + + + Protocol buffer options. + + + + + A protocol buffer option, which can be attached to a message, field, + enumeration, etc. + + + + Field number for the "name" field. + + + + The option's name. For protobuf built-in options (options defined in + descriptor.proto), this is the short name. For example, `"map_entry"`. + For custom options, it should be the fully-qualified name. For example, + `"google.api.http"`. + + + + Field number for the "value" field. + + + + The option's value packed in an Any message. If the value is a primitive, + the corresponding wrapper type defined in google/protobuf/wrappers.proto + should be used. If the value is an enum, it should be stored as an int32 + value using the google.protobuf.Int32Value type. + + + + Holder for reflection information generated from google/protobuf/wrappers.proto + + + File descriptor for google/protobuf/wrappers.proto + + + + Field number for the single "value" field in all wrapper types. + + + + + Wrapper message for `double`. + + The JSON representation for `DoubleValue` is JSON number. + + + + Field number for the "value" field. + + + + The double value. + + + + + Wrapper message for `float`. + + The JSON representation for `FloatValue` is JSON number. + + + + Field number for the "value" field. + + + + The float value. + + + + + Wrapper message for `int64`. + + The JSON representation for `Int64Value` is JSON string. + + + + Field number for the "value" field. + + + + The int64 value. + + + + + Wrapper message for `uint64`. + + The JSON representation for `UInt64Value` is JSON string. + + + + Field number for the "value" field. + + + + The uint64 value. + + + + + Wrapper message for `int32`. + + The JSON representation for `Int32Value` is JSON number. + + + + Field number for the "value" field. + + + + The int32 value. + + + + + Wrapper message for `uint32`. + + The JSON representation for `UInt32Value` is JSON number. + + + + Field number for the "value" field. + + + + The uint32 value. + + + + + Wrapper message for `bool`. + + The JSON representation for `BoolValue` is JSON `true` and `false`. + + + + Field number for the "value" field. + + + + The bool value. + + + + + Wrapper message for `string`. + + The JSON representation for `StringValue` is JSON string. + + + + Field number for the "value" field. + + + + The string value. + + + + + Wrapper message for `bytes`. + + The JSON representation for `BytesValue` is JSON string. + + + + Field number for the "value" field. + + + + The bytes value. + + + + + This class is used internally by the Protocol Buffer Library and generated + message implementations. It is public only for the sake of those generated + messages. Others should not use this class directly. + + This class contains constants and helper functions useful for dealing with + the Protocol Buffer wire format. + + + + + + Wire types within protobuf encoding. + + + + + Variable-length integer. + + + + + A fixed-length 64-bit value. + + + + + A length-delimited value, i.e. a length followed by that many bytes of data. + + + + + A "start group" value + + + + + An "end group" value + + + + + A fixed-length 32-bit value. + + + + + Given a tag value, determines the wire type (lower 3 bits). + + + + + Given a tag value, determines the field number (the upper 29 bits). + + + + + Makes a tag value given a field number and wire type. + + +
+
diff --git a/Plugins/LC.Google.Protobuf.xml.meta b/Plugins/LC.Google.Protobuf.xml.meta new file mode 100644 index 0000000..82a48b5 --- /dev/null +++ b/Plugins/LC.Google.Protobuf.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 066576726e2d5400ca03a8aec7631bf0 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LiveQuery.deps.json b/Plugins/LiveQuery.deps.json new file mode 100644 index 0000000..b49ba21 --- /dev/null +++ b/Plugins/LiveQuery.deps.json @@ -0,0 +1,111 @@ +{ + "runtimeTarget": { + "name": ".NETStandard,Version=v2.0/", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETStandard,Version=v2.0": {}, + ".NETStandard,Version=v2.0/": { + "LiveQuery/1.0.0": { + "dependencies": { + "NETStandard.Library": "2.0.3", + "Realtime": "1.0.0" + }, + "runtime": { + "LiveQuery.dll": {} + } + }, + "Microsoft.NETCore.Platforms/1.1.0": {}, + "NETStandard.Library/2.0.3": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0" + } + }, + "Common/1.0.0": { + "dependencies": { + "LC.Newtonsoft.Json": "11.0.1-beta2" + }, + "runtime": { + "Common.dll": {} + } + }, + "LC.Google.Protobuf/3.12.4": { + "dependencies": { + "NETStandard.Library": "2.0.3" + }, + "runtime": { + "LC.Google.Protobuf.dll": {} + } + }, + "LC.Newtonsoft.Json/11.0.1-beta2": { + "runtime": { + "LC.Newtonsoft.Json.dll": {} + } + }, + "Realtime/1.0.0": { + "dependencies": { + "LC.Google.Protobuf": "3.12.4", + "Storage": "1.0.0" + }, + "runtime": { + "Realtime.dll": {} + } + }, + "Storage/1.0.0": { + "dependencies": { + "Common": "1.0.0" + }, + "runtime": { + "Storage.dll": {} + } + } + } + }, + "libraries": { + "LiveQuery/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Microsoft.NETCore.Platforms/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==", + "path": "microsoft.netcore.platforms/1.1.0", + "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512" + }, + "NETStandard.Library/2.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==", + "path": "netstandard.library/2.0.3", + "hashPath": "netstandard.library.2.0.3.nupkg.sha512" + }, + "Common/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "LC.Google.Protobuf/3.12.4": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "LC.Newtonsoft.Json/11.0.1-beta2": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Realtime/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Storage/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Plugins/LiveQuery.deps.json.meta b/Plugins/LiveQuery.deps.json.meta new file mode 100644 index 0000000..4deade8 --- /dev/null +++ b/Plugins/LiveQuery.deps.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4c5c7ebc1e081401a990790bc352a673 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LiveQuery.dll b/Plugins/LiveQuery.dll new file mode 100644 index 0000000000000000000000000000000000000000..5778ad4b173b04ebdf7aa72ed549226d4bc52b65 GIT binary patch literal 22016 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 literal 0 HcmV?d00001 diff --git a/Plugins/LiveQuery.pdb.meta b/Plugins/LiveQuery.pdb.meta new file mode 100644 index 0000000..2af12dc --- /dev/null +++ b/Plugins/LiveQuery.pdb.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9e3c2fac8a6f044f1a6f4fbb62144f6a +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/Realtime.dll b/Plugins/Realtime.dll new file mode 100644 index 0000000000000000000000000000000000000000..b6c5233159be7b4665e2df1f444634029596349d GIT binary patch literal 299008 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 XvDqHY3~c0f(!(GAXKi`(Vd#70 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%0D-FNSkIP^*dh5@1L#gHr&+*;`)* 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%0Diz+1pI(` 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 literal 0 HcmV?d00001 diff --git a/Plugins/Realtime.dll.meta b/Plugins/Realtime.dll.meta new file mode 100644 index 0000000..55eaaec --- /dev/null +++ b/Plugins/Realtime.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 098f82d0e0a1d443fb1687e583230114 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/Realtime.pdb b/Plugins/Realtime.pdb new file mode 100644 index 0000000000000000000000000000000000000000..c1902e267db03a32e05ad9af1d2048cc12f5c4fe GIT binary patch literal 105448 zcmeF4b$Aq4{O)H%vWpe>LI~~_+zJGDcPK;_2t*))76?|nxVuX!Uc5B8Q><7i1cw5p zEmEMgz3)4jg|}1s`{Ul{{&jDj=fj!Le9!lsGiP*n!zQ3*g8+x&F!+-aG^-Wh*SA#h zlI9A-X?%tSlBZcn5ZAo|8NPxKLH+fHQPLaBEn}iWBf3X3US+dkV3m=lbxWfdmpQfwmFxkNS4zuM>Q6H z6C8IMMzW-a(LPC{ul6#GuQBXDvHlL?<-s7V+l=@NEN4cHTjc{-&aujj)_SOc>I~uM zX<}g$m)x7ILiGf&!Y5pIE?fTFQWy@K$Htmu0web zyc|XqFE3*N$}uPppge~%X%dH#If<9i5M>9HQ&BEKc@|{?$_(BPBagS2(GF#I zl=D%3iSjne-%u9taTw)%yo~-RN25G|@*K*vPKV*=^fEf23`IE?HV2jjq0Fc&NZYr$r) z3+xBS!8vdh+yXy=-@qH-RS+`+o`7V997dT!I86TY$6(>_YG7`Wa zz*X4GC|H<{c^UN!Co!6Vw%}9X24NuDjC&*IZ43mTf??)5AFT7iIv=d_!8#vf0+?Oc zX)FRO!B=1_*bVlZIrf1kGmaHbW}E?+z;&=2+y&3T-ylViWJWE}zesXpDEJ&q1k=Gh zuoSET8^Lz4w+Q=4ZX7C-0^>+woJ4sZ+$oY0<4lR|N@+a8@^9cZFp8!$a)E-N45$qn zfeS_1&PPVIVjmd|i>1Q&QW-5!4lR-jV@QQDq{0|d8SSyIE9e9IGY&on6Tx&a4=e?1 zz(%kg>;;FwNpK!q1vkM1@D%(}EH&mfHTFenBT4bpMrz;(%7LoI(_qfhV9wHDOldG@ zX^bXV*8y|`Gr+gS)1ppV)Jba`#_~CE9sCV)mPm*Fk`DVNolz3YRX}494mOrZkMkwH zu^nallIe}Spb}^Zx`Sx20qiN60mnuL;{eJ|`7;>DQT9Z67Ucu*6#N0aN@XyTfixg9 z@CErmQBWFG0yRKAu)SCYqbbTZ;3e7$LKzDBf-ztQSO8XlufW%(xPSg{{$wzIKtH#^ zLjR1$S%2*-qw%AECLB+ha6DzgTx7y|k_pE~CL9}?j5~-uGV5nXEVJ>Oe`ez~FiK}O zTp$(b1fswYFb>QFOTl`u3mgXLK>~OJ-T+sb%ti)~3ls;HK|RnK1cAsho-t-NJ}Z;O zSp3ej80+9$z^*b`acpJ9v6U6$&x-M9#Tc_<{8^1dWwPP8$!45Ic^TX&lgD@jegmHt z&V#ynaDL{&xtzy%jde!ZJU9>X;5^7O426lpd;21ayu7gw+e2q+?AgBZaKvNJ1qQM|A2FwNPz*evi90M1@ zb?^v014cz(BPqxTa)4f7E7$|FR`NB1z?a|!$Xwai$O#I75}*ob2fBhDAQlV;@h9q<@D2X8^Ls=h`UPz5vrT|o~J3kHL6U@BMyHh}}+ z1h@;$hs!)mAxHiKPYKR6C9fuF%k@E1r?-PcGD{6Im_1Vn;sft;Wes0iwSCZHn- z2E9RlFbYfrbHO^W7aRuX!Cmk>_#33G>1$*Fxj-RM4%7o3KoE!o{lM=asuuPI$WzVHH7zW0InP4IK5^MqS;3)8F;%k%# z)xZ$21v~)0O)>xA6Ho^<0UbdU7zl=gNnjTE23!aCfU6mfKhP2k1!KTuFdHleUx8!b zEVvC`fImU<<~Sxn1<)P@g5h8pI0){6=in{yZh>tFc|ilv0(1aDAO?I6z5w&UGVmiv z+S1oZ11f`VU);;v8ThNCT9G0(O@4)9f%kh2d09#U@6!Q$_3#V z2X#P8&=K?iy}@8G3QPra!78u;>;b1i0(byk09P>1MUV>=2h~9f&;fJ@kzg2@2Ihg) zU?cbj90KRSRd63X1#dyB5M0keK~NS{1r0z8&;@h{G2k;W7EA#P!Ah_N90HfX4e%KJ z1=6^EjVvG^C-C)fv0gNxuccm!SnBLe3x$P0>sil7E)0@{FJ&{2q*_Sf#F~^xBwo2 zU%)G1#P}K|!CT-Ri)$Y61tmcRP#d%bp`Z^K0zL=Rz&x-TYy{tcL*N{^3hsla;4Sd( zi*p5J1^Gb*&;YamT|gf&0*nWy04M|MfOeoO2nVrX zI2Z?Jfkj{)*b4T6^WZLc0^Wd>{jtp;KPU}qgSMax2m>)-7#Is?f`#Bqum!|}bKnkm z3|@m218@w1e83;n0&T#jpcjY+gTM$d87u``!5(l7`~aSS7r<*Ewi%=Y*+6bk0+a`} zKqJr|1cC_A7mNVo!ECS?$?JCStxp(=TwZ1`{XY*qn@g3&w+KU>;ZvE`tQ{0K5Qy zg5*)}~f_7jcm;o+;WV3OP1~Fg)m=5NH za^rh{+6Paxx5T(?0m=mny|ATSYZ0lUE|a0A>2 z&%s;ZJrCDRkQL+y#X%1+2P^>>fpb2t?;s3}0u#XuumG$DXTW9f6L<@}7obg$732rS zL1j=AGz0B`8-#;Z;2O9C@+?FQOauqO58yU<1fBusB3y$&AP5D0!4NPWOaqI-YVb8U z0E(C zpcJSH8iID9D+mX%U^o~DaxTR+9c%%;m*Ke*e7+oQtibsUf&BWC4DlDu@CD!Ei7M%mT~7I&>zHssbD!+2X=ye;54`hZi7eQ8TbPvS%>og6aXba6;KN_2kk*O5CH~(5nwWy z4a$FoYXjH?TCK-D1~k}!*8`x`MvM{E0QEr|@HcR6!to7?fYP8kXaPb%7#IMCfiJ*J zunc?&c7S+r3fus{g4e*g8PCYzV~_`w1OcEG=mbK+ATSZk087DEa2T8hKY%CTZ{XU3 zc?S7G1yCI{2CYF5=n49Ppn#APJr_u0XzUNz@H%bR-8v5Cnx~QfGVIq zXbwIF-9R)L1jc~LU;$VGHiKQ@2>1@9+J@Zi$OV~qqTGe+?jFqh-t5LKuo~>#tM3VB zH!fh^-Mu-C@NaV%OTN`u4r3qIy#mwXa~Lb)8OvcD#`10O24vco!^i_l?(^h*Y>axh z%yl0dvrNZlK33`6&-M5$$tpj!%1KrkZm zmRWL{Kk1E3hteB4KweM;_=Ad|`k@R)-9xOC!HBlX^;Y?-StiCx9nN4>Je;^Z$|_G- zWwIlQ>)lp4(<+acWnwJl(F{h0qgFkuoM)A1t#kg*j$xgCfUZadvhMHwgBljt;&uL7z%4DY# z{S&KYDM~#(?h=>+i72G#3+nrd6i6l<0M=a+p<~vC52>6XR2? z@~u^tzmm9qkySpl%FZ53Ke16B5_8waPJ8xz{S6TV;uxhWy}p;hp22 zD$B95JXn@T$?`;5o*~N%WO;=we!dcE2|8B z!*BsF;Q4)&q*zWO&bYTY<38eyJH;92I!}9C<~omaIhi=)$;BB@Al=akSoF9gIobmGFj8_n6yrMYcmBbmZ zj5E&D9_PA>cpG?C@y75^#H+!piE}K~#oNJah}VS&h&P4T6lZ(2Y+hTOEC(igVamI&> zGd@C`@sZ+;j}m8mH1?-wd_11VNSyV@inIPW+#x;nc`qF=&iWIiK7FD%^S=;he3Cfh zlf@aIBF^|!+;Khq^Iktqob{)Rb9^(zxj$x#U%+WU3!c{6UqviW2j{V!*76K+UbmkE z*3S(89LvkWZ1~4kKChp1FdrW0c;;^ToM+3&fefP@M5a;*2jAXMBk`<4eUE zUxp_TPyZR<+y;-c{t9u{UumnqO5&`)TAcOQ*y^v9IO~5Y&id#rAQ{SD%b zZxm;IlQ`p>#Tnls&iGbw#=n;FFuqOP3EwXD8Q&q!{GB+TbUt^9^LX4XUI4xap4~cr zyx`x6^I2{$$YI6V-?!rIFJ7GSed3Jo$Ms0_4~R2yob4Zz`ivhJXZ(aX?|moX`K|VA!%x8rN`I%Z&f{$FJ8`ym24}9u z&x)r;{G2%NedpnYtoFxSUKpMU%iP`zh?kQ7zsEX{v;T|Y?Eez>rYD{mepx&h{E9fA zH?E3zh5rEexB6py*Tnn5e}tE};(WfjF3w~92Jpl=z65c$cT=44TjGr07H9m9IOBKm ziow%9pV#h*b3FH@KJy=lGykE~XZ}w%e`fbX*6jo|I!?2q*u!+XJb&B_LE0_RUN@r+o`1wMA<#%rF$IFFa? z;%qO6&3$d2Q=IohKQ!fOkH=#!akigZobf#3jOP_+JfAq@`5kHAwa@EC0h{ALWxR_s zzpyy-`AnzdD=N--F>&S>7iYYLBj3AxUwBDz-cL%|+~4Mx=9Ud85BZT^YPtBG@b)ootG<^eXZY4ch(uPx5wua3>@iWfkTT7hY zMx6EAN_`&x?Zg@9bwH2r4&sb=6leRL#2N1_&iJR|jCT=dysJ3lf#Qq@i8CJTDEV%D zeBKEW&kc7w%D#&;zneJsXLp1ruT|V0z zDBcu4NW3omGjYZTi}SshA>yn*)aG&GoZn&Mod4lAA7S&6j{5%??2HnLpm<6U5oxM4NwM^GPIx+I*Hc$2(h` z`E$g_Sl$B18;_0pmbZkL#BuB{pAb^JO+) zZu1p3UupAIHeYS?H8x*s^Do7ZWBciCt@)Z_c{@1YxAO<<5N~hIUl#aRjwbJ%_mlPF zt8l^FAkO$kab7<*i8H=g+y&nv-W9%8obj*4GsCxu^LcQ)IG;avh^K+?6leY}apvz9 zXZ{{>=6@s3{JrAL|5lv&@#4(iXY>8yyk8s;PYypQ&gu z7sMI=UYz5(C|(kNNu2S^;+(H5;+(Im;+(G^#5rHr#F_u2IP5c z-s0RJKH}V8PI1Ov;+&tP;=KPQ6K6cRIJZBAIFIj?;yk`T66buU66buS7Wapz5ibc( z3lEn0N+(_l@$}-%&j1gx>N7v1IOCb%ZY!P-o>`ppkwu*Il~tVaY~q}ckHxuvvWqjG zL!9&FE6(}KDbD%w6X$&866f)mTb##d9&sL@dBxdZKAYzkXa5Dn*?&QC_FqVx{TCKz z|3$>ve^GJvU(Dvk#o2!earR$Qoc)&)XM6tQ%r7m@{4(OqFDuURmlNms%ZqdT6~x(J zMRDd=5@&v8apqSMXMR>R&&f}%6IOn^aIP=?!Grxm4^E-+&zmqukPiJu+FQ1C@ zcuv?7y2h`|mE!{(FcsKUAFgJ;j;dOPu*(;>-^h zXMTh@^CQKX-&>r=dmnMO7bVW)Ia-|gG2%QPV#V2BUvakAPn_-b7iW6|#F;-(ocV*q zng5wM^9PGFK1BQ`e5iOF;5#Y@A#g-6MJ#fx)%`^59Z_rs&D`ivhC=lmXo z$5`=P@I&I9kHg|TAC8DKepEaM{FrzP_;GR0*9n`SwD~D<&gW@y&gXaHoX<1joX@l3 zoX>OOZQ*D+@?S?q#GeMm5byJ-4bxWM{bz7YCb;ss+#W}uv;=KOd7w7r@K%DJ8 z6leZV;>>>}&iu#X%zq-z{GY{{|5Tj$zld}De--EU|0d4ue(`(Yk&{@;hZ;;f%fJUu+WIFHW);@rN1;_SbW_#9lX3X5Nb7lHSe>upi-0581$ z7r%`9#o+_2`g`Fe#KTa(Bz&M1--rH7iSv5uFV6i{TAcAR;*6IS?*lI<&h0NR&iSt( z&hw$7IM0Vl;+)^gHm@Si{;P`fc=|+~^Ic7x{Z|)f|24$fe}FjquW9pI;_Sb+IQy?7 z&i?C)b3W>cv;F$wY_EYh+iNJ!_8N)v_-QOY1>QuQ@0T@&50c}jnfNBen~Sf2w}5|U z)n|Jx#h1cc!3SIM=J3|yJU-fpb9>r~Gu}>|_v`lJzBpbxh;zO=igUg?iL?FA;+(Hf z#W`PH#F^h!ocV#`%nuT0ey}+6L&TZy7H57paprdy=keD=oX20NIFG-c;_R=NIP=5A znIA6B{0MR8M~XAQw>b0rh%-M*ocYn>+#fOGY%f-v?e!IBd;P@OUVobp5a)aj6z6;n z66bt=CeHQ-i!*Eg_vA@2V z&ivUnpCiuk&lP9>JaLYHzBrG^1>(G4FBIqfdXYH$Uo6i1^%8OBFBND0GI8cF7iazo zagKMT_;g&)R*C-zUkx83*W)$fb#Z@QE4~`_zl0C9>aT>a6AwoHui$Z3{3!ZgFV5@j z264{sMsdbBi8H=gd?$R1IOlt-IQRG0;ynMiiSzv5F3$PeVe_5h?0=UykKf(m-2Z#T z+1@we%-<`{{BOmXA1}`Qed5gDFV6e};>9qocZU(nSWlK`4?>dy*S5zQJmwyB+l_)7U%JF zMV!}@tKuBr58^z(u8DIzKid4dILC8Coa0Fl=Xh?4v;AA*Jgshv^LKskz=z5Cdsm#l z3wckxEc`xvxK%$H{DC-sxAP%A3M zigUhy6X)^pOq|EVb8*i93vtfhOYs2s@8TTKEBHv6zt`fd|3;kePyPWPWz}c?Tk!_) zKjEKS@zU_W#5q5Ii*tSq@Avf?cZl=%)x5;{`YMSy=g-^bKH{7|r#R=&CC>RvD$e;! zCeHli;>=GW&is_(%>T&dsl>Uxsl|ExrxEAzpH`ghr4wgb&ivfs%+Djv{Ji4K&nM37 zSAKD}S3sQSM?rDs7ZPWFVR7ac5odl;apo7Zd2w;hUkP!}UrBM!Unz0+?=Q~&ON+Dr zGUDvNtj)`bv;Xqq?7xCI`>!a@_9}@pzp^;Bn&Ql_CC>cX;>@oj&iuOK%&#ZT{QBaIHxTFcHx%dgHxlReHx_4p6LID@6=!}k zappG{=lENQbNnsE*?uc=j=!}y^V^6szpXg)+le#3y*Tqbh%>*VIP*J+GrzMqug{;_ zyo=4digWt|#o2$5IQtJ4Xa6DM?B6ZU{BGjR?=H^#9^%Xo73cVS+Ps&|!^GKMxH$KB zggEziq&T;?w>bOjBhGk~IOEacjK_#G9xKjxUvb9!i8J0`oY#{9;)ij+9VlJ`|G{?< ze6&0-d?ud68?XPxGobzu_!z5x3;0lRmk(b5!^c|js(AhyCeG)9;o_Xn5#o%G6lZ*t z_+a?w;@tkx;@n?j#F;-IOl7;IP)inGk>Bu^S=;h{v>f;&nJuX{x(IN_qVCy z>~EUQr;D@y8RG1Jra1ebCC>h5i?jbZ;_QE}IQyR`&iR}#&iDdxj%T4b$FoSB<5?`u z<8O)hO88Ro&G2RLadP}E7e9^o3UR)lx)MI#s?YaRSBZZEUk#sN#rgXVYs7hctrh3? zd@0WOI&sFo59wocSljnSWB8`KQF0e_EXR--+}2?u^-N@KoYs;HlwLt#}=H8gU*EX~nrc>BJdN zFV5p3gLpl7Msdb7iF5uki?jVK;+(In;+(H+;@n>!i*tWv7w7)UAq#Mxg( zapqSNXMSaI=2sDCepPYquTR8Vz^jRK{;R`h%KoY$&ixf2&iXasvt)nOvUzRzY%5+G z_3Mapf7BJ{eAW|ZyuLU;4{sn|2i{Pe`>T;Sx4*GC+ixPy{nb>Q`>UBa+iPy~7UG=G zmg0O~Z6)3a-Wonf=Ch4>OT^oX^LTFupKI0U{%J4H`R)LpXT<~H9mP3coy57loy8gd zRGjfH;*H^5#ku`~;ynI>#CiM$i}Uyk5$F87#o1mramKrgb38r7xqm{%xqo_!bN+jY z^ZFAe-WeVapD*(tAY-bbAKHwwPcikF8+i*tTs#JN4O;*9qd=X~@N z=k=$*IO7AvIsXI2Isb#iIsc!DbAAWge26&5H&mSS9VgED9wyHAhKn<=Fb&p{ycH!&ll(MvOt{2 z%R+G;FN?(4-(qp*FA-<{QgP-l6KDQ%o39Y(_*aT^{Hw${{?+2_e~mc%Un|c3zZ7Tx z>umm&IQw5O&i*%uv;U3aY;Th|^EZq0c-|t;{H@{~|JULi|2A=sf4eyQ+ab>5X{R_} zAMO%o`@6+Co;~7h?;D%%73cPRE6(|d7w7iu6KDJT#d%sC5a;K=2jNTQ{5>Sj@4h)K z&hOAV0$*m;=jXpi#ra)6$KcDYI6wbAF3$7wggCe7q&VZJ#2G&=UIYG}IOqF}&CiN+ zzR!tsf1VfT{=6X0`Tt&=^LJ64_wP&M9M5I=3Yotv;;esFoS*;x0AFd`a=ocX_sb3DJ<{F%+4i!=X)IQRcc@s04`#plCc z!B@-ve=WWP@i*dI;D5l^SoOEV--`bT{}aB}it~BrFLCbQzr{HphVy-W#vS73=l|l@ z5lgHA@pV^H0RNebvOdzp9IKf7K9YdjaCiuPM&_TH?&F zEza@R5$E{pigWz+#Mxhcn>P?={|&|2e{JXDaZ{#2JqgXFOV*@fdN&W5pToE6#X7amM?LGd@6^@qyxu4-#kmGjYZTi!(k%objRJ zjK_&HK1`hP;o^*s5NCX(IOC(ld3=5@-Uipp(c*jIW8mxMdOuct41Ql>ocKA^9}nMP z)lY-pcbFia1i#NP5x&ui_d@?)I9tARexKtc@zn6i;yK|{#QFV_Q^m`}r-?H@U7XjK z8R9&jW;)xw>wheKmN=i!XN$A_IpX~OzqvM_C;lno^Tl)Gey5(%@=chJ%BVZUs=o!^ z9m@qQ-v+;f@AAKbZxo*g-z>ftzEzy> z4{a0Q1>YflRXi=0+1@V1cU$AVD9-pSum|xyR{WayXe{RkdlCP}igP?3XZ}zSkN93I z&hNtYIKS)M3w{vs{Z^d&l|@0`z5CvASp=BI7`oz2hK{H)E-Idi`2Z!P+}ARZ6DD1JrUvp+5)e#9F8J;XiE z_$u%N;zzAGpGU5V^Lh5V_@9V-ocZ5cehm5Ru$&ttp#E{Iy-VV(KgaSDh<}b{*1v`N zC$0MY{rWrNJYMhF{DJt-h9P6^9{$;B^uTLK5{vQN<5x-)^SHu0p3!n{; zv;A8jH{#c<`fV{@kMsIqSpFm8$&q^wtMa;P;csF<@Wbu%IIlnXEWd?#CwNJaAN6lr z^-CblFK0?LwI_t{vqUhoc;5j+ZgeT68E?# z-W2i7R@@Kc@i_PYb3zw=v!3vur-s<_m1T*yhV@zS8DvY`)Is8*IMW=3m=}rRyQ9XVq^H z?~Y|&&se_$d;^BS=lvJ(j@EcaVx7l%|KRt9{f>AiD_#)odz`Ormx0$9bZ0Bh@xKx0 z^Tr?IjK39U{7-Sl{}N~1NZR>b`@_(`$2qu_{Nf8gS>hDH>9_MFcF3W=v=e2_EGadrp3}0xu8-5DTdkBA$ zaopBlrml(gUie?u_+$;=Ezb2^e80X4)_9vyAM@|A;!_^fbC@l7;Tsv4o87FF z*=%7g*5EHzp^lfa(~LI5vNyi#9-q&dSx)?2Jd7VtDi|@oa|2^C+rj4xSdUM^%yxKB zbC}~v9N~YB&9g0u0;H@=I4^#r{%?H#%l7e3xYHqUo2^Dp>%*041n^KUqN;hWG|ljpd% zIrE9{ZzRDtXmJha!N-g`&8W+~A|*AqGzGrJfLEStX79XKB=(-fyly0Jmk++VnC&Od z>Q`9y!FPdiZ~kRweR#c>*+OELF8{M-j_pHh65C81x%TpY%|F|`Ywm?c7?lscr|`pV z@-?hyixT_gG4E}@7wKdEbx_<3P{)ODR$~i%kJ7VeIi4iuOzLQL*~fg38c!K$!E^8M zHrq)&w%J}HUC~tg72LD?>b5F4ZWUd5`3HQ`(>U-o?iG)mzQ-!#ba#P zBj$FszM)M``=QKbF4r%e2W4J!d0H9X%lUNXF!q%x zgtD-?>?&InC7;arY*4~nSFUU+l>UI9j+HUjwJ2K-WqD8mR5aJEDa$97DxfO(#9a5X zY;}}1Kme!-aL+AQ8)Y3(7t}M?jV|8+WkbMM<&DjCqxLpM$>*fzpoO`v;kT_&wgzoL zTXS95KAzznKu6FCtapBbPl>AGlcDPPG^hqX0SdsUJ~i>lPAz>ym6*;ymh8`{N>ExFkBfOUam|IZ&zlA)0N$k z)Rn`L+~w;?>8kBW<*MUIoZ4D*I-9+*APcZ*HDMQYnY>qYq+DFYlNeQYm}p=>vKnK*Jwvw z7yka6YpkQ8Yn-F8YrLbWYl5S>Yoep2>kCI~*Ca<<*JMX~*Az!b*HlMm*EB~L*K|jq zYlb7(HPhjC&2n^i&35#1&2xmi<~t%?3mko13mws}MUH;1#f|~4C5}O^rH;X_WsYI4 z<&F`q6^>D^m5$M_RgST))sFG5HI9j{wT^qPDb5G3sm`BV)0|ITvz^aebDS?+bDh7t z7CDWiE1h0RS2?|tu5mh(u5~6&`lXY{VG^TY3YOkR^^fAe=Xvz|KK|)wA0yBH>Soz= zf1Fvy?T|?y#U)?M#ABZ!{FAl_;<*@^Jn;r3@2U$9e$_E#lzR@h5#<7D5 zrn?SRzsh*09Q_Z;T!!N+)WxVl+3Iud7= zqmRU!<&GnKd(FrA^GKXoHa^PIX>>XoZ~BCze0#;m*nhOTS-v_NXOUedt+;lw7EFT|_H_OZ?jGK%HoTzS=;V0tEa?Xi( zv;6J^KR&?tPgFO{d?(|~vct)Ev%FxII5kf3PhR^NeNI(3%U@2#nPrL7@n#uvnjcmB z7%NX#H_Jlbv2+>%-^H2!=XddDS>p`fF7z=ro{2NdVP{!7jmc-@O+R!NA0r^1^;~tc zTxFI{W81kn)0>`W=`=n)A8-0yvveBI&->xUh>ubCdzMb4>-SwvU-SK9vvgccFv~Er zbQ+^B`aNX*-^`NU)%5b07Mo?%r3ACwcggQ3)^lF&YL?y2(rLt9UTpepv!o}OUhsU*eu)JjDO4ZlW*})ZTlFvZdEtS znzs`Y-7KAk&z-J+F}}bookskf#inPx%hG8SznftCEwgkQf8Z!^p#Ev>T?gX#?^QRw z^Zhup9CJV3EPWrabQhcvU?Dg%qA!Xl zcOaL;!viB&hPaKe$cXNtF|k}iTjoNP8-0hlLmIoIqXWCUjhF$w-%IbnnBX3s2wU|m z2ZcriMh);-xF^* z;Zl@4x_4wmwA<(#7#7RGK-4n2g#~suVgSOiVKFUZqCz9Ovn|6MmC++Gx`)v(G$f{n z5$2BQjv_W9v`?(Nen``xo<^woFNZ=)jBqJ1CML>U(;HLh4yh4Cu?CwckysHF78u;i z2o8&kcDD+Q?q$SaGa_SS%;gYwSl|G2DKsL+9fdI)A=qi5VMc6Jm=O~bW`xGL!#U78 zQIX+BOk^*2gb|Gy!oD*?Vx!ERXzn6+RP;NEz@B3TcmH5_Z*vLz3bk-Rga={oMs&ks zboWT?LL)rV!2F|(jWnWydz+(+jtLC!jcy`BFiS1meXKkq!rd<*wp%xMl;Mtwii~0# zH8IyQQL(`>&{)qj#6+1>WAqCQjX?{of}@QX&@(bL!W~jSB-+4164@_tF*YIy2V*ZD zCg#`>4UffSzSoGznt{PR+#%=+2V%4l{13zQ^nMqyYJ{Rz(0~|sG&Zn%w1NE?HK18w zRA4y9f$EV_INX@ynKQKc59@(r9Wf&^$}G%{#h|gbwfDq^LlXy<*hI7uJs|r1JiI>^ zc#0U^BBR1tSSKS67VM{YCz_=pp*V?RaGb^%Jg9igH|^Ff8rs7h+Pw!OJc4mNg}NhR zjF_mvh-h;u%8l)ejxl=mH8+ymXKoh$f`b*R9}(j2pEw)1Uf?J7nL=ZBq)i_%dVIfB zqh_tk^eU)%wZpFSX(zWd;+rn>TH^EgudmNc7|~$n)jB~VcQ?G8v~J@e5y?6=T7UIK znq56(J~~wR&sO;!W~)BG@av|T(?q@UUAZRw$g7xodxLuHX;bn>AH%yxWVqWI6&n%Z zj`Hpo8PzL!aCDErsNTh*LwY4`;SLPrx!`OT8x$5A{86Kt^&8hTx2kw>bczy&!}(FV zbUAY5FXmTjZ|xN2PqoW9qEbwXjAd6Atn^Efl4nzo2@M$DZu!E;V@e{`)7U>#d-zqG zp7Z%OXW!Qe^P|U(bDSIdOX`zp9!=?YH}i^#_lEyaE0eQ@Ih~o=dDGtR#1pDc;#CE0 zrFuV%xMgu`{a)U?vu{>xp5M3pu=iBjddHWZuQN01dHk&OkH1Qn>dv7@r_!>WX1Mev zHv6v@e)HQE<>?mH`YcF&!A_0ZeHx8_N`;laRP9UHn=-kc+`g{YWNoFoHU z#s&xDZ2xd;!^-%%r~bI@lhHF{PaiIRWmEf%ThjKJbYjcyyUv#@wg&ip;UAT(rRTz! zhV8zye-3Qe@L?1DRT~hWV)qs*UA}y1^U7WUX_x)_?ZjuNFE0$uQvV+< z)CuG{Kj2>to${;jaM+x;_1e_@e8H##R}XIKf1q2HHNBhF$sd0Filgh`qh~Yyqn#S& zrOMvS@JxOO&i>wYRJU(eo*mM<+RX~(3zxg%*QoZLZc&4ty>5N(axsU?x?!Yeb8SLH z+>zFbf3`Ke^KiFc+v^usUCT8oVDG(%sImj1F9*I@)hTk)ic3Lt5A3}Wf3Htgwqd2W z#AUCkdDV>mS4(UBa-=(Sc3Ro3RgPu|optN$ZDkMkaDkm=dAk)wv) zo>?ya;#VcM&q`$ug%2>EXC(Wqj!N%WVVW~_RLNXb1LAYFFTN?+a%YK>tKz;}x%JwP zX5VdoUFu0ny?2=n>WY6hII8Wa5Wh{v{R5{~?JV42!`qUlChcqF?N##Hfva(Mt1kJY zaX`Y^Y}vS%TjKE}G}!$=HnrOCyDqyM9&Az2ohH{$DKGu`^~-&mkF+XOX2;H|sXK2- z((G&s^YW!_Sod)}a{Oyx&-`9yZSeYHryplcT=qvJuNQ@k&O>`8PgVbL!kTM$&a5u{ zbX67(Oj~QtTe-cV&ujP%Ss#6F-P5SwyFA?Jesm~fz~qwC&TguwFCPk*>KA>Q}v$1i;HjgXetOiq z#5JIvJ1{CH01x39;y;?&J^HX;tH;R}%#6O!Jm_cdBYW@V zcyw@G=95P@{+R!1ok`SJNyJDgu@ggP4Jh)mWK1;t}Yj1Sgn1y~7vdk=-arD@> zfjdVuN_BJ7g>-ilDkWL9qx88vSAMIJCUsu(uKzzZ@xZV3+_QJ`G<(|K^)}+$3!78F zS-;AAQ{TS5&kSC)>9bwemX$FFV{P95(9+l)>Raa&#cCUBJ zfaD84b+*836?YU4f)=gJYlJ(>Hbr9(jy>U5Z(7qlts3R}xpLmoi%$$HF=y@l=N)$x z*dA5!YLf6LtqSZ*%uj6VU-{!w_$}G}+4>UqI>)6;ND@7Aa=SF`Go{F}$}jkbJ^oo1 zrSz&iFy*@kyc$hgCBe%oR||KTJ22XvD#9Iu*DDbrfl(p;#Y>hb-lTS`mX;T7gQs}B z5USc2k>WL?qwx|WY(Nb>$A<=Cqj-N$=Q%OPH5}J&T&Hm%sa13%U4w&Z19rb_Fk1QZaAFv)!j95ujfzR z@OD+-ooTz~Iko9z^{csy9_z7ScqYCS;VU+OJhF%P#+^T^m}gb#;-yLzFIlWiaex0( zWy=>YRlZ2svVkFGEBJ?$ELASBLYa!e{y~8u!9i|!`EDUWfn`dUDHmME9aN@N5MFdd zbdTlh@S1sy=*ZZpV0SUT_$U?}8H<+=r7IZNwY_6wiuDS`Yx-IP@B%lKuipnW3XQ-E zvPPjne4%7S;$bK}bYSAE%c#UzH+tg*4PVa~H6jMo>>X?18K2Mc??zn~6ON&l3#?e7 zOsO)Z%atx06yo+T?JncVLBXfu;EtLgG;0HBi2IX}lEfhF6S6 zs}?nC)-KwjcB9%gTGlSg{oATWlUg-e)Y4`DE+th z#Q#4drT;Th=0784|1(nVKO)!&i5PRT)x;YvkrBm1!om#0@wV~eEk-w~x$*E?yl!M<_b_*H^RgHe+s#UtHEhQs{HJ>3#EH($GkDLbKQrKN8Sino zenmnPcfT0CbdT&7Q@la+yB<;{owmz}Pi{PU>NR7O`$+AjwaWgS^3(`U=%<1RroB&>43PkPoK^i)iI$Z zUUcAywrY((`q4D})j(s&nmfm4H?7uaROV!*UXQFbqve2TywERRqc`6gh{5xxRsS1n zn0aencaJSnGhk=usi)(oElh6JugUv@`FbR}I1+c&;MUW5*8CaQ^oyV)(K!9|8?TW=gKeEv%-*=Pvs0=% zlNyfsb!Wna=^w~#+1nkA*NS+bE5w#u_@!;@&0WEszLoSYy14 z7lsXmMq_WjI|@8I^YYd;Pn(5}Y_xh`ri1-A-Awx7{C{q2i9DBE+%qaP`f^>xU3=R0 zt@7cV+I`V|0IuF4HKGSZcs6>UwRaXj9(iS6{=LBHs7T(7HbfiM&5%q@o-plXK`^mO>@&Q{~)!(sxK*f01QX8BSEbHn~bzoyBLHHc7qf_g_EM zP-JA7eeBtnt{MC4O>o0m?dA*``091UhtfFgmge2s>hp*-<=MU)RlDT4bB#8?jVj?> zxN_ZpB;y@dTVnU`bN2meb-J3v>UUVS@yqI$t;EFr@iSXbz<<6f*{osky@$0{FRk+I z(1X1_J*`It_Iux==h9I1>WrF?*DkI(`apo=UdK$`ZI%CZZhAK1Wa^I}?Kqyg{?-B$ z(tcce$8Vmz#AlD(_0A7tPH)(n_iu78%6rp7~%>yk;QY zxW_}FXU07}PR!>0eciN?jW+b?QSh(w4J&;xIdLXDDcSw^w+^f@wBC~6{;Kx2!^aOl zm{Pkx4hufB**gr_6X9ImKCtHUakY{k|32LaE4zME^Gb_%Z<%Cm;c;uvcE7c<&#%*V z*Z<~frlTZPtj{n)1^Z*dOzJz&@(C6tbYybgtb*0y&?(* zU$0erQoDzhW<~DyTq6FNQY#9N5psF(Bpp1gd z$9qkPi9G(Q@yhg7h8Epkq~Zs&+wudccW1UIb@AkUr?zYjZoKpO#CeC0AD;a_wLY%? z{G8{X&mgC)t*zkilg~TjmBu4aob7tz(P+%^j%^L=VgJ@cH{5n}zm%SNpWp&-6~?9qTSHuC*bgXx)q71UlZ=ZXJOS=kRdE z&rZ-GKIC!-hFiPalRZAJ!Rn;fsx_Fk+&|mhgt!<3k9nv{NiOnINhp;AY&(qo?t77i9 zo0AM}ceufxd2^C)j9WF+YMd48#l-ZshH}=beb4*v`OdFy)EMmuNSL;=+4oYr2|oS9 z+whTLvGSzk$@BSNoxKTsRMpu(erGbw49QF~GuiiqEG&T#AglolggxwwfVd&MvWS2f zm3k+E3|TOV1OgahfDi%%_kBTqTdUQ!TC29!UEA8%TCGd>YJcD7Ip@x~GZXFm|L60` zopa7T&sm@IZ09-WPW#&T()7*+9S^*71McfJ89#CFr0RO)Y>;-S9QO?$91X0S z^TER`H$P)+n+ao?k`LbOV&Xw-n6qyj@&P0 z9hbfG_nG(Eub*@BubZwqIly+*48dk8ql(ugz?7;N>l4xzSKJx>$06&7eN}4$fcXjr zCv3ebd0f_J0B6s-d$wnM)V%taMz*XR{s(_3u&{$c;t`ukf{q!WPv5ZO500-pr{8(i z!w3F$e8Y=OL3yJJT&kU41XL()zcME2fjj(hP3 zxBcnEWz!#7_`CL+s&{5Y=8s@bZ^)h`*Ho;sKG`ty!S3HRzWLn#Es>xRB=uJk^vi!Y zKD4;szvkXQ{Ns%udCnRwF`{AdjHY(~jcabnZ;AjHlA5ga*RrW|e?0H`%8Jq%k8gYL+r~Rj z7!<{jE=c168NNYUymu5|x@pI*)tf8AN*VZu{gs`$<7Pg5{(;md$0n~f>JE`n-lQr! zaeRHjlo2nl&Y9No$7xZU{=Lf3D2*y3CgeA=sjKEVvKGJa`!&Rbt7H}o zTZ&;AKn+*S{8wzs->0_h$a(VOq$eB0fY>Iy?fPK%1hyH#Yc?m|d-^wDO|9Sd@PM)7 z-3GTYS{e>4(WK)qi$_}wr5lRWG0 zyl>C^_`O#Q25qzgZD*aidj77gGyjv%&YvEUJN3SM@99~(>|$C3&<$1B@7%WGhSk?^tSX+e zdBZl4`;8H$EU7(r_nL}96=%{$fBf;z@&VslO2rO?)4nGg@!_RUzFOD#?|FAlT#&fl zHr-HdRm;tdn7$PbM~W93Wh~jTXwNTST|T4cmmghh{dE73?`=ZF6ud86a^2^PAMWYC zf5z$k_ul^1<54TVx0Ds5OU75gWUy&HETv>Y7HjJRS=Q?8J-wc*t%xZ^{b6}{7Aw*(7EpHw$_1D>s~uwom4gWIHjf%cm z|5f~v*qUk8%`ffiK5@`cT|+@4=$rxl@7}K`p6c9O+4kP3w>PZlHAaS^7q8o}YxC+G zB85r=c-PT44qmtKk2Cf!UUfSDrk~z!w00u|ToYdW)|kFM!o&GmGPLSPV$tkT<`nX#CIIgIzCw{pVGm_C!=fu3E;V|3OxF>2IG%tt)z> za^K1aw!Ag)1%olF>I6`j^!u@de)iO$)h#dmv%KfBhi};bzXgV#V}j;p%Z3_tUS99m z_~2z1XWm!&!Nm1>zs`+pC_^oT2_g)#czAPW+gpLk&OdCq=hE|QDgEE+wbD zrR3Qc)~pvVyYAJ7mfL3^JNTLR^px8SH9Zn@Ke&J6BV&hFOnGp_y9f52p7fwB7sjFr_Qa1OqwV&@a zFpM&qRHHBCob5QW$$RYnu@y&dtkb@^@Twt%Q*I#yg-9jFAnyE0@2XQR-ucI(Mr_~n z-s=UX#)R@LK~s#%dOfj!Uy$_8yr$K!oyoiJ>t{`1E2eE*1NIs;QGX)ach^7XtSb7= zH?z8IEir>``Rsi&$d=7vK!(`5^z~SkdhmDGxa}G|=2Q5`mEz-AwuohmSfPj&ir5el8zN$(IA$9qViQDcf{0BO zv8f_9PsHYl*isQ&Dq`1)*tH_IUBtGF*i9mKlZf3WVz>Dm)M~xfEq`VFfQ%oI@m3jc zmGL`e{7xA^FXQKB{C*j~U&bGk@yBHR85w^@#-Eq*=VkooGX8TJe_h63m+`k{{B0Tk zkmD}>LmB_QjQ?K7KaufIWc)K3|IB9>^KHl+O2OMvEH^-sBu1DBAko|ynM|uOONPzR zChf{Qcirl(6`Qy1T3akFHTfz9>yw=hiw(yKv1hhs+vdXW%cSABI;v)|HlAsr_<*6RQ4Z`bmiPNz1~>Wsk$R;yw(i?wP9z4OQ5o!9A%(u(oU zvcguChA*Zf*F;;DN6WS102Hzg2ZqG@voK=ORvbJ_phvzH2dXC9a4NXej$D%|YpKjn zm^9FT!ac}|@Adf4&`9Uw!>}HgX2+36Tt+_EIG|u{c6IXoQE3 zlqKU58!g_tyPsygZ2~gI!p(CmXBc71kPw!EmiG=9h7YT!zgSEC#maJvm|MiWBIf0o zTV!#&eNkvGH7L)6A}m&T%;Th2`~WV_AwV3WfEW>r5iy^L`9v(5W3Ffsixsh0j=7M9 zk>WzOhEvl7SZv~~1Iv*Kv?Y^yU>8)9|3@G;q{RBb4Q z7Eq{!LN5FEQ5d$w;h0t&!gu48Kkg$cv{enlx2T;C%ODEHP-vvBstDhk2I5(4+o@xo zsYAJciJ}jQqSYB9mLX#KB9<>=MIu%tV#7sjILGFWO{w^Ra8lS zoXDKOKduB(Lb`~h`})iEI(tDJEuLP77%D6wZfKsD2FgCL5OZUjNfp?OhEoNTf)&IK zAF9`SaTUNww^N%yD+@jMX=4$x+H6%BTD}v<1P5B3Nx0J&O)9VzsKe zO>;WlTJmY~`qShw5~NvCvn6^Z4NHbYp=^A#m{NgrwmcqRcb>0*kR;g?G)rNTmnXhd zye{=|;zW@+T_jEyiStC_r6TcCk$9y@+`x&p4Pq|0ir7{W+a&;YiP){;-K{=qZ_;g| zy+lyb^cpv%rP0d8vg4_ZGfizGj&qhIU@S4XZY{&=^y2U_V^m!FP)`yroX!GqNv4$m ztY$3n4y2-{Q#d+7EUn^Xl#+@@{2!JU7S!MrOyHpZwxEK`XzWm`E8Q)+!1a1Wy*a6< zmzGzsUW?vAh*n~wrE9CoPD4#OAvIx{4x(jBG+{eqf6>t3^fB?sidBOZ?VU*2mB;HK z8-taY1pH^tQi5@cvRQHH6oj7NXPcw1F8hImM{Wr%fot`=)^ zMp=f~s&erOdhny+wkjZ;Xi)qZMl#nZADnl?-9&N}k2E$xf_$_B-UMqrDudY3<`oZS zanD7|J-@Kr^CjUx<|HrLOe`bQR)t<^nH5MVrDdJPEwO?h;w)@Q{}?T!6l)K-lb)zq z^ds}#>G+5{Ru=BUNYW~-&SZ1|EEY!@R-)%1M`anBWx^HiM0`sg+y;M4cInGa)foVFV<7r1~!@)IFuy0d*orwkc@ zGGz^9GL|^RYk+IEkz!?xC=fvCAxjzH|HQ37HX5g+{hwi-Cek_`VXI=2 z=fcP5jnH@s<>IYnKA~Jb2&)QdgJnLq2wh@z#!}DRS`ob{4@QR(2?b4$BSO(%OCrGt z-Lq0!e{B>&AOc$L)^hCIy;vrgU)1UoEkQ0HNm_A4<9(1iHWiK0wEXHqkSHd{HrqnR zkZi5Yi3aRWg@iH(s6`UWKyY_ReWiqHu4v{DK}KC2a045hm;@)cqn8MF#2zRHQ^dsv`ONX%!i!-=`u2 z^`}&%Kz~6+2I;?4ksSRURcWsNv5F+?U#Liu{x20t_V-hf6n~tEU=e7!{vyyzNK!yv zA}qAV4PFVsT}-D-5DuEo@&P>a_bG%7ppeN%C579)nKN-=0xP9aAhIc5y4}curK5pf zx>on6nxMs;y`LI6gcKEC{IZe7@gOGn97YO;%0qA%Nc7ZZ%W@Nw2y;FJngU;;8$m-_ zPK5uVkBpYa(9*G`7NM{r{bhH5Ez=622WrX?t36uFv);myK~{Tz5dlw1kfRgg?U7|v z0X>W+((>>$st7$`Cc~rRnM!rVja#Q#ZT@%MJ}ur3F>MTuz1=#Qm%2||=CIkUyT@ob z(V+g;T_w?cC51(c^-am59{aySBSA#CT}9NcbZR8pHTOp7KK@#-Lok`8R@_H1*9L|( zh{zx)(KM?)4WoPuN2XZqDWFjzGSr63z;k`X|5(L?XsfO8_W+}&5gW<`S-bw4sOzs; zlNC9 z=-C1HKah_+A9y?u;c>%53io^@V4-p-=8<0*uErPg_~c7rlik8*$wlCdB|%kUz!E+XWkv|Oza%<2ENrmJv~3@NIVJTPV6N zEuG$GTWuuDSIq*ca#yc5T06mN^N7O3LR@5d@NF4|xS)ZuwX@JlUv(7*(P6b&w0No{ zfhy@MltOQ_LfC9(LRZO9 zI)y?|tR{!6@YECl#TchR^<0`Kh(sI>!5UFTsZqsb!UoRIp%A=)!A#{~&ovu6d9XQ)(U-iA+yxo{gyDhY?l0D64o` zRgqWonxleo=i{V-XywN7a;_Xa+>jk;O+fZEk3sX~H%|8utl}EUg9K)C(9X zgV9J#n@q^O*K0It8etlj#Hk{HFgn^|?2uu4x2@!?hx2aqP2bR&ExGr#LQ5t zl(*N-S23=uZ6+%cvNiP^BG1CblA5?;G?`y^c@-+L1 zd>GS_D~U!wOvgvYbTGTf-$kS%X%DnfO>f$}2BSNAh8)+g+0MRk@89LP3K=3{pGAx- zF*Ex<=P;rYquGkivb+r8Qc@SKeEAqeAx`5*1b@ifNAd<3+P*v<^s;>gY9*|# zUx}CrCI$N@fE2_LwE^p5YO`-5NC8XyhD^4vf&o4IW+_sTy>GFsVyU@`%VZT-nXA}@ zDtuH$rZ!GgaUH6NHxsmdH^?e>t15E$`8jdoz8Y0U;=Vdgbnm-e;ZyFuBQobPbIwkg z^R&4!_nbpf`~C{Mgjbv30Dl-mm3sF5y+3WV0F`9hGWY$50ll?0RYiVn zf5&aeo?9CmxttQkavBPAnsphG;BmM!(K?%!7}9b@8Z?k(>m<4ClC6tmsK~mAAXZSm z!4yKiT#*llJcAyJ$i4(oW)~trdGUuXTyc=cRmrAf!YHLI$yeaM7Z6j6*+zF^H)xGiU(j)CH?2 zC@qT`ERn_pqx{wzj50rfC~TH>!=fxka8U!OWChFXP({OJ8h#r>if$&NR(q{6R^y4Q za64Jn8G``-C8$xcw~1%~+mh2^?ywnR5xL zJea1W^1NVLW-!FOjv+WLe;9GSEBDZqjeGX~8Fabya)@xFioy9xNirWt!rW*IjV{Jx z5=9}h+qI=KjmT+S?Vl$xbFBSZ5b@f7p#8XfG4PvyF`DP%Oyq~5h?F~fz*az{e7c!z zGqF~xGGiW-@*KjWA*3o}jrSq%rv{Qh9hE_7!2NDD4>|jN4!w@BV}Eia*;i7OBImh+ zoP%_y3L;)=HaDaT!^1e*L76Sdex4xvklKd|nf@|j9s}tum`Ao?9)bbfb_=yXfdt?n-@yg; zPjTqI7!uchGGZvJMHnS#vZwSk*wf0 zVg>teG)66q#4B>nZDRJoAaIeHruSuE zQG7%31EtBZvg0LzfEh|8Q_%NGuCPI?-2W4UD;PEy+(RrWdq3>o8C*ee3gazgo8Vi; z6%<4{d~k$y2Rf7FErLH35Pw*|XEKIid+nzrw_j=S0%i?khz*oVCgIQ~m0&eb1b?v1 zC_zD^6F~XFJ(x+~)DS?)b>K!%{u70<#q$r!I>r zes-N8?qzjD6p>A+E8!wtb)!ubzfKVMiFH#{&cwQzoYP%5SLH0IyOa|r*R4=Flk2YJ z#JIXOD(AqujSga&xpiA2DT@*)lda37pqMU1M$nE@>+Dj(>AG7C@rFe~7cE+*39&>8 zu+~YBqqS}}LDmHvG!rp(jmGNb0Sa5aYC)zG*9;M@MBR58b+Z_yL?(uu7$FqVCC|RP z`;0}Pgd(*F6q*~_;Ap80#%YyxKQ^>MCC(_+gh~!W;X2X~3t@L8W77U_NfMc3VA@z| zQL1|v+ZQmt*9l)cU!71A66^jbFo<>Vx-a2OQE45K5n>t4s{04yO?iY|IyS@+oV1&>Q*3#5vvXWe%hT+4&6ZsuU)3hLLn(Fge-A<_=Y)lgiG9eQoN+P=* zmoz0}(Aip7Uv3O~7RjF}WD%((i^xEtqsCAh);cKO^^1+6PQjJ-A}>HOz}skmGf)Ty zSg(7lAFs*!^QP~6IB zC=(OXP_8B-jSH1L2l ziya0nho)00~Avt16kT;4Q4HKc-Q~zbZG|P5WO8IKDB(oHI-2%u_it8;5b?gvQ}2 zXME#mPK;@sAaYV8QyZs+H@k60c(WVlF`%b$u|o6g#>+Xetno@!MMC3RPINVHQjHnh zDE2MN8+WOksg1XAPH&^Gawa#{^BT--6u#=2jY0#P(AcRU;~TpfGN$poxf>6m8zG8d z<0I%sh$7f{kpVr8KNQ^%{r?#NVY6~zryWWGbn(WQ0SF9I)7JQg1bj>Nzo7AVoH)7h zW7W3g#y@dlT;rFjSHm0s&50F_->RG$2W*^}aG<~HMcRRQXlgN};w2GvhJEfpA~ZEv zrh|>iJdnYF-UGR&#vBlq*U1NlsVb5Wj1rAGFwR`XR8)~cRSeYTiYlg|3Ye5kRaD9< z7OH_tJ8&5QlL#z;B4LlJNx@WI9t{MfepR` zx&vNRVy8a-z#fvl;M!eRQ zGGC%d6S^irK-U~8b|BYV;S--uX+Hq5v_??~u&DwTnr*VsXF*PsbXp(`pK}RfG}Qr! zbn8lj9cP8(#%xO4Y}E!^6DhRR3jg9^6k2H2Mp#EszO^hU>93Kxd*DIPYJ5x$6jw{| zBD94=v8GTorKM^~ly;rW7ei?*78|;3ENIwOv7}SS(h&d&;U);))pwDC4Ds0u%s0g6 zcoLrnXoCo1B}33#Kq%pQ2-(|V?1gU|*(4II%cNkDLW0G2NOuQ*;qVW}6!t&xh9P5s zv$)`^3^74zwPDfd;9H=aIWv>)Fte-Dh}l*ORn@CuPQ0S;TnCpDrim*(fN4KV^DHv5 z9>CfuM_C%>262>I&zaLn$WclIM+Z`K!9Ov+^fs5GEbViYi(-9NMMHSD{u*gJw+}QB zVGIenJT_xPL)@Nm!8B&+%GApv!lvFCB!es_{?CZO5K8CgAy5Wm)@8WkEMRjTTymJE zGmGlwPEMr|_m3gCYmve^eVRk_-M-O~FXCu?;Hct)>uqF+8;@$uZQ=`=dm=; zVBk(5Dj<+kgr#C$-Y}M7Q=FEgS)j{mDiH!*6K!0E zNCr)`aTy{RG|7$2Cey}cL6g|HoZMvExJ+&m8<%lS=8elH+PDnSF`8)OGDOE{k{g#z zrj5&jCb4ljxyiI~ncO5cF5{X^8<*~;BRon4O(&U|PHyTlNeE5nI5Dp29wn|6G(G58 zj={@qdMuK`!c<4hDum@_3Z@2uI^8;5GP*3m1}9Tmg-nCtW*+&IHId@zqV*ZZZ{mpG zu$~i3dJc1$4C@*max>EjvFJ3t=~#`{x|-fKc!?t2Oy`*zGf`1dCSEE!l*k6=RdOFi zzYWi_c|?Mn{%N#3j68DTOehsm97#l$i;T1e(Ke2+Io=?BeUT-mq~I-*Q}DJK#-2DV zTFKF6(#Op3;mFr2n}-|PmogKnwcS@}WKcKbxB2sEK~LUOh!*O4Qw-Mgh^59#46aFD zz}i@;sx>dIpk=wKd4*Vx%~!Zn5WlP?8O!l<{~sXFCOvsUEK1hZnm3N1MLA4*Ah2G> zT#$FMczN;zN*B+H%m<1tT@yHDtYEpcA!f<9tORp;Sl^*bJG;3Ccnx!%Sm|6_k&0R8Qw>f7oC%T&NQ#pqW z1RxERuO&?wLt64tK!|eNQiuXVl-m}eb9!1vssgfGCUU7|EtA!#B(zN9L|4mfHGY{b zOE_^t%QBTSzGW3B#N)7x^BYD{KJwX9;V zxr%yOMU!ewLCaB2oZND!%9-49f)nFfx>e4>E%$O_dCUDOXKIV^@9?%fWp4KKXf|v= zK~2-s@)I=M%ug~~Ug6TbEz-Y(@FlI~Jpd*Xp!6v5w0rca#7SR+XSvT#(Xpmq=5OlrP;gkklP-%Pdq7;ygT%pgQlz6dc8KSXe z3r1E>+TIk&`a+ymsC|GPDqt_8_VMl|+LtZb2UxhT2z~C34d5ZXXU5uD3~gF)$VVae zp!NzkMfk78(MBfo!#LuH9Llw>CPfcSfE7Ze=tWZjtOj~XMdO{&Xexlyl-lMYCd+=b zE^={U798mm6N_$KLGF>Lh_^^R)T-~;6TM@v(C1?Ar~?mXw#w8wOebSL$8Xu9%{sXUqnavc`HJGirXz%${X`*1xzdtOIeBGqZld zQRSASGV_Kk50pw%<#FYG=yP}c#y|uXCX}AWqr?uO+ymCwcraM&QlW{oG;WjGYAI`@;RUSY5mbZDif1HKEBHe!U*N9ylOgDrYuA8@HRY>jHsvTb? z=%^61E<%2w9xH^Z0InOYFgpaPG^MsFg;2>>YV%lC&YQEC>i9wC6FC9;5afZiHKg~#kjK7$QBH`>r z?#}juuNdC#yyTgz02if52-Yb>{DQOa10+Ol_3#U`dY5tVBca|M{1Zf)5cTfh=MZVk z>^S4#UzuZh4*pAV)q++!7>Ez@wmKA7O>T8_VjM142{OFwR$;0wYt2$Q6I$~*r>k|a zIj1nymbH#H=PZ*s%as(7+Bzp(5^J3sE{U}YQOeW0LNzjHZEXo3($<6FL)vvg2vAG*>Q&oJ#?aaI-L*0Ld1rEwKyWc=jza48&OSE>?X*UZzx34-`QW2ulDHZif^CH`NwBRj zS}P$lAv@f{&DKFINqF4~TSY0cA3zY>i97VQFjyRt2PO`E!|X?Y{BR2RPtp>>esYl2 ze%NW4Dqx%Nih~hmW|Do_3xa{u{D;$po_x3f6fi`!KRgf=(5#wf94=;J<2gJ^k)^`J zOuO^(olrjo95iPU&Xt&<9V0JJ?k2WShSm5qi{>`y1LKg39Ocp3YM6d%3} zypO%*l;9mAoEFehIJ_QZmeK|RXJsic1Wn1i!gqLwfu*padqKb;MrDu~WnhruRD&aM zhie1^q1d2X01G7f@(5f!O4Mr(!GGGKzc?2|Jx*Ge4j*Bkk4=Z$g>~uh2{)Y~TzvRl z%$5G5y#rugT1Nf=m+STPq@eyRyMjD^M$DxCA^_}%dktq0?Dxy5RN@5t04O0sxdgB{ z!BKv&#GxK+u~H8f_MtwyNMmKcYxyXqD)AN$4&*<;`B;}=V--ID#@0O-T_KV|3T%eR zyof?(q{}?~D@MBL!yibb`(p&s{V4+JzLrS$4->y`iwbA-ZT-R-eVaIa>}m5VY|U;< z=hDjBG8Gd|Xv^b7SKA;H6KxyGiIdt&RnDZg37i<)c8SVa&^DVBC%09qoXKsAI5Dp6 zQk65e?P^Y(*mjM|nb@|G6WwiFL{1h++IFLZAzlG(Rp?-dS3sN2fS$H}=8FgOifF1rdZ>8X{){TjM!d{6VKVZz z{aaO$e#FkDjX&a4Rrrp?a$@w6cr`WYM>1v3Y;(>6nRAG0O!|>h7>satO3;YsJu(Ic zBQvGUIx>j?eMhF6EKNt|MgY!_09+;kFEazKjR0I90k}m1-k?lWgOA+GiRDLrpgNU$ zWG^RrkJPE|k3Mpc6K5Pbq;h5-xswxAGya~$K z*+(8=!1yDNs$OIq`5yqL5MZ7*O#uD~fRKDlfG2)9ZxA;A3<4mzf?drg9#!)Xy_foUu$ui&3c$5xZO*QLinkfBfwrW=9(ZK*r(8?XK zE={EV#2+mJAf&(`V9rrNL=ujURn1B`I)$5)aI}(t%H zJ$gElk;4E&qWwr>D=M|1BP(u20i^(NRpKG*6i`AXw5I11qqJBJEr@*z`5do3NYDz4hGkY!u84IvHvKB6BaX6w zr`~duRV=paa*w_<%4TCWMJgk(G8^-~0m{b*>rh%SIkUP|fTJuIP9~9hD2aq@dF2<} zdQ}Gx6Fax?TehjQEqVfhfnv}BSejvy$$8YE^T{YTSHW^otQ)F|*v*Bb+@KIG!GATW z3C9|+xX?zaCa`swXOTlnG3N0vBgL5Cvi_?SV}7enB`LL;L+Y(6MJeAL8cQXs5Kj@e zAS}dc3=bcNcy{;-2A&wcc!4d$>RJXaWg5|JQ0#ay6Wk9jh2QcRvbCPg-=QhJ6f_t~v(Y>FhO!kIZ!)zQe%pd)NW_tNJQ<-Xu3K?4f<}Hf+;Kl?_6-$>hm1b-y^wXvVw=E2pk$xI3q?40`B_v^$Stuu1 zUU?8!g(e5nRL`*?BIgWKD4o=By_%deOrcEUdU?)_dieq+IcJzc`08JLnyg0txqI}} zSV?;hx6(NSy%}9BBU{io+SOol5pGVBn-_dO8%}G|8I3*C_?jg?qQ?d%<=4g=AAF7* zZ+U|xTDydb!o#6WCR5WC+BDIBUZN#fW+lL$K4FNg*fOg`i{muBPJr->Q+{ljYEKu& zj`nO8Wqs}WY?->e{V^Cj5-z?6cx;T&xjB3LaKoIz98j4gIK(CiHY+gO3b7uvPl6hP z>z3Qa0lvxYvz4xr+`fQC;<)yuN~=k47YF#pw_mMt`r5@A?dbOFlvb14z6)w|h?_|J zZm7*>4Kt(t2V8}xy~d$bQuRB({nzYTmfQYLq$m#zB>|M!tPsqF za806Zh?uQ}Yvm!3Eks)|3-|@B&~@oIDv$89jpD|0xrOO7g`hoed)Qg4~XaFmgWWel#9(^!;Xl5052EhpjN zc)rmgW_XG}b12M*S#fISqFi{S)sdVMeaD06`4pGyi$AF}#h;jCputGx+y-B{<4^EpYDJqiNAxseyJ52V>#13K4ba$BSnb{q} zo>|smvS%iA2z#ch!(`7K+#&3ltK_RO@7-LT++lLYTl@^n%8{48D%vDT9!^ z<8xjy`5oA|Jp;_m?dW6Q7ScG;ZBng*JF}_601{#-!C4`q<*>>pi_<$LWT0X517LA4 z1(gB{o-T|S-~+j0FLxS+CJ`(`c_IW~uyo-IhJ4C3y3|^scj$gl%e#D_mcUx+45qeg z-DE0Y(}OZ87zchxzk{b2Yw$6o!G|6Ai6zCK4IN%$ConFgn9K}5GB~hnS1jrGoR6KY zp$vv8`F9O==x<^`W9}+8xCqk>#YLEHu!hDwfwj%Bx9ozXn2J)_`?3wNf~DAtvJG%% z#gJGvRZ%8!tks0UvVPC{^H7rLxr+w7(vK6rx-0auB*mqa2CCAyFJpsSy{zUbeOKw2 zN*m@jD#t3;9l4<#;(V+QjwJNt<^{Kek7MM0cim~y1m#^9ipBM%v>7@o9ArqRVaabRM*UN@dq&%dQnxX`Km1ZzfrQ(=( zhYf|rd_U@z;NG!fy(*uf9^nulvEzI&9BX{PMGpFv%7o56tFcYQt&SBy*1-{9+ zv(#{4Vs@^!I1me?uSg}d`1)r-8&$Hmpfoli%~+CXojwxGp{f)e| zsE}dqFzznS(JD`r7~A)_6GJNDhH=6y7As#wUhBr)#W_Ien>#bG`bI6r(&9zNA~37Y z#_cvI7U9l&2)-x8K929iWsEz%6IY7m#8*0;ST~r?j!cqne=N!Jnldk<^b@qp1JU(F zl~@`lZc*r$a6(|X>qM<-X`CPo578=55Qdw@oQx9^!%vtnJo|*e@Ujyo3{N;AFx+** zgy92DJT9(v7^|AyR_6=rD$OIiqztZDfSFew=ty z+<0?>&POp@WZtcqCM$4ZcpQS7rNkdkd|}khc3B2z6-^;&2paN@Hz%VEG*rl^c#BFi zP|kFb#7R2T$4)>7D}m$`B>jwh#*H_0Y0d5v^N6_57nGYlfd~WQPL2>~1y7C^H2S2F z)DurmHX+r?>BcERMkUxyqyvW;sj^Nk5J+`$r9i5at4v6BQV?O+$@M0rI(a>iDut8` zxm6o?@&+Ik7QZ5!Ck2XnPX53|Z%^(AU@8I1&EdF{^#FtbV*+g9W_V5>R`j;um^%~7=h!ckaA`npx=v5sCH_cK($j7OsICMoD*HArVCUfJa?a3z*Wbdq7N2nTK=gk z1tOeU^L>brCDfS7R-Az5Q<_r=5ia3dVoq&0CW8q}hILb{@H30l4^HjjJ7{7~RfkOf zP!hF^sdFLnwkW;HD4nO8#a`%NVX`mZL38SONqG{;^zW zzJumeEY0d1<6yG>V`+^&^*mqgwCU7Ka#~+ucdM(qY?#)RTrr`{l}^1inz#}^SHZLu zqKLe2(@a2ePyJ3fo}c<0t2@NK`qUR#-H;E}>OS>%vAR!vqgHovmxCLU-Q^W%(G_n( zi>_3G7F~3`o4i3|P*_eS}HWsk-~zxp5!aO??UjL61^Ij)ink)WmqPY zaf<}b<0|?P$#1%*I*9hicFhDb;Gin}I%u`SuxGxukjE*6%M2$j)3w~FjQ7;|rUI^v zu_R>ilXUIt+F;;@QcsGgCU#t8O(%Ta$7+>bHya4DG$_s(N9v{eVXXTU)S}m&`XMkx z@0@Sg>flbw+@j@x7$ld&1 zPXRdq6`a+Kt{(~H==zC5j@&Nc>^`yUb%hj(UBcSt?s{J#MQ)dHcAwbwsX6DDT&BD0 zZz^YD*S`h&oVG-wkGhOMSzO#1E`XQPO;)GlFrnb8($wH0Qv(|;4F3soD%cPvvYbw5 zcH%poW1tYrC}HArSTqEgSY$a(-!0*~!{p`fkepd$IX&ILD5d%;*;s}8K&#W28EB=x z^I+(_QiC(;g+jQ_bqx%FWCUlz)J`d4bLF6bCh!A2b&c~dgkMJm7 ztkgcPj8#Ep?ovY!#Fr?jFJWeGL1E+1VnD8?fqOxLBBN zoJ!GEq4Ln}MTX^@dCccycAwrxvh3A{m4#1mvabW*K+l)Yb7(2qI48o!DK;PZv;|+X z1D*NId7(3(xkvDyGY>NV(H}kYG8j;z`FzZorwz>+Xy_H!B$~NN))^xIaJ4=2syM1} z=4}wRB+_hiwQ{1nacABIVZ%TxDtks;tmirNiK0sdXFeC_W6qFEl-p_paR`3eEMM3M z=g_TcV@al6N`zn-pO5LW0Bs?Gl9MB(5Wb}h=kLOnXpf7}$BgXpLJH%IycTjJ^i)0{ z)02rZAved1tbE~Bh-}K|V|s=dk_3Aju@1x+NEsMpIv>+B!4MtB1<%Lu1xz95WArm; z=zPqN>3j?h)UvS9Ghc|HJ&VO;^(=R1U|5&+9Kc*HzaD#>my!ON^t3!xOG1vl=NgEl zKI<^4fby0x@10=r^DKJBAr$jeX7@;=T92?;l=Ya6YCY1Z)+3E-)HZidGq)+P=NPk( zNj>d~?%X=PBIa7Nc<3w-IMU^wI=LOl{SNYe|^BbAzZRLzz z*z=)q;OO}{5@{5NQd)4T(1J?|W7v1P+zMA&{v6p1x=^BwxY1(rLmp0{6@+Gk`EH<| ze;CwJY0GXxICd)bkUKDYXk^hPd_XISj_h+AiH>Lcv#~kmY-|X_7)qKAm&(|w{6Q5R zFQF`BXciR~M|x;*lg|z^nygfCE?l`dGASNIt7~Eq+c_-++u1MUY#%h4wRD(J<;U}s zQy{>-Gz!u(5az3Atd9-KFXQZ$;RIH0@Gu!vn?8zMjtP>>iNR2qe_8$|v^g|)Pa$ws zuj#2I$_e|lI59YeZYB%4t&Er3+4>puyXoxh0{zY&bPq**`Po-!xlP4NyZi=v(3&%y zMN7SSmoOL5SlQ2Zj3skHt~3|$qGN%bL%bSUbZ0SLJs`=;`;geZgCFJK1X2s#{h_7gM2*Mg9r{T75g#AV~0 z20|XTUYDy_`7y zT&+20qs-Z&at=Os*rC%-ZSFbRsSRULz;~h-U>O61sRh&|T~L#dv{Y*uu`kdcoa`V7 z$iPE|41AgSY(!tDB)rxlg3Sk#^l|lRsr8DR>D2hS2e9Z3YfdbD5khWP;zg8{J=PxFNgv4lUIa(r)xjcFvAJpX0kq=`g^*AFVAA>E#VJZ?Whx0mAn$wQsG_Dyd{vIn z${QN%@O!S)G$^co%-Fo&t5u$#YS382_pP61P*JnbvPv_=S@Y(-5>xvMO%BrHq~KnT z;Q|1pXN!9xQRN%=%mJ$Cjc02?mB(IVP-WaXC+YJ@d7+5uHc7rx(xU&A?h!8`@yPJj zWy*cNM%*ZVUVeA@yjaD_=jC^Y*=5LnzRkEtoNXyEFv$DCnLabgWrGS!OU!^d#1B|a zUD_f#tvjC{%jv<(V(SmQE_0=t6J_=TC&=bV2+mCFqLkQ5!x`R)P$s1nY7=SeWICBNP;wfT5>^`=O{t}mY2UWO3=txhU3k~w{}C`S=E6r1 z%Xq_%xta3UWQj~UcQV&g)=7RF=J&*!9!qn)@y|X;9OaVP{Yc4rVQ<5tY?0&4kZk4U z+v((w$aYUQ%W*W9-m-CzqkUy&sf*t#cLa{+5Nz1nu#&kMDs$M|?~k%K0>eT+i>QbX z0P)VHtt%GX!D zeZlsX@Bf;Hjbpf*Q~Q=t`$n)Wh|x`-X)HOwKo^Rl>p>(|lV$*V|XVzUu7@wy%8u*EEcVoNr8xY+qk( zfl3)RE)aAg`o^w+a=tPBTpk3S&^q!jo+VAvf6bn$Sl)W=`P-mM>Roy@EOGi_a_8oA zoqTU4JA}iXi$BuK2Sep`VSHy8zRBoWQnh2}x-G>^H{P&r_1aBaH+U^QKFc%O#hsR( zQp-JGT6*?-P)mMBe>?ElN%D3TCB)_C;({CNN=`_lghCjzhJi$rss%)&hs>M45-Q37 z8(zr-&sE3^b08z`ewNXyAQhLi)WdkNpN9qcp?(xq^!iTIn(N>{*;DQ7tpHS6wvn)SBg7}$(7i@icWsyAp_rGD1SCUiJ? zTAk_mG<6l7=SK0+l07g|Io)Jhc4|XxPCJbrjXxe^Y?xha1ohWw`O&BSP*1MC3hw__ zXCg)No!g-z+MKA*imfbrwC1$kVyDP-J33oN&C0VmotnkDnjA}<{b-`B^dL>qt^e9> zH(U~`ayaE3q=b!>$I04QRfc{*)5iMU?sQTKA);EH8E97(UwuO^tvUWA&?ZPs{LTgM z!R_=h!7P6!k}>jbnhiV2LF8GuovtKx`wLJZ+CveKe=r6Z5r?KZZ2n>HM2SK3*X=A0 zV!)0}nOd=J^X7GHc5d3Xbw_ci+c8_nu4$wzEyaKB-5Ew1Q5dNyWD%avd977OUfSxaq`dcL=!fu&0-~bE z`Iop$Gz|wrQZbLgyi4%@TFQHWu6|hNwXX1A)(Zy$Tz53rNQ!+JNpS(!vR?m9`JI zQ6Z0x){o+sx`e@NaVLVNppe=2DjXJFKo}K;6@^0bY*ok<()3FKxRnZdyh1-F3Nhv( z*Z+(cBe?({%>lCWWF%@f3(B+EQ4~&zaT-lau*iE+#8~_SMrm{XFQHut z)QVv?(XIrmW;1~zC(VSm0splZm+0;IMQiQo(k}su4&c)-cC7D9iQ1Ht<=Sq?d3o6A zNY%nhU+%1m)3hZ}Pmz*IDQ-KBT8??H?nALZr7E5wk{tY74E%B+HroFe?m3N9HBs6)z1E#Z#0D;4_-;t}dZ5u;kN?`| zL8!FE9fkChv~wW;>=HjW@=xmSA)MtV&XQU+BtyRodAX8H^ap9z7=;CA6|b~Q@K4B6 z`)ZNiiC@m^(VujKgc0={ZL1nUix%nzhMbOr1=rJJWZy)fuZ_}A7@#HkPcX8e+A-Qj z2AxOlRZ-aNz&uNwQcHauz;2}?-YC&esv>@kB1TaW*VwA^sLf!eynhgmSnC0UQxjV4 zuW6Ep=%3_`QsrQcmFT}Widx4-T}hkXnY0ywj)ox6b`;P^MZFE$0xplK8l#^=h(^Rx zu75=&Wg!+UXf@U$RuD`bHoV3D4X{G27S%H%He2vt`)+Zt6m6;B>dv7#2Fr3%55Eh# z0+5#x^!rowF8rbm(OQB(9g+Q$_pk{wR)SnC0SSR?m8S^-Sq2`AztQDA@Z8Sq) zmMExX|E+-Hg_TUR&mq)0D3U1>D(@%wuY>TQ?EXfuA&fTIkgX~oHy9z*H#{-YUV{H? zhTe@|9-(sovG1iHf1k&@E1Wmaf6Az9G0B6#ONaGxUjMn;*#0<)usZ>m2J&LvGXtVn z9Ek|7=%R2On2E{>aclpXq4yXKneTtZjZTM85J>^oP~Lx=@-FoM&-dp2HbXyal)DD} zXhLMUSK$3l{0FoQH5rrqZ_!|cPn?1H0c(+d&M3Fs{}F8cFh}vlm+0+0(g?!4YBWD! zOV`gEpl-f?GrX4Jcs+w!WH)E^k>&Y2vpUmtno*veDM{Zqk%8z8ofsKs9pg`-V=m!i zjbUO@AmA$0?>6%G_vZjXL0-|0xx^zes|E=|VM2hIkKaISx_*xVmF=N+hgUEhuepn! zbe&`mZp_S7H&{`4*6DbCIsOB_0{uQC>rfxoB@hfn&m--@L=Cwq(~xl$0VQ0k-!FiY zw6au^Fc*;wk{D&PX#=zZlH);DVztdS5c!4h57M-iI8lYAGs0fwra~Zw#n7c17^Wqp z_{7jfVs7n98~jSWHX^3Ql4%Y_MH-I<^YZz;3!_Ysol z&-^=Ie*h`y4HSh$XbWgK*b$nvm|77>N`;F=rWkDok@Q^BkI*y7H4BAYgA9lmGc@eWyd`Aev>XjB484V7R_$;%h2 zR+jY^FZdT)gRPBFp2<9lBuo-20%_E>pL3`{e+a**G)kLU3U#xP))6KZ_+@H6-s58p z_+N(qKt_T7Fn$>*whTz=VN94SWj3SB3`BL#C!nm6`Xd4e-J2%5H=FtqK5}tt&_Y|C za{=(rQCT^g^hZTmZmoDORzG|n-LUmJlZaotNr6q$vTaanFKN;U}Nm0FUk3aSrr$Q&9-9?dvLXM?wK6YfD}FH*$=7GkEZquCk|A_ilhTGM;< z$3&y-QMN>Po;J*hBFkCoq*H=+FVx>#Ft}C{#o z=p%&5_F87yt8##ZNE=6Ogdz?DC#mF+RD3ucRE0TTq!rkJiLeRyXbyceyh&sj2w$T2 zq8BewPx4Fk$7Q>>zPngYLHO9sVBh(@_H9WaL1l(IRE`?X|*9(wn z*9Ki-lu_cr09+ymU?dH|cp88Lnj)~*BvRFBLk=B>5@4IQQ4_~OIDM_Q%P+_Zz zCJTd;hywK`X(UuQmWhjl68<=JW(jp@s1ucI?;}{GUli?#in8hVy0f&=PMT$+E|>$R zE}?_62H8pQ3=~h(pBA8Ytw4XmZ6^m`?79&=Oh>rLflxe&26_ywJ8qnq*M(v8dJN^< zPi2<;K!3(4bEHo0p={JFwt@6uAVH%bq?12Nz8zvRR-u>3t9)SKy+nzUXpqOiNR23` zEhJ48>k+cFj~KU0n+Q!^8)}1OSz;s8m$CYI+NWYzuAosG8M5Yv(weK)pB3$kf;RCj z+LvI($CNeXb^>)*d9?+$-I-KZGSP166&`9gOG=>TsGX(`?e>uk$VX`6BZb2UtGy#B8=?-kG6$u0buqpIr_u{BLXf=npin?6z_m#vE&JqN>YfEXb2k6 z4-q?=>u+&e^piM{3rXCWPqYQnAZ>Zu^D(ctFxKM6NuV&1%v3UVpe`Q8cp80TAezr| z1K6sT1GA+?@1Vlw*qmvk8TL~m2T$~47|Pf1ADD6-P_h>PfhqjrQB+HR=HKD^kB~wb zV6|NXv0|DXtiVJk<`W{Kg&|CohfeA7xWsqq#tc)_kBS=R!Z7UHY z2rN;!;5R}Cya{DBQ@PVu=|2|b!s}A60rA6zL6Vkl(>zgNLZf&(Z~=~KI;Ii}Lc?7& zC!kA<=!lU|n@)=!ViCGvEMgvu<0$@7s%qwZ4AmwYu9+dr`5#CMX+?WTD<<~cis}D9 zTQNJ>irGc_^P=mR5!i5iT7_LuM}y*qbG?KM6EDx z>(5Iq*J>kjgrWCpvk1XWc(IUNL~_IM;vkA3WhSs-v{4*&;#X)17Xk;l|6a)TC}2Mo zvS^Y16a3O*Mj^k&@E0%=U`rrstsMRVgak|~S-60H8!MQpK!PQ}H)>_yQ@@0G-B$bu zmV`|G7f1@J`=23oZ|uA7%KuMwFALVaEI4Zrb^KoU6m5aWm^A~HLziCzM&%TZ(DF$- ziGdg)d@Kj*SPTRjVg`$e)y79*F&0~{CQlixhB6Rm2Skh!JQ^P2`MeP3qJRxl*vfz5 znM9+pGGsI!M$!cRB~cGVN&f^$0T6T`P10JPL)|tZ#u6g9s00KoUMo&B{zwyI=O0+Z>U14gd?BtrGaHXa7e zm=O$gv;{`E6d&X$a6fdnFepcj$B-?hk-TcY{&U$zZK%H;%L=;yXd^KlRN*BWh5bR* z=S4JwqF`H!4J6MK4N@68{lOtvJym~Mlpbxh`R@ag&Y<;<;tV3VSco&r$OZ}=m`YVn zre0|wE8<#|vJd}(HNV4Cqn57;!GUTdjn-emJ0kVKfoCvtGiZO%H1qQEAamu8(WYyys+VgmLx_&+f0K4@rXP#ow%$jl3}byVYgDj8y4xW zLcOkz^74$iNH`^*Y$wD$8ePb8VN&@3I|NU>GfU+x`{CgrwpyzHQZyBU2b6sOzuaC6 z)zmeQye8eyCP960-xBER&&}hO(1dbsZ1lJ`5iH(Xajne^e8rI9VH2O(!H+ zG0^n=&=fsLUPPCd^rL+l6~WG?isYChndV5gIRaLxU<%EVbaO-$uvk=zeQLnSh$uit z2C6ssP6J04kO)JF8NCUlgmw<`wK()}ApQeeuE(>1LnMiO&Y^M0zXbn*E$w(d!XZMH zbo>Xlti|&-4!wZqM;wAsq|L;CU`q?0y&U>0p5A_xwhGT1IrI#kZ*d3*?6e8^4{XWR zUq_43pD1lv^&+x>&7(6uXicr&II>tl1JRaMuNMVe3NHyFH<{#SK3uI>bV<|Z z;D0Ut1G_Q!*a^V^hje(W=rD-McXqfc1YqZXAE8@9M(AcSLfD{(XFe?>Sj)b1g!WKh zGpqNG4)1HV=qnVmbfN;8Btw5^U;QC1uKVvTt_cBX5&)CFXH51Lnvvj;=;C6sSfE|s z*}FgpRJ(uzKoXrM{7$I4BK=nw6~@r{)h8K>I7&Wg9S$p~_z*@odyuV^BReBpL!tg_ z1$wur5ERd)U4@VCeHWS@ph-yd-?p266RPjqMZcb!^;_sSdGDHA=-0dV&)ewNUHj<< z`c2sXE$8#qy#;j>@b%X)ytn>K&X>?|PP}i5;rH>)3mLIJ2Os5f;}89rt`@WgboB=bghCT)H@tTwoUkxj%)!v+I(+zyBWSh5x$ zi$+mcQS(s>v97@HpTHCR1)*{JZ}3Z#X0uIjV}_6~N-K2HUaoR=kX|H`LaHs)HGsXD z%K5`0{ViFJHee)F+2}9(7VG4p9TI3*z{-j7dG%#Ki2uN@UR{jT|dNSto7INV8 z|3wJ%pankf#`7YFm|Ie|q4<9TNf;I_es`jm)V!PZcMwAdFwhY2cDg`0Z}DXL{4XK3?L`Ch6Z(6i zI^1`nf8xdb0-sP6-bHD-P7l|gromi@+N6v@S&$KOJXxOD>IJ``!6^i+v$}0-(V|Sc=_znCm z3oRotIqY&B3^HyK|iblWE62Nt2=FlSIwlV<$-GHwkAwCF06tuEUK$`0?=mV>OXO;n2cHAcz z9NF0otrs2O1;`8Gax~;dYL)%pc+x`HZx4=V2a-tM(|@S{7C-2mO&hLPyFKJe;!z_S zr>(Jj3Q0bLO^8H)Oe}nT(#V^MF#vFv**&?WhCygF6aV|2E78@R R)Lo#0>F)^)5dDSx{y+bhs}leK literal 0 HcmV?d00001 diff --git a/Plugins/Realtime.pdb.meta b/Plugins/Realtime.pdb.meta new file mode 100644 index 0000000..ef6bb00 --- /dev/null +++ b/Plugins/Realtime.pdb.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e3173725616d6475bac15af445e34eea +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/link.xml b/Plugins/link.xml new file mode 100644 index 0000000..a083f9d --- /dev/null +++ b/Plugins/link.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/link.xml.meta b/Plugins/link.xml.meta new file mode 100644 index 0000000..3de6fd9 --- /dev/null +++ b/Plugins/link.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 35be9eaba65034280b59b6cb123ca03a +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package.json b/package.json new file mode 100644 index 0000000..239a890 --- /dev/null +++ b/package.json @@ -0,0 +1,16 @@ +{ + "name": "com.leancloud.realtime", + "version": "0.10.18", + "displayName": "LeanCloud Realtime", + "description": "This is leancloud realtime package", + "unity": "2019.1", + "dependencies": { + "com.leancloud.storage": "https://github.com/leancloud/csharp-sdk-upm.git#storage-0.10.18" + }, + "keywords": ["LeanCloud", "Storage"], + "author": { + "name": "LeanCloud", + "email": "support@leancloud.rocks", + "url": "https://leancloud.cn/" + } +} diff --git a/package.json.meta b/package.json.meta new file mode 100644 index 0000000..a6bcb38 --- /dev/null +++ b/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9759a396da18a4da38903f4e757e006e +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: