From 5e92db022278c4e287658d2941b098ed9bb77a23 Mon Sep 17 00:00:00 2001 From: leancloud-bot Date: Thu, 8 Sep 2022 11:02:39 +0800 Subject: [PATCH] 0.10.17 --- 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..a62631e --- /dev/null +++ b/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d8d8be988f1794fd696261b116549d32 +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..d4ca13c010e5105262c6656ddba9bdf05b7e9a02 GIT binary patch literal 358912 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 literal 0 HcmV?d00001 diff --git a/Plugins/LC.Google.Protobuf.dll.meta b/Plugins/LC.Google.Protobuf.dll.meta new file mode 100644 index 0000000..301ad42 --- /dev/null +++ b/Plugins/LC.Google.Protobuf.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 4894d99981d794cdd8c27dd23129f463 +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/LC.Google.Protobuf.pdb b/Plugins/LC.Google.Protobuf.pdb new file mode 100644 index 0000000000000000000000000000000000000000..6f29b9b83153dfe7318750f30bfce9d5dff100a4 GIT binary patch literal 142288 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
    Cwxc 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Π95LxmTh%z;iGEGza1NTJ~8DgQ1!&cYDzx{|1 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 + + + 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..a1633b7 --- /dev/null +++ b/Plugins/LC.Google.Protobuf.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d15a8c5dd8f66425e8c7e508c9376ee6 +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..6d143bd --- /dev/null +++ b/Plugins/LiveQuery.deps.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4366a0d6ae9d24bdfb636f35875b2705 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LiveQuery.dll b/Plugins/LiveQuery.dll new file mode 100644 index 0000000000000000000000000000000000000000..3a0050ce890522a5352a9650dd56c4e78c09b3a8 GIT binary patch literal 22016 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 &W4HQMf`QkYmF+p?qS0cN+;$sKkFw~i!J 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 HE%1K;j@wZd literal 0 HcmV?d00001 diff --git a/Plugins/LiveQuery.dll.meta b/Plugins/LiveQuery.dll.meta new file mode 100644 index 0000000..5cc9388 --- /dev/null +++ b/Plugins/LiveQuery.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: d6aa1950c0b72415c8a14a13314662ec +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/LiveQuery.pdb b/Plugins/LiveQuery.pdb new file mode 100644 index 0000000000000000000000000000000000000000..cb9cf0a414bb913459d3e3b2f5ed17a6133f4ad9 GIT binary patch literal 12328 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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..d05efa8 --- /dev/null +++ b/Plugins/LiveQuery.pdb.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 08470ce1f9d054410a2e21ac44311a22 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/Realtime.dll b/Plugins/Realtime.dll new file mode 100644 index 0000000000000000000000000000000000000000..3380ce884b311564756548a2c794551197f356db GIT binary patch literal 299008 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�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Ê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
    (j_Lj?-mVvB~ zT(3#YfVK+wCts#v*CW50Kr6Q1dRn17sg2)cgP$N2E1BKqe7s%@2_21=IlI zeL;kp_w^kpbF~ciMuV*e%CDJ9mxWzFna4DtY_?&LyrM}YmNkh%@(z*K#31j!-=#ehRAFt?8QUnRi?nO2EIe3eJZAMN1`T%$&N%?6T{^w zBGg0+-{EpB6KZ0(oJpiLFCA*rBSuPprU5;&4Y9H% z$BTsbc*e>|mX!|+wu+U5n5u`tzM@QK>K2x5h?A2zUZ*fPl`Utn3@s#1e#V3r5+}DX zp@qcDeH;%hBwik2*%sKFiI-QI4#VC|ynM#=sC%|ylvHWDeiyo%#3)%xlNtA0M@cs( z+;1Hvn=>^5S%U1ONi?W#5(%;o%j`lN>=I-wQ-zQ}Z4=}~CV!a!M$5UHL~WS=M$5%4 zYtc9dWZRfR8^fu7d4g$J<7~qid5PooY7D3DGg?ThJi>$)k}5AUp@oc- zw=@Z~ka6-c%g{o`$+t{sA>*XORLmjMj21FpR@6je$aq?^@utX#*kG4XbG>GA+mdi*on zba|2KAVcW5TBq6XgM>rXZUn&v3j3olIhq zyuq>_Ba(e5$@@$fI%7yRU6=ZL=Um%KvOLpoAj_1sG>LniO(IhUunhY{rtHjw{UK8h zWy1b2StfEk><^RWR3hCUCd-9H*dH={r^qQYFn8S_rpgU7HDQ04Dt8j;{xDS$lDKQ#qx8@_ZJ{i$uD%OXM>mtnD%1CGsyOtnCt6ViBgIYr902CepQC zA}bZpIf&Ph2<_~W?@}45W#&QEvJFdRG*e==T-&8`64PRkEt7LKiK*4#9J*XVq&2Zj zZYIKZzwY~)yv{PzM7FH*DV9v%No7k{BHiP%WfT)?V!52g6c~2Sce&hKKzTl&%U48N z6Dwqe#h4~);;!!sS&a!bu|oO~X-%w+73GHRIe90lvURKMfrI>>rm)6KlOo3rfeb-3)Wm<;4W33!Vq_wn8?ju4i zIry!UhnP@H>*S9_T1)HXRU)mWb@HzQ8soiA`ey4KvH~mmt(Q%RV5M5p&ThSoWcr}w zGu!oY1XIP5*@hgMtVxtE3BOVxr?ae+L$FnjT*B1F0p3k6H!}5e$Tn<{yE$GD2RH>N z53+0v#M>axGwp<_?`E8PEEW^{1n`9Ofo|fDs zS27K6pKaJIH*&m>+MC2?xszphl5(^BmI+T%ZkCssW>?HMY>{_4UV26N_MLpfvK3&h zTjWco9Yo@DUE5Rf!B$(O1Jn2M@Qg^hFx`T+##Y%tlei3Pjjht3Wzn#ky;X)XCBkm@ zRyl}iW@xryn;gaQCWM;AHaUr9cy?=>T*`!Jx3OJzEW>kM z+vU$pc&=-^e9jcx6`m$Zxq@mW26Tn9pwdQ@xh0%1-61P5b%7J6J7j&P(XhJsQU>J5 zgVn{CvN_96M4_w))43>k3MJ#2Zh~y5Oy_u)qTriJaxTkmz+TBtxq|5t?3L`4JD99s zO|(mX!|`6gUdb+boMqMx?d*2RpP8yOd}g~#zGez-m~GfCi>=i4^J@sdz9GwNGB1R9 zyCpoTguhJlI*7Mhwr4sG@%G4W9B(hg+argv>`|1R-5#0A^d{<=?H;+DscN@u!(O?C z!rkw}kV`{X?$9KovjeI@67fhE)P``2>x8cjHYeJ#_7 z^f>>uJhKjEdIZ}qx8-OG3>)LUU#8{eQ=ZQ^^5rHZJ%SyOhc_eP2v*zgfIPv3BiI3X zjYyAR2jm?hJ%SyOe-)57#7o+Oso*#t=yy=26J^p#!-H}W6I$y*xrqs_^^n}BNuaeJ zlBZaP)_O=@V?t{^B%d;&wH}slI38N-VQJcmxo4V7!8m_dR%WW=EkWkP8lQNn} zxBE#sqkzI8-i}>5hpfQvey8MDM49GYP|j2GG}AYriBs|>lY)En)AF$<@d`9?T0Upl z_plN_EveQXOU-QQ>G2@Eb@%(%ya@) z)MsTcj<>fm{Q8O<$TGY$JuAmC;hpJOxqu1pO!MUD91rhI^W;{R;Tk1Re#eAslstKp z3D+p+J!YEYtnQxwhwI118lZ+i+es(j=b2J=b{|!m`sa=bV>a zm~h@aFGn!pym?+uWWss#dzqz4;Jo?0{G4UD^Yy*l%7i;#-^(LRxbyXcJj?NL=j#V~ ziDmfBg&*WYCOk3tgM7=>p-Q&lM_Fty)lc*S?fxiBYNB(aKT0nfFUn6@Rv+%GF3R;x0dQY+ zQGUe~3i}0@}y<-&zT0p`sF7n_v!j|hn=sVq>Uys zo^Sn0R%gQVtv|^?rad6LEZcIt&2ayIS$1a`?iXB^@l3d1a9K`g!u^6PauLVF{emlU z9m{a%>x$gNggakXu^;T`$}6R?mAqRE=;)V za83GX61eMdO}1qj?iXB>1DJ5X;F?Th!u^8lGK=Hke!+FQib#)c*X1@M9Nqf(-H;Lc zF?T(>-IR?FXu{F$rffr`N4J}D$sv^KS?y;TdPGxTSh(NM(r_%F@_cT|QOA+==yqGS z`3?z3w?TflWhW*a-EPZ%M0#|)Er$^4(e1WODWEur*X#tQg0otZ-yPYONY83_WM3wn z)$YhdCY;so%1N4NR=X=dW*N?Ecjam(oYn5i-Ap*E-IIqo9?oj_-vKEsW_Uj(Yrc4#$vJJn;4w{5R z9DIXR_F~y5fx%Y4$Y`eQKzop-Gt~u4{#DN4c-6p?f0YYZhIg&M%B4)W*7#NKV8XS= zuksWVt~H*>%bIAd@kBmm8LkqZ$hStbbU*q{!a*qb z!+td0@2LzrgQWY>?=s=6ChSMQ%QPb0kA9c;@=&Jx(I2wzc};;~aejZu;P3M(&*z!U z{sBq%qvz87MCiLf6n^m`$9X_ve$*}ae#nO+4vvwb0-FeSrE{H1)ONeqLP_)A&h0+vkc<)y4hgnC))_eu_D z8Q%B*DR(iUUjCGaI3(Wp|0x|WVk%lMujOE-z_2X8*K%h8<@x+2OI*T`S}$*8b0XBs zCcihbEfebHjqFLJ_3}pcC(?R(Bli~29*AdiMdzLsc);(iEJ>7UZtIZj`&O1`!f#)^ zm7YvEi@ud@nQ#{UTSjUUIE(%*2eAy#3;!+0GvRsRzvahFt{@X?1;?w<&ICWRxQ%7F zN)YNW6OI}}U0}jdL#m%S9J8I?rttknWq%dxmuXIh^94#(&?I7- znuJm=EZYNTP3L&?5>4R1VX5I2CVD2bu0CWE+g?49B~gU=l`kgJu5RazOTq zsaZD(GW%<~ei3lTXHu0kiFR3WUZNIw1?lOSG}3G!fu7N8o}|_!fu7N z8ppD`V{$0nV^1VwU6VyhITirQ!JYd?O;~dn6jW9%<3uA7tjvH)Ekbs z7}}wjGF{hoz}+VJL2xD<^@}M#CLHx`R7*{?+hn66S%$k!Hfj(P?l#$|WG38gDy}AJ z61dw`T+Lz`?lu)ypE2QXQ*pJ033r=p)jp1gyG^$02+MB3ip*BsWcsyiuC1+l!(>}7 z8-6ag#0>#|nc@ws*6dU@P3Bb)&rUUA+6wXPR5zwGASuXk6^dSUKP8k%Xt-co9tCd zP3B2(Cf{CFXIcnn^6ix`)7P-tc2LbY-ufyg;h@^F>;&A)IH-Y4H{f2zL8UXCQ%IR ztc>zw*RK1}$H#xg3N$pj@UtHx;(eaCUp2Lx3Geu-sgq22$5&ll&?NAVue!RyG8}uVtEWsj z_EcBKH#~v4DuSww8F09gkxk4)rI5X%D9Fa$TA!wYp5|y zI7Ze`)0l9Ktf>}oJRBoys%0$0xxc2`!Gv>vO?8q9=YCgpiR0ni@2VcMY#!LItNNYk zCG3v4D#Ke{KO>ANuBr@ERTxofscM=;Nf=RTDK{c*FSS%7BD9w`eznyTmf^~(j>`QT z)6~zM>ZqMW+Ft6Y`S5;&e0yZNPA<}n5_0>QoT-(%FNldu5 zX`m)*qC27nY9`C-IplzB6_b|({KAvk%M=9d=dQlxcmdFU?&=cDaIN94o-*ND!(A0K zV#zYixYqDcPMQR+H9V9n%h1j|R8uCjGY=KXgm&hsKH_+2XP#;l%YK2A51wiU(=#~v z;Hg$H8AfFrywoO+_ZRG(c&Tq#W^@g<@=|$BC0y-6cALrBHQV5=o^ZS}uJEov^@?S9 zXX>qN;I}}rMtEoHttv6$ovDwirAgqOsgLqt*_^OoD<9RIX=#`}$ht7?49hn7sy-ZV zU6@Jusv#`f0Ox{y)r9b{2vFTv_L5`? zOxExnoB%b4sV00sr=eQT@tmAZqM_Q(vazto(omgc%7i_ZhUyX1Qn)h>RBt$57TlQz z!tdDYa^8rp?H{Ph5$S##sA>^mzxDQSq&gJCkb0bNtoGYz!g0Q_I!2`XZDTdq7G-*z zZ=!bEX@YNC`8QE7OXO3YPgAu7=FIZ8SLl8l=pUq-Fk!z9Qei~8-v+5DBHeF; zRG$KB1@TT0;W!`S-%Op?GJ1DPGj*E@cOaXomrS?=*<4wb#N0D!2eP@c)kJ6gnyX4o z*x#EgcP8xbEmR=K!+V()DmXtL^uHFWClmI+7Al?z`(Ln1<9OKrf>jpFoCqm6n_wS;XXc?V?>Y_F<;VGytYCjX6f{Ik%X`)k5k?K6l@ctoE zJz~Q9he%~rk#aZV{Xzn5ytgqrWAIumKl_fp-6wB~!M!~$9Y@s1Or=GXausPeRoZ2m*_ zGZWhUhw3>K+I(*%;j}T@E{;;Ym5nAd-aGYHC7GtgZSwD}$`ffV^;WfrP)mFK`=~iA zLoM}H_n2@F=&PP^NZb|ct3sW%UQkQ@)HbHTuoeFOlw-Ago#pv_q$Uz+E%jGe)F4^?GrzSHM0l}4oX zIb7`|LVf_HsPjJ&#d`S%#;F zW7H2!czQTS-Dkqn!z0xn91qWzk5q4nwB|=D+gkaWHwDD1kwjYaaq1@~)O?(}#UWAi zaVo0zJI%+dy-a~&ul(ax)jIDqKT2f~Y0W37T|}sPyMP3Rzs`y?9%?>8og>nkPf(YL zwB{4klL9IW@wUSo_i%j43ak<^TJ0m!cOj$IDJHbR(dq^h+Ta-VNE6xM81;;0I9H8P zrn;D>UTu$2<(P1;N>nbIXtkZF>ah&x#zfVU3FpQ{)sqS5#w0a_M2EyWWv=`sv67j@H~5} zn#eMIo|>u_FyZsmRE2Mi#=7J4)Nu;m?vLXxK2IH|@csTM!zZZY)Q?Q~1a+MHg$bXa zj#sZa9zH=GuWaG1<`@s3!;V*uOy7CIsd!b7>7o~$idQX}o_l2*(p0!6an}n@#VdS6 zJ*MIePZ85p0+Rp5!2NYBHfSDRSpr(2sHvGsGabZMw}^e zM#xZ)-8Er9%1|$f^t_p&`go#DuN5b%8D5$K!^#FsR4d`xm!3uQd?qR3i=_KerkX>9 z{itq0ruu{l`%$J^N2L2vrrJ!T`%$JkR6u?Z&%saUkQLY@V6rMllxeOK9Sr2mgeSQs zs{kfE$u(JpGM#RiZJ45ZX%cvnYl?~{(t4SqQixD5odTw+6D&i$OjG6jF?YS5n5JBa zv|gsEQA{{fPFKg60>k_QrmM06@ANW5MH6Yg%v7Hfpt&{TR6uep zh6(L@zPdo9+i$*F0{7VYcD+FLY@#VJtZ%>qRkdk8<@tQ9Y=e+=`+cGkh_L+<0zOeG zOxS*(sM$oi{XS6(iFEsYqMj5`8pONQOy`glI5}XUx=EC2E(hcMLiIb73$))tWonKg zGtGg}ev6cYCeZ-agNsyomJNgPWs$1Jlm)3QQeI3;AeBX`71LHo@=NvwucK2_aW zRu)qERP|%R9js4PG867#eX6pUa0hF#TBeD1uokP0EW&>jihrmZ&OBc*nj(`7+@h`%=|H z6Ft3Jsv=m1JF`pG04Cg-U8)k9aA$Uz%HVjoGrLU9U>WWpFH=jIa0hvr+QfuA$e*b_ z91nMpKU0T@w6%Vw&J&@v&J4&_hL%_dJqj;Zm0M{-YhA8t5ov2(u12*+nI45dSKHcX z3JgmN_*|W7n@@Q@E7b7zNZMLgswy3j&|2pQtW-6b&{|ij03vOzD^(DYw$_!ZO#x+k zu2g??)H!4YeipDw{Y8{%?&Glv$gva3GR=cM)&sdQC3$2UzEJ*}#7Ga5_(HX1Sx(fJ zfG<>ErmaysffAVxL}eRRt4SPhca%x2Rv)vh6zpcNR;!sR!CAl6YB!T7ob_9y4s$$L zIE}VOonqM(h_^;vW10u?)~KgU41Q5|F1!A3bCyTyc~@y7p$x;Fujs!F$p_u2bYC6xpSgUU<-L5QLB)KqJpAg`>*|; zMOUKN@3C*+|9=1f#MQgx30mCE4#!)Bd+o{U<3)dS!9*IAxQe!kN) zoi^(>RBv?J3WcBl%U-vqiV2+NY%7cXQ&obhdNH{`n*1q>Yp9+p*m9Kbh)N$O!uG~)FlGd zpX%05A9UKGhf+P*=`ErTCUj2)+U#@wZEI^R?FjJZp%73G~V zcj>khZO%JmzNphDd#d}$tJ}Y*+Z3EsZ|1zDdrY&+J7d1A9}{KIgPq#FtX~ji?@aSj z*WLO}FQ>wb{OT2bR8+Bg58vK+MYjptUUoUJ51wvb(Q`xp=04UN@H*+_{65xOsch~Oy=g%r_le$4Wpi=8d0`?K*D)%aJD_(hO5_gceN;C0 zcfEOWBKLP4qq4b!y2oXS+(A7^l(&~x=&_=_t9^x@B&r1a!-Av=J&n`ZUOv?;a2-0i zM4#%lR5teyJ?HX7?jQPcQQjOr(|-}=&EYeBlc*Ba-=uc?Oy5S8;j=1Ab#ana_fv%e zRy|Dhj})sOr^-yTYCBb<8dmKR`TrY|wa-ZvKscf!NM~V}< zO1+ZG=DyIYuT12=(D#V)mhVgbfT$8x+g*_KrH--EPIpM-hu{BNgNJlFmCb#n+gz2% zeWiO)+1z2>_Uc6Luntn$+}C>7HHqBUdLNa|9nsNi6S*ULGnLJKqnDN@a^L6`R5tgm zUh|hk?puAIC~x_`(+`U(QNNf4N#E&RthCb|)%8~-raP)zQ`y`xUGMrt?wHP^vbpbd z`d<^d?{x;1&HbQHRLT9I({Au8ZSJ_n52OFJK9B2kDx3RJx4tov`%!nHvbmqMx+#(S zNvBiU+|Rn>szmN*-H*!VPU!lp6S)(*HI>c%qEA%G{i4%u_9|`epZW-uJ@@=mt6LJe zU-d33oBLJotCCY@1vtn4}`?V!C=}6P3-KV%BU;Q#+(Okk>FjQeO_VC;bnVu}{7hBh^zPQwm}l+WOVsG3 zbGtP&X`;LF)6JY$61me&gv#bxneDG8a;?lBDw}Idp(iMHd$0QcZLb>P2|onBdBcdOf&V(MD9#eL}hbr%;AxsGv_9jGSa~;gmj}y5L<}aeWy|trREviIy_6_OQ(e(JltF+VQm_zZz zbUEe(mCbcBTR%(WI+F z-ORV5N>od{^5|yp!<&Dt&+ca6p~Q6E&G}Te&mJcDRU+5JjG(f)o~Fy;M6Rb9NM&=q z%;>KZxn5?9C~qvi&2&*E>P@^#=xr9U(oPpNu_KA;g60h>o69xZzDeYA&2B22>ti;5 zo5=MsF)EwuYj%B?$n`b*sB8|uBRrbO;a5~tHrL-If1k+pH}$D(?p%}cLn3#sIa`!> zmKtEXiSm|qfaxQu1fOihat4^ZYL#QERbI%-{^mItw%*uhz7*sx9t#U`T%5qj-s*6zhMzzZQ)ha7kc}TBC<(Jhe zf2daZD=SCoXHe-sZrAR~^;t*M$@SS#REhdVeSpf$YL#bItIT1gy;|kFtnBQ(fXa`nRen*e@>^E6a(+PNkJT!DKichZa?RHeRf6AI zoZ4l8sVC~>Hp-}0*_xI2>7l4Rr&?wAYL$IiImQ&Ca!|F(vDGRk{j2giR9;lAa&EQC z#jIRs9zbQJTIGsrm8)6VMDIi89n~uDuU7d8E5{hsb%1%ITICDXDqmq`AKeUNu&}5c7*DZ`4Cg@;|-lY%fF2TBYUcWZ(4+H4ljLDu?0j`!-jiy137G9cK2i(oQ$r z6yX_pCqIK2ZkAKo+z8Xwm&lDUK`NUYX<|u<+(`2`Q6Tgz8xL+?J!waVlSr>$;6LPO_bYw+v%Unka8wk1=ngB<4QG#HsAa z#+oi^iQHH-kjm!98T>ryUrRgAG^Vn-^Uc6oiQM_-d@7q8ZDEBV3{3%zwm$Uf7%Q`P(;1La}n=utdy-!Pj~RNZaY=mxpu03 zU2ShUgKTd-W?A1lnz2`N{|H;-W!ty1HS=a#yla%j!{m-tA-;cJc^ZR*K&DL9J z=dwc9zv$1=itaa8GG~neV>2i-z!Vu)o-d2pEu-WpH=5|GOoIG-f>-Tp|=k0RNl6zT2nRt zGwaH$@yCfZ=|UaJ((3W#2H|HxA1= z({6Vo+ufDz?vw3~d*uCVyKB`N=aZ8?WW`ycc`x(~G_RKT&ydBvotvOl*$@!(-uOZ+4%z`?jd}UM^>vLbN}l#bAud-|2cX`pNHR$u=Db;;u0HI-QRv6do><@ zu-Mjn@xCf?)v5m7`v2av|H)jc&hd}p|8MsH=STH_xAKqH>i?|&=a=!1=KG)b@JBuW z_x%5z@%;I@{Q1iN-tzw6n(BXQx&Ej6`Sa`HKcC}&uZRD)r}}sM|99)XHT>V3>d$YT ze|Ikb$$0*gX@9>&|FgaQzW@Jy=l{G!JLT1jeFv?T7klrl?UPj;wX3~F`<_&*2jx|( z=XkHBJ@lN^>GoCMDe_*v3*P&?>f&K`+Gu_2d#{AO_nU*eTmQd@-mA4gGp)B2f2Pu_ z`FHF8e9!+om4ANCbdy)=~4DDRBLFybe4DA@&d1zztFzyLx$IvFBO;PRC#c0RS zrlZY5kMq!up)EjLqB^L{(T<^AiFUQ>i02D;gzl*RiguIAQMaHSL%SXAE{x_Lv}0)Z zp*^5FtB28!p*@QBgzBQ6MmvV~9NG)2E51A06}qc>1?_KGiZ{`Yp}m9lf$FY4MmvV~ zceH<~9_kCUV`zubzEwTd_h`q^enR^v)_`_;LHAOAaEjAg)kHg{daF9%Q=On{h;~c` zRa0BfgV2ttet5oGKXsnd zA5RJE58Yo)08euA)O@V<`D!rQ5VWCa!_bDKjX)cTb{^Vjv@vMo(9TC2k2V2qBHD#$ zlh7ukh0yZRrl3tly9n)Kv`f&Yp@q?=qs>4oM4O2=3vD*q9JIM;^Uy9uD?+n>3(yv# zEkaw2wgl}mw54dv&@M;20xg1uryF9+&sWRQu0p#S?HaUe(Mr))pk0slSF{_@R-)aA zb`#nvwAE-gquqjbE7}^g+t6-Dy8~@4+MQ^3q1}zP4(%Sa^=KQ=?nS#FZ6jJ4+5>2t z&>lj280`_X&1hTD9!1-W_9og}X#3O@=N<5SXz!zafVLm)BeajvK0%A41=K6k9aS5M zZ_EJgk!ZjD+fERBCgNPdJi(EI;|1pe{b~pB6on_9;&cB>W&fKJaIC)=m~QWl4m==O z>9m`XsWP?A=F7BObj7mX<|#Po3g5NHJ;%1FQrzpkT%0{p={UQ3=$RhIQzw^5T`<%3ULmJb4Z*+;w)C>U2q0M|38^*>HnzI9F>}* zQnN=lU)sstqyILdhkHWT?Q+eKt`)O=!KO>!vcuMV$vOXIdyJi}j(hTd{C#F~GQ%8N~ zZqbL99RjxP@U^=`|FwRSZ=};>M7kR3oLRpXV*51pu(NjNnZB^|e%JQCa#d$o7vEgx z(vCBL#e%O)zrttxzY1u_=qd!&Jb~ih%;K8(c+92XQDV0 z#hED1RB@(?GgX{IaSFvL6sJg>B5{hu*`i+`x*#dvsp!_;mu;R{bYGGk)niGyCU?lQ zNsX~}_9ZRH*7-bXg>f(Yz_-E#`rP3zmo2qgdRr~Mt!8gU%UUIu$sSwg+&1nk#Gec9 z9@zo$`+_5f+ql)dbXDf8#qY|>ocqRghm&-kt$$MLvn1Xt@hd}f;cpjgI@`wI;fWDt zj*C05mN_#zT70C)V(xhS567{;aa${6TPtH*D`U%dZd!6>a=vqXym^|9}nx=nipc1g`H zso5npd&Joz&K_~<$=2V8HM}=vKi2REzIxb0DpJPFy4@qkOJn05L3Ur-qH7jyOMOZ? zU7t%0W7?MlKTdt$d8)%#z-hBiq*mZaNl$B_anG!@V)OFwW@%e=1Y0B@&+=@Y_P&<; zM#yi4OU=X~9n!M(!ol5uzxo}Ot(RbZVp{y_K3m^0=v?5DL4(no{bg(e-F@T;#BD}~ za3`x{{!O^^)olD)qn*BBaADdZjHkkP6nJIY35i|T#$An_W469}r0xIfocqz|86zGB z>cO`E*9Sd@-jj?@YOPvLfQt*+JlqZnY0Lhz_edqVK2^l(BDKKg+VJSx4N5IibrO&SOET3KHh|y=3&#v<WW zdfqBMBSz0#rRS~E^H%A3yG*r9rrIO%K8g2BTp{rxiH}M=Qm$*anW01LrjOK%@GOcG z@LQ)Z##OAs=lW$G0{yC7^;yt2y`JA*9qRe*)uEo>ULDf>_PW{FZ?BtKetX@_^4sg? zQD6U&Thnhdul9a6-JUCUr=Rf2HP>gawwX95znYG)9>6ZO`}v(d6)7EMY-Oel zzo;rR_6lCE#)KEt{zhHY5_cSShPAv5@eK>`-FN5Sv45?N2SQ0~U-Jy{j|p$BJ=$+8 z_i0->+JD1>4}ANyt=y;AE~rS^hhLdDQu`&lU;O>z?-##9{0i|a#IF#4qVzmfdY&qM zW}6O+&a0Dc9$P%6PN8IrBzs7DD3Y3`{v}JFt#e3v!}sDa_e0WKwk$=aW1ryjql$Ix zhgUv!gxRtz+49?@rLtz011oSneWPdly4j}dqCs_6(0QaNTz9EI*5$FJqcX>%GMA$= zm!mS5)iSEJGOD#Q9=u{1)U@6P@i&RTN&KziY!?Ujz`}alE`C2_N7c{Rk@qupz3r09 zJyN+xYW9hxsa!3U zL!@%GRIZlF)lxZHDknz9kO*VO6lHrOEbo1}h|)Nd7MyExm$*(6K4NtSVwEaN6w#$8gmM=G~U%^s;AX}()9 zui-c5;l+y@Zk4IF%2Zorss`rjq8A!=)kPy;Zdf7bpB}C~g2K-2coi3R9-mnQXJ-4_ zXgemW-GQI$E*_v~lN9D6TvyiUfw8OogC+&=xD$v$LR}#cgK!xVpG%*sD)Hzdg^ik+a+htlz`)V$;xzhUQ!?E$NR6<$@ZPa+GP9A zVnechXR#sKzO%@5`(Kiqyf)ch(em+nF9-D_hV@22LmHo(Rc4wuUY6C)JzjGiFgEM{ ztbQ_*ezI5e^M9ZF8fxk{-j~%;u5lgZdRJyX?EMe;XEm0ZBdT1$(U!a0$HJJI{?9#RLNay;3p4nEtkc$MJwf;S4@4Al6v zA^VIv_*}upk0Y+BwyB$1)=^Kvsj0TByIa;&F|`rS4smv=kKpW9r=FgSYv!4#-=hYf zUPrx#Y%)G)SPs8Jl>$Fke+7_n zBIiZmBIh08Qs+}(#Q7Gu+;K3TYn^()6;4awN~bMwwbL26#u*4)>x=|Ook_qA&LzN& z&OG2I=L+BnXC+YSJAkf!0Hdv^?P%+3JK7%Fjz1_)2zL~#qrz}79=!v8M6$~zd#%*3 z(01uo>YA;S)oNWAc(ZN;T%+r^u7f+D*xuIaCUEW)KdPIo@6ksDDV}&AJofEqW4gtL_ebT>Nc1h-;k;H=>o+2 zWz2CIbA^oga~bm?8S@d0HW|OAwBtOE5hml4j8;Hp?6SDVjwjjJk)#CGR45w=4xOYa~-g)SqbcDZU%NSw*z~ayMaNo0f;jTaG-e@IK(^# z9AUNrN1JDX=bIOR6V1!Okl6#AYW4!BnRkGN=0o5d69*QVPl5BLpGD>i#7oWBz=$~t zTyA~@UTgjdTwzQ$wwg%>t~ND*YfK&BT5}pOY8nGKm`vbCb2@O7ITN_qv;}T8IlyhE z8*sbn4UCz7z+EN}xZ4Z^?lGf)Z;4gy8wKa}w_XO9q`>M~iHTA^L5T}j%SM+ce{5q-~P^%ob?HO3- zZq3$Ob#=4P(5k06x$c?p`?+L})deaUC{u{59E$Ljm+K9=RP`&e6_-Ny#{?9z?)+2soP z>>LYyc8-gDcG~4K?Mj(;txUU7rrj#j#(Z}F+$TN6rH4b(gYw%x>j}0I?Bcim_w(ES zCyFyooFZ`|emln%emloCemmL?emmODemmOjemmOTemmNIemlpw-yRW%{Pu`A?zhLI zn`Dp2^dx&cHcqm~W9uY)Ja$a7$73+bZoAP*c2uDxJCedAJCa37cD~D#?0i=y+4*ji znype3lbStJ^PbdHNX?NXJGK)^c09?+c0Bcx?RYYh?ReTG+wpWsw&UrSY{xSq*^Xyo zvK`N~WILXsWILWnvOPbnNWKjF;f7>8w#~_QY}=FV*mft|vF%H?V~Z!-u^mdb^F5wy z*NGdj>m)s3$Iv)n$Iv=p#}EwIeue~WKT{>1Bk|IJ?ep4z?Q?a&_8AS>J~stypW6bq z&t1~z8`9@~>GN~x^Ju^>mrAkAm6l?ctA2`IuB;ThTy0bAa`i~D%QY}X)^mzou270y zuELZEa8b%tz~w1_0j^BB0k|e*HE=`9ZNSYbcLBGj*fZPi6nkddmtxOj@f3Rw`8>s* zLyn}ZN6qn+jli^2yNvZy?J{Pi+U07SYL}}=s$H&usrLLoGSwcTqf?t89)q}!8ZS=1 zOj{_pNP1W(F4vlm=|EN4(?gum;)KL06lYNlJKyCs?0i?&u*LmKo*H&p z-m77k<%sliLi$OsY3I_ork!u=ns&Y&YuY}8HEo|mYT7=}uW9=%l*&a?xm+q&O66Lq z+$fb>Yufq7YTEhkscGl?UQIjSikdRtnsyzYsA>1EdbR9)GiurSwy9<3+ohJBZ@*f0 zz9VYc`A)25=R2*I?X#$s?K4u#_PL^#?Q=~nyU#>x*?neXtw*t4HrKLy&bC^1&xzHt zTWWW$CxLI&+75iL)(&92)=R+8YrP6QQtJ)i@mg;KRr&|OFE`~`stOxjP%36 z*6H5?gX!C`r}ay>V;G3IrW%rd9R8y8Q*fSNn%)o?NpA*Ro}LA~R_g0DwEJiMhO(X; z+U3n?DBHJ@by_znJv{@z1-SsP=FSGEs`q+YuB#3RH&UvX)h$#&_)HZP?x2PVcUKn( z_f^w`2Qxnk9K>|C-&}HtoKKFBi^);)I&zG>gB&LxAmb|*(!WE_AZL<;MiQDK42gxCFgj`IHlGl-A zZ(q22L75C-`)^S6klwk} zAS|E+g1^*Ztn@&Pjbjg0_R)dUA}s zlN=`>B&!;nA31~Ef*d6GC5OlbV4lgsGGsCSaf>Bp%Lk}K&eJdRP;J2?Qh{bx|O zAZODLQshhVxD;`l_Bc zUI)BNT{_872f(uasWT-Xnbd+hoB1GhuH^qRsV{XN^ZDZ6GO2)mn0|!1Sn_vIDxofA zK1#h#@*5|ur!HfDhxl73?WA8$KTdr>^3P2=NL|UiI)%#%UZu(>8R`JoE^nsz`zE!Z zpG`kVoh$i|C-tSyV?IQkFZs_W6;OwnFBbpXNhS14=|`#8NnTA}PhG}*jCzOU(%_lk@_PDZ^mkI1Q^% z%O)G@09dxG_{%4^pr1`YSNxTe`_j*&pD+F$lMCpF=@*NC|Kt+-rS#W{|Jda9^vmeS zsCP*Ixyd`J%bAZ;ACUYTlMhl?GOy}$xxlN`$CC|p04&>&I#cqMlUq<{GoLH|_mlh5 z&!e9&z6ll357RFezfP!xx|F<5{3fCGV0(TmqrXG^GeSG*m(!0^ACP>f&_U`-=J6Fy zZ@&buQiDQK&55CA5>eocTEQ0m-iq9i*;g-f3u;=b?}R%XI)O%On0%p%(PB>F0|7VyG|u zJo@?KzZoi^AEsX{emqo49c6x<_+N+0=*Q^q5I-q@Cv`dV2gJ|FKS;llzJm`(R;jM} z1}x(T%lO6bo8N+dHvL@jhv)aDpGQAm{0aGC>SEDT^Gm?C-%|SP#GjMDo_-nq9pW#` z-$}omew_M%STdGtf{^TmH5 zKTJPDzgYaY@=NKj6a8s^8TAg)$Megn<6yh|2gG-$RMJ=Yow@ZL@G4bjN&qbDU38Nv z+0?nB&zO=&9Rl0w^2P5wB}_j;zgYZprUP#4njr zNgqFW@WuttY@Pa(*5ZLw~rjAe- zgIB5if>QcX`s>6G7nISD(J!YyAo+O(mDDQ3zHS_t>ws6OD+&T&S&!mho0|zDW#5zp4+F4IwtzQKIPPL(I57yq*j@>|Mb2Au#7`= z|GwGOLD5V5=23@4Z|fVTj)?xgZz*+DbccRr)G^WX`ju11MQ`p`Nv)dO`5*2V0L%PE zpVL2^Iw*Qh|2*oD=!g4y4a84wFmCW#n>lB{|TF)06Ya zVR9+Cj9gBxBnMh^dU75)OfDry!3ApDfHLZs=x+y%E*hPF+c@&fxw4mi>V`n>t9HM;)RLQL7I`-g_9OUY63ond9vG123Pl~cz> zKQXM5TD7zDsX06Vmi<8V#ly3ygQ9l~&!Y~Bt~(-39T9!Wh*IjP=-7xd>X_)pBg?7d zq8E;=q*m?i{P&FvfMx!oJDitI9Ta`jd3n?!(chjIrjCdnJ*t#CD*FCWWz;dzwMLgy z$3@Q@T}h3fWn%t&M+d-m{@LU_a!B&+#)PROqOToON*xvb>6kL=nCKp3%cIh&kE4wFmCQF0kMMlL7E$(7_lcd!3! zavnKE4wFmCW#n>loLos(Jvd%+205D?BeOOlB47@a*SL~t|SL~v0rkKoJS6mOUY&Aa&jd((3|~`gXBDNh#V$I$fe{cxr`hm zmy_e5AZL^F$YF9RIZ7@g$H?X6 zIJuIHpP+m5A!m@Y$w6`+IYbVVBji$Ylw3wGCs&dKeYu^;L2@2BL=KZ9a(nJaU*EA(xWN$mQfpvKq+#$l2sPa+n+;my)C8GIESuPL7i+ z$tsWYA!m@Y$w6`+IYbVVBji$Y8M&NXNe&G1=959rCI`uRpz>EM-Gw0lB^kG<@Qwp=gd8Qu$Z;}mXCd_&ljhI4>U|N69gAoQ&IicU)VXf8E5G>@7by42IE$m0k(N{*4^WHsNb%OD5IA#&to zet}mPB!|fHlX{_-kCQ`-sL7$l)a1|-YI5W;(7xtw`&j2tK97C7Gg$w6|6966bfcy&Q?h>V|?$@CF2ZlmLAGQPy>X)65&|)3}|F_;E6B>mxdY93+Rx z5pt9qBgaqXS9;S&$uV;9M$eCtgEvu=gR49pC*xK^-Z;oXa)=xuN69gA{AB)SZ~7=X zMh@P>`I3XTQj>#gsL8?GsL8?GsmZ}RsL8>#o{o^C`^`0LkXKe6vkQ^dM$Wd~P z94F&ePu{r5F>;)Y8;VIjLdI>OJWY<0W8^p)w~q4qB?rkNa^z&b%&QBML*)2L{{b%_ zB1gzka*P}&s|Pt>a*P}&<2F{__{kX$asK2GIYN$-W8^p)x54t3j~pY%$+$(9Hy<)? zm*r`4lpG_+$@uB3*DpCp4v`}#^N)IUL2`&3KdB${@^Nx#D>XUvI5j!+1T{JGq^I%o zTW>t%AUQ;ikfY=nIZnn8cV+r0IYy3?BTq9=j*;VJ^$h1v4w6IU$jSV6uP#Uqk>ljZ zvtAxI!1KmKj*;VJ^*rZC4w6IU$jN++^CO4IadKn_`+0%$JIOog@1jqRk>h0bBJ0RO za)=xuM^ENo^6Eq62wA=C`4O_(O-;s+re%FZ$haY(r^)J7YBGLa?XABzJdTm$WZVi) z@)_hHIYf?}%)ekz#;1+W5cV3VoTz6tnc=E)!@PiZA?ejiYj)4o* zv57mV_kUlw1&e-qyA##))Cue-b>Bw<%#>bqF93{ue z8J{puj*{c#j5zb;C^=5fIKVtPN{*8={?0r(N{*8=4l+-UlH=rz3g*dCa-5v;sh5wE znitU52%`LNEWrwlsf!BY;Oa?YtUPrd)tBd4BvTHDjkKkdrXHlDWgv|mqaQ@?hD%NlHN z@Nt808?rj@)c6C)#J!W~wG?4tkrXGSnjUxL9RjZ^~9n)fsrhbtdkA+6MPG zJqs_^&&FLt&cWS3+NyU{JKTG;J?=N!0e7(Nh&$5esK!nw)!*r?COci!MNU_BuhUIE z?sQjgIXzU|>8UE6Ug}$?xBAfuDo5w46x~N<>Ava=-A{Ga{nar2p<1k!`nK6k-ITgw zu*F*%TfFN$i^*BH0GoBU*tYi_z)v$b0MBY}@tT$vUlGT&co^}0^DQPfw>VmGTT2^% zA$WbKXAze--wiw?%f>5O*dCf>SWIjA7VvLb_CIa637)si{X@`L$rX2--Jnbjo z`5jevr525|BOI~VMSRWN8o(M$tP>Px#^O`pjGNmG_*gIN-+Ms|#3dah9%_5oIp5+t zqgnxP>tW-W3vGS=B8x8!x43uNnZVig+XC;X-xYXv*IvM;gKhnYBHP=95f;53JbbZ< zb-cB@NY?ENnfv{h_QO>C(BZtD`V*2!j5EujO|QWMsF_n zR#^(qsk$uNM-9SMRY&#Jh!JqSQJp==_W7M`>$P3&X#05kK%rfeVZqBX>@uF(Wel)D zMms?84jJdKGR~*R+huuEVz2*Gg0|-x3nu`*^{}9+?Y~gw^5ZmFtCv_DJa#hhk|G;l zo@w!E8IQNF4$D$!${g2AJVyE%BWwG)rMAxvg6l`vasG0;?ZK<`=6=_hi{Ol%F$0(r zo-6TE;6J8c3G6c6PL(s=PBm5He2Ev!T3s;I`boX*T-@F^p3u(5>ILWtL}AGw@9Fu?b9##maMU=Yq;vsI)nU4vhhLR7yj#}rIN6^^ z%lOWeORgd(lRb5Nl=Gv|K z_*}bO&E>djHqXWjdfK(xR*r6Of3CWXs&A3J-;8a=ywPxqW#715_KlqIinb}BOMl5KSk;vl0F}hKC7;oKRO2MHn2UX3%)Dcbf4fS>9)`P={Dx>h zcgo&USI(vB6Ku`7a`o>k=iUri=S>6$&zg?)(^U5Md(NMac%dv~kzi(RJC~+%)PE^^ z>2RqG&b$nj-m9Gysk~suki<>en=7d)OtDX<5?yFVLHh;7>s&1)UWelxk z8M9;=bHca&rvIv2aDa@zpNzlima00h)FQhdCd+Gp)~)Q8ZQ07Mv8wy?^K!M?KGOQ{ z$o1$gK{fUs%>CdP>mQcu-Is!A$!m!-1UJalYMt!QpU&DS>*TTDjJfJDUUmFc$JtMM z?kZUI8kZA(?l-+v?V;-Vr|J^rgzfjRs&1F6*Qu&|OVzz7C%o@BQ&pXpw->FL_X%op z!e9KRvUuJxIG4*Y?p-OWPMZ_{`8V~Yay(uwSoNGx_0>X7*x$4IQdI4;>he}y57){0 z@LIvDy;VI!R$aqY&z4oslir#0mkxIS`Kg252gb`gg0XT%%L&*1&DdJZY7D39l`ALQ z>Nho2$M3Dr=Ns95a(g4&|51s*kvK_?g*t-X(U%i$|C`?W$W^JgT$N_ak^8hbPm0r6 zoT|q~)g!vCWYYwz9`#lC$v--4<%E0wW+ahz1K})dXP2V<{9%Y+I^V`!)B9c-L0YyQz0b}KwG!}?!H{F%fla`Yw1 z(YLSDXv{a>aRTsorx5V6&KCpU=v)Zw(+Sr-b#BfgU{=oMz!9C71J`!`3$UciO5p5H zw^%11p7vGwk;fch0ikM!c=Zn?3EjcY~&Zw)qgd zK#i7!*bmfb0mR8bjh2cy1*p+#AWj2nv|5O30ySD~#OXkdRu^#{phi0daXlcOT!kP0 zI(YYg8sgLN?%%2Gn>8O;5yQfEr(O>5X_CP~)pAxroODwYmV$zH#te zn!boH#Fy_JJe#IJ;t;;*=HMA70}xM9d58;u8lRL5240L$P#ip^W+>um_$0+qVW7rm zC?gTi0OASC_+$l7@&;;kDMsO_BA{0GsW^^W0Mz(wWjt^xM&aNe`WGO+9HVgX&-n`x zNAQds2mffFjQC27#lb(-^ARt{SRDKVy#VpG7!jU94%B#B%_WGh2WmXACXDz7pvI>* zGZ5bh)Od2uOyJFGHt=?g5l?-_=M?4=xg;5M(W^SdZmaT z!N2Go{JZWt#9J_GM?DJE>M@MkQCoppJ&92}Y8z1Fp0ulg&tdEi{&{pW;uxN}?P2CCn8>3|fKMwy8 zP~*erClMb8YJ9Mar(&ohK#dQJpF#XBP^<6MvxtuZHJ-HeJn(xglcRnBYIR)g1pcUA zg!2KFW5$-zg+<%lz!R}p6dHJ<$R8sZi}t+Jfg5w`?tJPm3uu$A)` zFxz<>{uw|ViO#!-+W>JSI`1Ps8>sOVs1Fej2WmCK`3UhypvIG-K0!PRsMQ$f0OGMg zt;RVAf#aP|;Y>38?YO;FpL)K&|qfuMkfGYTO_AYv3H`8{jI0_{aKF<8&PPD4K6aV`E1gW>7fuV{mrhII*G?=k+>@GLzF&e=emne`Z8J3S6g zdmzrqdOR>kUjU~Q5NBh3A+W2S45u4VtL{1<*i#q4=>^oPx4sCNt1p4m2dGtF9R?25 zGl0YOOyCGT8#r3eMa>u>&f)q};Q4w!obf=dCg_F0iFz@d3xQfq(w6~4dKsL2AkN-4Cf*s&fdBNI89##Ck(`STVDe#)TMA{0=1f@uLI7}*Tb0$#NMcH02b*Rf%Ek$ z_zQqqEz~yy7wcQ$ECJ%Iu5SZgt?vL{qwfS>tM3M`(CbihJrL(-y&kwy-wWqPAkNJC ze&A|d2Ipp=R=4N}f$Q``zC zr}eYI7xnYNm-G(c%X%m9RsAAxkA4~Wnl4BE-+)@Zu3rUypkD)is9y)}*L#6+{T6Bt z0JZwNej8Y!--YujP^*9F_ko}558+e-vFGcLfQR%aaJ~X+byyz&9?=Kkd;`?#Tm32U zsQwJjF(A%+x)OL?e+lPDpjJQWuYf1?*T7%&H^6`D?~wf!h<^{5V?b?wfMb9-Qp}G) zzxf$X5>VqV*1rH#%&%}#fjC}_qqVAOjCNElpvK*;eZV><2~J(0#+|MMz*9{soYR0f zvP=zNLsJV*BcR3|uxkUGn!0eB0X6Q1eG0I-ISoz=AkMv}0q}Iw2u>>?jvdnk*xob) zb}*U1&ZY&jU4S@hOiN&Q(+W-xAdVV?rx2;$=1e$2AdVVy7O<~52TnhrR{imOBdrFQ z4#0sX2Ywz>bz}03koST6-%FJcJHD(!{+kkjoWUc_NHO0U? zO$q$FfOth@t^%$z*TA_4h~v?e0v|Tl0Ut5f12>x+fLqOtsCgWy)e~kFaGSXq&Qm}f zmF8C9c5@q?XMuQCW9|UP%$;y{0JVC-+zs4i*1>rZh~w9+2ktia!YK!8^@_P4xW|;i zc@2nHJLW;)8|EQ6dx5xqnMZ*8%oaFr1GRd`JO+HvJPv%{JPH2;AdYuDrBADm%rkI4 z2I3Wwc^3GEc^>$s*#SIcb^?!>7lGfHmr?mG5Z5w1&kx6@c@_Apc@3!C*MTmclZPvp z`xYwwK)jc6-v$QUcj2S}@h--FA6Ucv5Kc`X-oLmX0c*RTz^MboI~Vr=@D%qToKu0g z-npLw8@QjrX$Zu-6}J-D#QhRZQy{K-?pMG}_iH%Kfw=0q-vC>>-@!Q@h^wA^44Ccy z0Ot%Ku6pi|z_Z++;hYV`RnPqe*v|bGPJ1AZTs&RR-fP_$T=jrBid`SDtD6L;8xTja z8vyonQ{nUi;wW}&0CU}1aQXmo6uY&7{oT57&IRHqc25E3xu?My1k`G<+Wy_49b;aE99xSm^df%}gM!m~Jj`j@uW` zTp+HPZhyp=0&xa#2Oypg#2LWNL%a~ERk1r5c%?fOSmF)`UW2F8IqF)VR;BJJ;C1d8 zI4gi!UGI(q-r$ahvl6J)jqU}&RqlmwRs-?w#+?kj)y;>q2B_6-ZUOKP_afk0_Y(Mb z0=2r!4Fk*E8NdhJnZO6#*}zBKxv1F;#4AkqQs86md^lTyc(v&+1U~65hO-TbSDWr- zz-QcLaJB>SYSX;}_`F*TCkDi;O}7NN)4dALE+DSU?lr)d-BLKafm)Tj*8yL3uZOb- zh^w=E1MqeCMmTQ(wc6{h0>0(m3}+t@?`Ygxf$!qUSa>f3#BuH30sPRt6V84hj%)XB z;3w`nIB_7}t8f|tah>(O25jnk9ZoZ#RvEs%z%zYs0o(ZA2A<`67ue4CK5E(nafJFl z1m^fYg3}3zBh>c^u&eI?oNhoIp}vE_bA6uz2lze%4)j$5hxook%}^j-k@~&@j_`dA z9O?T8c!BRb;6&ds;Dx>)fcd^3Q9lKUW5@S1@FL$Yz>9sq!oLKFSDQY^#nsSffJHtZ zaK0}IxY!qP@wyR+*NwhZ;4)tgIF|#py24irSnR6}=Sm=s5no;4Uwx+lZ}6Q4TRqWPKt*Z7*jxebUbnlBT$*4F~goj~mQzLvnKuN9niK)k~AWdk?(&V+L> z5bx`KX8||*&Vf?~#4+M)2i)Yt`A?af{?kAlFTTFOXMO$QJO{+_;u`>b#g_+s)i)Tp$2S!ChHp4>C68#5WEY_l*Zu_%1-rr$D?e^<4=3+&39m>C1=z1rXOVUjgtd-$if^1F_Hh zE&+by3j@FP%>aJqn~CgEAg*h^*}z|YbAif#DbV%LN7e_#t4;qxV6uNPFyOxoehLuR zHUBbT4gVFun*L(=wSd_F{UyLU{;S~B1>)7F{~F+_{!-v+{_BAC{nrB<_-_C<^xufe zMnD`3{#C%H{+r=61L9cl-wJH*zYR_cAYOC&?*N|TzZ2Nje>bq5e;qK#zaBN6fH)TX z_X4~6?}yV3h-1ND2JGp75Kb>3u2%ksfVuuh;Pe6FYUSSo?C*aJ&bdGwHU7tedHyHi z3L(YTKxwRF96~lpZ`ts_uSC2Qh@;s5CF0A0IEwvWA&vlXEc?Gkd?gUavi}>z%YitfCVhwaCm_zN zNyiYM0OGuw^aJ950<+Z=(+Z!QZUml*S8=WI$!VI~3ZI;|2cE5>z;keRZG}%x&jq%_ zIj0pqIsGfJ1CG8{_~i6re=B@)`Y^B)o=DOPpPar2?1F!EwZbQ-{y-~yayk}>=aK_^ z;8`23@agFUU@tsDqZK|qeHs{4UjTDeMrte7N38+&#S<%9*`GqEwZf;TQ-FDDVvRcnqFK(FC8iZa_Rv-G}&m zJd>gk@Bzf*)h5K_)x(G3U|Q`8%Xr>Hj(PsKAY8Ua5*e39CZ_#*W&;)_)r@x|)z zh%ZqUh%Zt9Ks-%-j(D2-0&!R!LL63y5l_ccGa3QEMLa_tMLa`&kGN1BM_j0WLOfHQ zKs;0Z6Y(siYBmDunoaPzuZwuL@*|$3k`d2QDTwE)G{kdNO~mt5I^ub%4&qByJ;ax) zQxO-b`iP5EL&Wp(oQ_7orid4)48#jmbHoc(7UG5Kbi|AB6pu#0GY~IUZ4fV3XCq#s z+9F<}+9SRU&-iEr{C{|R7x=iU>t1+EBUukyk|o>NUt$J34_gmo z2#FZYjIF_=88I`mEeeff@*rPHo3ykgkEZmN-jaT4A-$xbElo&68q$)MJZ_paB%!?_ zm$qrXeD|ie>1}#@|Npi2K4+gZBLmI%`!Gjm?X}-)uf5jVYwxq?8o+m&1Ay-|ZvcFk zxeoAM=6b+Cjb8xSj=%kY-)05@zs(#5ykd?3UNJWSUd8W&Y{%bmz!%Ihz!%IU;J4!! zL$>4Z&4AxwZUOub^H#v`G`9kNr96W z-h2S?&zlbc{sr@4z`tM~0DPbMkAUwp4+8#0^Pd3!qIn4LFPYy0{7dGefPdNi4&Yxl zj{v^k{4U`8&7*+dZ+;K(`^{s3KVbd<@CVG}fInzH3HXEf4U{hU_x~91hs=|Jf5rR> z;9oIM0sgT0Q@|g_FQjzANB-x4f7Lt#_}9!=0sk6)Go=fD|GxtKAI-CXf8Bfw@UNTa z06%E{2JnOUMU^gi(7y}#H_Quwf75&)@Nb$Q0Dj2)cfb#s9|Hb}`JaG4Vtxepx6JjlheKptD4A&g1xv6HZ=1fhw=B}D|*8E(}{WZT< z^IJ9lx#sbj&({2T&0p3$SM#?u|Gnm4YU*lRYA>nXQTxi;-r6_R4%Cj;&eXoO_H^xH z?Q-pf+MlVtul84J|5NS5wU5<)y7o_Nzg+ul?en$Yul*;O>P?A`#P-BhiPt5rNgPS6 zCLT&Wo_IE~t!||5r|RBU_h8-Qb)T*OQvJWxZ(P^4?#Q|oY))=#cx}UI!>=|x*YLxJ z%NlQQ{KLk7YrMQ^f78=VE6ty8{zh}dhQ$rb8{V_wmp1&thRf+HhpW;&dt|szGd^=<_9+a-L+_q(@U@tP}s{)%H) z-gxD^uDq$|@~f`C>UCFLdG)KWp1itl#o)hY?B2Tn>al|j>ofRo>bxx%)75XaMUHi3eJ3G!pMH-4XE`fo>4qwc*gNe;5mlpIG#y7 zQ+THF%wYfd1a_8h#J=)LJU8LF8PA*X+=AyVc;1R<7SFACl6dCur0}HiWbmBAa~jV) zo-Cf*@SMSu!?S=VkEeiV5zp<|xh~=<;VEP1dI`^2>|LM3a~`|Y%Xsd47BgqFAxdzDv0LtF{Xa3wUtmCyuNLIYe0$$uqgXb*NMdm#CHAn|)3 z>3bmIdm!0+Aklju$$Kz|dmy=cAhCNOse2%ydmx#6Ad!0@iF+V{doas;AaQ#jX?q}H zd$6zC1L@iWsoDc++5;)t13A!xz0@8^&K^k29!Sa_NXQ=SJoZ33_CPB3KvMKT3id$y z^+4+NK-%?S*YQ=@FMTz39A9I84_4tPU=uzDi}3eh5B>q<&L6@Sd>oeGAHfd%B&@(s z!3KN+7T~90|NSwnzt2E2JqgS2vv~dlw%_Mq`8@@@@AI(w{uDOfpTXjL8us27Aiw?` zw%%XB(t8GW-WPGX%$M+d8P8YDFm_glAx(#|t2zuxIt&Rq49PhRnRWzH^9ZEn5lG1+ zkd8+n6^~$-^+{p5KdkBLxE8+VYvCd8Gry1+h8J}VzRx~*GN#UjHfcFZG|pdgofKbFMYlt^0yGhUXT*^LWbZzHIKn`#wAm0RK@ukKuU| z&ojV1i{}MAKV0{9v!UVJrn}*J{BGa#=1{}mo0AP_PeY$sZ1^9j<62YOc&%w|tgpGE zamtJ}_L-X+KW8$H2W#$ZJX-S^Jb!`sZ{YcFc>YJ@@tSo_*P4!|8*5(C^ks7d@HC!V zoBrP9@IH^{?Regc=RF{6g)-#%s+@8^2ha$NLUE{}WGJ`?Y2}o^d=k<2lvdo_Hso z``ULT{-pg?iSM-cCTcr&B>Fnulz2-=AD%ZQ{-u66@nFZN%v(C95?@B#_d8O+W$Z-$d*V%--<8O2Zcn@o&nGs2F!6VI{x{%VTiO$E-12bZEqKa+SMj`i z%Lfzh!}DQ0kK_3~a9_pqEj-`d^6A9om;6~`?2>OJ-h<}@m;7zwFE43Nyl}~mME%zG zL^qySZvCgk=+@!H?OS&wetGM=5}(*wU-$oP-Bh<@+orlao-g6~!M2CZhD+NM`|yn8 zS-|rEp5MXq%%#b?zr%a;W$lS8FI%X~Tvn=k9KMD3UG{L|FM#`BcwV*rZxc6d&nAl7 zKV|ON-k!K0&!c$0j;Fm7edAIj>tiVI zgNaAFKA8BUu1}eVTR)iiGr(W#YES$tp7oc1FtHEM0G<+_6+AzS=YyBGCq8odrxV|~ z{P&Un(}~6%*~F`Me9F9j$2Sru@m$z3oOoo%!{(E~KeOZWbw9*=efOtKdv|+cFP{GH z`nogS|CIRo?rh?#2!FHt8+9F5WD`ACv?qq~B=Nih&qwh59-hzOc?Qon@%$a0f5KCD zCHjZway$cg?znO)@d>=YfcJmJyS)c-J^x&HuIJzC?!xmk2tSPHaXioBIet}p;;nez zjpw)Vd=}51tJ@QAzPbil3IAO;mC2`%W%H-6PtVTw?lRZSm^7Tzo2INf>=Msw|!a6FY_!$$9k z<=Pty_Z|=gC#OtaoykHc5LqZ=Cx?(0xaeF5J%Ni(EycMaM>D6&Bs-FELQiIHU&>&T zDrNvIR?ct)6)`)XEcIv0B_tlm6-pTq9=*s}P8Q3@3RdC((Vr`%&iDccxPkdh>de&A zTq#wAe1S9&;eiP9G6j^10w8WEWF>Mx;F-lVn&3+SAg{+<**yy&+CV|Q2Qm&}%J4s9qzHqstRmgc82Wk7w! zVsd#Zb9w=7W5Lu7cwcw@{@K}c#pEKunfzRwk9LdR(8&<0kKNLXk$id2ZgXQ16)T7d zl9h4Uk8F;SIFBX^IT_0Xz$-5Si1U(*+dB&=CU1d>a1p`_rPCwn>-T{%&2>vEn>CQa z^l=(gF$=0`ZQ{jbdESC0%s^7l29c90+QXEPlQT!lDP~e<`kj6Ov5FzpZEBO{M61~4Tf2)L;7(+wFg@aitrH_j5!*U%4#ayd-q66(GFJJ?{!o6n!Ul)1$Z4NH#@x_aL@&@ zhJZW(WMmW&&X&j+q#XjqOlh%@hl0{z;nb;8MtB)Z03xbi zC5IK8h!irRf0^uA)eHMv2C6b&_aP$Gmb(#}$PZx9olz`P1K5C84uNi0v7s2-yGKf~ z^3hTfC}n1**pHAlKh~N9h=`C5;h=SZ`%-6^pHSNG1rSo69Xr2&*ZA|=?^W+^L`~$W z&b5sUSMQZBOZG^5Tei<7nlH}B*8ojE@fx!qs5RPo08x>iBP=X~?gB)+rVD3udPz)d zIRc!Rs3iaXpvUvc@?@c~AcL|S=s>P`od#N($_V4^fA+MO_Z=K_EK$t^r2I-yd3L;oQYUfdM(~Fg#Yk;Y=diDbwNUZ}1T#v_g<}{QfXrcuIt){qL{39HjAH)>W zOE7=T)X@0gZ2!#R!$Xs^QzJJInX#$iNO*E+;6wyL3Xd2_Qv4mrWs=1aAv$cj5n~nK zh&eVgK0G@zK0P#fqHolojEV8_p@HcTH8s;edu(!IdSYN=RPv+A<)zZ}^r#dahNOxx z$l6g=6hT(xFu2@)Sn~S_TS6SA^^R(nv`MH(fiY>}xU_6sQ;fS#kDICGQaQ7*b7VqL zlagvuQ%$;5lV+^%5;LaDKii1mHV+C7?_@tlvCPy&8#SPR!50>CT6D1!05!( z&}O9yk)tnzJ;!W@pXfQfYn=D~efz zKN_(m*bY6$4YKm5mNSj-_%-=?n`hmy2NV z?5Qk6(u-_~>mr1>(m=fgOIVG_yO7gLJ?oGBIy#UO-yr67>b7NHY@AiR8qVi*jT1VMrn=3NjdVo3!WfdcvD z0wDO=%IcyTFO;*VD6MBrJ_H#rl1pP?q0xQlm}q)=(Iw|f7Ne#ZR;f@fRhBg8<}*bk zollm=Fr=Vh5k@DNy#zQ#*8v96zJw{sgV}NxWu8UUsa*0j2AqGuf@3AT=dyXMGXw=gfkJg2g!;h|YbE}{)*viQ4@ zJWt~xP?xqxUKlB0^?8W0Q>|zY%aKxUD-=;!HqTeKG_xpv~VFID`p%EKpdWY<~$+Wd*$5zW%78o z051n1iujqN$auU&$m4DGoP`D7X+mIAY^L^!V(*l z0OcjHT8uYl;YM023ntC>F!Pk?Am|gRB@9VHVbInSMQ8{L$ji%+mzTjvULsIi2`_l* z&1fc>$I53Zy>kkT45M(TGlzFloToe|o|%O(6zAP6WdfyK%Ewh;L?f0e(5QNi7=MDq zi?2Fg;)!C@CmtQnrivJEa>e8PxfYMJQ!kG8XJS0go0#z^f1bwU{AnAHv$Hsk=4_7R zWTMBBGVd#pRt&`PQK=A*6(JEvQenBKkQt|GDhbajB>bwN<<&3%ek}*dgMf0li*gL^ z!qy@Uow=o*!b922f!rGZ(^GsLy?WV6fBB*-zK)8tyIuK zWkINqCbqOyAxW*EO{{^Wq$6s$SXgp-9ISQd=hQ^*;%MKtrI76GKeZiNs;O++wK ze~=oa6nIQ6M(MJe@KUM;ouk)U8?w{k^sG%XvzRNODR6C=krD(Kcl_ouY2$4jARvi= zotj@NFD)W5U?H1Z%_+r#kP<5hIyyxV)4@_uGlxOV9fn=@5JS?qEqCjrF#)-(lSLXx zV`db~7b~u;XAP~VXJpMtR@mpQP9=2&!4wnuqgk4_5*q|Gre7^z8|6Y8r%f+8BwOP8 z6CgEZ;AXVtgyBd@Av#i4h-PZB{p|W$ii;qGaKh5MblF_3?(hjLfuQ>Vg}K25 zEO#9EvMyyAji8(Aakag&^sqSAG3HkPk|GRAE5o2|Vu-LMDVL&h8wM{6-vSfq!C)o_ zeG2D7&=BcZh-T`M($M)uthO~T%}<-&g3=}n+Xi`|k&-BItsw|#D~=_XNkkO3^s+BNC`yItqxOOcqI6Ejx`pPc9GEpU7+eUmqp=z0`L~2fzIF?UJvcnav z@*)W;wy3Z>%}pz?CZsC;R?luppq>r!aFL5zoX;EXMkZ^=!-HratA zC2Sm9^fdf<(g*=0hd?%qz|i;qfirJ*L0lPw zP5+A2&e*Mt2~6C|C}+f0#zc+5%6My>RYur3Tcw48iBp-$H*6|n1C7Y}T^X&@trEYM zTC7azlwP$MtKOuZxi>Gh9vaqS_={&Z`idCYZljI;?MO7mu zlC82Vl`@t1sq7t9QcovOS0=qNo5qQyiW)6*!$DdZcO#tQl~|EmGsP+~aGqBtw;p5N zrLU-dw4fUWmH7sjin4`J83VzZ#%2HxR8AJqMxM{aTP#HB+x=5tB^>B#4q5&gmIfGw;x083R=&7Yt3P&eSE#;gCqIxlhvGoEu zRXuVX+ZmNDny!kS;=!>rHsUHX94lrQszwB2@-T*`utrwdIH@RX_-ja?8n~EUziVY1(d;Y|3JGhYb$hsiqhJ#gix)5Eq4#ufo*((mhx&bX; zX5b(nj}r4E4MRVrgGcQ?u@}yA5hDpJPRW?b6b=Gt!;!sUx{`M!3+RY#F=I zNNFUE-Go9Jg2mx*>KS`lF4XVNl{y5)gM-l^2c~Ro=(PLP#KbDCO8?a;S z;@qG}W-&J;t3sy=IMHnek}yK-kq1#-deU2R&=Qdh0?_al*5D~|!LT;b2|>azBy1N3 zZNoyuaHfnUl^ju!x^{tS~GqE3Lyd7|iH)F#P zxC=9rABG+e;_{huE*XpI*P}LiXcdQP zWc|x+gGnBdG*}tpKrTKx3BGjUmjIXxa-ho$7M5_X%S__n1kS5)CaU|+4C5p(LKLSK zGX+Nul8z2=YDr%OU{eJ+<G$KsoRUaa!3qlAfB|OIg zsh%s7E~5hh$n0*}Effj@BeJW_gCv=;WNIF#&#*;aj)Y-DgppE`9#hkTEG%uFumRgz z7la|eQRQF8kS!&z0M^(Mn6c_L4AOW(slp4}T4ESGwSofta7=kg8ej1Uf^)&o6ceA4 z#uuN0@WrPfZp_S0@rag_5Q3zY?-#wGlUvfj|@4`$6ESS z6fvXvm?*8apyaWz&EbV^ydp}{=sD0v(#b+~}7#04p8v2&(Q5W7MXiz`?#NwHywJq|;< zJZ2x=350kYC`S{2?F5M9c1k>7pj*NSHXU+5S?sSlI0Ov zS`Z><5tFn@kpMd4sm^@686h;%hTDikDe%I zVXGx`RCRu0d{8QFwX!yh(vuE{i%5U2P{bL@c#Do?aW)_y;$6iQS10t`Y-J=jD(Sm{ zb1#`&GZh#U2WG8*Ff3$HPh04)glMInlnGu;o)@ST#=C}LTQt3tDpy9ZfMk9-jIhRw z;LF*$EWfM`V`(AUEmjY!?ruZh7=|{V#+N@!88cm69^|)&0EhDWCb!6El#CqCloiHD z#d4HHLmU$M_9BAyzL1FE$0MQ1NN6e&nvR5Kl98a>Op743C0M#u!D8Va!O9uA2*w?c ziy&1$j-(?RF{oLU#};f{Y&ji9~Vj z8bPRq7eP(CQ!!C&aM&e+_K#ykB7*Iz2v$!bL{YMR96@0tI1<)f-v|nOwvjM5WFrVs zg%J#VYmu<^!$fdmB~pAvu-2^+!O?n;Ae^ZkK~^z*E8+voG!kR2zz8n1*&^t;sS=5# zYNhoNL8=K6L0N?#!G&rtf)*VW!H6b`V&nj31T_+TI}t%+nk1y4D1w!)VlqR>NAMGik>FG`s2WQ@@rb6w*B%jsTajWx1j}F{8W}KbWfbzk z0mP+MwK#kR60L<_ghVhn++;rviJ&=E`GrUXsk;d=Bovzeokb)A2c{e?V;Ub_MAE1x ziJ&Mm`*6g_(|qV-3^N!_Fcl3>M}wpMgdx=LM&Xy=o%zUVi%8^E1662^P`Mk zh8|n@G4vbxVcAU-#2~g(u)@emMf?LvjTO<(;X(m^qMfk0%7wY5Q_>O0HfapsWFx+% z!vxq|5RstxVJDO49GWsvG71no{~|akMIc*@Vs&d#;4+Hfjt4LE(g9IOKRcbCFQPq+ znkeFSmj30wQVNMZ1p4VP;<0B`aVejd;>GGjQ$`tboBhD1IE;D=lmnl21x zlc)2AQaKB2p5F-wO)MxRurP@oWU>IcwgZYk+7oIxzftpbz;OE}&l4N|*83bUXTWMNx~4MA*(Uvg*KW~K!q zSp|@c0@-YeAK4z35mI1wl;V07kBKe*tM^ zz6!*OaS%t^#5cq4bdDf{0ApY+36gJy#eNcuLee1x8I7^i0Ka6EJJ*=8jEDAidL$2> z0J)G!E+}GRsT^Whzz8x*@dAK<UaMGKE}bB{=DfK(;RegSrKHiA%iJ<)B<_t zt+d+@OVfRXZG9Z&pV^W^B8ZB;aoM|}J&jLk`IiU&!Th*DL>mX;ET!-*O(0;aCJ5e; z590|S$a9z~U0LwZc^pjOSJn`JILiPPW|f|lU{3-&6lHA;#d;>(=h@PXFr*tqwsVM+ zYr5=ta(`{7pTJvRwbbjJ>{4J5U|sIqn#2SFdUL@6u%-1*P4(pJ@q`Gz(r=3s=#dnl zNhFLTMLI(xmo`cTHX?dmqMcvW<4|~&+l!of7|s>uXn%}!! zFfQFYMH{TN({@79+Pmvq`5wkvj-}lq0KEwDfQ4U5^42jgbTKIls!>I6O3&DMaCAp81G&aADwxQct+l|R01<#p$;T!_Ik#M?TjXU0-=mK1f$c2gy;mPZX zVkE{1>lhlc#U*1i==GMa3Lx4|pupchkSo%YBuKlxBCyIY0a=bJQwfrAUT`>eDW1$- z@JS$#!o3X2Trb2#UT`QiUyuQsSdm$n5=-|LRB8kHg(}54dW55z0#V`$hicu`dT#04cxF1J~ ztUyXzE3mfRRq?{kSPwWykCa=1WC@jrjwNjswCh`yDA&O%QOqS3S7}R#k{-sA+5T0* zqRYM)%MmStb2N(}ZISW(k~VCNO%+98RTUnnmKvj&YPXkRSzlOmT5CL0-bqO-*1LRO z2;+zM(COEQy2!Jz$a)LgHP>i1e>=Xo)k$VX#I7A*;+YjX4|Jc$M^bTP8u0QgA3f#= z#{IygADHq3(|%wk>4)5IkB`&lV6&$Z2_f$zWvj!I?u(#u5 zxtHj!!}9U|mXD9Ot6qCaalkt`Z4habejpghn2jgES9^W}Z1(s;?)CU#+3N8T*y-_u zcB98f$)x8B(nn%Q;;6y!{HUKYa!AyV-~d>A%17%sREfY2OUb*$%g-ZCtda!+rwZ0P zN$D5j)-+Xe$SS7_-mXKc#Dr%X{VM!(i#{IZyW@&JS}n|KrTYgH{T#tbk1ClcfvTXn zIp-JQ_U3$Cm94pWbf6mi2)i-oqwK;JwvmtZmu|G1{5X-EF`RD7`Ke?X?jvB>@br$4 z3is%ItZdQw2-%^FAjE0!V?vj^kA+Lx57M>lht+-RW3ZIgJJ5WjP|`;@hn$a7mz$3X z9ceyRJ!3wGPA@+!E+Zd7;p&H-qr}H~?gt-@{`kS@y55fo7W6(cSWx*$p$0?+tbHFH zTFO3lV$lyxMMAzE8c79P(+|gOI6p36@)9@t{Fs;-6OF=NUIf9dJRcG6kGA|DF9Yq3l`4Y>eL}nj+4QMbQT{F6ipw0 zA>jmWZqzT1#C~yT`a+^;-S%>cuDiZGJ3FVpsetvfep6GVJ4HULfwi6~>mBj3@PtL5 z%qMX)4=KbLD4IeUr$#*&2nIv<2ZD_NjF-fE@(Dv1^B_*byTv2} zlhb1X3`J~Vb|(zs93lF9_LukuW}>mMnZTUe&EO#V(mk&d(5T;%i#y zN3#GPOA{!H$AM5uzWT*SzYMTU>%Ma#<_J+s`XfFeV!_@7r+GcSZs{X?BvzFRs+x|M zh(Nj9+htvQoP1|E1)1US)a;Vc)AY8WAd2eOPZNYg?Jm)tT9>e=&ux*Cb9PC+y`n@) z;=sYDlGw?Y;}rTiv%+vpoTuMt3ci1)!JoiYM9hgsSIl?xS$_5%VMid?&{aR+Pj0r{@@4A^4ZZ;c^T%2 zC5C*n#ibD$N968w!HM0HTn;S9%Ppz-J-=|NoW+5p#!j^0bSqlGVJJTV=HxF)AUicB zy_{T2q5*_kT=&k-mglnpUk4{*c2WhGjJU>2kg{~D&6Kmbk~-lbNMtkLN&jGHumpL< z3wecakSfqZF2bIzh(@8sd z$CTU3QNrlf3~LB>g?QM*p|yL#*8>h+kPV%Z87Y8AtNq3T8Cqwy;jhFE=Xn&cE+r9I9dg9oQTUfl9?fG55ulx z#7dJBRV9<*XYfi`-ef43AUGjPXKg@8O=E3s;cy4DRyDWAcBjK_7#hQg6x zKrh0vp^eI>!5bE4X*B0m84!@V1Z8UySR4~W=V7>L+tuWkToz<%`3lB{gUNh$(+*~u)pfa#HE9!l7Lc*t|%lQO7TK&Uj%vBCY4?+fuUeO!G@VQjtlMu zkvhXrMsMM>Idu=rwJZz?9f}!9KNlC=7-CWZo~dL7By}hx-BOUz=v5ft)`07R(qgcz zLxs0ZZJ{ZR$IDXN#RJ2X(;APL#N%!A6N5XDl4XiO_lpzZZ%;@vwO6Il7PQAnow&DH z7AbagN^5g4Hgm;z9y*WxdDNqay|9F_2P|zE_EQWqnc;1!NXV^wwv+qfPzfmuP2|Ii z`0yPTBwg7mEN7wNSHU8)g1-nRc7Qt@AqbR=-xfd&doY|SyM0;F)Kdsw%uWw@9;BsW z2*a4)$m@s%k0OKm+c&)FPlO6Dfstw*q9hnftSCmtOYVk|fzWGWB&V#51*wpXu!52a zKUBh#$aVds5~7*O1%(QSVl5GicoqP9#Hg+gWNxe{EuZb1yz41N!h<3NVyk%Tb0 z7aSc3hRG&Kh3Nv%f|MMFbn3YKcBBQ~6+4pH4_o4g`OA^41Nx(jPFHxE9E#rkB%^i{ zwg@{U?YHpgz;LE;42PH4&p?k0$#6JyQ6ks?afm2|`1=7m{S|53rvZ#XL>C8Gt3x%c zr!AyW!W)Y^(H%^Vbr<0A7lOH`SVR)}>n(|;0D5MmVFIYwBFZ*PuzhpH=+y>G67F6EtRDcSXoA{`L9%}B7;EcYU#m>i~}jbt0DUudK)u6oyzRAN7#<@H9A z)DMHk7}>yJlr;EEok@e;54AoA3z-tnZBX}`V>nB#Gu9qn!&)D|kii84A=tTmWqC%@ z0OE`7r>9GrAix;5hy@Tr3uFl`uw5_k8*Ire0ELhMd7{hwbLOl&F^P`Yl)6JKRk_uc z)iQSTSkghW1+kFdXAQ2>oGw5ppabW$!S+2P&?R0S=^!((`y%k?nsq@ag#WxAt+UKCvux(*`}d@9Qy zFM-Re%Dzg3sw6Lhyu;ubl9|7_v<#mpjW$S{WioocFVCtLbu@wty<}v=5Jw7Aoi}<( zjDz{5f&0-<`3V$RU3t2ipCLl4?F>AgA|6Fv`twk+!x{emEvmR({*F+p1|OXthT($i z!h~rmkenu!NOxAzWySeAS!?3+T^?5)$zv&ugVbu7euzB)juK>&yy5%!`>7 z2@fqSqSTQRkA>qbn1t|~@9im*Gg*@{I5}%ZOxl>HC4=>gDH?Nd#zNg@!4O+E-DVDP z-6n}}+05H~S(5@L1xyAd>@=ngKUIV9DU_T8&a^M!Zy9L@@$hZdpF><)$}lY~Cu>fl zyfV_JQFc+%;Zp^)%M2a1<#d}dGh?RAG+HojCgiQ{$sUNYN zrOr!lN6}VN53*W&yD2B{(+HQ*t29e!&)F0KrbQ{tw5fpJWwUG+CB4S7)G}IHk~Wml z(na$Il%_q&$cV|9w=99qS#vw;V{Lv&;y0y)o-B`4>ciV?T0&`QX;*+tpe>07W9rE- zrU3`$F{-9v4rOB;+cb<{NkSN$2CiT{eg+Ap7l1X}9fs5(UCDE#@FIFJVa}lx;mo!% zU`hMa8g9Bu!YH#PCDc2s<8-_a^>9>K)`IXZsnLzn`4>loQ9ikuyi-8=$^&d|H>fj@ z7{;@8Y#&Cop7b>Bqyt+u0DK<2W46XI)8Nig^u2^J0sWT;P}(F)yV;xs@7`f7%B5S}x85MD(3^N2qo@h6Zr30^vgH_N%f?3Oq4&!IfVr+_<* zHZgt-b(`f8v~~@h6ayIdf>i99lYplmnpd3AC6kT?C%= zIBoh7*N5^7fF>j9l1R5NNH-ugS4(*gC7wjy+t8POlsFhGaY|}l#Au|XWmD+Oji5qK z^05cQXu)yh?1L;g4Jr)b?=JMPAL(vDFU>OBa^9Sglrvt+5!8BIXmJKqT0+T6b*7)h zqf{l8Zv>T>Q1U!#If@nygCb`UKMa~I2~B!!OIW*WiCOk@97Z3KkXUScTKZCw7UAbF zgB&BE@DN%~YA=FkGQuCbq|d$R%^dRGjGBkg@)>E#0$Qr&arACRdnQ45vz$WNGiVvx z(uWd{;_qIJ>j=X8(2}&2T)^Kw!Urkg5^`V`@oRJDr1W{W(1g@K0h;Ad-p#0YL~3T+ z$vG*|{$@Zdc^ti&14r$Z7G;ALaX#E2HU9fsG=p-1xesH{@fxo>ezyr{41$U; zWxUB*_~}mkC1;HS&Vr^oJN?;bmS5`p8wD4>l$yymBX)dqn8)PCUi_N_^$(*Dlm{cA zrCBDgxbdZy7y(BYkbX+2&iQ)=yqg70IInNRxDTNmjta+p9wW3HeVW3&>qEXFgtdm7 zP==e|BZwJ5nxja|xmKVoTRtJwUPg`^(WW!P2`9h_Y$Hn?09-)1Hz60k^aGajpVXvw z*Lk`ZW%i?`oJBgn*&@n;0raE~kCQC;VO3zqWt=&_$Ayz%En40_gBpjVZ8un1=6HA) zQj&V-qy?d*7?jqWlNJo4)@8JOH)wkkN(|==%XPHjIQ!HYmNruQ4G8z&C~f5I3T4`1 z#E|z@9#hI5Mjukr$0I@hK9TGA(O2{lAGHZh9Vb)rux9P^0MfWV<7?ia&o^Owb0UkV z3HCvDP_yKv&-iu|dC0?KNFSA9b4YVD#*31sA0=>MlioWFWsTif9j&n#uM}u9cnd9tubrS8KLmT_hmOhM?qrsSr4|(#i#Iw&+ zmRA1U&=zPq^20bZ_i>a*KJv$#<(cI{^r?XUg*-VV^N!THDWDEHXdYo|Q+z=Om^2wj z&J%d+IC2!C9GHsbck`S*HOm|i<(S;)0oVLNjop8HQ82QTaxosf@oiE#vC{Z&eZZkOM*1G0pmvw zJ|A!}tVmGXwV9ko4qE_6OriDUl%pagDSsWWle6|A%^b>!wwQL?JjR23(2IP#5jrJr zT2rd;ml3}p98LWk%3tad>K4x0wKV<+;!{H9U8tM3$8MCG!<(G8g!b-6-^*wjr7>+8 z(sRc4In=IZnHrpZ;w-oUBjF^AKVPXy$mirRrl-!i38m@yMrq~bJZI}9%H=4joX5Hq zH8@*^9JU+1r?pDz>C7KP9Rt8o(!W&dRi_;G~&AKxYRI@ z`N6*442eQLegbvs>PRQKJ1KF6sugEpK1RZ}R9mVow&RHc38v}X!6a#chLvVdMw zYtm+^q;~c4*ym`8j!K-rlrTqQRC22t##2wzu41~;Af2vioFuvp@w<^u`2!wFw4b9% zEg8xpd@zg@v;cIraGf+Bl&I927V5%R8l&!v)PQ{$yqRwzmM`p)S`f!5HG2=kWfY~PYsUA6W)T6vo*=~0Z)IOs!JM2?t4|0sv4gAPD?CWX3Vh@(A5 z+mb8zLA)sgbsfDAqeQ-O){|RPhU>Ngkr1?|D{T@d?I>B4nxS2N0Qve+6W5$6)DbN? zw4T)RS6hdgAy?~n;5YlzEvkcT?*R~!(>7k9G_ETtMIO~ag(2o}QwrFTQ-GEk? zA^T|AoCZyXKr_;cbB8n?M4zisOKk^Vlf*3tw^ryCj?J_XrHMEXtipJ=y*AfVu=T3yg1u*O?d$HQaMZx zb*me4sI$X{gqD9pt^wYP_2Z9I%z1xQ!=Rn!`a$~2V&;TmNKGQde& z@_}2Mx^)`874el?KeVCii>}nhWPHi%O1*Gpa9ns>?JXzUoV^wL4l48YgW7IQaX8k; zA>j!671WNReMxVU^Ci)5?fNtW82fRZ#{`dLe+)(gE0q4&_~ zF6UFYLuO6fXXLM9Sd-&}kajAmoSYyhyZKycC;9eSXeFtA=2j^ug1Hd4l3a@yKqGQy z88cVcUHzD0q?K8wji-`8JuK8_2SF*{3L*_ui#l6lS7b#VuHd763#}=&ZNhmTN)qZ# z&IZ*z&U*1zaG~wO`KlTtwA20h&2^O1^Cx6JtGuS=AL=&eiKBMAO*o_<+I?)M#?a?*ylXn4#y+Z9BWBM`o-MrqEvJ;FAdu50|%ziS6b1O+aa&7Ew|&m z?yOyUiB*Q_EcA5{<+tN$wZC)V)Z>ubXCM{&y%us7(k4-!R$GMYTxyK?+Q8MU>#JV$ zMbqgDAe{e>_qnd3&rm&fA@3i?2&%P2zbAcmv^8%8W$5P!si#(r^Yu`c(Q~T0XTZ)& z&PqQWsZ0$)zM%cZwVoRde?4ZFwe6uruk+UF)g>99y@4Fp`Kl{D@+wOX?Jt(>G=tM1 zlpve~Gtm1d&?~32oE;X`{OVnz1wdZ!1^u}uDv~L1J#>B9j1E#GpJ<bupds^f%wd_2oLd}Cid!jX~*=@dVQy(BDVF4DIn|IvDpl^-Z^E{*( z`x5%MDATxFclw*7bQ|*1FQ(csgC2#_az?1%4-Qrtb`$cG7PNZFo7@>0!Sj>s)zIrf zDn@DO%S30+NFnVIr!uxYx%V<}-^>$@?@;0rU8Kj}?N(DJ} z?Z0+TYJyPz;z#O1u~6Q-e6$G3FI-1+E}TJ4)I4WISJAhViRIiQeOpAo-AasooJ0>v zeP{8h)k}*{wda`F*)MH1OD!4Q7am1>bk~7Z zxc1aF3&;5cc-dJ+w8O#~PadcB_>=JXOWo&U&AQVyF1&nL#$z5ML48b#f3xts?v(z2 z*)sJqzmz?=aZr+baFki}MsbgQ9y2PG<1f!ox|WxDZBJ=+Kj~{^l+U9r97lTOneHG) znjA^rAUTxlwxk{1P=@{gHNHB!So<{>RMNQ&Y~9ZDqMKJ#Un?pJcnK`mL$ z!>X&5P$oI4$rD~te@CTHcM23tp|7OTD8`#>mOL=g6&`t8cTC(a0QD@T8#Q@#Dylcq zr=o9%QCf26jJ_apl)u-hsM#9om{)-G!&lKqi&WSgey7aNa`y3I}f98%)$L--9^$qux+ko z6X^LktfpzShdXJ`x=jPp{b^c)EQd5xJ_*;NYTN4m2KPaCp=Q zQjk_PwJv_@4I!@Z^o$01n=ar&VcPllH>&sug_|lZC7nKj;Ix4yXV9k_%TxIG?&7DZ`br(-&(ONqVX&h3$ z`c9{#5oMsGQRw5PmUNy1`i4|PsQ*i;9qK52Jb)T0P3imRO2FR%)pWFiX!pLnwT4=N z?6a;l!anf~TX=GbdpDH7$1p2-9*`CyE%zmGFW=Q>6Q!@7WQwlGY2VWa=*D*t{dzg) z1mf!?cS=AAILp9!T2w1m^EUVr zM18}dElS>}-oiUHTmbK}Md2<{I4hhz z75c@gpTl!w&KIO}L3dQu6QrwT>MEWqc=_jcqb>4J?{Q~dy;NM`sTb0pBYJ{SHHPj? zXJt0&z6QS&I1Y-j1g#f8}&-5mh<>xeyQO0*y+V&3&JlDsH?cL z;I2IVrUS@HUZ%8EAFgspHJ)~-@i_im&2p{i)=zO8$E}9A4x`uF_dZsRvy+bWD)Hny zsjF)TU(QpqxD&-31==c1r=y@N#n93ScO~3OQ|hAVnlXC*$M<{r=Rj#K&x7;0_T*{E;_Cb|~US>*4) z@B}kyrMhY#<{HX(qF+u&|w_sY!hfjo(rv3J;$pO#(BlsJtIRCUYy-sc?OjiQod0ws@sBxSJC*19K zIk;x*>OOG10J1Rd*J!{JFqT7aao>K59LltFr;hrM77M_~pdERQCb$**!ka4A+4t<2xTS&{yS^DIoGZif) zhjHZ{&O3LG-skCXWnX!ckaHn=>N5O(&YfJUHb*E)!gZC-l8ejR7n8QfF*o$vlWOPn z_d}BKEF`~Lm+JF|2&uOpp9bu-C3Jz z-;{ATD73?sb{E%{FRrUXKh|0;qqgM!)&eNTlc$yE{^ubZqZ~({!OQg~xmn?SNo#vr zLz(Bi&Ewu^s-J{=&>YXuPrbI(d+8G8#eDjdB(w!7kHgbhmC}wa3+<_&yk(@elN{8$ zl~OKj87)Qn!8w1cw@i1!sn=h;WvVeQ_JuU}Il>yNw~Us%G}N{{)m8ob9JB1?vCdb1p-HOlTBEJ}!u;a$_@%bgX$*Q! zs(T52e+VuAL0C7wKcxEn<;fVog_Sz(~MOVR`nzmXwJZJEe zenswVSC#8}vZ0y{dldSm1bXRO5?8mOjZxdex6ns0%c;@R7&ny^;WuMkA#goH+Uuzg zcj}sF*!wY7^m=etf#3K?cL#ZjeLzxBe)GFJwPMZ#*1b2ytG|Tb&5#$v5-Y#B?z5{R zekIip{&Bi$3}eO_$@QD|S-<4cy*i#y>BF35$$IXGerx?Yk-mQRk-mJ_NACKnUvv^N zy343F>dgzJCAoyYC+?qw9JkP8-Vci~>R~1IxznyI_5qO$)#g3RnUQpkqu5f`#Pf0)(6|q_ zA9;Hh+N|Szvz&d5dL!I8QiE{KPfv{F)sPdpM;~&i)~L2DEy;tR6J@01RL3{tppp89 zs7E;tJU>7V;Fs88jkGx_=k)xpi`R8F*CbpiX#7o*Uwy>>Db6z}xgUJ$&TyOuOkc0t zjXxp21D&txo8@>8AdlN`niroCchuY$J-k_geO8`!ed0bfdET|CAT8qR=!n(dJiWud z@um!=+Ng{Z_nG=dPZO`yW8Y4rCCc0CzjW&>$K%`^;9LoLT>UQLUay|g?!&0-*DtOn zw{uC$z?E=BsN{J3cHv?DdP!>-5t`^IsgEgoCiWy+%-dqrBj9>Sdz(BP${Ot>+k8W0 zTy(d`KV{1j)mzE)-27^gqvE8jv&TY@I=^~Usw*Gp{&RRDoF(}4I9dX07?m0v4fOP^ z^CeKy@C)g%1<`mN_W_Y8oK-66d5-~4Me8h}%yE)l<#IIsTqNF&lAiabyg%>p3pEjE zB`pN{67uj)9S60?M4swiDeu+d%-8SJ-3pGpdxw-n-ybCjzY!<3qa|{_??O7g_h1P8 zAC1pp?oe;*JvC;T_sdYKImxem=GT7QYoe_ZuOV7OWq##6-d&<6CFWsw$NA(G`m8+1 z`Pqv$asPt4hdz8KAqLTcP&e_06m2{AJt)83sHj(x`_#Hy%&$TwCEm?*awKWWSxnyM znLWQ`?nAHz=aEz8wJ#OJyIJ}XuX0*vCG&BI)YYtg=N&(x=HcyV>QhiHNuK2wFkuRJ z;+qm*OQ56)WmzP8rdS=?Lb=aoIX=>?`1$zR7!g6!>*=lu3(#5@ZDNdiGUo4o|-_CFiQsS%*O_TEV3HZs@k-*eP`-Q4Soz zxN_x|MTxX9ls^Vwuj}b9ovrCeymBt7eH3-6ji^+oMBxdQutt7GPMQp$PgsjTn&$#gCT5vEnS}OnblrA~8aBJEbyVs7t-GKuGOdGdrF9In6kB?o=_98dbe zZ$J$^@jzQ+0b%ahG5v7~b03S+RQ)M^=8gDg*7LSTei?Xk+0}=?Xn zfqlb!(=^_(+bf$6OI^6*vMcO$m2{iNP#SM6)pqheO0$V4wb<(-dNhWX;k1ZQBaeOu zy#!?$Gr}C}`#^y+-~p^PT1Zp2PeNOw<@cd~pxf3c_L%eoYqJKe*)%A|G);mMa-(a@ z2wKEDPo=&sQ)n6Q>g27MF2-DX4D`eAV?Z|XzRe^!gLz3Q=3@D_H*FIr>l9+yPmFtF z8qYW$d~sUOFZfIXny7)C%f9=gEcJIyAs2qR0{J<*#}MLZ+ge^V0h}xQqABaANU`<& zJBwfW=va~(%vQe*)4-iUjo>SkfO9P^jOFQJ@~(NsC?HbD=N3vrj`Atgq}*b* zyL6QtVlLI2Mo%Fvr9QvJ=Uua?tBtcjZz4^jR?`%WUW>+98aMF!eb9c3<3yiIrtOHd zk!NMd&*WjAhmFv&UTBRN+Mju$w(_c}A4GddA-yM6(zS=9&l!Xk)On#oi-?b{2VL0Ch+1 zU%rCU^1Mhw&RWMEUsr+mYKSyGrN{^$*Hf zeq z0kXS=e4sM~@tY{u*cRS=ZS@Lf2kFLJwYiFuR%~Ip71$P9er2>{5vfcQ?}4VKr;N4w zL~3(fXP}eFN34mstmr(IO1wW>=GCT9as+Z~Ylzd5tpsZe@iOx3ISUt2F79w{R~~0y zEv6-mMH?|6$nRl1aA<82d7Wlt`d~zDoQ92*74X?s+K{}(niACGf*3wX58b=K(W#$6 z+o0p(;OY} zL^xjsb44hfm@BL!(9DD7aePdl#d2Lbgx1h#4y)LWe-kK^6kjNx~vC0Ih;oJW~>J=@u; zMd^Jx9tVqq^rS@@D|Nd{XwKugc-$4_K;B=^vu3nZD$3oVedCx>zEq6kdipy#<1wZ+ z27E;xJB^#ee_H;Trfzc`Ea7frt|qteM)3?*9Zb*Kx*@SRn%(B7U_ajlOUJ&OUhgnX z%?_#;+0?+l;KwcOFQp)T3cQnF<}&VU54n`Q&N<6E7f=svWsAd&>=Az4LhFtGa;Lx3DlE^mFrUMiH1xl z80zFjgy{DF_e#3aV?`gHlPvL(>PA_lq)QiFH~3=;N;IU<4~$xq8z(ci3>nCO zuK*QZfqKR)#5?p~fm&aIwdWE1eFL5a{8NY&*ol>*|L>@&Y2m&ydrF=#Eu1x!s|=ea zT3(!QW?xGBPoCuJjMP$1`a19dM~JCjhrb~|mrTvUwR6#WyGYJAu_RjKI(DzeuMar+ z6mNmg&D0~Dqvkay(HheCbutp<7M}-R2P!!psEN$NS*3Oxd6iPgS~QRqq>Lvkus-B$ zUJ!m<#%Qtz>LmU(U0iqX1fO!$$ZwqWr?BGQiFLoZf@zgDv|VWd#`0gyU)P|u=X4b% zT3jBPt63LoAUCna;hcH{FitvkW7b`du(_1=ay=bSZC=3{sV$-uQA>&a-6{WqvR+e} zj=#%rO86y|j0>Qh5xo>GQ|zqQ=}1QF>4q1BGKFgZwK2-zU$pr((bP(ZHPY^grtKCk z4dsgIQE9?CuVYzRj=936S*s>TEB+P=N4pzb#u-oooR&6Qy5nbC{_+#wo;>jve=_pO z8}I$&ul(`%f6ml(*VHs7x=l?zfcACsGSU=#s~delV;z$gL|^_YtifKdb_>Twq(0HX*< z)DtdB07emzs3%>N0E{9aQBS!j0T@L)}lmLt(AW_e`C;=EnK%&0mq6AiroNfDI!vUDM88rHuN3&T4O`k*-c!?YvI!;`p-r0nwT<0oOGlPLmbl9% zo0qJ+1h?1X%7WV~xB~(o5csxf^uPht;A8-G#ohXgYy@Swm)T;2tj z_lV$+Nt$C24Yixhy6&1y+Q5$0P7sL%0MK2FxQ&}?8oFx{yQyYe!H`hFXiMYpCtqfabTfH8k3q zTUt6dbZ$U(+IwzPov2P3`5TwX0+G z9gWSl`VFkcB_p+%oa8g;cV{On>D;z)BfADdUXCGHz~4kOBt5yKwOQ+bKZXl5UHL5V zWV&0{2?I3>5pEIGtpeXFa9ZHB!1IAly z0OY{5${$9wcGY7zR^MOKxk1K`gVwR~b>-0o&OB4oRo}W1Y}UT=d9Wc~U%*SJ)8~bo z*k(p4?h65q>7+$ZN{gNp_$h&(68LEy{8~Xh4W`7zAtSYRa$dKh9TIAkzsfJqNZMy4 z`&R`1iojnJ_-g_`+bldKY$xbvMGk$e2^D}4_+P>@*;ad7)*E0y&i_|?H3lX|Y;4h}lg*t)j1eUpTftlJbY!v)PfrW=IY!-N%;I|3fDX@&p zg>Hen1%H*mR|&jJ;9Uam6?m_}2OR%VA_@M0;I9+-I)Q~RFB}qhQ1F8S9})P7z@q|> z3Vcl9V**bLJT34^flms2i@>)Ce5=5>3Y-==E%3a+^8)7t&I!D@!LkDdd|4tEB|_n{ zz%s%Y&I^2}q`9-bp{`>aMAa8D7|-zkjSzd#RV&ZHVr4b+Dg?_`-Qhl_P0w> z_XvEC!1oG#ufXpW_`L$(C-8j&e@NgD3H*S-4+#9Azz+)ikiZWK{D{Dh2>htPj|%*l zz>f+1xWJDK{DihhLPYV2$z)!U}jQ}eHG93!7tF^(vPH$iR*w$`vXJ zu8y}rJNyxzkGFOwYW$!{bgcYCSA7@$BDR^Nf_PE;UIEYwlxsw}t1bAyQM3*84Fv$y zXhUsdBlIAq|37l2P!AITDYrn)G&b^2D<-Vw#9vI8CNF#`6kwCpQo4R%vb6$K#k1~|22mf zfbDpc?F{0db@9(~WMn-jt^FbKO#Tds=w;wSMmqMKWcZ={eTJ2S(zY?*acKl#DUUTZ z)N`EM?|!>W^ny$Df)qijOHaP%@B{?&1BW3X7-=2ZF=%EG^&^+~M^fw$)}goUD<5(> zf9#?Ouq<85pe$X=5L0KY8^3+!{($Vd zUST<#DNybnL}~m>_=vzF`0p0MfA=V6L``cOO-f_{`S&rSH4)zkK8B?2tL>_9#G4j> z<9abpvS25%DLbWHQ4n{Fg1Gxut42{hD;Di=cUs_dbFes&RobtyKqlvMq4AQ2MpVtN zNgEm=cHYPM?!+d81~fJsOvAp~_SG-8t}_W3_F|zlwgx%sF*`f%g6wLAMnty&v(xiZ zH?>j6>Osf>{1r8R_o76I2D-Z}a9M18)X&w1zS>vERPc3)#9AGy>9||8+1;Y3@RxOn zqQYOoD^k=-6L`C$v3n!czI0&cy*cU#%{LJhF-Z5L)p>TaT4Ts zH4;n1_MB2wGLc+lI-D@9G6S+npE_)_D#W{3a&X_6@rv?GZfsm@{tzDcq<=iU!88{Fr3uLM$9#)ZlsC*?wZE+Hf1B$l`;`daw1q( zzjd4B)YYYbJX zEB5{NAQH{I#}B+$W-hwuS`%r@eSXsWZDAj>?+5JrK}Ti`_pMTl@XxIQnTdB~CLEHP zq4w2>x*8yoPew9>lCZ*W#lO4a$v=vYGb5)C)7Tzt)*ftjL$uivW^>So&F!m?_<={g zh93$W4ibk_>5$j(Ly?w%%#T?LJib{NEtuM99pq{xH3ZBP!l1W!4Em(a|CF%!Eh=rP zTFBzH%Hp+-#i5X%mIhawp7FY#krt(2q(xtmdgp_w<*LGL`r0Mz(mW~M8jz;7<1W~E zDz96)}gT6+kjlUgs>(w}yvKOL6-bo;7}rU4@&X?1fD zjbc|{xGGkYrC?YOns8T;Wd$XEF9@-K@4-hXO@)$- zE2@pw`J+gkKe{^1O?MNNfc0leKn1wtqE0&`oxzYmQvX;6`k%M$s*$;arKM)F#nguL zLnZrb?gm$409DeDK1#My6XMLUND`~*n40tH$_>ZCASxkqFiTK57ntx^0&h$)x>SebMjf+UeQxeY2o zbn~H&v{leabPY8Jit)ncOb`Nwp*;TJqpM>6pb=g%P(EMckg-$56 zzFJ7SL)$`%Ak=Z4&D3!hQcy&%*7^CmUB2tKxMqA0wn~u6PkR-n;S8iHdc>+)cQ>@5 zNB1JNc*xOo- zyFio|33)e-8yDk_F zL>-Dm9lAu=>)wktelU{d$ad`tTBY4sleb4B`Ho#7QcZh<4!uYhrX!iB{Vtr0L`6fl zyjE*b^TJ9HrMeK?DME@6Sj1N8wYFclb?dGgY#?#58p#zGI~Q&RJ7Xv~bHGKN+#KLv zPFgW%u>82ykq8orOtCg!q{Eb}8!wu2UZov4NGuZyyXRUPt(vXipq%Ug`OU<#8_hf^ zX4(o$L0m`qqQk!EdWiKdvX{4Achz6U#xR_cj#1F-^@M*a7?c_^*7 zqZ&)|UTo$KCA5Fsk4#`4f?d{Hznsw6N1-3`V;=AW5BhKn8*CU<9^_Y ztyYLwi5{?npXf6u%p~d0!FrzE~Wff?F z1-H6w4RM!Jl{Eg1^oqrJaF=$9f=WX!BlZvisP=jH{b#H^DIw<1+55 zp%{N6-F>UA?AA@B)@rBI=o#q)clzM;4rrZezdLO+q_=8kI;9mfHpO}7%+$N*UqJ=4 z+TD>s6!rqichIn~!FxeT?SfPyelobwOvi4E_Koo2?mpUhIj-^Ul6A!-qDlJf>1pDgC$I zO{M*@s%T#Q>7P; zewfxXyXk3950zo9bY+2o6tc(20u)m5Q4qI)QM|(8PUS6d% z&3*}sh9{6u15r)P$c|?A+0^W_@q}4p@t6PN@vGll|M@>Z_pgWJfATN3{n6zg#}ZM8 z$GGqBxP$J8{^K6=T^#8My3i4_Xm-yfTIk`p6d_7m95uh>P$nsDDWZiXM+svV9MfWT z1h`N&vCr`r`#HgX5j-IHPlEp-r~o8Kp^fk%h(?Y29?eA);Pr8kgyPjJ)Wh*n4>}pA zm`dL}dYI~y7mdEdzn{=RZ%Mw5KV$0YlAAM)^x>obz3+z~_a81ys7E%vFiR#*$3A{) zy5S@O8Kg{_1Ro8dBQRgC&`7UJJ{9GAuQu=nTy#WqO>(Zcb0X?i8iSrptnt^3>8qvh zZH#;1iM0{56TnN`#I_N@U)98R5Ij$?lVBIYA%epM0|bKvLj=PF zM+hl{iRB64YHVT!f^QJO^Vh`S`f6e&f-*tN-`AOq%ee!`Of$04*EMF)Jh8XY zmX;NpIc(t}1#ePFjXYAH>UtD21RWumDBC`q^h9U=bwL#8P00qtylH-|N090cLYIYGcyEl6TCwLEbK8w*44x1OBT7wdiPrBlVlskj)1KA5y;1bqe_ISUt9T2q? z?-G2ElF4o5d&p8*7ewC=LT5=!>`a(;F2J5A*`^?RfpS-HAuPYVcJ}#S3__R4>ueCc z9E7e&=!-bmQvSRb4NJNjB8j~p&?=Uth4~)%6crPMVnHbG(^fPM zv|b3DD~TXqV-RX)Jw)wS7`jRzb-T{c4T75l_X+M0pn}j9!EJ&E02MZ4|qVtTbVFZxOwLpoJP6LXz!wMp>%Ktt|0-MA(;kFG;(szQ`jUvs;I?Evg@iPSP5}YNtO2Do$%dRndgWx8?Edut1 zS$2)tI|O$LIC#w7CwKsG#t=~UGwdm6ShF+ierGliu(oGf2%aI>Ot6)ponQySZh}sN z?z(!`P!v`X?Nr340LqkWeJYg;ei(J7mx-t$>WsY&sdGXKyQ>Ui`I73Ad-^W9e&+0_ z9+?`#4p1gSb(qjOk=w#>PmfDgC@qXP5Y3FK?#BeB;V`)~lH8eKZhw|sC;9!D$iqof z!U3yx#6I6~4vMl(SkNgPQwX-J0_$wCP;Qa1MRK9+-tU|IACoI9ZT zjr`#+_6U|#6?W&To*}t#;u1h~g1}m8N)`j!783MDf%$t|y^W9@6>9XV2ZY3vbP`*q zO8EdnHf^OE6~ZqU67ATuMl|<4KwZ4hY^p0M3Gv~LGJcGBH(*>oeNo`GaiEJLsSQpfyy z9)okYUZ6F{lg%x1=OWtgPUTX$rUG`LR1;ck#1o=Us`If{2S0VG3pVm1PO{4IIYt$+ zSmcQTQ@WpMK_~TUi#%Rs9u?J8nm4rQw%s?@I(m!AOrnCtlj~J2n(7&^ZxS2S1XwQ{ zcEuu-Nv}afdB<=}rFPzo)7fNLS#;t|%8%0Ev>(9r&lfhCgg!($b+EZQda=U#2(XM$ z@n>$a*cR4CE+vG;Cs?o@4@KmHX;S5p6>~w@>EFhzGi)2vND2P z?}zBKiasl7LM&vNq(8`eHq3iY^TJ~gGBE=5xe$F`(dPxt2+-$4^aVv<5cCDHJ2?IE z0vP!&g!wLNzKfEN5uh)I=u3*eBxpu}z7(P_EBdma83Fooh`yreD}ufvgRFQSdbPO{ z<`nA`Qw4{sVfr=Ya7{Qc0`#>IeO=Ml1(Ki)+Q_wd<@jPwb z40GPnoUj$N#jP;sy)ftrcPk{itweJ1J;Mk}za64KQS>LmlMoAYCgCUK%4P)FCn4D# zCA%YJi~xNnMBi2PT|qMf^xY7BPto@T%?Qxe%`2SMJ7k-Qbdyb{3>WI}XI(J?_Y0yK|5v=3I|ijE5!qc+oJ=b$;&F_AmLNpLz=sNss zz`u3i(6m+Zaw0(t^FKL#0Ep>a!XL&qWBO-V-2`z-{Ftz^aZMbVKW&JEw;mEm!e^4@ zvoQJnFnAU?48xM+J%JJAxiH^(;wqcMgbN}j2iGv|Vi>$6yv~LRm&4!{(WDNEVd~W| zcr6TG4}&+t;LVW3`7rfXn0il&zZfQ5lY~fxZijTA0LS5nO(IfV2yu79;N38IFAUxf z$s!pZkmbyGgKX&dexsn12f=ti98FDx85+Z2v#|V@z;^*LBMH1B@Tx$q<#h?)5O`DI zeSvobvbGq_1>P1&VKFob6mzO1B-|+2%i7TFP*9L`Bc!7<$8k`Hvp!?Kz%#p{x+jmi z>B2!L|MIDEyHLtH`JqYIIa#!jj|cC@?6k~Ntp{Ho8Z4#rnY5ePdc<~%$k%mZTWdQw zB%AlS>1q3<<4*0(77Mxb>4S)xbtq@RPUlKlL`=dmj}F*5J6-f5?X4a7ABVFImRZx$ z+TMzz+&0U6xzA4LdvZ=W)9Mqq_Vx50=*ea6d}&K(f5Fbbm>C`I*tWwMl)hz!{9skI zl>kS=U6$Fs5`k-{OLmWwKY?1NsSl;zi5GoXW=D0@lj+ic<4h|h>bTD`d#a)wvZo7< zn|4nx6kxY8FIeXJ71+FDmll%#x-l?od-ZS1__U^6trGJb8r_Mz)-e=a3HA)6NNK zO=?T(T~Jij75%D{l}@<}7e7@K9WG}@rMqxZR5g*`j=ONNR5j6oa!E#D{oYsu`f0@1gKy;P<=T zu&=7+55|drdWA7|j_PHQquE3|?{3&!k7Zu0N&~_{ntv{jhp|1CLPt#*Wp~5&Ubakk zRTAv8OXHK6X|jdV5LOq(QhK_eTwsLHTc*8wE@C~fy=6w}LEAl%9iOu#*wQ&z9xIN! z*)d&PEIY?7N}a`FO2iVR1-5kV%j!(E zz4}QbpmcSCupLTY&icK@kW6s>`CK;dk66JphyJ(Rh_@sI))<;w!g71_CELxXbFBjo z%-zK@a$x9yhD8=?)pk9tEz$nV@(?p5J^EjtWnNjN^#Xd#x+T}ibPM58*-*}9gjhy-!fla9m4_p zxN8?D*%UD2*RUs99lwM2$)JIzr?IXjXIS||HnKOxL>t*(P{87cEpzB0#9V|KM!>n# zAo{}Ux%v~FtZ2R7v3jlx27K7%tCrcfIt}a@pQ41Y%GEbbuzWUVz%mC`Cs==8+6#LE z&vZsCGguRr6ZWArWuUlrg2Fh5lp~AQdpRB$bunx8} z#td5KU=28idmW6a57{x6va)#_A#{wdS>{O1gpF);*fna@YV-F{9heqs)H@dLusYE7 ze$z6q)j}t7XrMar_dp%!d^KXf*bb=!eQ?w=uh&3&or>n|fI83@)0TOoR{R(4k2=sL zA97+@%GmuyJC9E%EHhREp}8ho?CepGz|c>}Ec5jml(X2@O(q=l*xH%ToNb0oJLt4E zGM`2FUE9!ek67k#4K&oBAI@XS)bm4FeT@c$er`7AoM~@^$=6I~p2_K&WE<@K>y{a* zi7LEtH^LnzKV+HynsD#4kIQOj8|=GALpm2zJlP3Y!>%84^&D*{guQJeHi&sSwxK!m zNWMlZ5}MmI2Sedoy9vlwL@^Y)b`wy*JSuzbR)76@Z}=9SpbtLeB75l;^rmG`+vtEb z8uJ2$L6Ygij$R)5scQ0Z0YpEz6Myo4m3p-8}`Nd@z`U){ze%`wZaR^S{1JzCpebj z6xVJ_-u4E9) zate-|Fg~ty61Y4gntQ+vqvA>@fh%*96NeLeh7Rr1Nua1FqxhhMWn$x4vfzU}mZ{HV zU35WX;Fa)5dVER)?s!45Wmz#PP0pDps#k&Sx{j+sBxdmt6nWylGp!-laqx5$)41Nk z2PNRKP{2W=ogasj0!zhhuH&Lq=CQ{o@dOp~fEh*)@?##vaK4P!y;^3iVkAnph5}D& zG*yG+q)LsrtEtSg0YKj(43B5)e=iRqobCsN0D9e^p3)V0MB4e&y zG<#XrF&c)Lr7}2@y;q=WU^;yY8ewa*y|Tqo#o`MPmPu)NG>a)>)Gu&@W!5iD2mO4+ zxK1i66|1h2Wb-Gol#t5H*=e>U#h%L2h_!v+6w9Wlni0A!uCm1eQ-$L0Z^lG>KJV+0dSp%=i-)9`^N2JxmSls5lzUO(C={ znipTofrFLf^>*htp53Gcl=D-0=Oj`Y!Oer~WKk4Hy{rR!W}v@suLcgjd{m98w`5}= zBgKU4lncF}V9QBl*u`U@Y}2A#cX>ubFCF-Dp^3?{R6?HLhO1X6Zs(?OC)Uu?(wQz6 zQMugdmgD7IE)S2cuBQh)cdn;fWSGSDS=ZCJfq1%YDT2P9)>j;7B4@W^c~^4A%EuQW z?QHW(6>l>EKN@-cpNw_j5FOAcSLXXMllk3PkikM|J^t}A;hzBalL(HP8VMqQ1A}`9 zU*BGL^!iYD-yaSC+hE)FpPeR;wn=B&Zgb06`M7O#U~3yMPNv<$bH&V@pkMJeKhV0T zf2hqFdlL!h)J3~3ZcsX-*z70HKFjULC{3x9$%2At{QxZ~P(YbM7>f93D|`10@oLcRDd z+Cjv70rw%yzaPf_{pWaYiZ1T>Yr;R41dj-Te9+r?j-Xxwe)i%Yj@R*a0vCMrbqT@u ztblt)sKT$h`mask`xNx=T-9pKwkcqO)c zWs6@t&CLyAwM<3ZP|0IBuKC5^|33}< EHzb3W{Qv*} literal 0 HcmV?d00001 diff --git a/Plugins/Realtime.dll.meta b/Plugins/Realtime.dll.meta new file mode 100644 index 0000000..7d030bb --- /dev/null +++ b/Plugins/Realtime.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: deb652e1b245d48708da8c7b4a3a524d +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..6e7289e6fefba85475c3fc74a93a23c2e19bf232 GIT binary patch literal 105448 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 R>Ml^h^!GRhi2j0p{~tl|qyPW_ literal 0 HcmV?d00001 diff --git a/Plugins/Realtime.pdb.meta b/Plugins/Realtime.pdb.meta new file mode 100644 index 0000000..413de6c --- /dev/null +++ b/Plugins/Realtime.pdb.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 60cb0503cb7d94fb5bb2b57deaf9066b +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..d164950 --- /dev/null +++ b/Plugins/link.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ac14b613cd8d14f0ea59bcba261bf36b +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package.json b/package.json new file mode 100644 index 0000000..4a402c9 --- /dev/null +++ b/package.json @@ -0,0 +1,16 @@ +{ + "name": "com.leancloud.realtime", + "version": "0.10.17", + "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.17" + }, + "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..77ce030 --- /dev/null +++ b/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 19e905bdf36b84dad810f39b516897eb +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: