FILE_DESCRIPTOR_SET

Constant FILE_DESCRIPTOR_SET 

Source
pub const FILE_DESCRIPTOR_SET: &[u8] = b"\n\xc4.\n\x19google/protobuf/any.proto\x12\x0fgoogle.protobuf\"6\n\x03Any\x12\x19\n\x08type_url\x18\x01 \x01(\tR\x07typeUrl\x12\x14\n\x05value\x18\x02 \x01(\x0cR\x05valueBv\n\x13com.google.protobufB\x08AnyProtoP\x01Z,google.golang.org/protobuf/types/known/anypb\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesJ\xdd,\n\x07\x12\x05\x1e\x00\xa1\x01\x01\n\xcc\x0c\n\x01\x0c\x12\x03\x1e\x00\x122\xc1\x0c Protocol Buffers - Google\'s data interchange format\n Copyright 2008 Google Inc.  All rights reserved.\n https://developers.google.com/protocol-buffers/\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n     * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n     * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following disclaimer\n in the documentation and/or other materials provided with the\n distribution.\n     * Neither the name of Google Inc. nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n\x08\n\x01\x02\x12\x03 \x00\x18\n\x08\n\x01\x08\x12\x03\"\x00C\n\t\n\x02\x08\x0b\x12\x03\"\x00C\n\x08\n\x01\x08\x12\x03#\x00,\n\t\n\x02\x08\x01\x12\x03#\x00,\n\x08\n\x01\x08\x12\x03$\x00)\n\t\n\x02\x08\x08\x12\x03$\x00)\n\x08\n\x01\x08\x12\x03%\x00\"\n\t\n\x02\x08\n\x12\x03%\x00\"\n\x08\n\x01\x08\x12\x03&\x00!\n\t\n\x02\x08$\x12\x03&\x00!\n\x08\n\x01\x08\x12\x03\'\x00;\n\t\n\x02\x08%\x12\x03\'\x00;\n\xfc\x11\n\x02\x04\x00\x12\x05\x7f\x00\xa1\x01\x01\x1a\xee\x11 `Any` contains an arbitrary serialized protocol buffer message along with a\n URL that describes the type of the serialized message.\n\n Protobuf library provides support to pack/unpack Any values in the form\n of utility functions or additional generated methods of the Any type.\n\n Example 1: Pack and unpack a message in C++.\n\n     Foo foo = ...;\n     Any any;\n     any.PackFrom(foo);\n     ...\n     if (any.UnpackTo(&foo)) {\n       ...\n     }\n\n Example 2: Pack and unpack a message in Java.\n\n     Foo foo = ...;\n     Any any = Any.pack(foo);\n     ...\n     if (any.is(Foo.class)) {\n       foo = any.unpack(Foo.class);\n     }\n     // or ...\n     if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n       foo = any.unpack(Foo.getDefaultInstance());\n     }\n\n  Example 3: Pack and unpack a message in Python.\n\n     foo = Foo(...)\n     any = Any()\n     any.Pack(foo)\n     ...\n     if any.Is(Foo.DESCRIPTOR):\n       any.Unpack(foo)\n       ...\n\n  Example 4: Pack and unpack a message in Go\n\n      foo := &pb.Foo{...}\n      any, err := anypb.New(foo)\n      if err != nil {\n        ...\n      }\n      ...\n      foo := &pb.Foo{}\n      if err := any.UnmarshalTo(foo); err != nil {\n        ...\n      }\n\n The pack methods provided by protobuf library will by default use\n \'type.googleapis.com/full.type.name\' as the type URL and the unpack\n methods only use the fully qualified type name after the last \'/\'\n in the type URL, for example \"foo.bar.com/x/y.z\" will yield type\n name \"y.z\".\n\n JSON\n ====\n The JSON representation of an `Any` value uses the regular\n representation of the deserialized, embedded message, with an\n additional field `@type` which contains the type URL. Example:\n\n     package google.profile;\n     message Person {\n       string first_name = 1;\n       string last_name = 2;\n     }\n\n     {\n       \"@type\": \"type.googleapis.com/google.profile.Person\",\n       \"firstName\": <string>,\n       \"lastName\": <string>\n     }\n\n If the embedded message type is well-known and has a custom JSON\n representation, that representation will be embedded adding a field\n `value` which holds the custom JSON in addition to the `@type`\n field. Example (for message [google.protobuf.Duration][]):\n\n     {\n       \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n       \"value\": \"1.212s\"\n     }\n\n\n\n\n\x03\x04\x00\x01\x12\x03\x7f\x08\x0b\n\xbc\x0b\n\x04\x04\x00\x02\x00\x12\x04\x9d\x01\x02\x16\x1a\xad\x0b A URL/resource name that uniquely identifies the type of the serialized\n protocol buffer message. This string must contain at least\n one \"/\" character. The last segment of the URL\'s path must represent\n the fully qualified name of the type (as in\n `path/google.protobuf.Duration`). The name should be in a canonical form\n (e.g., leading \".\" is not accepted).\n\n In practice, teams usually precompile into the binary all types that they\n expect it to use in the context of Any. However, for URLs which use the\n scheme `http`, `https`, or no scheme, one can optionally set up a type\n server that maps type URLs to message definitions as follows:\n\n * If no scheme is provided, `https` is assumed.\n * An HTTP GET on the URL must yield a [google.protobuf.Type][]\n   value in binary format, or produce an error.\n * Applications are allowed to cache lookup results based on the\n   URL, or have them precompiled into a binary to avoid any\n   lookup. Therefore, binary compatibility needs to be preserved\n   on changes to types. (Use versioned type names to manage\n   breaking changes.)\n\n Note: this functionality is not currently available in the official\n protobuf release, and it is not used for type URLs beginning with\n type.googleapis.com. As of May 2023, there are no widely used type server\n implementations and no plans to implement one.\n\n Schemes other than `http`, `https` (or the empty scheme) might be\n used with implementation specific semantics.\n\n\n\r\n\x05\x04\x00\x02\x00\x05\x12\x04\x9d\x01\x02\x08\n\r\n\x05\x04\x00\x02\x00\x01\x12\x04\x9d\x01\t\x11\n\r\n\x05\x04\x00\x02\x00\x03\x12\x04\x9d\x01\x14\x15\nW\n\x04\x04\x00\x02\x01\x12\x04\xa0\x01\x02\x12\x1aI Must be a valid serialized protocol buffer of the above specified type.\n\n\r\n\x05\x04\x00\x02\x01\x05\x12\x04\xa0\x01\x02\x07\n\r\n\x05\x04\x00\x02\x01\x01\x12\x04\xa0\x01\x08\r\n\r\n\x05\x04\x00\x02\x01\x03\x12\x04\xa0\x01\x10\x11b\x06proto3\n\x80-\n%substrait/extensions/extensions.proto\x12\x14substrait.extensions\x1a\x19google/protobuf/any.proto\"\\\n\x12SimpleExtensionURI\x120\n\x14extension_uri_anchor\x18\x01 \x01(\rR\x12extensionUriAnchor\x12\x10\n\x03uri\x18\x02 \x01(\tR\x03uri:\x02\x18\x01\"X\n\x12SimpleExtensionURN\x120\n\x14extension_urn_anchor\x18\x01 \x01(\rR\x12extensionUrnAnchor\x12\x10\n\x03urn\x18\x02 \x01(\tR\x03urn\"\xe9\x07\n\x1aSimpleExtensionDeclaration\x12g\n\x0eextension_type\x18\x01 \x01(\x0b2>.substrait.extensions.SimpleExtensionDeclaration.ExtensionTypeH\x00R\rextensionType\x12\x83\x01\n\x18extension_type_variation\x18\x02 \x01(\x0b2G.substrait.extensions.SimpleExtensionDeclaration.ExtensionTypeVariationH\x00R\x16extensionTypeVariation\x12s\n\x12extension_function\x18\x03 \x01(\x0b2B.substrait.extensions.SimpleExtensionDeclaration.ExtensionFunctionH\x00R\x11extensionFunction\x1a\xb8\x01\n\rExtensionType\x12:\n\x17extension_uri_reference\x18\x01 \x01(\rB\x02\x18\x01R\x15extensionUriReference\x126\n\x17extension_urn_reference\x18\x04 \x01(\rR\x15extensionUrnReference\x12\x1f\n\x0btype_anchor\x18\x02 \x01(\rR\ntypeAnchor\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x1a\xd4\x01\n\x16ExtensionTypeVariation\x12:\n\x17extension_uri_reference\x18\x01 \x01(\rB\x02\x18\x01R\x15extensionUriReference\x126\n\x17extension_urn_reference\x18\x04 \x01(\rR\x15extensionUrnReference\x122\n\x15type_variation_anchor\x18\x02 \x01(\rR\x13typeVariationAnchor\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x1a\xc4\x01\n\x11ExtensionFunction\x12:\n\x17extension_uri_reference\x18\x01 \x01(\rB\x02\x18\x01R\x15extensionUriReference\x126\n\x17extension_urn_reference\x18\x04 \x01(\rR\x15extensionUrnReference\x12\'\n\x0ffunction_anchor\x18\x02 \x01(\rR\x0efunctionAnchor\x12\x12\n\x04name\x18\x03 \x01(\tR\x04nameB\x0e\n\x0cmapping_type\"\x85\x01\n\x11AdvancedExtension\x128\n\x0coptimization\x18\x01 \x03(\x0b2\x14.google.protobuf.AnyR\x0coptimization\x126\n\x0benhancement\x18\x02 \x01(\x0b2\x14.google.protobuf.AnyR\x0benhancementBq\n\x12io.substrait.protoP\x01ZDgithub.com/substrait-io/substrait-protobuf/go/substraitpb/extensions\xaa\x02\x12Substrait.ProtobufJ\xfe \n\x06\x12\x04\x01\x00l\x01\n/\n\x01\x0c\x12\x03\x01\x00\x12\x1a% SPDX-License-Identifier: Apache-2.0\n\n\x08\n\x01\x02\x12\x03\x03\x00\x1d\n\t\n\x02\x03\x00\x12\x03\x05\x00#\n\x08\n\x01\x08\x12\x03\x07\x00/\n\t\n\x02\x08%\x12\x03\x07\x00/\n\x08\n\x01\x08\x12\x03\x08\x00[\n\t\n\x02\x08\x0b\x12\x03\x08\x00[\n\x08\n\x01\x08\x12\x03\t\x00\"\n\t\n\x02\x08\n\x12\x03\t\x00\"\n\x08\n\x01\x08\x12\x03\n\x00+\n\t\n\x02\x08\x01\x12\x03\n\x00+\nP\n\x02\x04\x00\x12\x04\r\x00\x16\x01\x1aD This message is deprecated, use SimpleExtensionURN moving forwards\n\n\n\n\x03\x04\x00\x01\x12\x03\r\x08\x1a\n\n\n\x03\x04\x00\x07\x12\x03\x0e\x02\x1b\n\x0b\n\x04\x04\x00\x07\x03\x12\x03\x0e\x02\x1b\n|\n\x04\x04\x00\x02\x00\x12\x03\x11\x02\"\x1ao A surrogate key used in the context of a single plan used to reference the\n URI associated with an extension.\n\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x11\x02\x08\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x11\t\x1d\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x11 !\nn\n\x04\x04\x00\x02\x01\x12\x03\x15\x02\x11\x1aa The URI where this extension YAML can be retrieved. This is the \"namespace\"\n of this extension.\n\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03\x15\x02\x08\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x15\t\x0c\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x15\x0f\x10\n\n\n\x02\x04\x01\x12\x04\x18\x00 \x01\n\n\n\x03\x04\x01\x01\x12\x03\x18\x08\x1a\n|\n\x04\x04\x01\x02\x00\x12\x03\x1b\x02\"\x1ao A surrogate key used in the context of a single plan used to reference the\n URN associated with an extension.\n\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x1b\x02\x08\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x1b\t\x1d\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x1b !\n\xaf\x01\n\x04\x04\x01\x02\x01\x12\x03\x1f\x02\x11\x1a\xa1\x01 The extension URN that uniquely identifies this extension. This must follow the\n format extension:<OWNER>:<ID> and serves as the \"namespace\" of this extension.\n\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03\x1f\x02\x08\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x1f\t\x0c\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x1f\x0f\x10\ny\n\x02\x04\x02\x12\x04$\x00a\x01\x1am Describes a mapping between a specific extension entity and the uri/urn where\n that extension can be found.\n\n\n\n\x03\x04\x02\x01\x12\x03$\x08\"\n\x0c\n\x04\x04\x02\x08\x00\x12\x04%\x02)\x03\n\x0c\n\x05\x04\x02\x08\x00\x01\x12\x03%\x08\x14\n\x0b\n\x04\x04\x02\x02\x00\x12\x03&\x04%\n\x0c\n\x05\x04\x02\x02\x00\x06\x12\x03&\x04\x11\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03&\x12 \n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03&#$\n\x0b\n\x04\x04\x02\x02\x01\x12\x03\'\x048\n\x0c\n\x05\x04\x02\x02\x01\x06\x12\x03\'\x04\x1a\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\'\x1b3\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\'67\n\x0b\n\x04\x04\x02\x02\x02\x12\x03(\x04-\n\x0c\n\x05\x04\x02\x02\x02\x06\x12\x03(\x04\x15\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03(\x16(\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03(+,\n \n\x04\x04\x02\x03\x00\x12\x04,\x02<\x03\x1a\x12 Describes a Type\n\n\x0c\n\x05\x04\x02\x03\x00\x01\x12\x03,\n\x17\n\xa7\x01\n\x06\x04\x02\x03\x00\x02\x00\x12\x03/\x04;\x1a\x97\x01 references the extension_uri_anchor defined for a specific extension URI.\n this is now deprecated and extension_urn_reference should be used instead.\n\n\x0e\n\x07\x04\x02\x03\x00\x02\x00\x05\x12\x03/\x04\n\n\x0e\n\x07\x04\x02\x03\x00\x02\x00\x01\x12\x03/\x0b\"\n\x0e\n\x07\x04\x02\x03\x00\x02\x00\x03\x12\x03/%&\n\x0e\n\x07\x04\x02\x03\x00\x02\x00\x08\x12\x03/\':\n\x0f\n\x08\x04\x02\x03\x00\x02\x00\x08\x03\x12\x03/(9\n\xd0\x01\n\x06\x04\x02\x03\x00\x02\x01\x12\x034\x04\'\x1a\xc0\x01 references the extension_urn_anchor defined for a specific extension URN.\n If both extension_urn_reference and extension_uri_reference are present,\n extension_urn_reference takes precedence.\n\n\x0e\n\x07\x04\x02\x03\x00\x02\x01\x05\x12\x034\x04\n\n\x0e\n\x07\x04\x02\x03\x00\x02\x01\x01\x12\x034\x0b\"\n\x0e\n\x07\x04\x02\x03\x00\x02\x01\x03\x12\x034%&\nm\n\x06\x04\x02\x03\x00\x02\x02\x12\x038\x04\x1b\x1a^ A surrogate key used in the context of a single plan to reference a\n specific extension type\n\n\x0e\n\x07\x04\x02\x03\x00\x02\x02\x05\x12\x038\x04\n\n\x0e\n\x07\x04\x02\x03\x00\x02\x02\x01\x12\x038\x0b\x16\n\x0e\n\x07\x04\x02\x03\x00\x02\x02\x03\x12\x038\x19\x1a\nD\n\x06\x04\x02\x03\x00\x02\x03\x12\x03;\x04\x14\x1a5 the name of the type in the defined extension YAML.\n\n\x0e\n\x07\x04\x02\x03\x00\x02\x03\x05\x12\x03;\x04\n\n\x0e\n\x07\x04\x02\x03\x00\x02\x03\x01\x12\x03;\x0b\x0f\n\x0e\n\x07\x04\x02\x03\x00\x02\x03\x03\x12\x03;\x12\x13\n\x0c\n\x04\x04\x02\x03\x01\x12\x04>\x02N\x03\n\x0c\n\x05\x04\x02\x03\x01\x01\x12\x03>\n \n\xa7\x01\n\x06\x04\x02\x03\x01\x02\x00\x12\x03A\x04;\x1a\x97\x01 references the extension_uri_anchor defined for a specific extension URI.\n this is now deprecated and extension_urn_reference should be used instead.\n\n\x0e\n\x07\x04\x02\x03\x01\x02\x00\x05\x12\x03A\x04\n\n\x0e\n\x07\x04\x02\x03\x01\x02\x00\x01\x12\x03A\x0b\"\n\x0e\n\x07\x04\x02\x03\x01\x02\x00\x03\x12\x03A%&\n\x0e\n\x07\x04\x02\x03\x01\x02\x00\x08\x12\x03A\':\n\x0f\n\x08\x04\x02\x03\x01\x02\x00\x08\x03\x12\x03A(9\n\xd0\x01\n\x06\x04\x02\x03\x01\x02\x01\x12\x03F\x04\'\x1a\xc0\x01 references the extension_urn_anchor defined for a specific extension URN.\n If both extension_urn_reference and extension_uri_reference are present,\n extension_urn_reference takes precedence.\n\n\x0e\n\x07\x04\x02\x03\x01\x02\x01\x05\x12\x03F\x04\n\n\x0e\n\x07\x04\x02\x03\x01\x02\x01\x01\x12\x03F\x0b\"\n\x0e\n\x07\x04\x02\x03\x01\x02\x01\x03\x12\x03F%&\nm\n\x06\x04\x02\x03\x01\x02\x02\x12\x03J\x04%\x1a^ A surrogate key used in the context of a single plan to reference a\n specific type variation\n\n\x0e\n\x07\x04\x02\x03\x01\x02\x02\x05\x12\x03J\x04\n\n\x0e\n\x07\x04\x02\x03\x01\x02\x02\x01\x12\x03J\x0b \n\x0e\n\x07\x04\x02\x03\x01\x02\x02\x03\x12\x03J#$\nD\n\x06\x04\x02\x03\x01\x02\x03\x12\x03M\x04\x14\x1a5 the name of the type in the defined extension YAML.\n\n\x0e\n\x07\x04\x02\x03\x01\x02\x03\x05\x12\x03M\x04\n\n\x0e\n\x07\x04\x02\x03\x01\x02\x03\x01\x12\x03M\x0b\x0f\n\x0e\n\x07\x04\x02\x03\x01\x02\x03\x03\x12\x03M\x12\x13\n\x0c\n\x04\x04\x02\x03\x02\x12\x04P\x02`\x03\n\x0c\n\x05\x04\x02\x03\x02\x01\x12\x03P\n\x1b\n\xa7\x01\n\x06\x04\x02\x03\x02\x02\x00\x12\x03S\x04;\x1a\x97\x01 references the extension_uri_anchor defined for a specific extension URI.\n this is now deprecated and extension_urn_reference should be used instead.\n\n\x0e\n\x07\x04\x02\x03\x02\x02\x00\x05\x12\x03S\x04\n\n\x0e\n\x07\x04\x02\x03\x02\x02\x00\x01\x12\x03S\x0b\"\n\x0e\n\x07\x04\x02\x03\x02\x02\x00\x03\x12\x03S%&\n\x0e\n\x07\x04\x02\x03\x02\x02\x00\x08\x12\x03S\':\n\x0f\n\x08\x04\x02\x03\x02\x02\x00\x08\x03\x12\x03S(9\n\xd0\x01\n\x06\x04\x02\x03\x02\x02\x01\x12\x03X\x04\'\x1a\xc0\x01 references the extension_urn_anchor defined for a specific extension URN.\n If both extension_urn_reference and extension_uri_reference are present,\n extension_urn_reference takes precedence.\n\n\x0e\n\x07\x04\x02\x03\x02\x02\x01\x05\x12\x03X\x04\n\n\x0e\n\x07\x04\x02\x03\x02\x02\x01\x01\x12\x03X\x0b\"\n\x0e\n\x07\x04\x02\x03\x02\x02\x01\x03\x12\x03X%&\ng\n\x06\x04\x02\x03\x02\x02\x02\x12\x03\\\x04\x1f\x1aX A surrogate key used in the context of a single plan to reference a\n specific function\n\n\x0e\n\x07\x04\x02\x03\x02\x02\x02\x05\x12\x03\\\x04\n\n\x0e\n\x07\x04\x02\x03\x02\x02\x02\x01\x12\x03\\\x0b\x1a\n\x0e\n\x07\x04\x02\x03\x02\x02\x02\x03\x12\x03\\\x1d\x1e\n3\n\x06\x04\x02\x03\x02\x02\x03\x12\x03_\x04\x14\x1a$ A function signature compound name\n\n\x0e\n\x07\x04\x02\x03\x02\x02\x03\x05\x12\x03_\x04\n\n\x0e\n\x07\x04\x02\x03\x02\x02\x03\x01\x12\x03_\x0b\x0f\n\x0e\n\x07\x04\x02\x03\x02\x02\x03\x03\x12\x03_\x12\x13\n~\n\x02\x04\x03\x12\x04e\x00l\x01\x1ar A generic object that can be used to embed additional extension information\n into the serialized substrait plan.\n\n\n\n\x03\x04\x03\x01\x12\x03e\x08\x19\nt\n\x04\x04\x03\x02\x00\x12\x03h\x020\x1ag An optimization is helpful information that don\'t influence semantics. May\n be ignored by a consumer.\n\n\x0c\n\x05\x04\x03\x02\x00\x04\x12\x03h\x02\n\n\x0c\n\x05\x04\x03\x02\x00\x06\x12\x03h\x0b\x1e\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03h\x1f+\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03h./\nO\n\x04\x04\x03\x02\x01\x12\x03k\x02&\x1aB An enhancement alter semantics. Cannot be ignored by a consumer.\n\n\x0c\n\x05\x04\x03\x02\x01\x06\x12\x03k\x02\x15\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03k\x16!\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03k$%b\x06proto3\n\xff\x11\n\x1bgoogle/protobuf/empty.proto\x12\x0fgoogle.protobuf\"\x07\n\x05EmptyB}\n\x13com.google.protobufB\nEmptyProtoP\x01Z.google.golang.org/protobuf/types/known/emptypb\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesJ\xbe\x10\n\x06\x12\x04\x1e\x002\x10\n\xcc\x0c\n\x01\x0c\x12\x03\x1e\x00\x122\xc1\x0c Protocol Buffers - Google\'s data interchange format\n Copyright 2008 Google Inc.  All rights reserved.\n https://developers.google.com/protocol-buffers/\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n     * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n     * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following disclaimer\n in the documentation and/or other materials provided with the\n distribution.\n     * Neither the name of Google Inc. nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n\x08\n\x01\x02\x12\x03 \x00\x18\n\x08\n\x01\x08\x12\x03\"\x00E\n\t\n\x02\x08\x0b\x12\x03\"\x00E\n\x08\n\x01\x08\x12\x03#\x00,\n\t\n\x02\x08\x01\x12\x03#\x00,\n\x08\n\x01\x08\x12\x03$\x00+\n\t\n\x02\x08\x08\x12\x03$\x00+\n\x08\n\x01\x08\x12\x03%\x00\"\n\t\n\x02\x08\n\x12\x03%\x00\"\n\x08\n\x01\x08\x12\x03&\x00!\n\t\n\x02\x08$\x12\x03&\x00!\n\x08\n\x01\x08\x12\x03\'\x00;\n\t\n\x02\x08%\x12\x03\'\x00;\n\x08\n\x01\x08\x12\x03(\x00\x1f\n\t\n\x02\x08\x1f\x12\x03(\x00\x1f\n\xbb\x02\n\x02\x04\x00\x12\x032\x00\x10\x1a\xaf\x02 A generic empty message that you can re-use to avoid defining duplicated\n empty messages in your APIs. A typical example is to use it as the request\n or the response type of an API method. For instance:\n\n     service Foo {\n       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n     }\n\n\n\n\n\x03\x04\x00\x01\x12\x032\x08\rb\x06proto3\n\xf7\x8d\x01\n\x14substrait/type.proto\x12\tsubstrait\x1a\x1bgoogle/protobuf/empty.proto\"\xb22\n\x04Type\x12-\n\x04bool\x18\x01 \x01(\x0b2\x17.substrait.Type.BooleanH\x00R\x04bool\x12$\n\x02i8\x18\x02 \x01(\x0b2\x12.substrait.Type.I8H\x00R\x02i8\x12\'\n\x03i16\x18\x03 \x01(\x0b2\x13.substrait.Type.I16H\x00R\x03i16\x12\'\n\x03i32\x18\x05 \x01(\x0b2\x13.substrait.Type.I32H\x00R\x03i32\x12\'\n\x03i64\x18\x07 \x01(\x0b2\x13.substrait.Type.I64H\x00R\x03i64\x12*\n\x04fp32\x18\n \x01(\x0b2\x14.substrait.Type.FP32H\x00R\x04fp32\x12*\n\x04fp64\x18\x0b \x01(\x0b2\x14.substrait.Type.FP64H\x00R\x04fp64\x120\n\x06string\x18\x0c \x01(\x0b2\x16.substrait.Type.StringH\x00R\x06string\x120\n\x06binary\x18\r \x01(\x0b2\x16.substrait.Type.BinaryH\x00R\x06binary\x12=\n\ttimestamp\x18\x0e \x01(\x0b2\x19.substrait.Type.TimestampB\x02\x18\x01H\x00R\ttimestamp\x12*\n\x04date\x18\x10 \x01(\x0b2\x14.substrait.Type.DateH\x00R\x04date\x12*\n\x04time\x18\x11 \x01(\x0b2\x14.substrait.Type.TimeH\x00R\x04time\x12C\n\rinterval_year\x18\x13 \x01(\x0b2\x1c.substrait.Type.IntervalYearH\x00R\x0cintervalYear\x12@\n\x0cinterval_day\x18\x14 \x01(\x0b2\x1b.substrait.Type.IntervalDayH\x00R\x0bintervalDay\x12O\n\x11interval_compound\x18# \x01(\x0b2 .substrait.Type.IntervalCompoundH\x00R\x10intervalCompound\x12D\n\x0ctimestamp_tz\x18\x1d \x01(\x0b2\x1b.substrait.Type.TimestampTZB\x02\x18\x01H\x00R\x0btimestampTz\x12*\n\x04uuid\x18  \x01(\x0b2\x14.substrait.Type.UUIDH\x00R\x04uuid\x12:\n\nfixed_char\x18\x15 \x01(\x0b2\x19.substrait.Type.FixedCharH\x00R\tfixedChar\x123\n\x07varchar\x18\x16 \x01(\x0b2\x17.substrait.Type.VarCharH\x00R\x07varchar\x12@\n\x0cfixed_binary\x18\x17 \x01(\x0b2\x1b.substrait.Type.FixedBinaryH\x00R\x0bfixedBinary\x123\n\x07decimal\x18\x18 \x01(\x0b2\x17.substrait.Type.DecimalH\x00R\x07decimal\x12F\n\x0eprecision_time\x18$ \x01(\x0b2\x1d.substrait.Type.PrecisionTimeH\x00R\rprecisionTime\x12U\n\x13precision_timestamp\x18! \x01(\x0b2\".substrait.Type.PrecisionTimestampH\x00R\x12precisionTimestamp\x12\\\n\x16precision_timestamp_tz\x18\" \x01(\x0b2$.substrait.Type.PrecisionTimestampTZH\x00R\x14precisionTimestampTz\x120\n\x06struct\x18\x19 \x01(\x0b2\x16.substrait.Type.StructH\x00R\x06struct\x12*\n\x04list\x18\x1b \x01(\x0b2\x14.substrait.Type.ListH\x00R\x04list\x12\'\n\x03map\x18\x1c \x01(\x0b2\x13.substrait.Type.MapH\x00R\x03map\x12@\n\x0cuser_defined\x18\x1e \x01(\x0b2\x1b.substrait.Type.UserDefinedH\x00R\x0buserDefined\x12C\n\x1buser_defined_type_reference\x18\x1f \x01(\rB\x02\x18\x01H\x00R\x18userDefinedTypeReference\x12:\n\x05alias\x18% \x01(\x0b2\".substrait.Type.TypeAliasReferenceH\x00R\x05alias\x1a\x82\x01\n\x07Boolean\x128\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x12=\n\x0bnullability\x18\x02 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a}\n\x02I8\x128\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x12=\n\x0bnullability\x18\x02 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a~\n\x03I16\x128\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x12=\n\x0bnullability\x18\x02 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a~\n\x03I32\x128\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x12=\n\x0bnullability\x18\x02 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a~\n\x03I64\x128\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x12=\n\x0bnullability\x18\x02 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\x7f\n\x04FP32\x128\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x12=\n\x0bnullability\x18\x02 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\x7f\n\x04FP64\x128\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x12=\n\x0bnullability\x18\x02 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\x81\x01\n\x06String\x128\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x12=\n\x0bnullability\x18\x02 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\x81\x01\n\x06Binary\x128\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x12=\n\x0bnullability\x18\x02 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\x84\x01\n\tTimestamp\x128\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x12=\n\x0bnullability\x18\x02 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\x7f\n\x04Date\x128\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x12=\n\x0bnullability\x18\x02 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\x7f\n\x04Time\x128\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x12=\n\x0bnullability\x18\x02 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\x86\x01\n\x0bTimestampTZ\x128\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x12=\n\x0bnullability\x18\x02 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\x87\x01\n\x0cIntervalYear\x128\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x12=\n\x0bnullability\x18\x02 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\xb7\x01\n\x0bIntervalDay\x128\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x12=\n\x0bnullability\x18\x02 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x12!\n\tprecision\x18\x03 \x01(\x05H\x00R\tprecision\x88\x01\x01B\x0c\n\n_precision\x1a\xa9\x01\n\x10IntervalCompound\x128\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x12=\n\x0bnullability\x18\x02 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x12\x1c\n\tprecision\x18\x03 \x01(\x05R\tprecision\x1a\x7f\n\x04UUID\x128\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x12=\n\x0bnullability\x18\x02 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\x9c\x01\n\tFixedChar\x12\x16\n\x06length\x18\x01 \x01(\x05R\x06length\x128\n\x18type_variation_reference\x18\x02 \x01(\rR\x16typeVariationReference\x12=\n\x0bnullability\x18\x03 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\x9a\x01\n\x07VarChar\x12\x16\n\x06length\x18\x01 \x01(\x05R\x06length\x128\n\x18type_variation_reference\x18\x02 \x01(\rR\x16typeVariationReference\x12=\n\x0bnullability\x18\x03 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\x9e\x01\n\x0bFixedBinary\x12\x16\n\x06length\x18\x01 \x01(\x05R\x06length\x128\n\x18type_variation_reference\x18\x02 \x01(\rR\x16typeVariationReference\x12=\n\x0bnullability\x18\x03 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\xb6\x01\n\x07Decimal\x12\x14\n\x05scale\x18\x01 \x01(\x05R\x05scale\x12\x1c\n\tprecision\x18\x02 \x01(\x05R\tprecision\x128\n\x18type_variation_reference\x18\x03 \x01(\rR\x16typeVariationReference\x12=\n\x0bnullability\x18\x04 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\xa6\x01\n\rPrecisionTime\x12\x1c\n\tprecision\x18\x01 \x01(\x05R\tprecision\x128\n\x18type_variation_reference\x18\x02 \x01(\rR\x16typeVariationReference\x12=\n\x0bnullability\x18\x03 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\xab\x01\n\x12PrecisionTimestamp\x12\x1c\n\tprecision\x18\x01 \x01(\x05R\tprecision\x128\n\x18type_variation_reference\x18\x02 \x01(\rR\x16typeVariationReference\x12=\n\x0bnullability\x18\x03 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\xad\x01\n\x14PrecisionTimestampTZ\x12\x1c\n\tprecision\x18\x01 \x01(\x05R\tprecision\x128\n\x18type_variation_reference\x18\x02 \x01(\rR\x16typeVariationReference\x12=\n\x0bnullability\x18\x03 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\xa8\x01\n\x06Struct\x12%\n\x05types\x18\x01 \x03(\x0b2\x0f.substrait.TypeR\x05types\x128\n\x18type_variation_reference\x18\x02 \x01(\rR\x16typeVariationReference\x12=\n\x0bnullability\x18\x03 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\xa4\x01\n\x04List\x12#\n\x04type\x18\x01 \x01(\x0b2\x0f.substrait.TypeR\x04type\x128\n\x18type_variation_reference\x18\x02 \x01(\rR\x16typeVariationReference\x12=\n\x0bnullability\x18\x03 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\xc8\x01\n\x03Map\x12!\n\x03key\x18\x01 \x01(\x0b2\x0f.substrait.TypeR\x03key\x12%\n\x05value\x18\x02 \x01(\x0b2\x0f.substrait.TypeR\x05value\x128\n\x18type_variation_reference\x18\x03 \x01(\rR\x16typeVariationReference\x12=\n\x0bnullability\x18\x04 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\xf1\x01\n\x0bUserDefined\x12%\n\x0etype_reference\x18\x01 \x01(\rR\rtypeReference\x128\n\x18type_variation_reference\x18\x02 \x01(\rR\x16typeVariationReference\x12=\n\x0bnullability\x18\x03 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x12B\n\x0ftype_parameters\x18\x04 \x03(\x0b2\x19.substrait.Type.ParameterR\x0etypeParameters\x1a\xde\x01\n\tParameter\x12,\n\x04null\x18\x01 \x01(\x0b2\x16.google.protobuf.EmptyH\x00R\x04null\x12.\n\tdata_type\x18\x02 \x01(\x0b2\x0f.substrait.TypeH\x00R\x08dataType\x12\x1a\n\x07boolean\x18\x03 \x01(\x08H\x00R\x07boolean\x12\x1a\n\x07integer\x18\x04 \x01(\x03H\x00R\x07integer\x12\x14\n\x04enum\x18\x05 \x01(\tH\x00R\x04enum\x12\x18\n\x06string\x18\x06 \x01(\tH\x00R\x06stringB\x0b\n\tparameter\x1a\x85\x01\n\x12TypeAliasReference\x120\n\x14type_alias_reference\x18\x01 \x01(\rR\x12typeAliasReference\x12=\n\x0bnullability\x18\x02 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\"^\n\x0bNullability\x12\x1b\n\x17NULLABILITY_UNSPECIFIED\x10\x00\x12\x18\n\x14NULLABILITY_NULLABLE\x10\x01\x12\x18\n\x14NULLABILITY_REQUIRED\x10\x02B\x06\n\x04kind\"\\\n\tTypeAlias\x12*\n\x11type_alias_anchor\x18\x01 \x01(\rR\x0ftypeAliasAnchor\x12#\n\x04type\x18\x02 \x01(\x0b2\x0f.substrait.TypeR\x04type\"S\n\x0bNamedStruct\x12\x14\n\x05names\x18\x01 \x03(\tR\x05names\x12.\n\x06struct\x18\x02 \x01(\x0b2\x16.substrait.Type.StructR\x06structBf\n\x12io.substrait.protoP\x01Z9github.com/substrait-io/substrait-protobuf/go/substraitpb\xaa\x02\x12Substrait.ProtobufJ\xdeX\n\x07\x12\x05\x01\x00\xa8\x02\x01\n/\n\x01\x0c\x12\x03\x01\x00\x12\x1a% SPDX-License-Identifier: Apache-2.0\n\n\x08\n\x01\x02\x12\x03\x03\x00\x12\n\t\n\x02\x03\x00\x12\x03\x05\x00%\n\x08\n\x01\x08\x12\x03\x07\x00/\n\t\n\x02\x08%\x12\x03\x07\x00/\n\x08\n\x01\x08\x12\x03\x08\x00P\n\t\n\x02\x08\x0b\x12\x03\x08\x00P\n\x08\n\x01\x08\x12\x03\t\x00\"\n\t\n\x02\x08\n\x12\x03\t\x00\"\n\x08\n\x01\x08\x12\x03\n\x00+\n\t\n\x02\x08\x01\x12\x03\n\x00+\n\x0b\n\x02\x04\x00\x12\x05\x0c\x00\xfe\x01\x01\n\n\n\x03\x04\x00\x01\x12\x03\x0c\x08\x0c\n\x0c\n\x04\x04\x00\x08\x00\x12\x04\r\x029\x03\n\x0c\n\x05\x04\x00\x08\x00\x01\x12\x03\r\x08\x0c\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x0e\x04\x15\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\x0e\x04\x0b\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x0e\x0c\x10\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x0e\x13\x14\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\x0f\x04\x0e\n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x03\x0f\x04\x06\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x0f\x07\t\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x0f\x0c\r\n\x0b\n\x04\x04\x00\x02\x02\x12\x03\x10\x04\x10\n\x0c\n\x05\x04\x00\x02\x02\x06\x12\x03\x10\x04\x07\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\x10\x08\x0b\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\x10\x0e\x0f\n\x0b\n\x04\x04\x00\x02\x03\x12\x03\x11\x04\x10\n\x0c\n\x05\x04\x00\x02\x03\x06\x12\x03\x11\x04\x07\n\x0c\n\x05\x04\x00\x02\x03\x01\x12\x03\x11\x08\x0b\n\x0c\n\x05\x04\x00\x02\x03\x03\x12\x03\x11\x0e\x0f\n\x0b\n\x04\x04\x00\x02\x04\x12\x03\x12\x04\x10\n\x0c\n\x05\x04\x00\x02\x04\x06\x12\x03\x12\x04\x07\n\x0c\n\x05\x04\x00\x02\x04\x01\x12\x03\x12\x08\x0b\n\x0c\n\x05\x04\x00\x02\x04\x03\x12\x03\x12\x0e\x0f\n\x0b\n\x04\x04\x00\x02\x05\x12\x03\x13\x04\x13\n\x0c\n\x05\x04\x00\x02\x05\x06\x12\x03\x13\x04\x08\n\x0c\n\x05\x04\x00\x02\x05\x01\x12\x03\x13\t\r\n\x0c\n\x05\x04\x00\x02\x05\x03\x12\x03\x13\x10\x12\n\x0b\n\x04\x04\x00\x02\x06\x12\x03\x14\x04\x13\n\x0c\n\x05\x04\x00\x02\x06\x06\x12\x03\x14\x04\x08\n\x0c\n\x05\x04\x00\x02\x06\x01\x12\x03\x14\t\r\n\x0c\n\x05\x04\x00\x02\x06\x03\x12\x03\x14\x10\x12\n\x0b\n\x04\x04\x00\x02\x07\x12\x03\x15\x04\x17\n\x0c\n\x05\x04\x00\x02\x07\x06\x12\x03\x15\x04\n\n\x0c\n\x05\x04\x00\x02\x07\x01\x12\x03\x15\x0b\x11\n\x0c\n\x05\x04\x00\x02\x07\x03\x12\x03\x15\x14\x16\n\x0b\n\x04\x04\x00\x02\x08\x12\x03\x16\x04\x17\n\x0c\n\x05\x04\x00\x02\x08\x06\x12\x03\x16\x04\n\n\x0c\n\x05\x04\x00\x02\x08\x01\x12\x03\x16\x0b\x11\n\x0c\n\x05\x04\x00\x02\x08\x03\x12\x03\x16\x14\x16\nN\n\x04\x04\x00\x02\t\x12\x03\x18\x041\x1aA Deprecated in favor of `PrecisionTimestamp precision_timestamp`\n\n\x0c\n\x05\x04\x00\x02\t\x06\x12\x03\x18\x04\r\n\x0c\n\x05\x04\x00\x02\t\x01\x12\x03\x18\x0e\x17\n\x0c\n\x05\x04\x00\x02\t\x03\x12\x03\x18\x1a\x1c\n\x0c\n\x05\x04\x00\x02\t\x08\x12\x03\x18\x1d0\n\r\n\x06\x04\x00\x02\t\x08\x03\x12\x03\x18\x1e/\n\x0b\n\x04\x04\x00\x02\n\x12\x03\x19\x04\x13\n\x0c\n\x05\x04\x00\x02\n\x06\x12\x03\x19\x04\x08\n\x0c\n\x05\x04\x00\x02\n\x01\x12\x03\x19\t\r\n\x0c\n\x05\x04\x00\x02\n\x03\x12\x03\x19\x10\x12\nD\n\x04\x04\x00\x02\x0b\x12\x03\x1b\x04\x13\x1a7 Deprecated in favor of `PrecisionTime precision_time`\n\n\x0c\n\x05\x04\x00\x02\x0b\x06\x12\x03\x1b\x04\x08\n\x0c\n\x05\x04\x00\x02\x0b\x01\x12\x03\x1b\t\r\n\x0c\n\x05\x04\x00\x02\x0b\x03\x12\x03\x1b\x10\x12\n\x0b\n\x04\x04\x00\x02\x0c\x12\x03\x1c\x04$\n\x0c\n\x05\x04\x00\x02\x0c\x06\x12\x03\x1c\x04\x10\n\x0c\n\x05\x04\x00\x02\x0c\x01\x12\x03\x1c\x11\x1e\n\x0c\n\x05\x04\x00\x02\x0c\x03\x12\x03\x1c!#\n\x0b\n\x04\x04\x00\x02\r\x12\x03\x1d\x04\"\n\x0c\n\x05\x04\x00\x02\r\x06\x12\x03\x1d\x04\x0f\n\x0c\n\x05\x04\x00\x02\r\x01\x12\x03\x1d\x10\x1c\n\x0c\n\x05\x04\x00\x02\r\x03\x12\x03\x1d\x1f!\n\x0b\n\x04\x04\x00\x02\x0e\x12\x03\x1e\x04,\n\x0c\n\x05\x04\x00\x02\x0e\x06\x12\x03\x1e\x04\x14\n\x0c\n\x05\x04\x00\x02\x0e\x01\x12\x03\x1e\x15&\n\x0c\n\x05\x04\x00\x02\x0e\x03\x12\x03\x1e)+\nS\n\x04\x04\x00\x02\x0f\x12\x03 \x046\x1aF Deprecated in favor of `PrecisionTimestampTZ precision_timestamp_tz`\n\n\x0c\n\x05\x04\x00\x02\x0f\x06\x12\x03 \x04\x0f\n\x0c\n\x05\x04\x00\x02\x0f\x01\x12\x03 \x10\x1c\n\x0c\n\x05\x04\x00\x02\x0f\x03\x12\x03 \x1f!\n\x0c\n\x05\x04\x00\x02\x0f\x08\x12\x03 \"5\n\r\n\x06\x04\x00\x02\x0f\x08\x03\x12\x03 #4\n\x0b\n\x04\x04\x00\x02\x10\x12\x03!\x04\x13\n\x0c\n\x05\x04\x00\x02\x10\x06\x12\x03!\x04\x08\n\x0c\n\x05\x04\x00\x02\x10\x01\x12\x03!\t\r\n\x0c\n\x05\x04\x00\x02\x10\x03\x12\x03!\x10\x12\n\x0b\n\x04\x04\x00\x02\x11\x12\x03#\x04\x1e\n\x0c\n\x05\x04\x00\x02\x11\x06\x12\x03#\x04\r\n\x0c\n\x05\x04\x00\x02\x11\x01\x12\x03#\x0e\x18\n\x0c\n\x05\x04\x00\x02\x11\x03\x12\x03#\x1b\x1d\n\x0b\n\x04\x04\x00\x02\x12\x12\x03$\x04\x19\n\x0c\n\x05\x04\x00\x02\x12\x06\x12\x03$\x04\x0b\n\x0c\n\x05\x04\x00\x02\x12\x01\x12\x03$\x0c\x13\n\x0c\n\x05\x04\x00\x02\x12\x03\x12\x03$\x16\x18\n\x0b\n\x04\x04\x00\x02\x13\x12\x03%\x04\"\n\x0c\n\x05\x04\x00\x02\x13\x06\x12\x03%\x04\x0f\n\x0c\n\x05\x04\x00\x02\x13\x01\x12\x03%\x10\x1c\n\x0c\n\x05\x04\x00\x02\x13\x03\x12\x03%\x1f!\n\x0b\n\x04\x04\x00\x02\x14\x12\x03&\x04\x19\n\x0c\n\x05\x04\x00\x02\x14\x06\x12\x03&\x04\x0b\n\x0c\n\x05\x04\x00\x02\x14\x01\x12\x03&\x0c\x13\n\x0c\n\x05\x04\x00\x02\x14\x03\x12\x03&\x16\x18\n\x0b\n\x04\x04\x00\x02\x15\x12\x03\'\x04&\n\x0c\n\x05\x04\x00\x02\x15\x06\x12\x03\'\x04\x11\n\x0c\n\x05\x04\x00\x02\x15\x01\x12\x03\'\x12 \n\x0c\n\x05\x04\x00\x02\x15\x03\x12\x03\'#%\n\x0b\n\x04\x04\x00\x02\x16\x12\x03(\x040\n\x0c\n\x05\x04\x00\x02\x16\x06\x12\x03(\x04\x16\n\x0c\n\x05\x04\x00\x02\x16\x01\x12\x03(\x17*\n\x0c\n\x05\x04\x00\x02\x16\x03\x12\x03(-/\n/\n\x04\x04\x00\x02\x17\x12\x03)\x045\"\" value is since UNIX epoch in UTC\n\n\x0c\n\x05\x04\x00\x02\x17\x06\x12\x03)\x04\x18\n\x0c\n\x05\x04\x00\x02\x17\x01\x12\x03)\x19/\n\x0c\n\x05\x04\x00\x02\x17\x03\x12\x03)24\n\x0b\n\x04\x04\x00\x02\x18\x12\x03+\x04\x17\n\x0c\n\x05\x04\x00\x02\x18\x06\x12\x03+\x04\n\n\x0c\n\x05\x04\x00\x02\x18\x01\x12\x03+\x0b\x11\n\x0c\n\x05\x04\x00\x02\x18\x03\x12\x03+\x14\x16\n\x0b\n\x04\x04\x00\x02\x19\x12\x03,\x04\x13\n\x0c\n\x05\x04\x00\x02\x19\x06\x12\x03,\x04\x08\n\x0c\n\x05\x04\x00\x02\x19\x01\x12\x03,\t\r\n\x0c\n\x05\x04\x00\x02\x19\x03\x12\x03,\x10\x12\n\x0b\n\x04\x04\x00\x02\x1a\x12\x03-\x04\x11\n\x0c\n\x05\x04\x00\x02\x1a\x06\x12\x03-\x04\x07\n\x0c\n\x05\x04\x00\x02\x1a\x01\x12\x03-\x08\x0b\n\x0c\n\x05\x04\x00\x02\x1a\x03\x12\x03-\x0e\x10\n\x0b\n\x04\x04\x00\x02\x1b\x12\x03/\x04\"\n\x0c\n\x05\x04\x00\x02\x1b\x06\x12\x03/\x04\x0f\n\x0c\n\x05\x04\x00\x02\x1b\x01\x12\x03/\x10\x1c\n\x0c\n\x05\x04\x00\x02\x1b\x03\x12\x03/\x1f!\n\xe0\x01\n\x04\x04\x00\x02\x1c\x12\x035\x04@\x1a\xd2\x01 Deprecated in favor of user_defined, which allows nullability and\n variations to be specified. If user_defined_type_reference is\n encountered, treat it as being non-nullable and having the default\n variation.\n\n\x0c\n\x05\x04\x00\x02\x1c\x05\x12\x035\x04\n\n\x0c\n\x05\x04\x00\x02\x1c\x01\x12\x035\x0b&\n\x0c\n\x05\x04\x00\x02\x1c\x03\x12\x035)+\n\x0c\n\x05\x04\x00\x02\x1c\x08\x12\x035,?\n\r\n\x06\x04\x00\x02\x1c\x08\x03\x12\x035->\n@\n\x04\x04\x00\x02\x1d\x12\x038\x04\"\x1a3 Reference an aliased type in `Plan.type_aliases`.\n\n\x0c\n\x05\x04\x00\x02\x1d\x06\x12\x038\x04\x16\n\x0c\n\x05\x04\x00\x02\x1d\x01\x12\x038\x17\x1c\n\x0c\n\x05\x04\x00\x02\x1d\x03\x12\x038\x1f!\n\x0c\n\x04\x04\x00\x04\x00\x12\x04;\x02?\x03\n\x0c\n\x05\x04\x00\x04\x00\x01\x12\x03;\x07\x12\n\r\n\x06\x04\x00\x04\x00\x02\x00\x12\x03<\x04 \n\x0e\n\x07\x04\x00\x04\x00\x02\x00\x01\x12\x03<\x04\x1b\n\x0e\n\x07\x04\x00\x04\x00\x02\x00\x02\x12\x03<\x1e\x1f\n\r\n\x06\x04\x00\x04\x00\x02\x01\x12\x03=\x04\x1d\n\x0e\n\x07\x04\x00\x04\x00\x02\x01\x01\x12\x03=\x04\x18\n\x0e\n\x07\x04\x00\x04\x00\x02\x01\x02\x12\x03=\x1b\x1c\n\r\n\x06\x04\x00\x04\x00\x02\x02\x12\x03>\x04\x1d\n\x0e\n\x07\x04\x00\x04\x00\x02\x02\x01\x12\x03>\x04\x18\n\x0e\n\x07\x04\x00\x04\x00\x02\x02\x02\x12\x03>\x1b\x1c\n\x0c\n\x04\x04\x00\x03\x00\x12\x04A\x02D\x03\n\x0c\n\x05\x04\x00\x03\x00\x01\x12\x03A\n\x11\n\r\n\x06\x04\x00\x03\x00\x02\x00\x12\x03B\x04(\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x05\x12\x03B\x04\n\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x01\x12\x03B\x0b#\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x03\x12\x03B&\'\n\r\n\x06\x04\x00\x03\x00\x02\x01\x12\x03C\x04 \n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x06\x12\x03C\x04\x0f\n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x01\x12\x03C\x10\x1b\n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x03\x12\x03C\x1e\x1f\n\x0c\n\x04\x04\x00\x03\x01\x12\x04F\x02I\x03\n\x0c\n\x05\x04\x00\x03\x01\x01\x12\x03F\n\x0c\n\r\n\x06\x04\x00\x03\x01\x02\x00\x12\x03G\x04(\n\x0e\n\x07\x04\x00\x03\x01\x02\x00\x05\x12\x03G\x04\n\n\x0e\n\x07\x04\x00\x03\x01\x02\x00\x01\x12\x03G\x0b#\n\x0e\n\x07\x04\x00\x03\x01\x02\x00\x03\x12\x03G&\'\n\r\n\x06\x04\x00\x03\x01\x02\x01\x12\x03H\x04 \n\x0e\n\x07\x04\x00\x03\x01\x02\x01\x06\x12\x03H\x04\x0f\n\x0e\n\x07\x04\x00\x03\x01\x02\x01\x01\x12\x03H\x10\x1b\n\x0e\n\x07\x04\x00\x03\x01\x02\x01\x03\x12\x03H\x1e\x1f\n\x0c\n\x04\x04\x00\x03\x02\x12\x04K\x02N\x03\n\x0c\n\x05\x04\x00\x03\x02\x01\x12\x03K\n\r\n\r\n\x06\x04\x00\x03\x02\x02\x00\x12\x03L\x04(\n\x0e\n\x07\x04\x00\x03\x02\x02\x00\x05\x12\x03L\x04\n\n\x0e\n\x07\x04\x00\x03\x02\x02\x00\x01\x12\x03L\x0b#\n\x0e\n\x07\x04\x00\x03\x02\x02\x00\x03\x12\x03L&\'\n\r\n\x06\x04\x00\x03\x02\x02\x01\x12\x03M\x04 \n\x0e\n\x07\x04\x00\x03\x02\x02\x01\x06\x12\x03M\x04\x0f\n\x0e\n\x07\x04\x00\x03\x02\x02\x01\x01\x12\x03M\x10\x1b\n\x0e\n\x07\x04\x00\x03\x02\x02\x01\x03\x12\x03M\x1e\x1f\n\x0c\n\x04\x04\x00\x03\x03\x12\x04P\x02S\x03\n\x0c\n\x05\x04\x00\x03\x03\x01\x12\x03P\n\r\n\r\n\x06\x04\x00\x03\x03\x02\x00\x12\x03Q\x04(\n\x0e\n\x07\x04\x00\x03\x03\x02\x00\x05\x12\x03Q\x04\n\n\x0e\n\x07\x04\x00\x03\x03\x02\x00\x01\x12\x03Q\x0b#\n\x0e\n\x07\x04\x00\x03\x03\x02\x00\x03\x12\x03Q&\'\n\r\n\x06\x04\x00\x03\x03\x02\x01\x12\x03R\x04 \n\x0e\n\x07\x04\x00\x03\x03\x02\x01\x06\x12\x03R\x04\x0f\n\x0e\n\x07\x04\x00\x03\x03\x02\x01\x01\x12\x03R\x10\x1b\n\x0e\n\x07\x04\x00\x03\x03\x02\x01\x03\x12\x03R\x1e\x1f\n\x0c\n\x04\x04\x00\x03\x04\x12\x04U\x02X\x03\n\x0c\n\x05\x04\x00\x03\x04\x01\x12\x03U\n\r\n\r\n\x06\x04\x00\x03\x04\x02\x00\x12\x03V\x04(\n\x0e\n\x07\x04\x00\x03\x04\x02\x00\x05\x12\x03V\x04\n\n\x0e\n\x07\x04\x00\x03\x04\x02\x00\x01\x12\x03V\x0b#\n\x0e\n\x07\x04\x00\x03\x04\x02\x00\x03\x12\x03V&\'\n\r\n\x06\x04\x00\x03\x04\x02\x01\x12\x03W\x04 \n\x0e\n\x07\x04\x00\x03\x04\x02\x01\x06\x12\x03W\x04\x0f\n\x0e\n\x07\x04\x00\x03\x04\x02\x01\x01\x12\x03W\x10\x1b\n\x0e\n\x07\x04\x00\x03\x04\x02\x01\x03\x12\x03W\x1e\x1f\n\x0c\n\x04\x04\x00\x03\x05\x12\x04Z\x02]\x03\n\x0c\n\x05\x04\x00\x03\x05\x01\x12\x03Z\n\x0e\n\r\n\x06\x04\x00\x03\x05\x02\x00\x12\x03[\x04(\n\x0e\n\x07\x04\x00\x03\x05\x02\x00\x05\x12\x03[\x04\n\n\x0e\n\x07\x04\x00\x03\x05\x02\x00\x01\x12\x03[\x0b#\n\x0e\n\x07\x04\x00\x03\x05\x02\x00\x03\x12\x03[&\'\n\r\n\x06\x04\x00\x03\x05\x02\x01\x12\x03\\\x04 \n\x0e\n\x07\x04\x00\x03\x05\x02\x01\x06\x12\x03\\\x04\x0f\n\x0e\n\x07\x04\x00\x03\x05\x02\x01\x01\x12\x03\\\x10\x1b\n\x0e\n\x07\x04\x00\x03\x05\x02\x01\x03\x12\x03\\\x1e\x1f\n\x0c\n\x04\x04\x00\x03\x06\x12\x04_\x02b\x03\n\x0c\n\x05\x04\x00\x03\x06\x01\x12\x03_\n\x0e\n\r\n\x06\x04\x00\x03\x06\x02\x00\x12\x03`\x04(\n\x0e\n\x07\x04\x00\x03\x06\x02\x00\x05\x12\x03`\x04\n\n\x0e\n\x07\x04\x00\x03\x06\x02\x00\x01\x12\x03`\x0b#\n\x0e\n\x07\x04\x00\x03\x06\x02\x00\x03\x12\x03`&\'\n\r\n\x06\x04\x00\x03\x06\x02\x01\x12\x03a\x04 \n\x0e\n\x07\x04\x00\x03\x06\x02\x01\x06\x12\x03a\x04\x0f\n\x0e\n\x07\x04\x00\x03\x06\x02\x01\x01\x12\x03a\x10\x1b\n\x0e\n\x07\x04\x00\x03\x06\x02\x01\x03\x12\x03a\x1e\x1f\n\x0c\n\x04\x04\x00\x03\x07\x12\x04d\x02g\x03\n\x0c\n\x05\x04\x00\x03\x07\x01\x12\x03d\n\x10\n\r\n\x06\x04\x00\x03\x07\x02\x00\x12\x03e\x04(\n\x0e\n\x07\x04\x00\x03\x07\x02\x00\x05\x12\x03e\x04\n\n\x0e\n\x07\x04\x00\x03\x07\x02\x00\x01\x12\x03e\x0b#\n\x0e\n\x07\x04\x00\x03\x07\x02\x00\x03\x12\x03e&\'\n\r\n\x06\x04\x00\x03\x07\x02\x01\x12\x03f\x04 \n\x0e\n\x07\x04\x00\x03\x07\x02\x01\x06\x12\x03f\x04\x0f\n\x0e\n\x07\x04\x00\x03\x07\x02\x01\x01\x12\x03f\x10\x1b\n\x0e\n\x07\x04\x00\x03\x07\x02\x01\x03\x12\x03f\x1e\x1f\n\x0c\n\x04\x04\x00\x03\x08\x12\x04i\x02l\x03\n\x0c\n\x05\x04\x00\x03\x08\x01\x12\x03i\n\x10\n\r\n\x06\x04\x00\x03\x08\x02\x00\x12\x03j\x04(\n\x0e\n\x07\x04\x00\x03\x08\x02\x00\x05\x12\x03j\x04\n\n\x0e\n\x07\x04\x00\x03\x08\x02\x00\x01\x12\x03j\x0b#\n\x0e\n\x07\x04\x00\x03\x08\x02\x00\x03\x12\x03j&\'\n\r\n\x06\x04\x00\x03\x08\x02\x01\x12\x03k\x04 \n\x0e\n\x07\x04\x00\x03\x08\x02\x01\x06\x12\x03k\x04\x0f\n\x0e\n\x07\x04\x00\x03\x08\x02\x01\x01\x12\x03k\x10\x1b\n\x0e\n\x07\x04\x00\x03\x08\x02\x01\x03\x12\x03k\x1e\x1f\n\x0c\n\x04\x04\x00\x03\t\x12\x04n\x02q\x03\n\x0c\n\x05\x04\x00\x03\t\x01\x12\x03n\n\x13\n\r\n\x06\x04\x00\x03\t\x02\x00\x12\x03o\x04(\n\x0e\n\x07\x04\x00\x03\t\x02\x00\x05\x12\x03o\x04\n\n\x0e\n\x07\x04\x00\x03\t\x02\x00\x01\x12\x03o\x0b#\n\x0e\n\x07\x04\x00\x03\t\x02\x00\x03\x12\x03o&\'\n\r\n\x06\x04\x00\x03\t\x02\x01\x12\x03p\x04 \n\x0e\n\x07\x04\x00\x03\t\x02\x01\x06\x12\x03p\x04\x0f\n\x0e\n\x07\x04\x00\x03\t\x02\x01\x01\x12\x03p\x10\x1b\n\x0e\n\x07\x04\x00\x03\t\x02\x01\x03\x12\x03p\x1e\x1f\n\x0c\n\x04\x04\x00\x03\n\x12\x04s\x02v\x03\n\x0c\n\x05\x04\x00\x03\n\x01\x12\x03s\n\x0e\n\r\n\x06\x04\x00\x03\n\x02\x00\x12\x03t\x04(\n\x0e\n\x07\x04\x00\x03\n\x02\x00\x05\x12\x03t\x04\n\n\x0e\n\x07\x04\x00\x03\n\x02\x00\x01\x12\x03t\x0b#\n\x0e\n\x07\x04\x00\x03\n\x02\x00\x03\x12\x03t&\'\n\r\n\x06\x04\x00\x03\n\x02\x01\x12\x03u\x04 \n\x0e\n\x07\x04\x00\x03\n\x02\x01\x06\x12\x03u\x04\x0f\n\x0e\n\x07\x04\x00\x03\n\x02\x01\x01\x12\x03u\x10\x1b\n\x0e\n\x07\x04\x00\x03\n\x02\x01\x03\x12\x03u\x1e\x1f\n\x0c\n\x04\x04\x00\x03\x0b\x12\x04x\x02{\x03\n\x0c\n\x05\x04\x00\x03\x0b\x01\x12\x03x\n\x0e\n\r\n\x06\x04\x00\x03\x0b\x02\x00\x12\x03y\x04(\n\x0e\n\x07\x04\x00\x03\x0b\x02\x00\x05\x12\x03y\x04\n\n\x0e\n\x07\x04\x00\x03\x0b\x02\x00\x01\x12\x03y\x0b#\n\x0e\n\x07\x04\x00\x03\x0b\x02\x00\x03\x12\x03y&\'\n\r\n\x06\x04\x00\x03\x0b\x02\x01\x12\x03z\x04 \n\x0e\n\x07\x04\x00\x03\x0b\x02\x01\x06\x12\x03z\x04\x0f\n\x0e\n\x07\x04\x00\x03\x0b\x02\x01\x01\x12\x03z\x10\x1b\n\x0e\n\x07\x04\x00\x03\x0b\x02\x01\x03\x12\x03z\x1e\x1f\n\r\n\x04\x04\x00\x03\x0c\x12\x05}\x02\x80\x01\x03\n\x0c\n\x05\x04\x00\x03\x0c\x01\x12\x03}\n\x15\n\r\n\x06\x04\x00\x03\x0c\x02\x00\x12\x03~\x04(\n\x0e\n\x07\x04\x00\x03\x0c\x02\x00\x05\x12\x03~\x04\n\n\x0e\n\x07\x04\x00\x03\x0c\x02\x00\x01\x12\x03~\x0b#\n\x0e\n\x07\x04\x00\x03\x0c\x02\x00\x03\x12\x03~&\'\n\r\n\x06\x04\x00\x03\x0c\x02\x01\x12\x03\x7f\x04 \n\x0e\n\x07\x04\x00\x03\x0c\x02\x01\x06\x12\x03\x7f\x04\x0f\n\x0e\n\x07\x04\x00\x03\x0c\x02\x01\x01\x12\x03\x7f\x10\x1b\n\x0e\n\x07\x04\x00\x03\x0c\x02\x01\x03\x12\x03\x7f\x1e\x1f\n<\n\x04\x04\x00\x03\r\x12\x06\x83\x01\x02\x86\x01\x03\x1a, An interval consisting of years and months\n\n\r\n\x05\x04\x00\x03\r\x01\x12\x04\x83\x01\n\x16\n\x0e\n\x06\x04\x00\x03\r\x02\x00\x12\x04\x84\x01\x04(\n\x0f\n\x07\x04\x00\x03\r\x02\x00\x05\x12\x04\x84\x01\x04\n\n\x0f\n\x07\x04\x00\x03\r\x02\x00\x01\x12\x04\x84\x01\x0b#\n\x0f\n\x07\x04\x00\x03\r\x02\x00\x03\x12\x04\x84\x01&\'\n\x0e\n\x06\x04\x00\x03\r\x02\x01\x12\x04\x85\x01\x04 \n\x0f\n\x07\x04\x00\x03\r\x02\x01\x06\x12\x04\x85\x01\x04\x0f\n\x0f\n\x07\x04\x00\x03\r\x02\x01\x01\x12\x04\x85\x01\x10\x1b\n\x0f\n\x07\x04\x00\x03\r\x02\x01\x03\x12\x04\x85\x01\x1e\x1f\nK\n\x04\x04\x00\x03\x0e\x12\x06\x89\x01\x02\x90\x01\x03\x1a; An interval consisting of days, seconds, and microseconds\n\n\r\n\x05\x04\x00\x03\x0e\x01\x12\x04\x89\x01\n\x15\n\x0e\n\x06\x04\x00\x03\x0e\x02\x00\x12\x04\x8a\x01\x04(\n\x0f\n\x07\x04\x00\x03\x0e\x02\x00\x05\x12\x04\x8a\x01\x04\n\n\x0f\n\x07\x04\x00\x03\x0e\x02\x00\x01\x12\x04\x8a\x01\x0b#\n\x0f\n\x07\x04\x00\x03\x0e\x02\x00\x03\x12\x04\x8a\x01&\'\n\x0e\n\x06\x04\x00\x03\x0e\x02\x01\x12\x04\x8b\x01\x04 \n\x0f\n\x07\x04\x00\x03\x0e\x02\x01\x06\x12\x04\x8b\x01\x04\x0f\n\x0f\n\x07\x04\x00\x03\x0e\x02\x01\x01\x12\x04\x8b\x01\x10\x1b\n\x0f\n\x07\x04\x00\x03\x0e\x02\x01\x03\x12\x04\x8b\x01\x1e\x1f\n\xa0\x01\n\x06\x04\x00\x03\x0e\x02\x02\x12\x04\x8f\x01\x04!\x1a\x8f\x01 Sub-second precision, 0 means the value given is in seconds, 3 is milliseconds, 6 microseconds, 9 is nanoseconds, etc.\n if unset, treat as 6.\n\n\x0f\n\x07\x04\x00\x03\x0e\x02\x02\x04\x12\x04\x8f\x01\x04\x0c\n\x0f\n\x07\x04\x00\x03\x0e\x02\x02\x05\x12\x04\x8f\x01\r\x12\n\x0f\n\x07\x04\x00\x03\x0e\x02\x02\x01\x12\x04\x8f\x01\x13\x1c\n\x0f\n\x07\x04\x00\x03\x0e\x02\x02\x03\x12\x04\x8f\x01\x1f \n`\n\x04\x04\x00\x03\x0f\x12\x06\x93\x01\x02\x98\x01\x03\x1aP An interval consisting of the components of both IntervalMonth and IntervalDay\n\n\r\n\x05\x04\x00\x03\x0f\x01\x12\x04\x93\x01\n\x1a\n\x0e\n\x06\x04\x00\x03\x0f\x02\x00\x12\x04\x94\x01\x04(\n\x0f\n\x07\x04\x00\x03\x0f\x02\x00\x05\x12\x04\x94\x01\x04\n\n\x0f\n\x07\x04\x00\x03\x0f\x02\x00\x01\x12\x04\x94\x01\x0b#\n\x0f\n\x07\x04\x00\x03\x0f\x02\x00\x03\x12\x04\x94\x01&\'\n\x0e\n\x06\x04\x00\x03\x0f\x02\x01\x12\x04\x95\x01\x04 \n\x0f\n\x07\x04\x00\x03\x0f\x02\x01\x06\x12\x04\x95\x01\x04\x0f\n\x0f\n\x07\x04\x00\x03\x0f\x02\x01\x01\x12\x04\x95\x01\x10\x1b\n\x0f\n\x07\x04\x00\x03\x0f\x02\x01\x03\x12\x04\x95\x01\x1e\x1f\n\x88\x01\n\x06\x04\x00\x03\x0f\x02\x02\x12\x04\x97\x01\x04\x18\x1ax Sub-second precision, 0 means the value given is in seconds, 3 is milliseconds, 6 microseconds, 9 is nanoseconds, etc.\n\n\x0f\n\x07\x04\x00\x03\x0f\x02\x02\x05\x12\x04\x97\x01\x04\t\n\x0f\n\x07\x04\x00\x03\x0f\x02\x02\x01\x12\x04\x97\x01\n\x13\n\x0f\n\x07\x04\x00\x03\x0f\x02\x02\x03\x12\x04\x97\x01\x16\x17\n\x0e\n\x04\x04\x00\x03\x10\x12\x06\x9a\x01\x02\x9d\x01\x03\n\r\n\x05\x04\x00\x03\x10\x01\x12\x04\x9a\x01\n\x0e\n\x0e\n\x06\x04\x00\x03\x10\x02\x00\x12\x04\x9b\x01\x04(\n\x0f\n\x07\x04\x00\x03\x10\x02\x00\x05\x12\x04\x9b\x01\x04\n\n\x0f\n\x07\x04\x00\x03\x10\x02\x00\x01\x12\x04\x9b\x01\x0b#\n\x0f\n\x07\x04\x00\x03\x10\x02\x00\x03\x12\x04\x9b\x01&\'\n\x0e\n\x06\x04\x00\x03\x10\x02\x01\x12\x04\x9c\x01\x04 \n\x0f\n\x07\x04\x00\x03\x10\x02\x01\x06\x12\x04\x9c\x01\x04\x0f\n\x0f\n\x07\x04\x00\x03\x10\x02\x01\x01\x12\x04\x9c\x01\x10\x1b\n\x0f\n\x07\x04\x00\x03\x10\x02\x01\x03\x12\x04\x9c\x01\x1e\x1f\n\'\n\x04\x04\x00\x03\x11\x12\x06\xa0\x01\x02\xa4\x01\x03\x1a\x17 Start compound types.\n\n\r\n\x05\x04\x00\x03\x11\x01\x12\x04\xa0\x01\n\x13\n\x0e\n\x06\x04\x00\x03\x11\x02\x00\x12\x04\xa1\x01\x04\x15\n\x0f\n\x07\x04\x00\x03\x11\x02\x00\x05\x12\x04\xa1\x01\x04\t\n\x0f\n\x07\x04\x00\x03\x11\x02\x00\x01\x12\x04\xa1\x01\n\x10\n\x0f\n\x07\x04\x00\x03\x11\x02\x00\x03\x12\x04\xa1\x01\x13\x14\n\x0e\n\x06\x04\x00\x03\x11\x02\x01\x12\x04\xa2\x01\x04(\n\x0f\n\x07\x04\x00\x03\x11\x02\x01\x05\x12\x04\xa2\x01\x04\n\n\x0f\n\x07\x04\x00\x03\x11\x02\x01\x01\x12\x04\xa2\x01\x0b#\n\x0f\n\x07\x04\x00\x03\x11\x02\x01\x03\x12\x04\xa2\x01&\'\n\x0e\n\x06\x04\x00\x03\x11\x02\x02\x12\x04\xa3\x01\x04 \n\x0f\n\x07\x04\x00\x03\x11\x02\x02\x06\x12\x04\xa3\x01\x04\x0f\n\x0f\n\x07\x04\x00\x03\x11\x02\x02\x01\x12\x04\xa3\x01\x10\x1b\n\x0f\n\x07\x04\x00\x03\x11\x02\x02\x03\x12\x04\xa3\x01\x1e\x1f\n\x0e\n\x04\x04\x00\x03\x12\x12\x06\xa6\x01\x02\xaa\x01\x03\n\r\n\x05\x04\x00\x03\x12\x01\x12\x04\xa6\x01\n\x11\n\x0e\n\x06\x04\x00\x03\x12\x02\x00\x12\x04\xa7\x01\x04\x15\n\x0f\n\x07\x04\x00\x03\x12\x02\x00\x05\x12\x04\xa7\x01\x04\t\n\x0f\n\x07\x04\x00\x03\x12\x02\x00\x01\x12\x04\xa7\x01\n\x10\n\x0f\n\x07\x04\x00\x03\x12\x02\x00\x03\x12\x04\xa7\x01\x13\x14\n\x0e\n\x06\x04\x00\x03\x12\x02\x01\x12\x04\xa8\x01\x04(\n\x0f\n\x07\x04\x00\x03\x12\x02\x01\x05\x12\x04\xa8\x01\x04\n\n\x0f\n\x07\x04\x00\x03\x12\x02\x01\x01\x12\x04\xa8\x01\x0b#\n\x0f\n\x07\x04\x00\x03\x12\x02\x01\x03\x12\x04\xa8\x01&\'\n\x0e\n\x06\x04\x00\x03\x12\x02\x02\x12\x04\xa9\x01\x04 \n\x0f\n\x07\x04\x00\x03\x12\x02\x02\x06\x12\x04\xa9\x01\x04\x0f\n\x0f\n\x07\x04\x00\x03\x12\x02\x02\x01\x12\x04\xa9\x01\x10\x1b\n\x0f\n\x07\x04\x00\x03\x12\x02\x02\x03\x12\x04\xa9\x01\x1e\x1f\n\x0e\n\x04\x04\x00\x03\x13\x12\x06\xac\x01\x02\xb0\x01\x03\n\r\n\x05\x04\x00\x03\x13\x01\x12\x04\xac\x01\n\x15\n\x0e\n\x06\x04\x00\x03\x13\x02\x00\x12\x04\xad\x01\x04\x15\n\x0f\n\x07\x04\x00\x03\x13\x02\x00\x05\x12\x04\xad\x01\x04\t\n\x0f\n\x07\x04\x00\x03\x13\x02\x00\x01\x12\x04\xad\x01\n\x10\n\x0f\n\x07\x04\x00\x03\x13\x02\x00\x03\x12\x04\xad\x01\x13\x14\n\x0e\n\x06\x04\x00\x03\x13\x02\x01\x12\x04\xae\x01\x04(\n\x0f\n\x07\x04\x00\x03\x13\x02\x01\x05\x12\x04\xae\x01\x04\n\n\x0f\n\x07\x04\x00\x03\x13\x02\x01\x01\x12\x04\xae\x01\x0b#\n\x0f\n\x07\x04\x00\x03\x13\x02\x01\x03\x12\x04\xae\x01&\'\n\x0e\n\x06\x04\x00\x03\x13\x02\x02\x12\x04\xaf\x01\x04 \n\x0f\n\x07\x04\x00\x03\x13\x02\x02\x06\x12\x04\xaf\x01\x04\x0f\n\x0f\n\x07\x04\x00\x03\x13\x02\x02\x01\x12\x04\xaf\x01\x10\x1b\n\x0f\n\x07\x04\x00\x03\x13\x02\x02\x03\x12\x04\xaf\x01\x1e\x1f\n\x0e\n\x04\x04\x00\x03\x14\x12\x06\xb2\x01\x02\xb7\x01\x03\n\r\n\x05\x04\x00\x03\x14\x01\x12\x04\xb2\x01\n\x11\n\x0e\n\x06\x04\x00\x03\x14\x02\x00\x12\x04\xb3\x01\x04\x14\n\x0f\n\x07\x04\x00\x03\x14\x02\x00\x05\x12\x04\xb3\x01\x04\t\n\x0f\n\x07\x04\x00\x03\x14\x02\x00\x01\x12\x04\xb3\x01\n\x0f\n\x0f\n\x07\x04\x00\x03\x14\x02\x00\x03\x12\x04\xb3\x01\x12\x13\n\x0e\n\x06\x04\x00\x03\x14\x02\x01\x12\x04\xb4\x01\x04\x18\n\x0f\n\x07\x04\x00\x03\x14\x02\x01\x05\x12\x04\xb4\x01\x04\t\n\x0f\n\x07\x04\x00\x03\x14\x02\x01\x01\x12\x04\xb4\x01\n\x13\n\x0f\n\x07\x04\x00\x03\x14\x02\x01\x03\x12\x04\xb4\x01\x16\x17\n\x0e\n\x06\x04\x00\x03\x14\x02\x02\x12\x04\xb5\x01\x04(\n\x0f\n\x07\x04\x00\x03\x14\x02\x02\x05\x12\x04\xb5\x01\x04\n\n\x0f\n\x07\x04\x00\x03\x14\x02\x02\x01\x12\x04\xb5\x01\x0b#\n\x0f\n\x07\x04\x00\x03\x14\x02\x02\x03\x12\x04\xb5\x01&\'\n\x0e\n\x06\x04\x00\x03\x14\x02\x03\x12\x04\xb6\x01\x04 \n\x0f\n\x07\x04\x00\x03\x14\x02\x03\x06\x12\x04\xb6\x01\x04\x0f\n\x0f\n\x07\x04\x00\x03\x14\x02\x03\x01\x12\x04\xb6\x01\x10\x1b\n\x0f\n\x07\x04\x00\x03\x14\x02\x03\x03\x12\x04\xb6\x01\x1e\x1f\n\x0e\n\x04\x04\x00\x03\x15\x12\x06\xb9\x01\x02\xbe\x01\x03\n\r\n\x05\x04\x00\x03\x15\x01\x12\x04\xb9\x01\n\x17\n\x96\x01\n\x06\x04\x00\x03\x15\x02\x00\x12\x04\xbb\x01\x04\x18\x1a\x85\x01 Sub-second precision, 0 means the value given is in seconds, 3 is milliseconds, 6 microseconds, 9 is nanoseconds, 12 is picoseconds\n\n\x0f\n\x07\x04\x00\x03\x15\x02\x00\x05\x12\x04\xbb\x01\x04\t\n\x0f\n\x07\x04\x00\x03\x15\x02\x00\x01\x12\x04\xbb\x01\n\x13\n\x0f\n\x07\x04\x00\x03\x15\x02\x00\x03\x12\x04\xbb\x01\x16\x17\n\x0e\n\x06\x04\x00\x03\x15\x02\x01\x12\x04\xbc\x01\x04(\n\x0f\n\x07\x04\x00\x03\x15\x02\x01\x05\x12\x04\xbc\x01\x04\n\n\x0f\n\x07\x04\x00\x03\x15\x02\x01\x01\x12\x04\xbc\x01\x0b#\n\x0f\n\x07\x04\x00\x03\x15\x02\x01\x03\x12\x04\xbc\x01&\'\n\x0e\n\x06\x04\x00\x03\x15\x02\x02\x12\x04\xbd\x01\x04 \n\x0f\n\x07\x04\x00\x03\x15\x02\x02\x06\x12\x04\xbd\x01\x04\x0f\n\x0f\n\x07\x04\x00\x03\x15\x02\x02\x01\x12\x04\xbd\x01\x10\x1b\n\x0f\n\x07\x04\x00\x03\x15\x02\x02\x03\x12\x04\xbd\x01\x1e\x1f\n\x0e\n\x04\x04\x00\x03\x16\x12\x06\xc0\x01\x02\xc5\x01\x03\n\r\n\x05\x04\x00\x03\x16\x01\x12\x04\xc0\x01\n\x1c\n\x96\x01\n\x06\x04\x00\x03\x16\x02\x00\x12\x04\xc2\x01\x04\x18\x1a\x85\x01 Sub-second precision, 0 means the value given is in seconds, 3 is milliseconds, 6 microseconds, 9 is nanoseconds, 12 is picoseconds\n\n\x0f\n\x07\x04\x00\x03\x16\x02\x00\x05\x12\x04\xc2\x01\x04\t\n\x0f\n\x07\x04\x00\x03\x16\x02\x00\x01\x12\x04\xc2\x01\n\x13\n\x0f\n\x07\x04\x00\x03\x16\x02\x00\x03\x12\x04\xc2\x01\x16\x17\n\x0e\n\x06\x04\x00\x03\x16\x02\x01\x12\x04\xc3\x01\x04(\n\x0f\n\x07\x04\x00\x03\x16\x02\x01\x05\x12\x04\xc3\x01\x04\n\n\x0f\n\x07\x04\x00\x03\x16\x02\x01\x01\x12\x04\xc3\x01\x0b#\n\x0f\n\x07\x04\x00\x03\x16\x02\x01\x03\x12\x04\xc3\x01&\'\n\x0e\n\x06\x04\x00\x03\x16\x02\x02\x12\x04\xc4\x01\x04 \n\x0f\n\x07\x04\x00\x03\x16\x02\x02\x06\x12\x04\xc4\x01\x04\x0f\n\x0f\n\x07\x04\x00\x03\x16\x02\x02\x01\x12\x04\xc4\x01\x10\x1b\n\x0f\n\x07\x04\x00\x03\x16\x02\x02\x03\x12\x04\xc4\x01\x1e\x1f\n\x0e\n\x04\x04\x00\x03\x17\x12\x06\xc7\x01\x02\xcc\x01\x03\n\r\n\x05\x04\x00\x03\x17\x01\x12\x04\xc7\x01\n\x1e\n\x96\x01\n\x06\x04\x00\x03\x17\x02\x00\x12\x04\xc9\x01\x04\x18\x1a\x85\x01 Sub-second precision, 0 means the value given is in seconds, 3 is milliseconds, 6 microseconds, 9 is nanoseconds, 12 is picoseconds\n\n\x0f\n\x07\x04\x00\x03\x17\x02\x00\x05\x12\x04\xc9\x01\x04\t\n\x0f\n\x07\x04\x00\x03\x17\x02\x00\x01\x12\x04\xc9\x01\n\x13\n\x0f\n\x07\x04\x00\x03\x17\x02\x00\x03\x12\x04\xc9\x01\x16\x17\n\x0e\n\x06\x04\x00\x03\x17\x02\x01\x12\x04\xca\x01\x04(\n\x0f\n\x07\x04\x00\x03\x17\x02\x01\x05\x12\x04\xca\x01\x04\n\n\x0f\n\x07\x04\x00\x03\x17\x02\x01\x01\x12\x04\xca\x01\x0b#\n\x0f\n\x07\x04\x00\x03\x17\x02\x01\x03\x12\x04\xca\x01&\'\n\x0e\n\x06\x04\x00\x03\x17\x02\x02\x12\x04\xcb\x01\x04 \n\x0f\n\x07\x04\x00\x03\x17\x02\x02\x06\x12\x04\xcb\x01\x04\x0f\n\x0f\n\x07\x04\x00\x03\x17\x02\x02\x01\x12\x04\xcb\x01\x10\x1b\n\x0f\n\x07\x04\x00\x03\x17\x02\x02\x03\x12\x04\xcb\x01\x1e\x1f\n\x0e\n\x04\x04\x00\x03\x18\x12\x06\xce\x01\x02\xd2\x01\x03\n\r\n\x05\x04\x00\x03\x18\x01\x12\x04\xce\x01\n\x10\n\x0e\n\x06\x04\x00\x03\x18\x02\x00\x12\x04\xcf\x01\x04\x1c\n\x0f\n\x07\x04\x00\x03\x18\x02\x00\x04\x12\x04\xcf\x01\x04\x0c\n\x0f\n\x07\x04\x00\x03\x18\x02\x00\x06\x12\x04\xcf\x01\r\x11\n\x0f\n\x07\x04\x00\x03\x18\x02\x00\x01\x12\x04\xcf\x01\x12\x17\n\x0f\n\x07\x04\x00\x03\x18\x02\x00\x03\x12\x04\xcf\x01\x1a\x1b\n\x0e\n\x06\x04\x00\x03\x18\x02\x01\x12\x04\xd0\x01\x04(\n\x0f\n\x07\x04\x00\x03\x18\x02\x01\x05\x12\x04\xd0\x01\x04\n\n\x0f\n\x07\x04\x00\x03\x18\x02\x01\x01\x12\x04\xd0\x01\x0b#\n\x0f\n\x07\x04\x00\x03\x18\x02\x01\x03\x12\x04\xd0\x01&\'\n\x0e\n\x06\x04\x00\x03\x18\x02\x02\x12\x04\xd1\x01\x04 \n\x0f\n\x07\x04\x00\x03\x18\x02\x02\x06\x12\x04\xd1\x01\x04\x0f\n\x0f\n\x07\x04\x00\x03\x18\x02\x02\x01\x12\x04\xd1\x01\x10\x1b\n\x0f\n\x07\x04\x00\x03\x18\x02\x02\x03\x12\x04\xd1\x01\x1e\x1f\n\x0e\n\x04\x04\x00\x03\x19\x12\x06\xd4\x01\x02\xd8\x01\x03\n\r\n\x05\x04\x00\x03\x19\x01\x12\x04\xd4\x01\n\x0e\n\x0e\n\x06\x04\x00\x03\x19\x02\x00\x12\x04\xd5\x01\x04\x12\n\x0f\n\x07\x04\x00\x03\x19\x02\x00\x06\x12\x04\xd5\x01\x04\x08\n\x0f\n\x07\x04\x00\x03\x19\x02\x00\x01\x12\x04\xd5\x01\t\r\n\x0f\n\x07\x04\x00\x03\x19\x02\x00\x03\x12\x04\xd5\x01\x10\x11\n\x0e\n\x06\x04\x00\x03\x19\x02\x01\x12\x04\xd6\x01\x04(\n\x0f\n\x07\x04\x00\x03\x19\x02\x01\x05\x12\x04\xd6\x01\x04\n\n\x0f\n\x07\x04\x00\x03\x19\x02\x01\x01\x12\x04\xd6\x01\x0b#\n\x0f\n\x07\x04\x00\x03\x19\x02\x01\x03\x12\x04\xd6\x01&\'\n\x0e\n\x06\x04\x00\x03\x19\x02\x02\x12\x04\xd7\x01\x04 \n\x0f\n\x07\x04\x00\x03\x19\x02\x02\x06\x12\x04\xd7\x01\x04\x0f\n\x0f\n\x07\x04\x00\x03\x19\x02\x02\x01\x12\x04\xd7\x01\x10\x1b\n\x0f\n\x07\x04\x00\x03\x19\x02\x02\x03\x12\x04\xd7\x01\x1e\x1f\n\x0e\n\x04\x04\x00\x03\x1a\x12\x06\xda\x01\x02\xdf\x01\x03\n\r\n\x05\x04\x00\x03\x1a\x01\x12\x04\xda\x01\n\r\n\x0e\n\x06\x04\x00\x03\x1a\x02\x00\x12\x04\xdb\x01\x04\x11\n\x0f\n\x07\x04\x00\x03\x1a\x02\x00\x06\x12\x04\xdb\x01\x04\x08\n\x0f\n\x07\x04\x00\x03\x1a\x02\x00\x01\x12\x04\xdb\x01\t\x0c\n\x0f\n\x07\x04\x00\x03\x1a\x02\x00\x03\x12\x04\xdb\x01\x0f\x10\n\x0e\n\x06\x04\x00\x03\x1a\x02\x01\x12\x04\xdc\x01\x04\x13\n\x0f\n\x07\x04\x00\x03\x1a\x02\x01\x06\x12\x04\xdc\x01\x04\x08\n\x0f\n\x07\x04\x00\x03\x1a\x02\x01\x01\x12\x04\xdc\x01\t\x0e\n\x0f\n\x07\x04\x00\x03\x1a\x02\x01\x03\x12\x04\xdc\x01\x11\x12\n\x0e\n\x06\x04\x00\x03\x1a\x02\x02\x12\x04\xdd\x01\x04(\n\x0f\n\x07\x04\x00\x03\x1a\x02\x02\x05\x12\x04\xdd\x01\x04\n\n\x0f\n\x07\x04\x00\x03\x1a\x02\x02\x01\x12\x04\xdd\x01\x0b#\n\x0f\n\x07\x04\x00\x03\x1a\x02\x02\x03\x12\x04\xdd\x01&\'\n\x0e\n\x06\x04\x00\x03\x1a\x02\x03\x12\x04\xde\x01\x04 \n\x0f\n\x07\x04\x00\x03\x1a\x02\x03\x06\x12\x04\xde\x01\x04\x0f\n\x0f\n\x07\x04\x00\x03\x1a\x02\x03\x01\x12\x04\xde\x01\x10\x1b\n\x0f\n\x07\x04\x00\x03\x1a\x02\x03\x03\x12\x04\xde\x01\x1e\x1f\n\x0e\n\x04\x04\x00\x03\x1b\x12\x06\xe1\x01\x02\xe6\x01\x03\n\r\n\x05\x04\x00\x03\x1b\x01\x12\x04\xe1\x01\n\x15\n\x0e\n\x06\x04\x00\x03\x1b\x02\x00\x12\x04\xe2\x01\x04\x1e\n\x0f\n\x07\x04\x00\x03\x1b\x02\x00\x05\x12\x04\xe2\x01\x04\n\n\x0f\n\x07\x04\x00\x03\x1b\x02\x00\x01\x12\x04\xe2\x01\x0b\x19\n\x0f\n\x07\x04\x00\x03\x1b\x02\x00\x03\x12\x04\xe2\x01\x1c\x1d\n\x0e\n\x06\x04\x00\x03\x1b\x02\x01\x12\x04\xe3\x01\x04(\n\x0f\n\x07\x04\x00\x03\x1b\x02\x01\x05\x12\x04\xe3\x01\x04\n\n\x0f\n\x07\x04\x00\x03\x1b\x02\x01\x01\x12\x04\xe3\x01\x0b#\n\x0f\n\x07\x04\x00\x03\x1b\x02\x01\x03\x12\x04\xe3\x01&\'\n\x0e\n\x06\x04\x00\x03\x1b\x02\x02\x12\x04\xe4\x01\x04 \n\x0f\n\x07\x04\x00\x03\x1b\x02\x02\x06\x12\x04\xe4\x01\x04\x0f\n\x0f\n\x07\x04\x00\x03\x1b\x02\x02\x01\x12\x04\xe4\x01\x10\x1b\n\x0f\n\x07\x04\x00\x03\x1b\x02\x02\x03\x12\x04\xe4\x01\x1e\x1f\n\x0e\n\x06\x04\x00\x03\x1b\x02\x03\x12\x04\xe5\x01\x04+\n\x0f\n\x07\x04\x00\x03\x1b\x02\x03\x04\x12\x04\xe5\x01\x04\x0c\n\x0f\n\x07\x04\x00\x03\x1b\x02\x03\x06\x12\x04\xe5\x01\r\x16\n\x0f\n\x07\x04\x00\x03\x1b\x02\x03\x01\x12\x04\xe5\x01\x17&\n\x0f\n\x07\x04\x00\x03\x1b\x02\x03\x03\x12\x04\xe5\x01)*\n\x0e\n\x04\x04\x00\x03\x1c\x12\x06\xe8\x01\x02\xf7\x01\x03\n\r\n\x05\x04\x00\x03\x1c\x01\x12\x04\xe8\x01\n\x13\n\x10\n\x06\x04\x00\x03\x1c\x08\x00\x12\x06\xe9\x01\x04\xf6\x01\x05\n\x0f\n\x07\x04\x00\x03\x1c\x08\x00\x01\x12\x04\xe9\x01\n\x13\n_\n\x06\x04\x00\x03\x1c\x02\x00\x12\x04\xec\x01\x06%\x1aO Explicitly null/unspecified parameter, to select the default value (if\n any).\n\n\x0f\n\x07\x04\x00\x03\x1c\x02\x00\x06\x12\x04\xec\x01\x06\x1b\n\x0f\n\x07\x04\x00\x03\x1c\x02\x00\x01\x12\x04\xec\x01\x1c \n\x0f\n\x07\x04\x00\x03\x1c\x02\x00\x03\x12\x04\xec\x01#$\nB\n\x06\x04\x00\x03\x1c\x02\x01\x12\x04\xef\x01\x06\x19\x1a2 Data type parameters, like the i32 in LIST<i32>.\n\n\x0f\n\x07\x04\x00\x03\x1c\x02\x01\x06\x12\x04\xef\x01\x06\n\n\x0f\n\x07\x04\x00\x03\x1c\x02\x01\x01\x12\x04\xef\x01\x0b\x14\n\x0f\n\x07\x04\x00\x03\x1c\x02\x01\x03\x12\x04\xef\x01\x17\x18\n?\n\x06\x04\x00\x03\x1c\x02\x02\x12\x04\xf2\x01\x06\x17\x1a/ Value parameters, like the 10 in VARCHAR<10>.\n\n\x0f\n\x07\x04\x00\x03\x1c\x02\x02\x05\x12\x04\xf2\x01\x06\n\n\x0f\n\x07\x04\x00\x03\x1c\x02\x02\x01\x12\x04\xf2\x01\x0b\x12\n\x0f\n\x07\x04\x00\x03\x1c\x02\x02\x03\x12\x04\xf2\x01\x15\x16\n\x0e\n\x06\x04\x00\x03\x1c\x02\x03\x12\x04\xf3\x01\x06\x18\n\x0f\n\x07\x04\x00\x03\x1c\x02\x03\x05\x12\x04\xf3\x01\x06\x0b\n\x0f\n\x07\x04\x00\x03\x1c\x02\x03\x01\x12\x04\xf3\x01\x0c\x13\n\x0f\n\x07\x04\x00\x03\x1c\x02\x03\x03\x12\x04\xf3\x01\x16\x17\n\x0e\n\x06\x04\x00\x03\x1c\x02\x04\x12\x04\xf4\x01\x06\x16\n\x0f\n\x07\x04\x00\x03\x1c\x02\x04\x05\x12\x04\xf4\x01\x06\x0c\n\x0f\n\x07\x04\x00\x03\x1c\x02\x04\x01\x12\x04\xf4\x01\r\x11\n\x0f\n\x07\x04\x00\x03\x1c\x02\x04\x03\x12\x04\xf4\x01\x14\x15\n\x0e\n\x06\x04\x00\x03\x1c\x02\x05\x12\x04\xf5\x01\x06\x18\n\x0f\n\x07\x04\x00\x03\x1c\x02\x05\x05\x12\x04\xf5\x01\x06\x0c\n\x0f\n\x07\x04\x00\x03\x1c\x02\x05\x01\x12\x04\xf5\x01\r\x13\n\x0f\n\x07\x04\x00\x03\x1c\x02\x05\x03\x12\x04\xf5\x01\x16\x17\n\x0e\n\x04\x04\x00\x03\x1d\x12\x06\xf9\x01\x02\xfd\x01\x03\n\r\n\x05\x04\x00\x03\x1d\x01\x12\x04\xf9\x01\n\x1c\n\x0e\n\x06\x04\x00\x03\x1d\x02\x00\x12\x04\xfa\x01\x04$\n\x0f\n\x07\x04\x00\x03\x1d\x02\x00\x05\x12\x04\xfa\x01\x04\n\n\x0f\n\x07\x04\x00\x03\x1d\x02\x00\x01\x12\x04\xfa\x01\x0b\x1f\n\x0f\n\x07\x04\x00\x03\x1d\x02\x00\x03\x12\x04\xfa\x01\"#\nN\n\x06\x04\x00\x03\x1d\x02\x01\x12\x04\xfc\x01\x04 \x1a> Nullability of the referenced type alias. Must be specified.\n\n\x0f\n\x07\x04\x00\x03\x1d\x02\x01\x06\x12\x04\xfc\x01\x04\x0f\n\x0f\n\x07\x04\x00\x03\x1d\x02\x01\x01\x12\x04\xfc\x01\x10\x1b\n\x0f\n\x07\x04\x00\x03\x1d\x02\x01\x03\x12\x04\xfc\x01\x1e\x1f\n\x0c\n\x02\x04\x01\x12\x06\x80\x02\x00\x8d\x02\x01\n\x0b\n\x03\x04\x01\x01\x12\x04\x80\x02\x08\x11\ni\n\x04\x04\x01\x02\x00\x12\x04\x83\x02\x02\x1f\x1a[ A surrogate key used in the context of a single plan to reference a\n specific type alias.\n\n\r\n\x05\x04\x01\x02\x00\x05\x12\x04\x83\x02\x02\x08\n\r\n\x05\x04\x01\x02\x00\x01\x12\x04\x83\x02\t\x1a\n\r\n\x05\x04\x01\x02\x00\x03\x12\x04\x83\x02\x1d\x1e\n\x92\x03\n\x04\x04\x01\x02\x01\x12\x04\x8c\x02\x02\x10\x1a\x83\x03 A concrete type to be aliased.\n\n * All type parameters must be specified.\n * Cannot directly be another alias.\n * Type parameters can reference other aliased types as long as no circular dependencies are introduced.\n * Nullability of aliased type is **ignored**. Nullability must be specified when the aliased type is referenced.\n * Type variation may be specified in the aliased type.\n\n\r\n\x05\x04\x01\x02\x01\x06\x12\x04\x8c\x02\x02\x06\n\r\n\x05\x04\x01\x02\x01\x01\x12\x04\x8c\x02\x07\x0b\n\r\n\x05\x04\x01\x02\x01\x03\x12\x04\x8c\x02\x0e\x0f\n\xaa\x04\n\x02\x04\x02\x12\x06\xa4\x02\x00\xa8\x02\x01\x1a\x9b\x04 A message for modeling name/type pairs.\n\n Useful for representing relation schemas.\n\n Notes:\n\n * The names field is in depth-first order.\n\n For example a schema such as:\n\n a: int64\n b: struct<c: float32, d: string>\n\n would have a `names` field that looks like:\n\n [\"a\", \"b\", \"c\", \"d\"]\n\n * Only struct fields are contained in this field\'s elements,\n * Map keys should be traversed first, then values when producing/consuming\n * When used to represent a relation schema, the outermost struct\'s\n   nullability should be NULLABILITY_REQUIRED.\n\n\x0b\n\x03\x04\x02\x01\x12\x04\xa4\x02\x08\x13\n*\n\x04\x04\x02\x02\x00\x12\x04\xa6\x02\x02\x1c\x1a\x1c list of names in dfs order\n\n\r\n\x05\x04\x02\x02\x00\x04\x12\x04\xa6\x02\x02\n\n\r\n\x05\x04\x02\x02\x00\x05\x12\x04\xa6\x02\x0b\x11\n\r\n\x05\x04\x02\x02\x00\x01\x12\x04\xa6\x02\x12\x17\n\r\n\x05\x04\x02\x02\x00\x03\x12\x04\xa6\x02\x1a\x1b\n\x0c\n\x04\x04\x02\x02\x01\x12\x04\xa7\x02\x02\x19\n\r\n\x05\x04\x02\x02\x01\x06\x12\x04\xa7\x02\x02\r\n\r\n\x05\x04\x02\x02\x01\x01\x12\x04\xa7\x02\x0e\x14\n\r\n\x05\x04\x02\x02\x01\x03\x12\x04\xa7\x02\x17\x18b\x06proto3\n\x8a\xd3\x06\n\x17substrait/algebra.proto\x12\tsubstrait\x1a\x19google/protobuf/any.proto\x1a%substrait/extensions/extensions.proto\x1a\x14substrait/type.proto\"\xf6\x0c\n\tRelCommon\x125\n\x06direct\x18\x01 \x01(\x0b2\x1b.substrait.RelCommon.DirectH\x00R\x06direct\x12/\n\x04emit\x18\x02 \x01(\x0b2\x19.substrait.RelCommon.EmitH\x00R\x04emit\x12-\n\x04hint\x18\x03 \x01(\x0b2\x19.substrait.RelCommon.HintR\x04hint\x12V\n\x12advanced_extension\x18\x04 \x01(\x0b2\'.substrait.extensions.AdvancedExtensionR\x11advancedExtension\x1a\x08\n\x06Direct\x1a-\n\x04Emit\x12%\n\x0eoutput_mapping\x18\x01 \x03(\x05R\routputMapping\x1a\xb3\n\n\x04Hint\x125\n\x05stats\x18\x01 \x01(\x0b2\x1f.substrait.RelCommon.Hint.StatsR\x05stats\x12K\n\nconstraint\x18\x02 \x01(\x0b2+.substrait.RelCommon.Hint.RuntimeConstraintR\nconstraint\x12\x14\n\x05alias\x18\x03 \x01(\tR\x05alias\x12!\n\x0coutput_names\x18\x04 \x03(\tR\x0boutputNames\x12V\n\x12advanced_extension\x18\n \x01(\x0b2\'.substrait.extensions.AdvancedExtensionR\x11advancedExtension\x12Y\n\x12saved_computations\x18\x0b \x03(\x0b2*.substrait.RelCommon.Hint.SavedComputationR\x11savedComputations\x12\\\n\x13loaded_computations\x18\x0c \x03(\x0b2+.substrait.RelCommon.Hint.LoadedComputationR\x12loadedComputations\x1a\x9d\x01\n\x05Stats\x12\x1b\n\trow_count\x18\x01 \x01(\x01R\x08rowCount\x12\x1f\n\x0brecord_size\x18\x02 \x01(\x01R\nrecordSize\x12V\n\x12advanced_extension\x18\n \x01(\x0b2\'.substrait.extensions.AdvancedExtensionR\x11advancedExtension\x1ak\n\x11RuntimeConstraint\x12V\n\x12advanced_extension\x18\n \x01(\x0b2\'.substrait.extensions.AdvancedExtensionR\x11advancedExtension\x1a\xd0\x01\n\x10SavedComputation\x12%\n\x0ecomputation_id\x18\x01 \x01(\x05R\rcomputationId\x12=\n\x04type\x18\x02 \x01(\x0e2).substrait.RelCommon.Hint.ComputationTypeR\x04type\x12V\n\x12advanced_extension\x18\n \x01(\x0b2\'.substrait.extensions.AdvancedExtensionR\x11advancedExtension\x1a\xe4\x01\n\x11LoadedComputation\x128\n\x18computation_id_reference\x18\x01 \x01(\x05R\x16computationIdReference\x12=\n\x04type\x18\x02 \x01(\x0e2).substrait.RelCommon.Hint.ComputationTypeR\x04type\x12V\n\x12advanced_extension\x18\n \x01(\x0b2\'.substrait.extensions.AdvancedExtensionR\x11advancedExtension\"\x95\x01\n\x0fComputationType\x12 \n\x1cCOMPUTATION_TYPE_UNSPECIFIED\x10\x00\x12\x1e\n\x1aCOMPUTATION_TYPE_HASHTABLE\x10\x01\x12!\n\x1dCOMPUTATION_TYPE_BLOOM_FILTER\x10\x02\x12\x1d\n\x18COMPUTATION_TYPE_UNKNOWN\x10\x8fNB\x0b\n\temit_kind\"\xdd\x14\n\x07ReadRel\x12,\n\x06common\x18\x01 \x01(\x0b2\x14.substrait.RelCommonR\x06common\x127\n\x0bbase_schema\x18\x02 \x01(\x0b2\x16.substrait.NamedStructR\nbaseSchema\x12-\n\x06filter\x18\x03 \x01(\x0b2\x15.substrait.ExpressionR\x06filter\x12C\n\x12best_effort_filter\x18\x0b \x01(\x0b2\x15.substrait.ExpressionR\x10bestEffortFilter\x12D\n\nprojection\x18\x04 \x01(\x0b2$.substrait.Expression.MaskExpressionR\nprojection\x12V\n\x12advanced_extension\x18\n \x01(\x0b2\'.substrait.extensions.AdvancedExtensionR\x11advancedExtension\x12F\n\rvirtual_table\x18\x05 \x01(\x0b2\x1f.substrait.ReadRel.VirtualTableH\x00R\x0cvirtualTable\x12@\n\x0blocal_files\x18\x06 \x01(\x0b2\x1d.substrait.ReadRel.LocalFilesH\x00R\nlocalFiles\x12@\n\x0bnamed_table\x18\x07 \x01(\x0b2\x1d.substrait.ReadRel.NamedTableH\x00R\nnamedTable\x12L\n\x0fextension_table\x18\x08 \x01(\x0b2!.substrait.ReadRel.ExtensionTableH\x00R\x0eextensionTable\x12F\n\riceberg_table\x18\t \x01(\x0b2\x1f.substrait.ReadRel.IcebergTableH\x00R\x0cicebergTable\x1az\n\nNamedTable\x12\x14\n\x05names\x18\x01 \x03(\tR\x05names\x12V\n\x12advanced_extension\x18\n \x01(\x0b2\'.substrait.extensions.AdvancedExtensionR\x11advancedExtension\x1a\x80\x02\n\x0cIcebergTable\x12J\n\x06direct\x18\x01 \x01(\x0b20.substrait.ReadRel.IcebergTable.MetadataFileReadH\x00R\x06direct\x1a\x95\x01\n\x10MetadataFileRead\x12!\n\x0cmetadata_uri\x18\x01 \x01(\tR\x0bmetadataUri\x12!\n\x0bsnapshot_id\x18\x02 \x01(\tH\x00R\nsnapshotId\x12/\n\x12snapshot_timestamp\x18\x03 \x01(\x03H\x00R\x11snapshotTimestampB\n\n\x08snapshotB\x0c\n\ntable_type\x1a\x97\x01\n\x0cVirtualTable\x12@\n\x06values\x18\x01 \x03(\x0b2$.substrait.Expression.Literal.StructB\x02\x18\x01R\x06values\x12E\n\x0bexpressions\x18\x02 \x03(\x0b2#.substrait.Expression.Nested.StructR\x0bexpressions\x1a>\n\x0eExtensionTable\x12,\n\x06detail\x18\x01 \x01(\x0b2\x14.google.protobuf.AnyR\x06detail\x1a\x90\n\n\nLocalFiles\x12?\n\x05items\x18\x01 \x03(\x0b2).substrait.ReadRel.LocalFiles.FileOrFilesR\x05items\x12V\n\x12advanced_extension\x18\n \x01(\x0b2\'.substrait.extensions.AdvancedExtensionR\x11advancedExtension\x1a\xe8\x08\n\x0bFileOrFiles\x12\x1b\n\x08uri_path\x18\x01 \x01(\tH\x00R\x07uriPath\x12$\n\ruri_path_glob\x18\x02 \x01(\tH\x00R\x0buriPathGlob\x12\x1b\n\x08uri_file\x18\x03 \x01(\tH\x00R\x07uriFile\x12\x1f\n\nuri_folder\x18\x04 \x01(\tH\x00R\turiFolder\x12\'\n\x0fpartition_index\x18\x06 \x01(\x04R\x0epartitionIndex\x12\x14\n\x05start\x18\x07 \x01(\x04R\x05start\x12\x16\n\x06length\x18\x08 \x01(\x04R\x06length\x12X\n\x07parquet\x18\t \x01(\x0b2<.substrait.ReadRel.LocalFiles.FileOrFiles.ParquetReadOptionsH\x01R\x07parquet\x12R\n\x05arrow\x18\n \x01(\x0b2:.substrait.ReadRel.LocalFiles.FileOrFiles.ArrowReadOptionsH\x01R\x05arrow\x12L\n\x03orc\x18\x0b \x01(\x0b28.substrait.ReadRel.LocalFiles.FileOrFiles.OrcReadOptionsH\x01R\x03orc\x124\n\textension\x18\x0c \x01(\x0b2\x14.google.protobuf.AnyH\x01R\textension\x12O\n\x04dwrf\x18\r \x01(\x0b29.substrait.ReadRel.LocalFiles.FileOrFiles.DwrfReadOptionsH\x01R\x04dwrf\x12a\n\x04text\x18\x0e \x01(\x0b2K.substrait.ReadRel.LocalFiles.FileOrFiles.DelimiterSeparatedTextReadOptionsH\x01R\x04text\x1a\x14\n\x12ParquetReadOptions\x1a\x12\n\x10ArrowReadOptions\x1a\x10\n\x0eOrcReadOptions\x1a\x11\n\x0fDwrfReadOptions\x1a\xa1\x02\n!DelimiterSeparatedTextReadOptions\x12\'\n\x0ffield_delimiter\x18\x01 \x01(\tR\x0efieldDelimiter\x12\"\n\rmax_line_size\x18\x02 \x01(\x04R\x0bmaxLineSize\x12\x14\n\x05quote\x18\x03 \x01(\tR\x05quote\x12/\n\x14header_lines_to_skip\x18\x04 \x01(\x04R\x11headerLinesToSkip\x12\x16\n\x06escape\x18\x05 \x01(\tR\x06escape\x126\n\x15value_treated_as_null\x18\x06 \x01(\tH\x00R\x12valueTreatedAsNull\x88\x01\x01B\x18\n\x16_value_treated_as_nullB\x0b\n\tpath_typeB\r\n\x0bfile_formatJ\x04\x08\x05\x10\x06R\x06formatB\x0b\n\tread_type\"\xf1\x01\n\nProjectRel\x12,\n\x06common\x18\x01 \x01(\x0b2\x14.substrait.RelCommonR\x06common\x12$\n\x05input\x18\x02 \x01(\x0b2\x0e.substrait.RelR\x05input\x127\n\x0bexpressions\x18\x03 \x03(\x0b2\x15.substrait.ExpressionR\x0bexpressions\x12V\n\x12advanced_extension\x18\n \x01(\x0b2\'.substrait.extensions.AdvancedExtensionR\x11advancedExtension\"\xcd\x05\n\x07JoinRel\x12,\n\x06common\x18\x01 \x01(\x0b2\x14.substrait.RelCommonR\x06common\x12\"\n\x04left\x18\x02 \x01(\x0b2\x0e.substrait.RelR\x04left\x12$\n\x05right\x18\x03 \x01(\x0b2\x0e.substrait.RelR\x05right\x125\n\nexpression\x18\x04 \x01(\x0b2\x15.substrait.ExpressionR\nexpression\x12?\n\x10post_join_filter\x18\x05 \x01(\x0b2\x15.substrait.ExpressionR\x0epostJoinFilter\x12/\n\x04type\x18\x06 \x01(\x0e2\x1b.substrait.JoinRel.JoinTypeR\x04type\x12V\n\x12advanced_extension\x18\n \x01(\x0b2\'.substrait.extensions.AdvancedExtensionR\x11advancedExtension\"\xc8\x02\n\x08JoinType\x12\x19\n\x15JOIN_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fJOIN_TYPE_INNER\x10\x01\x12\x13\n\x0fJOIN_TYPE_OUTER\x10\x02\x12\x12\n\x0eJOIN_TYPE_LEFT\x10\x03\x12\x13\n\x0fJOIN_TYPE_RIGHT\x10\x04\x12\x17\n\x13JOIN_TYPE_LEFT_SEMI\x10\x05\x12\x17\n\x13JOIN_TYPE_LEFT_ANTI\x10\x06\x12\x19\n\x15JOIN_TYPE_LEFT_SINGLE\x10\x07\x12\x18\n\x14JOIN_TYPE_RIGHT_SEMI\x10\x08\x12\x18\n\x14JOIN_TYPE_RIGHT_ANTI\x10\t\x12\x1a\n\x16JOIN_TYPE_RIGHT_SINGLE\x10\n\x12\x17\n\x13JOIN_TYPE_LEFT_MARK\x10\x0b\x12\x18\n\x14JOIN_TYPE_RIGHT_MARK\x10\x0c\"\xda\x01\n\x08CrossRel\x12,\n\x06common\x18\x01 \x01(\x0b2\x14.substrait.RelCommonR\x06common\x12\"\n\x04left\x18\x02 \x01(\x0b2\x0e.substrait.RelR\x04left\x12$\n\x05right\x18\x03 \x01(\x0b2\x0e.substrait.RelR\x05right\x12V\n\x12advanced_extension\x18\n \x01(\x0b2\'.substrait.extensions.AdvancedExtensionR\x11advancedExtension\"\xff\x02\n\x08FetchRel\x12,\n\x06common\x18\x01 \x01(\x0b2\x14.substrait.RelCommonR\x06common\x12$\n\x05input\x18\x02 \x01(\x0b2\x0e.substrait.RelR\x05input\x12\x1c\n\x06offset\x18\x03 \x01(\x03B\x02\x18\x01H\x00R\x06offset\x128\n\x0boffset_expr\x18\x05 \x01(\x0b2\x15.substrait.ExpressionH\x00R\noffsetExpr\x12\x1a\n\x05count\x18\x04 \x01(\x03B\x02\x18\x01H\x01R\x05count\x126\n\ncount_expr\x18\x06 \x01(\x0b2\x15.substrait.ExpressionH\x01R\tcountExpr\x12V\n\x12advanced_extension\x18\n \x01(\x0b2\'.substrait.extensions.AdvancedExtensionR\x11advancedExtensionB\r\n\x0boffset_modeB\x0c\n\ncount_mode\"\x83\x05\n\x0cAggregateRel\x12,\n\x06common\x18\x01 \x01(\x0b2\x14.substrait.RelCommonR\x06common\x12$\n\x05input\x18\x02 \x01(\x0b2\x0e.substrait.RelR\x05input\x12>\n\tgroupings\x18\x03 \x03(\x0b2 .substrait.AggregateRel.GroupingR\tgroupings\x12;\n\x08measures\x18\x04 \x03(\x0b2\x1f.substrait.AggregateRel.MeasureR\x08measures\x12H\n\x14grouping_expressions\x18\x05 \x03(\x0b2\x15.substrait.ExpressionR\x13groupingExpressions\x12V\n\x12advanced_extension\x18\n \x01(\x0b2\'.substrait.extensions.AdvancedExtensionR\x11advancedExtension\x1a\x8d\x01\n\x08Grouping\x12L\n\x14grouping_expressions\x18\x01 \x03(\x0b2\x15.substrait.ExpressionB\x02\x18\x01R\x13groupingExpressions\x123\n\x15expression_references\x18\x02 \x03(\rR\x14expressionReferences\x1ap\n\x07Measure\x126\n\x07measure\x18\x01 \x01(\x0b2\x1c.substrait.AggregateFunctionR\x07measure\x12-\n\x06filter\x18\x02 \x01(\x0b2\x15.substrait.ExpressionR\x06filter\"\x82\x08\n\x1cConsistentPartitionWindowRel\x12,\n\x06common\x18\x01 \x01(\x0b2\x14.substrait.RelCommonR\x06common\x12$\n\x05input\x18\x02 \x01(\x0b2\x0e.substrait.RelR\x05input\x12d\n\x10window_functions\x18\x03 \x03(\x0b29.substrait.ConsistentPartitionWindowRel.WindowRelFunctionR\x0fwindowFunctions\x12J\n\x15partition_expressions\x18\x04 \x03(\x0b2\x15.substrait.ExpressionR\x14partitionExpressions\x12*\n\x05sorts\x18\x05 \x03(\x0b2\x14.substrait.SortFieldR\x05sorts\x12V\n\x12advanced_extension\x18\n \x01(\x0b2\'.substrait.extensions.AdvancedExtensionR\x11advancedExtension\x1a\xd7\x04\n\x11WindowRelFunction\x12-\n\x12function_reference\x18\x01 \x01(\rR\x11functionReference\x129\n\targuments\x18\t \x03(\x0b2\x1b.substrait.FunctionArgumentR\targuments\x123\n\x07options\x18\x0b \x03(\x0b2\x19.substrait.FunctionOptionR\x07options\x120\n\x0boutput_type\x18\x07 \x01(\x0b2\x0f.substrait.TypeR\noutputType\x121\n\x05phase\x18\x06 \x01(\x0e2\x1b.substrait.AggregationPhaseR\x05phase\x12R\n\ninvocation\x18\n \x01(\x0e22.substrait.AggregateFunction.AggregationInvocationR\ninvocation\x12K\n\x0blower_bound\x18\x05 \x01(\x0b2*.substrait.Expression.WindowFunction.BoundR\nlowerBound\x12K\n\x0bupper_bound\x18\x04 \x01(\x0b2*.substrait.Expression.WindowFunction.BoundR\nupperBound\x12P\n\x0bbounds_type\x18\x0c \x01(\x0e2/.substrait.Expression.WindowFunction.BoundsTypeR\nboundsType\"\xe1\x01\n\x07SortRel\x12,\n\x06common\x18\x01 \x01(\x0b2\x14.substrait.RelCommonR\x06common\x12$\n\x05input\x18\x02 \x01(\x0b2\x0e.substrait.RelR\x05input\x12*\n\x05sorts\x18\x03 \x03(\x0b2\x14.substrait.SortFieldR\x05sorts\x12V\n\x12advanced_extension\x18\n \x01(\x0b2\'.substrait.extensions.AdvancedExtensionR\x11advancedExtension\"\xec\x01\n\tFilterRel\x12,\n\x06common\x18\x01 \x01(\x0b2\x14.substrait.RelCommonR\x06common\x12$\n\x05input\x18\x02 \x01(\x0b2\x0e.substrait.RelR\x05input\x123\n\tcondition\x18\x03 \x01(\x0b2\x15.substrait.ExpressionR\tcondition\x12V\n\x12advanced_extension\x18\n \x01(\x0b2\'.substrait.extensions.AdvancedExtensionR\x11advancedExtension\"\xee\x03\n\x06SetRel\x12,\n\x06common\x18\x01 \x01(\x0b2\x14.substrait.RelCommonR\x06common\x12&\n\x06inputs\x18\x02 \x03(\x0b2\x0e.substrait.RelR\x06inputs\x12\'\n\x02op\x18\x03 \x01(\x0e2\x17.substrait.SetRel.SetOpR\x02op\x12V\n\x12advanced_extension\x18\n \x01(\x0b2\'.substrait.extensions.AdvancedExtensionR\x11advancedExtension\"\x8c\x02\n\x05SetOp\x12\x16\n\x12SET_OP_UNSPECIFIED\x10\x00\x12\x18\n\x14SET_OP_MINUS_PRIMARY\x10\x01\x12\x1c\n\x18SET_OP_MINUS_PRIMARY_ALL\x10\x07\x12\x19\n\x15SET_OP_MINUS_MULTISET\x10\x02\x12\x1f\n\x1bSET_OP_INTERSECTION_PRIMARY\x10\x03\x12 \n\x1cSET_OP_INTERSECTION_MULTISET\x10\x04\x12$\n SET_OP_INTERSECTION_MULTISET_ALL\x10\x08\x12\x19\n\x15SET_OP_UNION_DISTINCT\x10\x05\x12\x14\n\x10SET_OP_UNION_ALL\x10\x06\"\x96\x01\n\x12ExtensionSingleRel\x12,\n\x06common\x18\x01 \x01(\x0b2\x14.substrait.RelCommonR\x06common\x12$\n\x05input\x18\x02 \x01(\x0b2\x0e.substrait.RelR\x05input\x12,\n\x06detail\x18\x03 \x01(\x0b2\x14.google.protobuf.AnyR\x06detail\"n\n\x10ExtensionLeafRel\x12,\n\x06common\x18\x01 \x01(\x0b2\x14.substrait.RelCommonR\x06common\x12,\n\x06detail\x18\x02 \x01(\x0b2\x14.google.protobuf.AnyR\x06detail\"\x97\x01\n\x11ExtensionMultiRel\x12,\n\x06common\x18\x01 \x01(\x0b2\x14.substrait.RelCommonR\x06common\x12&\n\x06inputs\x18\x02 \x03(\x0b2\x0e.substrait.RelR\x06inputs\x12,\n\x06detail\x18\x03 \x01(\x0b2\x14.google.protobuf.AnyR\x06detail\"\x9a\t\n\x0bExchangeRel\x12,\n\x06common\x18\x01 \x01(\x0b2\x14.substrait.RelCommonR\x06common\x12$\n\x05input\x18\x02 \x01(\x0b2\x0e.substrait.RelR\x05input\x12\'\n\x0fpartition_count\x18\x03 \x01(\x05R\x0epartitionCount\x12?\n\x07targets\x18\x04 \x03(\x0b2%.substrait.ExchangeRel.ExchangeTargetR\x07targets\x12R\n\x11scatter_by_fields\x18\x05 \x01(\x0b2$.substrait.ExchangeRel.ScatterFieldsH\x00R\x0fscatterByFields\x12T\n\rsingle_target\x18\x06 \x01(\x0b2-.substrait.ExchangeRel.SingleBucketExpressionH\x00R\x0csingleTarget\x12Q\n\x0cmulti_target\x18\x07 \x01(\x0b2,.substrait.ExchangeRel.MultiBucketExpressionH\x00R\x0bmultiTarget\x12D\n\x0bround_robin\x18\x08 \x01(\x0b2!.substrait.ExchangeRel.RoundRobinH\x00R\nroundRobin\x12@\n\tbroadcast\x18\t \x01(\x0b2 .substrait.ExchangeRel.BroadcastH\x00R\tbroadcast\x12V\n\x12advanced_extension\x18\n \x01(\x0b2\'.substrait.extensions.AdvancedExtensionR\x11advancedExtension\x1aM\n\rScatterFields\x12<\n\x06fields\x18\x01 \x03(\x0b2$.substrait.Expression.FieldReferenceR\x06fields\x1aO\n\x16SingleBucketExpression\x125\n\nexpression\x18\x01 \x01(\x0b2\x15.substrait.ExpressionR\nexpression\x1a\x80\x01\n\x15MultiBucketExpression\x125\n\nexpression\x18\x01 \x01(\x0b2\x15.substrait.ExpressionR\nexpression\x120\n\x14constrained_to_count\x18\x02 \x01(\x08R\x12constrainedToCount\x1a\x0b\n\tBroadcast\x1a\"\n\nRoundRobin\x12\x14\n\x05exact\x18\x01 \x01(\x08R\x05exact\x1a\x8a\x01\n\x0eExchangeTarget\x12!\n\x0cpartition_id\x18\x01 \x03(\x05R\x0bpartitionId\x12\x12\n\x03uri\x18\x02 \x01(\tH\x00R\x03uri\x122\n\x08extended\x18\x03 \x01(\x0b2\x14.google.protobuf.AnyH\x00R\x08extendedB\r\n\x0btarget_typeB\x0f\n\rexchange_kind\"\x94\x03\n\tExpandRel\x12,\n\x06common\x18\x01 \x01(\x0b2\x14.substrait.RelCommonR\x06common\x12$\n\x05input\x18\x02 \x01(\x0b2\x0e.substrait.RelR\x05input\x128\n\x06fields\x18\x04 \x03(\x0b2 .substrait.ExpandRel.ExpandFieldR\x06fields\x1a\xaf\x01\n\x0bExpandField\x12N\n\x0fswitching_field\x18\x02 \x01(\x0b2#.substrait.ExpandRel.SwitchingFieldH\x00R\x0eswitchingField\x12B\n\x10consistent_field\x18\x03 \x01(\x0b2\x15.substrait.ExpressionH\x00R\x0fconsistentFieldB\x0c\n\nfield_type\x1aG\n\x0eSwitchingField\x125\n\nduplicates\x18\x01 \x03(\x0b2\x15.substrait.ExpressionR\nduplicates\"E\n\x07RelRoot\x12$\n\x05input\x18\x01 \x01(\x0b2\x0e.substrait.RelR\x05input\x12\x14\n\x05names\x18\x02 \x03(\tR\x05names\"\xa8\t\n\x03Rel\x12(\n\x04read\x18\x01 \x01(\x0b2\x12.substrait.ReadRelH\x00R\x04read\x12.\n\x06filter\x18\x02 \x01(\x0b2\x14.substrait.FilterRelH\x00R\x06filter\x12+\n\x05fetch\x18\x03 \x01(\x0b2\x13.substrait.FetchRelH\x00R\x05fetch\x127\n\taggregate\x18\x04 \x01(\x0b2\x17.substrait.AggregateRelH\x00R\taggregate\x12(\n\x04sort\x18\x05 \x01(\x0b2\x12.substrait.SortRelH\x00R\x04sort\x12(\n\x04join\x18\x06 \x01(\x0b2\x12.substrait.JoinRelH\x00R\x04join\x121\n\x07project\x18\x07 \x01(\x0b2\x15.substrait.ProjectRelH\x00R\x07project\x12%\n\x03set\x18\x08 \x01(\x0b2\x11.substrait.SetRelH\x00R\x03set\x12J\n\x10extension_single\x18\t \x01(\x0b2\x1d.substrait.ExtensionSingleRelH\x00R\x0fextensionSingle\x12G\n\x0fextension_multi\x18\n \x01(\x0b2\x1c.substrait.ExtensionMultiRelH\x00R\x0eextensionMulti\x12D\n\x0eextension_leaf\x18\x0b \x01(\x0b2\x1b.substrait.ExtensionLeafRelH\x00R\rextensionLeaf\x12+\n\x05cross\x18\x0c \x01(\x0b2\x13.substrait.CrossRelH\x00R\x05cross\x127\n\treference\x18\x15 \x01(\x0b2\x17.substrait.ReferenceRelH\x00R\treference\x12+\n\x05write\x18\x13 \x01(\x0b2\x13.substrait.WriteRelH\x00R\x05write\x12%\n\x03ddl\x18\x14 \x01(\x0b2\x11.substrait.DdlRelH\x00R\x03ddl\x12.\n\x06update\x18\x16 \x01(\x0b2\x14.substrait.UpdateRelH\x00R\x06update\x125\n\thash_join\x18\r \x01(\x0b2\x16.substrait.HashJoinRelH\x00R\x08hashJoin\x128\n\nmerge_join\x18\x0e \x01(\x0b2\x17.substrait.MergeJoinRelH\x00R\tmergeJoin\x12H\n\x10nested_loop_join\x18\x12 \x01(\x0b2\x1c.substrait.NestedLoopJoinRelH\x00R\x0enestedLoopJoin\x12A\n\x06window\x18\x11 \x01(\x0b2\'.substrait.ConsistentPartitionWindowRelH\x00R\x06window\x124\n\x08exchange\x18\x0f \x01(\x0b2\x16.substrait.ExchangeRelH\x00R\x08exchange\x12.\n\x06expand\x18\x10 \x01(\x0b2\x14.substrait.ExpandRelH\x00R\x06expandB\n\n\x08rel_type\"\x80\x01\n\x10NamedObjectWrite\x12\x14\n\x05names\x18\x01 \x03(\tR\x05names\x12V\n\x12advanced_extension\x18\n \x01(\x0b2\'.substrait.extensions.AdvancedExtensionR\x11advancedExtension\"?\n\x0fExtensionObject\x12,\n\x06detail\x18\x01 \x01(\x0b2\x14.google.protobuf.AnyR\x06detail\"\xaa\x06\n\x06DdlRel\x12@\n\x0cnamed_object\x18\x01 \x01(\x0b2\x1b.substrait.NamedObjectWriteH\x00R\x0bnamedObject\x12G\n\x10extension_object\x18\x02 \x01(\x0b2\x1a.substrait.ExtensionObjectH\x00R\x0fextensionObject\x129\n\x0ctable_schema\x18\x03 \x01(\x0b2\x16.substrait.NamedStructR\x0btableSchema\x12K\n\x0etable_defaults\x18\x04 \x01(\x0b2$.substrait.Expression.Literal.StructR\rtableDefaults\x123\n\x06object\x18\x05 \x01(\x0e2\x1b.substrait.DdlRel.DdlObjectR\x06object\x12\'\n\x02op\x18\x06 \x01(\x0e2\x17.substrait.DdlRel.DdlOpR\x02op\x127\n\x0fview_definition\x18\x07 \x01(\x0b2\x0e.substrait.RelR\x0eviewDefinition\x12,\n\x06common\x18\x08 \x01(\x0b2\x14.substrait.RelCommonR\x06common\x12V\n\x12advanced_extension\x18\t \x01(\x0b2\'.substrait.extensions.AdvancedExtensionR\x11advancedExtension\"R\n\tDdlObject\x12\x1a\n\x16DDL_OBJECT_UNSPECIFIED\x10\x00\x12\x14\n\x10DDL_OBJECT_TABLE\x10\x01\x12\x13\n\x0fDDL_OBJECT_VIEW\x10\x02\"\x8d\x01\n\x05DdlOp\x12\x16\n\x12DDL_OP_UNSPECIFIED\x10\x00\x12\x11\n\rDDL_OP_CREATE\x10\x01\x12\x1c\n\x18DDL_OP_CREATE_OR_REPLACE\x10\x02\x12\x10\n\x0cDDL_OP_ALTER\x10\x03\x12\x0f\n\x0bDDL_OP_DROP\x10\x04\x12\x18\n\x14DDL_OP_DROP_IF_EXIST\x10\x05B\x0c\n\nwrite_type\"\xbf\x07\n\x08WriteRel\x12>\n\x0bnamed_table\x18\x01 \x01(\x0b2\x1b.substrait.NamedObjectWriteH\x00R\nnamedTable\x12E\n\x0fextension_table\x18\x02 \x01(\x0b2\x1a.substrait.ExtensionObjectH\x00R\x0eextensionTable\x129\n\x0ctable_schema\x18\x03 \x01(\x0b2\x16.substrait.NamedStructR\x0btableSchema\x12+\n\x02op\x18\x04 \x01(\x0e2\x1b.substrait.WriteRel.WriteOpR\x02op\x12$\n\x05input\x18\x05 \x01(\x0b2\x0e.substrait.RelR\x05input\x12?\n\x0bcreate_mode\x18\x08 \x01(\x0e2\x1e.substrait.WriteRel.CreateModeR\ncreateMode\x126\n\x06output\x18\x06 \x01(\x0e2\x1e.substrait.WriteRel.OutputModeR\x06output\x12,\n\x06common\x18\x07 \x01(\x0b2\x14.substrait.RelCommonR\x06common\x12V\n\x12advanced_extension\x18\t \x01(\x0b2\'.substrait.extensions.AdvancedExtensionR\x11advancedExtension\"u\n\x07WriteOp\x12\x18\n\x14WRITE_OP_UNSPECIFIED\x10\x00\x12\x13\n\x0fWRITE_OP_INSERT\x10\x01\x12\x13\n\x0fWRITE_OP_DELETE\x10\x02\x12\x13\n\x0fWRITE_OP_UPDATE\x10\x03\x12\x11\n\rWRITE_OP_CTAS\x10\x04\"\xb1\x01\n\nCreateMode\x12\x1b\n\x17CREATE_MODE_UNSPECIFIED\x10\x00\x12 \n\x1cCREATE_MODE_APPEND_IF_EXISTS\x10\x01\x12!\n\x1dCREATE_MODE_REPLACE_IF_EXISTS\x10\x02\x12 \n\x1cCREATE_MODE_IGNORE_IF_EXISTS\x10\x03\x12\x1f\n\x1bCREATE_MODE_ERROR_IF_EXISTS\x10\x04\"f\n\nOutputMode\x12\x1b\n\x17OUTPUT_MODE_UNSPECIFIED\x10\x00\x12\x19\n\x15OUTPUT_MODE_NO_OUTPUT\x10\x01\x12 \n\x1cOUTPUT_MODE_MODIFIED_RECORDS\x10\x02B\x0c\n\nwrite_type\"\xeb\x03\n\tUpdateRel\x128\n\x0bnamed_table\x18\x01 \x01(\x0b2\x15.substrait.NamedTableH\x00R\nnamedTable\x129\n\x0ctable_schema\x18\x02 \x01(\x0b2\x16.substrait.NamedStructR\x0btableSchema\x123\n\tcondition\x18\x03 \x01(\x0b2\x15.substrait.ExpressionR\tcondition\x12R\n\x0ftransformations\x18\x04 \x03(\x0b2(.substrait.UpdateRel.TransformExpressionR\x0ftransformations\x12V\n\x12advanced_extension\x18\x05 \x01(\x0b2\'.substrait.extensions.AdvancedExtensionR\x11advancedExtension\x1ay\n\x13TransformExpression\x12=\n\x0etransformation\x18\x01 \x01(\x0b2\x15.substrait.ExpressionR\x0etransformation\x12#\n\rcolumn_target\x18\x02 \x01(\x05R\x0ccolumnTargetB\r\n\x0bupdate_type\"z\n\nNamedTable\x12\x14\n\x05names\x18\x01 \x03(\tR\x05names\x12V\n\x12advanced_extension\x18\n \x01(\x0b2\'.substrait.extensions.AdvancedExtensionR\x11advancedExtension\"\xbb\x04\n\x11ComparisonJoinKey\x128\n\x04left\x18\x01 \x01(\x0b2$.substrait.Expression.FieldReferenceR\x04left\x12:\n\x05right\x18\x02 \x01(\x0b2$.substrait.Expression.FieldReferenceR\x05right\x12K\n\ncomparison\x18\x03 \x01(\x0b2+.substrait.ComparisonJoinKey.ComparisonTypeR\ncomparison\x1a\xa9\x01\n\x0eComparisonType\x12K\n\x06simple\x18\x01 \x01(\x0e21.substrait.ComparisonJoinKey.SimpleComparisonTypeH\x00R\x06simple\x12<\n\x19custom_function_reference\x18\x02 \x01(\rH\x00R\x17customFunctionReferenceB\x0c\n\ninner_type\"\xb6\x01\n\x14SimpleComparisonType\x12&\n\"SIMPLE_COMPARISON_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19SIMPLE_COMPARISON_TYPE_EQ\x10\x01\x12/\n+SIMPLE_COMPARISON_TYPE_IS_NOT_DISTINCT_FROM\x10\x02\x12&\n\"SIMPLE_COMPARISON_TYPE_MIGHT_EQUAL\x10\x03\"\xfc\x07\n\x0bHashJoinRel\x12,\n\x06common\x18\x01 \x01(\x0b2\x14.substrait.RelCommonR\x06common\x12\"\n\x04left\x18\x02 \x01(\x0b2\x0e.substrait.RelR\x04left\x12$\n\x05right\x18\x03 \x01(\x0b2\x0e.substrait.RelR\x05right\x12E\n\tleft_keys\x18\x04 \x03(\x0b2$.substrait.Expression.FieldReferenceB\x02\x18\x01R\x08leftKeys\x12G\n\nright_keys\x18\x05 \x03(\x0b2$.substrait.Expression.FieldReferenceB\x02\x18\x01R\trightKeys\x120\n\x04keys\x18\x08 \x03(\x0b2\x1c.substrait.ComparisonJoinKeyR\x04keys\x12?\n\x10post_join_filter\x18\x06 \x01(\x0b2\x15.substrait.ExpressionR\x0epostJoinFilter\x123\n\x04type\x18\x07 \x01(\x0e2\x1f.substrait.HashJoinRel.JoinTypeR\x04type\x12B\n\x0bbuild_input\x18\t \x01(\x0e2!.substrait.HashJoinRel.BuildInputR\nbuildInput\x12V\n\x12advanced_extension\x18\n \x01(\x0b2\'.substrait.extensions.AdvancedExtensionR\x11advancedExtension\"\xc8\x02\n\x08JoinType\x12\x19\n\x15JOIN_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fJOIN_TYPE_INNER\x10\x01\x12\x13\n\x0fJOIN_TYPE_OUTER\x10\x02\x12\x12\n\x0eJOIN_TYPE_LEFT\x10\x03\x12\x13\n\x0fJOIN_TYPE_RIGHT\x10\x04\x12\x17\n\x13JOIN_TYPE_LEFT_SEMI\x10\x05\x12\x18\n\x14JOIN_TYPE_RIGHT_SEMI\x10\x06\x12\x17\n\x13JOIN_TYPE_LEFT_ANTI\x10\x07\x12\x18\n\x14JOIN_TYPE_RIGHT_ANTI\x10\x08\x12\x19\n\x15JOIN_TYPE_LEFT_SINGLE\x10\t\x12\x1a\n\x16JOIN_TYPE_RIGHT_SINGLE\x10\n\x12\x17\n\x13JOIN_TYPE_LEFT_MARK\x10\x0b\x12\x18\n\x14JOIN_TYPE_RIGHT_MARK\x10\x0c\"V\n\nBuildInput\x12\x1b\n\x17BUILD_INPUT_UNSPECIFIED\x10\x00\x12\x14\n\x10BUILD_INPUT_LEFT\x10\x01\x12\x15\n\x11BUILD_INPUT_RIGHT\x10\x02\"\xe2\x06\n\x0cMergeJoinRel\x12,\n\x06common\x18\x01 \x01(\x0b2\x14.substrait.RelCommonR\x06common\x12\"\n\x04left\x18\x02 \x01(\x0b2\x0e.substrait.RelR\x04left\x12$\n\x05right\x18\x03 \x01(\x0b2\x0e.substrait.RelR\x05right\x12E\n\tleft_keys\x18\x04 \x03(\x0b2$.substrait.Expression.FieldReferenceB\x02\x18\x01R\x08leftKeys\x12G\n\nright_keys\x18\x05 \x03(\x0b2$.substrait.Expression.FieldReferenceB\x02\x18\x01R\trightKeys\x120\n\x04keys\x18\x08 \x03(\x0b2\x1c.substrait.ComparisonJoinKeyR\x04keys\x12?\n\x10post_join_filter\x18\x06 \x01(\x0b2\x15.substrait.ExpressionR\x0epostJoinFilter\x124\n\x04type\x18\x07 \x01(\x0e2 .substrait.MergeJoinRel.JoinTypeR\x04type\x12V\n\x12advanced_extension\x18\n \x01(\x0b2\'.substrait.extensions.AdvancedExtensionR\x11advancedExtension\"\xc8\x02\n\x08JoinType\x12\x19\n\x15JOIN_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fJOIN_TYPE_INNER\x10\x01\x12\x13\n\x0fJOIN_TYPE_OUTER\x10\x02\x12\x12\n\x0eJOIN_TYPE_LEFT\x10\x03\x12\x13\n\x0fJOIN_TYPE_RIGHT\x10\x04\x12\x17\n\x13JOIN_TYPE_LEFT_SEMI\x10\x05\x12\x18\n\x14JOIN_TYPE_RIGHT_SEMI\x10\x06\x12\x17\n\x13JOIN_TYPE_LEFT_ANTI\x10\x07\x12\x18\n\x14JOIN_TYPE_RIGHT_ANTI\x10\x08\x12\x19\n\x15JOIN_TYPE_LEFT_SINGLE\x10\t\x12\x1a\n\x16JOIN_TYPE_RIGHT_SINGLE\x10\n\x12\x17\n\x13JOIN_TYPE_LEFT_MARK\x10\x0b\x12\x18\n\x14JOIN_TYPE_RIGHT_MARK\x10\x0c\"\xa0\x05\n\x11NestedLoopJoinRel\x12,\n\x06common\x18\x01 \x01(\x0b2\x14.substrait.RelCommonR\x06common\x12\"\n\x04left\x18\x02 \x01(\x0b2\x0e.substrait.RelR\x04left\x12$\n\x05right\x18\x03 \x01(\x0b2\x0e.substrait.RelR\x05right\x125\n\nexpression\x18\x04 \x01(\x0b2\x15.substrait.ExpressionR\nexpression\x129\n\x04type\x18\x05 \x01(\x0e2%.substrait.NestedLoopJoinRel.JoinTypeR\x04type\x12V\n\x12advanced_extension\x18\n \x01(\x0b2\'.substrait.extensions.AdvancedExtensionR\x11advancedExtension\"\xc8\x02\n\x08JoinType\x12\x19\n\x15JOIN_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fJOIN_TYPE_INNER\x10\x01\x12\x13\n\x0fJOIN_TYPE_OUTER\x10\x02\x12\x12\n\x0eJOIN_TYPE_LEFT\x10\x03\x12\x13\n\x0fJOIN_TYPE_RIGHT\x10\x04\x12\x17\n\x13JOIN_TYPE_LEFT_SEMI\x10\x05\x12\x18\n\x14JOIN_TYPE_RIGHT_SEMI\x10\x06\x12\x17\n\x13JOIN_TYPE_LEFT_ANTI\x10\x07\x12\x18\n\x14JOIN_TYPE_RIGHT_ANTI\x10\x08\x12\x19\n\x15JOIN_TYPE_LEFT_SINGLE\x10\t\x12\x1a\n\x16JOIN_TYPE_RIGHT_SINGLE\x10\n\x12\x17\n\x13JOIN_TYPE_LEFT_MARK\x10\x0b\x12\x18\n\x14JOIN_TYPE_RIGHT_MARK\x10\x0c\"\x8a\x01\n\x10FunctionArgument\x12\x14\n\x04enum\x18\x01 \x01(\tH\x00R\x04enum\x12%\n\x04type\x18\x02 \x01(\x0b2\x0f.substrait.TypeH\x00R\x04type\x12-\n\x05value\x18\x03 \x01(\x0b2\x15.substrait.ExpressionH\x00R\x05valueB\n\n\x08arg_type\"D\n\x0eFunctionOption\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1e\n\npreference\x18\x02 \x03(\tR\npreference\"\xcf[\n\nExpression\x129\n\x07literal\x18\x01 \x01(\x0b2\x1d.substrait.Expression.LiteralH\x00R\x07literal\x12D\n\tselection\x18\x02 \x01(\x0b2$.substrait.Expression.FieldReferenceH\x00R\tselection\x12O\n\x0fscalar_function\x18\x03 \x01(\x0b2$.substrait.Expression.ScalarFunctionH\x00R\x0escalarFunction\x12O\n\x0fwindow_function\x18\x05 \x01(\x0b2$.substrait.Expression.WindowFunctionH\x00R\x0ewindowFunction\x127\n\x07if_then\x18\x06 \x01(\x0b2\x1c.substrait.Expression.IfThenH\x00R\x06ifThen\x12U\n\x11switch_expression\x18\x07 \x01(\x0b2&.substrait.Expression.SwitchExpressionH\x00R\x10switchExpression\x12P\n\x10singular_or_list\x18\x08 \x01(\x0b2$.substrait.Expression.SingularOrListH\x00R\x0esingularOrList\x12G\n\rmulti_or_list\x18\t \x01(\x0b2!.substrait.Expression.MultiOrListH\x00R\x0bmultiOrList\x120\n\x04cast\x18\x0b \x01(\x0b2\x1a.substrait.Expression.CastH\x00R\x04cast\x12<\n\x08subquery\x18\x0c \x01(\x0b2\x1e.substrait.Expression.SubqueryH\x00R\x08subquery\x126\n\x06nested\x18\r \x01(\x0b2\x1c.substrait.Expression.NestedH\x00R\x06nested\x12J\n\x11dynamic_parameter\x18\x0e \x01(\x0b2\x1b.substrait.DynamicParameterH\x00R\x10dynamicParameter\x124\n\x04enum\x18\n \x01(\x0b2\x1a.substrait.Expression.EnumB\x02\x18\x01H\x00R\x04enum\x1a\x8a\x01\n\x04Enum\x12\x1e\n\tspecified\x18\x01 \x01(\tH\x00R\tspecified\x12D\n\x0bunspecified\x18\x02 \x01(\x0b2 .substrait.Expression.Enum.EmptyH\x00R\x0bunspecified\x1a\x0b\n\x05Empty:\x02\x18\x01:\x02\x18\x01B\x0b\n\tenum_kind\x1a\xbe\x17\n\x07Literal\x12\x1a\n\x07boolean\x18\x01 \x01(\x08H\x00R\x07boolean\x12\x10\n\x02i8\x18\x02 \x01(\x05H\x00R\x02i8\x12\x12\n\x03i16\x18\x03 \x01(\x05H\x00R\x03i16\x12\x12\n\x03i32\x18\x05 \x01(\x05H\x00R\x03i32\x12\x12\n\x03i64\x18\x07 \x01(\x03H\x00R\x03i64\x12\x14\n\x04fp32\x18\n \x01(\x02H\x00R\x04fp32\x12\x14\n\x04fp64\x18\x0b \x01(\x01H\x00R\x04fp64\x12\x18\n\x06string\x18\x0c \x01(\tH\x00R\x06string\x12\x18\n\x06binary\x18\r \x01(\x0cH\x00R\x06binary\x12\"\n\ttimestamp\x18\x0e \x01(\x03B\x02\x18\x01H\x00R\ttimestamp\x12\x14\n\x04date\x18\x10 \x01(\x05H\x00R\x04date\x12\x14\n\x04time\x18\x11 \x01(\x03H\x00R\x04time\x12h\n\x16interval_year_to_month\x18\x13 \x01(\x0b21.substrait.Expression.Literal.IntervalYearToMonthH\x00R\x13intervalYearToMonth\x12h\n\x16interval_day_to_second\x18\x14 \x01(\x0b21.substrait.Expression.Literal.IntervalDayToSecondH\x00R\x13intervalDayToSecond\x12]\n\x11interval_compound\x18$ \x01(\x0b2..substrait.Expression.Literal.IntervalCompoundH\x00R\x10intervalCompound\x12\x1f\n\nfixed_char\x18\x15 \x01(\tH\x00R\tfixedChar\x12B\n\x08var_char\x18\x16 \x01(\x0b2%.substrait.Expression.Literal.VarCharH\x00R\x07varChar\x12#\n\x0cfixed_binary\x18\x17 \x01(\x0cH\x00R\x0bfixedBinary\x12A\n\x07decimal\x18\x18 \x01(\x0b2%.substrait.Expression.Literal.DecimalH\x00R\x07decimal\x12T\n\x0eprecision_time\x18% \x01(\x0b2+.substrait.Expression.Literal.PrecisionTimeH\x00R\rprecisionTime\x12c\n\x13precision_timestamp\x18\" \x01(\x0b20.substrait.Expression.Literal.PrecisionTimestampH\x00R\x12precisionTimestamp\x12h\n\x16precision_timestamp_tz\x18# \x01(\x0b20.substrait.Expression.Literal.PrecisionTimestampH\x00R\x14precisionTimestampTz\x12>\n\x06struct\x18\x19 \x01(\x0b2$.substrait.Expression.Literal.StructH\x00R\x06struct\x125\n\x03map\x18\x1a \x01(\x0b2!.substrait.Expression.Literal.MapH\x00R\x03map\x12\'\n\x0ctimestamp_tz\x18\x1b \x01(\x03B\x02\x18\x01H\x00R\x0btimestampTz\x12\x14\n\x04uuid\x18\x1c \x01(\x0cH\x00R\x04uuid\x12%\n\x04null\x18\x1d \x01(\x0b2\x0f.substrait.TypeH\x00R\x04null\x128\n\x04list\x18\x1e \x01(\x0b2\".substrait.Expression.Literal.ListH\x00R\x04list\x125\n\nempty_list\x18\x1f \x01(\x0b2\x14.substrait.Type.ListH\x00R\temptyList\x122\n\tempty_map\x18  \x01(\x0b2\x13.substrait.Type.MapH\x00R\x08emptyMap\x12N\n\x0cuser_defined\x18! \x01(\x0b2).substrait.Expression.Literal.UserDefinedH\x00R\x0buserDefined\x12\x1a\n\x08nullable\x182 \x01(\x08R\x08nullable\x128\n\x18type_variation_reference\x183 \x01(\rR\x16typeVariationReference\x1a7\n\x07VarChar\x12\x14\n\x05value\x18\x01 \x01(\tR\x05value\x12\x16\n\x06length\x18\x02 \x01(\rR\x06length\x1aS\n\x07Decimal\x12\x14\n\x05value\x18\x01 \x01(\x0cR\x05value\x12\x1c\n\tprecision\x18\x02 \x01(\x05R\tprecision\x12\x14\n\x05scale\x18\x03 \x01(\x05R\x05scale\x1aC\n\rPrecisionTime\x12\x1c\n\tprecision\x18\x01 \x01(\x05R\tprecision\x12\x14\n\x05value\x18\x02 \x01(\x03R\x05value\x1aH\n\x12PrecisionTimestamp\x12\x1c\n\tprecision\x18\x01 \x01(\x05R\tprecision\x12\x14\n\x05value\x18\x02 \x01(\x03R\x05value\x1a\xc2\x01\n\x03Map\x12I\n\nkey_values\x18\x01 \x03(\x0b2*.substrait.Expression.Literal.Map.KeyValueR\tkeyValues\x1ap\n\x08KeyValue\x12/\n\x03key\x18\x01 \x01(\x0b2\x1d.substrait.Expression.LiteralR\x03key\x123\n\x05value\x18\x02 \x01(\x0b2\x1d.substrait.Expression.LiteralR\x05value\x1aC\n\x13IntervalYearToMonth\x12\x14\n\x05years\x18\x01 \x01(\x05R\x05years\x12\x16\n\x06months\x18\x02 \x01(\x05R\x06months\x1a\xbf\x01\n\x13IntervalDayToSecond\x12\x12\n\x04days\x18\x01 \x01(\x05R\x04days\x12\x18\n\x07seconds\x18\x02 \x01(\x05R\x07seconds\x12(\n\x0cmicroseconds\x18\x03 \x01(\x05B\x02\x18\x01H\x00R\x0cmicroseconds\x12\x1e\n\tprecision\x18\x04 \x01(\x05H\x00R\tprecision\x12\x1e\n\nsubseconds\x18\x05 \x01(\x03R\nsubsecondsB\x10\n\x0eprecision_mode\x1a\xe2\x01\n\x10IntervalCompound\x12f\n\x16interval_year_to_month\x18\x01 \x01(\x0b21.substrait.Expression.Literal.IntervalYearToMonthR\x13intervalYearToMonth\x12f\n\x16interval_day_to_second\x18\x02 \x01(\x0b21.substrait.Expression.Literal.IntervalDayToSecondR\x13intervalDayToSecond\x1a?\n\x06Struct\x125\n\x06fields\x18\x01 \x03(\x0b2\x1d.substrait.Expression.LiteralR\x06fields\x1a=\n\x04List\x125\n\x06values\x18\x01 \x03(\x0b2\x1d.substrait.Expression.LiteralR\x06values\x1a\xed\x01\n\x0bUserDefined\x12%\n\x0etype_reference\x18\x01 \x01(\rR\rtypeReference\x12B\n\x0ftype_parameters\x18\x03 \x03(\x0b2\x19.substrait.Type.ParameterR\x0etypeParameters\x12,\n\x05value\x18\x02 \x01(\x0b2\x14.google.protobuf.AnyH\x00R\x05value\x12>\n\x06struct\x18\x04 \x01(\x0b2$.substrait.Expression.Literal.StructH\x00R\x06structB\x05\n\x03valB\x0e\n\x0cliteral_type\x1a\xbf\x04\n\x06Nested\x12\x1a\n\x08nullable\x18\x01 \x01(\x08R\x08nullable\x128\n\x18type_variation_reference\x18\x02 \x01(\rR\x16typeVariationReference\x12=\n\x06struct\x18\x03 \x01(\x0b2#.substrait.Expression.Nested.StructH\x00R\x06struct\x127\n\x04list\x18\x04 \x01(\x0b2!.substrait.Expression.Nested.ListH\x00R\x04list\x124\n\x03map\x18\x05 \x01(\x0b2 .substrait.Expression.Nested.MapH\x00R\x03map\x1a\xb1\x01\n\x03Map\x12H\n\nkey_values\x18\x01 \x03(\x0b2).substrait.Expression.Nested.Map.KeyValueR\tkeyValues\x1a`\n\x08KeyValue\x12\'\n\x03key\x18\x01 \x01(\x0b2\x15.substrait.ExpressionR\x03key\x12+\n\x05value\x18\x02 \x01(\x0b2\x15.substrait.ExpressionR\x05value\x1a7\n\x06Struct\x12-\n\x06fields\x18\x01 \x03(\x0b2\x15.substrait.ExpressionR\x06fields\x1a5\n\x04List\x12-\n\x06values\x18\x01 \x03(\x0b2\x15.substrait.ExpressionR\x06valuesB\r\n\x0bnested_type\x1a\x90\x02\n\x0eScalarFunction\x12-\n\x12function_reference\x18\x01 \x01(\rR\x11functionReference\x129\n\targuments\x18\x04 \x03(\x0b2\x1b.substrait.FunctionArgumentR\targuments\x123\n\x07options\x18\x05 \x03(\x0b2\x19.substrait.FunctionOptionR\x07options\x120\n\x0boutput_type\x18\x03 \x01(\x0b2\x0f.substrait.TypeR\noutputType\x12-\n\x04args\x18\x02 \x03(\x0b2\x15.substrait.ExpressionB\x02\x18\x01R\x04args\x1a\x91\n\n\x0eWindowFunction\x12-\n\x12function_reference\x18\x01 \x01(\rR\x11functionReference\x129\n\targuments\x18\t \x03(\x0b2\x1b.substrait.FunctionArgumentR\targuments\x123\n\x07options\x18\x0b \x03(\x0b2\x19.substrait.FunctionOptionR\x07options\x120\n\x0boutput_type\x18\x07 \x01(\x0b2\x0f.substrait.TypeR\noutputType\x121\n\x05phase\x18\x06 \x01(\x0e2\x1b.substrait.AggregationPhaseR\x05phase\x12*\n\x05sorts\x18\x03 \x03(\x0b2\x14.substrait.SortFieldR\x05sorts\x12R\n\ninvocation\x18\n \x01(\x0e22.substrait.AggregateFunction.AggregationInvocationR\ninvocation\x125\n\npartitions\x18\x02 \x03(\x0b2\x15.substrait.ExpressionR\npartitions\x12P\n\x0bbounds_type\x18\x0c \x01(\x0e2/.substrait.Expression.WindowFunction.BoundsTypeR\nboundsType\x12K\n\x0blower_bound\x18\x05 \x01(\x0b2*.substrait.Expression.WindowFunction.BoundR\nlowerBound\x12K\n\x0bupper_bound\x18\x04 \x01(\x0b2*.substrait.Expression.WindowFunction.BoundR\nupperBound\x12-\n\x04args\x18\x08 \x03(\x0b2\x15.substrait.ExpressionB\x02\x18\x01R\x04args\x1a\xd0\x03\n\x05Bound\x12T\n\tpreceding\x18\x01 \x01(\x0b24.substrait.Expression.WindowFunction.Bound.PrecedingH\x00R\tpreceding\x12T\n\tfollowing\x18\x02 \x01(\x0b24.substrait.Expression.WindowFunction.Bound.FollowingH\x00R\tfollowing\x12X\n\x0bcurrent_row\x18\x03 \x01(\x0b25.substrait.Expression.WindowFunction.Bound.CurrentRowH\x00R\ncurrentRow\x12T\n\tunbounded\x18\x04 \x01(\x0b24.substrait.Expression.WindowFunction.Bound.UnboundedH\x00R\tunbounded\x1a#\n\tPreceding\x12\x16\n\x06offset\x18\x01 \x01(\x03R\x06offset\x1a#\n\tFollowing\x12\x16\n\x06offset\x18\x01 \x01(\x03R\x06offset\x1a\x0c\n\nCurrentRow\x1a\x0b\n\tUnboundedB\x06\n\x04kind\"V\n\nBoundsType\x12\x1b\n\x17BOUNDS_TYPE_UNSPECIFIED\x10\x00\x12\x14\n\x10BOUNDS_TYPE_ROWS\x10\x01\x12\x15\n\x11BOUNDS_TYPE_RANGE\x10\x02\x1a\xca\x01\n\x06IfThen\x127\n\x03ifs\x18\x01 \x03(\x0b2%.substrait.Expression.IfThen.IfClauseR\x03ifs\x12)\n\x04else\x18\x02 \x01(\x0b2\x15.substrait.ExpressionR\x04else\x1a\\\n\x08IfClause\x12%\n\x02if\x18\x01 \x01(\x0b2\x15.substrait.ExpressionR\x02if\x12)\n\x04then\x18\x02 \x01(\x0b2\x15.substrait.ExpressionR\x04then\x1a\xac\x02\n\x04Cast\x12#\n\x04type\x18\x01 \x01(\x0b2\x0f.substrait.TypeR\x04type\x12+\n\x05input\x18\x02 \x01(\x0b2\x15.substrait.ExpressionR\x05input\x12U\n\x10failure_behavior\x18\x03 \x01(\x0e2*.substrait.Expression.Cast.FailureBehaviorR\x0ffailureBehavior\"{\n\x0fFailureBehavior\x12 \n\x1cFAILURE_BEHAVIOR_UNSPECIFIED\x10\x00\x12 \n\x1cFAILURE_BEHAVIOR_RETURN_NULL\x10\x01\x12$\n FAILURE_BEHAVIOR_THROW_EXCEPTION\x10\x02\x1a\x91\x02\n\x10SwitchExpression\x12+\n\x05match\x18\x03 \x01(\x0b2\x15.substrait.ExpressionR\x05match\x12@\n\x03ifs\x18\x01 \x03(\x0b2..substrait.Expression.SwitchExpression.IfValueR\x03ifs\x12)\n\x04else\x18\x02 \x01(\x0b2\x15.substrait.ExpressionR\x04else\x1ac\n\x07IfValue\x12-\n\x02if\x18\x01 \x01(\x0b2\x1d.substrait.Expression.LiteralR\x02if\x12)\n\x04then\x18\x02 \x01(\x0b2\x15.substrait.ExpressionR\x04then\x1an\n\x0eSingularOrList\x12+\n\x05value\x18\x01 \x01(\x0b2\x15.substrait.ExpressionR\x05value\x12/\n\x07options\x18\x02 \x03(\x0b2\x15.substrait.ExpressionR\x07options\x1a\xb7\x01\n\x0bMultiOrList\x12+\n\x05value\x18\x01 \x03(\x0b2\x15.substrait.ExpressionR\x05value\x12B\n\x07options\x18\x02 \x03(\x0b2(.substrait.Expression.MultiOrList.RecordR\x07options\x1a7\n\x06Record\x12-\n\x06fields\x18\x01 \x03(\x0b2\x15.substrait.ExpressionR\x06fields\x1a\x93\x04\n\x10EmbeddedFunction\x123\n\targuments\x18\x01 \x03(\x0b2\x15.substrait.ExpressionR\targuments\x120\n\x0boutput_type\x18\x02 \x01(\x0b2\x0f.substrait.TypeR\noutputType\x12s\n\x16python_pickle_function\x18\x03 \x01(\x0b2;.substrait.Expression.EmbeddedFunction.PythonPickleFunctionH\x00R\x14pythonPickleFunction\x12p\n\x15web_assembly_function\x18\x04 \x01(\x0b2:.substrait.Expression.EmbeddedFunction.WebAssemblyFunctionH\x00R\x13webAssemblyFunction\x1aV\n\x14PythonPickleFunction\x12\x1a\n\x08function\x18\x01 \x01(\x0cR\x08function\x12\"\n\x0cprerequisite\x18\x02 \x03(\tR\x0cprerequisite\x1aQ\n\x13WebAssemblyFunction\x12\x16\n\x06script\x18\x01 \x01(\x0cR\x06script\x12\"\n\x0cprerequisite\x18\x02 \x03(\tR\x0cprerequisiteB\x06\n\x04kind\x1a\xe8\x04\n\x10ReferenceSegment\x12H\n\x07map_key\x18\x01 \x01(\x0b2-.substrait.Expression.ReferenceSegment.MapKeyH\x00R\x06mapKey\x12W\n\x0cstruct_field\x18\x02 \x01(\x0b22.substrait.Expression.ReferenceSegment.StructFieldH\x00R\x0bstructField\x12W\n\x0clist_element\x18\x03 \x01(\x0b22.substrait.Expression.ReferenceSegment.ListElementH\x00R\x0blistElement\x1a~\n\x06MapKey\x126\n\x07map_key\x18\x01 \x01(\x0b2\x1d.substrait.Expression.LiteralR\x06mapKey\x12<\n\x05child\x18\x02 \x01(\x0b2&.substrait.Expression.ReferenceSegmentR\x05child\x1aa\n\x0bStructField\x12\x14\n\x05field\x18\x01 \x01(\x05R\x05field\x12<\n\x05child\x18\x02 \x01(\x0b2&.substrait.Expression.ReferenceSegmentR\x05child\x1ac\n\x0bListElement\x12\x16\n\x06offset\x18\x01 \x01(\x05R\x06offset\x12<\n\x05child\x18\x02 \x01(\x0b2&.substrait.Expression.ReferenceSegmentR\x05childB\x10\n\x0ereference_type\x1a\xa2\x0b\n\x0eMaskExpression\x12I\n\x06select\x18\x01 \x01(\x0b21.substrait.Expression.MaskExpression.StructSelectR\x06select\x128\n\x18maintain_singular_struct\x18\x02 \x01(\x08R\x16maintainSingularStruct\x1a\xe8\x01\n\x06Select\x12K\n\x06struct\x18\x01 \x01(\x0b21.substrait.Expression.MaskExpression.StructSelectH\x00R\x06struct\x12E\n\x04list\x18\x02 \x01(\x0b2/.substrait.Expression.MaskExpression.ListSelectH\x00R\x04list\x12B\n\x03map\x18\x03 \x01(\x0b2..substrait.Expression.MaskExpression.MapSelectH\x00R\x03mapB\x06\n\x04type\x1ab\n\x0cStructSelect\x12R\n\x0cstruct_items\x18\x01 \x03(\x0b2/.substrait.Expression.MaskExpression.StructItemR\x0bstructItems\x1ae\n\nStructItem\x12\x14\n\x05field\x18\x01 \x01(\x05R\x05field\x12A\n\x05child\x18\x02 \x01(\x0b2+.substrait.Expression.MaskExpression.SelectR\x05child\x1a\xe6\x03\n\nListSelect\x12\\\n\tselection\x18\x01 \x03(\x0b2>.substrait.Expression.MaskExpression.ListSelect.ListSelectItemR\tselection\x12A\n\x05child\x18\x02 \x01(\x0b2+.substrait.Expression.MaskExpression.SelectR\x05child\x1a\xb6\x02\n\x0eListSelectItem\x12`\n\x04item\x18\x01 \x01(\x0b2J.substrait.Expression.MaskExpression.ListSelect.ListSelectItem.ListElementH\x00R\x04item\x12`\n\x05slice\x18\x02 \x01(\x0b2H.substrait.Expression.MaskExpression.ListSelect.ListSelectItem.ListSliceH\x00R\x05slice\x1a#\n\x0bListElement\x12\x14\n\x05field\x18\x01 \x01(\x05R\x05field\x1a3\n\tListSlice\x12\x14\n\x05start\x18\x01 \x01(\x05R\x05start\x12\x10\n\x03end\x18\x02 \x01(\x05R\x03endB\x06\n\x04type\x1a\xeb\x02\n\tMapSelect\x12I\n\x03key\x18\x01 \x01(\x0b25.substrait.Expression.MaskExpression.MapSelect.MapKeyH\x00R\x03key\x12a\n\nexpression\x18\x02 \x01(\x0b2?.substrait.Expression.MaskExpression.MapSelect.MapKeyExpressionH\x00R\nexpression\x12A\n\x05child\x18\x03 \x01(\x0b2+.substrait.Expression.MaskExpression.SelectR\x05child\x1a!\n\x06MapKey\x12\x17\n\x07map_key\x18\x01 \x01(\tR\x06mapKey\x1a@\n\x10MapKeyExpression\x12,\n\x12map_key_expression\x18\x01 \x01(\tR\x10mapKeyExpressionB\x08\n\x06select\x1a\x8d\x04\n\x0eFieldReference\x12S\n\x10direct_reference\x18\x01 \x01(\x0b2&.substrait.Expression.ReferenceSegmentH\x00R\x0fdirectReference\x12Q\n\x10masked_reference\x18\x02 \x01(\x0b2$.substrait.Expression.MaskExpressionH\x00R\x0fmaskedReference\x127\n\nexpression\x18\x03 \x01(\x0b2\x15.substrait.ExpressionH\x01R\nexpression\x12[\n\x0eroot_reference\x18\x04 \x01(\x0b22.substrait.Expression.FieldReference.RootReferenceH\x01R\rrootReference\x12^\n\x0fouter_reference\x18\x05 \x01(\x0b23.substrait.Expression.FieldReference.OuterReferenceH\x01R\x0eouterReference\x1a\x0f\n\rRootReference\x1a-\n\x0eOuterReference\x12\x1b\n\tsteps_out\x18\x01 \x01(\rR\x08stepsOutB\x10\n\x0ereference_typeB\x0b\n\troot_type\x1a\x95\n\n\x08Subquery\x12?\n\x06scalar\x18\x01 \x01(\x0b2%.substrait.Expression.Subquery.ScalarH\x00R\x06scalar\x12O\n\x0cin_predicate\x18\x02 \x01(\x0b2*.substrait.Expression.Subquery.InPredicateH\x00R\x0binPredicate\x12R\n\rset_predicate\x18\x03 \x01(\x0b2+.substrait.Expression.Subquery.SetPredicateH\x00R\x0csetPredicate\x12U\n\x0eset_comparison\x18\x04 \x01(\x0b2,.substrait.Expression.Subquery.SetComparisonH\x00R\rsetComparison\x1a.\n\x06Scalar\x12$\n\x05input\x18\x01 \x01(\x0b2\x0e.substrait.RelR\x05input\x1aj\n\x0bInPredicate\x12/\n\x07needles\x18\x01 \x03(\x0b2\x15.substrait.ExpressionR\x07needles\x12*\n\x08haystack\x18\x02 \x01(\x0b2\x0e.substrait.RelR\x08haystack\x1a\xf1\x01\n\x0cSetPredicate\x12Z\n\x0cpredicate_op\x18\x01 \x01(\x0e27.substrait.Expression.Subquery.SetPredicate.PredicateOpR\x0bpredicateOp\x12&\n\x06tuples\x18\x02 \x01(\x0b2\x0e.substrait.RelR\x06tuples\"]\n\x0bPredicateOp\x12\x1c\n\x18PREDICATE_OP_UNSPECIFIED\x10\x00\x12\x17\n\x13PREDICATE_OP_EXISTS\x10\x01\x12\x17\n\x13PREDICATE_OP_UNIQUE\x10\x02\x1a\xaa\x04\n\rSetComparison\x12[\n\x0creduction_op\x18\x01 \x01(\x0e28.substrait.Expression.Subquery.SetComparison.ReductionOpR\x0breductionOp\x12^\n\rcomparison_op\x18\x02 \x01(\x0e29.substrait.Expression.Subquery.SetComparison.ComparisonOpR\x0ccomparisonOp\x12)\n\x04left\x18\x03 \x01(\x0b2\x15.substrait.ExpressionR\x04left\x12$\n\x05right\x18\x04 \x01(\x0b2\x0e.substrait.RelR\x05right\"\xb1\x01\n\x0cComparisonOp\x12\x1d\n\x19COMPARISON_OP_UNSPECIFIED\x10\x00\x12\x14\n\x10COMPARISON_OP_EQ\x10\x01\x12\x14\n\x10COMPARISON_OP_NE\x10\x02\x12\x14\n\x10COMPARISON_OP_LT\x10\x03\x12\x14\n\x10COMPARISON_OP_GT\x10\x04\x12\x14\n\x10COMPARISON_OP_LE\x10\x05\x12\x14\n\x10COMPARISON_OP_GE\x10\x06\"W\n\x0bReductionOp\x12\x1c\n\x18REDUCTION_OP_UNSPECIFIED\x10\x00\x12\x14\n\x10REDUCTION_OP_ANY\x10\x01\x12\x14\n\x10REDUCTION_OP_ALL\x10\x02B\x0f\n\rsubquery_typeB\n\n\x08rex_type\"h\n\x10DynamicParameter\x12#\n\x04type\x18\x01 \x01(\x0b2\x0f.substrait.TypeR\x04type\x12/\n\x13parameter_reference\x18\x02 \x01(\rR\x12parameterReference\"\xad\x03\n\tSortField\x12)\n\x04expr\x18\x01 \x01(\x0b2\x15.substrait.ExpressionR\x04expr\x12B\n\tdirection\x18\x02 \x01(\x0e2\".substrait.SortField.SortDirectionH\x00R\tdirection\x12D\n\x1dcomparison_function_reference\x18\x03 \x01(\rH\x00R\x1bcomparisonFunctionReference\"\xdd\x01\n\rSortDirection\x12\x1e\n\x1aSORT_DIRECTION_UNSPECIFIED\x10\x00\x12\"\n\x1eSORT_DIRECTION_ASC_NULLS_FIRST\x10\x01\x12!\n\x1dSORT_DIRECTION_ASC_NULLS_LAST\x10\x02\x12#\n\x1fSORT_DIRECTION_DESC_NULLS_FIRST\x10\x03\x12\"\n\x1eSORT_DIRECTION_DESC_NULLS_LAST\x10\x04\x12\x1c\n\x18SORT_DIRECTION_CLUSTERED\x10\x05B\x0b\n\tsort_kind\"\xcd\x04\n\x11AggregateFunction\x12-\n\x12function_reference\x18\x01 \x01(\rR\x11functionReference\x129\n\targuments\x18\x07 \x03(\x0b2\x1b.substrait.FunctionArgumentR\targuments\x123\n\x07options\x18\x08 \x03(\x0b2\x19.substrait.FunctionOptionR\x07options\x120\n\x0boutput_type\x18\x05 \x01(\x0b2\x0f.substrait.TypeR\noutputType\x121\n\x05phase\x18\x04 \x01(\x0e2\x1b.substrait.AggregationPhaseR\x05phase\x12*\n\x05sorts\x18\x03 \x03(\x0b2\x14.substrait.SortFieldR\x05sorts\x12R\n\ninvocation\x18\x06 \x01(\x0e22.substrait.AggregateFunction.AggregationInvocationR\ninvocation\x12-\n\x04args\x18\x02 \x03(\x0b2\x15.substrait.ExpressionB\x02\x18\x01R\x04args\"\x84\x01\n\x15AggregationInvocation\x12&\n\"AGGREGATION_INVOCATION_UNSPECIFIED\x10\x00\x12\x1e\n\x1aAGGREGATION_INVOCATION_ALL\x10\x01\x12#\n\x1fAGGREGATION_INVOCATION_DISTINCT\x10\x02\"7\n\x0cReferenceRel\x12\'\n\x0fsubtree_ordinal\x18\x01 \x01(\x05R\x0esubtreeOrdinal*\xef\x01\n\x10AggregationPhase\x12!\n\x1dAGGREGATION_PHASE_UNSPECIFIED\x10\x00\x12-\n)AGGREGATION_PHASE_INITIAL_TO_INTERMEDIATE\x10\x01\x122\n.AGGREGATION_PHASE_INTERMEDIATE_TO_INTERMEDIATE\x10\x02\x12\'\n#AGGREGATION_PHASE_INITIAL_TO_RESULT\x10\x03\x12,\n(AGGREGATION_PHASE_INTERMEDIATE_TO_RESULT\x10\x04Bf\n\x12io.substrait.protoP\x01Z9github.com/substrait-io/substrait-protobuf/go/substraitpb\xaa\x02\x12Substrait.ProtobufJ\xea\xdf\x04\n\x07\x12\x05\x01\x00\xe1\r\x01\n/\n\x01\x0c\x12\x03\x01\x00\x12\x1a% SPDX-License-Identifier: Apache-2.0\n\n\x08\n\x01\x02\x12\x03\x03\x00\x12\n\t\n\x02\x03\x00\x12\x03\x05\x00#\n\t\n\x02\x03\x01\x12\x03\x06\x00/\n\t\n\x02\x03\x02\x12\x03\x07\x00\x1e\n\x08\n\x01\x08\x12\x03\t\x00/\n\t\n\x02\x08%\x12\x03\t\x00/\n\x08\n\x01\x08\x12\x03\n\x00P\n\t\n\x02\x08\x0b\x12\x03\n\x00P\n\x08\n\x01\x08\x12\x03\x0b\x00\"\n\t\n\x02\x08\n\x12\x03\x0b\x00\"\n\x08\n\x01\x08\x12\x03\x0c\x00+\n\t\n\x02\x08\x01\x12\x03\x0c\x00+\n8\n\x02\x04\x00\x12\x04\x0f\x00e\x01\x1a, Common fields for all relational operators\n\n\n\n\x03\x04\x00\x01\x12\x03\x0f\x08\x11\n\x0c\n\x04\x04\x00\x08\x00\x12\x04\x10\x02\x15\x03\n\x0c\n\x05\x04\x00\x08\x00\x01\x12\x03\x10\x08\x11\n_\n\x04\x04\x00\x02\x00\x12\x03\x12\x04\x16\x1aR The underlying relation is output as is (no reordering or projection of columns)\n\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\x12\x04\n\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x12\x0b\x11\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x12\x14\x15\nB\n\x04\x04\x00\x02\x01\x12\x03\x14\x04\x12\x1a5 Allows to control for order and inclusion of fields\n\n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x03\x14\x04\x08\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x14\t\r\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x14\x10\x11\n\x0b\n\x04\x04\x00\x02\x02\x12\x03\x17\x02\x10\n\x0c\n\x05\x04\x00\x02\x02\x06\x12\x03\x17\x02\x06\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\x17\x07\x0b\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\x17\x0e\x0f\n\x0b\n\x04\x04\x00\x02\x03\x12\x03\x18\x02@\n\x0c\n\x05\x04\x00\x02\x03\x06\x12\x03\x18\x02(\n\x0c\n\x05\x04\x00\x02\x03\x01\x12\x03\x18);\n\x0c\n\x05\x04\x00\x02\x03\x03\x12\x03\x18>?\nZ\n\x04\x04\x00\x03\x00\x12\x03\x1b\x02\x13\x1aM Direct indicates no change on presence and ordering of fields in the output\n\n\x0c\n\x05\x04\x00\x03\x00\x01\x12\x03\x1b\n\x10\n@\n\x04\x04\x00\x03\x01\x12\x04\x1e\x02 \x03\x1a2 Remap which fields are output and in which order\n\n\x0c\n\x05\x04\x00\x03\x01\x01\x12\x03\x1e\n\x0e\n\r\n\x06\x04\x00\x03\x01\x02\x00\x12\x03\x1f\x04&\n\x0e\n\x07\x04\x00\x03\x01\x02\x00\x04\x12\x03\x1f\x04\x0c\n\x0e\n\x07\x04\x00\x03\x01\x02\x00\x05\x12\x03\x1f\r\x12\n\x0e\n\x07\x04\x00\x03\x01\x02\x00\x01\x12\x03\x1f\x13!\n\x0e\n\x07\x04\x00\x03\x01\x02\x00\x03\x12\x03\x1f$%\nv\n\x04\x04\x00\x03\x02\x12\x04$\x02d\x03\x1ah Changes to the operation that can influence efficiency/performance but\n should not impact correctness.\n\n\x0c\n\x05\x04\x00\x03\x02\x01\x12\x03$\n\x0e\n\r\n\x06\x04\x00\x03\x02\x02\x00\x12\x03%\x04\x14\n\x0e\n\x07\x04\x00\x03\x02\x02\x00\x06\x12\x03%\x04\t\n\x0e\n\x07\x04\x00\x03\x02\x02\x00\x01\x12\x03%\n\x0f\n\x0e\n\x07\x04\x00\x03\x02\x02\x00\x03\x12\x03%\x12\x13\n\r\n\x06\x04\x00\x03\x02\x02\x01\x12\x03&\x04%\n\x0e\n\x07\x04\x00\x03\x02\x02\x01\x06\x12\x03&\x04\x15\n\x0e\n\x07\x04\x00\x03\x02\x02\x01\x01\x12\x03&\x16 \n\x0e\n\x07\x04\x00\x03\x02\x02\x01\x03\x12\x03&#$\n\x8e\x01\n\x06\x04\x00\x03\x02\x02\x02\x12\x03*\x04\x15\x1a\x7f Name (alias) for this relation. Can be used for e.g. qualifying the relation (see e.g.\n Spark\'s SubqueryAlias), or debugging.\n\n\x0e\n\x07\x04\x00\x03\x02\x02\x02\x05\x12\x03*\x04\n\n\x0e\n\x07\x04\x00\x03\x02\x02\x02\x01\x12\x03*\x0b\x10\n\x0e\n\x07\x04\x00\x03\x02\x02\x02\x03\x12\x03*\x13\x14\n\xbe\x01\n\x06\x04\x00\x03\x02\x02\x03\x12\x03-\x04%\x1a\xae\x01 Assigns alternative output field names for any relation.  Equivalent to the names field\n in RelRoot but applies to the output of the relation this RelCommon is attached to.\n\n\x0e\n\x07\x04\x00\x03\x02\x02\x03\x04\x12\x03-\x04\x0c\n\x0e\n\x07\x04\x00\x03\x02\x02\x03\x05\x12\x03-\r\x13\n\x0e\n\x07\x04\x00\x03\x02\x02\x03\x01\x12\x03-\x14 \n\x0e\n\x07\x04\x00\x03\x02\x02\x03\x03\x12\x03-#$\n\r\n\x06\x04\x00\x03\x02\x02\x04\x12\x03/\x04C\n\x0e\n\x07\x04\x00\x03\x02\x02\x04\x06\x12\x03/\x04*\n\x0e\n\x07\x04\x00\x03\x02\x02\x04\x01\x12\x03/+=\n\x0e\n\x07\x04\x00\x03\x02\x02\x04\x03\x12\x03/@B\n\xe8\x01\n\x06\x04\x00\x03\x02\x02\x05\x12\x034\x046\x1a\xd8\x01 Save or load a system-specific computation for use in optimizing a remote operation.\n The anchor refers to the source/destination of the computation.  The computation type\n and number refer to the current relation.\n\n\x0e\n\x07\x04\x00\x03\x02\x02\x05\x04\x12\x034\x04\x0c\n\x0e\n\x07\x04\x00\x03\x02\x02\x05\x06\x12\x034\r\x1d\n\x0e\n\x07\x04\x00\x03\x02\x02\x05\x01\x12\x034\x1e0\n\x0e\n\x07\x04\x00\x03\x02\x02\x05\x03\x12\x03435\n\r\n\x06\x04\x00\x03\x02\x02\x06\x12\x035\x048\n\x0e\n\x07\x04\x00\x03\x02\x02\x06\x04\x12\x035\x04\x0c\n\x0e\n\x07\x04\x00\x03\x02\x02\x06\x06\x12\x035\r\x1e\n\x0e\n\x07\x04\x00\x03\x02\x02\x06\x01\x12\x035\x1f2\n\x0e\n\x07\x04\x00\x03\x02\x02\x06\x03\x12\x03557\nS\n\x06\x04\x00\x03\x02\x03\x00\x12\x048\x04<\x05\x1aC The statistics related to a hint (physical properties of records)\n\n\x0e\n\x07\x04\x00\x03\x02\x03\x00\x01\x12\x038\x0c\x11\n\x0f\n\x08\x04\x00\x03\x02\x03\x00\x02\x00\x12\x039\x06\x1b\n\x10\n\t\x04\x00\x03\x02\x03\x00\x02\x00\x05\x12\x039\x06\x0c\n\x10\n\t\x04\x00\x03\x02\x03\x00\x02\x00\x01\x12\x039\r\x16\n\x10\n\t\x04\x00\x03\x02\x03\x00\x02\x00\x03\x12\x039\x19\x1a\n\x0f\n\x08\x04\x00\x03\x02\x03\x00\x02\x01\x12\x03:\x06\x1d\n\x10\n\t\x04\x00\x03\x02\x03\x00\x02\x01\x05\x12\x03:\x06\x0c\n\x10\n\t\x04\x00\x03\x02\x03\x00\x02\x01\x01\x12\x03:\r\x18\n\x10\n\t\x04\x00\x03\x02\x03\x00\x02\x01\x03\x12\x03:\x1b\x1c\n\x0f\n\x08\x04\x00\x03\x02\x03\x00\x02\x02\x12\x03;\x06E\n\x10\n\t\x04\x00\x03\x02\x03\x00\x02\x02\x06\x12\x03;\x06,\n\x10\n\t\x04\x00\x03\x02\x03\x00\x02\x02\x01\x12\x03;-?\n\x10\n\t\x04\x00\x03\x02\x03\x00\x02\x02\x03\x12\x03;BD\n@\n\x06\x04\x00\x03\x02\x03\x01\x12\x04>\x04B\x05\"0 TODO: nodes, cpu threads/%, memory, iops, etc.\n\n\x0e\n\x07\x04\x00\x03\x02\x03\x01\x01\x12\x03>\x0c\x1d\n\x0f\n\x08\x04\x00\x03\x02\x03\x01\x02\x00\x12\x03A\x06E\n\x10\n\t\x04\x00\x03\x02\x03\x01\x02\x00\x06\x12\x03A\x06,\n\x10\n\t\x04\x00\x03\x02\x03\x01\x02\x00\x01\x12\x03A-?\n\x10\n\t\x04\x00\x03\x02\x03\x01\x02\x00\x03\x12\x03ABD\n\x0e\n\x06\x04\x00\x03\x02\x04\x00\x12\x04D\x04I\x05\n\x0e\n\x07\x04\x00\x03\x02\x04\x00\x01\x12\x03D\t\x18\n\x0f\n\x08\x04\x00\x03\x02\x04\x00\x02\x00\x12\x03E\x06\'\n\x10\n\t\x04\x00\x03\x02\x04\x00\x02\x00\x01\x12\x03E\x06\"\n\x10\n\t\x04\x00\x03\x02\x04\x00\x02\x00\x02\x12\x03E%&\n\x0f\n\x08\x04\x00\x03\x02\x04\x00\x02\x01\x12\x03F\x06%\n\x10\n\t\x04\x00\x03\x02\x04\x00\x02\x01\x01\x12\x03F\x06 \n\x10\n\t\x04\x00\x03\x02\x04\x00\x02\x01\x02\x12\x03F#$\n\x0f\n\x08\x04\x00\x03\x02\x04\x00\x02\x02\x12\x03G\x06(\n\x10\n\t\x04\x00\x03\x02\x04\x00\x02\x02\x01\x12\x03G\x06#\n\x10\n\t\x04\x00\x03\x02\x04\x00\x02\x02\x02\x12\x03G&\'\n\x0f\n\x08\x04\x00\x03\x02\x04\x00\x02\x03\x12\x03H\x06&\n\x10\n\t\x04\x00\x03\x02\x04\x00\x02\x03\x01\x12\x03H\x06\x1e\n\x10\n\t\x04\x00\x03\x02\x04\x00\x02\x03\x02\x12\x03H!%\n\x0e\n\x06\x04\x00\x03\x02\x03\x02\x12\x04K\x04V\x05\n\x0e\n\x07\x04\x00\x03\x02\x03\x02\x01\x12\x03K\x0c\x1c\n\xb2\x01\n\x08\x04\x00\x03\x02\x03\x02\x02\x00\x12\x03N\x06\x1f\x1a\xa0\x01 The value corresponds to a plan unique number for that datastructure.  Any particular\n computation may be saved only once but it may be loaded multiple times.\n\n\x10\n\t\x04\x00\x03\x02\x03\x02\x02\x00\x05\x12\x03N\x06\x0b\n\x10\n\t\x04\x00\x03\x02\x03\x02\x02\x00\x01\x12\x03N\x0c\x1a\n\x10\n\t\x04\x00\x03\x02\x03\x02\x02\x00\x03\x12\x03N\x1d\x1e\n\xf7\x02\n\x08\x04\x00\x03\x02\x03\x02\x02\x01\x12\x03T\x06\x1f\x1a\xe5\x02 The type of this computation.  While a plan may use COMPUTATION_TYPE_UNKNOWN for all\n of its types it is recommended to use a more specific type so that the optimization\n is more portable.  The consumer should be able to decide if an unknown type here\n matches the same unknown type at a different plan and ignore the optimization if they\n are mismatched.\n\n\x10\n\t\x04\x00\x03\x02\x03\x02\x02\x01\x06\x12\x03T\x06\x15\n\x10\n\t\x04\x00\x03\x02\x03\x02\x02\x01\x01\x12\x03T\x16\x1a\n\x10\n\t\x04\x00\x03\x02\x03\x02\x02\x01\x03\x12\x03T\x1d\x1e\n\x0f\n\x08\x04\x00\x03\x02\x03\x02\x02\x02\x12\x03U\x06E\n\x10\n\t\x04\x00\x03\x02\x03\x02\x02\x02\x06\x12\x03U\x06,\n\x10\n\t\x04\x00\x03\x02\x03\x02\x02\x02\x01\x12\x03U-?\n\x10\n\t\x04\x00\x03\x02\x03\x02\x02\x02\x03\x12\x03UBD\n\x0e\n\x06\x04\x00\x03\x02\x03\x03\x12\x04X\x04c\x05\n\x0e\n\x07\x04\x00\x03\x02\x03\x03\x01\x12\x03X\x0c\x1d\n\xb2\x01\n\x08\x04\x00\x03\x02\x03\x03\x02\x00\x12\x03[\x06)\x1a\xa0\x01 The value corresponds to a plan unique number for that datastructure.  Any particular\n computation may be saved only once but it may be loaded multiple times.\n\n\x10\n\t\x04\x00\x03\x02\x03\x03\x02\x00\x05\x12\x03[\x06\x0b\n\x10\n\t\x04\x00\x03\x02\x03\x03\x02\x00\x01\x12\x03[\x0c$\n\x10\n\t\x04\x00\x03\x02\x03\x03\x02\x00\x03\x12\x03[\'(\n\xf7\x02\n\x08\x04\x00\x03\x02\x03\x03\x02\x01\x12\x03a\x06\x1f\x1a\xe5\x02 The type of this computation.  While a plan may use COMPUTATION_TYPE_UNKNOWN for all\n of its types it is recommended to use a more specific type so that the optimization\n is more portable.  The consumer should be able to decide if an unknown type here\n matches the same unknown type at a different plan and ignore the optimization if they\n are mismatched.\n\n\x10\n\t\x04\x00\x03\x02\x03\x03\x02\x01\x06\x12\x03a\x06\x15\n\x10\n\t\x04\x00\x03\x02\x03\x03\x02\x01\x01\x12\x03a\x16\x1a\n\x10\n\t\x04\x00\x03\x02\x03\x03\x02\x01\x03\x12\x03a\x1d\x1e\n\x0f\n\x08\x04\x00\x03\x02\x03\x03\x02\x02\x12\x03b\x06E\n\x10\n\t\x04\x00\x03\x02\x03\x03\x02\x02\x06\x12\x03b\x06,\n\x10\n\t\x04\x00\x03\x02\x03\x03\x02\x02\x01\x12\x03b-?\n\x10\n\t\x04\x00\x03\x02\x03\x03\x02\x02\x03\x12\x03bBD\nh\n\x02\x04\x01\x12\x05h\x00\xf3\x01\x01\x1a[ The scan operator of base data (physical or virtual), including filtering and projection.\n\n\n\n\x03\x04\x01\x01\x12\x03h\x08\x0f\n\x0b\n\x04\x04\x01\x02\x00\x12\x03i\x02\x17\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03i\x02\x0b\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03i\x0c\x12\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03i\x15\x16\n\x0b\n\x04\x04\x01\x02\x01\x12\x03j\x02\x1e\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03j\x02\r\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03j\x0e\x19\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03j\x1c\x1d\n\x0b\n\x04\x04\x01\x02\x02\x12\x03k\x02\x18\n\x0c\n\x05\x04\x01\x02\x02\x06\x12\x03k\x02\x0c\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03k\r\x13\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03k\x16\x17\n\x0b\n\x04\x04\x01\x02\x03\x12\x03l\x02%\n\x0c\n\x05\x04\x01\x02\x03\x06\x12\x03l\x02\x0c\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03l\r\x1f\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03l\"$\n\x0b\n\x04\x04\x01\x02\x04\x12\x03m\x02+\n\x0c\n\x05\x04\x01\x02\x04\x06\x12\x03m\x02\x1b\n\x0c\n\x05\x04\x01\x02\x04\x01\x12\x03m\x1c&\n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x03m)*\n\x0b\n\x04\x04\x01\x02\x05\x12\x03n\x02A\n\x0c\n\x05\x04\x01\x02\x05\x06\x12\x03n\x02(\n\x0c\n\x05\x04\x01\x02\x05\x01\x12\x03n);\n\x0c\n\x05\x04\x01\x02\x05\x03\x12\x03n>@\nM\n\x04\x04\x01\x08\x00\x12\x04q\x02w\x03\x1a? Definition of which type of scan operation is to be performed\n\n\x0c\n\x05\x04\x01\x08\x00\x01\x12\x03q\x08\x11\n\x0b\n\x04\x04\x01\x02\x06\x12\x03r\x04#\n\x0c\n\x05\x04\x01\x02\x06\x06\x12\x03r\x04\x10\n\x0c\n\x05\x04\x01\x02\x06\x01\x12\x03r\x11\x1e\n\x0c\n\x05\x04\x01\x02\x06\x03\x12\x03r!\"\n\x0b\n\x04\x04\x01\x02\x07\x12\x03s\x04\x1f\n\x0c\n\x05\x04\x01\x02\x07\x06\x12\x03s\x04\x0e\n\x0c\n\x05\x04\x01\x02\x07\x01\x12\x03s\x0f\x1a\n\x0c\n\x05\x04\x01\x02\x07\x03\x12\x03s\x1d\x1e\n\x0b\n\x04\x04\x01\x02\x08\x12\x03t\x04\x1f\n\x0c\n\x05\x04\x01\x02\x08\x06\x12\x03t\x04\x0e\n\x0c\n\x05\x04\x01\x02\x08\x01\x12\x03t\x0f\x1a\n\x0c\n\x05\x04\x01\x02\x08\x03\x12\x03t\x1d\x1e\n\x0b\n\x04\x04\x01\x02\t\x12\x03u\x04\'\n\x0c\n\x05\x04\x01\x02\t\x06\x12\x03u\x04\x12\n\x0c\n\x05\x04\x01\x02\t\x01\x12\x03u\x13\"\n\x0c\n\x05\x04\x01\x02\t\x03\x12\x03u%&\n\x0b\n\x04\x04\x01\x02\n\x12\x03v\x04#\n\x0c\n\x05\x04\x01\x02\n\x06\x12\x03v\x04\x10\n\x0c\n\x05\x04\x01\x02\n\x01\x12\x03v\x11\x1e\n\x0c\n\x05\x04\x01\x02\n\x03\x12\x03v!\"\n\xab\x01\n\x04\x04\x01\x03\x00\x12\x04{\x02~\x03\x1a\x9c\x01 A base table. The list of string is used to represent namespacing (e.g., mydb.mytable).\n This assumes shared catalog between systems exchanging a message.\n\n\x0c\n\x05\x04\x01\x03\x00\x01\x12\x03{\n\x14\n\r\n\x06\x04\x01\x03\x00\x02\x00\x12\x03|\x04\x1e\n\x0e\n\x07\x04\x01\x03\x00\x02\x00\x04\x12\x03|\x04\x0c\n\x0e\n\x07\x04\x01\x03\x00\x02\x00\x05\x12\x03|\r\x13\n\x0e\n\x07\x04\x01\x03\x00\x02\x00\x01\x12\x03|\x14\x19\n\x0e\n\x07\x04\x01\x03\x00\x02\x00\x03\x12\x03|\x1c\x1d\n\r\n\x06\x04\x01\x03\x00\x02\x01\x12\x03}\x04C\n\x0e\n\x07\x04\x01\x03\x00\x02\x01\x06\x12\x03}\x04*\n\x0e\n\x07\x04\x01\x03\x00\x02\x01\x01\x12\x03}+=\n\x0e\n\x07\x04\x01\x03\x00\x02\x01\x03\x12\x03}@B\n\'\n\x04\x04\x01\x03\x01\x12\x06\x81\x01\x02\x95\x01\x03\x1a\x17 Read an Iceberg Table\n\n\r\n\x05\x04\x01\x03\x01\x01\x12\x04\x81\x01\n\x16\n\x10\n\x06\x04\x01\x03\x01\x08\x00\x12\x06\x82\x01\x04\x85\x01\x05\n\x0f\n\x07\x04\x01\x03\x01\x08\x00\x01\x12\x04\x82\x01\n\x14\n_\n\x06\x04\x01\x03\x01\x02\x00\x12\x04\x83\x01\x06\"\"O future: add catalog table types (e.g. rest api, latest metadata in path, etc)\n\n\x0f\n\x07\x04\x01\x03\x01\x02\x00\x06\x12\x04\x83\x01\x06\x16\n\x0f\n\x07\x04\x01\x03\x01\x02\x00\x01\x12\x04\x83\x01\x17\x1d\n\x0f\n\x07\x04\x01\x03\x01\x02\x00\x03\x12\x04\x83\x01 !\n\x8e\x01\n\x06\x04\x01\x03\x01\x03\x00\x12\x06\x88\x01\x04\x94\x01\x05\x1a| Read an Iceberg table using a metadata file. Implicit assumption: required credentials are already known by plan consumer.\n\n\x0f\n\x07\x04\x01\x03\x01\x03\x00\x01\x12\x04\x88\x01\x0c\x1c\no\n\x08\x04\x01\x03\x01\x03\x00\x02\x00\x12\x04\x8a\x01\x06\x1e\x1a] the specific uri of a metadata file (e.g. s3://mybucket/mytable/<ver>-<uuid>.metadata.json)\n\n\x11\n\t\x04\x01\x03\x01\x03\x00\x02\x00\x05\x12\x04\x8a\x01\x06\x0c\n\x11\n\t\x04\x01\x03\x01\x03\x00\x02\x00\x01\x12\x04\x8a\x01\r\x19\n\x11\n\t\x04\x01\x03\x01\x03\x00\x02\x00\x03\x12\x04\x8a\x01\x1c\x1d\nj\n\x08\x04\x01\x03\x01\x03\x00\x08\x00\x12\x06\x8d\x01\x06\x93\x01\x07\x1aV snapshot options. if none set, uses the current snapshot listed in the metadata file\n\n\x11\n\t\x04\x01\x03\x01\x03\x00\x08\x00\x01\x12\x04\x8d\x01\x0c\x14\n,\n\x08\x04\x01\x03\x01\x03\x00\x02\x01\x12\x04\x8f\x01\x08\x1f\x1a\x1a the snapshot id to read.\n\n\x11\n\t\x04\x01\x03\x01\x03\x00\x02\x01\x05\x12\x04\x8f\x01\x08\x0e\n\x11\n\t\x04\x01\x03\x01\x03\x00\x02\x01\x01\x12\x04\x8f\x01\x0f\x1a\n\x11\n\t\x04\x01\x03\x01\x03\x00\x02\x01\x03\x12\x04\x8f\x01\x1d\x1e\n\x93\x01\n\x08\x04\x01\x03\x01\x03\x00\x02\x02\x12\x04\x92\x01\x08%\x1a\x80\x01 the timestamp that should be used to select the snapshot (Time passed in microseconds since 1970-01-01 00:00:00.000000 in UTC)\n\n\x11\n\t\x04\x01\x03\x01\x03\x00\x02\x02\x05\x12\x04\x92\x01\x08\r\n\x11\n\t\x04\x01\x03\x01\x03\x00\x02\x02\x01\x12\x04\x92\x01\x0e \n\x11\n\t\x04\x01\x03\x01\x03\x00\x02\x02\x03\x12\x04\x92\x01#$\n2\n\x04\x04\x01\x03\x02\x12\x06\x98\x01\x02\x9b\x01\x03\x1a\" A table composed of expressions.\n\n\r\n\x05\x04\x01\x03\x02\x01\x12\x04\x98\x01\n\x16\n\x0e\n\x06\x04\x01\x03\x02\x02\x00\x12\x04\x99\x01\x04F\n\x0f\n\x07\x04\x01\x03\x02\x02\x00\x04\x12\x04\x99\x01\x04\x0c\n\x0f\n\x07\x04\x01\x03\x02\x02\x00\x06\x12\x04\x99\x01\r&\n\x0f\n\x07\x04\x01\x03\x02\x02\x00\x01\x12\x04\x99\x01\'-\n\x0f\n\x07\x04\x01\x03\x02\x02\x00\x03\x12\x04\x99\x0101\n\x0f\n\x07\x04\x01\x03\x02\x02\x00\x08\x12\x04\x99\x012E\n\x10\n\x08\x04\x01\x03\x02\x02\x00\x08\x03\x12\x04\x99\x013D\n\x0e\n\x06\x04\x01\x03\x02\x02\x01\x12\x04\x9a\x01\x046\n\x0f\n\x07\x04\x01\x03\x02\x02\x01\x04\x12\x04\x9a\x01\x04\x0c\n\x0f\n\x07\x04\x01\x03\x02\x02\x01\x06\x12\x04\x9a\x01\r%\n\x0f\n\x07\x04\x01\x03\x02\x02\x01\x01\x12\x04\x9a\x01&1\n\x0f\n\x07\x04\x01\x03\x02\x02\x01\x03\x12\x04\x9a\x0145\nn\n\x04\x04\x01\x03\x03\x12\x06\x9f\x01\x02\xa1\x01\x03\x1a^ A stub type that can be used to extend/introduce new table types outside\n the specification.\n\n\r\n\x05\x04\x01\x03\x03\x01\x12\x04\x9f\x01\n\x18\n\x0e\n\x06\x04\x01\x03\x03\x02\x00\x12\x04\xa0\x01\x04#\n\x0f\n\x07\x04\x01\x03\x03\x02\x00\x06\x12\x04\xa0\x01\x04\x17\n\x0f\n\x07\x04\x01\x03\x03\x02\x00\x01\x12\x04\xa0\x01\x18\x1e\n\x0f\n\x07\x04\x01\x03\x03\x02\x00\x03\x12\x04\xa0\x01!\"\nI\n\x04\x04\x01\x03\x04\x12\x06\xa4\x01\x02\xf2\x01\x03\x1a9 Represents a list of files in input of a scan operation\n\n\r\n\x05\x04\x01\x03\x04\x01\x12\x04\xa4\x01\n\x14\n\x0e\n\x06\x04\x01\x03\x04\x02\x00\x12\x04\xa5\x01\x04#\n\x0f\n\x07\x04\x01\x03\x04\x02\x00\x04\x12\x04\xa5\x01\x04\x0c\n\x0f\n\x07\x04\x01\x03\x04\x02\x00\x06\x12\x04\xa5\x01\r\x18\n\x0f\n\x07\x04\x01\x03\x04\x02\x00\x01\x12\x04\xa5\x01\x19\x1e\n\x0f\n\x07\x04\x01\x03\x04\x02\x00\x03\x12\x04\xa5\x01!\"\n\x0e\n\x06\x04\x01\x03\x04\x02\x01\x12\x04\xa6\x01\x04C\n\x0f\n\x07\x04\x01\x03\x04\x02\x01\x06\x12\x04\xa6\x01\x04*\n\x0f\n\x07\x04\x01\x03\x04\x02\x01\x01\x12\x04\xa6\x01+=\n\x0f\n\x07\x04\x01\x03\x04\x02\x01\x03\x12\x04\xa6\x01@B\n\xba\x02\n\x06\x04\x01\x03\x04\x03\x00\x12\x06\xad\x01\x04\xf1\x01\x05\x1a\xa7\x02 Many files consist of indivisible chunks (e.g. parquet row groups\n or CSV rows).  If a slice partially selects an indivisible chunk\n then the consumer should employ some rule to decide which slice to\n include the chunk in (e.g. include it in the slice that contains\n the midpoint of the chunk)\n\n\x0f\n\x07\x04\x01\x03\x04\x03\x00\x01\x12\x04\xad\x01\x0c\x17\n\x12\n\x08\x04\x01\x03\x04\x03\x00\x08\x00\x12\x06\xae\x01\x06\xba\x01\x07\n\x11\n\t\x04\x01\x03\x04\x03\x00\x08\x00\x01\x12\x04\xae\x01\x0c\x15\nS\n\x08\x04\x01\x03\x04\x03\x00\x02\x00\x12\x04\xb0\x01\x08\x1c\x1aA A URI that can refer to either a single folder or a single file\n\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\x00\x05\x12\x04\xb0\x01\x08\x0e\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\x00\x01\x12\x04\xb0\x01\x0f\x17\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\x00\x03\x12\x04\xb0\x01\x1a\x1b\n\xcd\x01\n\x08\x04\x01\x03\x04\x03\x00\x02\x01\x12\x04\xb5\x01\x08!\x1a\xba\x01 A URI where the path portion is a glob expression that can\n identify zero or more paths.\n Consumers should support the POSIX syntax.  The recursive\n globstar (**) may not be supported.\n\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\x01\x05\x12\x04\xb5\x01\x08\x0e\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\x01\x01\x12\x04\xb5\x01\x0f\x1c\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\x01\x03\x12\x04\xb5\x01\x1f \n6\n\x08\x04\x01\x03\x04\x03\x00\x02\x02\x12\x04\xb7\x01\x08\x1c\x1a$ A URI that refers to a single file\n\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\x02\x05\x12\x04\xb7\x01\x08\x0e\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\x02\x01\x12\x04\xb7\x01\x0f\x17\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\x02\x03\x12\x04\xb7\x01\x1a\x1b\n8\n\x08\x04\x01\x03\x04\x03\x00\x02\x03\x12\x04\xb9\x01\x08\x1e\x1a& A URI that refers to a single folder\n\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\x03\x05\x12\x04\xb9\x01\x08\x0e\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\x03\x01\x12\x04\xb9\x01\x0f\x19\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\x03\x03\x12\x04\xb9\x01\x1c\x1d\nR\n\x07\x04\x01\x03\x04\x03\x00\t\x12\x04\xbd\x01\x06\x11\x1aA Original file format enum, superseded by the file_format oneof.\n\n\x10\n\x08\x04\x01\x03\x04\x03\x00\t\x00\x12\x04\xbd\x01\x0f\x10\n\x11\n\t\x04\x01\x03\x04\x03\x00\t\x00\x01\x12\x04\xbd\x01\x0f\x10\n\x11\n\t\x04\x01\x03\x04\x03\x00\t\x00\x02\x12\x04\xbd\x01\x0f\x10\n\x0f\n\x07\x04\x01\x03\x04\x03\x00\n\x12\x04\xbe\x01\x06\x18\n\x10\n\x08\x04\x01\x03\x04\x03\x00\n\x00\x12\x04\xbe\x01\x0f\x17\nC\n\x08\x04\x01\x03\x04\x03\x00\x02\x04\x12\x04\xc1\x01\x06!\x1a1 The index of the partition this item belongs to\n\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\x04\x05\x12\x04\xc1\x01\x06\x0c\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\x04\x01\x12\x04\xc1\x01\r\x1c\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\x04\x03\x12\x04\xc1\x01\x1f \nE\n\x08\x04\x01\x03\x04\x03\x00\x02\x05\x12\x04\xc4\x01\x06\x17\x1a3 The start position in byte to read from this item\n\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\x05\x05\x12\x04\xc4\x01\x06\x0c\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\x05\x01\x12\x04\xc4\x01\r\x12\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\x05\x03\x12\x04\xc4\x01\x15\x16\n=\n\x08\x04\x01\x03\x04\x03\x00\x02\x06\x12\x04\xc7\x01\x06\x18\x1a+ The length in byte to read from this item\n\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\x06\x05\x12\x04\xc7\x01\x06\x0c\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\x06\x01\x12\x04\xc7\x01\r\x13\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\x06\x03\x12\x04\xc7\x01\x16\x17\n\x10\n\x08\x04\x01\x03\x04\x03\x00\x03\x00\x12\x04\xc9\x01\x06#\n\x11\n\t\x04\x01\x03\x04\x03\x00\x03\x00\x01\x12\x04\xc9\x01\x0e \n\x10\n\x08\x04\x01\x03\x04\x03\x00\x03\x01\x12\x04\xca\x01\x06!\n\x11\n\t\x04\x01\x03\x04\x03\x00\x03\x01\x01\x12\x04\xca\x01\x0e\x1e\n\x10\n\x08\x04\x01\x03\x04\x03\x00\x03\x02\x12\x04\xcb\x01\x06\x1f\n\x11\n\t\x04\x01\x03\x04\x03\x00\x03\x02\x01\x12\x04\xcb\x01\x0e\x1c\n\x10\n\x08\x04\x01\x03\x04\x03\x00\x03\x03\x12\x04\xcc\x01\x06 \n\x11\n\t\x04\x01\x03\x04\x03\x00\x03\x03\x01\x12\x04\xcc\x01\x0e\x1d\n\x80\x01\n\x08\x04\x01\x03\x04\x03\x00\x03\x04\x12\x06\xcd\x01\x06\xe6\x01\x07\"l Delimiter separated files may be compressed.  The reader should\n autodetect this and decompress as needed.\n\n\x11\n\t\x04\x01\x03\x04\x03\x00\x03\x04\x01\x12\x04\xcd\x01\x0e/\n\x8b\x01\n\n\x04\x01\x03\x04\x03\x00\x03\x04\x02\x00\x12\x04\xd3\x01\x08#\x1aw The character(s) used to separate fields.  Common values are comma,\n tab, and pipe.  Multiple characters are allowed.\n\n\x13\n\x0b\x04\x01\x03\x04\x03\x00\x03\x04\x02\x00\x05\x12\x04\xd3\x01\x08\x0e\n\x13\n\x0b\x04\x01\x03\x04\x03\x00\x03\x04\x02\x00\x01\x12\x04\xd3\x01\x0f\x1e\n\x13\n\x0b\x04\x01\x03\x04\x03\x00\x03\x04\x02\x00\x03\x12\x04\xd3\x01!\"\n\x91\x01\n\n\x04\x01\x03\x04\x03\x00\x03\x04\x02\x01\x12\x04\xd6\x01\x08!\x1a} The maximum number of bytes to read from a single line.  If a line\n exceeds this limit the resulting behavior is undefined.\n\n\x13\n\x0b\x04\x01\x03\x04\x03\x00\x03\x04\x02\x01\x05\x12\x04\xd6\x01\x08\x0e\n\x13\n\x0b\x04\x01\x03\x04\x03\x00\x03\x04\x02\x01\x01\x12\x04\xd6\x01\x0f\x1c\n\x13\n\x0b\x04\x01\x03\x04\x03\x00\x03\x04\x02\x01\x03\x12\x04\xd6\x01\x1f \nt\n\n\x04\x01\x03\x04\x03\x00\x03\x04\x02\x02\x12\x04\xd9\x01\x08\x19\x1a` The character(s) used to quote strings.  Common values are single\n and double quotation marks.\n\n\x13\n\x0b\x04\x01\x03\x04\x03\x00\x03\x04\x02\x02\x05\x12\x04\xd9\x01\x08\x0e\n\x13\n\x0b\x04\x01\x03\x04\x03\x00\x03\x04\x02\x02\x01\x12\x04\xd9\x01\x0f\x14\n\x13\n\x0b\x04\x01\x03\x04\x03\x00\x03\x04\x02\x02\x03\x12\x04\xd9\x01\x17\x18\nO\n\n\x04\x01\x03\x04\x03\x00\x03\x04\x02\x03\x12\x04\xdb\x01\x08(\x1a; The number of lines to skip at the beginning of the file.\n\n\x13\n\x0b\x04\x01\x03\x04\x03\x00\x03\x04\x02\x03\x05\x12\x04\xdb\x01\x08\x0e\n\x13\n\x0b\x04\x01\x03\x04\x03\x00\x03\x04\x02\x03\x01\x12\x04\xdb\x01\x0f#\n\x13\n\x0b\x04\x01\x03\x04\x03\x00\x03\x04\x02\x03\x03\x12\x04\xdb\x01&\'\n\xe2\x01\n\n\x04\x01\x03\x04\x03\x00\x03\x04\x02\x04\x12\x04\xdf\x01\x08\x1a\x1a\xcd\x01 The character used to escape characters in strings.  Backslash is\n a common value.  Note that a double quote mark can also be used as an\n escape character but the external quotes should be removed first.\n\n\x13\n\x0b\x04\x01\x03\x04\x03\x00\x03\x04\x02\x04\x05\x12\x04\xdf\x01\x08\x0e\n\x13\n\x0b\x04\x01\x03\x04\x03\x00\x03\x04\x02\x04\x01\x12\x04\xdf\x01\x0f\x15\n\x13\n\x0b\x04\x01\x03\x04\x03\x00\x03\x04\x02\x04\x03\x12\x04\xdf\x01\x18\x19\n\xcb\x02\n\n\x04\x01\x03\x04\x03\x00\x03\x04\x02\x05\x12\x04\xe5\x01\x082\x1a\xb6\x02 If this value is encountered (including empty string), the resulting\n value is null instead.  Leave unset to disable.  If this value is\n provided, the effective schema of this file is comprised entirely of\n nullable strings.  If not provided, the effective schema is instead\n made up of non-nullable strings.\n\n\x13\n\x0b\x04\x01\x03\x04\x03\x00\x03\x04\x02\x05\x04\x12\x04\xe5\x01\x08\x10\n\x13\n\x0b\x04\x01\x03\x04\x03\x00\x03\x04\x02\x05\x05\x12\x04\xe5\x01\x11\x17\n\x13\n\x0b\x04\x01\x03\x04\x03\x00\x03\x04\x02\x05\x01\x12\x04\xe5\x01\x18-\n\x13\n\x0b\x04\x01\x03\x04\x03\x00\x03\x04\x02\x05\x03\x12\x04\xe5\x0101\nY\n\x08\x04\x01\x03\x04\x03\x00\x08\x01\x12\x06\xe9\x01\x06\xf0\x01\x07\x1aE The format of the files along with options for reading those files.\n\n\x11\n\t\x04\x01\x03\x04\x03\x00\x08\x01\x01\x12\x04\xe9\x01\x0c\x17\n\x10\n\x08\x04\x01\x03\x04\x03\x00\x02\x07\x12\x04\xea\x01\x08\'\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\x07\x06\x12\x04\xea\x01\x08\x1a\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\x07\x01\x12\x04\xea\x01\x1b\"\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\x07\x03\x12\x04\xea\x01%&\n\x10\n\x08\x04\x01\x03\x04\x03\x00\x02\x08\x12\x04\xeb\x01\x08$\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\x08\x06\x12\x04\xeb\x01\x08\x18\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\x08\x01\x12\x04\xeb\x01\x19\x1e\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\x08\x03\x12\x04\xeb\x01!#\n\x10\n\x08\x04\x01\x03\x04\x03\x00\x02\t\x12\x04\xec\x01\x08 \n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\t\x06\x12\x04\xec\x01\x08\x16\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\t\x01\x12\x04\xec\x01\x17\x1a\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\t\x03\x12\x04\xec\x01\x1d\x1f\n\x10\n\x08\x04\x01\x03\x04\x03\x00\x02\n\x12\x04\xed\x01\x08+\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\n\x06\x12\x04\xed\x01\x08\x1b\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\n\x01\x12\x04\xed\x01\x1c%\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\n\x03\x12\x04\xed\x01(*\n\x10\n\x08\x04\x01\x03\x04\x03\x00\x02\x0b\x12\x04\xee\x01\x08\"\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\x0b\x06\x12\x04\xee\x01\x08\x17\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\x0b\x01\x12\x04\xee\x01\x18\x1c\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\x0b\x03\x12\x04\xee\x01\x1f!\n\x10\n\x08\x04\x01\x03\x04\x03\x00\x02\x0c\x12\x04\xef\x01\x084\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\x0c\x06\x12\x04\xef\x01\x08)\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\x0c\x01\x12\x04\xef\x01*.\n\x11\n\t\x04\x01\x03\x04\x03\x00\x02\x0c\x03\x12\x04\xef\x0113\n\xa3\x01\n\x02\x04\x02\x12\x06\xf6\x01\x00\xfb\x01\x01\x1a\x94\x01 This operator allows to represent calculated expressions of fields (e.g., a+b). Direct/Emit are used to represent classical relational projections\n\n\x0b\n\x03\x04\x02\x01\x12\x04\xf6\x01\x08\x12\n\x0c\n\x04\x04\x02\x02\x00\x12\x04\xf7\x01\x02\x17\n\r\n\x05\x04\x02\x02\x00\x06\x12\x04\xf7\x01\x02\x0b\n\r\n\x05\x04\x02\x02\x00\x01\x12\x04\xf7\x01\x0c\x12\n\r\n\x05\x04\x02\x02\x00\x03\x12\x04\xf7\x01\x15\x16\n\x0c\n\x04\x04\x02\x02\x01\x12\x04\xf8\x01\x02\x10\n\r\n\x05\x04\x02\x02\x01\x06\x12\x04\xf8\x01\x02\x05\n\r\n\x05\x04\x02\x02\x01\x01\x12\x04\xf8\x01\x06\x0b\n\r\n\x05\x04\x02\x02\x01\x03\x12\x04\xf8\x01\x0e\x0f\n\x0c\n\x04\x04\x02\x02\x02\x12\x04\xf9\x01\x02&\n\r\n\x05\x04\x02\x02\x02\x04\x12\x04\xf9\x01\x02\n\n\r\n\x05\x04\x02\x02\x02\x06\x12\x04\xf9\x01\x0b\x15\n\r\n\x05\x04\x02\x02\x02\x01\x12\x04\xf9\x01\x16!\n\r\n\x05\x04\x02\x02\x02\x03\x12\x04\xf9\x01$%\n\x0c\n\x04\x04\x02\x02\x03\x12\x04\xfa\x01\x02A\n\r\n\x05\x04\x02\x02\x03\x06\x12\x04\xfa\x01\x02(\n\r\n\x05\x04\x02\x02\x03\x01\x12\x04\xfa\x01);\n\r\n\x05\x04\x02\x02\x03\x03\x12\x04\xfa\x01>@\n\x94\x01\n\x02\x04\x03\x12\x06\xfe\x01\x00\x98\x02\x01\x1a\x85\x01 The binary JOIN relational operator left-join-right, including various join types, a join condition and post_join_filter expression\n\n\x0b\n\x03\x04\x03\x01\x12\x04\xfe\x01\x08\x0f\n\x0c\n\x04\x04\x03\x02\x00\x12\x04\xff\x01\x02\x17\n\r\n\x05\x04\x03\x02\x00\x06\x12\x04\xff\x01\x02\x0b\n\r\n\x05\x04\x03\x02\x00\x01\x12\x04\xff\x01\x0c\x12\n\r\n\x05\x04\x03\x02\x00\x03\x12\x04\xff\x01\x15\x16\n\x0c\n\x04\x04\x03\x02\x01\x12\x04\x80\x02\x02\x0f\n\r\n\x05\x04\x03\x02\x01\x06\x12\x04\x80\x02\x02\x05\n\r\n\x05\x04\x03\x02\x01\x01\x12\x04\x80\x02\x06\n\n\r\n\x05\x04\x03\x02\x01\x03\x12\x04\x80\x02\r\x0e\n\x0c\n\x04\x04\x03\x02\x02\x12\x04\x81\x02\x02\x10\n\r\n\x05\x04\x03\x02\x02\x06\x12\x04\x81\x02\x02\x05\n\r\n\x05\x04\x03\x02\x02\x01\x12\x04\x81\x02\x06\x0b\n\r\n\x05\x04\x03\x02\x02\x03\x12\x04\x81\x02\x0e\x0f\n\x0c\n\x04\x04\x03\x02\x03\x12\x04\x82\x02\x02\x1c\n\r\n\x05\x04\x03\x02\x03\x06\x12\x04\x82\x02\x02\x0c\n\r\n\x05\x04\x03\x02\x03\x01\x12\x04\x82\x02\r\x17\n\r\n\x05\x04\x03\x02\x03\x03\x12\x04\x82\x02\x1a\x1b\n\x0c\n\x04\x04\x03\x02\x04\x12\x04\x83\x02\x02\"\n\r\n\x05\x04\x03\x02\x04\x06\x12\x04\x83\x02\x02\x0c\n\r\n\x05\x04\x03\x02\x04\x01\x12\x04\x83\x02\r\x1d\n\r\n\x05\x04\x03\x02\x04\x03\x12\x04\x83\x02 !\n\x0c\n\x04\x04\x03\x02\x05\x12\x04\x85\x02\x02\x14\n\r\n\x05\x04\x03\x02\x05\x06\x12\x04\x85\x02\x02\n\n\r\n\x05\x04\x03\x02\x05\x01\x12\x04\x85\x02\x0b\x0f\n\r\n\x05\x04\x03\x02\x05\x03\x12\x04\x85\x02\x12\x13\n\x0e\n\x04\x04\x03\x04\x00\x12\x06\x87\x02\x02\x95\x02\x03\n\r\n\x05\x04\x03\x04\x00\x01\x12\x04\x87\x02\x07\x0f\n\x0e\n\x06\x04\x03\x04\x00\x02\x00\x12\x04\x88\x02\x04\x1e\n\x0f\n\x07\x04\x03\x04\x00\x02\x00\x01\x12\x04\x88\x02\x04\x19\n\x0f\n\x07\x04\x03\x04\x00\x02\x00\x02\x12\x04\x88\x02\x1c\x1d\n\x0e\n\x06\x04\x03\x04\x00\x02\x01\x12\x04\x89\x02\x04\x18\n\x0f\n\x07\x04\x03\x04\x00\x02\x01\x01\x12\x04\x89\x02\x04\x13\n\x0f\n\x07\x04\x03\x04\x00\x02\x01\x02\x12\x04\x89\x02\x16\x17\n\x0e\n\x06\x04\x03\x04\x00\x02\x02\x12\x04\x8a\x02\x04\x18\n\x0f\n\x07\x04\x03\x04\x00\x02\x02\x01\x12\x04\x8a\x02\x04\x13\n\x0f\n\x07\x04\x03\x04\x00\x02\x02\x02\x12\x04\x8a\x02\x16\x17\n\x0e\n\x06\x04\x03\x04\x00\x02\x03\x12\x04\x8b\x02\x04\x17\n\x0f\n\x07\x04\x03\x04\x00\x02\x03\x01\x12\x04\x8b\x02\x04\x12\n\x0f\n\x07\x04\x03\x04\x00\x02\x03\x02\x12\x04\x8b\x02\x15\x16\n\x0e\n\x06\x04\x03\x04\x00\x02\x04\x12\x04\x8c\x02\x04\x18\n\x0f\n\x07\x04\x03\x04\x00\x02\x04\x01\x12\x04\x8c\x02\x04\x13\n\x0f\n\x07\x04\x03\x04\x00\x02\x04\x02\x12\x04\x8c\x02\x16\x17\n\x0e\n\x06\x04\x03\x04\x00\x02\x05\x12\x04\x8d\x02\x04\x1c\n\x0f\n\x07\x04\x03\x04\x00\x02\x05\x01\x12\x04\x8d\x02\x04\x17\n\x0f\n\x07\x04\x03\x04\x00\x02\x05\x02\x12\x04\x8d\x02\x1a\x1b\n\x0e\n\x06\x04\x03\x04\x00\x02\x06\x12\x04\x8e\x02\x04\x1c\n\x0f\n\x07\x04\x03\x04\x00\x02\x06\x01\x12\x04\x8e\x02\x04\x17\n\x0f\n\x07\x04\x03\x04\x00\x02\x06\x02\x12\x04\x8e\x02\x1a\x1b\n\x0e\n\x06\x04\x03\x04\x00\x02\x07\x12\x04\x8f\x02\x04\x1e\n\x0f\n\x07\x04\x03\x04\x00\x02\x07\x01\x12\x04\x8f\x02\x04\x19\n\x0f\n\x07\x04\x03\x04\x00\x02\x07\x02\x12\x04\x8f\x02\x1c\x1d\n\x0e\n\x06\x04\x03\x04\x00\x02\x08\x12\x04\x90\x02\x04\x1d\n\x0f\n\x07\x04\x03\x04\x00\x02\x08\x01\x12\x04\x90\x02\x04\x18\n\x0f\n\x07\x04\x03\x04\x00\x02\x08\x02\x12\x04\x90\x02\x1b\x1c\n\x0e\n\x06\x04\x03\x04\x00\x02\t\x12\x04\x91\x02\x04\x1d\n\x0f\n\x07\x04\x03\x04\x00\x02\t\x01\x12\x04\x91\x02\x04\x18\n\x0f\n\x07\x04\x03\x04\x00\x02\t\x02\x12\x04\x91\x02\x1b\x1c\n\x0e\n\x06\x04\x03\x04\x00\x02\n\x12\x04\x92\x02\x04 \n\x0f\n\x07\x04\x03\x04\x00\x02\n\x01\x12\x04\x92\x02\x04\x1a\n\x0f\n\x07\x04\x03\x04\x00\x02\n\x02\x12\x04\x92\x02\x1d\x1f\n\x0e\n\x06\x04\x03\x04\x00\x02\x0b\x12\x04\x93\x02\x04\x1d\n\x0f\n\x07\x04\x03\x04\x00\x02\x0b\x01\x12\x04\x93\x02\x04\x17\n\x0f\n\x07\x04\x03\x04\x00\x02\x0b\x02\x12\x04\x93\x02\x1a\x1c\n\x0e\n\x06\x04\x03\x04\x00\x02\x0c\x12\x04\x94\x02\x04\x1e\n\x0f\n\x07\x04\x03\x04\x00\x02\x0c\x01\x12\x04\x94\x02\x04\x18\n\x0f\n\x07\x04\x03\x04\x00\x02\x0c\x02\x12\x04\x94\x02\x1b\x1d\n\x0c\n\x04\x04\x03\x02\x06\x12\x04\x97\x02\x02A\n\r\n\x05\x04\x03\x02\x06\x06\x12\x04\x97\x02\x02(\n\r\n\x05\x04\x03\x02\x06\x01\x12\x04\x97\x02);\n\r\n\x05\x04\x03\x02\x06\x03\x12\x04\x97\x02>@\nT\n\x02\x04\x04\x12\x06\x9b\x02\x00\xa1\x02\x01\x1aF Cartesian product relational operator of two tables (left and right)\n\n\x0b\n\x03\x04\x04\x01\x12\x04\x9b\x02\x08\x10\n\x0c\n\x04\x04\x04\x02\x00\x12\x04\x9c\x02\x02\x17\n\r\n\x05\x04\x04\x02\x00\x06\x12\x04\x9c\x02\x02\x0b\n\r\n\x05\x04\x04\x02\x00\x01\x12\x04\x9c\x02\x0c\x12\n\r\n\x05\x04\x04\x02\x00\x03\x12\x04\x9c\x02\x15\x16\n\x0c\n\x04\x04\x04\x02\x01\x12\x04\x9d\x02\x02\x0f\n\r\n\x05\x04\x04\x02\x01\x06\x12\x04\x9d\x02\x02\x05\n\r\n\x05\x04\x04\x02\x01\x01\x12\x04\x9d\x02\x06\n\n\r\n\x05\x04\x04\x02\x01\x03\x12\x04\x9d\x02\r\x0e\n\x0c\n\x04\x04\x04\x02\x02\x12\x04\x9e\x02\x02\x10\n\r\n\x05\x04\x04\x02\x02\x06\x12\x04\x9e\x02\x02\x05\n\r\n\x05\x04\x04\x02\x02\x01\x12\x04\x9e\x02\x06\x0b\n\r\n\x05\x04\x04\x02\x02\x03\x12\x04\x9e\x02\x0e\x0f\n\x0c\n\x04\x04\x04\x02\x03\x12\x04\xa0\x02\x02A\n\r\n\x05\x04\x04\x02\x03\x06\x12\x04\xa0\x02\x02(\n\r\n\x05\x04\x04\x02\x03\x01\x12\x04\xa0\x02);\n\r\n\x05\x04\x04\x02\x03\x03\x12\x04\xa0\x02>@\nX\n\x02\x04\x05\x12\x06\xa4\x02\x00\xc4\x02\x01\x1aJ The relational operator representing LIMIT/OFFSET or TOP type semantics.\n\n\x0b\n\x03\x04\x05\x01\x12\x04\xa4\x02\x08\x10\n\x0c\n\x04\x04\x05\x02\x00\x12\x04\xa5\x02\x02\x17\n\r\n\x05\x04\x05\x02\x00\x06\x12\x04\xa5\x02\x02\x0b\n\r\n\x05\x04\x05\x02\x00\x01\x12\x04\xa5\x02\x0c\x12\n\r\n\x05\x04\x05\x02\x00\x03\x12\x04\xa5\x02\x15\x16\n\x0c\n\x04\x04\x05\x02\x01\x12\x04\xa6\x02\x02\x10\n\r\n\x05\x04\x05\x02\x01\x06\x12\x04\xa6\x02\x02\x05\n\r\n\x05\x04\x05\x02\x01\x01\x12\x04\xa6\x02\x06\x0b\n\r\n\x05\x04\x05\x02\x01\x03\x12\x04\xa6\x02\x0e\x0f\n\xe8\x01\n\x04\x04\x05\x08\x00\x12\x06\xaa\x02\x02\xb3\x02\x03\x1a\xd7\x01 Note: A oneof field is inherently optional, whereas individual fields\n within a oneof cannot be marked as optional. The unset state of offset\n should therefore be checked at the oneof level. Unset is treated as 0.\n\n\r\n\x05\x04\x05\x08\x00\x01\x12\x04\xaa\x02\x08\x13\n`\n\x04\x04\x05\x02\x02\x12\x04\xad\x02\x04)\x1aR the offset expressed in number of records\n Deprecated: use `offset_expr` instead\n\n\r\n\x05\x04\x05\x02\x02\x05\x12\x04\xad\x02\x04\t\n\r\n\x05\x04\x05\x02\x02\x01\x12\x04\xad\x02\n\x10\n\r\n\x05\x04\x05\x02\x02\x03\x12\x04\xad\x02\x13\x14\n\r\n\x05\x04\x05\x02\x02\x08\x12\x04\xad\x02\x15(\n\x0e\n\x06\x04\x05\x02\x02\x08\x03\x12\x04\xad\x02\x16\'\n\x82\x02\n\x04\x04\x05\x02\x03\x12\x04\xb2\x02\x04\x1f\x1a\xf3\x01 Expression evaluated into a non-negative integer specifying the number\n of records to skip. An expression evaluating to null is treated as 0.\n Evaluating to a negative integer should result in an error.\n Recommended type for offset is int64.\n\n\r\n\x05\x04\x05\x02\x03\x06\x12\x04\xb2\x02\x04\x0e\n\r\n\x05\x04\x05\x02\x03\x01\x12\x04\xb2\x02\x0f\x1a\n\r\n\x05\x04\x05\x02\x03\x03\x12\x04\xb2\x02\x1d\x1e\n\xe9\x01\n\x04\x04\x05\x08\x01\x12\x06\xb7\x02\x02\xc2\x02\x03\x1a\xd8\x01 Note: A oneof field is inherently optional, whereas individual fields\n within a oneof cannot be marked as optional. The unset state of count\n should therefore be checked at the oneof level. Unset is treated as ALL.\n\n\r\n\x05\x04\x05\x08\x01\x01\x12\x04\xb7\x02\x08\x12\n\x8b\x01\n\x04\x04\x05\x02\x04\x12\x04\xbb\x02\x04(\x1a} the amount of records to return\n use -1 to signal that ALL records should be returned\n Deprecated: use `count_expr` instead\n\n\r\n\x05\x04\x05\x02\x04\x05\x12\x04\xbb\x02\x04\t\n\r\n\x05\x04\x05\x02\x04\x01\x12\x04\xbb\x02\n\x0f\n\r\n\x05\x04\x05\x02\x04\x03\x12\x04\xbb\x02\x12\x13\n\r\n\x05\x04\x05\x02\x04\x08\x12\x04\xbb\x02\x14\'\n\x0e\n\x06\x04\x05\x02\x04\x08\x03\x12\x04\xbb\x02\x15&\n\xa0\x02\n\x04\x04\x05\x02\x05\x12\x04\xc1\x02\x04\x1e\x1a\x91\x02 Expression evaluated into a non-negative integer specifying the number\n of records to return. An expression evaluating to null signals that ALL\n records should be returned.\n Evaluating to a negative integer should result in an error.\n Recommended type for count is int64.\n\n\r\n\x05\x04\x05\x02\x05\x06\x12\x04\xc1\x02\x04\x0e\n\r\n\x05\x04\x05\x02\x05\x01\x12\x04\xc1\x02\x0f\x19\n\r\n\x05\x04\x05\x02\x05\x03\x12\x04\xc1\x02\x1c\x1d\n\x0c\n\x04\x04\x05\x02\x06\x12\x04\xc3\x02\x02A\n\r\n\x05\x04\x05\x02\x06\x06\x12\x04\xc3\x02\x02(\n\r\n\x05\x04\x05\x02\x06\x01\x12\x04\xc3\x02);\n\r\n\x05\x04\x05\x02\x06\x03\x12\x04\xc3\x02>@\nI\n\x02\x04\x06\x12\x06\xc7\x02\x00\xf0\x02\x01\x1a; The relational operator representing a GROUP BY Aggregate\n\n\x0b\n\x03\x04\x06\x01\x12\x04\xc7\x02\x08\x14\n\x0c\n\x04\x04\x06\x02\x00\x12\x04\xc8\x02\x02\x17\n\r\n\x05\x04\x06\x02\x00\x06\x12\x04\xc8\x02\x02\x0b\n\r\n\x05\x04\x06\x02\x00\x01\x12\x04\xc8\x02\x0c\x12\n\r\n\x05\x04\x06\x02\x00\x03\x12\x04\xc8\x02\x15\x16\n(\n\x04\x04\x06\x02\x01\x12\x04\xcb\x02\x02\x10\x1a\x1a Input of the aggregation\n\n\r\n\x05\x04\x06\x02\x01\x06\x12\x04\xcb\x02\x02\x05\n\r\n\x05\x04\x06\x02\x01\x01\x12\x04\xcb\x02\x06\x0b\n\r\n\x05\x04\x06\x02\x01\x03\x12\x04\xcb\x02\x0e\x0f\n\xd8\x01\n\x04\x04\x06\x02\x02\x12\x04\xd0\x02\x02\"\x1a\xc9\x01 A list of zero or more grouping sets that the aggregation measures should\n be calculated for. There must be at least one grouping set if there are no\n measures (but it can be the empty grouping set).\n\n\r\n\x05\x04\x06\x02\x02\x04\x12\x04\xd0\x02\x02\n\n\r\n\x05\x04\x06\x02\x02\x06\x12\x04\xd0\x02\x0b\x13\n\r\n\x05\x04\x06\x02\x02\x01\x12\x04\xd0\x02\x14\x1d\n\r\n\x05\x04\x06\x02\x02\x03\x12\x04\xd0\x02 !\n\x7f\n\x04\x04\x06\x02\x03\x12\x04\xd4\x02\x02 \x1aq A list of one or more aggregate expressions along with an optional filter.\n Required if there are no groupings.\n\n\r\n\x05\x04\x06\x02\x03\x04\x12\x04\xd4\x02\x02\n\n\r\n\x05\x04\x06\x02\x03\x06\x12\x04\xd4\x02\x0b\x12\n\r\n\x05\x04\x06\x02\x03\x01\x12\x04\xd4\x02\x13\x1b\n\r\n\x05\x04\x06\x02\x03\x03\x12\x04\xd4\x02\x1e\x1f\n\xf9\x01\n\x04\x04\x06\x02\x04\x12\x04\xda\x02\x02/\x1a\xea\x01 A list of zero or more grouping expressions that grouping sets (i.e.,\n `Grouping` messages in the `groupings` field) can reference. Each\n expression in this list must be referred to by at least one\n `Grouping.expression_references`.\n\n\r\n\x05\x04\x06\x02\x04\x04\x12\x04\xda\x02\x02\n\n\r\n\x05\x04\x06\x02\x04\x06\x12\x04\xda\x02\x0b\x15\n\r\n\x05\x04\x06\x02\x04\x01\x12\x04\xda\x02\x16*\n\r\n\x05\x04\x06\x02\x04\x03\x12\x04\xda\x02-.\n\x0c\n\x04\x04\x06\x02\x05\x12\x04\xdc\x02\x02A\n\r\n\x05\x04\x06\x02\x05\x06\x12\x04\xdc\x02\x02(\n\r\n\x05\x04\x06\x02\x05\x01\x12\x04\xdc\x02);\n\r\n\x05\x04\x06\x02\x05\x03\x12\x04\xdc\x02>@\n\x0e\n\x04\x04\x06\x03\x00\x12\x06\xde\x02\x02\xe5\x02\x03\n\r\n\x05\x04\x06\x03\x00\x01\x12\x04\xde\x02\n\x12\nG\n\x06\x04\x06\x03\x00\x02\x00\x12\x04\xe0\x02\x04E\x1a7 Deprecated in favor of `expression_references` below.\n\n\x0f\n\x07\x04\x06\x03\x00\x02\x00\x04\x12\x04\xe0\x02\x04\x0c\n\x0f\n\x07\x04\x06\x03\x00\x02\x00\x06\x12\x04\xe0\x02\r\x17\n\x0f\n\x07\x04\x06\x03\x00\x02\x00\x01\x12\x04\xe0\x02\x18,\n\x0f\n\x07\x04\x06\x03\x00\x02\x00\x03\x12\x04\xe0\x02/0\n\x0f\n\x07\x04\x06\x03\x00\x02\x00\x08\x12\x04\xe0\x021D\n\x10\n\x08\x04\x06\x03\x00\x02\x00\x08\x03\x12\x04\xe0\x022C\n\x80\x01\n\x06\x04\x06\x03\x00\x02\x01\x12\x04\xe4\x02\x04.\x1ap A list of zero or more references to grouping expressions, i.e., indices\n into the `grouping_expression` list.\n\n\x0f\n\x07\x04\x06\x03\x00\x02\x01\x04\x12\x04\xe4\x02\x04\x0c\n\x0f\n\x07\x04\x06\x03\x00\x02\x01\x05\x12\x04\xe4\x02\r\x13\n\x0f\n\x07\x04\x06\x03\x00\x02\x01\x01\x12\x04\xe4\x02\x14)\n\x0f\n\x07\x04\x06\x03\x00\x02\x01\x03\x12\x04\xe4\x02,-\n\x0e\n\x04\x04\x06\x03\x01\x12\x06\xe7\x02\x02\xef\x02\x03\n\r\n\x05\x04\x06\x03\x01\x01\x12\x04\xe7\x02\n\x11\n\x0e\n\x06\x04\x06\x03\x01\x02\x00\x12\x04\xe8\x02\x04\"\n\x0f\n\x07\x04\x06\x03\x01\x02\x00\x06\x12\x04\xe8\x02\x04\x15\n\x0f\n\x07\x04\x06\x03\x01\x02\x00\x01\x12\x04\xe8\x02\x16\x1d\n\x0f\n\x07\x04\x06\x03\x01\x02\x00\x03\x12\x04\xe8\x02 !\n\x97\x02\n\x06\x04\x06\x03\x01\x02\x01\x12\x04\xee\x02\x04\x1a\x1a\x86\x02 An optional boolean expression that acts to filter which records are\n included in the measure. True means include this record for calculation\n within the measure.\n Helps to support SUM(<c>) FILTER(WHERE...) syntax without masking opportunities for optimization\n\n\x0f\n\x07\x04\x06\x03\x01\x02\x01\x06\x12\x04\xee\x02\x04\x0e\n\x0f\n\x07\x04\x06\x03\x01\x02\x01\x01\x12\x04\xee\x02\x0f\x15\n\x0f\n\x07\x04\x06\x03\x01\x02\x01\x03\x12\x04\xee\x02\x18\x19\n\x86\x02\n\x02\x04\x07\x12\x06\xf5\x02\x00\x94\x03\x01\x1a\xf7\x01 ConsistentPartitionWindowRel provides the ability to perform calculations across sets of rows\n that are related to the current query row. It can be used to execute window functions where\n all the windows share the same partitioning and ordering.\n\n\x0b\n\x03\x04\x07\x01\x12\x04\xf5\x02\x08$\n\x0c\n\x04\x04\x07\x02\x00\x12\x04\xf6\x02\x02\x17\n\r\n\x05\x04\x07\x02\x00\x06\x12\x04\xf6\x02\x02\x0b\n\r\n\x05\x04\x07\x02\x00\x01\x12\x04\xf6\x02\x0c\x12\n\r\n\x05\x04\x07\x02\x00\x03\x12\x04\xf6\x02\x15\x16\n\x0c\n\x04\x04\x07\x02\x01\x12\x04\xf7\x02\x02\x10\n\r\n\x05\x04\x07\x02\x01\x06\x12\x04\xf7\x02\x02\x05\n\r\n\x05\x04\x07\x02\x01\x01\x12\x04\xf7\x02\x06\x0b\n\r\n\x05\x04\x07\x02\x01\x03\x12\x04\xf7\x02\x0e\x0f\n\x0c\n\x04\x04\x07\x02\x02\x12\x04\xf8\x02\x022\n\r\n\x05\x04\x07\x02\x02\x04\x12\x04\xf8\x02\x02\n\n\r\n\x05\x04\x07\x02\x02\x06\x12\x04\xf8\x02\x0b\x1c\n\r\n\x05\x04\x07\x02\x02\x01\x12\x04\xf8\x02\x1d-\n\r\n\x05\x04\x07\x02\x02\x03\x12\x04\xf8\x0201\n\x0c\n\x04\x04\x07\x02\x03\x12\x04\xf9\x02\x020\n\r\n\x05\x04\x07\x02\x03\x04\x12\x04\xf9\x02\x02\n\n\r\n\x05\x04\x07\x02\x03\x06\x12\x04\xf9\x02\x0b\x15\n\r\n\x05\x04\x07\x02\x03\x01\x12\x04\xf9\x02\x16+\n\r\n\x05\x04\x07\x02\x03\x03\x12\x04\xf9\x02./\n\x0c\n\x04\x04\x07\x02\x04\x12\x04\xfa\x02\x02\x1f\n\r\n\x05\x04\x07\x02\x04\x04\x12\x04\xfa\x02\x02\n\n\r\n\x05\x04\x07\x02\x04\x06\x12\x04\xfa\x02\x0b\x14\n\r\n\x05\x04\x07\x02\x04\x01\x12\x04\xfa\x02\x15\x1a\n\r\n\x05\x04\x07\x02\x04\x03\x12\x04\xfa\x02\x1d\x1e\n\x0c\n\x04\x04\x07\x02\x05\x12\x04\xfc\x02\x02A\n\r\n\x05\x04\x07\x02\x05\x06\x12\x04\xfc\x02\x02(\n\r\n\x05\x04\x07\x02\x05\x01\x12\x04\xfc\x02);\n\r\n\x05\x04\x07\x02\x05\x03\x12\x04\xfc\x02>@\n\x9b\x02\n\x04\x04\x07\x03\x00\x12\x06\x81\x03\x02\x93\x03\x03\x1a\x8a\x02 This message mirrors the `WindowFunction` message but removes the fields defining the partition,\n sorts, and bounds, since those must be consistent across the various functions in this rel.  Refer\n to the `WindowFunction` message for a description of these fields.\n\n\r\n\x05\x04\x07\x03\x00\x01\x12\x04\x81\x03\n\x1b\n\x0e\n\x06\x04\x07\x03\x00\x02\x00\x12\x04\x82\x03\x04\"\n\x0f\n\x07\x04\x07\x03\x00\x02\x00\x05\x12\x04\x82\x03\x04\n\n\x0f\n\x07\x04\x07\x03\x00\x02\x00\x01\x12\x04\x82\x03\x0b\x1d\n\x0f\n\x07\x04\x07\x03\x00\x02\x00\x03\x12\x04\x82\x03 !\n\x0e\n\x06\x04\x07\x03\x00\x02\x01\x12\x04\x84\x03\x04,\n\x0f\n\x07\x04\x07\x03\x00\x02\x01\x04\x12\x04\x84\x03\x04\x0c\n\x0f\n\x07\x04\x07\x03\x00\x02\x01\x06\x12\x04\x84\x03\r\x1d\n\x0f\n\x07\x04\x07\x03\x00\x02\x01\x01\x12\x04\x84\x03\x1e\'\n\x0f\n\x07\x04\x07\x03\x00\x02\x01\x03\x12\x04\x84\x03*+\n\x0e\n\x06\x04\x07\x03\x00\x02\x02\x12\x04\x86\x03\x04)\n\x0f\n\x07\x04\x07\x03\x00\x02\x02\x04\x12\x04\x86\x03\x04\x0c\n\x0f\n\x07\x04\x07\x03\x00\x02\x02\x06\x12\x04\x86\x03\r\x1b\n\x0f\n\x07\x04\x07\x03\x00\x02\x02\x01\x12\x04\x86\x03\x1c#\n\x0f\n\x07\x04\x07\x03\x00\x02\x02\x03\x12\x04\x86\x03&(\n\x0e\n\x06\x04\x07\x03\x00\x02\x03\x12\x04\x88\x03\x04\x19\n\x0f\n\x07\x04\x07\x03\x00\x02\x03\x06\x12\x04\x88\x03\x04\x08\n\x0f\n\x07\x04\x07\x03\x00\x02\x03\x01\x12\x04\x88\x03\t\x14\n\x0f\n\x07\x04\x07\x03\x00\x02\x03\x03\x12\x04\x88\x03\x17\x18\n\x0e\n\x06\x04\x07\x03\x00\x02\x04\x12\x04\x8a\x03\x04\x1f\n\x0f\n\x07\x04\x07\x03\x00\x02\x04\x06\x12\x04\x8a\x03\x04\x14\n\x0f\n\x07\x04\x07\x03\x00\x02\x04\x01\x12\x04\x8a\x03\x15\x1a\n\x0f\n\x07\x04\x07\x03\x00\x02\x04\x03\x12\x04\x8a\x03\x1d\x1e\n\x0e\n\x06\x04\x07\x03\x00\x02\x05\x12\x04\x8c\x03\x04<\n\x0f\n\x07\x04\x07\x03\x00\x02\x05\x06\x12\x04\x8c\x03\x04+\n\x0f\n\x07\x04\x07\x03\x00\x02\x05\x01\x12\x04\x8c\x03,6\n\x0f\n\x07\x04\x07\x03\x00\x02\x05\x03\x12\x04\x8c\x039;\n\x0e\n\x06\x04\x07\x03\x00\x02\x06\x12\x04\x8e\x03\x044\n\x0f\n\x07\x04\x07\x03\x00\x02\x06\x06\x12\x04\x8e\x03\x04#\n\x0f\n\x07\x04\x07\x03\x00\x02\x06\x01\x12\x04\x8e\x03$/\n\x0f\n\x07\x04\x07\x03\x00\x02\x06\x03\x12\x04\x8e\x0323\n\x0e\n\x06\x04\x07\x03\x00\x02\x07\x12\x04\x90\x03\x044\n\x0f\n\x07\x04\x07\x03\x00\x02\x07\x06\x12\x04\x90\x03\x04#\n\x0f\n\x07\x04\x07\x03\x00\x02\x07\x01\x12\x04\x90\x03$/\n\x0f\n\x07\x04\x07\x03\x00\x02\x07\x03\x12\x04\x90\x0323\n\x0e\n\x06\x04\x07\x03\x00\x02\x08\x12\x04\x92\x03\x04:\n\x0f\n\x07\x04\x07\x03\x00\x02\x08\x06\x12\x04\x92\x03\x04(\n\x0f\n\x07\x04\x07\x03\x00\x02\x08\x01\x12\x04\x92\x03)4\n\x0f\n\x07\x04\x07\x03\x00\x02\x08\x03\x12\x04\x92\x0379\n\x8a\x01\n\x02\x04\x08\x12\x06\x97\x03\x00\x9c\x03\x01\x1a| The ORDERY BY (or sorting) relational operator. Beside describing a base relation, it includes a list of fields to sort on\n\n\x0b\n\x03\x04\x08\x01\x12\x04\x97\x03\x08\x0f\n\x0c\n\x04\x04\x08\x02\x00\x12\x04\x98\x03\x02\x17\n\r\n\x05\x04\x08\x02\x00\x06\x12\x04\x98\x03\x02\x0b\n\r\n\x05\x04\x08\x02\x00\x01\x12\x04\x98\x03\x0c\x12\n\r\n\x05\x04\x08\x02\x00\x03\x12\x04\x98\x03\x15\x16\n\x0c\n\x04\x04\x08\x02\x01\x12\x04\x99\x03\x02\x10\n\r\n\x05\x04\x08\x02\x01\x06\x12\x04\x99\x03\x02\x05\n\r\n\x05\x04\x08\x02\x01\x01\x12\x04\x99\x03\x06\x0b\n\r\n\x05\x04\x08\x02\x01\x03\x12\x04\x99\x03\x0e\x0f\n\x0c\n\x04\x04\x08\x02\x02\x12\x04\x9a\x03\x02\x1f\n\r\n\x05\x04\x08\x02\x02\x04\x12\x04\x9a\x03\x02\n\n\r\n\x05\x04\x08\x02\x02\x06\x12\x04\x9a\x03\x0b\x14\n\r\n\x05\x04\x08\x02\x02\x01\x12\x04\x9a\x03\x15\x1a\n\r\n\x05\x04\x08\x02\x02\x03\x12\x04\x9a\x03\x1d\x1e\n\x0c\n\x04\x04\x08\x02\x03\x12\x04\x9b\x03\x02A\n\r\n\x05\x04\x08\x02\x03\x06\x12\x04\x9b\x03\x02(\n\r\n\x05\x04\x08\x02\x03\x01\x12\x04\x9b\x03);\n\r\n\x05\x04\x08\x02\x03\x03\x12\x04\x9b\x03>@\n`\n\x02\x04\t\x12\x06\x9f\x03\x00\xa4\x03\x01\x1aR The relational operator capturing simple FILTERs (as in the WHERE clause of SQL)\n\n\x0b\n\x03\x04\t\x01\x12\x04\x9f\x03\x08\x11\n\x0c\n\x04\x04\t\x02\x00\x12\x04\xa0\x03\x02\x17\n\r\n\x05\x04\t\x02\x00\x06\x12\x04\xa0\x03\x02\x0b\n\r\n\x05\x04\t\x02\x00\x01\x12\x04\xa0\x03\x0c\x12\n\r\n\x05\x04\t\x02\x00\x03\x12\x04\xa0\x03\x15\x16\n\x0c\n\x04\x04\t\x02\x01\x12\x04\xa1\x03\x02\x10\n\r\n\x05\x04\t\x02\x01\x06\x12\x04\xa1\x03\x02\x05\n\r\n\x05\x04\t\x02\x01\x01\x12\x04\xa1\x03\x06\x0b\n\r\n\x05\x04\t\x02\x01\x03\x12\x04\xa1\x03\x0e\x0f\n\x0c\n\x04\x04\t\x02\x02\x12\x04\xa2\x03\x02\x1b\n\r\n\x05\x04\t\x02\x02\x06\x12\x04\xa2\x03\x02\x0c\n\r\n\x05\x04\t\x02\x02\x01\x12\x04\xa2\x03\r\x16\n\r\n\x05\x04\t\x02\x02\x03\x12\x04\xa2\x03\x19\x1a\n\x0c\n\x04\x04\t\x02\x03\x12\x04\xa3\x03\x02A\n\r\n\x05\x04\t\x02\x03\x06\x12\x04\xa3\x03\x02(\n\r\n\x05\x04\t\x02\x03\x01\x12\x04\xa3\x03);\n\r\n\x05\x04\t\x02\x03\x03\x12\x04\xa3\x03>@\nG\n\x02\x04\n\x12\x06\xa7\x03\x00\xba\x03\x01\x1a9 The relational set operators (intersection/union/etc..)\n\n\x0b\n\x03\x04\n\x01\x12\x04\xa7\x03\x08\x0e\n\x0c\n\x04\x04\n\x02\x00\x12\x04\xa8\x03\x02\x17\n\r\n\x05\x04\n\x02\x00\x06\x12\x04\xa8\x03\x02\x0b\n\r\n\x05\x04\n\x02\x00\x01\x12\x04\xa8\x03\x0c\x12\n\r\n\x05\x04\n\x02\x00\x03\x12\x04\xa8\x03\x15\x16\n~\n\x04\x04\n\x02\x01\x12\x04\xab\x03\x02\x1a\x1ap The first input is the primary input, the remaining are secondary\n inputs.  There must be at least two inputs.\n\n\r\n\x05\x04\n\x02\x01\x04\x12\x04\xab\x03\x02\n\n\r\n\x05\x04\n\x02\x01\x06\x12\x04\xab\x03\x0b\x0e\n\r\n\x05\x04\n\x02\x01\x01\x12\x04\xab\x03\x0f\x15\n\r\n\x05\x04\n\x02\x01\x03\x12\x04\xab\x03\x18\x19\n\x0c\n\x04\x04\n\x02\x02\x12\x04\xac\x03\x02\x0f\n\r\n\x05\x04\n\x02\x02\x06\x12\x04\xac\x03\x02\x07\n\r\n\x05\x04\n\x02\x02\x01\x12\x04\xac\x03\x08\n\n\r\n\x05\x04\n\x02\x02\x03\x12\x04\xac\x03\r\x0e\n\x0c\n\x04\x04\n\x02\x03\x12\x04\xad\x03\x02A\n\r\n\x05\x04\n\x02\x03\x06\x12\x04\xad\x03\x02(\n\r\n\x05\x04\n\x02\x03\x01\x12\x04\xad\x03);\n\r\n\x05\x04\n\x02\x03\x03\x12\x04\xad\x03>@\n\x0e\n\x04\x04\n\x04\x00\x12\x06\xaf\x03\x02\xb9\x03\x03\n\r\n\x05\x04\n\x04\x00\x01\x12\x04\xaf\x03\x07\x0c\n\x0e\n\x06\x04\n\x04\x00\x02\x00\x12\x04\xb0\x03\x04\x1b\n\x0f\n\x07\x04\n\x04\x00\x02\x00\x01\x12\x04\xb0\x03\x04\x16\n\x0f\n\x07\x04\n\x04\x00\x02\x00\x02\x12\x04\xb0\x03\x19\x1a\n\x0e\n\x06\x04\n\x04\x00\x02\x01\x12\x04\xb1\x03\x04\x1d\n\x0f\n\x07\x04\n\x04\x00\x02\x01\x01\x12\x04\xb1\x03\x04\x18\n\x0f\n\x07\x04\n\x04\x00\x02\x01\x02\x12\x04\xb1\x03\x1b\x1c\n\x0e\n\x06\x04\n\x04\x00\x02\x02\x12\x04\xb2\x03\x04!\n\x0f\n\x07\x04\n\x04\x00\x02\x02\x01\x12\x04\xb2\x03\x04\x1c\n\x0f\n\x07\x04\n\x04\x00\x02\x02\x02\x12\x04\xb2\x03\x1f \n\x0e\n\x06\x04\n\x04\x00\x02\x03\x12\x04\xb3\x03\x04\x1e\n\x0f\n\x07\x04\n\x04\x00\x02\x03\x01\x12\x04\xb3\x03\x04\x19\n\x0f\n\x07\x04\n\x04\x00\x02\x03\x02\x12\x04\xb3\x03\x1c\x1d\n\x0e\n\x06\x04\n\x04\x00\x02\x04\x12\x04\xb4\x03\x04$\n\x0f\n\x07\x04\n\x04\x00\x02\x04\x01\x12\x04\xb4\x03\x04\x1f\n\x0f\n\x07\x04\n\x04\x00\x02\x04\x02\x12\x04\xb4\x03\"#\n\x0e\n\x06\x04\n\x04\x00\x02\x05\x12\x04\xb5\x03\x04%\n\x0f\n\x07\x04\n\x04\x00\x02\x05\x01\x12\x04\xb5\x03\x04 \n\x0f\n\x07\x04\n\x04\x00\x02\x05\x02\x12\x04\xb5\x03#$\n\x0e\n\x06\x04\n\x04\x00\x02\x06\x12\x04\xb6\x03\x04)\n\x0f\n\x07\x04\n\x04\x00\x02\x06\x01\x12\x04\xb6\x03\x04$\n\x0f\n\x07\x04\n\x04\x00\x02\x06\x02\x12\x04\xb6\x03\'(\n\x0e\n\x06\x04\n\x04\x00\x02\x07\x12\x04\xb7\x03\x04\x1e\n\x0f\n\x07\x04\n\x04\x00\x02\x07\x01\x12\x04\xb7\x03\x04\x19\n\x0f\n\x07\x04\n\x04\x00\x02\x07\x02\x12\x04\xb7\x03\x1c\x1d\n\x0e\n\x06\x04\n\x04\x00\x02\x08\x12\x04\xb8\x03\x04\x19\n\x0f\n\x07\x04\n\x04\x00\x02\x08\x01\x12\x04\xb8\x03\x04\x14\n\x0f\n\x07\x04\n\x04\x00\x02\x08\x02\x12\x04\xb8\x03\x17\x18\n=\n\x02\x04\x0b\x12\x06\xbd\x03\x00\xc1\x03\x01\x1a/ Stub to support extension with a single input\n\n\x0b\n\x03\x04\x0b\x01\x12\x04\xbd\x03\x08\x1a\n\x0c\n\x04\x04\x0b\x02\x00\x12\x04\xbe\x03\x02\x17\n\r\n\x05\x04\x0b\x02\x00\x06\x12\x04\xbe\x03\x02\x0b\n\r\n\x05\x04\x0b\x02\x00\x01\x12\x04\xbe\x03\x0c\x12\n\r\n\x05\x04\x0b\x02\x00\x03\x12\x04\xbe\x03\x15\x16\n\x0c\n\x04\x04\x0b\x02\x01\x12\x04\xbf\x03\x02\x10\n\r\n\x05\x04\x0b\x02\x01\x06\x12\x04\xbf\x03\x02\x05\n\r\n\x05\x04\x0b\x02\x01\x01\x12\x04\xbf\x03\x06\x0b\n\r\n\x05\x04\x0b\x02\x01\x03\x12\x04\xbf\x03\x0e\x0f\n\x0c\n\x04\x04\x0b\x02\x02\x12\x04\xc0\x03\x02!\n\r\n\x05\x04\x0b\x02\x02\x06\x12\x04\xc0\x03\x02\x15\n\r\n\x05\x04\x0b\x02\x02\x01\x12\x04\xc0\x03\x16\x1c\n\r\n\x05\x04\x0b\x02\x02\x03\x12\x04\xc0\x03\x1f \n<\n\x02\x04\x0c\x12\x06\xc4\x03\x00\xc7\x03\x01\x1a. Stub to support extension with a zero inputs\n\n\x0b\n\x03\x04\x0c\x01\x12\x04\xc4\x03\x08\x18\n\x0c\n\x04\x04\x0c\x02\x00\x12\x04\xc5\x03\x02\x17\n\r\n\x05\x04\x0c\x02\x00\x06\x12\x04\xc5\x03\x02\x0b\n\r\n\x05\x04\x0c\x02\x00\x01\x12\x04\xc5\x03\x0c\x12\n\r\n\x05\x04\x0c\x02\x00\x03\x12\x04\xc5\x03\x15\x16\n\x0c\n\x04\x04\x0c\x02\x01\x12\x04\xc6\x03\x02!\n\r\n\x05\x04\x0c\x02\x01\x06\x12\x04\xc6\x03\x02\x15\n\r\n\x05\x04\x0c\x02\x01\x01\x12\x04\xc6\x03\x16\x1c\n\r\n\x05\x04\x0c\x02\x01\x03\x12\x04\xc6\x03\x1f \n>\n\x02\x04\r\x12\x06\xca\x03\x00\xce\x03\x01\x1a0 Stub to support extension with multiple inputs\n\n\x0b\n\x03\x04\r\x01\x12\x04\xca\x03\x08\x19\n\x0c\n\x04\x04\r\x02\x00\x12\x04\xcb\x03\x02\x17\n\r\n\x05\x04\r\x02\x00\x06\x12\x04\xcb\x03\x02\x0b\n\r\n\x05\x04\r\x02\x00\x01\x12\x04\xcb\x03\x0c\x12\n\r\n\x05\x04\r\x02\x00\x03\x12\x04\xcb\x03\x15\x16\n\x0c\n\x04\x04\r\x02\x01\x12\x04\xcc\x03\x02\x1a\n\r\n\x05\x04\r\x02\x01\x04\x12\x04\xcc\x03\x02\n\n\r\n\x05\x04\r\x02\x01\x06\x12\x04\xcc\x03\x0b\x0e\n\r\n\x05\x04\r\x02\x01\x01\x12\x04\xcc\x03\x0f\x15\n\r\n\x05\x04\r\x02\x01\x03\x12\x04\xcc\x03\x18\x19\n\x0c\n\x04\x04\r\x02\x02\x12\x04\xcd\x03\x02!\n\r\n\x05\x04\r\x02\x02\x06\x12\x04\xcd\x03\x02\x15\n\r\n\x05\x04\r\x02\x02\x01\x12\x04\xcd\x03\x16\x1c\n\r\n\x05\x04\r\x02\x02\x03\x12\x04\xcd\x03\x1f \n*\n\x02\x04\x0e\x12\x06\xd1\x03\x00\x86\x04\x01\x1a\x1c A redistribution operation\n\n\x0b\n\x03\x04\x0e\x01\x12\x04\xd1\x03\x08\x13\n\x0c\n\x04\x04\x0e\x02\x00\x12\x04\xd2\x03\x02\x17\n\r\n\x05\x04\x0e\x02\x00\x06\x12\x04\xd2\x03\x02\x0b\n\r\n\x05\x04\x0e\x02\x00\x01\x12\x04\xd2\x03\x0c\x12\n\r\n\x05\x04\x0e\x02\x00\x03\x12\x04\xd2\x03\x15\x16\n\x0c\n\x04\x04\x0e\x02\x01\x12\x04\xd3\x03\x02\x10\n\r\n\x05\x04\x0e\x02\x01\x06\x12\x04\xd3\x03\x02\x05\n\r\n\x05\x04\x0e\x02\x01\x01\x12\x04\xd3\x03\x06\x0b\n\r\n\x05\x04\x0e\x02\x01\x03\x12\x04\xd3\x03\x0e\x0f\n\x0c\n\x04\x04\x0e\x02\x02\x12\x04\xd4\x03\x02\x1c\n\r\n\x05\x04\x0e\x02\x02\x05\x12\x04\xd4\x03\x02\x07\n\r\n\x05\x04\x0e\x02\x02\x01\x12\x04\xd4\x03\x08\x17\n\r\n\x05\x04\x0e\x02\x02\x03\x12\x04\xd4\x03\x1a\x1b\n\x0c\n\x04\x04\x0e\x02\x03\x12\x04\xd5\x03\x02&\n\r\n\x05\x04\x0e\x02\x03\x04\x12\x04\xd5\x03\x02\n\n\r\n\x05\x04\x0e\x02\x03\x06\x12\x04\xd5\x03\x0b\x19\n\r\n\x05\x04\x0e\x02\x03\x01\x12\x04\xd5\x03\x1a!\n\r\n\x05\x04\x0e\x02\x03\x03\x12\x04\xd5\x03$%\n+\n\x04\x04\x0e\x08\x00\x12\x06\xd8\x03\x02\xde\x03\x03\x1a\x1b the type of exchange used\n\n\r\n\x05\x04\x0e\x08\x00\x01\x12\x04\xd8\x03\x08\x15\n\x0c\n\x04\x04\x0e\x02\x04\x12\x04\xd9\x03\x04(\n\r\n\x05\x04\x0e\x02\x04\x06\x12\x04\xd9\x03\x04\x11\n\r\n\x05\x04\x0e\x02\x04\x01\x12\x04\xd9\x03\x12#\n\r\n\x05\x04\x0e\x02\x04\x03\x12\x04\xd9\x03&\'\n\x0c\n\x04\x04\x0e\x02\x05\x12\x04\xda\x03\x04-\n\r\n\x05\x04\x0e\x02\x05\x06\x12\x04\xda\x03\x04\x1a\n\r\n\x05\x04\x0e\x02\x05\x01\x12\x04\xda\x03\x1b(\n\r\n\x05\x04\x0e\x02\x05\x03\x12\x04\xda\x03+,\n\x0c\n\x04\x04\x0e\x02\x06\x12\x04\xdb\x03\x04+\n\r\n\x05\x04\x0e\x02\x06\x06\x12\x04\xdb\x03\x04\x19\n\r\n\x05\x04\x0e\x02\x06\x01\x12\x04\xdb\x03\x1a&\n\r\n\x05\x04\x0e\x02\x06\x03\x12\x04\xdb\x03)*\n\x0c\n\x04\x04\x0e\x02\x07\x12\x04\xdc\x03\x04\x1f\n\r\n\x05\x04\x0e\x02\x07\x06\x12\x04\xdc\x03\x04\x0e\n\r\n\x05\x04\x0e\x02\x07\x01\x12\x04\xdc\x03\x0f\x1a\n\r\n\x05\x04\x0e\x02\x07\x03\x12\x04\xdc\x03\x1d\x1e\n\x0c\n\x04\x04\x0e\x02\x08\x12\x04\xdd\x03\x04\x1c\n\r\n\x05\x04\x0e\x02\x08\x06\x12\x04\xdd\x03\x04\r\n\r\n\x05\x04\x0e\x02\x08\x01\x12\x04\xdd\x03\x0e\x17\n\r\n\x05\x04\x0e\x02\x08\x03\x12\x04\xdd\x03\x1a\x1b\n\x0c\n\x04\x04\x0e\x02\t\x12\x04\xe0\x03\x02A\n\r\n\x05\x04\x0e\x02\t\x06\x12\x04\xe0\x03\x02(\n\r\n\x05\x04\x0e\x02\t\x01\x12\x04\xe0\x03);\n\r\n\x05\x04\x0e\x02\t\x03\x12\x04\xe0\x03>@\n\x0e\n\x04\x04\x0e\x03\x00\x12\x06\xe2\x03\x02\xe4\x03\x03\n\r\n\x05\x04\x0e\x03\x00\x01\x12\x04\xe2\x03\n\x17\n\x0e\n\x06\x04\x0e\x03\x00\x02\x00\x12\x04\xe3\x03\x042\n\x0f\n\x07\x04\x0e\x03\x00\x02\x00\x04\x12\x04\xe3\x03\x04\x0c\n\x0f\n\x07\x04\x0e\x03\x00\x02\x00\x06\x12\x04\xe3\x03\r&\n\x0f\n\x07\x04\x0e\x03\x00\x02\x00\x01\x12\x04\xe3\x03\'-\n\x0f\n\x07\x04\x0e\x03\x00\x02\x00\x03\x12\x04\xe3\x0301\n<\n\x04\x04\x0e\x03\x01\x12\x06\xe7\x03\x02\xe9\x03\x03\x1a, Returns a single bucket number per record.\n\n\r\n\x05\x04\x0e\x03\x01\x01\x12\x04\xe7\x03\n \n\x0e\n\x06\x04\x0e\x03\x01\x02\x00\x12\x04\xe8\x03\x04\x1e\n\x0f\n\x07\x04\x0e\x03\x01\x02\x00\x06\x12\x04\xe8\x03\x04\x0e\n\x0f\n\x07\x04\x0e\x03\x01\x02\x00\x01\x12\x04\xe8\x03\x0f\x19\n\x0f\n\x07\x04\x0e\x03\x01\x02\x00\x03\x12\x04\xe8\x03\x1c\x1d\n@\n\x04\x04\x0e\x03\x02\x12\x06\xec\x03\x02\xef\x03\x03\x1a0 Returns zero or more bucket numbers per record\n\n\r\n\x05\x04\x0e\x03\x02\x01\x12\x04\xec\x03\n\x1f\n\x0e\n\x06\x04\x0e\x03\x02\x02\x00\x12\x04\xed\x03\x04\x1e\n\x0f\n\x07\x04\x0e\x03\x02\x02\x00\x06\x12\x04\xed\x03\x04\x0e\n\x0f\n\x07\x04\x0e\x03\x02\x02\x00\x01\x12\x04\xed\x03\x0f\x19\n\x0f\n\x07\x04\x0e\x03\x02\x02\x00\x03\x12\x04\xed\x03\x1c\x1d\n\x0e\n\x06\x04\x0e\x03\x02\x02\x01\x12\x04\xee\x03\x04\"\n\x0f\n\x07\x04\x0e\x03\x02\x02\x01\x05\x12\x04\xee\x03\x04\x08\n\x0f\n\x07\x04\x0e\x03\x02\x02\x01\x01\x12\x04\xee\x03\t\x1d\n\x0f\n\x07\x04\x0e\x03\x02\x02\x01\x03\x12\x04\xee\x03 !\n.\n\x04\x04\x0e\x03\x03\x12\x04\xf2\x03\x02\x16\x1a  Send all data to every target.\n\n\r\n\x05\x04\x0e\x03\x03\x01\x12\x04\xf2\x03\n\x13\n%\n\x04\x04\x0e\x03\x04\x12\x06\xf5\x03\x02\xf9\x03\x03\x1a\x15 Route approximately\n\n\r\n\x05\x04\x0e\x03\x04\x01\x12\x04\xf5\x03\n\x14\n~\n\x06\x04\x0e\x03\x04\x02\x00\x12\x04\xf8\x03\x04\x13\x1an whether the round robin behavior is required to exact (per record) or\n approximate. Defaults to approximate.\n\n\x0f\n\x07\x04\x0e\x03\x04\x02\x00\x05\x12\x04\xf8\x03\x04\x08\n\x0f\n\x07\x04\x0e\x03\x04\x02\x00\x01\x12\x04\xf8\x03\t\x0e\n\x0f\n\x07\x04\x0e\x03\x04\x02\x00\x03\x12\x04\xf8\x03\x11\x12\nJ\n\x04\x04\x0e\x03\x05\x12\x06\xfc\x03\x02\x85\x04\x03\x1a: The message to describe partition targets of an exchange\n\n\r\n\x05\x04\x0e\x03\x05\x01\x12\x04\xfc\x03\n\x18\nl\n\x06\x04\x0e\x03\x05\x02\x00\x12\x04\xff\x03\x04$\x1a\\ Describes the partition id(s) to send. If this is empty, all data is sent\n to this target.\n\n\x0f\n\x07\x04\x0e\x03\x05\x02\x00\x04\x12\x04\xff\x03\x04\x0c\n\x0f\n\x07\x04\x0e\x03\x05\x02\x00\x05\x12\x04\xff\x03\r\x12\n\x0f\n\x07\x04\x0e\x03\x05\x02\x00\x01\x12\x04\xff\x03\x13\x1f\n\x0f\n\x07\x04\x0e\x03\x05\x02\x00\x03\x12\x04\xff\x03\"#\n\x10\n\x06\x04\x0e\x03\x05\x08\x00\x12\x06\x81\x04\x04\x84\x04\x05\n\x0f\n\x07\x04\x0e\x03\x05\x08\x00\x01\x12\x04\x81\x04\n\x15\n\x0e\n\x06\x04\x0e\x03\x05\x02\x01\x12\x04\x82\x04\x06\x15\n\x0f\n\x07\x04\x0e\x03\x05\x02\x01\x05\x12\x04\x82\x04\x06\x0c\n\x0f\n\x07\x04\x0e\x03\x05\x02\x01\x01\x12\x04\x82\x04\r\x10\n\x0f\n\x07\x04\x0e\x03\x05\x02\x01\x03\x12\x04\x82\x04\x13\x14\n\x0e\n\x06\x04\x0e\x03\x05\x02\x02\x12\x04\x83\x04\x06\'\n\x0f\n\x07\x04\x0e\x03\x05\x02\x02\x06\x12\x04\x83\x04\x06\x19\n\x0f\n\x07\x04\x0e\x03\x05\x02\x02\x01\x12\x04\x83\x04\x1a\"\n\x0f\n\x07\x04\x0e\x03\x05\x02\x02\x03\x12\x04\x83\x04%&\n\xc3\x02\n\x02\x04\x0f\x12\x06\x8d\x04\x00\xa8\x04\x01\x1a\xb4\x02 Duplicates records by emitting one or more rows per input row.  The number of rows emitted per\n input row is the same for all input rows.\n\n In addition to a field being emitted per input field an extra int64 field is emitted which\n contains a zero-indexed ordinal corresponding to the duplicate definition.\n\n\x0b\n\x03\x04\x0f\x01\x12\x04\x8d\x04\x08\x11\n\x0c\n\x04\x04\x0f\x02\x00\x12\x04\x8e\x04\x02\x17\n\r\n\x05\x04\x0f\x02\x00\x06\x12\x04\x8e\x04\x02\x0b\n\r\n\x05\x04\x0f\x02\x00\x01\x12\x04\x8e\x04\x0c\x12\n\r\n\x05\x04\x0f\x02\x00\x03\x12\x04\x8e\x04\x15\x16\n\x0c\n\x04\x04\x0f\x02\x01\x12\x04\x8f\x04\x02\x10\n\r\n\x05\x04\x0f\x02\x01\x06\x12\x04\x8f\x04\x02\x05\n\r\n\x05\x04\x0f\x02\x01\x01\x12\x04\x8f\x04\x06\x0b\n\r\n\x05\x04\x0f\x02\x01\x03\x12\x04\x8f\x04\x0e\x0f\n\xda\x01\n\x04\x04\x0f\x02\x02\x12\x04\x93\x04\x02\"\x1a\xcb\x01 There should be one definition here for each input field.  Any fields beyond the provided\n definitions will be emitted as is (as if a consistent_field record with an identity\n expression was provided).\n\n\r\n\x05\x04\x0f\x02\x02\x04\x12\x04\x93\x04\x02\n\n\r\n\x05\x04\x0f\x02\x02\x06\x12\x04\x93\x04\x0b\x16\n\r\n\x05\x04\x0f\x02\x02\x01\x12\x04\x93\x04\x17\x1d\n\r\n\x05\x04\x0f\x02\x02\x03\x12\x04\x93\x04 !\n\x0e\n\x04\x04\x0f\x03\x00\x12\x06\x95\x04\x02\xa1\x04\x03\n\r\n\x05\x04\x0f\x03\x00\x01\x12\x04\x95\x04\n\x15\n\x10\n\x06\x04\x0f\x03\x00\x08\x00\x12\x06\x96\x04\x04\xa0\x04\x05\n\x0f\n\x07\x04\x0f\x03\x00\x08\x00\x01\x12\x04\x96\x04\n\x14\n\xdd\x02\n\x06\x04\x0f\x03\x00\x02\x00\x12\x04\x9b\x04\x06)\x1a\xcc\x02 Field that switches output based on which duplicate is being output.  Every\n switching_field should contain the same number of duplicates (so that the output rows\n are of consistent size and type).  If there are not enough switching field definitions\n to match the other field definitions NULL will be returned to fill the extras.\n\n\x0f\n\x07\x04\x0f\x03\x00\x02\x00\x06\x12\x04\x9b\x04\x06\x14\n\x0f\n\x07\x04\x0f\x03\x00\x02\x00\x01\x12\x04\x9b\x04\x15$\n\x0f\n\x07\x04\x0f\x03\x00\x02\x00\x03\x12\x04\x9b\x04\'(\n\xb0\x01\n\x06\x04\x0f\x03\x00\x02\x01\x12\x04\x9f\x04\x06&\x1a\x9f\x01 Field that outputs the same value no matter which duplicate is being output.  Equivalent\n to a switching_field that lists the same expression multiple times.\n\n\x0f\n\x07\x04\x0f\x03\x00\x02\x01\x06\x12\x04\x9f\x04\x06\x10\n\x0f\n\x07\x04\x0f\x03\x00\x02\x01\x01\x12\x04\x9f\x04\x11!\n\x0f\n\x07\x04\x0f\x03\x00\x02\x01\x03\x12\x04\x9f\x04$%\n\x0e\n\x04\x04\x0f\x03\x01\x12\x06\xa3\x04\x02\xa7\x04\x03\n\r\n\x05\x04\x0f\x03\x01\x01\x12\x04\xa3\x04\n\x18\n\xcc\x01\n\x06\x04\x0f\x03\x01\x02\x00\x12\x04\xa6\x04\x04\'\x1a\xbb\x01 All duplicates must return the same type class but may differ in nullability.  The effective\n type of the output field will be nullable if any of the duplicate expressions are nullable.\n\n\x0f\n\x07\x04\x0f\x03\x01\x02\x00\x04\x12\x04\xa6\x04\x04\x0c\n\x0f\n\x07\x04\x0f\x03\x01\x02\x00\x06\x12\x04\xa6\x04\r\x17\n\x0f\n\x07\x04\x0f\x03\x01\x02\x00\x01\x12\x04\xa6\x04\x18\"\n\x0f\n\x07\x04\x0f\x03\x01\x02\x00\x03\x12\x04\xa6\x04%&\nb\n\x02\x04\x10\x12\x06\xad\x04\x00\xb2\x04\x01\x1aT A relation with output field names.\n\n This is for use at the root of a `Rel` tree.\n\n\x0b\n\x03\x04\x10\x01\x12\x04\xad\x04\x08\x0f\n\x1a\n\x04\x04\x10\x02\x00\x12\x04\xaf\x04\x02\x10\x1a\x0c A relation\n\n\r\n\x05\x04\x10\x02\x00\x06\x12\x04\xaf\x04\x02\x05\n\r\n\x05\x04\x10\x02\x00\x01\x12\x04\xaf\x04\x06\x0b\n\r\n\x05\x04\x10\x02\x00\x03\x12\x04\xaf\x04\x0e\x0f\n0\n\x04\x04\x10\x02\x01\x12\x04\xb1\x04\x02\x1c\x1a\" Field names in depth-first order\n\n\r\n\x05\x04\x10\x02\x01\x04\x12\x04\xb1\x04\x02\n\n\r\n\x05\x04\x10\x02\x01\x05\x12\x04\xb1\x04\x0b\x11\n\r\n\x05\x04\x10\x02\x01\x01\x12\x04\xb1\x04\x12\x17\n\r\n\x05\x04\x10\x02\x01\x03\x12\x04\xb1\x04\x1a\x1b\n6\n\x02\x04\x11\x12\x06\xb5\x04\x00\xcf\x04\x01\x1a( A relation (used internally in a plan)\n\n\x0b\n\x03\x04\x11\x01\x12\x04\xb5\x04\x08\x0b\n\x0e\n\x04\x04\x11\x08\x00\x12\x06\xb6\x04\x02\xce\x04\x03\n\r\n\x05\x04\x11\x08\x00\x01\x12\x04\xb6\x04\x08\x10\n\x0c\n\x04\x04\x11\x02\x00\x12\x04\xb7\x04\x04\x15\n\r\n\x05\x04\x11\x02\x00\x06\x12\x04\xb7\x04\x04\x0b\n\r\n\x05\x04\x11\x02\x00\x01\x12\x04\xb7\x04\x0c\x10\n\r\n\x05\x04\x11\x02\x00\x03\x12\x04\xb7\x04\x13\x14\n\x0c\n\x04\x04\x11\x02\x01\x12\x04\xb8\x04\x04\x19\n\r\n\x05\x04\x11\x02\x01\x06\x12\x04\xb8\x04\x04\r\n\r\n\x05\x04\x11\x02\x01\x01\x12\x04\xb8\x04\x0e\x14\n\r\n\x05\x04\x11\x02\x01\x03\x12\x04\xb8\x04\x17\x18\n\x0c\n\x04\x04\x11\x02\x02\x12\x04\xb9\x04\x04\x17\n\r\n\x05\x04\x11\x02\x02\x06\x12\x04\xb9\x04\x04\x0c\n\r\n\x05\x04\x11\x02\x02\x01\x12\x04\xb9\x04\r\x12\n\r\n\x05\x04\x11\x02\x02\x03\x12\x04\xb9\x04\x15\x16\n\x0c\n\x04\x04\x11\x02\x03\x12\x04\xba\x04\x04\x1f\n\r\n\x05\x04\x11\x02\x03\x06\x12\x04\xba\x04\x04\x10\n\r\n\x05\x04\x11\x02\x03\x01\x12\x04\xba\x04\x11\x1a\n\r\n\x05\x04\x11\x02\x03\x03\x12\x04\xba\x04\x1d\x1e\n\x0c\n\x04\x04\x11\x02\x04\x12\x04\xbb\x04\x04\x15\n\r\n\x05\x04\x11\x02\x04\x06\x12\x04\xbb\x04\x04\x0b\n\r\n\x05\x04\x11\x02\x04\x01\x12\x04\xbb\x04\x0c\x10\n\r\n\x05\x04\x11\x02\x04\x03\x12\x04\xbb\x04\x13\x14\n\x0c\n\x04\x04\x11\x02\x05\x12\x04\xbc\x04\x04\x15\n\r\n\x05\x04\x11\x02\x05\x06\x12\x04\xbc\x04\x04\x0b\n\r\n\x05\x04\x11\x02\x05\x01\x12\x04\xbc\x04\x0c\x10\n\r\n\x05\x04\x11\x02\x05\x03\x12\x04\xbc\x04\x13\x14\n\x0c\n\x04\x04\x11\x02\x06\x12\x04\xbd\x04\x04\x1b\n\r\n\x05\x04\x11\x02\x06\x06\x12\x04\xbd\x04\x04\x0e\n\r\n\x05\x04\x11\x02\x06\x01\x12\x04\xbd\x04\x0f\x16\n\r\n\x05\x04\x11\x02\x06\x03\x12\x04\xbd\x04\x19\x1a\n\x0c\n\x04\x04\x11\x02\x07\x12\x04\xbe\x04\x04\x13\n\r\n\x05\x04\x11\x02\x07\x06\x12\x04\xbe\x04\x04\n\n\r\n\x05\x04\x11\x02\x07\x01\x12\x04\xbe\x04\x0b\x0e\n\r\n\x05\x04\x11\x02\x07\x03\x12\x04\xbe\x04\x11\x12\n\x0c\n\x04\x04\x11\x02\x08\x12\x04\xbf\x04\x04,\n\r\n\x05\x04\x11\x02\x08\x06\x12\x04\xbf\x04\x04\x16\n\r\n\x05\x04\x11\x02\x08\x01\x12\x04\xbf\x04\x17\'\n\r\n\x05\x04\x11\x02\x08\x03\x12\x04\xbf\x04*+\n\x0c\n\x04\x04\x11\x02\t\x12\x04\xc0\x04\x04+\n\r\n\x05\x04\x11\x02\t\x06\x12\x04\xc0\x04\x04\x15\n\r\n\x05\x04\x11\x02\t\x01\x12\x04\xc0\x04\x16%\n\r\n\x05\x04\x11\x02\t\x03\x12\x04\xc0\x04(*\n\x0c\n\x04\x04\x11\x02\n\x12\x04\xc1\x04\x04)\n\r\n\x05\x04\x11\x02\n\x06\x12\x04\xc1\x04\x04\x14\n\r\n\x05\x04\x11\x02\n\x01\x12\x04\xc1\x04\x15#\n\r\n\x05\x04\x11\x02\n\x03\x12\x04\xc1\x04&(\n\x0c\n\x04\x04\x11\x02\x0b\x12\x04\xc2\x04\x04\x18\n\r\n\x05\x04\x11\x02\x0b\x06\x12\x04\xc2\x04\x04\x0c\n\r\n\x05\x04\x11\x02\x0b\x01\x12\x04\xc2\x04\r\x12\n\r\n\x05\x04\x11\x02\x0b\x03\x12\x04\xc2\x04\x15\x17\n\x0c\n\x04\x04\x11\x02\x0c\x12\x04\xc3\x04\x04 \n\r\n\x05\x04\x11\x02\x0c\x06\x12\x04\xc3\x04\x04\x10\n\r\n\x05\x04\x11\x02\x0c\x01\x12\x04\xc3\x04\x11\x1a\n\r\n\x05\x04\x11\x02\x0c\x03\x12\x04\xc3\x04\x1d\x1f\n\x0c\n\x04\x04\x11\x02\r\x12\x04\xc4\x04\x04\x18\n\r\n\x05\x04\x11\x02\r\x06\x12\x04\xc4\x04\x04\x0c\n\r\n\x05\x04\x11\x02\r\x01\x12\x04\xc4\x04\r\x12\n\r\n\x05\x04\x11\x02\r\x03\x12\x04\xc4\x04\x15\x17\n\x0c\n\x04\x04\x11\x02\x0e\x12\x04\xc5\x04\x04\x14\n\r\n\x05\x04\x11\x02\x0e\x06\x12\x04\xc5\x04\x04\n\n\r\n\x05\x04\x11\x02\x0e\x01\x12\x04\xc5\x04\x0b\x0e\n\r\n\x05\x04\x11\x02\x0e\x03\x12\x04\xc5\x04\x11\x13\n\x0c\n\x04\x04\x11\x02\x0f\x12\x04\xc6\x04\x04\x1a\n\r\n\x05\x04\x11\x02\x0f\x06\x12\x04\xc6\x04\x04\r\n\r\n\x05\x04\x11\x02\x0f\x01\x12\x04\xc6\x04\x0e\x14\n\r\n\x05\x04\x11\x02\x0f\x03\x12\x04\xc6\x04\x17\x19\n\"\n\x04\x04\x11\x02\x10\x12\x04\xc8\x04\x04\x1f\x1a\x14 Physical relations\n\n\r\n\x05\x04\x11\x02\x10\x06\x12\x04\xc8\x04\x04\x0f\n\r\n\x05\x04\x11\x02\x10\x01\x12\x04\xc8\x04\x10\x19\n\r\n\x05\x04\x11\x02\x10\x03\x12\x04\xc8\x04\x1c\x1e\n\x0c\n\x04\x04\x11\x02\x11\x12\x04\xc9\x04\x04!\n\r\n\x05\x04\x11\x02\x11\x06\x12\x04\xc9\x04\x04\x10\n\r\n\x05\x04\x11\x02\x11\x01\x12\x04\xc9\x04\x11\x1b\n\r\n\x05\x04\x11\x02\x11\x03\x12\x04\xc9\x04\x1e \n\x0c\n\x04\x04\x11\x02\x12\x12\x04\xca\x04\x04,\n\r\n\x05\x04\x11\x02\x12\x06\x12\x04\xca\x04\x04\x15\n\r\n\x05\x04\x11\x02\x12\x01\x12\x04\xca\x04\x16&\n\r\n\x05\x04\x11\x02\x12\x03\x12\x04\xca\x04)+\n\x0c\n\x04\x04\x11\x02\x13\x12\x04\xcb\x04\x04-\n\r\n\x05\x04\x11\x02\x13\x06\x12\x04\xcb\x04\x04 \n\r\n\x05\x04\x11\x02\x13\x01\x12\x04\xcb\x04!\'\n\r\n\x05\x04\x11\x02\x13\x03\x12\x04\xcb\x04*,\n\x0c\n\x04\x04\x11\x02\x14\x12\x04\xcc\x04\x04\x1e\n\r\n\x05\x04\x11\x02\x14\x06\x12\x04\xcc\x04\x04\x0f\n\r\n\x05\x04\x11\x02\x14\x01\x12\x04\xcc\x04\x10\x18\n\r\n\x05\x04\x11\x02\x14\x03\x12\x04\xcc\x04\x1b\x1d\n\x0c\n\x04\x04\x11\x02\x15\x12\x04\xcd\x04\x04\x1a\n\r\n\x05\x04\x11\x02\x15\x06\x12\x04\xcd\x04\x04\r\n\r\n\x05\x04\x11\x02\x15\x01\x12\x04\xcd\x04\x0e\x14\n\r\n\x05\x04\x11\x02\x15\x03\x12\x04\xcd\x04\x17\x19\nD\n\x02\x04\x12\x12\x06\xd2\x04\x00\xd7\x04\x01\x1a6 A base object for writing (e.g., a table or a view).\n\n\x0b\n\x03\x04\x12\x01\x12\x04\xd2\x04\x08\x18\n\x9d\x01\n\x04\x04\x12\x02\x00\x12\x04\xd5\x04\x02\x1c\x1a\x8e\x01 The list of string is used to represent namespacing (e.g., mydb.mytable).\n This assumes shared catalog between systems exchanging a message.\n\n\r\n\x05\x04\x12\x02\x00\x04\x12\x04\xd5\x04\x02\n\n\r\n\x05\x04\x12\x02\x00\x05\x12\x04\xd5\x04\x0b\x11\n\r\n\x05\x04\x12\x02\x00\x01\x12\x04\xd5\x04\x12\x17\n\r\n\x05\x04\x12\x02\x00\x03\x12\x04\xd5\x04\x1a\x1b\n\x0c\n\x04\x04\x12\x02\x01\x12\x04\xd6\x04\x02A\n\r\n\x05\x04\x12\x02\x01\x06\x12\x04\xd6\x04\x02(\n\r\n\x05\x04\x12\x02\x01\x01\x12\x04\xd6\x04);\n\r\n\x05\x04\x12\x02\x01\x03\x12\x04\xd6\x04>@\nl\n\x02\x04\x13\x12\x06\xdb\x04\x00\xdd\x04\x01\x1a^ A stub type that can be used to extend/introduce new table types outside\n the specification.\n\n\x0b\n\x03\x04\x13\x01\x12\x04\xdb\x04\x08\x17\n\x0c\n\x04\x04\x13\x02\x00\x12\x04\xdc\x04\x02!\n\r\n\x05\x04\x13\x02\x00\x06\x12\x04\xdc\x04\x02\x15\n\r\n\x05\x04\x13\x02\x00\x01\x12\x04\xdc\x04\x16\x1c\n\r\n\x05\x04\x13\x02\x00\x03\x12\x04\xdc\x04\x1f \n\x0c\n\x02\x04\x14\x12\x06\xdf\x04\x00\x91\x05\x01\n\x0b\n\x03\x04\x14\x01\x12\x04\xdf\x04\x08\x0e\nH\n\x04\x04\x14\x08\x00\x12\x06\xe1\x04\x02\xe4\x04\x03\x1a8 Definition of which type of object we are operating on\n\n\r\n\x05\x04\x14\x08\x00\x01\x12\x04\xe1\x04\x08\x12\n\x0c\n\x04\x04\x14\x02\x00\x12\x04\xe2\x04\x04&\n\r\n\x05\x04\x14\x02\x00\x06\x12\x04\xe2\x04\x04\x14\n\r\n\x05\x04\x14\x02\x00\x01\x12\x04\xe2\x04\x15!\n\r\n\x05\x04\x14\x02\x00\x03\x12\x04\xe2\x04$%\n\x0c\n\x04\x04\x14\x02\x01\x12\x04\xe3\x04\x04)\n\r\n\x05\x04\x14\x02\x01\x06\x12\x04\xe3\x04\x04\x13\n\r\n\x05\x04\x14\x02\x01\x01\x12\x04\xe3\x04\x14$\n\r\n\x05\x04\x14\x02\x01\x03\x12\x04\xe3\x04\'(\n_\n\x04\x04\x14\x02\x02\x12\x04\xe7\x04\x02\x1f\x1aQ The columns that will be modified (representing after-image of a schema change)\n\n\r\n\x05\x04\x14\x02\x02\x06\x12\x04\xe7\x04\x02\r\n\r\n\x05\x04\x14\x02\x02\x01\x12\x04\xe7\x04\x0e\x1a\n\r\n\x05\x04\x14\x02\x02\x03\x12\x04\xe7\x04\x1d\x1e\n\xc8\x02\n\x04\x04\x14\x02\x03\x12\x04\xec\x04\x02/\x1a\xb9\x02 The default values for the columns (representing after-image of a schema change)\n E.g., in case of an ALTER TABLE that changes some of the column default values, we expect\n the table_defaults Struct to report a full list of default values reflecting the result of applying\n the ALTER TABLE operator successfully\n\n\r\n\x05\x04\x14\x02\x03\x06\x12\x04\xec\x04\x02\x1b\n\r\n\x05\x04\x14\x02\x03\x01\x12\x04\xec\x04\x1c*\n\r\n\x05\x04\x14\x02\x03\x03\x12\x04\xec\x04-.\n2\n\x04\x04\x14\x02\x04\x12\x04\xef\x04\x02\x17\x1a$ Which type of object we operate on\n\n\r\n\x05\x04\x14\x02\x04\x06\x12\x04\xef\x04\x02\x0b\n\r\n\x05\x04\x14\x02\x04\x01\x12\x04\xef\x04\x0c\x12\n\r\n\x05\x04\x14\x02\x04\x03\x12\x04\xef\x04\x15\x16\n0\n\x04\x04\x14\x02\x05\x12\x04\xf2\x04\x02\x0f\x1a\" The type of operation to perform\n\n\r\n\x05\x04\x14\x02\x05\x06\x12\x04\xf2\x04\x02\x07\n\r\n\x05\x04\x14\x02\x05\x01\x12\x04\xf2\x04\x08\n\n\r\n\x05\x04\x14\x02\x05\x03\x12\x04\xf2\x04\r\x0e\n+\n\x04\x04\x14\x02\x06\x12\x04\xf5\x04\x02\x1a\x1a\x1d The body of the CREATE VIEW\n\n\r\n\x05\x04\x14\x02\x06\x06\x12\x04\xf5\x04\x02\x05\n\r\n\x05\x04\x14\x02\x06\x01\x12\x04\xf5\x04\x06\x15\n\r\n\x05\x04\x14\x02\x06\x03\x12\x04\xf5\x04\x18\x19\n\x0c\n\x04\x04\x14\x02\x07\x12\x04\xf6\x04\x02\x17\n\r\n\x05\x04\x14\x02\x07\x06\x12\x04\xf6\x04\x02\x0b\n\r\n\x05\x04\x14\x02\x07\x01\x12\x04\xf6\x04\x0c\x12\n\r\n\x05\x04\x14\x02\x07\x03\x12\x04\xf6\x04\x15\x16\n\x0e\n\x04\x04\x14\x04\x00\x12\x06\xf8\x04\x02\xfe\x04\x03\n\r\n\x05\x04\x14\x04\x00\x01\x12\x04\xf8\x04\x07\x10\n\x0e\n\x06\x04\x14\x04\x00\x02\x00\x12\x04\xf9\x04\x04\x1f\n\x0f\n\x07\x04\x14\x04\x00\x02\x00\x01\x12\x04\xf9\x04\x04\x1a\n\x0f\n\x07\x04\x14\x04\x00\x02\x00\x02\x12\x04\xf9\x04\x1d\x1e\n.\n\x06\x04\x14\x04\x00\x02\x01\x12\x04\xfb\x04\x04\x19\x1a\x1e A Table object in the system\n\n\x0f\n\x07\x04\x14\x04\x00\x02\x01\x01\x12\x04\xfb\x04\x04\x14\n\x0f\n\x07\x04\x14\x04\x00\x02\x01\x02\x12\x04\xfb\x04\x17\x18\n-\n\x06\x04\x14\x04\x00\x02\x02\x12\x04\xfd\x04\x04\x18\x1a\x1d A View object in the system\n\n\x0f\n\x07\x04\x14\x04\x00\x02\x02\x01\x12\x04\xfd\x04\x04\x13\n\x0f\n\x07\x04\x14\x04\x00\x02\x02\x02\x12\x04\xfd\x04\x16\x17\n\x0e\n\x04\x04\x14\x04\x01\x12\x06\x80\x05\x02\x8c\x05\x03\n\r\n\x05\x04\x14\x04\x01\x01\x12\x04\x80\x05\x07\x0c\n\x0e\n\x06\x04\x14\x04\x01\x02\x00\x12\x04\x81\x05\x04\x1b\n\x0f\n\x07\x04\x14\x04\x01\x02\x00\x01\x12\x04\x81\x05\x04\x16\n\x0f\n\x07\x04\x14\x04\x01\x02\x00\x02\x12\x04\x81\x05\x19\x1a\n5\n\x06\x04\x14\x04\x01\x02\x01\x12\x04\x83\x05\x04\x16\x1a% A create operation (for any object)\n\n\x0f\n\x07\x04\x14\x04\x01\x02\x01\x01\x12\x04\x83\x05\x04\x11\n\x0f\n\x07\x04\x14\x04\x01\x02\x01\x02\x12\x04\x83\x05\x14\x15\n\x8e\x01\n\x06\x04\x14\x04\x01\x02\x02\x12\x04\x85\x05\x04!\x1a~ A create operation if the object does not exist, or replaces it (equivalent to a DROP + CREATE) if the object already exists\n\n\x0f\n\x07\x04\x14\x04\x01\x02\x02\x01\x12\x04\x85\x05\x04\x1c\n\x0f\n\x07\x04\x14\x04\x01\x02\x02\x02\x12\x04\x85\x05\x1f \ny\n\x06\x04\x14\x04\x01\x02\x03\x12\x04\x87\x05\x04\x15\x1ai An operation that modifies the schema (e.g., column names, types, default values) for the target object\n\n\x0f\n\x07\x04\x14\x04\x01\x02\x03\x01\x12\x04\x87\x05\x04\x10\n\x0f\n\x07\x04\x14\x04\x01\x02\x03\x02\x12\x04\x87\x05\x13\x14\nE\n\x06\x04\x14\x04\x01\x02\x04\x12\x04\x89\x05\x04\x14\x1a5 An operation that removes an object from the system\n\n\x0f\n\x07\x04\x14\x04\x01\x02\x04\x01\x12\x04\x89\x05\x04\x0f\n\x0f\n\x07\x04\x14\x04\x01\x02\x04\x02\x12\x04\x89\x05\x12\x13\n\x81\x01\n\x06\x04\x14\x04\x01\x02\x05\x12\x04\x8b\x05\x04\x1d\x1aq An operation that removes an object from the system (without throwing an exception if the object did not exist)\n\n\x0f\n\x07\x04\x14\x04\x01\x02\x05\x01\x12\x04\x8b\x05\x04\x18\n\x0f\n\x07\x04\x14\x04\x01\x02\x05\x02\x12\x04\x8b\x05\x1b\x1c\n\x0c\n\x04\x04\x14\x02\x08\x12\x04\x8e\x05\x02@\n\r\n\x05\x04\x14\x02\x08\x06\x12\x04\x8e\x05\x02(\n\r\n\x05\x04\x14\x02\x08\x01\x12\x04\x8e\x05);\n\r\n\x05\x04\x14\x02\x08\x03\x12\x04\x8e\x05>?\n\xaf\x01\n\x02\x04\x15\x12\x06\x95\x05\x00\xcf\x05\x01\x1a\xa0\x01 The operator that modifies the content of a database (operates on 1 table at a time, but record-selection/source can be\n based on joining of multiple tables).\n\n\x0b\n\x03\x04\x15\x01\x12\x04\x95\x05\x08\x10\n?\n\x04\x04\x15\x08\x00\x12\x06\x97\x05\x02\x9a\x05\x03\x1a/ Definition of which TABLE we are operating on\n\n\r\n\x05\x04\x15\x08\x00\x01\x12\x04\x97\x05\x08\x12\n\x0c\n\x04\x04\x15\x02\x00\x12\x04\x98\x05\x04%\n\r\n\x05\x04\x15\x02\x00\x06\x12\x04\x98\x05\x04\x14\n\r\n\x05\x04\x15\x02\x00\x01\x12\x04\x98\x05\x15 \n\r\n\x05\x04\x15\x02\x00\x03\x12\x04\x98\x05#$\n\x0c\n\x04\x04\x15\x02\x01\x12\x04\x99\x05\x04(\n\r\n\x05\x04\x15\x02\x01\x06\x12\x04\x99\x05\x04\x13\n\r\n\x05\x04\x15\x02\x01\x01\x12\x04\x99\x05\x14#\n\r\n\x05\x04\x15\x02\x01\x03\x12\x04\x99\x05&\'\nl\n\x04\x04\x15\x02\x02\x12\x04\x9d\x05\x02\x1f\x1a^ The schema of the table (must align with Rel input (e.g., number of leaf fields must match))\n\n\r\n\x05\x04\x15\x02\x02\x06\x12\x04\x9d\x05\x02\r\n\r\n\x05\x04\x15\x02\x02\x01\x12\x04\x9d\x05\x0e\x1a\n\r\n\x05\x04\x15\x02\x02\x03\x12\x04\x9d\x05\x1d\x1e\n0\n\x04\x04\x15\x02\x03\x12\x04\xa0\x05\x02\x11\x1a\" The type of operation to perform\n\n\r\n\x05\x04\x15\x02\x03\x06\x12\x04\xa0\x05\x02\t\n\r\n\x05\x04\x15\x02\x03\x01\x12\x04\xa0\x05\n\x0c\n\r\n\x05\x04\x15\x02\x03\x03\x12\x04\xa0\x05\x0f\x10\n\xa6\x02\n\x04\x04\x15\x02\x04\x12\x04\xa6\x05\x02\x10\x1a\x97\x02 The relation that determines the records to add/remove/modify\n the schema must match with table_schema. Default values must be explicitly stated\n in a ProjectRel at the top of the input. The match must also\n occur in case of DELETE to ensure multi-engine plans are unequivocal.\n\n\r\n\x05\x04\x15\x02\x04\x06\x12\x04\xa6\x05\x02\x05\n\r\n\x05\x04\x15\x02\x04\x01\x12\x04\xa6\x05\x06\x0b\n\r\n\x05\x04\x15\x02\x04\x03\x12\x04\xa6\x05\x0e\x0f\nR\n\x04\x04\x15\x02\x05\x12\x04\xa8\x05\x02\x1d\"D Used with CTAS to determine what to do if the table already exists\n\n\r\n\x05\x04\x15\x02\x05\x06\x12\x04\xa8\x05\x02\x0c\n\r\n\x05\x04\x15\x02\x05\x01\x12\x04\xa8\x05\r\x18\n\r\n\x05\x04\x15\x02\x05\x03\x12\x04\xa8\x05\x1b\x1c\nO\n\x04\x04\x15\x02\x06\x12\x04\xab\x05\x02\x18\x1aA Output mode determines what is the output of executing this rel\n\n\r\n\x05\x04\x15\x02\x06\x06\x12\x04\xab\x05\x02\x0c\n\r\n\x05\x04\x15\x02\x06\x01\x12\x04\xab\x05\r\x13\n\r\n\x05\x04\x15\x02\x06\x03\x12\x04\xab\x05\x16\x17\n\x0c\n\x04\x04\x15\x02\x07\x12\x04\xac\x05\x02\x17\n\r\n\x05\x04\x15\x02\x07\x06\x12\x04\xac\x05\x02\x0b\n\r\n\x05\x04\x15\x02\x07\x01\x12\x04\xac\x05\x0c\x12\n\r\n\x05\x04\x15\x02\x07\x03\x12\x04\xac\x05\x15\x16\n\x0e\n\x04\x04\x15\x04\x00\x12\x06\xae\x05\x02\xb8\x05\x03\n\r\n\x05\x04\x15\x04\x00\x01\x12\x04\xae\x05\x07\x0e\n\x0e\n\x06\x04\x15\x04\x00\x02\x00\x12\x04\xaf\x05\x04\x1d\n\x0f\n\x07\x04\x15\x04\x00\x02\x00\x01\x12\x04\xaf\x05\x04\x18\n\x0f\n\x07\x04\x15\x04\x00\x02\x00\x02\x12\x04\xaf\x05\x1b\x1c\n6\n\x06\x04\x15\x04\x00\x02\x01\x12\x04\xb1\x05\x04\x18\x1a& The insert of new records in a table\n\n\x0f\n\x07\x04\x15\x04\x00\x02\x01\x01\x12\x04\xb1\x05\x04\x13\n\x0f\n\x07\x04\x15\x04\x00\x02\x01\x02\x12\x04\xb1\x05\x16\x17\n5\n\x06\x04\x15\x04\x00\x02\x02\x12\x04\xb3\x05\x04\x18\x1a% The removal of records from a table\n\n\x0f\n\x07\x04\x15\x04\x00\x02\x02\x01\x12\x04\xb3\x05\x04\x13\n\x0f\n\x07\x04\x15\x04\x00\x02\x02\x02\x12\x04\xb3\x05\x16\x17\nE\n\x06\x04\x15\x04\x00\x02\x03\x12\x04\xb5\x05\x04\x18\x1a5 The modification of existing records within a table\n\n\x0f\n\x07\x04\x15\x04\x00\x02\x03\x01\x12\x04\xb5\x05\x04\x13\n\x0f\n\x07\x04\x15\x04\x00\x02\x03\x02\x12\x04\xb5\x05\x16\x17\nY\n\x06\x04\x15\x04\x00\x02\x04\x12\x04\xb7\x05\x04\x16\x1aI The Creation of a new table, and the insert of new records in the table\n\n\x0f\n\x07\x04\x15\x04\x00\x02\x04\x01\x12\x04\xb7\x05\x04\x11\n\x0f\n\x07\x04\x15\x04\x00\x02\x04\x02\x12\x04\xb7\x05\x14\x15\n\x0e\n\x04\x04\x15\x04\x01\x12\x06\xba\x05\x02\xc0\x05\x03\n\r\n\x05\x04\x15\x04\x01\x01\x12\x04\xba\x05\x07\x11\n\x0e\n\x06\x04\x15\x04\x01\x02\x00\x12\x04\xbb\x05\x04 \n\x0f\n\x07\x04\x15\x04\x01\x02\x00\x01\x12\x04\xbb\x05\x04\x1b\n\x0f\n\x07\x04\x15\x04\x01\x02\x00\x02\x12\x04\xbb\x05\x1e\x1f\nC\n\x06\x04\x15\x04\x01\x02\x01\x12\x04\xbc\x05\x04%\"3 Append the data to the table if it already exists\n\n\x0f\n\x07\x04\x15\x04\x01\x02\x01\x01\x12\x04\xbc\x05\x04 \n\x0f\n\x07\x04\x15\x04\x01\x02\x01\x02\x12\x04\xbc\x05#$\nG\n\x06\x04\x15\x04\x01\x02\x02\x12\x04\xbd\x05\x04&\"7 Replace the table if it already exists (\"OR REPLACE\")\n\n\x0f\n\x07\x04\x15\x04\x01\x02\x02\x01\x12\x04\xbd\x05\x04!\n\x0f\n\x07\x04\x15\x04\x01\x02\x02\x02\x12\x04\xbd\x05$%\nR\n\x06\x04\x15\x04\x01\x02\x03\x12\x04\xbe\x05\x04%\"B Ignore the request if the table already exists (\"IF NOT EXISTS\")\n\n\x0f\n\x07\x04\x15\x04\x01\x02\x03\x01\x12\x04\xbe\x05\x04 \n\x0f\n\x07\x04\x15\x04\x01\x02\x03\x02\x12\x04\xbe\x05#$\nO\n\x06\x04\x15\x04\x01\x02\x04\x12\x04\xbf\x05\x04$\"? Throw an error if the table already exists (default behavior)\n\n\x0f\n\x07\x04\x15\x04\x01\x02\x04\x01\x12\x04\xbf\x05\x04\x1f\n\x0f\n\x07\x04\x15\x04\x01\x02\x04\x02\x12\x04\xbf\x05\"#\n\x0e\n\x04\x04\x15\x04\x02\x12\x06\xc2\x05\x02\xcc\x05\x03\n\r\n\x05\x04\x15\x04\x02\x01\x12\x04\xc2\x05\x07\x11\n\x0e\n\x06\x04\x15\x04\x02\x02\x00\x12\x04\xc3\x05\x04 \n\x0f\n\x07\x04\x15\x04\x02\x02\x00\x01\x12\x04\xc3\x05\x04\x1b\n\x0f\n\x07\x04\x15\x04\x02\x02\x00\x02\x12\x04\xc3\x05\x1e\x1f\n*\n\x06\x04\x15\x04\x02\x02\x01\x12\x04\xc5\x05\x04\x1e\x1a\x1a return no records at all\n\n\x0f\n\x07\x04\x15\x04\x02\x02\x01\x01\x12\x04\xc5\x05\x04\x19\n\x0f\n\x07\x04\x15\x04\x02\x02\x01\x02\x12\x04\xc5\x05\x1c\x1d\n\xda\x03\n\x06\x04\x15\x04\x02\x02\x02\x12\x04\xcb\x05\x04%\x1a\xc9\x03 this mode makes the operator return all the record INSERTED/DELETED/UPDATED by the operator.\n The operator returns the AFTER-image of any change. This can be further manipulated by operators upstreams\n (e.g., retunring the typical \"count of modified records\").\n For scenarios in which the BEFORE image is required, the user must implement a spool (via references to\n subplans in the body of the Rel input) and return those with anounter PlanRel.relations.\n\n\x0f\n\x07\x04\x15\x04\x02\x02\x02\x01\x12\x04\xcb\x05\x04 \n\x0f\n\x07\x04\x15\x04\x02\x02\x02\x02\x12\x04\xcb\x05#$\n\x0c\n\x04\x04\x15\x02\x08\x12\x04\xce\x05\x02@\n\r\n\x05\x04\x15\x02\x08\x06\x12\x04\xce\x05\x02(\n\r\n\x05\x04\x15\x02\x08\x01\x12\x04\xce\x05);\n\r\n\x05\x04\x15\x02\x08\x03\x12\x04\xce\x05>?\nA\n\x02\x04\x16\x12\x06\xd2\x05\x00\xe3\x05\x01\x1a3 The operator that modifies the columns of a table\n\n\x0b\n\x03\x04\x16\x01\x12\x04\xd2\x05\x08\x11\n\x0e\n\x04\x04\x16\x08\x00\x12\x06\xd3\x05\x02\xd5\x05\x03\n\r\n\x05\x04\x16\x08\x00\x01\x12\x04\xd3\x05\x08\x13\n\x0c\n\x04\x04\x16\x02\x00\x12\x04\xd4\x05\x04\x1f\n\r\n\x05\x04\x16\x02\x00\x06\x12\x04\xd4\x05\x04\x0e\n\r\n\x05\x04\x16\x02\x00\x01\x12\x04\xd4\x05\x0f\x1a\n\r\n\x05\x04\x16\x02\x00\x03\x12\x04\xd4\x05\x1d\x1e\n2\n\x04\x04\x16\x02\x01\x12\x04\xd7\x05\x02\x1f\"$ The full schema of the named_table\n\n\r\n\x05\x04\x16\x02\x01\x06\x12\x04\xd7\x05\x02\r\n\r\n\x05\x04\x16\x02\x01\x01\x12\x04\xd7\x05\x0e\x1a\n\r\n\x05\x04\x16\x02\x01\x03\x12\x04\xd7\x05\x1d\x1e\nL\n\x04\x04\x16\x02\x02\x12\x04\xd8\x05\x02\x1b\"> condition to be met for the update to be applied on a record\n\n\r\n\x05\x04\x16\x02\x02\x06\x12\x04\xd8\x05\x02\x0c\n\r\n\x05\x04\x16\x02\x02\x01\x12\x04\xd8\x05\r\x16\n\r\n\x05\x04\x16\x02\x02\x03\x12\x04\xd8\x05\x19\x1a\nV\n\x04\x04\x16\x02\x03\x12\x04\xdb\x05\x023\x1aH The list of transformations to apply to the columns of the named_table\n\n\r\n\x05\x04\x16\x02\x03\x04\x12\x04\xdb\x05\x02\n\n\r\n\x05\x04\x16\x02\x03\x06\x12\x04\xdb\x05\x0b\x1e\n\r\n\x05\x04\x16\x02\x03\x01\x12\x04\xdb\x05\x1f.\n\r\n\x05\x04\x16\x02\x03\x03\x12\x04\xdb\x0512\n\x0e\n\x04\x04\x16\x03\x00\x12\x06\xdd\x05\x02\xe0\x05\x03\n\r\n\x05\x04\x16\x03\x00\x01\x12\x04\xdd\x05\n\x1d\n-\n\x06\x04\x16\x03\x00\x02\x00\x12\x04\xde\x05\x04\"\"\x1d the transformation to apply\n\n\x0f\n\x07\x04\x16\x03\x00\x02\x00\x06\x12\x04\xde\x05\x04\x0e\n\x0f\n\x07\x04\x16\x03\x00\x02\x00\x01\x12\x04\xde\x05\x0f\x1d\n\x0f\n\x07\x04\x16\x03\x00\x02\x00\x03\x12\x04\xde\x05 !\nD\n\x06\x04\x16\x03\x00\x02\x01\x12\x04\xdf\x05\x04\x1c\"4 index of the column to apply the transformation to\n\n\x0f\n\x07\x04\x16\x03\x00\x02\x01\x05\x12\x04\xdf\x05\x04\t\n\x0f\n\x07\x04\x16\x03\x00\x02\x01\x01\x12\x04\xdf\x05\n\x17\n\x0f\n\x07\x04\x16\x03\x00\x02\x01\x03\x12\x04\xdf\x05\x1a\x1b\n\x0c\n\x04\x04\x16\x02\x04\x12\x04\xe2\x05\x02@\n\r\n\x05\x04\x16\x02\x04\x06\x12\x04\xe2\x05\x02(\n\r\n\x05\x04\x16\x02\x04\x01\x12\x04\xe2\x05);\n\r\n\x05\x04\x16\x02\x04\x03\x12\x04\xe2\x05>?\n\xab\x01\n\x02\x04\x17\x12\x06\xe7\x05\x00\xea\x05\x01\x1a\x9c\x01 A base table. The list of string is used to represent namespacing (e.g., mydb.mytable).\n This assumes shared catalog between systems exchanging a message.\n\n\x0b\n\x03\x04\x17\x01\x12\x04\xe7\x05\x08\x12\n\x0c\n\x04\x04\x17\x02\x00\x12\x04\xe8\x05\x02\x1c\n\r\n\x05\x04\x17\x02\x00\x04\x12\x04\xe8\x05\x02\n\n\r\n\x05\x04\x17\x02\x00\x05\x12\x04\xe8\x05\x0b\x11\n\r\n\x05\x04\x17\x02\x00\x01\x12\x04\xe8\x05\x12\x17\n\r\n\x05\x04\x17\x02\x00\x03\x12\x04\xe8\x05\x1a\x1b\n\x0c\n\x04\x04\x17\x02\x01\x12\x04\xe9\x05\x02A\n\r\n\x05\x04\x17\x02\x01\x06\x12\x04\xe9\x05\x02(\n\r\n\x05\x04\x17\x02\x01\x01\x12\x04\xe9\x05);\n\r\n\x05\x04\x17\x02\x01\x03\x12\x04\xe9\x05>@\n\xe1\x01\n\x02\x04\x18\x12\x06\xef\x05\x00\x96\x06\x01\x1a\xd2\x01 Hash joins and merge joins are a specialization of the general join where the join\n expression is an series of comparisons between fields that are ANDed together.  The\n behavior of this comparison is flexible\n\n\x0b\n\x03\x04\x18\x01\x12\x04\xef\x05\x08\x19\n6\n\x04\x04\x18\x02\x00\x12\x04\xf1\x05\x02%\x1a( The key to compare from the left table\n\n\r\n\x05\x04\x18\x02\x00\x06\x12\x04\xf1\x05\x02\x1b\n\r\n\x05\x04\x18\x02\x00\x01\x12\x04\xf1\x05\x1c \n\r\n\x05\x04\x18\x02\x00\x03\x12\x04\xf1\x05#$\n7\n\x04\x04\x18\x02\x01\x12\x04\xf3\x05\x02&\x1a) The key to compare from the right table\n\n\r\n\x05\x04\x18\x02\x01\x06\x12\x04\xf3\x05\x02\x1b\n\r\n\x05\x04\x18\x02\x01\x01\x12\x04\xf3\x05\x1c!\n\r\n\x05\x04\x18\x02\x01\x03\x12\x04\xf3\x05$%\n5\n\x04\x04\x18\x02\x02\x12\x04\xf5\x05\x02 \x1a\' Describes how to compare the two keys\n\n\r\n\x05\x04\x18\x02\x02\x06\x12\x04\xf5\x05\x02\x10\n\r\n\x05\x04\x18\x02\x02\x01\x12\x04\xf5\x05\x11\x1b\n\r\n\x05\x04\x18\x02\x02\x03\x12\x04\xf5\x05\x1e\x1f\n\x99\x01\n\x04\x04\x18\x04\x00\x12\x06\xf9\x05\x02\x88\x06\x03\x1a\x88\x01 Most joins will use one of the following behaviors.  To avoid the complexity\n of a function lookup we define the common behaviors here\n\n\r\n\x05\x04\x18\x04\x00\x01\x12\x04\xf9\x05\x07\x1b\n\x0e\n\x06\x04\x18\x04\x00\x02\x00\x12\x04\xfa\x05\x04+\n\x0f\n\x07\x04\x18\x04\x00\x02\x00\x01\x12\x04\xfa\x05\x04&\n\x0f\n\x07\x04\x18\x04\x00\x02\x00\x02\x12\x04\xfa\x05)*\nI\n\x06\x04\x18\x04\x00\x02\x01\x12\x04\xfc\x05\x04\"\x1a9 Returns true only if both values are equal and not null\n\n\x0f\n\x07\x04\x18\x04\x00\x02\x01\x01\x12\x04\xfc\x05\x04\x1d\n\x0f\n\x07\x04\x18\x04\x00\x02\x01\x02\x12\x04\xfc\x05 !\n\xed\x01\n\x06\x04\x18\x04\x00\x02\x02\x12\x04\x82\x06\x044\x1a\xdc\x01 Returns true if both values are equal and not null\n Returns true if both values are null\n Returns false if one value is null and the other value is not null\n\n This can be expressed as a = b OR (isnull(a) AND isnull(b))\n\n\x0f\n\x07\x04\x18\x04\x00\x02\x02\x01\x12\x04\x82\x06\x04/\n\x0f\n\x07\x04\x18\x04\x00\x02\x02\x02\x12\x04\x82\x0623\n\x9d\x01\n\x06\x04\x18\x04\x00\x02\x03\x12\x04\x87\x06\x04+\x1a\x8c\x01 Returns true if both values are equal and not null\n Returns true if either value is null\n\n This can be expressed as a = b OR isnull(a = b)\n\n\x0f\n\x07\x04\x18\x04\x00\x02\x03\x01\x12\x04\x87\x06\x04&\n\x0f\n\x07\x04\x18\x04\x00\x02\x03\x02\x12\x04\x87\x06)*\nT\n\x04\x04\x18\x03\x00\x12\x06\x8b\x06\x02\x95\x06\x03\x1aD Describes how the relation should consider if two rows are a match\n\n\r\n\x05\x04\x18\x03\x00\x01\x12\x04\x8b\x06\n\x18\n\x10\n\x06\x04\x18\x03\x00\x08\x00\x12\x06\x8c\x06\x04\x94\x06\x05\n\x0f\n\x07\x04\x18\x03\x00\x08\x00\x01\x12\x04\x8c\x06\n\x14\n@\n\x06\x04\x18\x03\x00\x02\x00\x12\x04\x8e\x06\x06&\x1a0 One of the simple comparison behaviors is used\n\n\x0f\n\x07\x04\x18\x03\x00\x02\x00\x06\x12\x04\x8e\x06\x06\x1a\n\x0f\n\x07\x04\x18\x03\x00\x02\x00\x01\x12\x04\x8e\x06\x1b!\n\x0f\n\x07\x04\x18\x03\x00\x02\x00\x03\x12\x04\x8e\x06$%\n\xf3\x01\n\x06\x04\x18\x03\x00\x02\x01\x12\x04\x93\x06\x06+\x1a\xe2\x01 A custom comparison behavior is used.  This can happen, for example, when using\n collations, where we might want to do something like a case-insensitive comparison.\n\n This must be a binary function with a boolean return type\n\n\x0f\n\x07\x04\x18\x03\x00\x02\x01\x05\x12\x04\x93\x06\x06\x0c\n\x0f\n\x07\x04\x18\x03\x00\x02\x01\x01\x12\x04\x93\x06\r&\n\x0f\n\x07\x04\x18\x03\x00\x02\x01\x03\x12\x04\x93\x06)*\n\xaa\x02\n\x02\x04\x19\x12\x06\x9c\x06\x00\xd1\x06\x01\x1a\x9b\x02 The hash equijoin operator will build a hash table out of one input (default `right`) based on a set of join keys.\n It will then probe that hash table for the other input (default `left`), finding matches.\n\n Two rows are a match if the comparison function returns true for all keys\n\n\x0b\n\x03\x04\x19\x01\x12\x04\x9c\x06\x08\x13\n\x0c\n\x04\x04\x19\x02\x00\x12\x04\x9d\x06\x02\x17\n\r\n\x05\x04\x19\x02\x00\x06\x12\x04\x9d\x06\x02\x0b\n\r\n\x05\x04\x19\x02\x00\x01\x12\x04\x9d\x06\x0c\x12\n\r\n\x05\x04\x19\x02\x00\x03\x12\x04\x9d\x06\x15\x16\n\x0c\n\x04\x04\x19\x02\x01\x12\x04\x9e\x06\x02\x0f\n\r\n\x05\x04\x19\x02\x01\x06\x12\x04\x9e\x06\x02\x05\n\r\n\x05\x04\x19\x02\x01\x01\x12\x04\x9e\x06\x06\n\n\r\n\x05\x04\x19\x02\x01\x03\x12\x04\x9e\x06\r\x0e\n\x0c\n\x04\x04\x19\x02\x02\x12\x04\x9f\x06\x02\x10\n\r\n\x05\x04\x19\x02\x02\x06\x12\x04\x9f\x06\x02\x05\n\r\n\x05\x04\x19\x02\x02\x01\x12\x04\x9f\x06\x06\x0b\n\r\n\x05\x04\x19\x02\x02\x03\x12\x04\x9f\x06\x0e\x0f\n\xe1\x01\n\x04\x04\x19\x02\x03\x12\x04\xa3\x06\x02G\x1a\xd2\x01 These fields are deprecated in favor of `keys`.  If they are set then\n the two lists (left_keys and right_keys) must have the same length and\n the comparion function is considered to be SimpleEqualityType::EQ\n\n\r\n\x05\x04\x19\x02\x03\x04\x12\x04\xa3\x06\x02\n\n\r\n\x05\x04\x19\x02\x03\x06\x12\x04\xa3\x06\x0b$\n\r\n\x05\x04\x19\x02\x03\x01\x12\x04\xa3\x06%.\n\r\n\x05\x04\x19\x02\x03\x03\x12\x04\xa3\x0612\n\r\n\x05\x04\x19\x02\x03\x08\x12\x04\xa3\x063F\n\x0e\n\x06\x04\x19\x02\x03\x08\x03\x12\x04\xa3\x064E\n\x0c\n\x04\x04\x19\x02\x04\x12\x04\xa4\x06\x02H\n\r\n\x05\x04\x19\x02\x04\x04\x12\x04\xa4\x06\x02\n\n\r\n\x05\x04\x19\x02\x04\x06\x12\x04\xa4\x06\x0b$\n\r\n\x05\x04\x19\x02\x04\x01\x12\x04\xa4\x06%/\n\r\n\x05\x04\x19\x02\x04\x03\x12\x04\xa4\x0623\n\r\n\x05\x04\x19\x02\x04\x08\x12\x04\xa4\x064G\n\x0e\n\x06\x04\x19\x02\x04\x08\x03\x12\x04\xa4\x065F\n\xdf\x05\n\x04\x04\x19\x02\x05\x12\x04\xb2\x06\x02&\x1a\xd0\x05 One or more keys to join on.  The relation is invalid if this is empty\n (unless the deprecated left_keys/right_keys fields are being used).\n\n If a custom comparison function is used then it must be consistent with\n the hash function used for the keys.\n\n In other words, the hash function must return the same hash code when the\n comparison returns true.  For example, if the comparison function is\n \"equals ignoring case\" then the hash function must return the same hash\n code for strings that differ only by case.  Note: the hash function is not\n specified here.  It is the responsibility of the consumer to find an appropriate\n hash function for a given comparsion function or to reject the plan if it cannot\n do so.\n\n\r\n\x05\x04\x19\x02\x05\x04\x12\x04\xb2\x06\x02\n\n\r\n\x05\x04\x19\x02\x05\x06\x12\x04\xb2\x06\x0b\x1c\n\r\n\x05\x04\x19\x02\x05\x01\x12\x04\xb2\x06\x1d!\n\r\n\x05\x04\x19\x02\x05\x03\x12\x04\xb2\x06$%\n\x0c\n\x04\x04\x19\x02\x06\x12\x04\xb3\x06\x02\"\n\r\n\x05\x04\x19\x02\x06\x06\x12\x04\xb3\x06\x02\x0c\n\r\n\x05\x04\x19\x02\x06\x01\x12\x04\xb3\x06\r\x1d\n\r\n\x05\x04\x19\x02\x06\x03\x12\x04\xb3\x06 !\n\x0c\n\x04\x04\x19\x02\x07\x12\x04\xb5\x06\x02\x14\n\r\n\x05\x04\x19\x02\x07\x06\x12\x04\xb5\x06\x02\n\n\r\n\x05\x04\x19\x02\x07\x01\x12\x04\xb5\x06\x0b\x0f\n\r\n\x05\x04\x19\x02\x07\x03\x12\x04\xb5\x06\x12\x13\ny\n\x04\x04\x19\x02\x08\x12\x04\xb8\x06\x02\x1d\x1ak Specifies which side of input to build the hash table for this hash join. Default is `BUILD_INPUT_RIGHT`.\n\n\r\n\x05\x04\x19\x02\x08\x06\x12\x04\xb8\x06\x02\x0c\n\r\n\x05\x04\x19\x02\x08\x01\x12\x04\xb8\x06\r\x18\n\r\n\x05\x04\x19\x02\x08\x03\x12\x04\xb8\x06\x1b\x1c\n\x0e\n\x04\x04\x19\x04\x00\x12\x06\xba\x06\x02\xc8\x06\x03\n\r\n\x05\x04\x19\x04\x00\x01\x12\x04\xba\x06\x07\x0f\n\x0e\n\x06\x04\x19\x04\x00\x02\x00\x12\x04\xbb\x06\x04\x1e\n\x0f\n\x07\x04\x19\x04\x00\x02\x00\x01\x12\x04\xbb\x06\x04\x19\n\x0f\n\x07\x04\x19\x04\x00\x02\x00\x02\x12\x04\xbb\x06\x1c\x1d\n\x0e\n\x06\x04\x19\x04\x00\x02\x01\x12\x04\xbc\x06\x04\x18\n\x0f\n\x07\x04\x19\x04\x00\x02\x01\x01\x12\x04\xbc\x06\x04\x13\n\x0f\n\x07\x04\x19\x04\x00\x02\x01\x02\x12\x04\xbc\x06\x16\x17\n\x0e\n\x06\x04\x19\x04\x00\x02\x02\x12\x04\xbd\x06\x04\x18\n\x0f\n\x07\x04\x19\x04\x00\x02\x02\x01\x12\x04\xbd\x06\x04\x13\n\x0f\n\x07\x04\x19\x04\x00\x02\x02\x02\x12\x04\xbd\x06\x16\x17\n\x0e\n\x06\x04\x19\x04\x00\x02\x03\x12\x04\xbe\x06\x04\x17\n\x0f\n\x07\x04\x19\x04\x00\x02\x03\x01\x12\x04\xbe\x06\x04\x12\n\x0f\n\x07\x04\x19\x04\x00\x02\x03\x02\x12\x04\xbe\x06\x15\x16\n\x0e\n\x06\x04\x19\x04\x00\x02\x04\x12\x04\xbf\x06\x04\x18\n\x0f\n\x07\x04\x19\x04\x00\x02\x04\x01\x12\x04\xbf\x06\x04\x13\n\x0f\n\x07\x04\x19\x04\x00\x02\x04\x02\x12\x04\xbf\x06\x16\x17\n\x0e\n\x06\x04\x19\x04\x00\x02\x05\x12\x04\xc0\x06\x04\x1c\n\x0f\n\x07\x04\x19\x04\x00\x02\x05\x01\x12\x04\xc0\x06\x04\x17\n\x0f\n\x07\x04\x19\x04\x00\x02\x05\x02\x12\x04\xc0\x06\x1a\x1b\n\x0e\n\x06\x04\x19\x04\x00\x02\x06\x12\x04\xc1\x06\x04\x1d\n\x0f\n\x07\x04\x19\x04\x00\x02\x06\x01\x12\x04\xc1\x06\x04\x18\n\x0f\n\x07\x04\x19\x04\x00\x02\x06\x02\x12\x04\xc1\x06\x1b\x1c\n\x0e\n\x06\x04\x19\x04\x00\x02\x07\x12\x04\xc2\x06\x04\x1c\n\x0f\n\x07\x04\x19\x04\x00\x02\x07\x01\x12\x04\xc2\x06\x04\x17\n\x0f\n\x07\x04\x19\x04\x00\x02\x07\x02\x12\x04\xc2\x06\x1a\x1b\n\x0e\n\x06\x04\x19\x04\x00\x02\x08\x12\x04\xc3\x06\x04\x1d\n\x0f\n\x07\x04\x19\x04\x00\x02\x08\x01\x12\x04\xc3\x06\x04\x18\n\x0f\n\x07\x04\x19\x04\x00\x02\x08\x02\x12\x04\xc3\x06\x1b\x1c\n\x0e\n\x06\x04\x19\x04\x00\x02\t\x12\x04\xc4\x06\x04\x1e\n\x0f\n\x07\x04\x19\x04\x00\x02\t\x01\x12\x04\xc4\x06\x04\x19\n\x0f\n\x07\x04\x19\x04\x00\x02\t\x02\x12\x04\xc4\x06\x1c\x1d\n\x0e\n\x06\x04\x19\x04\x00\x02\n\x12\x04\xc5\x06\x04 \n\x0f\n\x07\x04\x19\x04\x00\x02\n\x01\x12\x04\xc5\x06\x04\x1a\n\x0f\n\x07\x04\x19\x04\x00\x02\n\x02\x12\x04\xc5\x06\x1d\x1f\n\x0e\n\x06\x04\x19\x04\x00\x02\x0b\x12\x04\xc6\x06\x04\x1d\n\x0f\n\x07\x04\x19\x04\x00\x02\x0b\x01\x12\x04\xc6\x06\x04\x17\n\x0f\n\x07\x04\x19\x04\x00\x02\x0b\x02\x12\x04\xc6\x06\x1a\x1c\n\x0e\n\x06\x04\x19\x04\x00\x02\x0c\x12\x04\xc7\x06\x04\x1e\n\x0f\n\x07\x04\x19\x04\x00\x02\x0c\x01\x12\x04\xc7\x06\x04\x18\n\x0f\n\x07\x04\x19\x04\x00\x02\x0c\x02\x12\x04\xc7\x06\x1b\x1d\n\x0e\n\x04\x04\x19\x04\x01\x12\x06\xca\x06\x02\xce\x06\x03\n\r\n\x05\x04\x19\x04\x01\x01\x12\x04\xca\x06\x07\x11\n\x0e\n\x06\x04\x19\x04\x01\x02\x00\x12\x04\xcb\x06\x04 \n\x0f\n\x07\x04\x19\x04\x01\x02\x00\x01\x12\x04\xcb\x06\x04\x1b\n\x0f\n\x07\x04\x19\x04\x01\x02\x00\x02\x12\x04\xcb\x06\x1e\x1f\n\x0e\n\x06\x04\x19\x04\x01\x02\x01\x12\x04\xcc\x06\x04\x19\n\x0f\n\x07\x04\x19\x04\x01\x02\x01\x01\x12\x04\xcc\x06\x04\x14\n\x0f\n\x07\x04\x19\x04\x01\x02\x01\x02\x12\x04\xcc\x06\x17\x18\n\x0e\n\x06\x04\x19\x04\x01\x02\x02\x12\x04\xcd\x06\x04\x1a\n\x0f\n\x07\x04\x19\x04\x01\x02\x02\x01\x12\x04\xcd\x06\x04\x15\n\x0f\n\x07\x04\x19\x04\x01\x02\x02\x02\x12\x04\xcd\x06\x18\x19\n\x0c\n\x04\x04\x19\x02\t\x12\x04\xd0\x06\x02A\n\r\n\x05\x04\x19\x02\t\x06\x12\x04\xd0\x06\x02(\n\r\n\x05\x04\x19\x02\t\x01\x12\x04\xd0\x06);\n\r\n\x05\x04\x19\x02\t\x03\x12\x04\xd0\x06>@\n\xb4\x01\n\x02\x04\x1a\x12\x06\xd5\x06\x00\x83\x07\x01\x1a\xa5\x01 The merge equijoin does a join by taking advantage of two sets that are sorted on the join keys.\n This allows the join operation to be done in a streaming fashion.\n\n\x0b\n\x03\x04\x1a\x01\x12\x04\xd5\x06\x08\x14\n\x0c\n\x04\x04\x1a\x02\x00\x12\x04\xd6\x06\x02\x17\n\r\n\x05\x04\x1a\x02\x00\x06\x12\x04\xd6\x06\x02\x0b\n\r\n\x05\x04\x1a\x02\x00\x01\x12\x04\xd6\x06\x0c\x12\n\r\n\x05\x04\x1a\x02\x00\x03\x12\x04\xd6\x06\x15\x16\n\x0c\n\x04\x04\x1a\x02\x01\x12\x04\xd7\x06\x02\x0f\n\r\n\x05\x04\x1a\x02\x01\x06\x12\x04\xd7\x06\x02\x05\n\r\n\x05\x04\x1a\x02\x01\x01\x12\x04\xd7\x06\x06\n\n\r\n\x05\x04\x1a\x02\x01\x03\x12\x04\xd7\x06\r\x0e\n\x0c\n\x04\x04\x1a\x02\x02\x12\x04\xd8\x06\x02\x10\n\r\n\x05\x04\x1a\x02\x02\x06\x12\x04\xd8\x06\x02\x05\n\r\n\x05\x04\x1a\x02\x02\x01\x12\x04\xd8\x06\x06\x0b\n\r\n\x05\x04\x1a\x02\x02\x03\x12\x04\xd8\x06\x0e\x0f\n\xe1\x01\n\x04\x04\x1a\x02\x03\x12\x04\xdc\x06\x02G\x1a\xd2\x01 These fields are deprecated in favor of `keys`.  If they are set then\n the two lists (left_keys and right_keys) must have the same length and\n the comparion function is considered to be SimpleEqualityType::EQ\n\n\r\n\x05\x04\x1a\x02\x03\x04\x12\x04\xdc\x06\x02\n\n\r\n\x05\x04\x1a\x02\x03\x06\x12\x04\xdc\x06\x0b$\n\r\n\x05\x04\x1a\x02\x03\x01\x12\x04\xdc\x06%.\n\r\n\x05\x04\x1a\x02\x03\x03\x12\x04\xdc\x0612\n\r\n\x05\x04\x1a\x02\x03\x08\x12\x04\xdc\x063F\n\x0e\n\x06\x04\x1a\x02\x03\x08\x03\x12\x04\xdc\x064E\n\x0c\n\x04\x04\x1a\x02\x04\x12\x04\xdd\x06\x02H\n\r\n\x05\x04\x1a\x02\x04\x04\x12\x04\xdd\x06\x02\n\n\r\n\x05\x04\x1a\x02\x04\x06\x12\x04\xdd\x06\x0b$\n\r\n\x05\x04\x1a\x02\x04\x01\x12\x04\xdd\x06%/\n\r\n\x05\x04\x1a\x02\x04\x03\x12\x04\xdd\x0623\n\r\n\x05\x04\x1a\x02\x04\x08\x12\x04\xdd\x064G\n\x0e\n\x06\x04\x1a\x02\x04\x08\x03\x12\x04\xdd\x065F\n\xb1\x06\n\x04\x04\x1a\x02\x05\x12\x04\xed\x06\x02&\x1a\xa2\x06 One or more keys to join on.  The relation is invalid if this is empty\n (unless the deprecated left_keys/right_keys fields are being used).\n\n If a custom comparison function is used then it must be consistent with\n the ordering of the input data.  For example, if the comparison function\n is \"<\" then we generally expect the data to be sorted in ascending order.\n\n If the comparison function is something like \"less than ignoring case\" then\n the data should be sorted appropriately (e.g. both \"A\" and \"a\" should come\n before \"b\")\n\n The sort order is not specified here.  It is typically the responsibility of\n the producer to ensure the plan sorts the data if needed (although the consumer\n is free to do so as well).  If possible, the consumer should verify the sort\n order and reject invalid plans.\n\n\r\n\x05\x04\x1a\x02\x05\x04\x12\x04\xed\x06\x02\n\n\r\n\x05\x04\x1a\x02\x05\x06\x12\x04\xed\x06\x0b\x1c\n\r\n\x05\x04\x1a\x02\x05\x01\x12\x04\xed\x06\x1d!\n\r\n\x05\x04\x1a\x02\x05\x03\x12\x04\xed\x06$%\n\x0c\n\x04\x04\x1a\x02\x06\x12\x04\xee\x06\x02\"\n\r\n\x05\x04\x1a\x02\x06\x06\x12\x04\xee\x06\x02\x0c\n\r\n\x05\x04\x1a\x02\x06\x01\x12\x04\xee\x06\r\x1d\n\r\n\x05\x04\x1a\x02\x06\x03\x12\x04\xee\x06 !\n\x0c\n\x04\x04\x1a\x02\x07\x12\x04\xf0\x06\x02\x14\n\r\n\x05\x04\x1a\x02\x07\x06\x12\x04\xf0\x06\x02\n\n\r\n\x05\x04\x1a\x02\x07\x01\x12\x04\xf0\x06\x0b\x0f\n\r\n\x05\x04\x1a\x02\x07\x03\x12\x04\xf0\x06\x12\x13\n\x0e\n\x04\x04\x1a\x04\x00\x12\x06\xf2\x06\x02\x80\x07\x03\n\r\n\x05\x04\x1a\x04\x00\x01\x12\x04\xf2\x06\x07\x0f\n\x0e\n\x06\x04\x1a\x04\x00\x02\x00\x12\x04\xf3\x06\x04\x1e\n\x0f\n\x07\x04\x1a\x04\x00\x02\x00\x01\x12\x04\xf3\x06\x04\x19\n\x0f\n\x07\x04\x1a\x04\x00\x02\x00\x02\x12\x04\xf3\x06\x1c\x1d\n\x0e\n\x06\x04\x1a\x04\x00\x02\x01\x12\x04\xf4\x06\x04\x18\n\x0f\n\x07\x04\x1a\x04\x00\x02\x01\x01\x12\x04\xf4\x06\x04\x13\n\x0f\n\x07\x04\x1a\x04\x00\x02\x01\x02\x12\x04\xf4\x06\x16\x17\n\x0e\n\x06\x04\x1a\x04\x00\x02\x02\x12\x04\xf5\x06\x04\x18\n\x0f\n\x07\x04\x1a\x04\x00\x02\x02\x01\x12\x04\xf5\x06\x04\x13\n\x0f\n\x07\x04\x1a\x04\x00\x02\x02\x02\x12\x04\xf5\x06\x16\x17\n\x0e\n\x06\x04\x1a\x04\x00\x02\x03\x12\x04\xf6\x06\x04\x17\n\x0f\n\x07\x04\x1a\x04\x00\x02\x03\x01\x12\x04\xf6\x06\x04\x12\n\x0f\n\x07\x04\x1a\x04\x00\x02\x03\x02\x12\x04\xf6\x06\x15\x16\n\x0e\n\x06\x04\x1a\x04\x00\x02\x04\x12\x04\xf7\x06\x04\x18\n\x0f\n\x07\x04\x1a\x04\x00\x02\x04\x01\x12\x04\xf7\x06\x04\x13\n\x0f\n\x07\x04\x1a\x04\x00\x02\x04\x02\x12\x04\xf7\x06\x16\x17\n\x0e\n\x06\x04\x1a\x04\x00\x02\x05\x12\x04\xf8\x06\x04\x1c\n\x0f\n\x07\x04\x1a\x04\x00\x02\x05\x01\x12\x04\xf8\x06\x04\x17\n\x0f\n\x07\x04\x1a\x04\x00\x02\x05\x02\x12\x04\xf8\x06\x1a\x1b\n\x0e\n\x06\x04\x1a\x04\x00\x02\x06\x12\x04\xf9\x06\x04\x1d\n\x0f\n\x07\x04\x1a\x04\x00\x02\x06\x01\x12\x04\xf9\x06\x04\x18\n\x0f\n\x07\x04\x1a\x04\x00\x02\x06\x02\x12\x04\xf9\x06\x1b\x1c\n\x0e\n\x06\x04\x1a\x04\x00\x02\x07\x12\x04\xfa\x06\x04\x1c\n\x0f\n\x07\x04\x1a\x04\x00\x02\x07\x01\x12\x04\xfa\x06\x04\x17\n\x0f\n\x07\x04\x1a\x04\x00\x02\x07\x02\x12\x04\xfa\x06\x1a\x1b\n\x0e\n\x06\x04\x1a\x04\x00\x02\x08\x12\x04\xfb\x06\x04\x1d\n\x0f\n\x07\x04\x1a\x04\x00\x02\x08\x01\x12\x04\xfb\x06\x04\x18\n\x0f\n\x07\x04\x1a\x04\x00\x02\x08\x02\x12\x04\xfb\x06\x1b\x1c\n\x0e\n\x06\x04\x1a\x04\x00\x02\t\x12\x04\xfc\x06\x04\x1e\n\x0f\n\x07\x04\x1a\x04\x00\x02\t\x01\x12\x04\xfc\x06\x04\x19\n\x0f\n\x07\x04\x1a\x04\x00\x02\t\x02\x12\x04\xfc\x06\x1c\x1d\n\x0e\n\x06\x04\x1a\x04\x00\x02\n\x12\x04\xfd\x06\x04 \n\x0f\n\x07\x04\x1a\x04\x00\x02\n\x01\x12\x04\xfd\x06\x04\x1a\n\x0f\n\x07\x04\x1a\x04\x00\x02\n\x02\x12\x04\xfd\x06\x1d\x1f\n\x0e\n\x06\x04\x1a\x04\x00\x02\x0b\x12\x04\xfe\x06\x04\x1d\n\x0f\n\x07\x04\x1a\x04\x00\x02\x0b\x01\x12\x04\xfe\x06\x04\x17\n\x0f\n\x07\x04\x1a\x04\x00\x02\x0b\x02\x12\x04\xfe\x06\x1a\x1c\n\x0e\n\x06\x04\x1a\x04\x00\x02\x0c\x12\x04\xff\x06\x04\x1e\n\x0f\n\x07\x04\x1a\x04\x00\x02\x0c\x01\x12\x04\xff\x06\x04\x18\n\x0f\n\x07\x04\x1a\x04\x00\x02\x0c\x02\x12\x04\xff\x06\x1b\x1d\n\x0c\n\x04\x04\x1a\x02\x08\x12\x04\x82\x07\x02A\n\r\n\x05\x04\x1a\x02\x08\x06\x12\x04\x82\x07\x02(\n\r\n\x05\x04\x1a\x02\x08\x01\x12\x04\x82\x07);\n\r\n\x05\x04\x1a\x02\x08\x03\x12\x04\x82\x07>@\n\xc5\x01\n\x02\x04\x1b\x12\x06\x87\x07\x00\xa1\x07\x01\x1a\xb6\x01 The nested loop join (NLJ) operator will hold the entire right input and iterate over it using the\n left input, evaluating the join expression on the Cartesian product of all rows.\n\n\x0b\n\x03\x04\x1b\x01\x12\x04\x87\x07\x08\x19\n\x0c\n\x04\x04\x1b\x02\x00\x12\x04\x88\x07\x02\x17\n\r\n\x05\x04\x1b\x02\x00\x06\x12\x04\x88\x07\x02\x0b\n\r\n\x05\x04\x1b\x02\x00\x01\x12\x04\x88\x07\x0c\x12\n\r\n\x05\x04\x1b\x02\x00\x03\x12\x04\x88\x07\x15\x16\n\x0c\n\x04\x04\x1b\x02\x01\x12\x04\x89\x07\x02\x0f\n\r\n\x05\x04\x1b\x02\x01\x06\x12\x04\x89\x07\x02\x05\n\r\n\x05\x04\x1b\x02\x01\x01\x12\x04\x89\x07\x06\n\n\r\n\x05\x04\x1b\x02\x01\x03\x12\x04\x89\x07\r\x0e\n\x0c\n\x04\x04\x1b\x02\x02\x12\x04\x8a\x07\x02\x10\n\r\n\x05\x04\x1b\x02\x02\x06\x12\x04\x8a\x07\x02\x05\n\r\n\x05\x04\x1b\x02\x02\x01\x12\x04\x8a\x07\x06\x0b\n\r\n\x05\x04\x1b\x02\x02\x03\x12\x04\x8a\x07\x0e\x0f\n=\n\x04\x04\x1b\x02\x03\x12\x04\x8c\x07\x02\x1c\x1a/ optional, defaults to true (a cartesian join)\n\n\r\n\x05\x04\x1b\x02\x03\x06\x12\x04\x8c\x07\x02\x0c\n\r\n\x05\x04\x1b\x02\x03\x01\x12\x04\x8c\x07\r\x17\n\r\n\x05\x04\x1b\x02\x03\x03\x12\x04\x8c\x07\x1a\x1b\n\x0c\n\x04\x04\x1b\x02\x04\x12\x04\x8e\x07\x02\x14\n\r\n\x05\x04\x1b\x02\x04\x06\x12\x04\x8e\x07\x02\n\n\r\n\x05\x04\x1b\x02\x04\x01\x12\x04\x8e\x07\x0b\x0f\n\r\n\x05\x04\x1b\x02\x04\x03\x12\x04\x8e\x07\x12\x13\n\x0e\n\x04\x04\x1b\x04\x00\x12\x06\x90\x07\x02\x9e\x07\x03\n\r\n\x05\x04\x1b\x04\x00\x01\x12\x04\x90\x07\x07\x0f\n\x0e\n\x06\x04\x1b\x04\x00\x02\x00\x12\x04\x91\x07\x04\x1e\n\x0f\n\x07\x04\x1b\x04\x00\x02\x00\x01\x12\x04\x91\x07\x04\x19\n\x0f\n\x07\x04\x1b\x04\x00\x02\x00\x02\x12\x04\x91\x07\x1c\x1d\n\x0e\n\x06\x04\x1b\x04\x00\x02\x01\x12\x04\x92\x07\x04\x18\n\x0f\n\x07\x04\x1b\x04\x00\x02\x01\x01\x12\x04\x92\x07\x04\x13\n\x0f\n\x07\x04\x1b\x04\x00\x02\x01\x02\x12\x04\x92\x07\x16\x17\n\x0e\n\x06\x04\x1b\x04\x00\x02\x02\x12\x04\x93\x07\x04\x18\n\x0f\n\x07\x04\x1b\x04\x00\x02\x02\x01\x12\x04\x93\x07\x04\x13\n\x0f\n\x07\x04\x1b\x04\x00\x02\x02\x02\x12\x04\x93\x07\x16\x17\n\x0e\n\x06\x04\x1b\x04\x00\x02\x03\x12\x04\x94\x07\x04\x17\n\x0f\n\x07\x04\x1b\x04\x00\x02\x03\x01\x12\x04\x94\x07\x04\x12\n\x0f\n\x07\x04\x1b\x04\x00\x02\x03\x02\x12\x04\x94\x07\x15\x16\n\x0e\n\x06\x04\x1b\x04\x00\x02\x04\x12\x04\x95\x07\x04\x18\n\x0f\n\x07\x04\x1b\x04\x00\x02\x04\x01\x12\x04\x95\x07\x04\x13\n\x0f\n\x07\x04\x1b\x04\x00\x02\x04\x02\x12\x04\x95\x07\x16\x17\n\x0e\n\x06\x04\x1b\x04\x00\x02\x05\x12\x04\x96\x07\x04\x1c\n\x0f\n\x07\x04\x1b\x04\x00\x02\x05\x01\x12\x04\x96\x07\x04\x17\n\x0f\n\x07\x04\x1b\x04\x00\x02\x05\x02\x12\x04\x96\x07\x1a\x1b\n\x0e\n\x06\x04\x1b\x04\x00\x02\x06\x12\x04\x97\x07\x04\x1d\n\x0f\n\x07\x04\x1b\x04\x00\x02\x06\x01\x12\x04\x97\x07\x04\x18\n\x0f\n\x07\x04\x1b\x04\x00\x02\x06\x02\x12\x04\x97\x07\x1b\x1c\n\x0e\n\x06\x04\x1b\x04\x00\x02\x07\x12\x04\x98\x07\x04\x1c\n\x0f\n\x07\x04\x1b\x04\x00\x02\x07\x01\x12\x04\x98\x07\x04\x17\n\x0f\n\x07\x04\x1b\x04\x00\x02\x07\x02\x12\x04\x98\x07\x1a\x1b\n\x0e\n\x06\x04\x1b\x04\x00\x02\x08\x12\x04\x99\x07\x04\x1d\n\x0f\n\x07\x04\x1b\x04\x00\x02\x08\x01\x12\x04\x99\x07\x04\x18\n\x0f\n\x07\x04\x1b\x04\x00\x02\x08\x02\x12\x04\x99\x07\x1b\x1c\n\x0e\n\x06\x04\x1b\x04\x00\x02\t\x12\x04\x9a\x07\x04\x1e\n\x0f\n\x07\x04\x1b\x04\x00\x02\t\x01\x12\x04\x9a\x07\x04\x19\n\x0f\n\x07\x04\x1b\x04\x00\x02\t\x02\x12\x04\x9a\x07\x1c\x1d\n\x0e\n\x06\x04\x1b\x04\x00\x02\n\x12\x04\x9b\x07\x04 \n\x0f\n\x07\x04\x1b\x04\x00\x02\n\x01\x12\x04\x9b\x07\x04\x1a\n\x0f\n\x07\x04\x1b\x04\x00\x02\n\x02\x12\x04\x9b\x07\x1d\x1f\n\x0e\n\x06\x04\x1b\x04\x00\x02\x0b\x12\x04\x9c\x07\x04\x1d\n\x0f\n\x07\x04\x1b\x04\x00\x02\x0b\x01\x12\x04\x9c\x07\x04\x17\n\x0f\n\x07\x04\x1b\x04\x00\x02\x0b\x02\x12\x04\x9c\x07\x1a\x1c\n\x0e\n\x06\x04\x1b\x04\x00\x02\x0c\x12\x04\x9d\x07\x04\x1e\n\x0f\n\x07\x04\x1b\x04\x00\x02\x0c\x01\x12\x04\x9d\x07\x04\x18\n\x0f\n\x07\x04\x1b\x04\x00\x02\x0c\x02\x12\x04\x9d\x07\x1b\x1d\n\x0c\n\x04\x04\x1b\x02\x05\x12\x04\xa0\x07\x02A\n\r\n\x05\x04\x1b\x02\x05\x06\x12\x04\xa0\x07\x02(\n\r\n\x05\x04\x1b\x02\x05\x01\x12\x04\xa0\x07);\n\r\n\x05\x04\x1b\x02\x05\x03\x12\x04\xa0\x07>@\n*\n\x02\x04\x1c\x12\x06\xa4\x07\x00\xaa\x07\x01\x1a\x1c The argument of a function\n\n\x0b\n\x03\x04\x1c\x01\x12\x04\xa4\x07\x08\x18\n\x0e\n\x04\x04\x1c\x08\x00\x12\x06\xa5\x07\x02\xa9\x07\x03\n\r\n\x05\x04\x1c\x08\x00\x01\x12\x04\xa5\x07\x08\x10\n\x0c\n\x04\x04\x1c\x02\x00\x12\x04\xa6\x07\x04\x14\n\r\n\x05\x04\x1c\x02\x00\x05\x12\x04\xa6\x07\x04\n\n\r\n\x05\x04\x1c\x02\x00\x01\x12\x04\xa6\x07\x0b\x0f\n\r\n\x05\x04\x1c\x02\x00\x03\x12\x04\xa6\x07\x12\x13\n\x0c\n\x04\x04\x1c\x02\x01\x12\x04\xa7\x07\x04\x12\n\r\n\x05\x04\x1c\x02\x01\x06\x12\x04\xa7\x07\x04\x08\n\r\n\x05\x04\x1c\x02\x01\x01\x12\x04\xa7\x07\t\r\n\r\n\x05\x04\x1c\x02\x01\x03\x12\x04\xa7\x07\x10\x11\n\x0c\n\x04\x04\x1c\x02\x02\x12\x04\xa8\x07\x04\x19\n\r\n\x05\x04\x1c\x02\x02\x06\x12\x04\xa8\x07\x04\x0e\n\r\n\x05\x04\x1c\x02\x02\x01\x12\x04\xa8\x07\x0f\x14\n\r\n\x05\x04\x1c\x02\x02\x03\x12\x04\xa8\x07\x17\x18\ns\n\x02\x04\x1d\x12\x06\xae\x07\x00\xbb\x07\x01\x1ae An optional function argument.  Typically used for specifying behavior in\n invalid or corner cases.\n\n\x0b\n\x03\x04\x1d\x01\x12\x04\xae\x07\x08\x16\n\xc8\x01\n\x04\x04\x1d\x02\x00\x12\x04\xb2\x07\x02\x12\x1a\xb9\x01 Name of the option to set. If the consumer does not recognize the\n option, it must reject the plan. The name is matched case-insensitively\n with option names defined for the function.\n\n\r\n\x05\x04\x1d\x02\x00\x05\x12\x04\xb2\x07\x02\x08\n\r\n\x05\x04\x1d\x02\x00\x01\x12\x04\xb2\x07\t\r\n\r\n\x05\x04\x1d\x02\x00\x03\x12\x04\xb2\x07\x10\x11\n\xae\x03\n\x04\x04\x1d\x02\x01\x12\x04\xba\x07\x02!\x1a\x9f\x03 List of behavior options allowed by the producer. At least one must be\n specified; to leave an option unspecified, simply don\'t add an entry to\n `options`. The consumer must use the first option from the list that it\n supports. If the consumer supports none of the specified options, it\n must reject the plan. The name is matched case-insensitively and must\n match one of the option values defined for the option.\n\n\r\n\x05\x04\x1d\x02\x01\x04\x12\x04\xba\x07\x02\n\n\r\n\x05\x04\x1d\x02\x01\x05\x12\x04\xba\x07\x0b\x11\n\r\n\x05\x04\x1d\x02\x01\x01\x12\x04\xba\x07\x12\x1c\n\r\n\x05\x04\x1d\x02\x01\x03\x12\x04\xba\x07\x1f \n\x0c\n\x02\x04\x1e\x12\x06\xbd\x07\x00\xe1\x0c\x01\n\x0b\n\x03\x04\x1e\x01\x12\x04\xbd\x07\x08\x12\n\x0e\n\x04\x04\x1e\x08\x00\x12\x06\xbe\x07\x02\xd0\x07\x03\n\r\n\x05\x04\x1e\x08\x00\x01\x12\x04\xbe\x07\x08\x10\n\x0c\n\x04\x04\x1e\x02\x00\x12\x04\xbf\x07\x04\x18\n\r\n\x05\x04\x1e\x02\x00\x06\x12\x04\xbf\x07\x04\x0b\n\r\n\x05\x04\x1e\x02\x00\x01\x12\x04\xbf\x07\x0c\x13\n\r\n\x05\x04\x1e\x02\x00\x03\x12\x04\xbf\x07\x16\x17\n\x0c\n\x04\x04\x1e\x02\x01\x12\x04\xc0\x07\x04!\n\r\n\x05\x04\x1e\x02\x01\x06\x12\x04\xc0\x07\x04\x12\n\r\n\x05\x04\x1e\x02\x01\x01\x12\x04\xc0\x07\x13\x1c\n\r\n\x05\x04\x1e\x02\x01\x03\x12\x04\xc0\x07\x1f \n\x0c\n\x04\x04\x1e\x02\x02\x12\x04\xc1\x07\x04\'\n\r\n\x05\x04\x1e\x02\x02\x06\x12\x04\xc1\x07\x04\x12\n\r\n\x05\x04\x1e\x02\x02\x01\x12\x04\xc1\x07\x13\"\n\r\n\x05\x04\x1e\x02\x02\x03\x12\x04\xc1\x07%&\n\x0c\n\x04\x04\x1e\x02\x03\x12\x04\xc2\x07\x04\'\n\r\n\x05\x04\x1e\x02\x03\x06\x12\x04\xc2\x07\x04\x12\n\r\n\x05\x04\x1e\x02\x03\x01\x12\x04\xc2\x07\x13\"\n\r\n\x05\x04\x1e\x02\x03\x03\x12\x04\xc2\x07%&\n\x0c\n\x04\x04\x1e\x02\x04\x12\x04\xc3\x07\x04\x17\n\r\n\x05\x04\x1e\x02\x04\x06\x12\x04\xc3\x07\x04\n\n\r\n\x05\x04\x1e\x02\x04\x01\x12\x04\xc3\x07\x0b\x12\n\r\n\x05\x04\x1e\x02\x04\x03\x12\x04\xc3\x07\x15\x16\n\x0c\n\x04\x04\x1e\x02\x05\x12\x04\xc4\x07\x04+\n\r\n\x05\x04\x1e\x02\x05\x06\x12\x04\xc4\x07\x04\x14\n\r\n\x05\x04\x1e\x02\x05\x01\x12\x04\xc4\x07\x15&\n\r\n\x05\x04\x1e\x02\x05\x03\x12\x04\xc4\x07)*\n\x0c\n\x04\x04\x1e\x02\x06\x12\x04\xc5\x07\x04(\n\r\n\x05\x04\x1e\x02\x06\x06\x12\x04\xc5\x07\x04\x12\n\r\n\x05\x04\x1e\x02\x06\x01\x12\x04\xc5\x07\x13#\n\r\n\x05\x04\x1e\x02\x06\x03\x12\x04\xc5\x07&\'\n\x0c\n\x04\x04\x1e\x02\x07\x12\x04\xc6\x07\x04\"\n\r\n\x05\x04\x1e\x02\x07\x06\x12\x04\xc6\x07\x04\x0f\n\r\n\x05\x04\x1e\x02\x07\x01\x12\x04\xc6\x07\x10\x1d\n\r\n\x05\x04\x1e\x02\x07\x03\x12\x04\xc6\x07 !\n\x0c\n\x04\x04\x1e\x02\x08\x12\x04\xc7\x07\x04\x13\n\r\n\x05\x04\x1e\x02\x08\x06\x12\x04\xc7\x07\x04\x08\n\r\n\x05\x04\x1e\x02\x08\x01\x12\x04\xc7\x07\t\r\n\r\n\x05\x04\x1e\x02\x08\x03\x12\x04\xc7\x07\x10\x12\n\x0c\n\x04\x04\x1e\x02\t\x12\x04\xc8\x07\x04\x1b\n\r\n\x05\x04\x1e\x02\t\x06\x12\x04\xc8\x07\x04\x0c\n\r\n\x05\x04\x1e\x02\t\x01\x12\x04\xc8\x07\r\x15\n\r\n\x05\x04\x1e\x02\t\x03\x12\x04\xc8\x07\x18\x1a\n\x0c\n\x04\x04\x1e\x02\n\x12\x04\xc9\x07\x04\x17\n\r\n\x05\x04\x1e\x02\n\x06\x12\x04\xc9\x07\x04\n\n\r\n\x05\x04\x1e\x02\n\x01\x12\x04\xc9\x07\x0b\x11\n\r\n\x05\x04\x1e\x02\n\x03\x12\x04\xc9\x07\x14\x16\n\x0c\n\x04\x04\x1e\x02\x0b\x12\x04\xca\x07\x04,\n\r\n\x05\x04\x1e\x02\x0b\x06\x12\x04\xca\x07\x04\x14\n\r\n\x05\x04\x1e\x02\x0b\x01\x12\x04\xca\x07\x15&\n\r\n\x05\x04\x1e\x02\x0b\x03\x12\x04\xca\x07)+\n\x92\x01\n\x04\x04\x1e\x02\x0c\x12\x04\xcf\x07\x04\'\x1a\x83\x01 deprecated: enum literals are only sensible in the context of\n function arguments, for which FunctionArgument should now be\n used\n\n\r\n\x05\x04\x1e\x02\x0c\x06\x12\x04\xcf\x07\x04\x08\n\r\n\x05\x04\x1e\x02\x0c\x01\x12\x04\xcf\x07\t\r\n\r\n\x05\x04\x1e\x02\x0c\x03\x12\x04\xcf\x07\x10\x12\n\r\n\x05\x04\x1e\x02\x0c\x08\x12\x04\xcf\x07\x13&\n\x0e\n\x06\x04\x1e\x02\x0c\x08\x03\x12\x04\xcf\x07\x14%\n\x0e\n\x04\x04\x1e\x03\x00\x12\x06\xd2\x07\x02\xdd\x07\x03\n\r\n\x05\x04\x1e\x03\x00\x01\x12\x04\xd2\x07\n\x0e\n\r\n\x05\x04\x1e\x03\x00\x07\x12\x04\xd3\x07\x04\x1d\n\x0e\n\x06\x04\x1e\x03\x00\x07\x03\x12\x04\xd3\x07\x04\x1d\n\x10\n\x06\x04\x1e\x03\x00\x08\x00\x12\x06\xd5\x07\x04\xd8\x07\x05\n\x0f\n\x07\x04\x1e\x03\x00\x08\x00\x01\x12\x04\xd5\x07\n\x13\n\x0e\n\x06\x04\x1e\x03\x00\x02\x00\x12\x04\xd6\x07\x06\x1b\n\x0f\n\x07\x04\x1e\x03\x00\x02\x00\x05\x12\x04\xd6\x07\x06\x0c\n\x0f\n\x07\x04\x1e\x03\x00\x02\x00\x01\x12\x04\xd6\x07\r\x16\n\x0f\n\x07\x04\x1e\x03\x00\x02\x00\x03\x12\x04\xd6\x07\x19\x1a\n\x0e\n\x06\x04\x1e\x03\x00\x02\x01\x12\x04\xd7\x07\x06\x1c\n\x0f\n\x07\x04\x1e\x03\x00\x02\x01\x06\x12\x04\xd7\x07\x06\x0b\n\x0f\n\x07\x04\x1e\x03\x00\x02\x01\x01\x12\x04\xd7\x07\x0c\x17\n\x0f\n\x07\x04\x1e\x03\x00\x02\x01\x03\x12\x04\xd7\x07\x1a\x1b\n\x10\n\x06\x04\x1e\x03\x00\x03\x00\x12\x06\xda\x07\x04\xdc\x07\x05\n\x0f\n\x07\x04\x1e\x03\x00\x03\x00\x01\x12\x04\xda\x07\x0c\x11\n\x0f\n\x07\x04\x1e\x03\x00\x03\x00\x07\x12\x04\xdb\x07\x06\x1f\n\x10\n\x08\x04\x1e\x03\x00\x03\x00\x07\x03\x12\x04\xdb\x07\x06\x1f\n\x0e\n\x04\x04\x1e\x03\x01\x12\x06\xdf\x07\x02\xf0\x08\x03\n\r\n\x05\x04\x1e\x03\x01\x01\x12\x04\xdf\x07\n\x11\n\x10\n\x06\x04\x1e\x03\x01\x08\x00\x12\x06\xe0\x07\x04\x88\x08\x05\n\x0f\n\x07\x04\x1e\x03\x01\x08\x00\x01\x12\x04\xe0\x07\n\x16\n\x0e\n\x06\x04\x1e\x03\x01\x02\x00\x12\x04\xe1\x07\x06\x17\n\x0f\n\x07\x04\x1e\x03\x01\x02\x00\x05\x12\x04\xe1\x07\x06\n\n\x0f\n\x07\x04\x1e\x03\x01\x02\x00\x01\x12\x04\xe1\x07\x0b\x12\n\x0f\n\x07\x04\x1e\x03\x01\x02\x00\x03\x12\x04\xe1\x07\x15\x16\n\x0e\n\x06\x04\x1e\x03\x01\x02\x01\x12\x04\xe2\x07\x06\x13\n\x0f\n\x07\x04\x1e\x03\x01\x02\x01\x05\x12\x04\xe2\x07\x06\x0b\n\x0f\n\x07\x04\x1e\x03\x01\x02\x01\x01\x12\x04\xe2\x07\x0c\x0e\n\x0f\n\x07\x04\x1e\x03\x01\x02\x01\x03\x12\x04\xe2\x07\x11\x12\n\x0e\n\x06\x04\x1e\x03\x01\x02\x02\x12\x04\xe3\x07\x06\x14\n\x0f\n\x07\x04\x1e\x03\x01\x02\x02\x05\x12\x04\xe3\x07\x06\x0b\n\x0f\n\x07\x04\x1e\x03\x01\x02\x02\x01\x12\x04\xe3\x07\x0c\x0f\n\x0f\n\x07\x04\x1e\x03\x01\x02\x02\x03\x12\x04\xe3\x07\x12\x13\n\x0e\n\x06\x04\x1e\x03\x01\x02\x03\x12\x04\xe4\x07\x06\x14\n\x0f\n\x07\x04\x1e\x03\x01\x02\x03\x05\x12\x04\xe4\x07\x06\x0b\n\x0f\n\x07\x04\x1e\x03\x01\x02\x03\x01\x12\x04\xe4\x07\x0c\x0f\n\x0f\n\x07\x04\x1e\x03\x01\x02\x03\x03\x12\x04\xe4\x07\x12\x13\n\x0e\n\x06\x04\x1e\x03\x01\x02\x04\x12\x04\xe5\x07\x06\x14\n\x0f\n\x07\x04\x1e\x03\x01\x02\x04\x05\x12\x04\xe5\x07\x06\x0b\n\x0f\n\x07\x04\x1e\x03\x01\x02\x04\x01\x12\x04\xe5\x07\x0c\x0f\n\x0f\n\x07\x04\x1e\x03\x01\x02\x04\x03\x12\x04\xe5\x07\x12\x13\n\x0e\n\x06\x04\x1e\x03\x01\x02\x05\x12\x04\xe6\x07\x06\x16\n\x0f\n\x07\x04\x1e\x03\x01\x02\x05\x05\x12\x04\xe6\x07\x06\x0b\n\x0f\n\x07\x04\x1e\x03\x01\x02\x05\x01\x12\x04\xe6\x07\x0c\x10\n\x0f\n\x07\x04\x1e\x03\x01\x02\x05\x03\x12\x04\xe6\x07\x13\x15\n\x0e\n\x06\x04\x1e\x03\x01\x02\x06\x12\x04\xe7\x07\x06\x17\n\x0f\n\x07\x04\x1e\x03\x01\x02\x06\x05\x12\x04\xe7\x07\x06\x0c\n\x0f\n\x07\x04\x1e\x03\x01\x02\x06\x01\x12\x04\xe7\x07\r\x11\n\x0f\n\x07\x04\x1e\x03\x01\x02\x06\x03\x12\x04\xe7\x07\x14\x16\n\x0e\n\x06\x04\x1e\x03\x01\x02\x07\x12\x04\xe8\x07\x06\x19\n\x0f\n\x07\x04\x1e\x03\x01\x02\x07\x05\x12\x04\xe8\x07\x06\x0c\n\x0f\n\x07\x04\x1e\x03\x01\x02\x07\x01\x12\x04\xe8\x07\r\x13\n\x0f\n\x07\x04\x1e\x03\x01\x02\x07\x03\x12\x04\xe8\x07\x16\x18\n\x0e\n\x06\x04\x1e\x03\x01\x02\x08\x12\x04\xe9\x07\x06\x18\n\x0f\n\x07\x04\x1e\x03\x01\x02\x08\x05\x12\x04\xe9\x07\x06\x0b\n\x0f\n\x07\x04\x1e\x03\x01\x02\x08\x01\x12\x04\xe9\x07\x0c\x12\n\x0f\n\x07\x04\x1e\x03\x01\x02\x08\x03\x12\x04\xe9\x07\x15\x17\ny\n\x06\x04\x1e\x03\x01\x02\t\x12\x04\xec\x07\x06/\x1ai Timestamp in units of microseconds since the UNIX epoch.\n Deprecated in favor of `precision_timestamp`.\n\n\x0f\n\x07\x04\x1e\x03\x01\x02\t\x05\x12\x04\xec\x07\x06\x0b\n\x0f\n\x07\x04\x1e\x03\x01\x02\t\x01\x12\x04\xec\x07\x0c\x15\n\x0f\n\x07\x04\x1e\x03\x01\x02\t\x03\x12\x04\xec\x07\x18\x1a\n\x0f\n\x07\x04\x1e\x03\x01\x02\t\x08\x12\x04\xec\x07\x1b.\n\x10\n\x08\x04\x1e\x03\x01\x02\t\x08\x03\x12\x04\xec\x07\x1c-\n=\n\x06\x04\x1e\x03\x01\x02\n\x12\x04\xee\x07\x06\x16\x1a- Date in units of days since the UNIX epoch.\n\n\x0f\n\x07\x04\x1e\x03\x01\x02\n\x05\x12\x04\xee\x07\x06\x0b\n\x0f\n\x07\x04\x1e\x03\x01\x02\n\x01\x12\x04\xee\x07\x0c\x10\n\x0f\n\x07\x04\x1e\x03\x01\x02\n\x03\x12\x04\xee\x07\x13\x15\nh\n\x06\x04\x1e\x03\x01\x02\x0b\x12\x04\xf1\x07\x06\x16\x1aX Time in units of microseconds past midnight.\n Deprecated in favor of `precision_time`.\n\n\x0f\n\x07\x04\x1e\x03\x01\x02\x0b\x05\x12\x04\xf1\x07\x06\x0b\n\x0f\n\x07\x04\x1e\x03\x01\x02\x0b\x01\x12\x04\xf1\x07\x0c\x10\n\x0f\n\x07\x04\x1e\x03\x01\x02\x0b\x03\x12\x04\xf1\x07\x13\x15\n\x0e\n\x06\x04\x1e\x03\x01\x02\x0c\x12\x04\xf2\x07\x066\n\x0f\n\x07\x04\x1e\x03\x01\x02\x0c\x06\x12\x04\xf2\x07\x06\x19\n\x0f\n\x07\x04\x1e\x03\x01\x02\x0c\x01\x12\x04\xf2\x07\x1a0\n\x0f\n\x07\x04\x1e\x03\x01\x02\x0c\x03\x12\x04\xf2\x0735\n\x0e\n\x06\x04\x1e\x03\x01\x02\r\x12\x04\xf3\x07\x066\n\x0f\n\x07\x04\x1e\x03\x01\x02\r\x06\x12\x04\xf3\x07\x06\x19\n\x0f\n\x07\x04\x1e\x03\x01\x02\r\x01\x12\x04\xf3\x07\x1a0\n\x0f\n\x07\x04\x1e\x03\x01\x02\r\x03\x12\x04\xf3\x0735\n\x0e\n\x06\x04\x1e\x03\x01\x02\x0e\x12\x04\xf4\x07\x06.\n\x0f\n\x07\x04\x1e\x03\x01\x02\x0e\x06\x12\x04\xf4\x07\x06\x16\n\x0f\n\x07\x04\x1e\x03\x01\x02\x0e\x01\x12\x04\xf4\x07\x17(\n\x0f\n\x07\x04\x1e\x03\x01\x02\x0e\x03\x12\x04\xf4\x07+-\n\x0e\n\x06\x04\x1e\x03\x01\x02\x0f\x12\x04\xf5\x07\x06\x1d\n\x0f\n\x07\x04\x1e\x03\x01\x02\x0f\x05\x12\x04\xf5\x07\x06\x0c\n\x0f\n\x07\x04\x1e\x03\x01\x02\x0f\x01\x12\x04\xf5\x07\r\x17\n\x0f\n\x07\x04\x1e\x03\x01\x02\x0f\x03\x12\x04\xf5\x07\x1a\x1c\n\x0e\n\x06\x04\x1e\x03\x01\x02\x10\x12\x04\xf6\x07\x06\x1c\n\x0f\n\x07\x04\x1e\x03\x01\x02\x10\x06\x12\x04\xf6\x07\x06\r\n\x0f\n\x07\x04\x1e\x03\x01\x02\x10\x01\x12\x04\xf6\x07\x0e\x16\n\x0f\n\x07\x04\x1e\x03\x01\x02\x10\x03\x12\x04\xf6\x07\x19\x1b\n\x0e\n\x06\x04\x1e\x03\x01\x02\x11\x12\x04\xf7\x07\x06\x1e\n\x0f\n\x07\x04\x1e\x03\x01\x02\x11\x05\x12\x04\xf7\x07\x06\x0b\n\x0f\n\x07\x04\x1e\x03\x01\x02\x11\x01\x12\x04\xf7\x07\x0c\x18\n\x0f\n\x07\x04\x1e\x03\x01\x02\x11\x03\x12\x04\xf7\x07\x1b\x1d\n\x0e\n\x06\x04\x1e\x03\x01\x02\x12\x12\x04\xf8\x07\x06\x1b\n\x0f\n\x07\x04\x1e\x03\x01\x02\x12\x06\x12\x04\xf8\x07\x06\r\n\x0f\n\x07\x04\x1e\x03\x01\x02\x12\x01\x12\x04\xf8\x07\x0e\x15\n\x0f\n\x07\x04\x1e\x03\x01\x02\x12\x03\x12\x04\xf8\x07\x18\x1a\n8\n\x06\x04\x1e\x03\x01\x02\x13\x12\x04\xfa\x07\x06(\x1a( Time in precision units past midnight.\n\n\x0f\n\x07\x04\x1e\x03\x01\x02\x13\x06\x12\x04\xfa\x07\x06\x13\n\x0f\n\x07\x04\x1e\x03\x01\x02\x13\x01\x12\x04\xfa\x07\x14\"\n\x0f\n\x07\x04\x1e\x03\x01\x02\x13\x03\x12\x04\xfa\x07%\'\n\x0e\n\x06\x04\x1e\x03\x01\x02\x14\x12\x04\xfb\x07\x062\n\x0f\n\x07\x04\x1e\x03\x01\x02\x14\x06\x12\x04\xfb\x07\x06\x18\n\x0f\n\x07\x04\x1e\x03\x01\x02\x14\x01\x12\x04\xfb\x07\x19,\n\x0f\n\x07\x04\x1e\x03\x01\x02\x14\x03\x12\x04\xfb\x07/1\n\x0e\n\x06\x04\x1e\x03\x01\x02\x15\x12\x04\xfc\x07\x065\n\x0f\n\x07\x04\x1e\x03\x01\x02\x15\x06\x12\x04\xfc\x07\x06\x18\n\x0f\n\x07\x04\x1e\x03\x01\x02\x15\x01\x12\x04\xfc\x07\x19/\n\x0f\n\x07\x04\x1e\x03\x01\x02\x15\x03\x12\x04\xfc\x0724\n\x0e\n\x06\x04\x1e\x03\x01\x02\x16\x12\x04\xfd\x07\x06\x19\n\x0f\n\x07\x04\x1e\x03\x01\x02\x16\x06\x12\x04\xfd\x07\x06\x0c\n\x0f\n\x07\x04\x1e\x03\x01\x02\x16\x01\x12\x04\xfd\x07\r\x13\n\x0f\n\x07\x04\x1e\x03\x01\x02\x16\x03\x12\x04\xfd\x07\x16\x18\n\x0e\n\x06\x04\x1e\x03\x01\x02\x17\x12\x04\xfe\x07\x06\x13\n\x0f\n\x07\x04\x1e\x03\x01\x02\x17\x06\x12\x04\xfe\x07\x06\t\n\x0f\n\x07\x04\x1e\x03\x01\x02\x17\x01\x12\x04\xfe\x07\n\r\n\x0f\n\x07\x04\x1e\x03\x01\x02\x17\x03\x12\x04\xfe\x07\x10\x12\n{\n\x06\x04\x1e\x03\x01\x02\x18\x12\x04\x81\x08\x062\x1ak Timestamp in units of microseconds since the UNIX epoch.\n Deprecated in favor of `precision_timestamp_tz`\n\n\x0f\n\x07\x04\x1e\x03\x01\x02\x18\x05\x12\x04\x81\x08\x06\x0b\n\x0f\n\x07\x04\x1e\x03\x01\x02\x18\x01\x12\x04\x81\x08\x0c\x18\n\x0f\n\x07\x04\x1e\x03\x01\x02\x18\x03\x12\x04\x81\x08\x1b\x1d\n\x0f\n\x07\x04\x1e\x03\x01\x02\x18\x08\x12\x04\x81\x08\x1e1\n\x10\n\x08\x04\x1e\x03\x01\x02\x18\x08\x03\x12\x04\x81\x08\x1f0\n\x0e\n\x06\x04\x1e\x03\x01\x02\x19\x12\x04\x82\x08\x06\x16\n\x0f\n\x07\x04\x1e\x03\x01\x02\x19\x05\x12\x04\x82\x08\x06\x0b\n\x0f\n\x07\x04\x1e\x03\x01\x02\x19\x01\x12\x04\x82\x08\x0c\x10\n\x0f\n\x07\x04\x1e\x03\x01\x02\x19\x03\x12\x04\x82\x08\x13\x15\n&\n\x06\x04\x1e\x03\x01\x02\x1a\x12\x04\x83\x08\x06\x15\"\x16 a typed null literal\n\n\x0f\n\x07\x04\x1e\x03\x01\x02\x1a\x06\x12\x04\x83\x08\x06\n\n\x0f\n\x07\x04\x1e\x03\x01\x02\x1a\x01\x12\x04\x83\x08\x0b\x0f\n\x0f\n\x07\x04\x1e\x03\x01\x02\x1a\x03\x12\x04\x83\x08\x12\x14\n\x0e\n\x06\x04\x1e\x03\x01\x02\x1b\x12\x04\x84\x08\x06\x15\n\x0f\n\x07\x04\x1e\x03\x01\x02\x1b\x06\x12\x04\x84\x08\x06\n\n\x0f\n\x07\x04\x1e\x03\x01\x02\x1b\x01\x12\x04\x84\x08\x0b\x0f\n\x0f\n\x07\x04\x1e\x03\x01\x02\x1b\x03\x12\x04\x84\x08\x12\x14\n\x0e\n\x06\x04\x1e\x03\x01\x02\x1c\x12\x04\x85\x08\x06 \n\x0f\n\x07\x04\x1e\x03\x01\x02\x1c\x06\x12\x04\x85\x08\x06\x0f\n\x0f\n\x07\x04\x1e\x03\x01\x02\x1c\x01\x12\x04\x85\x08\x10\x1a\n\x0f\n\x07\x04\x1e\x03\x01\x02\x1c\x03\x12\x04\x85\x08\x1d\x1f\n\x0e\n\x06\x04\x1e\x03\x01\x02\x1d\x12\x04\x86\x08\x06\x1e\n\x0f\n\x07\x04\x1e\x03\x01\x02\x1d\x06\x12\x04\x86\x08\x06\x0e\n\x0f\n\x07\x04\x1e\x03\x01\x02\x1d\x01\x12\x04\x86\x08\x0f\x18\n\x0f\n\x07\x04\x1e\x03\x01\x02\x1d\x03\x12\x04\x86\x08\x1b\x1d\n\x0e\n\x06\x04\x1e\x03\x01\x02\x1e\x12\x04\x87\x08\x06$\n\x0f\n\x07\x04\x1e\x03\x01\x02\x1e\x06\x12\x04\x87\x08\x06\x11\n\x0f\n\x07\x04\x1e\x03\x01\x02\x1e\x01\x12\x04\x87\x08\x12\x1e\n\x0f\n\x07\x04\x1e\x03\x01\x02\x1e\x03\x12\x04\x87\x08!#\n\xb9\x02\n\x06\x04\x1e\x03\x01\x02\x1f\x12\x04\x8f\x08\x04\x17\x1a\xa8\x02 Whether the literal_type above should be treated as a nullable type.\n Applies to all members of the literal_type oneof EXCEPT:\n  * Type null             (must be nullable by definition)\n  * Type.List empty_list  (use Type.List::nullability)\n  * Type.Map empty_map    (use Type.Map::nullability)\n\n\x0f\n\x07\x04\x1e\x03\x01\x02\x1f\x05\x12\x04\x8f\x08\x04\x08\n\x0f\n\x07\x04\x1e\x03\x01\x02\x1f\x01\x12\x04\x8f\x08\t\x11\n\x0f\n\x07\x04\x1e\x03\x01\x02\x1f\x03\x12\x04\x8f\x08\x14\x16\n\xc5\x01\n\x06\x04\x1e\x03\x01\x02 \x12\x04\x94\x08\x04)\x1a\xb4\x01 optionally points to a type_variation_anchor defined in this plan.\n Applies to all members of union other than the Typed null (which should\n directly declare the type variation).\n\n\x0f\n\x07\x04\x1e\x03\x01\x02 \x05\x12\x04\x94\x08\x04\n\n\x0f\n\x07\x04\x1e\x03\x01\x02 \x01\x12\x04\x94\x08\x0b#\n\x0f\n\x07\x04\x1e\x03\x01\x02 \x03\x12\x04\x94\x08&(\n\x10\n\x06\x04\x1e\x03\x01\x03\x00\x12\x06\x96\x08\x04\x99\x08\x05\n\x0f\n\x07\x04\x1e\x03\x01\x03\x00\x01\x12\x04\x96\x08\x0c\x13\n\x10\n\x08\x04\x1e\x03\x01\x03\x00\x02\x00\x12\x04\x97\x08\x06\x17\n\x11\n\t\x04\x1e\x03\x01\x03\x00\x02\x00\x05\x12\x04\x97\x08\x06\x0c\n\x11\n\t\x04\x1e\x03\x01\x03\x00\x02\x00\x01\x12\x04\x97\x08\r\x12\n\x11\n\t\x04\x1e\x03\x01\x03\x00\x02\x00\x03\x12\x04\x97\x08\x15\x16\n\x10\n\x08\x04\x1e\x03\x01\x03\x00\x02\x01\x12\x04\x98\x08\x06\x18\n\x11\n\t\x04\x1e\x03\x01\x03\x00\x02\x01\x05\x12\x04\x98\x08\x06\x0c\n\x11\n\t\x04\x1e\x03\x01\x03\x00\x02\x01\x01\x12\x04\x98\x08\r\x13\n\x11\n\t\x04\x1e\x03\x01\x03\x00\x02\x01\x03\x12\x04\x98\x08\x16\x17\n\x10\n\x06\x04\x1e\x03\x01\x03\x01\x12\x06\x9b\x08\x04\xa4\x08\x05\n\x0f\n\x07\x04\x1e\x03\x01\x03\x01\x01\x12\x04\x9b\x08\x0c\x13\n\x8a\x01\n\x08\x04\x1e\x03\x01\x03\x01\x02\x00\x12\x04\x9e\x08\x06\x16\x1ax little-endian twos-complement integer representation of complete value\n (ignoring precision) Always 16 bytes in length\n\n\x11\n\t\x04\x1e\x03\x01\x03\x01\x02\x00\x05\x12\x04\x9e\x08\x06\x0b\n\x11\n\t\x04\x1e\x03\x01\x03\x01\x02\x00\x01\x12\x04\x9e\x08\x0c\x11\n\x11\n\t\x04\x1e\x03\x01\x03\x01\x02\x00\x03\x12\x04\x9e\x08\x14\x15\nd\n\x08\x04\x1e\x03\x01\x03\x01\x02\x01\x12\x04\xa1\x08\x06\x1a\x1aR The maximum number of digits allowed in the value.\n the maximum precision is 38.\n\n\x11\n\t\x04\x1e\x03\x01\x03\x01\x02\x01\x05\x12\x04\xa1\x08\x06\x0b\n\x11\n\t\x04\x1e\x03\x01\x03\x01\x02\x01\x01\x12\x04\xa1\x08\x0c\x15\n\x11\n\t\x04\x1e\x03\x01\x03\x01\x02\x01\x03\x12\x04\xa1\x08\x18\x19\n5\n\x08\x04\x1e\x03\x01\x03\x01\x02\x02\x12\x04\xa3\x08\x06\x16\x1a# declared scale of decimal literal\n\n\x11\n\t\x04\x1e\x03\x01\x03\x01\x02\x02\x05\x12\x04\xa3\x08\x06\x0b\n\x11\n\t\x04\x1e\x03\x01\x03\x01\x02\x02\x01\x12\x04\xa3\x08\x0c\x11\n\x11\n\t\x04\x1e\x03\x01\x03\x01\x02\x02\x03\x12\x04\xa3\x08\x14\x15\n\x10\n\x06\x04\x1e\x03\x01\x03\x02\x12\x06\xa6\x08\x04\xab\x08\x05\n\x0f\n\x07\x04\x1e\x03\x01\x03\x02\x01\x12\x04\xa6\x08\x0c\x19\n\x98\x01\n\x08\x04\x1e\x03\x01\x03\x02\x02\x00\x12\x04\xa8\x08\x06\x1a\x1a\x85\x01 Sub-second precision, 0 means the value given is in seconds, 3 is milliseconds, 6 microseconds, 9 is nanoseconds, 12 is picoseconds\n\n\x11\n\t\x04\x1e\x03\x01\x03\x02\x02\x00\x05\x12\x04\xa8\x08\x06\x0b\n\x11\n\t\x04\x1e\x03\x01\x03\x02\x02\x00\x01\x12\x04\xa8\x08\x0c\x15\n\x11\n\t\x04\x1e\x03\x01\x03\x02\x02\x00\x03\x12\x04\xa8\x08\x18\x19\nB\n\x08\x04\x1e\x03\x01\x03\x02\x02\x01\x12\x04\xaa\x08\x06\x16\x1a0 Time passed since midnight in precision units.\n\n\x11\n\t\x04\x1e\x03\x01\x03\x02\x02\x01\x05\x12\x04\xaa\x08\x06\x0b\n\x11\n\t\x04\x1e\x03\x01\x03\x02\x02\x01\x01\x12\x04\xaa\x08\x0c\x11\n\x11\n\t\x04\x1e\x03\x01\x03\x02\x02\x01\x03\x12\x04\xaa\x08\x14\x15\n\x10\n\x06\x04\x1e\x03\x01\x03\x03\x12\x06\xad\x08\x04\xb2\x08\x05\n\x0f\n\x07\x04\x1e\x03\x01\x03\x03\x01\x12\x04\xad\x08\x0c\x1e\n\x98\x01\n\x08\x04\x1e\x03\x01\x03\x03\x02\x00\x12\x04\xaf\x08\x06\x1a\x1a\x85\x01 Sub-second precision, 0 means the value given is in seconds, 3 is milliseconds, 6 microseconds, 9 is nanoseconds, 12 is picoseconds\n\n\x11\n\t\x04\x1e\x03\x01\x03\x03\x02\x00\x05\x12\x04\xaf\x08\x06\x0b\n\x11\n\t\x04\x1e\x03\x01\x03\x03\x02\x00\x01\x12\x04\xaf\x08\x0c\x15\n\x11\n\t\x04\x1e\x03\x01\x03\x03\x02\x00\x03\x12\x04\xaf\x08\x18\x19\n\x90\x01\n\x08\x04\x1e\x03\x01\x03\x03\x02\x01\x12\x04\xb1\x08\x06\x16\x1a~ Time passed since 1970-01-01 00:00:00.000000 in UTC for PrecisionTimestampTZ and unspecified timezone for PrecisionTimestamp\n\n\x11\n\t\x04\x1e\x03\x01\x03\x03\x02\x01\x05\x12\x04\xb1\x08\x06\x0b\n\x11\n\t\x04\x1e\x03\x01\x03\x03\x02\x01\x01\x12\x04\xb1\x08\x0c\x11\n\x11\n\t\x04\x1e\x03\x01\x03\x03\x02\x01\x03\x12\x04\xb1\x08\x14\x15\n\x10\n\x06\x04\x1e\x03\x01\x03\x04\x12\x06\xb4\x08\x04\xbb\x08\x05\n\x0f\n\x07\x04\x1e\x03\x01\x03\x04\x01\x12\x04\xb4\x08\x0c\x0f\n\x12\n\x08\x04\x1e\x03\x01\x03\x04\x03\x00\x12\x06\xb5\x08\x06\xb8\x08\x07\n\x11\n\t\x04\x1e\x03\x01\x03\x04\x03\x00\x01\x12\x04\xb5\x08\x0e\x16\n\x12\n\n\x04\x1e\x03\x01\x03\x04\x03\x00\x02\x00\x12\x04\xb6\x08\x08\x18\n\x13\n\x0b\x04\x1e\x03\x01\x03\x04\x03\x00\x02\x00\x06\x12\x04\xb6\x08\x08\x0f\n\x13\n\x0b\x04\x1e\x03\x01\x03\x04\x03\x00\x02\x00\x01\x12\x04\xb6\x08\x10\x13\n\x13\n\x0b\x04\x1e\x03\x01\x03\x04\x03\x00\x02\x00\x03\x12\x04\xb6\x08\x16\x17\n\x12\n\n\x04\x1e\x03\x01\x03\x04\x03\x00\x02\x01\x12\x04\xb7\x08\x08\x1a\n\x13\n\x0b\x04\x1e\x03\x01\x03\x04\x03\x00\x02\x01\x06\x12\x04\xb7\x08\x08\x0f\n\x13\n\x0b\x04\x1e\x03\x01\x03\x04\x03\x00\x02\x01\x01\x12\x04\xb7\x08\x10\x15\n\x13\n\x0b\x04\x1e\x03\x01\x03\x04\x03\x00\x02\x01\x03\x12\x04\xb7\x08\x18\x19\n\x10\n\x08\x04\x1e\x03\x01\x03\x04\x02\x00\x12\x04\xba\x08\x06\'\n\x11\n\t\x04\x1e\x03\x01\x03\x04\x02\x00\x04\x12\x04\xba\x08\x06\x0e\n\x11\n\t\x04\x1e\x03\x01\x03\x04\x02\x00\x06\x12\x04\xba\x08\x0f\x17\n\x11\n\t\x04\x1e\x03\x01\x03\x04\x02\x00\x01\x12\x04\xba\x08\x18\"\n\x11\n\t\x04\x1e\x03\x01\x03\x04\x02\x00\x03\x12\x04\xba\x08%&\n\x10\n\x06\x04\x1e\x03\x01\x03\x05\x12\x06\xbd\x08\x04\xc0\x08\x05\n\x0f\n\x07\x04\x1e\x03\x01\x03\x05\x01\x12\x04\xbd\x08\x0c\x1f\n\x10\n\x08\x04\x1e\x03\x01\x03\x05\x02\x00\x12\x04\xbe\x08\x06\x16\n\x11\n\t\x04\x1e\x03\x01\x03\x05\x02\x00\x05\x12\x04\xbe\x08\x06\x0b\n\x11\n\t\x04\x1e\x03\x01\x03\x05\x02\x00\x01\x12\x04\xbe\x08\x0c\x11\n\x11\n\t\x04\x1e\x03\x01\x03\x05\x02\x00\x03\x12\x04\xbe\x08\x14\x15\n\x10\n\x08\x04\x1e\x03\x01\x03\x05\x02\x01\x12\x04\xbf\x08\x06\x17\n\x11\n\t\x04\x1e\x03\x01\x03\x05\x02\x01\x05\x12\x04\xbf\x08\x06\x0b\n\x11\n\t\x04\x1e\x03\x01\x03\x05\x02\x01\x01\x12\x04\xbf\x08\x0c\x12\n\x11\n\t\x04\x1e\x03\x01\x03\x05\x02\x01\x03\x12\x04\xbf\x08\x15\x16\n\x10\n\x06\x04\x1e\x03\x01\x03\x06\x12\x06\xc2\x08\x04\xcf\x08\x05\n\x0f\n\x07\x04\x1e\x03\x01\x03\x06\x01\x12\x04\xc2\x08\x0c\x1f\n\x10\n\x08\x04\x1e\x03\x01\x03\x06\x02\x00\x12\x04\xc3\x08\x06\x15\n\x11\n\t\x04\x1e\x03\x01\x03\x06\x02\x00\x05\x12\x04\xc3\x08\x06\x0b\n\x11\n\t\x04\x1e\x03\x01\x03\x06\x02\x00\x01\x12\x04\xc3\x08\x0c\x10\n\x11\n\t\x04\x1e\x03\x01\x03\x06\x02\x00\x03\x12\x04\xc3\x08\x13\x14\n\x10\n\x08\x04\x1e\x03\x01\x03\x06\x02\x01\x12\x04\xc4\x08\x06\x18\n\x11\n\t\x04\x1e\x03\x01\x03\x06\x02\x01\x05\x12\x04\xc4\x08\x06\x0b\n\x11\n\t\x04\x1e\x03\x01\x03\x06\x02\x01\x01\x12\x04\xc4\x08\x0c\x13\n\x11\n\t\x04\x1e\x03\x01\x03\x06\x02\x01\x03\x12\x04\xc4\x08\x16\x17\nt\n\x08\x04\x1e\x03\x01\x03\x06\x08\x00\x12\x06\xc7\x08\x06\xcb\x08\x07\x1a` Consumers should expect either (miroseconds) to be set or (precision and subseconds) to be set\n\n\x11\n\t\x04\x1e\x03\x01\x03\x06\x08\x00\x01\x12\x04\xc7\x08\x0c\x1a\n\\\n\x08\x04\x1e\x03\x01\x03\x06\x02\x02\x12\x04\xc8\x08\x083\"J use precision and subseconds below, they cover and replace microseconds.\n\n\x11\n\t\x04\x1e\x03\x01\x03\x06\x02\x02\x05\x12\x04\xc8\x08\x08\r\n\x11\n\t\x04\x1e\x03\x01\x03\x06\x02\x02\x01\x12\x04\xc8\x08\x0e\x1a\n\x11\n\t\x04\x1e\x03\x01\x03\x06\x02\x02\x03\x12\x04\xc8\x08\x1d\x1e\n\x11\n\t\x04\x1e\x03\x01\x03\x06\x02\x02\x08\x12\x04\xc8\x08\x1f2\n\x12\n\n\x04\x1e\x03\x01\x03\x06\x02\x02\x08\x03\x12\x04\xc8\x08 1\n\xac\x01\n\x08\x04\x1e\x03\x01\x03\x06\x02\x03\x12\x04\xca\x08\x08\x1c\x1a\x99\x01 Sub-second precision, 0 means the value given is in seconds, 3 is milliseconds, 6 microseconds, 9 is nanoseconds. Should be used with subseconds below.\n\n\x11\n\t\x04\x1e\x03\x01\x03\x06\x02\x03\x05\x12\x04\xca\x08\x08\r\n\x11\n\t\x04\x1e\x03\x01\x03\x06\x02\x03\x01\x12\x04\xca\x08\x0e\x17\n\x11\n\t\x04\x1e\x03\x01\x03\x06\x02\x03\x03\x12\x04\xca\x08\x1a\x1b\n\x8c\x01\n\x08\x04\x1e\x03\x01\x03\x06\x02\x04\x12\x04\xce\x08\x06\x1b\x1az the number of fractional seconds using 1e(-precision) units. Should only be used with precision field, not microseconds.\n\n\x11\n\t\x04\x1e\x03\x01\x03\x06\x02\x04\x05\x12\x04\xce\x08\x06\x0b\n\x11\n\t\x04\x1e\x03\x01\x03\x06\x02\x04\x01\x12\x04\xce\x08\x0c\x16\n\x11\n\t\x04\x1e\x03\x01\x03\x06\x02\x04\x03\x12\x04\xce\x08\x19\x1a\n\x10\n\x06\x04\x1e\x03\x01\x03\x07\x12\x06\xd1\x08\x04\xd4\x08\x05\n\x0f\n\x07\x04\x1e\x03\x01\x03\x07\x01\x12\x04\xd1\x08\x0c\x1c\n\x10\n\x08\x04\x1e\x03\x01\x03\x07\x02\x00\x12\x04\xd2\x08\x065\n\x11\n\t\x04\x1e\x03\x01\x03\x07\x02\x00\x06\x12\x04\xd2\x08\x06\x19\n\x11\n\t\x04\x1e\x03\x01\x03\x07\x02\x00\x01\x12\x04\xd2\x08\x1a0\n\x11\n\t\x04\x1e\x03\x01\x03\x07\x02\x00\x03\x12\x04\xd2\x0834\n\x10\n\x08\x04\x1e\x03\x01\x03\x07\x02\x01\x12\x04\xd3\x08\x065\n\x11\n\t\x04\x1e\x03\x01\x03\x07\x02\x01\x06\x12\x04\xd3\x08\x06\x19\n\x11\n\t\x04\x1e\x03\x01\x03\x07\x02\x01\x01\x12\x04\xd3\x08\x1a0\n\x11\n\t\x04\x1e\x03\x01\x03\x07\x02\x01\x03\x12\x04\xd3\x0834\n\x10\n\x06\x04\x1e\x03\x01\x03\x08\x12\x06\xd6\x08\x04\xd9\x08\x05\n\x0f\n\x07\x04\x1e\x03\x01\x03\x08\x01\x12\x04\xd6\x08\x0c\x12\nE\n\x08\x04\x1e\x03\x01\x03\x08\x02\x00\x12\x04\xd8\x08\x06\"\x1a3 A possibly heterogeneously typed list of literals\n\n\x11\n\t\x04\x1e\x03\x01\x03\x08\x02\x00\x04\x12\x04\xd8\x08\x06\x0e\n\x11\n\t\x04\x1e\x03\x01\x03\x08\x02\x00\x06\x12\x04\xd8\x08\x0f\x16\n\x11\n\t\x04\x1e\x03\x01\x03\x08\x02\x00\x01\x12\x04\xd8\x08\x17\x1d\n\x11\n\t\x04\x1e\x03\x01\x03\x08\x02\x00\x03\x12\x04\xd8\x08 !\n\x10\n\x06\x04\x1e\x03\x01\x03\t\x12\x06\xdb\x08\x04\xde\x08\x05\n\x0f\n\x07\x04\x1e\x03\x01\x03\t\x01\x12\x04\xdb\x08\x0c\x10\n:\n\x08\x04\x1e\x03\x01\x03\t\x02\x00\x12\x04\xdd\x08\x06\"\x1a( A homogeneously typed list of literals\n\n\x11\n\t\x04\x1e\x03\x01\x03\t\x02\x00\x04\x12\x04\xdd\x08\x06\x0e\n\x11\n\t\x04\x1e\x03\x01\x03\t\x02\x00\x06\x12\x04\xdd\x08\x0f\x16\n\x11\n\t\x04\x1e\x03\x01\x03\t\x02\x00\x01\x12\x04\xdd\x08\x17\x1d\n\x11\n\t\x04\x1e\x03\x01\x03\t\x02\x00\x03\x12\x04\xdd\x08 !\n\x10\n\x06\x04\x1e\x03\x01\x03\n\x12\x06\xe0\x08\x04\xef\x08\x05\n\x0f\n\x07\x04\x1e\x03\x01\x03\n\x01\x12\x04\xe0\x08\x0c\x17\n@\n\x08\x04\x1e\x03\x01\x03\n\x02\x00\x12\x04\xe2\x08\x06 \x1a. points to a type_anchor defined in this plan\n\n\x11\n\t\x04\x1e\x03\x01\x03\n\x02\x00\x05\x12\x04\xe2\x08\x06\x0c\n\x11\n\t\x04\x1e\x03\x01\x03\n\x02\x00\x01\x12\x04\xe2\x08\r\x1b\n\x11\n\t\x04\x1e\x03\x01\x03\n\x02\x00\x03\x12\x04\xe2\x08\x1e\x1f\nh\n\x08\x04\x1e\x03\x01\x03\n\x02\x01\x12\x04\xe6\x08\x062\x1aV The parameters to be bound to the type class, if the type class is\n parameterizable.\n\n\x11\n\t\x04\x1e\x03\x01\x03\n\x02\x01\x04\x12\x04\xe6\x08\x06\x0e\n\x11\n\t\x04\x1e\x03\x01\x03\n\x02\x01\x06\x12\x04\xe6\x08\x0f\x1d\n\x11\n\t\x04\x1e\x03\x01\x03\n\x02\x01\x01\x12\x04\xe6\x08\x1e-\n\x11\n\t\x04\x1e\x03\x01\x03\n\x02\x01\x03\x12\x04\xe6\x0801\nN\n\x08\x04\x1e\x03\x01\x03\n\x08\x00\x12\x06\xe9\x08\x06\xee\x08\x07\x1a: a user-defined literal can be encoded in one of two ways\n\n\x11\n\t\x04\x1e\x03\x01\x03\n\x08\x00\x01\x12\x04\xe9\x08\x0c\x0f\nb\n\x08\x04\x1e\x03\x01\x03\n\x02\x02\x12\x04\xeb\x08\x08&\x1aP the value of the literal, serialized using some type-specific protobuf message\n\n\x11\n\t\x04\x1e\x03\x01\x03\n\x02\x02\x06\x12\x04\xeb\x08\x08\x1b\n\x11\n\t\x04\x1e\x03\x01\x03\n\x02\x02\x01\x12\x04\xeb\x08\x1c!\n\x11\n\t\x04\x1e\x03\x01\x03\n\x02\x02\x03\x12\x04\xeb\x08$%\nj\n\x08\x04\x1e\x03\x01\x03\n\x02\x03\x12\x04\xed\x08\x08\"\x1aX the value of the literal, serialized using the structure definition in its declaration\n\n\x11\n\t\x04\x1e\x03\x01\x03\n\x02\x03\x06\x12\x04\xed\x08\x08\x16\n\x11\n\t\x04\x1e\x03\x01\x03\n\x02\x03\x01\x12\x04\xed\x08\x17\x1d\n\x11\n\t\x04\x1e\x03\x01\x03\n\x02\x03\x03\x12\x04\xed\x08 !\nC\n\x04\x04\x1e\x03\x02\x12\x06\xf3\x08\x02\x99\t\x03\x1a3 Expression to dynamically construct nested types.\n\n\r\n\x05\x04\x1e\x03\x02\x01\x12\x04\xf3\x08\n\x10\n?\n\x06\x04\x1e\x03\x02\x02\x00\x12\x04\xf5\x08\x04\x16\x1a/ Whether the returned nested type is nullable.\n\n\x0f\n\x07\x04\x1e\x03\x02\x02\x00\x05\x12\x04\xf5\x08\x04\x08\n\x0f\n\x07\x04\x1e\x03\x02\x02\x00\x01\x12\x04\xf5\x08\t\x11\n\x0f\n\x07\x04\x1e\x03\x02\x02\x00\x03\x12\x04\xf5\x08\x14\x15\nr\n\x06\x04\x1e\x03\x02\x02\x01\x12\x04\xf9\x08\x04(\x1ab Optionally points to a type_variation_anchor defined in this plan for\n the returned nested type.\n\n\x0f\n\x07\x04\x1e\x03\x02\x02\x01\x05\x12\x04\xf9\x08\x04\n\n\x0f\n\x07\x04\x1e\x03\x02\x02\x01\x01\x12\x04\xf9\x08\x0b#\n\x0f\n\x07\x04\x1e\x03\x02\x02\x01\x03\x12\x04\xf9\x08&\'\n\x10\n\x06\x04\x1e\x03\x02\x08\x00\x12\x06\xfb\x08\x04\xff\x08\x05\n\x0f\n\x07\x04\x1e\x03\x02\x08\x00\x01\x12\x04\xfb\x08\n\x15\n\x0e\n\x06\x04\x1e\x03\x02\x02\x02\x12\x04\xfc\x08\x06\x18\n\x0f\n\x07\x04\x1e\x03\x02\x02\x02\x06\x12\x04\xfc\x08\x06\x0c\n\x0f\n\x07\x04\x1e\x03\x02\x02\x02\x01\x12\x04\xfc\x08\r\x13\n\x0f\n\x07\x04\x1e\x03\x02\x02\x02\x03\x12\x04\xfc\x08\x16\x17\n\x0e\n\x06\x04\x1e\x03\x02\x02\x03\x12\x04\xfd\x08\x06\x14\n\x0f\n\x07\x04\x1e\x03\x02\x02\x03\x06\x12\x04\xfd\x08\x06\n\n\x0f\n\x07\x04\x1e\x03\x02\x02\x03\x01\x12\x04\xfd\x08\x0b\x0f\n\x0f\n\x07\x04\x1e\x03\x02\x02\x03\x03\x12\x04\xfd\x08\x12\x13\n\x0e\n\x06\x04\x1e\x03\x02\x02\x04\x12\x04\xfe\x08\x06\x12\n\x0f\n\x07\x04\x1e\x03\x02\x02\x04\x06\x12\x04\xfe\x08\x06\t\n\x0f\n\x07\x04\x1e\x03\x02\x02\x04\x01\x12\x04\xfe\x08\n\r\n\x0f\n\x07\x04\x1e\x03\x02\x02\x04\x03\x12\x04\xfe\x08\x10\x11\n\x10\n\x06\x04\x1e\x03\x02\x03\x00\x12\x06\x81\t\x04\x8b\t\x05\n\x0f\n\x07\x04\x1e\x03\x02\x03\x00\x01\x12\x04\x81\t\x0c\x0f\n\x12\n\x08\x04\x1e\x03\x02\x03\x00\x03\x00\x12\x06\x82\t\x06\x86\t\x07\n\x11\n\t\x04\x1e\x03\x02\x03\x00\x03\x00\x01\x12\x04\x82\t\x0e\x16\n6\n\n\x04\x1e\x03\x02\x03\x00\x03\x00\x02\x00\x12\x04\x84\t\x08\x1b\x1a\" Mandatory key/value expressions.\n\n\x13\n\x0b\x04\x1e\x03\x02\x03\x00\x03\x00\x02\x00\x06\x12\x04\x84\t\x08\x12\n\x13\n\x0b\x04\x1e\x03\x02\x03\x00\x03\x00\x02\x00\x01\x12\x04\x84\t\x13\x16\n\x13\n\x0b\x04\x1e\x03\x02\x03\x00\x03\x00\x02\x00\x03\x12\x04\x84\t\x19\x1a\n\x12\n\n\x04\x1e\x03\x02\x03\x00\x03\x00\x02\x01\x12\x04\x85\t\x08\x1d\n\x13\n\x0b\x04\x1e\x03\x02\x03\x00\x03\x00\x02\x01\x06\x12\x04\x85\t\x08\x12\n\x13\n\x0b\x04\x1e\x03\x02\x03\x00\x03\x00\x02\x01\x01\x12\x04\x85\t\x13\x18\n\x13\n\x0b\x04\x1e\x03\x02\x03\x00\x03\x00\x02\x01\x03\x12\x04\x85\t\x1b\x1c\n\x8f\x01\n\x08\x04\x1e\x03\x02\x03\x00\x02\x00\x12\x04\x8a\t\x06\'\x1a} One or more key-value pairs. To specify an empty map, use\n Literal.empty_map (otherwise type information would be missing).\n\n\x11\n\t\x04\x1e\x03\x02\x03\x00\x02\x00\x04\x12\x04\x8a\t\x06\x0e\n\x11\n\t\x04\x1e\x03\x02\x03\x00\x02\x00\x06\x12\x04\x8a\t\x0f\x17\n\x11\n\t\x04\x1e\x03\x02\x03\x00\x02\x00\x01\x12\x04\x8a\t\x18\"\n\x11\n\t\x04\x1e\x03\x02\x03\x00\x02\x00\x03\x12\x04\x8a\t%&\n\x10\n\x06\x04\x1e\x03\x02\x03\x01\x12\x06\x8d\t\x04\x91\t\x05\n\x0f\n\x07\x04\x1e\x03\x02\x03\x01\x01\x12\x04\x8d\t\x0c\x12\nq\n\x08\x04\x1e\x03\x02\x03\x01\x02\x00\x12\x04\x90\t\x06%\x1a_ Zero or more possibly heterogeneously-typed list of expressions that\n form the struct fields.\n\n\x11\n\t\x04\x1e\x03\x02\x03\x01\x02\x00\x04\x12\x04\x90\t\x06\x0e\n\x11\n\t\x04\x1e\x03\x02\x03\x01\x02\x00\x06\x12\x04\x90\t\x0f\x19\n\x11\n\t\x04\x1e\x03\x02\x03\x01\x02\x00\x01\x12\x04\x90\t\x1a \n\x11\n\t\x04\x1e\x03\x02\x03\x01\x02\x00\x03\x12\x04\x90\t#$\n\x10\n\x06\x04\x1e\x03\x02\x03\x02\x12\x06\x93\t\x04\x98\t\x05\n\x0f\n\x07\x04\x1e\x03\x02\x03\x02\x01\x12\x04\x93\t\x0c\x10\n\xc8\x01\n\x08\x04\x1e\x03\x02\x03\x02\x02\x00\x12\x04\x97\t\x06%\x1a\xb5\x01 A homogeneously-typed list of one or more expressions that form the\n list entries. To specify an empty list, use Literal.empty_list\n (otherwise type information would be missing).\n\n\x11\n\t\x04\x1e\x03\x02\x03\x02\x02\x00\x04\x12\x04\x97\t\x06\x0e\n\x11\n\t\x04\x1e\x03\x02\x03\x02\x02\x00\x06\x12\x04\x97\t\x0f\x19\n\x11\n\t\x04\x1e\x03\x02\x03\x02\x02\x00\x01\x12\x04\x97\t\x1a \n\x11\n\t\x04\x1e\x03\x02\x03\x02\x02\x00\x03\x12\x04\x97\t#$\n)\n\x04\x04\x1e\x03\x03\x12\x06\x9c\t\x02\xba\t\x03\x1a\x19 A scalar function call.\n\n\r\n\x05\x04\x1e\x03\x03\x01\x12\x04\x9c\t\n\x18\n\xb6\x01\n\x06\x04\x1e\x03\x03\x02\x00\x12\x04\xa0\t\x04\"\x1a\xa5\x01 Points to a function_anchor defined in this plan, which must refer\n to a scalar function in the associated YAML file. Required; avoid\n using anchor/reference zero.\n\n\x0f\n\x07\x04\x1e\x03\x03\x02\x00\x05\x12\x04\xa0\t\x04\n\n\x0f\n\x07\x04\x1e\x03\x03\x02\x00\x01\x12\x04\xa0\t\x0b\x1d\n\x0f\n\x07\x04\x1e\x03\x03\x02\x00\x03\x12\x04\xa0\t !\n\xd7\x04\n\x06\x04\x1e\x03\x03\x02\x01\x12\x04\xad\t\x04,\x1a\xc6\x04 The arguments to be bound to the function. This must have exactly the\n number of arguments specified in the function definition, and the\n argument types must also match exactly:\n\n  - Value arguments must be bound using FunctionArgument.value, and\n    the expression in that must yield a value of a type that a function\n    overload is defined for.\n  - Type arguments must be bound using FunctionArgument.type.\n  - Enum arguments must be bound using FunctionArgument.enum\n    followed by Enum.specified, with a string that case-insensitively\n    matches one of the allowed options.\n\n\x0f\n\x07\x04\x1e\x03\x03\x02\x01\x04\x12\x04\xad\t\x04\x0c\n\x0f\n\x07\x04\x1e\x03\x03\x02\x01\x06\x12\x04\xad\t\r\x1d\n\x0f\n\x07\x04\x1e\x03\x03\x02\x01\x01\x12\x04\xad\t\x1e\'\n\x0f\n\x07\x04\x1e\x03\x03\x02\x01\x03\x12\x04\xad\t*+\n\xa0\x01\n\x06\x04\x1e\x03\x03\x02\x02\x12\x04\xb2\t\x04(\x1a\x8f\x01 Options to specify behavior for corner cases, or leave behavior\n unspecified if the consumer does not need specific behavior in these\n cases.\n\n\x0f\n\x07\x04\x1e\x03\x03\x02\x02\x04\x12\x04\xb2\t\x04\x0c\n\x0f\n\x07\x04\x1e\x03\x03\x02\x02\x06\x12\x04\xb2\t\r\x1b\n\x0f\n\x07\x04\x1e\x03\x03\x02\x02\x01\x12\x04\xb2\t\x1c#\n\x0f\n\x07\x04\x1e\x03\x03\x02\x02\x03\x12\x04\xb2\t&\'\n}\n\x06\x04\x1e\x03\x03\x02\x03\x12\x04\xb6\t\x04\x19\x1am Must be set to the return type of the function, exactly as derived\n using the declaration in the extension.\n\n\x0f\n\x07\x04\x1e\x03\x03\x02\x03\x06\x12\x04\xb6\t\x04\x08\n\x0f\n\x07\x04\x1e\x03\x03\x02\x03\x01\x12\x04\xb6\t\t\x14\n\x0f\n\x07\x04\x1e\x03\x03\x02\x03\x03\x12\x04\xb6\t\x17\x18\n4\n\x06\x04\x1e\x03\x03\x02\x04\x12\x04\xb9\t\x045\x1a$ Deprecated; use arguments instead.\n\n\x0f\n\x07\x04\x1e\x03\x03\x02\x04\x04\x12\x04\xb9\t\x04\x0c\n\x0f\n\x07\x04\x1e\x03\x03\x02\x04\x06\x12\x04\xb9\t\r\x17\n\x0f\n\x07\x04\x1e\x03\x03\x02\x04\x01\x12\x04\xb9\t\x18\x1c\n\x0f\n\x07\x04\x1e\x03\x03\x02\x04\x03\x12\x04\xb9\t\x1f \n\x0f\n\x07\x04\x1e\x03\x03\x02\x04\x08\x12\x04\xb9\t!4\n\x10\n\x08\x04\x1e\x03\x03\x02\x04\x08\x03\x12\x04\xb9\t\"3\n)\n\x04\x04\x1e\x03\x04\x12\x06\xbd\t\x02\xc2\n\x03\x1a\x19 A window function call.\n\n\r\n\x05\x04\x1e\x03\x04\x01\x12\x04\xbd\t\n\x18\n\xb1\x02\n\x06\x04\x1e\x03\x04\x02\x00\x12\x04\xc6\t\x04\"\x1a\xa0\x02 Points to a function_anchor defined in this plan. The function must be:\n  - a window function\n  - an aggregate function\n\n An aggregate function referenced here should be treated as a window\n function with Window Type STREAMING\n\n Required; 0 is considered to be a valid anchor/reference.\n\n\x0f\n\x07\x04\x1e\x03\x04\x02\x00\x05\x12\x04\xc6\t\x04\n\n\x0f\n\x07\x04\x1e\x03\x04\x02\x00\x01\x12\x04\xc6\t\x0b\x1d\n\x0f\n\x07\x04\x1e\x03\x04\x02\x00\x03\x12\x04\xc6\t !\n\x92\x05\n\x06\x04\x1e\x03\x04\x02\x01\x12\x04\xd4\t\x04,\x1a\x81\x05 The arguments to be bound to the function. This must have exactly the\n number of arguments specified in the function definition, and the\n argument types must also match exactly:\n\n  - Value arguments must be bound using FunctionArgument.value, and\n    the expression in that must yield a value of a type that a function\n    overload is defined for.\n  - Type arguments must be bound using FunctionArgument.type, and a\n    function overload must be defined for that type.\n  - Enum arguments must be bound using FunctionArgument.enum\n    followed by Enum.specified, with a string that case-insensitively\n    matches one of the allowed options.\n\n\x0f\n\x07\x04\x1e\x03\x04\x02\x01\x04\x12\x04\xd4\t\x04\x0c\n\x0f\n\x07\x04\x1e\x03\x04\x02\x01\x06\x12\x04\xd4\t\r\x1d\n\x0f\n\x07\x04\x1e\x03\x04\x02\x01\x01\x12\x04\xd4\t\x1e\'\n\x0f\n\x07\x04\x1e\x03\x04\x02\x01\x03\x12\x04\xd4\t*+\n\xa0\x01\n\x06\x04\x1e\x03\x04\x02\x02\x12\x04\xd9\t\x04)\x1a\x8f\x01 Options to specify behavior for corner cases, or leave behavior\n unspecified if the consumer does not need specific behavior in these\n cases.\n\n\x0f\n\x07\x04\x1e\x03\x04\x02\x02\x04\x12\x04\xd9\t\x04\x0c\n\x0f\n\x07\x04\x1e\x03\x04\x02\x02\x06\x12\x04\xd9\t\r\x1b\n\x0f\n\x07\x04\x1e\x03\x04\x02\x02\x01\x12\x04\xd9\t\x1c#\n\x0f\n\x07\x04\x1e\x03\x04\x02\x02\x03\x12\x04\xd9\t&(\n}\n\x06\x04\x1e\x03\x04\x02\x03\x12\x04\xdd\t\x04\x19\x1am Must be set to the return type of the function, exactly as derived\n using the declaration in the extension.\n\n\x0f\n\x07\x04\x1e\x03\x04\x02\x03\x06\x12\x04\xdd\t\x04\x08\n\x0f\n\x07\x04\x1e\x03\x04\x02\x03\x01\x12\x04\xdd\t\t\x14\n\x0f\n\x07\x04\x1e\x03\x04\x02\x03\x03\x12\x04\xdd\t\x17\x18\n\xd4\x01\n\x06\x04\x1e\x03\x04\x02\x04\x12\x04\xe2\t\x04\x1f\x1a\xc3\x01 Describes which part of the window function to perform within the\n context of distributed algorithms. Required. Must be set to\n INITIAL_TO_RESULT for window functions that are not decomposable.\n\n\x0f\n\x07\x04\x1e\x03\x04\x02\x04\x06\x12\x04\xe2\t\x04\x14\n\x0f\n\x07\x04\x1e\x03\x04\x02\x04\x01\x12\x04\xe2\t\x15\x1a\n\x0f\n\x07\x04\x1e\x03\x04\x02\x04\x03\x12\x04\xe2\t\x1d\x1e\n\x9c\x03\n\x06\x04\x1e\x03\x04\x02\x05\x12\x04\xea\t\x04!\x1a\x8b\x03 If specified, the records that are part of the window defined by\n upper_bound and lower_bound are ordered according to this list\n before they are aggregated. The first sort field has the highest\n priority; only if a sort field determines two records to be equivalent\n is the next field queried. This field is optional, and is only allowed\n if the window function is defined to support sorting.\n\n\x0f\n\x07\x04\x1e\x03\x04\x02\x05\x04\x12\x04\xea\t\x04\x0c\n\x0f\n\x07\x04\x1e\x03\x04\x02\x05\x06\x12\x04\xea\t\r\x16\n\x0f\n\x07\x04\x1e\x03\x04\x02\x05\x01\x12\x04\xea\t\x17\x1c\n\x0f\n\x07\x04\x1e\x03\x04\x02\x05\x03\x12\x04\xea\t\x1f \n\x8d\x01\n\x06\x04\x1e\x03\x04\x02\x06\x12\x04\xee\t\x04<\x1a} Specifies whether equivalent records are merged before being aggregated.\n Optional, defaults to AGGREGATION_INVOCATION_ALL.\n\n\x0f\n\x07\x04\x1e\x03\x04\x02\x06\x06\x12\x04\xee\t\x04+\n\x0f\n\x07\x04\x1e\x03\x04\x02\x06\x01\x12\x04\xee\t,6\n\x0f\n\x07\x04\x1e\x03\x04\x02\x06\x03\x12\x04\xee\t9;\n\xe9\x02\n\x06\x04\x1e\x03\x04\x02\x07\x12\x04\xf5\t\x04\'\x1a\xd8\x02 When one or more partition expressions are specified, two records are\n considered to be in the same partition if and only if these expressions\n yield an equal record of values for both. When computing the window\n function, only the subset of records within the bounds that are also in\n the same partition as the current record are aggregated.\n\n\x0f\n\x07\x04\x1e\x03\x04\x02\x07\x04\x12\x04\xf5\t\x04\x0c\n\x0f\n\x07\x04\x1e\x03\x04\x02\x07\x06\x12\x04\xf5\t\r\x17\n\x0f\n\x07\x04\x1e\x03\x04\x02\x07\x01\x12\x04\xf5\t\x18\"\n\x0f\n\x07\x04\x1e\x03\x04\x02\x07\x03\x12\x04\xf5\t%&\n6\n\x06\x04\x1e\x03\x04\x02\x08\x12\x04\xf8\t\x04 \x1a& Defines the bounds type: ROWS, RANGE\n\n\x0f\n\x07\x04\x1e\x03\x04\x02\x08\x06\x12\x04\xf8\t\x04\x0e\n\x0f\n\x07\x04\x1e\x03\x04\x02\x08\x01\x12\x04\xf8\t\x0f\x1a\n\x0f\n\x07\x04\x1e\x03\x04\x02\x08\x03\x12\x04\xf8\t\x1d\x1f\n\xd6\x02\n\x06\x04\x1e\x03\x04\x02\t\x12\x04\xff\t\x04\x1a\x1a\xc5\x02 Defines the record relative to the current record from which the window\n extends. The bound is inclusive. If the lower bound indexes a record\n greater than the upper bound, TODO (null range/no records passed?\n wrapping around as if lower/upper were swapped? error? null?).\n Optional; defaults to the start of the partition.\n\n\x0f\n\x07\x04\x1e\x03\x04\x02\t\x06\x12\x04\xff\t\x04\t\n\x0f\n\x07\x04\x1e\x03\x04\x02\t\x01\x12\x04\xff\t\n\x15\n\x0f\n\x07\x04\x1e\x03\x04\x02\t\x03\x12\x04\xff\t\x18\x19\n\xd2\x02\n\x06\x04\x1e\x03\x04\x02\n\x12\x04\x86\n\x04\x1a\x1a\xc1\x02 Defines the record relative to the current record up to which the window\n extends. The bound is inclusive. If the upper bound indexes a record\n less than the lower bound, TODO (null range/no records passed?\n wrapping around as if lower/upper were swapped? error? null?).\n Optional; defaults to the end of the partition.\n\n\x0f\n\x07\x04\x1e\x03\x04\x02\n\x06\x12\x04\x86\n\x04\t\n\x0f\n\x07\x04\x1e\x03\x04\x02\n\x01\x12\x04\x86\n\n\x15\n\x0f\n\x07\x04\x1e\x03\x04\x02\n\x03\x12\x04\x86\n\x18\x19\n4\n\x06\x04\x1e\x03\x04\x02\x0b\x12\x04\x89\n\x045\x1a$ Deprecated; use arguments instead.\n\n\x0f\n\x07\x04\x1e\x03\x04\x02\x0b\x04\x12\x04\x89\n\x04\x0c\n\x0f\n\x07\x04\x1e\x03\x04\x02\x0b\x06\x12\x04\x89\n\r\x17\n\x0f\n\x07\x04\x1e\x03\x04\x02\x0b\x01\x12\x04\x89\n\x18\x1c\n\x0f\n\x07\x04\x1e\x03\x04\x02\x0b\x03\x12\x04\x89\n\x1f \n\x0f\n\x07\x04\x1e\x03\x04\x02\x0b\x08\x12\x04\x89\n!4\n\x10\n\x08\x04\x1e\x03\x04\x02\x0b\x08\x03\x12\x04\x89\n\"3\n\x10\n\x06\x04\x1e\x03\x04\x04\x00\x12\x06\x8b\n\x04\x95\n\x05\n\x0f\n\x07\x04\x1e\x03\x04\x04\x00\x01\x12\x04\x8b\n\t\x13\n\x10\n\x08\x04\x1e\x03\x04\x04\x00\x02\x00\x12\x04\x8c\n\x06\"\n\x11\n\t\x04\x1e\x03\x04\x04\x00\x02\x00\x01\x12\x04\x8c\n\x06\x1d\n\x11\n\t\x04\x1e\x03\x04\x04\x00\x02\x00\x02\x12\x04\x8c\n !\n\x7f\n\x08\x04\x1e\x03\x04\x04\x00\x02\x01\x12\x04\x8f\n\x06\x1b\x1am The lower and upper bound specify how many rows before and after the current row\n the window should extend.\n\n\x11\n\t\x04\x1e\x03\x04\x04\x00\x02\x01\x01\x12\x04\x8f\n\x06\x16\n\x11\n\t\x04\x1e\x03\x04\x04\x00\x02\x01\x02\x12\x04\x8f\n\x19\x1a\n\xd1\x02\n\x08\x04\x1e\x03\x04\x04\x00\x02\x02\x12\x04\x94\n\x06\x1c\x1a\xbe\x02 The lower and upper bound describe a range of values.  The window should include all rows\n where the value of the ordering column is greater than or equal to (current_value - lower bound)\n and less than or equal to (current_value + upper bound).  This bounds type is only valid if there\n is a single ordering column.\n\n\x11\n\t\x04\x1e\x03\x04\x04\x00\x02\x02\x01\x12\x04\x94\n\x06\x17\n\x11\n\t\x04\x1e\x03\x04\x04\x00\x02\x02\x02\x12\x04\x94\n\x1a\x1b\nZ\n\x06\x04\x1e\x03\x04\x03\x00\x12\x06\x98\n\x04\xc1\n\x05\x1aH Defines one of the two boundaries for the window of a window function.\n\n\x0f\n\x07\x04\x1e\x03\x04\x03\x00\x01\x12\x04\x98\n\x0c\x11\n[\n\x08\x04\x1e\x03\x04\x03\x00\x03\x00\x12\x06\x9a\n\x06\x9f\n\x07\x1aG Defines that the bound extends this far back from the current record.\n\n\x11\n\t\x04\x1e\x03\x04\x03\x00\x03\x00\x01\x12\x04\x9a\n\x0e\x17\n\xd8\x01\n\n\x04\x1e\x03\x04\x03\x00\x03\x00\x02\x00\x12\x04\x9e\n\x08\x19\x1a\xc3\x01 A strictly positive integer specifying the number of records that\n the window extends back from the current record. Required. Use\n CurrentRow for offset zero and Following for negative offsets.\n\n\x13\n\x0b\x04\x1e\x03\x04\x03\x00\x03\x00\x02\x00\x05\x12\x04\x9e\n\x08\r\n\x13\n\x0b\x04\x1e\x03\x04\x03\x00\x03\x00\x02\x00\x01\x12\x04\x9e\n\x0e\x14\n\x13\n\x0b\x04\x1e\x03\x04\x03\x00\x03\x00\x02\x00\x03\x12\x04\x9e\n\x17\x18\nZ\n\x08\x04\x1e\x03\x04\x03\x00\x03\x01\x12\x06\xa2\n\x06\xa7\n\x07\x1aF Defines that the bound extends this far ahead of the current record.\n\n\x11\n\t\x04\x1e\x03\x04\x03\x00\x03\x01\x01\x12\x04\xa2\n\x0e\x17\n\xd7\x01\n\n\x04\x1e\x03\x04\x03\x00\x03\x01\x02\x00\x12\x04\xa6\n\x08\x19\x1a\xc2\x01 A strictly positive integer specifying the number of records that\n the window extends ahead of the current record. Required. Use\n CurrentRow for offset zero and Preceding for negative offsets.\n\n\x13\n\x0b\x04\x1e\x03\x04\x03\x00\x03\x01\x02\x00\x05\x12\x04\xa6\n\x08\r\n\x13\n\x0b\x04\x1e\x03\x04\x03\x00\x03\x01\x02\x00\x01\x12\x04\xa6\n\x0e\x14\n\x13\n\x0b\x04\x1e\x03\x04\x03\x00\x03\x01\x02\x00\x03\x12\x04\xa6\n\x17\x18\nQ\n\x08\x04\x1e\x03\x04\x03\x00\x03\x02\x12\x04\xaa\n\x06\x1b\x1a? Defines that the bound extends to or from the current record.\n\n\x11\n\t\x04\x1e\x03\x04\x03\x00\x03\x02\x01\x12\x04\xaa\n\x0e\x18\n\xa6\x01\n\x08\x04\x1e\x03\x04\x03\x00\x03\x03\x12\x04\xaf\n\x06\x1a\x1a\x93\x01 Defines an \"unbounded bound\": for lower bounds this means the start\n of the partition, and for upper bounds this means the end of the\n partition.\n\n\x11\n\t\x04\x1e\x03\x04\x03\x00\x03\x03\x01\x12\x04\xaf\n\x0e\x17\n\x12\n\x08\x04\x1e\x03\x04\x03\x00\x08\x00\x12\x06\xb1\n\x06\xc0\n\x07\n\x11\n\t\x04\x1e\x03\x04\x03\x00\x08\x00\x01\x12\x04\xb1\n\x0c\x10\nW\n\x08\x04\x1e\x03\x04\x03\x00\x02\x00\x12\x04\xb3\n\x08 \x1aE The bound extends some number of records behind the current record.\n\n\x11\n\t\x04\x1e\x03\x04\x03\x00\x02\x00\x06\x12\x04\xb3\n\x08\x11\n\x11\n\t\x04\x1e\x03\x04\x03\x00\x02\x00\x01\x12\x04\xb3\n\x12\x1b\n\x11\n\t\x04\x1e\x03\x04\x03\x00\x02\x00\x03\x12\x04\xb3\n\x1e\x1f\nZ\n\x08\x04\x1e\x03\x04\x03\x00\x02\x01\x12\x04\xb7\n\x08 \x1aH The bound extends some number of records ahead of the current\n record.\n\n\x11\n\t\x04\x1e\x03\x04\x03\x00\x02\x01\x06\x12\x04\xb7\n\x08\x11\n\x11\n\t\x04\x1e\x03\x04\x03\x00\x02\x01\x01\x12\x04\xb7\n\x12\x1b\n\x11\n\t\x04\x1e\x03\x04\x03\x00\x02\x01\x03\x12\x04\xb7\n\x1e\x1f\n<\n\x08\x04\x1e\x03\x04\x03\x00\x02\x02\x12\x04\xba\n\x08#\x1a* The bound extends to the current record.\n\n\x11\n\t\x04\x1e\x03\x04\x03\x00\x02\x02\x06\x12\x04\xba\n\x08\x12\n\x11\n\t\x04\x1e\x03\x04\x03\x00\x02\x02\x01\x12\x04\xba\n\x13\x1e\n\x11\n\t\x04\x1e\x03\x04\x03\x00\x02\x02\x03\x12\x04\xba\n!\"\n\xa2\x01\n\x08\x04\x1e\x03\x04\x03\x00\x02\x03\x12\x04\xbf\n\x08 \x1a\x8f\x01 The bound extends to the start of the partition or the end of the\n partition, depending on whether this represents the upper or lower\n bound.\n\n\x11\n\t\x04\x1e\x03\x04\x03\x00\x02\x03\x06\x12\x04\xbf\n\x08\x11\n\x11\n\t\x04\x1e\x03\x04\x03\x00\x02\x03\x01\x12\x04\xbf\n\x12\x1b\n\x11\n\t\x04\x1e\x03\x04\x03\x00\x02\x03\x03\x12\x04\xbf\n\x1e\x1f\n\x0e\n\x04\x04\x1e\x03\x05\x12\x06\xc4\n\x02\xce\n\x03\n\r\n\x05\x04\x1e\x03\x05\x01\x12\x04\xc4\n\n\x10\n1\n\x06\x04\x1e\x03\x05\x02\x00\x12\x04\xc6\n\x04\x1e\x1a! A list of one or more IfClauses\n\n\x0f\n\x07\x04\x1e\x03\x05\x02\x00\x04\x12\x04\xc6\n\x04\x0c\n\x0f\n\x07\x04\x1e\x03\x05\x02\x00\x06\x12\x04\xc6\n\r\x15\n\x0f\n\x07\x04\x1e\x03\x05\x02\x00\x01\x12\x04\xc6\n\x16\x19\n\x0f\n\x07\x04\x1e\x03\x05\x02\x00\x03\x12\x04\xc6\n\x1c\x1d\nH\n\x06\x04\x1e\x03\x05\x02\x01\x12\x04\xc8\n\x04\x18\x1a8 The returned Expression if no IfClauses are satisified\n\n\x0f\n\x07\x04\x1e\x03\x05\x02\x01\x06\x12\x04\xc8\n\x04\x0e\n\x0f\n\x07\x04\x1e\x03\x05\x02\x01\x01\x12\x04\xc8\n\x0f\x13\n\x0f\n\x07\x04\x1e\x03\x05\x02\x01\x03\x12\x04\xc8\n\x16\x17\n\x10\n\x06\x04\x1e\x03\x05\x03\x00\x12\x06\xca\n\x04\xcd\n\x05\n\x0f\n\x07\x04\x1e\x03\x05\x03\x00\x01\x12\x04\xca\n\x0c\x14\n\x10\n\x08\x04\x1e\x03\x05\x03\x00\x02\x00\x12\x04\xcb\n\x06\x18\n\x11\n\t\x04\x1e\x03\x05\x03\x00\x02\x00\x06\x12\x04\xcb\n\x06\x10\n\x11\n\t\x04\x1e\x03\x05\x03\x00\x02\x00\x01\x12\x04\xcb\n\x11\x13\n\x11\n\t\x04\x1e\x03\x05\x03\x00\x02\x00\x03\x12\x04\xcb\n\x16\x17\n\x10\n\x08\x04\x1e\x03\x05\x03\x00\x02\x01\x12\x04\xcc\n\x06\x1a\n\x11\n\t\x04\x1e\x03\x05\x03\x00\x02\x01\x06\x12\x04\xcc\n\x06\x10\n\x11\n\t\x04\x1e\x03\x05\x03\x00\x02\x01\x01\x12\x04\xcc\n\x11\x15\n\x11\n\t\x04\x1e\x03\x05\x03\x00\x02\x01\x03\x12\x04\xcc\n\x18\x19\n\x0e\n\x04\x04\x1e\x03\x06\x12\x06\xd0\n\x02\xda\n\x03\n\r\n\x05\x04\x1e\x03\x06\x01\x12\x04\xd0\n\n\x0e\n\x0e\n\x06\x04\x1e\x03\x06\x02\x00\x12\x04\xd1\n\x04\x12\n\x0f\n\x07\x04\x1e\x03\x06\x02\x00\x06\x12\x04\xd1\n\x04\x08\n\x0f\n\x07\x04\x1e\x03\x06\x02\x00\x01\x12\x04\xd1\n\t\r\n\x0f\n\x07\x04\x1e\x03\x06\x02\x00\x03\x12\x04\xd1\n\x10\x11\n\x0e\n\x06\x04\x1e\x03\x06\x02\x01\x12\x04\xd2\n\x04\x19\n\x0f\n\x07\x04\x1e\x03\x06\x02\x01\x06\x12\x04\xd2\n\x04\x0e\n\x0f\n\x07\x04\x1e\x03\x06\x02\x01\x01\x12\x04\xd2\n\x0f\x14\n\x0f\n\x07\x04\x1e\x03\x06\x02\x01\x03\x12\x04\xd2\n\x17\x18\n\x0e\n\x06\x04\x1e\x03\x06\x02\x02\x12\x04\xd3\n\x04)\n\x0f\n\x07\x04\x1e\x03\x06\x02\x02\x06\x12\x04\xd3\n\x04\x13\n\x0f\n\x07\x04\x1e\x03\x06\x02\x02\x01\x12\x04\xd3\n\x14$\n\x0f\n\x07\x04\x1e\x03\x06\x02\x02\x03\x12\x04\xd3\n\'(\n\x10\n\x06\x04\x1e\x03\x06\x04\x00\x12\x06\xd5\n\x04\xd9\n\x05\n\x0f\n\x07\x04\x1e\x03\x06\x04\x00\x01\x12\x04\xd5\n\t\x18\n\x10\n\x08\x04\x1e\x03\x06\x04\x00\x02\x00\x12\x04\xd6\n\x06\'\n\x11\n\t\x04\x1e\x03\x06\x04\x00\x02\x00\x01\x12\x04\xd6\n\x06\"\n\x11\n\t\x04\x1e\x03\x06\x04\x00\x02\x00\x02\x12\x04\xd6\n%&\n\x10\n\x08\x04\x1e\x03\x06\x04\x00\x02\x01\x12\x04\xd7\n\x06\'\n\x11\n\t\x04\x1e\x03\x06\x04\x00\x02\x01\x01\x12\x04\xd7\n\x06\"\n\x11\n\t\x04\x1e\x03\x06\x04\x00\x02\x01\x02\x12\x04\xd7\n%&\n\x10\n\x08\x04\x1e\x03\x06\x04\x00\x02\x02\x12\x04\xd8\n\x06+\n\x11\n\t\x04\x1e\x03\x06\x04\x00\x02\x02\x01\x12\x04\xd8\n\x06&\n\x11\n\t\x04\x1e\x03\x06\x04\x00\x02\x02\x02\x12\x04\xd8\n)*\n\x0e\n\x04\x04\x1e\x03\x07\x12\x06\xdc\n\x02\xe5\n\x03\n\r\n\x05\x04\x1e\x03\x07\x01\x12\x04\xdc\n\n\x1a\n\x0e\n\x06\x04\x1e\x03\x07\x02\x00\x12\x04\xdd\n\x04\x19\n\x0f\n\x07\x04\x1e\x03\x07\x02\x00\x06\x12\x04\xdd\n\x04\x0e\n\x0f\n\x07\x04\x1e\x03\x07\x02\x00\x01\x12\x04\xdd\n\x0f\x14\n\x0f\n\x07\x04\x1e\x03\x07\x02\x00\x03\x12\x04\xdd\n\x17\x18\n\x0e\n\x06\x04\x1e\x03\x07\x02\x01\x12\x04\xde\n\x04\x1d\n\x0f\n\x07\x04\x1e\x03\x07\x02\x01\x04\x12\x04\xde\n\x04\x0c\n\x0f\n\x07\x04\x1e\x03\x07\x02\x01\x06\x12\x04\xde\n\r\x14\n\x0f\n\x07\x04\x1e\x03\x07\x02\x01\x01\x12\x04\xde\n\x15\x18\n\x0f\n\x07\x04\x1e\x03\x07\x02\x01\x03\x12\x04\xde\n\x1b\x1c\n\x0e\n\x06\x04\x1e\x03\x07\x02\x02\x12\x04\xdf\n\x04\x18\n\x0f\n\x07\x04\x1e\x03\x07\x02\x02\x06\x12\x04\xdf\n\x04\x0e\n\x0f\n\x07\x04\x1e\x03\x07\x02\x02\x01\x12\x04\xdf\n\x0f\x13\n\x0f\n\x07\x04\x1e\x03\x07\x02\x02\x03\x12\x04\xdf\n\x16\x17\n\x10\n\x06\x04\x1e\x03\x07\x03\x00\x12\x06\xe1\n\x04\xe4\n\x05\n\x0f\n\x07\x04\x1e\x03\x07\x03\x00\x01\x12\x04\xe1\n\x0c\x13\n\x10\n\x08\x04\x1e\x03\x07\x03\x00\x02\x00\x12\x04\xe2\n\x06\x15\n\x11\n\t\x04\x1e\x03\x07\x03\x00\x02\x00\x06\x12\x04\xe2\n\x06\r\n\x11\n\t\x04\x1e\x03\x07\x03\x00\x02\x00\x01\x12\x04\xe2\n\x0e\x10\n\x11\n\t\x04\x1e\x03\x07\x03\x00\x02\x00\x03\x12\x04\xe2\n\x13\x14\n\x10\n\x08\x04\x1e\x03\x07\x03\x00\x02\x01\x12\x04\xe3\n\x06\x1a\n\x11\n\t\x04\x1e\x03\x07\x03\x00\x02\x01\x06\x12\x04\xe3\n\x06\x10\n\x11\n\t\x04\x1e\x03\x07\x03\x00\x02\x01\x01\x12\x04\xe3\n\x11\x15\n\x11\n\t\x04\x1e\x03\x07\x03\x00\x02\x01\x03\x12\x04\xe3\n\x18\x19\n\x0e\n\x04\x04\x1e\x03\x08\x12\x06\xe7\n\x02\xea\n\x03\n\r\n\x05\x04\x1e\x03\x08\x01\x12\x04\xe7\n\n\x18\n\x0e\n\x06\x04\x1e\x03\x08\x02\x00\x12\x04\xe8\n\x04\x19\n\x0f\n\x07\x04\x1e\x03\x08\x02\x00\x06\x12\x04\xe8\n\x04\x0e\n\x0f\n\x07\x04\x1e\x03\x08\x02\x00\x01\x12\x04\xe8\n\x0f\x14\n\x0f\n\x07\x04\x1e\x03\x08\x02\x00\x03\x12\x04\xe8\n\x17\x18\n\x0e\n\x06\x04\x1e\x03\x08\x02\x01\x12\x04\xe9\n\x04$\n\x0f\n\x07\x04\x1e\x03\x08\x02\x01\x04\x12\x04\xe9\n\x04\x0c\n\x0f\n\x07\x04\x1e\x03\x08\x02\x01\x06\x12\x04\xe9\n\r\x17\n\x0f\n\x07\x04\x1e\x03\x08\x02\x01\x01\x12\x04\xe9\n\x18\x1f\n\x0f\n\x07\x04\x1e\x03\x08\x02\x01\x03\x12\x04\xe9\n\"#\n\x0e\n\x04\x04\x1e\x03\t\x12\x06\xec\n\x02\xf3\n\x03\n\r\n\x05\x04\x1e\x03\t\x01\x12\x04\xec\n\n\x15\n\x0e\n\x06\x04\x1e\x03\t\x02\x00\x12\x04\xed\n\x04\"\n\x0f\n\x07\x04\x1e\x03\t\x02\x00\x04\x12\x04\xed\n\x04\x0c\n\x0f\n\x07\x04\x1e\x03\t\x02\x00\x06\x12\x04\xed\n\r\x17\n\x0f\n\x07\x04\x1e\x03\t\x02\x00\x01\x12\x04\xed\n\x18\x1d\n\x0f\n\x07\x04\x1e\x03\t\x02\x00\x03\x12\x04\xed\n !\n\x0e\n\x06\x04\x1e\x03\t\x02\x01\x12\x04\xee\n\x04 \n\x0f\n\x07\x04\x1e\x03\t\x02\x01\x04\x12\x04\xee\n\x04\x0c\n\x0f\n\x07\x04\x1e\x03\t\x02\x01\x06\x12\x04\xee\n\r\x13\n\x0f\n\x07\x04\x1e\x03\t\x02\x01\x01\x12\x04\xee\n\x14\x1b\n\x0f\n\x07\x04\x1e\x03\t\x02\x01\x03\x12\x04\xee\n\x1e\x1f\n\x10\n\x06\x04\x1e\x03\t\x03\x00\x12\x06\xf0\n\x04\xf2\n\x05\n\x0f\n\x07\x04\x1e\x03\t\x03\x00\x01\x12\x04\xf0\n\x0c\x12\n\x10\n\x08\x04\x1e\x03\t\x03\x00\x02\x00\x12\x04\xf1\n\x06%\n\x11\n\t\x04\x1e\x03\t\x03\x00\x02\x00\x04\x12\x04\xf1\n\x06\x0e\n\x11\n\t\x04\x1e\x03\t\x03\x00\x02\x00\x06\x12\x04\xf1\n\x0f\x19\n\x11\n\t\x04\x1e\x03\t\x03\x00\x02\x00\x01\x12\x04\xf1\n\x1a \n\x11\n\t\x04\x1e\x03\t\x03\x00\x02\x00\x03\x12\x04\xf1\n#$\n\x0e\n\x04\x04\x1e\x03\n\x12\x06\xf5\n\x02\x86\x0b\x03\n\r\n\x05\x04\x1e\x03\n\x01\x12\x04\xf5\n\n\x1a\n\x0e\n\x06\x04\x1e\x03\n\x02\x00\x12\x04\xf6\n\x04&\n\x0f\n\x07\x04\x1e\x03\n\x02\x00\x04\x12\x04\xf6\n\x04\x0c\n\x0f\n\x07\x04\x1e\x03\n\x02\x00\x06\x12\x04\xf6\n\r\x17\n\x0f\n\x07\x04\x1e\x03\n\x02\x00\x01\x12\x04\xf6\n\x18!\n\x0f\n\x07\x04\x1e\x03\n\x02\x00\x03\x12\x04\xf6\n$%\n\x0e\n\x06\x04\x1e\x03\n\x02\x01\x12\x04\xf7\n\x04\x19\n\x0f\n\x07\x04\x1e\x03\n\x02\x01\x06\x12\x04\xf7\n\x04\x08\n\x0f\n\x07\x04\x1e\x03\n\x02\x01\x01\x12\x04\xf7\n\t\x14\n\x0f\n\x07\x04\x1e\x03\n\x02\x01\x03\x12\x04\xf7\n\x17\x18\n\x10\n\x06\x04\x1e\x03\n\x08\x00\x12\x06\xf8\n\x04\xfb\n\x05\n\x0f\n\x07\x04\x1e\x03\n\x08\x00\x01\x12\x04\xf8\n\n\x0e\n\x0e\n\x06\x04\x1e\x03\n\x02\x02\x12\x04\xf9\n\x066\n\x0f\n\x07\x04\x1e\x03\n\x02\x02\x06\x12\x04\xf9\n\x06\x1a\n\x0f\n\x07\x04\x1e\x03\n\x02\x02\x01\x12\x04\xf9\n\x1b1\n\x0f\n\x07\x04\x1e\x03\n\x02\x02\x03\x12\x04\xf9\n45\n\x0e\n\x06\x04\x1e\x03\n\x02\x03\x12\x04\xfa\n\x064\n\x0f\n\x07\x04\x1e\x03\n\x02\x03\x06\x12\x04\xfa\n\x06\x19\n\x0f\n\x07\x04\x1e\x03\n\x02\x03\x01\x12\x04\xfa\n\x1a/\n\x0f\n\x07\x04\x1e\x03\n\x02\x03\x03\x12\x04\xfa\n23\n\x10\n\x06\x04\x1e\x03\n\x03\x00\x12\x06\xfd\n\x04\x80\x0b\x05\n\x0f\n\x07\x04\x1e\x03\n\x03\x00\x01\x12\x04\xfd\n\x0c \n\x10\n\x08\x04\x1e\x03\n\x03\x00\x02\x00\x12\x04\xfe\n\x06\x19\n\x11\n\t\x04\x1e\x03\n\x03\x00\x02\x00\x05\x12\x04\xfe\n\x06\x0b\n\x11\n\t\x04\x1e\x03\n\x03\x00\x02\x00\x01\x12\x04\xfe\n\x0c\x14\n\x11\n\t\x04\x1e\x03\n\x03\x00\x02\x00\x03\x12\x04\xfe\n\x17\x18\n\x10\n\x08\x04\x1e\x03\n\x03\x00\x02\x01\x12\x04\xff\n\x06\'\n\x11\n\t\x04\x1e\x03\n\x03\x00\x02\x01\x04\x12\x04\xff\n\x06\x0e\n\x11\n\t\x04\x1e\x03\n\x03\x00\x02\x01\x05\x12\x04\xff\n\x0f\x15\n\x11\n\t\x04\x1e\x03\n\x03\x00\x02\x01\x01\x12\x04\xff\n\x16\"\n\x11\n\t\x04\x1e\x03\n\x03\x00\x02\x01\x03\x12\x04\xff\n%&\n\x10\n\x06\x04\x1e\x03\n\x03\x01\x12\x06\x82\x0b\x04\x85\x0b\x05\n\x0f\n\x07\x04\x1e\x03\n\x03\x01\x01\x12\x04\x82\x0b\x0c\x1f\n\x10\n\x08\x04\x1e\x03\n\x03\x01\x02\x00\x12\x04\x83\x0b\x06\x17\n\x11\n\t\x04\x1e\x03\n\x03\x01\x02\x00\x05\x12\x04\x83\x0b\x06\x0b\n\x11\n\t\x04\x1e\x03\n\x03\x01\x02\x00\x01\x12\x04\x83\x0b\x0c\x12\n\x11\n\t\x04\x1e\x03\n\x03\x01\x02\x00\x03\x12\x04\x83\x0b\x15\x16\n\x10\n\x08\x04\x1e\x03\n\x03\x01\x02\x01\x12\x04\x84\x0b\x06\'\n\x11\n\t\x04\x1e\x03\n\x03\x01\x02\x01\x04\x12\x04\x84\x0b\x06\x0e\n\x11\n\t\x04\x1e\x03\n\x03\x01\x02\x01\x05\x12\x04\x84\x0b\x0f\x15\n\x11\n\t\x04\x1e\x03\n\x03\x01\x02\x01\x01\x12\x04\x84\x0b\x16\"\n\x11\n\t\x04\x1e\x03\n\x03\x01\x02\x01\x03\x12\x04\x84\x0b%&\n\xed\x03\n\x04\x04\x1e\x03\x0b\x12\x06\x8f\x0b\x02\xad\x0b\x03\x1a\xdc\x03 A way to reference the inner property of a complex record. Can reference\n either a map key by literal, a struct field by the ordinal position of\n the desired field or a particular element in an array. Supports\n expressions that would roughly translate to something similar to:\n a.b[2].c[\'my_map_key\'].x where a,b,c and x are struct field references\n (ordinalized in the internal representation here), [2] is a list offset\n and [\'my_map_key\'] is a reference into a map field.\n\n\r\n\x05\x04\x1e\x03\x0b\x01\x12\x04\x8f\x0b\n\x1a\n\x10\n\x06\x04\x1e\x03\x0b\x08\x00\x12\x06\x90\x0b\x04\x94\x0b\x05\n\x0f\n\x07\x04\x1e\x03\x0b\x08\x00\x01\x12\x04\x90\x0b\n\x18\n\x0e\n\x06\x04\x1e\x03\x0b\x02\x00\x12\x04\x91\x0b\x06\x19\n\x0f\n\x07\x04\x1e\x03\x0b\x02\x00\x06\x12\x04\x91\x0b\x06\x0c\n\x0f\n\x07\x04\x1e\x03\x0b\x02\x00\x01\x12\x04\x91\x0b\r\x14\n\x0f\n\x07\x04\x1e\x03\x0b\x02\x00\x03\x12\x04\x91\x0b\x17\x18\n\x0e\n\x06\x04\x1e\x03\x0b\x02\x01\x12\x04\x92\x0b\x06#\n\x0f\n\x07\x04\x1e\x03\x0b\x02\x01\x06\x12\x04\x92\x0b\x06\x11\n\x0f\n\x07\x04\x1e\x03\x0b\x02\x01\x01\x12\x04\x92\x0b\x12\x1e\n\x0f\n\x07\x04\x1e\x03\x0b\x02\x01\x03\x12\x04\x92\x0b!\"\n\x0e\n\x06\x04\x1e\x03\x0b\x02\x02\x12\x04\x93\x0b\x06#\n\x0f\n\x07\x04\x1e\x03\x0b\x02\x02\x06\x12\x04\x93\x0b\x06\x11\n\x0f\n\x07\x04\x1e\x03\x0b\x02\x02\x01\x12\x04\x93\x0b\x12\x1e\n\x0f\n\x07\x04\x1e\x03\x0b\x02\x02\x03\x12\x04\x93\x0b!\"\n\x10\n\x06\x04\x1e\x03\x0b\x03\x00\x12\x06\x96\x0b\x04\x9c\x0b\x05\n\x0f\n\x07\x04\x1e\x03\x0b\x03\x00\x01\x12\x04\x96\x0b\x0c\x12\nN\n\x08\x04\x1e\x03\x0b\x03\x00\x02\x00\x12\x04\x98\x0b\x06\x1a\x1a< literal based reference to specific possible value in map.\n\n\x11\n\t\x04\x1e\x03\x0b\x03\x00\x02\x00\x06\x12\x04\x98\x0b\x06\r\n\x11\n\t\x04\x1e\x03\x0b\x03\x00\x02\x00\x01\x12\x04\x98\x0b\x0e\x15\n\x11\n\t\x04\x1e\x03\x0b\x03\x00\x02\x00\x03\x12\x04\x98\x0b\x18\x19\n*\n\x08\x04\x1e\x03\x0b\x03\x00\x02\x01\x12\x04\x9b\x0b\x06!\x1a\x18 Optional child segment\n\n\x11\n\t\x04\x1e\x03\x0b\x03\x00\x02\x01\x06\x12\x04\x9b\x0b\x06\x16\n\x11\n\t\x04\x1e\x03\x0b\x03\x00\x02\x01\x01\x12\x04\x9b\x0b\x17\x1c\n\x11\n\t\x04\x1e\x03\x0b\x03\x00\x02\x01\x03\x12\x04\x9b\x0b\x1f \n\x10\n\x06\x04\x1e\x03\x0b\x03\x01\x12\x06\x9e\x0b\x04\xa4\x0b\x05\n\x0f\n\x07\x04\x1e\x03\x0b\x03\x01\x01\x12\x04\x9e\x0b\x0c\x17\nD\n\x08\x04\x1e\x03\x0b\x03\x01\x02\x00\x12\x04\xa0\x0b\x06\x16\x1a2 zero-indexed ordinal position of field in struct\n\n\x11\n\t\x04\x1e\x03\x0b\x03\x01\x02\x00\x05\x12\x04\xa0\x0b\x06\x0b\n\x11\n\t\x04\x1e\x03\x0b\x03\x01\x02\x00\x01\x12\x04\xa0\x0b\x0c\x11\n\x11\n\t\x04\x1e\x03\x0b\x03\x01\x02\x00\x03\x12\x04\xa0\x0b\x14\x15\n*\n\x08\x04\x1e\x03\x0b\x03\x01\x02\x01\x12\x04\xa3\x0b\x06!\x1a\x18 Optional child segment\n\n\x11\n\t\x04\x1e\x03\x0b\x03\x01\x02\x01\x06\x12\x04\xa3\x0b\x06\x16\n\x11\n\t\x04\x1e\x03\x0b\x03\x01\x02\x01\x01\x12\x04\xa3\x0b\x17\x1c\n\x11\n\t\x04\x1e\x03\x0b\x03\x01\x02\x01\x03\x12\x04\xa3\x0b\x1f \n\x10\n\x06\x04\x1e\x03\x0b\x03\x02\x12\x06\xa6\x0b\x04\xac\x0b\x05\n\x0f\n\x07\x04\x1e\x03\x0b\x03\x02\x01\x12\x04\xa6\x0b\x0c\x17\nD\n\x08\x04\x1e\x03\x0b\x03\x02\x02\x00\x12\x04\xa8\x0b\x06\x17\x1a2 zero-indexed ordinal position of element in list\n\n\x11\n\t\x04\x1e\x03\x0b\x03\x02\x02\x00\x05\x12\x04\xa8\x0b\x06\x0b\n\x11\n\t\x04\x1e\x03\x0b\x03\x02\x02\x00\x01\x12\x04\xa8\x0b\x0c\x12\n\x11\n\t\x04\x1e\x03\x0b\x03\x02\x02\x00\x03\x12\x04\xa8\x0b\x15\x16\n*\n\x08\x04\x1e\x03\x0b\x03\x02\x02\x01\x12\x04\xab\x0b\x06!\x1a\x18 Optional child segment\n\n\x11\n\t\x04\x1e\x03\x0b\x03\x02\x02\x01\x06\x12\x04\xab\x0b\x06\x16\n\x11\n\t\x04\x1e\x03\x0b\x03\x02\x02\x01\x01\x12\x04\xab\x0b\x17\x1c\n\x11\n\t\x04\x1e\x03\x0b\x03\x02\x02\x01\x03\x12\x04\xab\x0b\x1f \n\x85\x04\n\x04\x04\x1e\x03\x0c\x12\x06\xb8\x0b\x02\xf2\x0b\x03\x1a\xf4\x03 A reference that takes an existing subtype and selectively removes fields\n from it. For example, one might initially have an inner struct with 100\n fields but a a particular operation only needs to interact with only 2 of\n those 100 fields. In this situation, one would use a mask expression to\n eliminate the 98 fields that are not relevant to the rest of the operation\n pipeline.\n\n Note that this does not fundamentally alter the structure of data beyond\n the elimination of unnecessary elements.\n\n\r\n\x05\x04\x1e\x03\x0c\x01\x12\x04\xb8\x0b\n\x18\n\x0e\n\x06\x04\x1e\x03\x0c\x02\x00\x12\x04\xb9\x0b\x04\x1c\n\x0f\n\x07\x04\x1e\x03\x0c\x02\x00\x06\x12\x04\xb9\x0b\x04\x10\n\x0f\n\x07\x04\x1e\x03\x0c\x02\x00\x01\x12\x04\xb9\x0b\x11\x17\n\x0f\n\x07\x04\x1e\x03\x0c\x02\x00\x03\x12\x04\xb9\x0b\x1a\x1b\n\x0e\n\x06\x04\x1e\x03\x0c\x02\x01\x12\x04\xba\x0b\x04&\n\x0f\n\x07\x04\x1e\x03\x0c\x02\x01\x05\x12\x04\xba\x0b\x04\x08\n\x0f\n\x07\x04\x1e\x03\x0c\x02\x01\x01\x12\x04\xba\x0b\t!\n\x0f\n\x07\x04\x1e\x03\x0c\x02\x01\x03\x12\x04\xba\x0b$%\n\x10\n\x06\x04\x1e\x03\x0c\x03\x00\x12\x06\xbc\x0b\x04\xc2\x0b\x05\n\x0f\n\x07\x04\x1e\x03\x0c\x03\x00\x01\x12\x04\xbc\x0b\x0c\x12\n\x12\n\x08\x04\x1e\x03\x0c\x03\x00\x08\x00\x12\x06\xbd\x0b\x06\xc1\x0b\x07\n\x11\n\t\x04\x1e\x03\x0c\x03\x00\x08\x00\x01\x12\x04\xbd\x0b\x0c\x10\n\x10\n\x08\x04\x1e\x03\x0c\x03\x00\x02\x00\x12\x04\xbe\x0b\x08 \n\x11\n\t\x04\x1e\x03\x0c\x03\x00\x02\x00\x06\x12\x04\xbe\x0b\x08\x14\n\x11\n\t\x04\x1e\x03\x0c\x03\x00\x02\x00\x01\x12\x04\xbe\x0b\x15\x1b\n\x11\n\t\x04\x1e\x03\x0c\x03\x00\x02\x00\x03\x12\x04\xbe\x0b\x1e\x1f\n\x10\n\x08\x04\x1e\x03\x0c\x03\x00\x02\x01\x12\x04\xbf\x0b\x08\x1c\n\x11\n\t\x04\x1e\x03\x0c\x03\x00\x02\x01\x06\x12\x04\xbf\x0b\x08\x12\n\x11\n\t\x04\x1e\x03\x0c\x03\x00\x02\x01\x01\x12\x04\xbf\x0b\x13\x17\n\x11\n\t\x04\x1e\x03\x0c\x03\x00\x02\x01\x03\x12\x04\xbf\x0b\x1a\x1b\n\x10\n\x08\x04\x1e\x03\x0c\x03\x00\x02\x02\x12\x04\xc0\x0b\x08\x1a\n\x11\n\t\x04\x1e\x03\x0c\x03\x00\x02\x02\x06\x12\x04\xc0\x0b\x08\x11\n\x11\n\t\x04\x1e\x03\x0c\x03\x00\x02\x02\x01\x12\x04\xc0\x0b\x12\x15\n\x11\n\t\x04\x1e\x03\x0c\x03\x00\x02\x02\x03\x12\x04\xc0\x0b\x18\x19\n\x10\n\x06\x04\x1e\x03\x0c\x03\x01\x12\x06\xc4\x0b\x04\xc6\x0b\x05\n\x0f\n\x07\x04\x1e\x03\x0c\x03\x01\x01\x12\x04\xc4\x0b\x0c\x18\n\x10\n\x08\x04\x1e\x03\x0c\x03\x01\x02\x00\x12\x04\xc5\x0b\x06+\n\x11\n\t\x04\x1e\x03\x0c\x03\x01\x02\x00\x04\x12\x04\xc5\x0b\x06\x0e\n\x11\n\t\x04\x1e\x03\x0c\x03\x01\x02\x00\x06\x12\x04\xc5\x0b\x0f\x19\n\x11\n\t\x04\x1e\x03\x0c\x03\x01\x02\x00\x01\x12\x04\xc5\x0b\x1a&\n\x11\n\t\x04\x1e\x03\x0c\x03\x01\x02\x00\x03\x12\x04\xc5\x0b)*\n\x10\n\x06\x04\x1e\x03\x0c\x03\x02\x12\x06\xc8\x0b\x04\xcb\x0b\x05\n\x0f\n\x07\x04\x1e\x03\x0c\x03\x02\x01\x12\x04\xc8\x0b\x0c\x16\n\x10\n\x08\x04\x1e\x03\x0c\x03\x02\x02\x00\x12\x04\xc9\x0b\x06\x16\n\x11\n\t\x04\x1e\x03\x0c\x03\x02\x02\x00\x05\x12\x04\xc9\x0b\x06\x0b\n\x11\n\t\x04\x1e\x03\x0c\x03\x02\x02\x00\x01\x12\x04\xc9\x0b\x0c\x11\n\x11\n\t\x04\x1e\x03\x0c\x03\x02\x02\x00\x03\x12\x04\xc9\x0b\x14\x15\n\x10\n\x08\x04\x1e\x03\x0c\x03\x02\x02\x01\x12\x04\xca\x0b\x06\x17\n\x11\n\t\x04\x1e\x03\x0c\x03\x02\x02\x01\x06\x12\x04\xca\x0b\x06\x0c\n\x11\n\t\x04\x1e\x03\x0c\x03\x02\x02\x01\x01\x12\x04\xca\x0b\r\x12\n\x11\n\t\x04\x1e\x03\x0c\x03\x02\x02\x01\x03\x12\x04\xca\x0b\x15\x16\n\x10\n\x06\x04\x1e\x03\x0c\x03\x03\x12\x06\xcd\x0b\x04\xe0\x0b\x05\n\x0f\n\x07\x04\x1e\x03\x0c\x03\x03\x01\x12\x04\xcd\x0b\x0c\x16\n\x10\n\x08\x04\x1e\x03\x0c\x03\x03\x02\x00\x12\x04\xce\x0b\x06,\n\x11\n\t\x04\x1e\x03\x0c\x03\x03\x02\x00\x04\x12\x04\xce\x0b\x06\x0e\n\x11\n\t\x04\x1e\x03\x0c\x03\x03\x02\x00\x06\x12\x04\xce\x0b\x0f\x1d\n\x11\n\t\x04\x1e\x03\x0c\x03\x03\x02\x00\x01\x12\x04\xce\x0b\x1e\'\n\x11\n\t\x04\x1e\x03\x0c\x03\x03\x02\x00\x03\x12\x04\xce\x0b*+\n\x10\n\x08\x04\x1e\x03\x0c\x03\x03\x02\x01\x12\x04\xcf\x0b\x06\x17\n\x11\n\t\x04\x1e\x03\x0c\x03\x03\x02\x01\x06\x12\x04\xcf\x0b\x06\x0c\n\x11\n\t\x04\x1e\x03\x0c\x03\x03\x02\x01\x01\x12\x04\xcf\x0b\r\x12\n\x11\n\t\x04\x1e\x03\x0c\x03\x03\x02\x01\x03\x12\x04\xcf\x0b\x15\x16\n\x12\n\x08\x04\x1e\x03\x0c\x03\x03\x03\x00\x12\x06\xd1\x0b\x06\xdf\x0b\x07\n\x11\n\t\x04\x1e\x03\x0c\x03\x03\x03\x00\x01\x12\x04\xd1\x0b\x0e\x1c\n\x14\n\n\x04\x1e\x03\x0c\x03\x03\x03\x00\x08\x00\x12\x06\xd2\x0b\x08\xd5\x0b\t\n\x13\n\x0b\x04\x1e\x03\x0c\x03\x03\x03\x00\x08\x00\x01\x12\x04\xd2\x0b\x0e\x12\n\x12\n\n\x04\x1e\x03\x0c\x03\x03\x03\x00\x02\x00\x12\x04\xd3\x0b\n\x1f\n\x13\n\x0b\x04\x1e\x03\x0c\x03\x03\x03\x00\x02\x00\x06\x12\x04\xd3\x0b\n\x15\n\x13\n\x0b\x04\x1e\x03\x0c\x03\x03\x03\x00\x02\x00\x01\x12\x04\xd3\x0b\x16\x1a\n\x13\n\x0b\x04\x1e\x03\x0c\x03\x03\x03\x00\x02\x00\x03\x12\x04\xd3\x0b\x1d\x1e\n\x12\n\n\x04\x1e\x03\x0c\x03\x03\x03\x00\x02\x01\x12\x04\xd4\x0b\n\x1e\n\x13\n\x0b\x04\x1e\x03\x0c\x03\x03\x03\x00\x02\x01\x06\x12\x04\xd4\x0b\n\x13\n\x13\n\x0b\x04\x1e\x03\x0c\x03\x03\x03\x00\x02\x01\x01\x12\x04\xd4\x0b\x14\x19\n\x13\n\x0b\x04\x1e\x03\x0c\x03\x03\x03\x00\x02\x01\x03\x12\x04\xd4\x0b\x1c\x1d\n\x14\n\n\x04\x1e\x03\x0c\x03\x03\x03\x00\x03\x00\x12\x06\xd7\x0b\x08\xd9\x0b\t\n\x13\n\x0b\x04\x1e\x03\x0c\x03\x03\x03\x00\x03\x00\x01\x12\x04\xd7\x0b\x10\x1b\n\x14\n\x0c\x04\x1e\x03\x0c\x03\x03\x03\x00\x03\x00\x02\x00\x12\x04\xd8\x0b\n\x1a\n\x15\n\r\x04\x1e\x03\x0c\x03\x03\x03\x00\x03\x00\x02\x00\x05\x12\x04\xd8\x0b\n\x0f\n\x15\n\r\x04\x1e\x03\x0c\x03\x03\x03\x00\x03\x00\x02\x00\x01\x12\x04\xd8\x0b\x10\x15\n\x15\n\r\x04\x1e\x03\x0c\x03\x03\x03\x00\x03\x00\x02\x00\x03\x12\x04\xd8\x0b\x18\x19\n\x14\n\n\x04\x1e\x03\x0c\x03\x03\x03\x00\x03\x01\x12\x06\xdb\x0b\x08\xde\x0b\t\n\x13\n\x0b\x04\x1e\x03\x0c\x03\x03\x03\x00\x03\x01\x01\x12\x04\xdb\x0b\x10\x19\n\x14\n\x0c\x04\x1e\x03\x0c\x03\x03\x03\x00\x03\x01\x02\x00\x12\x04\xdc\x0b\n\x1a\n\x15\n\r\x04\x1e\x03\x0c\x03\x03\x03\x00\x03\x01\x02\x00\x05\x12\x04\xdc\x0b\n\x0f\n\x15\n\r\x04\x1e\x03\x0c\x03\x03\x03\x00\x03\x01\x02\x00\x01\x12\x04\xdc\x0b\x10\x15\n\x15\n\r\x04\x1e\x03\x0c\x03\x03\x03\x00\x03\x01\x02\x00\x03\x12\x04\xdc\x0b\x18\x19\n\x14\n\x0c\x04\x1e\x03\x0c\x03\x03\x03\x00\x03\x01\x02\x01\x12\x04\xdd\x0b\n\x18\n\x15\n\r\x04\x1e\x03\x0c\x03\x03\x03\x00\x03\x01\x02\x01\x05\x12\x04\xdd\x0b\n\x0f\n\x15\n\r\x04\x1e\x03\x0c\x03\x03\x03\x00\x03\x01\x02\x01\x01\x12\x04\xdd\x0b\x10\x13\n\x15\n\r\x04\x1e\x03\x0c\x03\x03\x03\x00\x03\x01\x02\x01\x03\x12\x04\xdd\x0b\x16\x17\n\x10\n\x06\x04\x1e\x03\x0c\x03\x04\x12\x06\xe2\x0b\x04\xf1\x0b\x05\n\x0f\n\x07\x04\x1e\x03\x0c\x03\x04\x01\x12\x04\xe2\x0b\x0c\x15\n\x12\n\x08\x04\x1e\x03\x0c\x03\x04\x08\x00\x12\x06\xe3\x0b\x06\xe6\x0b\x07\n\x11\n\t\x04\x1e\x03\x0c\x03\x04\x08\x00\x01\x12\x04\xe3\x0b\x0c\x12\n\x10\n\x08\x04\x1e\x03\x0c\x03\x04\x02\x00\x12\x04\xe4\x0b\x08\x17\n\x11\n\t\x04\x1e\x03\x0c\x03\x04\x02\x00\x06\x12\x04\xe4\x0b\x08\x0e\n\x11\n\t\x04\x1e\x03\x0c\x03\x04\x02\x00\x01\x12\x04\xe4\x0b\x0f\x12\n\x11\n\t\x04\x1e\x03\x0c\x03\x04\x02\x00\x03\x12\x04\xe4\x0b\x15\x16\n\x10\n\x08\x04\x1e\x03\x0c\x03\x04\x02\x01\x12\x04\xe5\x0b\x08(\n\x11\n\t\x04\x1e\x03\x0c\x03\x04\x02\x01\x06\x12\x04\xe5\x0b\x08\x18\n\x11\n\t\x04\x1e\x03\x0c\x03\x04\x02\x01\x01\x12\x04\xe5\x0b\x19#\n\x11\n\t\x04\x1e\x03\x0c\x03\x04\x02\x01\x03\x12\x04\xe5\x0b&\'\n\x10\n\x08\x04\x1e\x03\x0c\x03\x04\x02\x02\x12\x04\xe8\x0b\x06\x17\n\x11\n\t\x04\x1e\x03\x0c\x03\x04\x02\x02\x06\x12\x04\xe8\x0b\x06\x0c\n\x11\n\t\x04\x1e\x03\x0c\x03\x04\x02\x02\x01\x12\x04\xe8\x0b\r\x12\n\x11\n\t\x04\x1e\x03\x0c\x03\x04\x02\x02\x03\x12\x04\xe8\x0b\x15\x16\n\x12\n\x08\x04\x1e\x03\x0c\x03\x04\x03\x00\x12\x06\xea\x0b\x06\xec\x0b\x07\n\x11\n\t\x04\x1e\x03\x0c\x03\x04\x03\x00\x01\x12\x04\xea\x0b\x0e\x14\n\x12\n\n\x04\x1e\x03\x0c\x03\x04\x03\x00\x02\x00\x12\x04\xeb\x0b\x08\x1b\n\x13\n\x0b\x04\x1e\x03\x0c\x03\x04\x03\x00\x02\x00\x05\x12\x04\xeb\x0b\x08\x0e\n\x13\n\x0b\x04\x1e\x03\x0c\x03\x04\x03\x00\x02\x00\x01\x12\x04\xeb\x0b\x0f\x16\n\x13\n\x0b\x04\x1e\x03\x0c\x03\x04\x03\x00\x02\x00\x03\x12\x04\xeb\x0b\x19\x1a\n\x12\n\x08\x04\x1e\x03\x0c\x03\x04\x03\x01\x12\x06\xee\x0b\x06\xf0\x0b\x07\n\x11\n\t\x04\x1e\x03\x0c\x03\x04\x03\x01\x01\x12\x04\xee\x0b\x0e\x1e\n\x12\n\n\x04\x1e\x03\x0c\x03\x04\x03\x01\x02\x00\x12\x04\xef\x0b\x08&\n\x13\n\x0b\x04\x1e\x03\x0c\x03\x04\x03\x01\x02\x00\x05\x12\x04\xef\x0b\x08\x0e\n\x13\n\x0b\x04\x1e\x03\x0c\x03\x04\x03\x01\x02\x00\x01\x12\x04\xef\x0b\x0f!\n\x13\n\x0b\x04\x1e\x03\x0c\x03\x04\x03\x01\x02\x00\x03\x12\x04\xef\x0b$%\n\x8d\x01\n\x04\x04\x1e\x03\r\x12\x06\xf6\x0b\x02\x92\x0c\x03\x1a} A reference to an inner part of a complex object. Can reference reference a\n single element or a masked version of elements\n\n\r\n\x05\x04\x1e\x03\r\x01\x12\x04\xf6\x0b\n\x18\ng\n\x06\x04\x1e\x03\r\x08\x00\x12\x06\xf9\x0b\x04\xfc\x0b\x05\x1aU Whether this is composed of a single element reference or a masked\n element subtree\n\n\x0f\n\x07\x04\x1e\x03\r\x08\x00\x01\x12\x04\xf9\x0b\n\x18\n\x0e\n\x06\x04\x1e\x03\r\x02\x00\x12\x04\xfa\x0b\x06,\n\x0f\n\x07\x04\x1e\x03\r\x02\x00\x06\x12\x04\xfa\x0b\x06\x16\n\x0f\n\x07\x04\x1e\x03\r\x02\x00\x01\x12\x04\xfa\x0b\x17\'\n\x0f\n\x07\x04\x1e\x03\r\x02\x00\x03\x12\x04\xfa\x0b*+\n\x0e\n\x06\x04\x1e\x03\r\x02\x01\x12\x04\xfb\x0b\x06*\n\x0f\n\x07\x04\x1e\x03\r\x02\x01\x06\x12\x04\xfb\x0b\x06\x14\n\x0f\n\x07\x04\x1e\x03\r\x02\x01\x01\x12\x04\xfb\x0b\x15%\n\x0f\n\x07\x04\x1e\x03\r\x02\x01\x03\x12\x04\xfb\x0b()\n\xec\x01\n\x06\x04\x1e\x03\r\x08\x01\x12\x06\x81\x0c\x04\x85\x0c\x05\x1a\xd9\x01 Whether this reference has an origin of a root struct or is based on the\n ouput of an expression. When this is a RootReference and direct_reference\n above is used, the direct_reference must be of a type StructField.\n\n\x0f\n\x07\x04\x1e\x03\r\x08\x01\x01\x12\x04\x81\x0c\n\x13\n\x0e\n\x06\x04\x1e\x03\r\x02\x02\x12\x04\x82\x0c\x06 \n\x0f\n\x07\x04\x1e\x03\r\x02\x02\x06\x12\x04\x82\x0c\x06\x10\n\x0f\n\x07\x04\x1e\x03\r\x02\x02\x01\x12\x04\x82\x0c\x11\x1b\n\x0f\n\x07\x04\x1e\x03\r\x02\x02\x03\x12\x04\x82\x0c\x1e\x1f\n\x0e\n\x06\x04\x1e\x03\r\x02\x03\x12\x04\x83\x0c\x06\'\n\x0f\n\x07\x04\x1e\x03\r\x02\x03\x06\x12\x04\x83\x0c\x06\x13\n\x0f\n\x07\x04\x1e\x03\r\x02\x03\x01\x12\x04\x83\x0c\x14\"\n\x0f\n\x07\x04\x1e\x03\r\x02\x03\x03\x12\x04\x83\x0c%&\n\x0e\n\x06\x04\x1e\x03\r\x02\x04\x12\x04\x84\x0c\x06)\n\x0f\n\x07\x04\x1e\x03\r\x02\x04\x06\x12\x04\x84\x0c\x06\x14\n\x0f\n\x07\x04\x1e\x03\r\x02\x04\x01\x12\x04\x84\x0c\x15$\n\x0f\n\x07\x04\x1e\x03\r\x02\x04\x03\x12\x04\x84\x0c\'(\nk\n\x06\x04\x1e\x03\r\x03\x00\x12\x04\x89\x0c\x04\x1c\x1a[ Singleton that expresses this FieldReference is rooted off the root\n incoming record type\n\n\x0f\n\x07\x04\x1e\x03\r\x03\x00\x01\x12\x04\x89\x0c\x0c\x19\nF\n\x06\x04\x1e\x03\r\x03\x01\x12\x06\x8c\x0c\x04\x91\x0c\x05\x1a4 A root reference for the outer relation\'s subquery\n\n\x0f\n\x07\x04\x1e\x03\r\x03\x01\x01\x12\x04\x8c\x0c\x0c\x1a\nu\n\x08\x04\x1e\x03\r\x03\x01\x02\x00\x12\x04\x90\x0c\x06\x1b\x1ac number of subquery boundaries to traverse up for this field\'s reference\n\n This value must be >= 1\n\n\x11\n\t\x04\x1e\x03\r\x03\x01\x02\x00\x05\x12\x04\x90\x0c\x06\x0c\n\x11\n\t\x04\x1e\x03\r\x03\x01\x02\x00\x01\x12\x04\x90\x0c\r\x16\n\x11\n\t\x04\x1e\x03\r\x03\x01\x02\x00\x03\x12\x04\x90\x0c\x19\x1a\n.\n\x04\x04\x1e\x03\x0e\x12\x06\x95\x0c\x02\xe0\x0c\x03\x1a\x1e Subquery relation expression\n\n\r\n\x05\x04\x1e\x03\x0e\x01\x12\x04\x95\x0c\n\x12\n\x10\n\x06\x04\x1e\x03\x0e\x08\x00\x12\x06\x96\x0c\x04\x9f\x0c\x05\n\x0f\n\x07\x04\x1e\x03\x0e\x08\x00\x01\x12\x04\x96\x0c\n\x17\n!\n\x06\x04\x1e\x03\x0e\x02\x00\x12\x04\x98\x0c\x06\x18\x1a\x11 Scalar subquery\n\n\x0f\n\x07\x04\x1e\x03\x0e\x02\x00\x06\x12\x04\x98\x0c\x06\x0c\n\x0f\n\x07\x04\x1e\x03\x0e\x02\x00\x01\x12\x04\x98\x0c\r\x13\n\x0f\n\x07\x04\x1e\x03\x0e\x02\x00\x03\x12\x04\x98\x0c\x16\x17\n\"\n\x06\x04\x1e\x03\x0e\x02\x01\x12\x04\x9a\x0c\x06#\x1a\x12 x IN y predicate\n\n\x0f\n\x07\x04\x1e\x03\x0e\x02\x01\x06\x12\x04\x9a\x0c\x06\x11\n\x0f\n\x07\x04\x1e\x03\x0e\x02\x01\x01\x12\x04\x9a\x0c\x12\x1e\n\x0f\n\x07\x04\x1e\x03\x0e\x02\x01\x03\x12\x04\x9a\x0c!\"\n)\n\x06\x04\x1e\x03\x0e\x02\x02\x12\x04\x9c\x0c\x06%\x1a\x19 EXISTS/UNIQUE predicate\n\n\x0f\n\x07\x04\x1e\x03\x0e\x02\x02\x06\x12\x04\x9c\x0c\x06\x12\n\x0f\n\x07\x04\x1e\x03\x0e\x02\x02\x01\x12\x04\x9c\x0c\x13 \n\x0f\n\x07\x04\x1e\x03\x0e\x02\x02\x03\x12\x04\x9c\x0c#$\n#\n\x06\x04\x1e\x03\x0e\x02\x03\x12\x04\x9e\x0c\x06\'\x1a\x13 ANY/ALL predicate\n\n\x0f\n\x07\x04\x1e\x03\x0e\x02\x03\x06\x12\x04\x9e\x0c\x06\x13\n\x0f\n\x07\x04\x1e\x03\x0e\x02\x03\x01\x12\x04\x9e\x0c\x14\"\n\x0f\n\x07\x04\x1e\x03\x0e\x02\x03\x03\x12\x04\x9e\x0c%&\nr\n\x06\x04\x1e\x03\x0e\x03\x00\x12\x06\xa3\x0c\x04\xa5\x0c\x05\x1a` A subquery with one row and one column. This is often an aggregate\n though not required to be.\n\n\x0f\n\x07\x04\x1e\x03\x0e\x03\x00\x01\x12\x04\xa3\x0c\x0c\x12\n\x10\n\x08\x04\x1e\x03\x0e\x03\x00\x02\x00\x12\x04\xa4\x0c\x06\x14\n\x11\n\t\x04\x1e\x03\x0e\x03\x00\x02\x00\x06\x12\x04\xa4\x0c\x06\t\n\x11\n\t\x04\x1e\x03\x0e\x03\x00\x02\x00\x01\x12\x04\xa4\x0c\n\x0f\n\x11\n\t\x04\x1e\x03\x0e\x03\x00\x02\x00\x03\x12\x04\xa4\x0c\x12\x13\n\xa9\x01\n\x06\x04\x1e\x03\x0e\x03\x01\x12\x06\xae\x0c\x04\xb1\x0c\x05\x1a\x96\x01 Predicate checking that the left expression is contained in the right\n subquery\n\n Examples:\n\n x IN (SELECT * FROM t)\n (x, y) IN (SELECT a, b FROM t)\n\n\x0f\n\x07\x04\x1e\x03\x0e\x03\x01\x01\x12\x04\xae\x0c\x0c\x17\n\x10\n\x08\x04\x1e\x03\x0e\x03\x01\x02\x00\x12\x04\xaf\x0c\x06&\n\x11\n\t\x04\x1e\x03\x0e\x03\x01\x02\x00\x04\x12\x04\xaf\x0c\x06\x0e\n\x11\n\t\x04\x1e\x03\x0e\x03\x01\x02\x00\x06\x12\x04\xaf\x0c\x0f\x19\n\x11\n\t\x04\x1e\x03\x0e\x03\x01\x02\x00\x01\x12\x04\xaf\x0c\x1a!\n\x11\n\t\x04\x1e\x03\x0e\x03\x01\x02\x00\x03\x12\x04\xaf\x0c$%\n\x10\n\x08\x04\x1e\x03\x0e\x03\x01\x02\x01\x12\x04\xb0\x0c\x06\x17\n\x11\n\t\x04\x1e\x03\x0e\x03\x01\x02\x01\x06\x12\x04\xb0\x0c\x06\t\n\x11\n\t\x04\x1e\x03\x0e\x03\x01\x02\x01\x01\x12\x04\xb0\x0c\n\x12\n\x11\n\t\x04\x1e\x03\x0e\x03\x01\x02\x01\x03\x12\x04\xb0\x0c\x15\x16\n\x87\x01\n\x06\x04\x1e\x03\x0e\x03\x02\x12\x06\xb5\x0c\x04\xbe\x0c\x05\x1au A predicate over a set of rows in the form of a subquery\n EXISTS and UNIQUE are common SQL forms of this operation.\n\n\x0f\n\x07\x04\x1e\x03\x0e\x03\x02\x01\x12\x04\xb5\x0c\x0c\x18\n\x12\n\x08\x04\x1e\x03\x0e\x03\x02\x04\x00\x12\x06\xb6\x0c\x06\xba\x0c\x07\n\x11\n\t\x04\x1e\x03\x0e\x03\x02\x04\x00\x01\x12\x04\xb6\x0c\x0b\x16\n\x12\n\n\x04\x1e\x03\x0e\x03\x02\x04\x00\x02\x00\x12\x04\xb7\x0c\x08%\n\x13\n\x0b\x04\x1e\x03\x0e\x03\x02\x04\x00\x02\x00\x01\x12\x04\xb7\x0c\x08 \n\x13\n\x0b\x04\x1e\x03\x0e\x03\x02\x04\x00\x02\x00\x02\x12\x04\xb7\x0c#$\n\x12\n\n\x04\x1e\x03\x0e\x03\x02\x04\x00\x02\x01\x12\x04\xb8\x0c\x08 \n\x13\n\x0b\x04\x1e\x03\x0e\x03\x02\x04\x00\x02\x01\x01\x12\x04\xb8\x0c\x08\x1b\n\x13\n\x0b\x04\x1e\x03\x0e\x03\x02\x04\x00\x02\x01\x02\x12\x04\xb8\x0c\x1e\x1f\n\x12\n\n\x04\x1e\x03\x0e\x03\x02\x04\x00\x02\x02\x12\x04\xb9\x0c\x08 \n\x13\n\x0b\x04\x1e\x03\x0e\x03\x02\x04\x00\x02\x02\x01\x12\x04\xb9\x0c\x08\x1b\n\x13\n\x0b\x04\x1e\x03\x0e\x03\x02\x04\x00\x02\x02\x02\x12\x04\xb9\x0c\x1e\x1f\n2\n\x08\x04\x1e\x03\x0e\x03\x02\x02\x00\x12\x04\xbc\x0c\x06#\x1a  TODO: should allow expressions\n\n\x11\n\t\x04\x1e\x03\x0e\x03\x02\x02\x00\x06\x12\x04\xbc\x0c\x06\x11\n\x11\n\t\x04\x1e\x03\x0e\x03\x02\x02\x00\x01\x12\x04\xbc\x0c\x12\x1e\n\x11\n\t\x04\x1e\x03\x0e\x03\x02\x02\x00\x03\x12\x04\xbc\x0c!\"\n\x10\n\x08\x04\x1e\x03\x0e\x03\x02\x02\x01\x12\x04\xbd\x0c\x06\x15\n\x11\n\t\x04\x1e\x03\x0e\x03\x02\x02\x01\x06\x12\x04\xbd\x0c\x06\t\n\x11\n\t\x04\x1e\x03\x0e\x03\x02\x02\x01\x01\x12\x04\xbd\x0c\n\x10\n\x11\n\t\x04\x1e\x03\x0e\x03\x02\x02\x01\x03\x12\x04\xbd\x0c\x13\x14\n{\n\x06\x04\x1e\x03\x0e\x03\x03\x12\x06\xc6\x0c\x04\xdf\x0c\x05\x1ai A subquery comparison using ANY or ALL.\n Examples:\n\n SELECT *\n FROM t1\n WHERE x < ANY(SELECT y from t2)\n\n\x0f\n\x07\x04\x1e\x03\x0e\x03\x03\x01\x12\x04\xc6\x0c\x0c\x19\n\x12\n\x08\x04\x1e\x03\x0e\x03\x03\x04\x00\x12\x06\xc7\x0c\x06\xcf\x0c\x07\n\x11\n\t\x04\x1e\x03\x0e\x03\x03\x04\x00\x01\x12\x04\xc7\x0c\x0b\x17\n\x12\n\n\x04\x1e\x03\x0e\x03\x03\x04\x00\x02\x00\x12\x04\xc8\x0c\x08&\n\x13\n\x0b\x04\x1e\x03\x0e\x03\x03\x04\x00\x02\x00\x01\x12\x04\xc8\x0c\x08!\n\x13\n\x0b\x04\x1e\x03\x0e\x03\x03\x04\x00\x02\x00\x02\x12\x04\xc8\x0c$%\n\x12\n\n\x04\x1e\x03\x0e\x03\x03\x04\x00\x02\x01\x12\x04\xc9\x0c\x08\x1d\n\x13\n\x0b\x04\x1e\x03\x0e\x03\x03\x04\x00\x02\x01\x01\x12\x04\xc9\x0c\x08\x18\n\x13\n\x0b\x04\x1e\x03\x0e\x03\x03\x04\x00\x02\x01\x02\x12\x04\xc9\x0c\x1b\x1c\n\x12\n\n\x04\x1e\x03\x0e\x03\x03\x04\x00\x02\x02\x12\x04\xca\x0c\x08\x1d\n\x13\n\x0b\x04\x1e\x03\x0e\x03\x03\x04\x00\x02\x02\x01\x12\x04\xca\x0c\x08\x18\n\x13\n\x0b\x04\x1e\x03\x0e\x03\x03\x04\x00\x02\x02\x02\x12\x04\xca\x0c\x1b\x1c\n\x12\n\n\x04\x1e\x03\x0e\x03\x03\x04\x00\x02\x03\x12\x04\xcb\x0c\x08\x1d\n\x13\n\x0b\x04\x1e\x03\x0e\x03\x03\x04\x00\x02\x03\x01\x12\x04\xcb\x0c\x08\x18\n\x13\n\x0b\x04\x1e\x03\x0e\x03\x03\x04\x00\x02\x03\x02\x12\x04\xcb\x0c\x1b\x1c\n\x12\n\n\x04\x1e\x03\x0e\x03\x03\x04\x00\x02\x04\x12\x04\xcc\x0c\x08\x1d\n\x13\n\x0b\x04\x1e\x03\x0e\x03\x03\x04\x00\x02\x04\x01\x12\x04\xcc\x0c\x08\x18\n\x13\n\x0b\x04\x1e\x03\x0e\x03\x03\x04\x00\x02\x04\x02\x12\x04\xcc\x0c\x1b\x1c\n\x12\n\n\x04\x1e\x03\x0e\x03\x03\x04\x00\x02\x05\x12\x04\xcd\x0c\x08\x1d\n\x13\n\x0b\x04\x1e\x03\x0e\x03\x03\x04\x00\x02\x05\x01\x12\x04\xcd\x0c\x08\x18\n\x13\n\x0b\x04\x1e\x03\x0e\x03\x03\x04\x00\x02\x05\x02\x12\x04\xcd\x0c\x1b\x1c\n\x12\n\n\x04\x1e\x03\x0e\x03\x03\x04\x00\x02\x06\x12\x04\xce\x0c\x08\x1d\n\x13\n\x0b\x04\x1e\x03\x0e\x03\x03\x04\x00\x02\x06\x01\x12\x04\xce\x0c\x08\x18\n\x13\n\x0b\x04\x1e\x03\x0e\x03\x03\x04\x00\x02\x06\x02\x12\x04\xce\x0c\x1b\x1c\n\x12\n\x08\x04\x1e\x03\x0e\x03\x03\x04\x01\x12\x06\xd1\x0c\x06\xd5\x0c\x07\n\x11\n\t\x04\x1e\x03\x0e\x03\x03\x04\x01\x01\x12\x04\xd1\x0c\x0b\x16\n\x12\n\n\x04\x1e\x03\x0e\x03\x03\x04\x01\x02\x00\x12\x04\xd2\x0c\x08%\n\x13\n\x0b\x04\x1e\x03\x0e\x03\x03\x04\x01\x02\x00\x01\x12\x04\xd2\x0c\x08 \n\x13\n\x0b\x04\x1e\x03\x0e\x03\x03\x04\x01\x02\x00\x02\x12\x04\xd2\x0c#$\n\x12\n\n\x04\x1e\x03\x0e\x03\x03\x04\x01\x02\x01\x12\x04\xd3\x0c\x08\x1d\n\x13\n\x0b\x04\x1e\x03\x0e\x03\x03\x04\x01\x02\x01\x01\x12\x04\xd3\x0c\x08\x18\n\x13\n\x0b\x04\x1e\x03\x0e\x03\x03\x04\x01\x02\x01\x02\x12\x04\xd3\x0c\x1b\x1c\n\x12\n\n\x04\x1e\x03\x0e\x03\x03\x04\x01\x02\x02\x12\x04\xd4\x0c\x08\x1d\n\x13\n\x0b\x04\x1e\x03\x0e\x03\x03\x04\x01\x02\x02\x01\x12\x04\xd4\x0c\x08\x18\n\x13\n\x0b\x04\x1e\x03\x0e\x03\x03\x04\x01\x02\x02\x02\x12\x04\xd4\x0c\x1b\x1c\n\x1e\n\x08\x04\x1e\x03\x0e\x03\x03\x02\x00\x12\x04\xd8\x0c\x06#\x1a\x0c ANY or ALL\n\n\x11\n\t\x04\x1e\x03\x0e\x03\x03\x02\x00\x06\x12\x04\xd8\x0c\x06\x11\n\x11\n\t\x04\x1e\x03\x0e\x03\x03\x02\x00\x01\x12\x04\xd8\x0c\x12\x1e\n\x11\n\t\x04\x1e\x03\x0e\x03\x03\x02\x00\x03\x12\x04\xd8\x0c!\"\n)\n\x08\x04\x1e\x03\x0e\x03\x03\x02\x01\x12\x04\xda\x0c\x06%\x1a\x17 A comparison operator\n\n\x11\n\t\x04\x1e\x03\x0e\x03\x03\x02\x01\x06\x12\x04\xda\x0c\x06\x12\n\x11\n\t\x04\x1e\x03\x0e\x03\x03\x02\x01\x01\x12\x04\xda\x0c\x13 \n\x11\n\t\x04\x1e\x03\x0e\x03\x03\x02\x01\x03\x12\x04\xda\x0c#$\n/\n\x08\x04\x1e\x03\x0e\x03\x03\x02\x02\x12\x04\xdc\x0c\x06\x1a\x1a\x1d left side of the expression\n\n\x11\n\t\x04\x1e\x03\x0e\x03\x03\x02\x02\x06\x12\x04\xdc\x0c\x06\x10\n\x11\n\t\x04\x1e\x03\x0e\x03\x03\x02\x02\x01\x12\x04\xdc\x0c\x11\x15\n\x11\n\t\x04\x1e\x03\x0e\x03\x03\x02\x02\x03\x12\x04\xdc\x0c\x18\x19\n0\n\x08\x04\x1e\x03\x0e\x03\x03\x02\x03\x12\x04\xde\x0c\x06\x14\x1a\x1e right side of the expression\n\n\x11\n\t\x04\x1e\x03\x0e\x03\x03\x02\x03\x06\x12\x04\xde\x0c\x06\t\n\x11\n\t\x04\x1e\x03\x0e\x03\x03\x02\x03\x01\x12\x04\xde\x0c\n\x0f\n\x11\n\t\x04\x1e\x03\x0e\x03\x03\x02\x03\x03\x12\x04\xde\x0c\x12\x13\n\x84\x01\n\x02\x04\x1f\x12\x06\xe5\x0c\x00\xeb\x0c\x01\x1av Expression that represents a dynamic parameter.\n Dynamic parameters are identified by a surrogate key within a plan.\n\n\x0b\n\x03\x04\x1f\x01\x12\x04\xe5\x0c\x08\x18\n2\n\x04\x04\x1f\x02\x00\x12\x04\xe7\x0c\x02\x10\x1a$ The type of the dynamic parameter.\n\n\r\n\x05\x04\x1f\x02\x00\x06\x12\x04\xe7\x0c\x02\x06\n\r\n\x05\x04\x1f\x02\x00\x01\x12\x04\xe7\x0c\x07\x0b\n\r\n\x05\x04\x1f\x02\x00\x03\x12\x04\xe7\x0c\x0e\x0f\n_\n\x04\x04\x1f\x02\x01\x12\x04\xea\x0c\x02!\x1aQ The surrogate key used within a plan to reference a specific parameter binding.\n\n\r\n\x05\x04\x1f\x02\x01\x05\x12\x04\xea\x0c\x02\x08\n\r\n\x05\x04\x1f\x02\x01\x01\x12\x04\xea\x0c\t\x1c\n\r\n\x05\x04\x1f\x02\x01\x03\x12\x04\xea\x0c\x1f \nm\n\x02\x04 \x12\x06\xee\x0c\x00\xfd\x0c\x01\x1a_ The description of a field to sort on (including the direction of sorting and null semantics)\n\n\x0b\n\x03\x04 \x01\x12\x04\xee\x0c\x08\x11\n\x0c\n\x04\x04 \x02\x00\x12\x04\xef\x0c\x02\x16\n\r\n\x05\x04 \x02\x00\x06\x12\x04\xef\x0c\x02\x0c\n\r\n\x05\x04 \x02\x00\x01\x12\x04\xef\x0c\r\x11\n\r\n\x05\x04 \x02\x00\x03\x12\x04\xef\x0c\x14\x15\n\x0e\n\x04\x04 \x08\x00\x12\x06\xf1\x0c\x02\xf4\x0c\x03\n\r\n\x05\x04 \x08\x00\x01\x12\x04\xf1\x0c\x08\x11\n\x0c\n\x04\x04 \x02\x01\x12\x04\xf2\x0c\x04 \n\r\n\x05\x04 \x02\x01\x06\x12\x04\xf2\x0c\x04\x11\n\r\n\x05\x04 \x02\x01\x01\x12\x04\xf2\x0c\x12\x1b\n\r\n\x05\x04 \x02\x01\x03\x12\x04\xf2\x0c\x1e\x1f\n\x0c\n\x04\x04 \x02\x02\x12\x04\xf3\x0c\x04-\n\r\n\x05\x04 \x02\x02\x05\x12\x04\xf3\x0c\x04\n\n\r\n\x05\x04 \x02\x02\x01\x12\x04\xf3\x0c\x0b(\n\r\n\x05\x04 \x02\x02\x03\x12\x04\xf3\x0c+,\n\x0e\n\x04\x04 \x04\x00\x12\x06\xf5\x0c\x02\xfc\x0c\x03\n\r\n\x05\x04 \x04\x00\x01\x12\x04\xf5\x0c\x07\x14\n\x0e\n\x06\x04 \x04\x00\x02\x00\x12\x04\xf6\x0c\x04#\n\x0f\n\x07\x04 \x04\x00\x02\x00\x01\x12\x04\xf6\x0c\x04\x1e\n\x0f\n\x07\x04 \x04\x00\x02\x00\x02\x12\x04\xf6\x0c!\"\n\x0e\n\x06\x04 \x04\x00\x02\x01\x12\x04\xf7\x0c\x04\'\n\x0f\n\x07\x04 \x04\x00\x02\x01\x01\x12\x04\xf7\x0c\x04\"\n\x0f\n\x07\x04 \x04\x00\x02\x01\x02\x12\x04\xf7\x0c%&\n\x0e\n\x06\x04 \x04\x00\x02\x02\x12\x04\xf8\x0c\x04&\n\x0f\n\x07\x04 \x04\x00\x02\x02\x01\x12\x04\xf8\x0c\x04!\n\x0f\n\x07\x04 \x04\x00\x02\x02\x02\x12\x04\xf8\x0c$%\n\x0e\n\x06\x04 \x04\x00\x02\x03\x12\x04\xf9\x0c\x04(\n\x0f\n\x07\x04 \x04\x00\x02\x03\x01\x12\x04\xf9\x0c\x04#\n\x0f\n\x07\x04 \x04\x00\x02\x03\x02\x12\x04\xf9\x0c&\'\n\x0e\n\x06\x04 \x04\x00\x02\x04\x12\x04\xfa\x0c\x04\'\n\x0f\n\x07\x04 \x04\x00\x02\x04\x01\x12\x04\xfa\x0c\x04\"\n\x0f\n\x07\x04 \x04\x00\x02\x04\x02\x12\x04\xfa\x0c%&\n\x0e\n\x06\x04 \x04\x00\x02\x05\x12\x04\xfb\x0c\x04!\n\x0f\n\x07\x04 \x04\x00\x02\x05\x01\x12\x04\xfb\x0c\x04\x1c\n\x0f\n\x07\x04 \x04\x00\x02\x05\x02\x12\x04\xfb\x0c\x1f \n\x83\x01\n\x02\x05\x00\x12\x06\x81\r\x00\x9b\r\x01\x1au Describes which part of an aggregation or window function to perform within\n the context of distributed algorithms.\n\n\x0b\n\x03\x05\x00\x01\x12\x04\x81\r\x05\x15\n1\n\x04\x05\x00\x02\x00\x12\x04\x83\r\x02$\x1a# Implies `INTERMEDIATE_TO_RESULT`.\n\n\r\n\x05\x05\x00\x02\x00\x01\x12\x04\x83\r\x02\x1f\n\r\n\x05\x05\x00\x02\x00\x02\x12\x04\x83\r\"#\n\xd3\x01\n\x04\x05\x00\x02\x01\x12\x04\x88\r\x020\x1a\xc4\x01 Specifies that the function should be run only up to the point of\n generating an intermediate value, to be further aggregated later using\n INTERMEDIATE_TO_INTERMEDIATE or INTERMEDIATE_TO_RESULT.\n\n\r\n\x05\x05\x00\x02\x01\x01\x12\x04\x88\r\x02+\n\r\n\x05\x05\x00\x02\x01\x02\x12\x04\x88\r./\n\x95\x02\n\x04\x05\x00\x02\x02\x12\x04\x8e\r\x025\x1a\x86\x02 Specifies that the inputs of the aggregate or window function are the\n intermediate values of the function, and that the output should also be\n an intermediate value, to be further aggregated later using\n INTERMEDIATE_TO_INTERMEDIATE or INTERMEDIATE_TO_RESULT.\n\n\r\n\x05\x05\x00\x02\x02\x01\x12\x04\x8e\r\x020\n\r\n\x05\x05\x00\x02\x02\x02\x12\x04\x8e\r34\n\xd4\x01\n\x04\x05\x00\x02\x03\x12\x04\x93\r\x02*\x1a\xc5\x01 A complete invocation: the function should aggregate the given set of\n inputs to yield a single return value. This style must be used for\n aggregate or window functions that are not decomposable.\n\n\r\n\x05\x05\x00\x02\x03\x01\x12\x04\x93\r\x02%\n\r\n\x05\x05\x00\x02\x03\x02\x12\x04\x93\r()\n\xb5\x02\n\x04\x05\x00\x02\x04\x12\x04\x9a\r\x02/\x1a\xa6\x02 Specifies that the inputs of the aggregate or window function are the\n intermediate values of the function, generated previously using\n INITIAL_TO_INTERMEDIATE and possibly INTERMEDIATE_TO_INTERMEDIATE calls.\n This call should combine the intermediate values to yield the final\n return value.\n\n\r\n\x05\x05\x00\x02\x04\x01\x12\x04\x9a\r\x02*\n\r\n\x05\x05\x00\x02\x04\x02\x12\x04\x9a\r-.\n&\n\x02\x04!\x12\x06\x9e\r\x00\xdb\r\x01\x1a\x18 An aggregate function.\n\n\x0b\n\x03\x04!\x01\x12\x04\x9e\r\x08\x19\n\xc5\x01\n\x04\x04!\x02\x00\x12\x04\xa2\r\x02 \x1a\xb6\x01 Points to a function_anchor defined in this plan, which must refer\n to an aggregate function in the associated YAML file. Required; 0 is\n considered to be a valid anchor/reference.\n\n\r\n\x05\x04!\x02\x00\x05\x12\x04\xa2\r\x02\x08\n\r\n\x05\x04!\x02\x00\x01\x12\x04\xa2\r\t\x1b\n\r\n\x05\x04!\x02\x00\x03\x12\x04\xa2\r\x1e\x1f\n\xe8\x06\n\x04\x04!\x02\x01\x12\x04\xb3\r\x02*\x1a\xd9\x06 The arguments to be bound to the function. This must have exactly the\n number of arguments specified in the function definition, and the\n argument types must also match exactly:\n\n  - Value arguments must be bound using FunctionArgument.value, and\n    the expression in that must yield a value of a type that a function\n    overload is defined for.\n  - Type arguments must be bound using FunctionArgument.type, and a\n    function overload must be defined for that type.\n  - Enum arguments must be bound using FunctionArgument.enum\n    followed by Enum.specified, with a string that case-insensitively\n    matches one of the allowed options.\n  - Optional enum arguments must be bound using FunctionArgument.enum\n    followed by either Enum.specified or Enum.unspecified. If specified,\n    the string must case-insensitively match one of the allowed options.\n\n\r\n\x05\x04!\x02\x01\x04\x12\x04\xb3\r\x02\n\n\r\n\x05\x04!\x02\x01\x06\x12\x04\xb3\r\x0b\x1b\n\r\n\x05\x04!\x02\x01\x01\x12\x04\xb3\r\x1c%\n\r\n\x05\x04!\x02\x01\x03\x12\x04\xb3\r()\n\x9e\x01\n\x04\x04!\x02\x02\x12\x04\xb8\r\x02&\x1a\x8f\x01 Options to specify behavior for corner cases, or leave behavior\n unspecified if the consumer does not need specific behavior in these\n cases.\n\n\r\n\x05\x04!\x02\x02\x04\x12\x04\xb8\r\x02\n\n\r\n\x05\x04!\x02\x02\x06\x12\x04\xb8\r\x0b\x19\n\r\n\x05\x04!\x02\x02\x01\x12\x04\xb8\r\x1a!\n\r\n\x05\x04!\x02\x02\x03\x12\x04\xb8\r$%\n{\n\x04\x04!\x02\x03\x12\x04\xbc\r\x02\x17\x1am Must be set to the return type of the function, exactly as derived\n using the declaration in the extension.\n\n\r\n\x05\x04!\x02\x03\x06\x12\x04\xbc\r\x02\x06\n\r\n\x05\x04!\x02\x03\x01\x12\x04\xbc\r\x07\x12\n\r\n\x05\x04!\x02\x03\x03\x12\x04\xbc\r\x15\x16\n\xd1\x01\n\x04\x04!\x02\x04\x12\x04\xc1\r\x02\x1d\x1a\xc2\x01 Describes which part of the aggregation to perform within the context of\n distributed algorithms. Required. Must be set to INITIAL_TO_RESULT for\n aggregate functions that are not decomposable.\n\n\r\n\x05\x04!\x02\x04\x06\x12\x04\xc1\r\x02\x12\n\r\n\x05\x04!\x02\x04\x01\x12\x04\xc1\r\x13\x18\n\r\n\x05\x04!\x02\x04\x03\x12\x04\xc1\r\x1b\x1c\n\x96\x02\n\x04\x04!\x02\x05\x12\x04\xc7\r\x02\x1f\x1a\x87\x02 If specified, the aggregated records are ordered according to this list\n before they are aggregated. The first sort field has the highest\n priority; only if a sort field determines two records to be equivalent is\n the next field queried. This field is optional.\n\n\r\n\x05\x04!\x02\x05\x04\x12\x04\xc7\r\x02\n\n\r\n\x05\x04!\x02\x05\x06\x12\x04\xc7\r\x0b\x14\n\r\n\x05\x04!\x02\x05\x01\x12\x04\xc7\r\x15\x1a\n\r\n\x05\x04!\x02\x05\x03\x12\x04\xc7\r\x1d\x1e\n\x8b\x01\n\x04\x04!\x02\x06\x12\x04\xcb\r\x02\'\x1a} Specifies whether equivalent records are merged before being aggregated.\n Optional, defaults to AGGREGATION_INVOCATION_ALL.\n\n\r\n\x05\x04!\x02\x06\x06\x12\x04\xcb\r\x02\x17\n\r\n\x05\x04!\x02\x06\x01\x12\x04\xcb\r\x18\"\n\r\n\x05\x04!\x02\x06\x03\x12\x04\xcb\r%&\n1\n\x04\x04!\x02\x07\x12\x04\xce\r\x023\x1a# deprecated; use arguments instead\n\n\r\n\x05\x04!\x02\x07\x04\x12\x04\xce\r\x02\n\n\r\n\x05\x04!\x02\x07\x06\x12\x04\xce\r\x0b\x15\n\r\n\x05\x04!\x02\x07\x01\x12\x04\xce\r\x16\x1a\n\r\n\x05\x04!\x02\x07\x03\x12\x04\xce\r\x1d\x1e\n\r\n\x05\x04!\x02\x07\x08\x12\x04\xce\r\x1f2\n\x0e\n\x06\x04!\x02\x07\x08\x03\x12\x04\xce\r 1\nX\n\x04\x04!\x04\x00\x12\x06\xd1\r\x02\xda\r\x03\x1aH Method in which equivalent records are merged before being aggregated.\n\n\r\n\x05\x04!\x04\x00\x01\x12\x04\xd1\r\x07\x1c\nH\n\x06\x04!\x04\x00\x02\x00\x12\x04\xd3\r\x04+\x1a8 This default value implies AGGREGATION_INVOCATION_ALL.\n\n\x0f\n\x07\x04!\x04\x00\x02\x00\x01\x12\x04\xd3\r\x04&\n\x0f\n\x07\x04!\x04\x00\x02\x00\x02\x12\x04\xd3\r)*\n@\n\x06\x04!\x04\x00\x02\x01\x12\x04\xd6\r\x04#\x1a0 Use all values in the aggregation calculation.\n\n\x0f\n\x07\x04!\x04\x00\x02\x01\x01\x12\x04\xd6\r\x04\x1e\n\x0f\n\x07\x04!\x04\x00\x02\x01\x02\x12\x04\xd6\r!\"\nJ\n\x06\x04!\x04\x00\x02\x02\x12\x04\xd9\r\x04(\x1a: Use only distinct values in the aggregation calculation.\n\n\x0f\n\x07\x04!\x04\x00\x02\x02\x01\x12\x04\xd9\r\x04#\n\x0f\n\x07\x04!\x04\x00\x02\x02\x02\x12\x04\xd9\r&\'\nr\n\x02\x04\"\x12\x06\xdf\r\x00\xe1\r\x01\x1ad This rel is used  to create references,\n in case we refer to a RelRoot field names will be ignored\n\n\x0b\n\x03\x04\"\x01\x12\x04\xdf\r\x08\x14\n\x0c\n\x04\x04\"\x02\x00\x12\x04\xe0\r\x02\x1c\n\r\n\x05\x04\"\x02\x00\x05\x12\x04\xe0\r\x02\x07\n\r\n\x05\x04\"\x02\x00\x01\x12\x04\xe0\r\x08\x17\n\r\n\x05\x04\"\x02\x00\x03\x12\x04\xe0\r\x1a\x1bb\x06proto3\n\xf6.\n\x14substrait/plan.proto\x12\tsubstrait\x1a\x17substrait/algebra.proto\x1a%substrait/extensions/extensions.proto\x1a\x14substrait/type.proto\"c\n\x07PlanRel\x12\"\n\x03rel\x18\x01 \x01(\x0b2\x0e.substrait.RelH\x00R\x03rel\x12(\n\x04root\x18\x02 \x01(\x0b2\x12.substrait.RelRootH\x00R\x04rootB\n\n\x08rel_type\"\xf2\x04\n\x04Plan\x12,\n\x07version\x18\x06 \x01(\x0b2\x12.substrait.VersionR\x07version\x12S\n\x0eextension_uris\x18\x01 \x03(\x0b2(.substrait.extensions.SimpleExtensionURIB\x02\x18\x01R\rextensionUris\x12O\n\x0eextension_urns\x18\x08 \x03(\x0b2(.substrait.extensions.SimpleExtensionURNR\rextensionUrns\x12P\n\nextensions\x18\x02 \x03(\x0b20.substrait.extensions.SimpleExtensionDeclarationR\nextensions\x120\n\trelations\x18\x03 \x03(\x0b2\x12.substrait.PlanRelR\trelations\x12X\n\x13advanced_extensions\x18\x04 \x01(\x0b2\'.substrait.extensions.AdvancedExtensionR\x12advancedExtensions\x12,\n\x12expected_type_urls\x18\x05 \x03(\tR\x10expectedTypeUrls\x12Q\n\x12parameter_bindings\x18\x07 \x03(\x0b2\".substrait.DynamicParameterBindingR\x11parameterBindings\x127\n\x0ctype_aliases\x18\t \x03(\x0b2\x14.substrait.TypeAliasR\x0btypeAliases\";\n\x0bPlanVersion\x12,\n\x07version\x18\x06 \x01(\x0b2\x12.substrait.VersionR\x07version\"\xa9\x01\n\x07Version\x12!\n\x0cmajor_number\x18\x01 \x01(\rR\x0bmajorNumber\x12!\n\x0cminor_number\x18\x02 \x01(\rR\x0bminorNumber\x12!\n\x0cpatch_number\x18\x03 \x01(\rR\x0bpatchNumber\x12\x19\n\x08git_hash\x18\x04 \x01(\tR\x07gitHash\x12\x1a\n\x08producer\x18\x05 \x01(\tR\x08producer\"y\n\x17DynamicParameterBinding\x12)\n\x10parameter_anchor\x18\x01 \x01(\rR\x0fparameterAnchor\x123\n\x05value\x18\x02 \x01(\x0b2\x1d.substrait.Expression.LiteralR\x05valueBf\n\x12io.substrait.protoP\x01Z9github.com/substrait-io/substrait-protobuf/go/substraitpb\xaa\x02\x12Substrait.ProtobufJ\xce$\n\x06\x12\x04\x01\x00n\x01\n/\n\x01\x0c\x12\x03\x01\x00\x12\x1a% SPDX-License-Identifier: Apache-2.0\n\n\x08\n\x01\x02\x12\x03\x03\x00\x12\n\t\n\x02\x03\x00\x12\x03\x05\x00!\n\t\n\x02\x03\x01\x12\x03\x06\x00/\n\t\n\x02\x03\x02\x12\x03\x07\x00\x1e\n\x08\n\x01\x08\x12\x03\t\x00/\n\t\n\x02\x08%\x12\x03\t\x00/\n\x08\n\x01\x08\x12\x03\n\x00P\n\t\n\x02\x08\x0b\x12\x03\n\x00P\n\x08\n\x01\x08\x12\x03\x0b\x00\"\n\t\n\x02\x08\n\x12\x03\x0b\x00\"\n\x08\n\x01\x08\x12\x03\x0c\x00+\n\t\n\x02\x08\x01\x12\x03\x0c\x00+\n0\n\x02\x04\x00\x12\x04\x0f\x00\x16\x01\x1a$ Either a relation or root relation\n\n\n\n\x03\x04\x00\x01\x12\x03\x0f\x08\x0f\n\x0c\n\x04\x04\x00\x08\x00\x12\x04\x10\x02\x15\x03\n\x0c\n\x05\x04\x00\x08\x00\x01\x12\x03\x10\x08\x10\n:\n\x04\x04\x00\x02\x00\x12\x03\x12\x04\x10\x1a- Any relation (used for references and CTEs)\n\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\x12\x04\x07\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x12\x08\x0b\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x12\x0e\x0f\n*\n\x04\x04\x00\x02\x01\x12\x03\x14\x04\x15\x1a\x1d The root of a relation tree\n\n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x03\x14\x04\x0b\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x14\x0c\x10\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x14\x13\x14\n|\n\x02\x04\x01\x12\x04\x1a\x00B\x01\x1ap Describe a set of operations to complete.\n For compactness sake, identifiers are normalized at the plan level.\n\n\n\n\x03\x04\x01\x01\x12\x03\x1a\x08\x0c\nb\n\x04\x04\x01\x02\x00\x12\x03\x1d\x02\x16\x1aU Substrait version of the plan. Optional up to 0.17.0, required for later\n versions.\n\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03\x1d\x02\t\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x1d\n\x11\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x1d\x14\x15\n\x87\x01\n\x04\x04\x01\x02\x01\x12\x03!\x02Z\x1az a list of yaml specifications this plan may depend on\n this is now deprecated and extension_urns should be used instead.\n\n\x0c\n\x05\x04\x01\x02\x01\x04\x12\x03!\x02\n\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03!\x0b2\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03!3A\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03!DE\n\x0c\n\x05\x04\x01\x02\x01\x08\x12\x03!FY\n\r\n\x06\x04\x01\x02\x01\x08\x03\x12\x03!GX\n?\n\x04\x04\x01\x02\x02\x12\x03$\x02F\x1a2 a list of extension URNs this plan may depend on\n\n\x0c\n\x05\x04\x01\x02\x02\x04\x12\x03$\x02\n\n\x0c\n\x05\x04\x01\x02\x02\x06\x12\x03$\x0b2\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03$3A\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03$DE\n;\n\x04\x04\x01\x02\x03\x12\x03\'\x02J\x1a. a list of extensions this plan may depend on\n\n\x0c\n\x05\x04\x01\x02\x03\x04\x12\x03\'\x02\n\n\x0c\n\x05\x04\x01\x02\x03\x06\x12\x03\'\x0b:\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03\';E\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03\'HI\nM\n\x04\x04\x01\x02\x04\x12\x03*\x02!\x1a@ one or more relation trees that are associated with this plan.\n\n\x0c\n\x05\x04\x01\x02\x04\x04\x12\x03*\x02\n\n\x0c\n\x05\x04\x01\x02\x04\x06\x12\x03*\x0b\x12\n\x0c\n\x05\x04\x01\x02\x04\x01\x12\x03*\x13\x1c\n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x03*\x1f \n?\n\x04\x04\x01\x02\x05\x12\x03-\x02A\x1a2 additional extensions associated with this plan.\n\n\x0c\n\x05\x04\x01\x02\x05\x06\x12\x03-\x02(\n\x0c\n\x05\x04\x01\x02\x05\x01\x12\x03-)<\n\x0c\n\x05\x04\x01\x02\x05\x03\x12\x03-?@\n\xe8\x02\n\x04\x04\x01\x02\x06\x12\x034\x02)\x1a\xda\x02 A list of com.google.Any entities that this plan may use. Can be used to\n warn if some embedded message types are unknown. Note that this list may\n include message types that are ignorable (optimizations) or that are\n unused. In many cases, a consumer may be able to work with a plan even if\n one or more message types defined here are unknown.\n\n\x0c\n\x05\x04\x01\x02\x06\x04\x12\x034\x02\n\n\x0c\n\x05\x04\x01\x02\x06\x05\x12\x034\x0b\x11\n\x0c\n\x05\x04\x01\x02\x06\x01\x12\x034\x12$\n\x0c\n\x05\x04\x01\x02\x06\x03\x12\x034\'(\n\xa0\x01\n\x04\x04\x01\x02\x07\x12\x038\x02:\x1a\x92\x01 An optional list of bindings for dynamic parameters used in this plan.\n Each binding maps a parameter_anchor to its corresponding runtime value.\n\n\x0c\n\x05\x04\x01\x02\x07\x04\x12\x038\x02\n\n\x0c\n\x05\x04\x01\x02\x07\x06\x12\x038\x0b\"\n\x0c\n\x05\x04\x01\x02\x07\x01\x12\x038#5\n\x0c\n\x05\x04\x01\x02\x07\x03\x12\x03889\n\x8c\x04\n\x04\x04\x01\x02\x08\x12\x03A\x02&\x1a\xfe\x03 An optional list of type aliases. Types can be specified here once, and\n then referenced within the plan using the TypeAliasReference type. This\n feature is intended to assist with the usability of parameterized types,\n which require that all parameters be specified when they are declared.\n This can bloat plans with redundant redeclarations, especially if the\n parameterized types being declared have many parameters (e.g., struct with\n many fields, nested parameterized types, string as a type parameter).\n\n\x0c\n\x05\x04\x01\x02\x08\x04\x12\x03A\x02\n\n\x0c\n\x05\x04\x01\x02\x08\x06\x12\x03A\x0b\x14\n\x0c\n\x05\x04\x01\x02\x08\x01\x12\x03A\x15!\n\x0c\n\x05\x04\x01\x02\x08\x03\x12\x03A$%\n\xef\x02\n\x02\x04\x02\x12\x04I\x00K\x01\x1a\xe2\x02 This message type can be used to deserialize only the version of a Substrait\n Plan message. This prevents deserialization errors when there were breaking\n changes between the Substrait version of the tool that produced the plan and\n the Substrait version used to deserialize it, such that a consumer can emit\n a more helpful error message in this case.\n\n\n\n\x03\x04\x02\x01\x12\x03I\x08\x13\n\x0b\n\x04\x04\x02\x02\x00\x12\x03J\x02\x16\n\x0c\n\x05\x04\x02\x02\x00\x06\x12\x03J\x02\t\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03J\n\x11\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03J\x14\x15\n\n\n\x02\x04\x03\x12\x04M\x00c\x01\n\n\n\x03\x04\x03\x01\x12\x03M\x08\x0f\n(\n\x04\x04\x03\x02\x00\x12\x03O\x02\x1a\x1a\x1b Substrait version number.\n\n\x0c\n\x05\x04\x03\x02\x00\x05\x12\x03O\x02\x08\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03O\t\x15\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03O\x18\x19\n\x0b\n\x04\x04\x03\x02\x01\x12\x03P\x02\x1a\n\x0c\n\x05\x04\x03\x02\x01\x05\x12\x03P\x02\x08\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03P\t\x15\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03P\x18\x19\n\x0b\n\x04\x04\x03\x02\x02\x12\x03Q\x02\x1a\n\x0c\n\x05\x04\x03\x02\x02\x05\x12\x03Q\x02\x08\n\x0c\n\x05\x04\x03\x02\x02\x01\x12\x03Q\t\x15\n\x0c\n\x05\x04\x03\x02\x02\x03\x12\x03Q\x18\x19\n\x8a\x04\n\x04\x04\x03\x02\x03\x12\x03[\x02\x16\x1a\xfc\x03 If a particular version of Substrait is used that does not correspond to\n a version number exactly (for example when using an unofficial fork or\n using a version that is not yet released or is between versions), set this\n to the full git hash of the utilized commit of\n https://github.com/substrait-io/substrait (or fork thereof), represented\n using a lowercase hex ASCII string 40 characters in length. The version\n number above should be set to the most recent version tag in the history\n of that commit.\n\n\x0c\n\x05\x04\x03\x02\x03\x05\x12\x03[\x02\x08\n\x0c\n\x05\x04\x03\x02\x03\x01\x12\x03[\t\x11\n\x0c\n\x05\x04\x03\x02\x03\x03\x12\x03[\x14\x15\n\xc4\x02\n\x04\x04\x03\x02\x04\x12\x03b\x02\x16\x1a\xb6\x02 Identifying information for the producer that created this plan. Under\n ideal circumstances, consumers should not need this information. However,\n it is foreseen that consumers may need to work around bugs in particular\n producers in practice, and therefore may need to know which producer\n created the plan.\n\n\x0c\n\x05\x04\x03\x02\x04\x05\x12\x03b\x02\x08\n\x0c\n\x05\x04\x03\x02\x04\x01\x12\x03b\t\x11\n\x0c\n\x05\x04\x03\x02\x04\x03\x12\x03b\x14\x15\n;\n\x02\x04\x04\x12\x04f\x00n\x01\x1a/ Represents a binding for a dynamic parameter.\n\n\n\n\x03\x04\x04\x01\x12\x03f\x08\x1f\nT\n\x04\x04\x04\x02\x00\x12\x03h\x02\x1e\x1aG The parameter anchor that identifies the dynamic parameter reference.\n\n\x0c\n\x05\x04\x04\x02\x00\x05\x12\x03h\x02\x08\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03h\t\x19\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03h\x1c\x1d\n\xb7\x01\n\x04\x04\x04\x02\x01\x12\x03m\x02\x1f\x1a\xa9\x01 The literal value assigned to the parameter at runtime.\n The type of the literal needs to match the type of the corresponding\n DynamicParameter expression in the plan.\n\n\x0c\n\x05\x04\x04\x02\x01\x06\x12\x03m\x02\x14\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x03m\x15\x1a\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03m\x1d\x1eb\x06proto3\n\xb3]\n#substrait/parameterized_types.proto\x12\tsubstrait\x1a\x14substrait/type.proto\"\xb4*\n\x11ParameterizedType\x12-\n\x04bool\x18\x01 \x01(\x0b2\x17.substrait.Type.BooleanH\x00R\x04bool\x12$\n\x02i8\x18\x02 \x01(\x0b2\x12.substrait.Type.I8H\x00R\x02i8\x12\'\n\x03i16\x18\x03 \x01(\x0b2\x13.substrait.Type.I16H\x00R\x03i16\x12\'\n\x03i32\x18\x05 \x01(\x0b2\x13.substrait.Type.I32H\x00R\x03i32\x12\'\n\x03i64\x18\x07 \x01(\x0b2\x13.substrait.Type.I64H\x00R\x03i64\x12*\n\x04fp32\x18\n \x01(\x0b2\x14.substrait.Type.FP32H\x00R\x04fp32\x12*\n\x04fp64\x18\x0b \x01(\x0b2\x14.substrait.Type.FP64H\x00R\x04fp64\x120\n\x06string\x18\x0c \x01(\x0b2\x16.substrait.Type.StringH\x00R\x06string\x120\n\x06binary\x18\r \x01(\x0b2\x16.substrait.Type.BinaryH\x00R\x06binary\x12=\n\ttimestamp\x18\x0e \x01(\x0b2\x19.substrait.Type.TimestampB\x02\x18\x01H\x00R\ttimestamp\x12*\n\x04date\x18\x10 \x01(\x0b2\x14.substrait.Type.DateH\x00R\x04date\x12.\n\x04time\x18\x11 \x01(\x0b2\x14.substrait.Type.TimeB\x02\x18\x01H\x00R\x04time\x12C\n\rinterval_year\x18\x13 \x01(\x0b2\x1c.substrait.Type.IntervalYearH\x00R\x0cintervalYear\x12Z\n\x0cinterval_day\x18\x14 \x01(\x0b25.substrait.ParameterizedType.ParameterizedIntervalDayH\x00R\x0bintervalDay\x12i\n\x11interval_compound\x18$ \x01(\x0b2:.substrait.ParameterizedType.ParameterizedIntervalCompoundH\x00R\x10intervalCompound\x12D\n\x0ctimestamp_tz\x18\x1d \x01(\x0b2\x1b.substrait.Type.TimestampTZB\x02\x18\x01H\x00R\x0btimestampTz\x12*\n\x04uuid\x18  \x01(\x0b2\x14.substrait.Type.UUIDH\x00R\x04uuid\x12T\n\nfixed_char\x18\x15 \x01(\x0b23.substrait.ParameterizedType.ParameterizedFixedCharH\x00R\tfixedChar\x12M\n\x07varchar\x18\x16 \x01(\x0b21.substrait.ParameterizedType.ParameterizedVarCharH\x00R\x07varchar\x12Z\n\x0cfixed_binary\x18\x17 \x01(\x0b25.substrait.ParameterizedType.ParameterizedFixedBinaryH\x00R\x0bfixedBinary\x12M\n\x07decimal\x18\x18 \x01(\x0b21.substrait.ParameterizedType.ParameterizedDecimalH\x00R\x07decimal\x12`\n\x0eprecision_time\x18% \x01(\x0b27.substrait.ParameterizedType.ParameterizedPrecisionTimeH\x00R\rprecisionTime\x12o\n\x13precision_timestamp\x18\" \x01(\x0b2<.substrait.ParameterizedType.ParameterizedPrecisionTimestampH\x00R\x12precisionTimestamp\x12v\n\x16precision_timestamp_tz\x18# \x01(\x0b2>.substrait.ParameterizedType.ParameterizedPrecisionTimestampTZH\x00R\x14precisionTimestampTz\x12J\n\x06struct\x18\x19 \x01(\x0b20.substrait.ParameterizedType.ParameterizedStructH\x00R\x06struct\x12D\n\x04list\x18\x1b \x01(\x0b2..substrait.ParameterizedType.ParameterizedListH\x00R\x04list\x12A\n\x03map\x18\x1c \x01(\x0b2-.substrait.ParameterizedType.ParameterizedMapH\x00R\x03map\x12Z\n\x0cuser_defined\x18\x1e \x01(\x0b25.substrait.ParameterizedType.ParameterizedUserDefinedH\x00R\x0buserDefined\x126\n\x14user_defined_pointer\x18\x1f \x01(\rB\x02\x18\x01H\x00R\x12userDefinedPointer\x12S\n\x0etype_parameter\x18! \x01(\x0b2*.substrait.ParameterizedType.TypeParameterH\x00R\rtypeParameter\x1aY\n\rTypeParameter\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x124\n\x06bounds\x18\x02 \x03(\x0b2\x1c.substrait.ParameterizedTypeR\x06bounds\x1a\xe6\x01\n\x10IntegerParameter\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12`\n\x15range_start_inclusive\x18\x02 \x01(\x0b2,.substrait.ParameterizedType.NullableIntegerR\x13rangeStartInclusive\x12\\\n\x13range_end_exclusive\x18\x03 \x01(\x0b2,.substrait.ParameterizedType.NullableIntegerR\x11rangeEndExclusive\x1a\'\n\x0fNullableInteger\x12\x14\n\x05value\x18\x01 \x01(\x03R\x05value\x1a\xc8\x01\n\x16ParameterizedFixedChar\x12B\n\x06length\x18\x01 \x01(\x0b2*.substrait.ParameterizedType.IntegerOptionR\x06length\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12=\n\x0bnullability\x18\x03 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\xc6\x01\n\x14ParameterizedVarChar\x12B\n\x06length\x18\x01 \x01(\x0b2*.substrait.ParameterizedType.IntegerOptionR\x06length\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12=\n\x0bnullability\x18\x03 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\xca\x01\n\x18ParameterizedFixedBinary\x12B\n\x06length\x18\x01 \x01(\x0b2*.substrait.ParameterizedType.IntegerOptionR\x06length\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12=\n\x0bnullability\x18\x03 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\x8e\x02\n\x14ParameterizedDecimal\x12@\n\x05scale\x18\x01 \x01(\x0b2*.substrait.ParameterizedType.IntegerOptionR\x05scale\x12H\n\tprecision\x18\x02 \x01(\x0b2*.substrait.ParameterizedType.IntegerOptionR\tprecision\x12+\n\x11variation_pointer\x18\x03 \x01(\rR\x10variationPointer\x12=\n\x0bnullability\x18\x04 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\xd0\x01\n\x18ParameterizedIntervalDay\x12H\n\tprecision\x18\x01 \x01(\x0b2*.substrait.ParameterizedType.IntegerOptionR\tprecision\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12=\n\x0bnullability\x18\x03 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\xd5\x01\n\x1dParameterizedIntervalCompound\x12H\n\tprecision\x18\x01 \x01(\x0b2*.substrait.ParameterizedType.IntegerOptionR\tprecision\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12=\n\x0bnullability\x18\x03 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\xd2\x01\n\x1aParameterizedPrecisionTime\x12H\n\tprecision\x18\x01 \x01(\x0b2*.substrait.ParameterizedType.IntegerOptionR\tprecision\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12=\n\x0bnullability\x18\x03 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\xd7\x01\n\x1fParameterizedPrecisionTimestamp\x12H\n\tprecision\x18\x01 \x01(\x0b2*.substrait.ParameterizedType.IntegerOptionR\tprecision\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12=\n\x0bnullability\x18\x03 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\xd9\x01\n!ParameterizedPrecisionTimestampTZ\x12H\n\tprecision\x18\x01 \x01(\x0b2*.substrait.ParameterizedType.IntegerOptionR\tprecision\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12=\n\x0bnullability\x18\x03 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\xb5\x01\n\x13ParameterizedStruct\x122\n\x05types\x18\x01 \x03(\x0b2\x1c.substrait.ParameterizedTypeR\x05types\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12=\n\x0bnullability\x18\x03 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1az\n\x18ParameterizedNamedStruct\x12\x14\n\x05names\x18\x01 \x03(\tR\x05names\x12H\n\x06struct\x18\x02 \x01(\x0b20.substrait.ParameterizedType.ParameterizedStructR\x06struct\x1a\xb1\x01\n\x11ParameterizedList\x120\n\x04type\x18\x01 \x01(\x0b2\x1c.substrait.ParameterizedTypeR\x04type\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12=\n\x0bnullability\x18\x03 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\xe2\x01\n\x10ParameterizedMap\x12.\n\x03key\x18\x01 \x01(\x0b2\x1c.substrait.ParameterizedTypeR\x03key\x122\n\x05value\x18\x02 \x01(\x0b2\x1c.substrait.ParameterizedTypeR\x05value\x12+\n\x11variation_pointer\x18\x03 \x01(\rR\x10variationPointer\x12=\n\x0bnullability\x18\x04 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\xa9\x01\n\x18ParameterizedUserDefined\x12!\n\x0ctype_pointer\x18\x01 \x01(\rR\x0btypePointer\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12=\n\x0bnullability\x18\x03 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\x8a\x01\n\rIntegerOption\x12\x1a\n\x07literal\x18\x01 \x01(\x05H\x00R\x07literal\x12M\n\tparameter\x18\x02 \x01(\x0b2-.substrait.ParameterizedType.IntegerParameterH\x00R\tparameterB\x0e\n\x0cinteger_typeB\x06\n\x04kindBf\n\x12io.substrait.protoP\x01Z9github.com/substrait-io/substrait-protobuf/go/substraitpb\xaa\x02\x12Substrait.ProtobufJ\xc31\n\x07\x12\x05\x01\x00\xa4\x01\x01\n/\n\x01\x0c\x12\x03\x01\x00\x12\x1a% SPDX-License-Identifier: Apache-2.0\n\n\x08\n\x01\x02\x12\x03\x03\x00\x12\n\t\n\x02\x03\x00\x12\x03\x05\x00\x1e\n\x08\n\x01\x08\x12\x03\x07\x00/\n\t\n\x02\x08%\x12\x03\x07\x00/\n\x08\n\x01\x08\x12\x03\x08\x00P\n\t\n\x02\x08\x0b\x12\x03\x08\x00P\n\x08\n\x01\x08\x12\x03\t\x00\"\n\t\n\x02\x08\n\x12\x03\t\x00\"\n\x08\n\x01\x08\x12\x03\n\x00+\n\t\n\x02\x08\x01\x12\x03\n\x00+\n\x0b\n\x02\x04\x00\x12\x05\x0c\x00\xa4\x01\x01\n\n\n\x03\x04\x00\x01\x12\x03\x0c\x08\x19\n\x0c\n\x04\x04\x00\x08\x00\x12\x04\r\x027\x03\n\x0c\n\x05\x04\x00\x08\x00\x01\x12\x03\r\x08\x0c\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x0e\x04\x1a\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\x0e\x04\x10\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x0e\x11\x15\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x0e\x18\x19\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\x0f\x04\x13\n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x03\x0f\x04\x0b\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x0f\x0c\x0e\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x0f\x11\x12\n\x0b\n\x04\x04\x00\x02\x02\x12\x03\x10\x04\x15\n\x0c\n\x05\x04\x00\x02\x02\x06\x12\x03\x10\x04\x0c\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\x10\r\x10\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\x10\x13\x14\n\x0b\n\x04\x04\x00\x02\x03\x12\x03\x11\x04\x15\n\x0c\n\x05\x04\x00\x02\x03\x06\x12\x03\x11\x04\x0c\n\x0c\n\x05\x04\x00\x02\x03\x01\x12\x03\x11\r\x10\n\x0c\n\x05\x04\x00\x02\x03\x03\x12\x03\x11\x13\x14\n\x0b\n\x04\x04\x00\x02\x04\x12\x03\x12\x04\x15\n\x0c\n\x05\x04\x00\x02\x04\x06\x12\x03\x12\x04\x0c\n\x0c\n\x05\x04\x00\x02\x04\x01\x12\x03\x12\r\x10\n\x0c\n\x05\x04\x00\x02\x04\x03\x12\x03\x12\x13\x14\n\x0b\n\x04\x04\x00\x02\x05\x12\x03\x13\x04\x18\n\x0c\n\x05\x04\x00\x02\x05\x06\x12\x03\x13\x04\r\n\x0c\n\x05\x04\x00\x02\x05\x01\x12\x03\x13\x0e\x12\n\x0c\n\x05\x04\x00\x02\x05\x03\x12\x03\x13\x15\x17\n\x0b\n\x04\x04\x00\x02\x06\x12\x03\x14\x04\x18\n\x0c\n\x05\x04\x00\x02\x06\x06\x12\x03\x14\x04\r\n\x0c\n\x05\x04\x00\x02\x06\x01\x12\x03\x14\x0e\x12\n\x0c\n\x05\x04\x00\x02\x06\x03\x12\x03\x14\x15\x17\n\x0b\n\x04\x04\x00\x02\x07\x12\x03\x15\x04\x1c\n\x0c\n\x05\x04\x00\x02\x07\x06\x12\x03\x15\x04\x0f\n\x0c\n\x05\x04\x00\x02\x07\x01\x12\x03\x15\x10\x16\n\x0c\n\x05\x04\x00\x02\x07\x03\x12\x03\x15\x19\x1b\n\x0b\n\x04\x04\x00\x02\x08\x12\x03\x16\x04\x1c\n\x0c\n\x05\x04\x00\x02\x08\x06\x12\x03\x16\x04\x0f\n\x0c\n\x05\x04\x00\x02\x08\x01\x12\x03\x16\x10\x16\n\x0c\n\x05\x04\x00\x02\x08\x03\x12\x03\x16\x19\x1b\n[\n\x04\x04\x00\x02\t\x12\x03\x18\x046\x1aN Deprecated in favor of `ParameterizedPrecisionTimestamp precision_timestamp`\n\n\x0c\n\x05\x04\x00\x02\t\x06\x12\x03\x18\x04\x12\n\x0c\n\x05\x04\x00\x02\t\x01\x12\x03\x18\x13\x1c\n\x0c\n\x05\x04\x00\x02\t\x03\x12\x03\x18\x1f!\n\x0c\n\x05\x04\x00\x02\t\x08\x12\x03\x18\"5\n\r\n\x06\x04\x00\x02\t\x08\x03\x12\x03\x18#4\n\x0b\n\x04\x04\x00\x02\n\x12\x03\x19\x04\x18\n\x0c\n\x05\x04\x00\x02\n\x06\x12\x03\x19\x04\r\n\x0c\n\x05\x04\x00\x02\n\x01\x12\x03\x19\x0e\x12\n\x0c\n\x05\x04\x00\x02\n\x03\x12\x03\x19\x15\x17\nQ\n\x04\x04\x00\x02\x0b\x12\x03\x1b\x04,\x1aD Deprecated in favor of `ParameterizedPrecisionTime precision_time`\n\n\x0c\n\x05\x04\x00\x02\x0b\x06\x12\x03\x1b\x04\r\n\x0c\n\x05\x04\x00\x02\x0b\x01\x12\x03\x1b\x0e\x12\n\x0c\n\x05\x04\x00\x02\x0b\x03\x12\x03\x1b\x15\x17\n\x0c\n\x05\x04\x00\x02\x0b\x08\x12\x03\x1b\x18+\n\r\n\x06\x04\x00\x02\x0b\x08\x03\x12\x03\x1b\x19*\n\x0b\n\x04\x04\x00\x02\x0c\x12\x03\x1c\x04)\n\x0c\n\x05\x04\x00\x02\x0c\x06\x12\x03\x1c\x04\x15\n\x0c\n\x05\x04\x00\x02\x0c\x01\x12\x03\x1c\x16#\n\x0c\n\x05\x04\x00\x02\x0c\x03\x12\x03\x1c&(\n\x0b\n\x04\x04\x00\x02\r\x12\x03\x1d\x04/\n\x0c\n\x05\x04\x00\x02\r\x06\x12\x03\x1d\x04\x1c\n\x0c\n\x05\x04\x00\x02\r\x01\x12\x03\x1d\x1d)\n\x0c\n\x05\x04\x00\x02\r\x03\x12\x03\x1d,.\n\x0b\n\x04\x04\x00\x02\x0e\x12\x03\x1e\x049\n\x0c\n\x05\x04\x00\x02\x0e\x06\x12\x03\x1e\x04!\n\x0c\n\x05\x04\x00\x02\x0e\x01\x12\x03\x1e\"3\n\x0c\n\x05\x04\x00\x02\x0e\x03\x12\x03\x1e68\n`\n\x04\x04\x00\x02\x0f\x12\x03 \x04;\x1aS Deprecated in favor of `ParameterizedPrecisionTimestampTZ precision_timestamp_tz`\n\n\x0c\n\x05\x04\x00\x02\x0f\x06\x12\x03 \x04\x14\n\x0c\n\x05\x04\x00\x02\x0f\x01\x12\x03 \x15!\n\x0c\n\x05\x04\x00\x02\x0f\x03\x12\x03 $&\n\x0c\n\x05\x04\x00\x02\x0f\x08\x12\x03 \':\n\r\n\x06\x04\x00\x02\x0f\x08\x03\x12\x03 (9\n\x0b\n\x04\x04\x00\x02\x10\x12\x03!\x04\x18\n\x0c\n\x05\x04\x00\x02\x10\x06\x12\x03!\x04\r\n\x0c\n\x05\x04\x00\x02\x10\x01\x12\x03!\x0e\x12\n\x0c\n\x05\x04\x00\x02\x10\x03\x12\x03!\x15\x17\n\x0b\n\x04\x04\x00\x02\x11\x12\x03#\x04+\n\x0c\n\x05\x04\x00\x02\x11\x06\x12\x03#\x04\x1a\n\x0c\n\x05\x04\x00\x02\x11\x01\x12\x03#\x1b%\n\x0c\n\x05\x04\x00\x02\x11\x03\x12\x03#(*\n\x0b\n\x04\x04\x00\x02\x12\x12\x03$\x04&\n\x0c\n\x05\x04\x00\x02\x12\x06\x12\x03$\x04\x18\n\x0c\n\x05\x04\x00\x02\x12\x01\x12\x03$\x19 \n\x0c\n\x05\x04\x00\x02\x12\x03\x12\x03$#%\n\x0b\n\x04\x04\x00\x02\x13\x12\x03%\x04/\n\x0c\n\x05\x04\x00\x02\x13\x06\x12\x03%\x04\x1c\n\x0c\n\x05\x04\x00\x02\x13\x01\x12\x03%\x1d)\n\x0c\n\x05\x04\x00\x02\x13\x03\x12\x03%,.\n\x0b\n\x04\x04\x00\x02\x14\x12\x03&\x04&\n\x0c\n\x05\x04\x00\x02\x14\x06\x12\x03&\x04\x18\n\x0c\n\x05\x04\x00\x02\x14\x01\x12\x03&\x19 \n\x0c\n\x05\x04\x00\x02\x14\x03\x12\x03&#%\n\x0b\n\x04\x04\x00\x02\x15\x12\x03\'\x043\n\x0c\n\x05\x04\x00\x02\x15\x06\x12\x03\'\x04\x1e\n\x0c\n\x05\x04\x00\x02\x15\x01\x12\x03\'\x1f-\n\x0c\n\x05\x04\x00\x02\x15\x03\x12\x03\'02\n\x0b\n\x04\x04\x00\x02\x16\x12\x03(\x04=\n\x0c\n\x05\x04\x00\x02\x16\x06\x12\x03(\x04#\n\x0c\n\x05\x04\x00\x02\x16\x01\x12\x03($7\n\x0c\n\x05\x04\x00\x02\x16\x03\x12\x03(:<\n\x0b\n\x04\x04\x00\x02\x17\x12\x03)\x04B\n\x0c\n\x05\x04\x00\x02\x17\x06\x12\x03)\x04%\n\x0c\n\x05\x04\x00\x02\x17\x01\x12\x03)&<\n\x0c\n\x05\x04\x00\x02\x17\x03\x12\x03)?A\n\x0b\n\x04\x04\x00\x02\x18\x12\x03+\x04$\n\x0c\n\x05\x04\x00\x02\x18\x06\x12\x03+\x04\x17\n\x0c\n\x05\x04\x00\x02\x18\x01\x12\x03+\x18\x1e\n\x0c\n\x05\x04\x00\x02\x18\x03\x12\x03+!#\n\x0b\n\x04\x04\x00\x02\x19\x12\x03,\x04 \n\x0c\n\x05\x04\x00\x02\x19\x06\x12\x03,\x04\x15\n\x0c\n\x05\x04\x00\x02\x19\x01\x12\x03,\x16\x1a\n\x0c\n\x05\x04\x00\x02\x19\x03\x12\x03,\x1d\x1f\n\x0b\n\x04\x04\x00\x02\x1a\x12\x03-\x04\x1e\n\x0c\n\x05\x04\x00\x02\x1a\x06\x12\x03-\x04\x14\n\x0c\n\x05\x04\x00\x02\x1a\x01\x12\x03-\x15\x18\n\x0c\n\x05\x04\x00\x02\x1a\x03\x12\x03-\x1b\x1d\n\x0b\n\x04\x04\x00\x02\x1b\x12\x03/\x04/\n\x0c\n\x05\x04\x00\x02\x1b\x06\x12\x03/\x04\x1c\n\x0c\n\x05\x04\x00\x02\x1b\x01\x12\x03/\x1d)\n\x0c\n\x05\x04\x00\x02\x1b\x03\x12\x03/,.\n\xd8\x01\n\x04\x04\x00\x02\x1c\x12\x034\x049\x1a\xca\x01 Deprecated in favor of user_defined, which allows nullability and\n variations to be specified. If user_defined_pointer is encountered,\n treat it as being non-nullable and having the default variation.\n\n\x0c\n\x05\x04\x00\x02\x1c\x05\x12\x034\x04\n\n\x0c\n\x05\x04\x00\x02\x1c\x01\x12\x034\x0b\x1f\n\x0c\n\x05\x04\x00\x02\x1c\x03\x12\x034\"$\n\x0c\n\x05\x04\x00\x02\x1c\x08\x12\x034%8\n\r\n\x06\x04\x00\x02\x1c\x08\x03\x12\x034&7\n\x0b\n\x04\x04\x00\x02\x1d\x12\x036\x04&\n\x0c\n\x05\x04\x00\x02\x1d\x06\x12\x036\x04\x11\n\x0c\n\x05\x04\x00\x02\x1d\x01\x12\x036\x12 \n\x0c\n\x05\x04\x00\x02\x1d\x03\x12\x036#%\n\x0c\n\x04\x04\x00\x03\x00\x12\x049\x02<\x03\n\x0c\n\x05\x04\x00\x03\x00\x01\x12\x039\n\x17\n\r\n\x06\x04\x00\x03\x00\x02\x00\x12\x03:\x04\x14\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x05\x12\x03:\x04\n\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x01\x12\x03:\x0b\x0f\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x03\x12\x03:\x12\x13\n\r\n\x06\x04\x00\x03\x00\x02\x01\x12\x03;\x04*\n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x04\x12\x03;\x04\x0c\n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x06\x12\x03;\r\x1e\n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x01\x12\x03;\x1f%\n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x03\x12\x03;()\n\x0c\n\x04\x04\x00\x03\x01\x12\x04>\x02B\x03\n\x0c\n\x05\x04\x00\x03\x01\x01\x12\x03>\n\x1a\n\r\n\x06\x04\x00\x03\x01\x02\x00\x12\x03?\x04\x14\n\x0e\n\x07\x04\x00\x03\x01\x02\x00\x05\x12\x03?\x04\n\n\x0e\n\x07\x04\x00\x03\x01\x02\x00\x01\x12\x03?\x0b\x0f\n\x0e\n\x07\x04\x00\x03\x01\x02\x00\x03\x12\x03?\x12\x13\n\r\n\x06\x04\x00\x03\x01\x02\x01\x12\x03@\x04.\n\x0e\n\x07\x04\x00\x03\x01\x02\x01\x06\x12\x03@\x04\x13\n\x0e\n\x07\x04\x00\x03\x01\x02\x01\x01\x12\x03@\x14)\n\x0e\n\x07\x04\x00\x03\x01\x02\x01\x03\x12\x03@,-\n\r\n\x06\x04\x00\x03\x01\x02\x02\x12\x03A\x04,\n\x0e\n\x07\x04\x00\x03\x01\x02\x02\x06\x12\x03A\x04\x13\n\x0e\n\x07\x04\x00\x03\x01\x02\x02\x01\x12\x03A\x14\'\n\x0e\n\x07\x04\x00\x03\x01\x02\x02\x03\x12\x03A*+\n\x0c\n\x04\x04\x00\x03\x02\x12\x04D\x02F\x03\n\x0c\n\x05\x04\x00\x03\x02\x01\x12\x03D\n\x19\n\r\n\x06\x04\x00\x03\x02\x02\x00\x12\x03E\x04\x14\n\x0e\n\x07\x04\x00\x03\x02\x02\x00\x05\x12\x03E\x04\t\n\x0e\n\x07\x04\x00\x03\x02\x02\x00\x01\x12\x03E\n\x0f\n\x0e\n\x07\x04\x00\x03\x02\x02\x00\x03\x12\x03E\x12\x13\n\x0c\n\x04\x04\x00\x03\x03\x12\x04H\x02L\x03\n\x0c\n\x05\x04\x00\x03\x03\x01\x12\x03H\n \n\r\n\x06\x04\x00\x03\x03\x02\x00\x12\x03I\x04\x1d\n\x0e\n\x07\x04\x00\x03\x03\x02\x00\x06\x12\x03I\x04\x11\n\x0e\n\x07\x04\x00\x03\x03\x02\x00\x01\x12\x03I\x12\x18\n\x0e\n\x07\x04\x00\x03\x03\x02\x00\x03\x12\x03I\x1b\x1c\n\r\n\x06\x04\x00\x03\x03\x02\x01\x12\x03J\x04!\n\x0e\n\x07\x04\x00\x03\x03\x02\x01\x05\x12\x03J\x04\n\n\x0e\n\x07\x04\x00\x03\x03\x02\x01\x01\x12\x03J\x0b\x1c\n\x0e\n\x07\x04\x00\x03\x03\x02\x01\x03\x12\x03J\x1f \n\r\n\x06\x04\x00\x03\x03\x02\x02\x12\x03K\x04%\n\x0e\n\x07\x04\x00\x03\x03\x02\x02\x06\x12\x03K\x04\x14\n\x0e\n\x07\x04\x00\x03\x03\x02\x02\x01\x12\x03K\x15 \n\x0e\n\x07\x04\x00\x03\x03\x02\x02\x03\x12\x03K#$\n\x0c\n\x04\x04\x00\x03\x04\x12\x04N\x02R\x03\n\x0c\n\x05\x04\x00\x03\x04\x01\x12\x03N\n\x1e\n\r\n\x06\x04\x00\x03\x04\x02\x00\x12\x03O\x04\x1d\n\x0e\n\x07\x04\x00\x03\x04\x02\x00\x06\x12\x03O\x04\x11\n\x0e\n\x07\x04\x00\x03\x04\x02\x00\x01\x12\x03O\x12\x18\n\x0e\n\x07\x04\x00\x03\x04\x02\x00\x03\x12\x03O\x1b\x1c\n\r\n\x06\x04\x00\x03\x04\x02\x01\x12\x03P\x04!\n\x0e\n\x07\x04\x00\x03\x04\x02\x01\x05\x12\x03P\x04\n\n\x0e\n\x07\x04\x00\x03\x04\x02\x01\x01\x12\x03P\x0b\x1c\n\x0e\n\x07\x04\x00\x03\x04\x02\x01\x03\x12\x03P\x1f \n\r\n\x06\x04\x00\x03\x04\x02\x02\x12\x03Q\x04%\n\x0e\n\x07\x04\x00\x03\x04\x02\x02\x06\x12\x03Q\x04\x14\n\x0e\n\x07\x04\x00\x03\x04\x02\x02\x01\x12\x03Q\x15 \n\x0e\n\x07\x04\x00\x03\x04\x02\x02\x03\x12\x03Q#$\n\x0c\n\x04\x04\x00\x03\x05\x12\x04T\x02X\x03\n\x0c\n\x05\x04\x00\x03\x05\x01\x12\x03T\n\"\n\r\n\x06\x04\x00\x03\x05\x02\x00\x12\x03U\x04\x1d\n\x0e\n\x07\x04\x00\x03\x05\x02\x00\x06\x12\x03U\x04\x11\n\x0e\n\x07\x04\x00\x03\x05\x02\x00\x01\x12\x03U\x12\x18\n\x0e\n\x07\x04\x00\x03\x05\x02\x00\x03\x12\x03U\x1b\x1c\n\r\n\x06\x04\x00\x03\x05\x02\x01\x12\x03V\x04!\n\x0e\n\x07\x04\x00\x03\x05\x02\x01\x05\x12\x03V\x04\n\n\x0e\n\x07\x04\x00\x03\x05\x02\x01\x01\x12\x03V\x0b\x1c\n\x0e\n\x07\x04\x00\x03\x05\x02\x01\x03\x12\x03V\x1f \n\r\n\x06\x04\x00\x03\x05\x02\x02\x12\x03W\x04%\n\x0e\n\x07\x04\x00\x03\x05\x02\x02\x06\x12\x03W\x04\x14\n\x0e\n\x07\x04\x00\x03\x05\x02\x02\x01\x12\x03W\x15 \n\x0e\n\x07\x04\x00\x03\x05\x02\x02\x03\x12\x03W#$\n\x0c\n\x04\x04\x00\x03\x06\x12\x04Z\x02_\x03\n\x0c\n\x05\x04\x00\x03\x06\x01\x12\x03Z\n\x1e\n\r\n\x06\x04\x00\x03\x06\x02\x00\x12\x03[\x04\x1c\n\x0e\n\x07\x04\x00\x03\x06\x02\x00\x06\x12\x03[\x04\x11\n\x0e\n\x07\x04\x00\x03\x06\x02\x00\x01\x12\x03[\x12\x17\n\x0e\n\x07\x04\x00\x03\x06\x02\x00\x03\x12\x03[\x1a\x1b\n\r\n\x06\x04\x00\x03\x06\x02\x01\x12\x03\\\x04 \n\x0e\n\x07\x04\x00\x03\x06\x02\x01\x06\x12\x03\\\x04\x11\n\x0e\n\x07\x04\x00\x03\x06\x02\x01\x01\x12\x03\\\x12\x1b\n\x0e\n\x07\x04\x00\x03\x06\x02\x01\x03\x12\x03\\\x1e\x1f\n\r\n\x06\x04\x00\x03\x06\x02\x02\x12\x03]\x04!\n\x0e\n\x07\x04\x00\x03\x06\x02\x02\x05\x12\x03]\x04\n\n\x0e\n\x07\x04\x00\x03\x06\x02\x02\x01\x12\x03]\x0b\x1c\n\x0e\n\x07\x04\x00\x03\x06\x02\x02\x03\x12\x03]\x1f \n\r\n\x06\x04\x00\x03\x06\x02\x03\x12\x03^\x04%\n\x0e\n\x07\x04\x00\x03\x06\x02\x03\x06\x12\x03^\x04\x14\n\x0e\n\x07\x04\x00\x03\x06\x02\x03\x01\x12\x03^\x15 \n\x0e\n\x07\x04\x00\x03\x06\x02\x03\x03\x12\x03^#$\n\x0c\n\x04\x04\x00\x03\x07\x12\x04a\x02e\x03\n\x0c\n\x05\x04\x00\x03\x07\x01\x12\x03a\n\"\n\r\n\x06\x04\x00\x03\x07\x02\x00\x12\x03b\x04 \n\x0e\n\x07\x04\x00\x03\x07\x02\x00\x06\x12\x03b\x04\x11\n\x0e\n\x07\x04\x00\x03\x07\x02\x00\x01\x12\x03b\x12\x1b\n\x0e\n\x07\x04\x00\x03\x07\x02\x00\x03\x12\x03b\x1e\x1f\n\r\n\x06\x04\x00\x03\x07\x02\x01\x12\x03c\x04!\n\x0e\n\x07\x04\x00\x03\x07\x02\x01\x05\x12\x03c\x04\n\n\x0e\n\x07\x04\x00\x03\x07\x02\x01\x01\x12\x03c\x0b\x1c\n\x0e\n\x07\x04\x00\x03\x07\x02\x01\x03\x12\x03c\x1f \n\r\n\x06\x04\x00\x03\x07\x02\x02\x12\x03d\x04%\n\x0e\n\x07\x04\x00\x03\x07\x02\x02\x06\x12\x03d\x04\x14\n\x0e\n\x07\x04\x00\x03\x07\x02\x02\x01\x12\x03d\x15 \n\x0e\n\x07\x04\x00\x03\x07\x02\x02\x03\x12\x03d#$\n\x0c\n\x04\x04\x00\x03\x08\x12\x04g\x02k\x03\n\x0c\n\x05\x04\x00\x03\x08\x01\x12\x03g\n\'\n\r\n\x06\x04\x00\x03\x08\x02\x00\x12\x03h\x04 \n\x0e\n\x07\x04\x00\x03\x08\x02\x00\x06\x12\x03h\x04\x11\n\x0e\n\x07\x04\x00\x03\x08\x02\x00\x01\x12\x03h\x12\x1b\n\x0e\n\x07\x04\x00\x03\x08\x02\x00\x03\x12\x03h\x1e\x1f\n\r\n\x06\x04\x00\x03\x08\x02\x01\x12\x03i\x04!\n\x0e\n\x07\x04\x00\x03\x08\x02\x01\x05\x12\x03i\x04\n\n\x0e\n\x07\x04\x00\x03\x08\x02\x01\x01\x12\x03i\x0b\x1c\n\x0e\n\x07\x04\x00\x03\x08\x02\x01\x03\x12\x03i\x1f \n\r\n\x06\x04\x00\x03\x08\x02\x02\x12\x03j\x04%\n\x0e\n\x07\x04\x00\x03\x08\x02\x02\x06\x12\x03j\x04\x14\n\x0e\n\x07\x04\x00\x03\x08\x02\x02\x01\x12\x03j\x15 \n\x0e\n\x07\x04\x00\x03\x08\x02\x02\x03\x12\x03j#$\n\x0c\n\x04\x04\x00\x03\t\x12\x04m\x02q\x03\n\x0c\n\x05\x04\x00\x03\t\x01\x12\x03m\n$\n\r\n\x06\x04\x00\x03\t\x02\x00\x12\x03n\x04 \n\x0e\n\x07\x04\x00\x03\t\x02\x00\x06\x12\x03n\x04\x11\n\x0e\n\x07\x04\x00\x03\t\x02\x00\x01\x12\x03n\x12\x1b\n\x0e\n\x07\x04\x00\x03\t\x02\x00\x03\x12\x03n\x1e\x1f\n\r\n\x06\x04\x00\x03\t\x02\x01\x12\x03o\x04!\n\x0e\n\x07\x04\x00\x03\t\x02\x01\x05\x12\x03o\x04\n\n\x0e\n\x07\x04\x00\x03\t\x02\x01\x01\x12\x03o\x0b\x1c\n\x0e\n\x07\x04\x00\x03\t\x02\x01\x03\x12\x03o\x1f \n\r\n\x06\x04\x00\x03\t\x02\x02\x12\x03p\x04%\n\x0e\n\x07\x04\x00\x03\t\x02\x02\x06\x12\x03p\x04\x14\n\x0e\n\x07\x04\x00\x03\t\x02\x02\x01\x12\x03p\x15 \n\x0e\n\x07\x04\x00\x03\t\x02\x02\x03\x12\x03p#$\n\x0c\n\x04\x04\x00\x03\n\x12\x04s\x02w\x03\n\x0c\n\x05\x04\x00\x03\n\x01\x12\x03s\n)\n\r\n\x06\x04\x00\x03\n\x02\x00\x12\x03t\x04 \n\x0e\n\x07\x04\x00\x03\n\x02\x00\x06\x12\x03t\x04\x11\n\x0e\n\x07\x04\x00\x03\n\x02\x00\x01\x12\x03t\x12\x1b\n\x0e\n\x07\x04\x00\x03\n\x02\x00\x03\x12\x03t\x1e\x1f\n\r\n\x06\x04\x00\x03\n\x02\x01\x12\x03u\x04!\n\x0e\n\x07\x04\x00\x03\n\x02\x01\x05\x12\x03u\x04\n\n\x0e\n\x07\x04\x00\x03\n\x02\x01\x01\x12\x03u\x0b\x1c\n\x0e\n\x07\x04\x00\x03\n\x02\x01\x03\x12\x03u\x1f \n\r\n\x06\x04\x00\x03\n\x02\x02\x12\x03v\x04%\n\x0e\n\x07\x04\x00\x03\n\x02\x02\x06\x12\x03v\x04\x14\n\x0e\n\x07\x04\x00\x03\n\x02\x02\x01\x12\x03v\x15 \n\x0e\n\x07\x04\x00\x03\n\x02\x02\x03\x12\x03v#$\n\x0c\n\x04\x04\x00\x03\x0b\x12\x04y\x02}\x03\n\x0c\n\x05\x04\x00\x03\x0b\x01\x12\x03y\n+\n\r\n\x06\x04\x00\x03\x0b\x02\x00\x12\x03z\x04 \n\x0e\n\x07\x04\x00\x03\x0b\x02\x00\x06\x12\x03z\x04\x11\n\x0e\n\x07\x04\x00\x03\x0b\x02\x00\x01\x12\x03z\x12\x1b\n\x0e\n\x07\x04\x00\x03\x0b\x02\x00\x03\x12\x03z\x1e\x1f\n\r\n\x06\x04\x00\x03\x0b\x02\x01\x12\x03{\x04!\n\x0e\n\x07\x04\x00\x03\x0b\x02\x01\x05\x12\x03{\x04\n\n\x0e\n\x07\x04\x00\x03\x0b\x02\x01\x01\x12\x03{\x0b\x1c\n\x0e\n\x07\x04\x00\x03\x0b\x02\x01\x03\x12\x03{\x1f \n\r\n\x06\x04\x00\x03\x0b\x02\x02\x12\x03|\x04%\n\x0e\n\x07\x04\x00\x03\x0b\x02\x02\x06\x12\x03|\x04\x14\n\x0e\n\x07\x04\x00\x03\x0b\x02\x02\x01\x12\x03|\x15 \n\x0e\n\x07\x04\x00\x03\x0b\x02\x02\x03\x12\x03|#$\n\r\n\x04\x04\x00\x03\x0c\x12\x05\x7f\x02\x83\x01\x03\n\x0c\n\x05\x04\x00\x03\x0c\x01\x12\x03\x7f\n\x1d\n\x0e\n\x06\x04\x00\x03\x0c\x02\x00\x12\x04\x80\x01\x04)\n\x0f\n\x07\x04\x00\x03\x0c\x02\x00\x04\x12\x04\x80\x01\x04\x0c\n\x0f\n\x07\x04\x00\x03\x0c\x02\x00\x06\x12\x04\x80\x01\r\x1e\n\x0f\n\x07\x04\x00\x03\x0c\x02\x00\x01\x12\x04\x80\x01\x1f$\n\x0f\n\x07\x04\x00\x03\x0c\x02\x00\x03\x12\x04\x80\x01\'(\n\x0e\n\x06\x04\x00\x03\x0c\x02\x01\x12\x04\x81\x01\x04!\n\x0f\n\x07\x04\x00\x03\x0c\x02\x01\x05\x12\x04\x81\x01\x04\n\n\x0f\n\x07\x04\x00\x03\x0c\x02\x01\x01\x12\x04\x81\x01\x0b\x1c\n\x0f\n\x07\x04\x00\x03\x0c\x02\x01\x03\x12\x04\x81\x01\x1f \n\x0e\n\x06\x04\x00\x03\x0c\x02\x02\x12\x04\x82\x01\x04%\n\x0f\n\x07\x04\x00\x03\x0c\x02\x02\x06\x12\x04\x82\x01\x04\x14\n\x0f\n\x07\x04\x00\x03\x0c\x02\x02\x01\x12\x04\x82\x01\x15 \n\x0f\n\x07\x04\x00\x03\x0c\x02\x02\x03\x12\x04\x82\x01#$\n\x0e\n\x04\x04\x00\x03\r\x12\x06\x85\x01\x02\x89\x01\x03\n\r\n\x05\x04\x00\x03\r\x01\x12\x04\x85\x01\n\"\n,\n\x06\x04\x00\x03\r\x02\x00\x12\x04\x87\x01\x04\x1e\x1a\x1c list of names in dfs order\n\n\x0f\n\x07\x04\x00\x03\r\x02\x00\x04\x12\x04\x87\x01\x04\x0c\n\x0f\n\x07\x04\x00\x03\r\x02\x00\x05\x12\x04\x87\x01\r\x13\n\x0f\n\x07\x04\x00\x03\r\x02\x00\x01\x12\x04\x87\x01\x14\x19\n\x0f\n\x07\x04\x00\x03\r\x02\x00\x03\x12\x04\x87\x01\x1c\x1d\n\x0e\n\x06\x04\x00\x03\r\x02\x01\x12\x04\x88\x01\x04#\n\x0f\n\x07\x04\x00\x03\r\x02\x01\x06\x12\x04\x88\x01\x04\x17\n\x0f\n\x07\x04\x00\x03\r\x02\x01\x01\x12\x04\x88\x01\x18\x1e\n\x0f\n\x07\x04\x00\x03\r\x02\x01\x03\x12\x04\x88\x01!\"\n\x0e\n\x04\x04\x00\x03\x0e\x12\x06\x8b\x01\x02\x8f\x01\x03\n\r\n\x05\x04\x00\x03\x0e\x01\x12\x04\x8b\x01\n\x1b\n\x0e\n\x06\x04\x00\x03\x0e\x02\x00\x12\x04\x8c\x01\x04\x1f\n\x0f\n\x07\x04\x00\x03\x0e\x02\x00\x06\x12\x04\x8c\x01\x04\x15\n\x0f\n\x07\x04\x00\x03\x0e\x02\x00\x01\x12\x04\x8c\x01\x16\x1a\n\x0f\n\x07\x04\x00\x03\x0e\x02\x00\x03\x12\x04\x8c\x01\x1d\x1e\n\x0e\n\x06\x04\x00\x03\x0e\x02\x01\x12\x04\x8d\x01\x04!\n\x0f\n\x07\x04\x00\x03\x0e\x02\x01\x05\x12\x04\x8d\x01\x04\n\n\x0f\n\x07\x04\x00\x03\x0e\x02\x01\x01\x12\x04\x8d\x01\x0b\x1c\n\x0f\n\x07\x04\x00\x03\x0e\x02\x01\x03\x12\x04\x8d\x01\x1f \n\x0e\n\x06\x04\x00\x03\x0e\x02\x02\x12\x04\x8e\x01\x04%\n\x0f\n\x07\x04\x00\x03\x0e\x02\x02\x06\x12\x04\x8e\x01\x04\x14\n\x0f\n\x07\x04\x00\x03\x0e\x02\x02\x01\x12\x04\x8e\x01\x15 \n\x0f\n\x07\x04\x00\x03\x0e\x02\x02\x03\x12\x04\x8e\x01#$\n\x0e\n\x04\x04\x00\x03\x0f\x12\x06\x91\x01\x02\x96\x01\x03\n\r\n\x05\x04\x00\x03\x0f\x01\x12\x04\x91\x01\n\x1a\n\x0e\n\x06\x04\x00\x03\x0f\x02\x00\x12\x04\x92\x01\x04\x1e\n\x0f\n\x07\x04\x00\x03\x0f\x02\x00\x06\x12\x04\x92\x01\x04\x15\n\x0f\n\x07\x04\x00\x03\x0f\x02\x00\x01\x12\x04\x92\x01\x16\x19\n\x0f\n\x07\x04\x00\x03\x0f\x02\x00\x03\x12\x04\x92\x01\x1c\x1d\n\x0e\n\x06\x04\x00\x03\x0f\x02\x01\x12\x04\x93\x01\x04 \n\x0f\n\x07\x04\x00\x03\x0f\x02\x01\x06\x12\x04\x93\x01\x04\x15\n\x0f\n\x07\x04\x00\x03\x0f\x02\x01\x01\x12\x04\x93\x01\x16\x1b\n\x0f\n\x07\x04\x00\x03\x0f\x02\x01\x03\x12\x04\x93\x01\x1e\x1f\n\x0e\n\x06\x04\x00\x03\x0f\x02\x02\x12\x04\x94\x01\x04!\n\x0f\n\x07\x04\x00\x03\x0f\x02\x02\x05\x12\x04\x94\x01\x04\n\n\x0f\n\x07\x04\x00\x03\x0f\x02\x02\x01\x12\x04\x94\x01\x0b\x1c\n\x0f\n\x07\x04\x00\x03\x0f\x02\x02\x03\x12\x04\x94\x01\x1f \n\x0e\n\x06\x04\x00\x03\x0f\x02\x03\x12\x04\x95\x01\x04%\n\x0f\n\x07\x04\x00\x03\x0f\x02\x03\x06\x12\x04\x95\x01\x04\x14\n\x0f\n\x07\x04\x00\x03\x0f\x02\x03\x01\x12\x04\x95\x01\x15 \n\x0f\n\x07\x04\x00\x03\x0f\x02\x03\x03\x12\x04\x95\x01#$\n\x0e\n\x04\x04\x00\x03\x10\x12\x06\x98\x01\x02\x9c\x01\x03\n\r\n\x05\x04\x00\x03\x10\x01\x12\x04\x98\x01\n\"\n\x0e\n\x06\x04\x00\x03\x10\x02\x00\x12\x04\x99\x01\x04\x1c\n\x0f\n\x07\x04\x00\x03\x10\x02\x00\x05\x12\x04\x99\x01\x04\n\n\x0f\n\x07\x04\x00\x03\x10\x02\x00\x01\x12\x04\x99\x01\x0b\x17\n\x0f\n\x07\x04\x00\x03\x10\x02\x00\x03\x12\x04\x99\x01\x1a\x1b\n\x0e\n\x06\x04\x00\x03\x10\x02\x01\x12\x04\x9a\x01\x04!\n\x0f\n\x07\x04\x00\x03\x10\x02\x01\x05\x12\x04\x9a\x01\x04\n\n\x0f\n\x07\x04\x00\x03\x10\x02\x01\x01\x12\x04\x9a\x01\x0b\x1c\n\x0f\n\x07\x04\x00\x03\x10\x02\x01\x03\x12\x04\x9a\x01\x1f \n\x0e\n\x06\x04\x00\x03\x10\x02\x02\x12\x04\x9b\x01\x04%\n\x0f\n\x07\x04\x00\x03\x10\x02\x02\x06\x12\x04\x9b\x01\x04\x14\n\x0f\n\x07\x04\x00\x03\x10\x02\x02\x01\x12\x04\x9b\x01\x15 \n\x0f\n\x07\x04\x00\x03\x10\x02\x02\x03\x12\x04\x9b\x01#$\n\x0e\n\x04\x04\x00\x03\x11\x12\x06\x9e\x01\x02\xa3\x01\x03\n\r\n\x05\x04\x00\x03\x11\x01\x12\x04\x9e\x01\n\x17\n\x10\n\x06\x04\x00\x03\x11\x08\x00\x12\x06\x9f\x01\x04\xa2\x01\x05\n\x0f\n\x07\x04\x00\x03\x11\x08\x00\x01\x12\x04\x9f\x01\n\x16\n\x0e\n\x06\x04\x00\x03\x11\x02\x00\x12\x04\xa0\x01\x06\x18\n\x0f\n\x07\x04\x00\x03\x11\x02\x00\x05\x12\x04\xa0\x01\x06\x0b\n\x0f\n\x07\x04\x00\x03\x11\x02\x00\x01\x12\x04\xa0\x01\x0c\x13\n\x0f\n\x07\x04\x00\x03\x11\x02\x00\x03\x12\x04\xa0\x01\x16\x17\n\x0e\n\x06\x04\x00\x03\x11\x02\x01\x12\x04\xa1\x01\x06%\n\x0f\n\x07\x04\x00\x03\x11\x02\x01\x06\x12\x04\xa1\x01\x06\x16\n\x0f\n\x07\x04\x00\x03\x11\x02\x01\x01\x12\x04\xa1\x01\x17 \n\x0f\n\x07\x04\x00\x03\x11\x02\x01\x03\x12\x04\xa1\x01#$b\x06proto3\n\xcd\x17\n#substrait/extended_expression.proto\x12\tsubstrait\x1a\x17substrait/algebra.proto\x1a%substrait/extensions/extensions.proto\x1a\x14substrait/plan.proto\x1a\x14substrait/type.proto\"\xb8\x01\n\x13ExpressionReference\x127\n\nexpression\x18\x01 \x01(\x0b2\x15.substrait.ExpressionH\x00R\nexpression\x128\n\x07measure\x18\x02 \x01(\x0b2\x1c.substrait.AggregateFunctionH\x00R\x07measure\x12!\n\x0coutput_names\x18\x03 \x03(\tR\x0boutputNamesB\x0b\n\texpr_type\"\xc0\x04\n\x12ExtendedExpression\x12,\n\x07version\x18\x07 \x01(\x0b2\x12.substrait.VersionR\x07version\x12S\n\x0eextension_uris\x18\x01 \x03(\x0b2(.substrait.extensions.SimpleExtensionURIB\x02\x18\x01R\rextensionUris\x12O\n\x0eextension_urns\x18\x08 \x03(\x0b2(.substrait.extensions.SimpleExtensionURNR\rextensionUrns\x12P\n\nextensions\x18\x02 \x03(\x0b20.substrait.extensions.SimpleExtensionDeclarationR\nextensions\x12C\n\rreferred_expr\x18\x03 \x03(\x0b2\x1e.substrait.ExpressionReferenceR\x0creferredExpr\x127\n\x0bbase_schema\x18\x04 \x01(\x0b2\x16.substrait.NamedStructR\nbaseSchema\x12X\n\x13advanced_extensions\x18\x05 \x01(\x0b2\'.substrait.extensions.AdvancedExtensionR\x12advancedExtensions\x12,\n\x12expected_type_urls\x18\x06 \x03(\tR\x10expectedTypeUrlsBf\n\x12io.substrait.protoP\x01Z9github.com/substrait-io/substrait-protobuf/go/substraitpb\xaa\x02\x12Substrait.ProtobufJ\xc0\x0f\n\x06\x12\x04\x01\x007\x01\n/\n\x01\x0c\x12\x03\x01\x00\x12\x1a% SPDX-License-Identifier: Apache-2.0\n\n\x08\n\x01\x02\x12\x03\x03\x00\x12\n\t\n\x02\x03\x00\x12\x03\x05\x00!\n\t\n\x02\x03\x01\x12\x03\x06\x00/\n\t\n\x02\x03\x02\x12\x03\x07\x00\x1e\n\t\n\x02\x03\x03\x12\x03\x08\x00\x1e\n\x08\n\x01\x08\x12\x03\n\x00/\n\t\n\x02\x08%\x12\x03\n\x00/\n\x08\n\x01\x08\x12\x03\x0b\x00P\n\t\n\x02\x08\x0b\x12\x03\x0b\x00P\n\x08\n\x01\x08\x12\x03\x0c\x00\"\n\t\n\x02\x08\n\x12\x03\x0c\x00\"\n\x08\n\x01\x08\x12\x03\r\x00+\n\t\n\x02\x08\x01\x12\x03\r\x00+\n\n\n\x02\x04\x00\x12\x04\x0f\x00\x16\x01\n\n\n\x03\x04\x00\x01\x12\x03\x0f\x08\x1b\n\x0c\n\x04\x04\x00\x08\x00\x12\x04\x10\x02\x13\x03\n\x0c\n\x05\x04\x00\x08\x00\x01\x12\x03\x10\x08\x11\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x11\x04\x1e\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\x11\x04\x0e\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x11\x0f\x19\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x11\x1c\x1d\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\x12\x04\"\n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x03\x12\x04\x15\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x12\x16\x1d\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x12 !\n/\n\x04\x04\x00\x02\x02\x12\x03\x15\x02#\x1a\" Field names in depth-first order\n\n\x0c\n\x05\x04\x00\x02\x02\x04\x12\x03\x15\x02\n\n\x0c\n\x05\x04\x00\x02\x02\x05\x12\x03\x15\x0b\x11\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\x15\x12\x1e\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\x15!\"\n|\n\x02\x04\x01\x12\x04\x1a\x007\x01\x1ap Describe a set of operations to complete.\n For compactness sake, identifiers are normalized at the plan level.\n\n\n\n\x03\x04\x01\x01\x12\x03\x1a\x08\x1a\nh\n\x04\x04\x01\x02\x00\x12\x03\x1d\x02\x16\x1a[ Substrait version of the expression. Optional up to 0.17.0, required for later\n versions.\n\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03\x1d\x02\t\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x1d\n\x11\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x1d\x14\x15\n\x8e\x01\n\x04\x04\x01\x02\x01\x12\x03!\x02Z\x1a\x80\x01 a list of yaml specifications this expression may depend on\n this is now deprecated and extension_urns should be used instead.\n\n\x0c\n\x05\x04\x01\x02\x01\x04\x12\x03!\x02\n\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03!\x0b2\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03!3A\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03!DE\n\x0c\n\x05\x04\x01\x02\x01\x08\x12\x03!FY\n\r\n\x06\x04\x01\x02\x01\x08\x03\x12\x03!GX\nm\n\x04\x04\x01\x02\x02\x12\x03%\x02F\x1a` a list of extension specifications this expression may depend on,\n referenced by Extension URN\n\n\x0c\n\x05\x04\x01\x02\x02\x04\x12\x03%\x02\n\n\x0c\n\x05\x04\x01\x02\x02\x06\x12\x03%\x0b2\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03%3A\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03%DE\nA\n\x04\x04\x01\x02\x03\x12\x03(\x02J\x1a4 a list of extensions this expression may depend on\n\n\x0c\n\x05\x04\x01\x02\x03\x04\x12\x03(\x02\n\n\x0c\n\x05\x04\x01\x02\x03\x06\x12\x03(\x0b:\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03(;E\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03(HI\nG\n\x04\x04\x01\x02\x04\x12\x03+\x021\x1a: one or more expression trees with same order in plan rel\n\n\x0c\n\x05\x04\x01\x02\x04\x04\x12\x03+\x02\n\n\x0c\n\x05\x04\x01\x02\x04\x06\x12\x03+\x0b\x1e\n\x0c\n\x05\x04\x01\x02\x04\x01\x12\x03+\x1f,\n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x03+/0\n\x0b\n\x04\x04\x01\x02\x05\x12\x03-\x02\x1e\n\x0c\n\x05\x04\x01\x02\x05\x06\x12\x03-\x02\r\n\x0c\n\x05\x04\x01\x02\x05\x01\x12\x03-\x0e\x19\n\x0c\n\x05\x04\x01\x02\x05\x03\x12\x03-\x1c\x1d\nE\n\x04\x04\x01\x02\x06\x12\x03/\x02A\x1a8 additional extensions associated with this expression.\n\n\x0c\n\x05\x04\x01\x02\x06\x06\x12\x03/\x02(\n\x0c\n\x05\x04\x01\x02\x06\x01\x12\x03/)<\n\x0c\n\x05\x04\x01\x02\x06\x03\x12\x03/?@\n\xe8\x02\n\x04\x04\x01\x02\x07\x12\x036\x02)\x1a\xda\x02 A list of com.google.Any entities that this plan may use. Can be used to\n warn if some embedded message types are unknown. Note that this list may\n include message types that are ignorable (optimizations) or that are\n unused. In many cases, a consumer may be able to work with a plan even if\n one or more message types defined here are unknown.\n\n\x0c\n\x05\x04\x01\x02\x07\x04\x12\x036\x02\n\n\x0c\n\x05\x04\x01\x02\x07\x05\x12\x036\x0b\x11\n\x0c\n\x05\x04\x01\x02\x07\x01\x12\x036\x12$\n\x0c\n\x05\x04\x01\x02\x07\x03\x12\x036\'(b\x06proto3\n\xde\x0b\n\x1csubstrait/capabilities.proto\x12\tsubstrait\"\xec\x02\n\x0cCapabilities\x12-\n\x12substrait_versions\x18\x01 \x03(\tR\x11substraitVersions\x12?\n\x1cadvanced_extension_type_urls\x18\x02 \x03(\tR\x19advancedExtensionTypeUrls\x12T\n\x11simple_extensions\x18\x03 \x03(\x0b2\'.substrait.Capabilities.SimpleExtensionR\x10simpleExtensions\x1a\x95\x01\n\x0fSimpleExtension\x12\x10\n\x03uri\x18\x01 \x01(\tR\x03uri\x12#\n\rfunction_keys\x18\x02 \x03(\tR\x0cfunctionKeys\x12\x1b\n\ttype_keys\x18\x03 \x03(\tR\x08typeKeys\x12.\n\x13type_variation_keys\x18\x04 \x03(\tR\x11typeVariationKeysBf\n\x12io.substrait.protoP\x01Z9github.com/substrait-io/substrait-protobuf/go/substraitpb\xaa\x02\x12Substrait.ProtobufJ\xd3\x07\n\x06\x12\x04\x01\x00\x1c\x01\n/\n\x01\x0c\x12\x03\x01\x00\x12\x1a% SPDX-License-Identifier: Apache-2.0\n\n\x08\n\x01\x02\x12\x03\x03\x00\x12\n\x08\n\x01\x08\x12\x03\x05\x00/\n\t\n\x02\x08%\x12\x03\x05\x00/\n\x08\n\x01\x08\x12\x03\x06\x00P\n\t\n\x02\x08\x0b\x12\x03\x06\x00P\n\x08\n\x01\x08\x12\x03\x07\x00\"\n\t\n\x02\x08\n\x12\x03\x07\x00\"\n\x08\n\x01\x08\x12\x03\x08\x00+\n\t\n\x02\x08\x01\x12\x03\x08\x00+\nZ\n\x02\x04\x00\x12\x04\x0b\x00\x1c\x01\x1aN Defines a set of Capabilities that a system (producer or consumer) supports.\n\n\n\n\x03\x04\x00\x01\x12\x03\x0b\x08\x14\n>\n\x04\x04\x00\x02\x00\x12\x03\r\x02)\x1a1 List of Substrait versions this system supports\n\n\x0c\n\x05\x04\x00\x02\x00\x04\x12\x03\r\x02\n\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\r\x0b\x11\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\r\x12$\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\r\'(\nb\n\x04\x04\x00\x02\x01\x12\x03\x11\x023\x1aU list of com.google.Any message types this system supports for advanced\n extensions.\n\n\x0c\n\x05\x04\x00\x02\x01\x04\x12\x03\x11\x02\n\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03\x11\x0b\x11\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x11\x12.\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x1112\n>\n\x04\x04\x00\x02\x02\x12\x03\x14\x021\x1a1 list of simple extensions this system supports.\n\n\x0c\n\x05\x04\x00\x02\x02\x04\x12\x03\x14\x02\n\n\x0c\n\x05\x04\x00\x02\x02\x06\x12\x03\x14\x0b\x1a\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\x14\x1b,\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\x14/0\n\x0c\n\x04\x04\x00\x03\x00\x12\x04\x16\x02\x1b\x03\n\x0c\n\x05\x04\x00\x03\x00\x01\x12\x03\x16\n\x19\n\r\n\x06\x04\x00\x03\x00\x02\x00\x12\x03\x17\x04\x13\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x05\x12\x03\x17\x04\n\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x01\x12\x03\x17\x0b\x0e\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x03\x12\x03\x17\x11\x12\n\r\n\x06\x04\x00\x03\x00\x02\x01\x12\x03\x18\x04&\n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x04\x12\x03\x18\x04\x0c\n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x05\x12\x03\x18\r\x13\n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x01\x12\x03\x18\x14!\n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x03\x12\x03\x18$%\n\r\n\x06\x04\x00\x03\x00\x02\x02\x12\x03\x19\x04\"\n\x0e\n\x07\x04\x00\x03\x00\x02\x02\x04\x12\x03\x19\x04\x0c\n\x0e\n\x07\x04\x00\x03\x00\x02\x02\x05\x12\x03\x19\r\x13\n\x0e\n\x07\x04\x00\x03\x00\x02\x02\x01\x12\x03\x19\x14\x1d\n\x0e\n\x07\x04\x00\x03\x00\x02\x02\x03\x12\x03\x19 !\n\r\n\x06\x04\x00\x03\x00\x02\x03\x12\x03\x1a\x04,\n\x0e\n\x07\x04\x00\x03\x00\x02\x03\x04\x12\x03\x1a\x04\x0c\n\x0e\n\x07\x04\x00\x03\x00\x02\x03\x05\x12\x03\x1a\r\x13\n\x0e\n\x07\x04\x00\x03\x00\x02\x03\x01\x12\x03\x1a\x14\'\n\x0e\n\x07\x04\x00\x03\x00\x02\x03\x03\x12\x03\x1a*+b\x06proto3\n\xeap\n substrait/type_expressions.proto\x12\tsubstrait\x1a\x14substrait/type.proto\"\x982\n\x14DerivationExpression\x12-\n\x04bool\x18\x01 \x01(\x0b2\x17.substrait.Type.BooleanH\x00R\x04bool\x12$\n\x02i8\x18\x02 \x01(\x0b2\x12.substrait.Type.I8H\x00R\x02i8\x12\'\n\x03i16\x18\x03 \x01(\x0b2\x13.substrait.Type.I16H\x00R\x03i16\x12\'\n\x03i32\x18\x05 \x01(\x0b2\x13.substrait.Type.I32H\x00R\x03i32\x12\'\n\x03i64\x18\x07 \x01(\x0b2\x13.substrait.Type.I64H\x00R\x03i64\x12*\n\x04fp32\x18\n \x01(\x0b2\x14.substrait.Type.FP32H\x00R\x04fp32\x12*\n\x04fp64\x18\x0b \x01(\x0b2\x14.substrait.Type.FP64H\x00R\x04fp64\x120\n\x06string\x18\x0c \x01(\x0b2\x16.substrait.Type.StringH\x00R\x06string\x120\n\x06binary\x18\r \x01(\x0b2\x16.substrait.Type.BinaryH\x00R\x06binary\x12=\n\ttimestamp\x18\x0e \x01(\x0b2\x19.substrait.Type.TimestampB\x02\x18\x01H\x00R\ttimestamp\x12*\n\x04date\x18\x10 \x01(\x0b2\x14.substrait.Type.DateH\x00R\x04date\x12.\n\x04time\x18\x11 \x01(\x0b2\x14.substrait.Type.TimeB\x02\x18\x01H\x00R\x04time\x12C\n\rinterval_year\x18\x13 \x01(\x0b2\x1c.substrait.Type.IntervalYearH\x00R\x0cintervalYear\x12D\n\x0ctimestamp_tz\x18\x1d \x01(\x0b2\x1b.substrait.Type.TimestampTZB\x02\x18\x01H\x00R\x0btimestampTz\x12*\n\x04uuid\x18  \x01(\x0b2\x14.substrait.Type.UUIDH\x00R\x04uuid\x12Z\n\x0cinterval_day\x18\x14 \x01(\x0b25.substrait.DerivationExpression.ExpressionIntervalDayH\x00R\x0bintervalDay\x12i\n\x11interval_compound\x18* \x01(\x0b2:.substrait.DerivationExpression.ExpressionIntervalCompoundH\x00R\x10intervalCompound\x12T\n\nfixed_char\x18\x15 \x01(\x0b23.substrait.DerivationExpression.ExpressionFixedCharH\x00R\tfixedChar\x12M\n\x07varchar\x18\x16 \x01(\x0b21.substrait.DerivationExpression.ExpressionVarCharH\x00R\x07varchar\x12Z\n\x0cfixed_binary\x18\x17 \x01(\x0b25.substrait.DerivationExpression.ExpressionFixedBinaryH\x00R\x0bfixedBinary\x12M\n\x07decimal\x18\x18 \x01(\x0b21.substrait.DerivationExpression.ExpressionDecimalH\x00R\x07decimal\x12`\n\x0eprecision_time\x18+ \x01(\x0b27.substrait.DerivationExpression.ExpressionPrecisionTimeH\x00R\rprecisionTime\x12o\n\x13precision_timestamp\x18( \x01(\x0b2<.substrait.DerivationExpression.ExpressionPrecisionTimestampH\x00R\x12precisionTimestamp\x12v\n\x16precision_timestamp_tz\x18) \x01(\x0b2>.substrait.DerivationExpression.ExpressionPrecisionTimestampTZH\x00R\x14precisionTimestampTz\x12J\n\x06struct\x18\x19 \x01(\x0b20.substrait.DerivationExpression.ExpressionStructH\x00R\x06struct\x12D\n\x04list\x18\x1b \x01(\x0b2..substrait.DerivationExpression.ExpressionListH\x00R\x04list\x12A\n\x03map\x18\x1c \x01(\x0b2-.substrait.DerivationExpression.ExpressionMapH\x00R\x03map\x12Z\n\x0cuser_defined\x18\x1e \x01(\x0b25.substrait.DerivationExpression.ExpressionUserDefinedH\x00R\x0buserDefined\x126\n\x14user_defined_pointer\x18\x1f \x01(\rB\x02\x18\x01H\x00R\x12userDefinedPointer\x120\n\x13type_parameter_name\x18! \x01(\tH\x00R\x11typeParameterName\x126\n\x16integer_parameter_name\x18\" \x01(\tH\x00R\x14integerParameterName\x12)\n\x0finteger_literal\x18# \x01(\x05H\x00R\x0eintegerLiteral\x12D\n\x08unary_op\x18$ \x01(\x0b2\'.substrait.DerivationExpression.UnaryOpH\x00R\x07unaryOp\x12G\n\tbinary_op\x18% \x01(\x0b2(.substrait.DerivationExpression.BinaryOpH\x00R\x08binaryOp\x12A\n\x07if_else\x18& \x01(\x0b2&.substrait.DerivationExpression.IfElseH\x00R\x06ifElse\x12V\n\x0ereturn_program\x18\' \x01(\x0b2-.substrait.DerivationExpression.ReturnProgramH\x00R\rreturnProgram\x1a\xba\x01\n\x13ExpressionFixedChar\x127\n\x06length\x18\x01 \x01(\x0b2\x1f.substrait.DerivationExpressionR\x06length\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12=\n\x0bnullability\x18\x03 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\xb8\x01\n\x11ExpressionVarChar\x127\n\x06length\x18\x01 \x01(\x0b2\x1f.substrait.DerivationExpressionR\x06length\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12=\n\x0bnullability\x18\x03 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\xbc\x01\n\x15ExpressionFixedBinary\x127\n\x06length\x18\x01 \x01(\x0b2\x1f.substrait.DerivationExpressionR\x06length\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12=\n\x0bnullability\x18\x03 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\xf5\x01\n\x11ExpressionDecimal\x125\n\x05scale\x18\x01 \x01(\x0b2\x1f.substrait.DerivationExpressionR\x05scale\x12=\n\tprecision\x18\x02 \x01(\x0b2\x1f.substrait.DerivationExpressionR\tprecision\x12+\n\x11variation_pointer\x18\x03 \x01(\rR\x10variationPointer\x12=\n\x0bnullability\x18\x04 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\xc4\x01\n\x17ExpressionPrecisionTime\x12=\n\tprecision\x18\x01 \x01(\x0b2\x1f.substrait.DerivationExpressionR\tprecision\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12=\n\x0bnullability\x18\x03 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\xc9\x01\n\x1cExpressionPrecisionTimestamp\x12=\n\tprecision\x18\x01 \x01(\x0b2\x1f.substrait.DerivationExpressionR\tprecision\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12=\n\x0bnullability\x18\x03 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\xc2\x01\n\x15ExpressionIntervalDay\x12=\n\tprecision\x18\x01 \x01(\x0b2\x1f.substrait.DerivationExpressionR\tprecision\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12=\n\x0bnullability\x18\x03 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\xc7\x01\n\x1aExpressionIntervalCompound\x12=\n\tprecision\x18\x01 \x01(\x0b2\x1f.substrait.DerivationExpressionR\tprecision\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12=\n\x0bnullability\x18\x03 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\xcb\x01\n\x1eExpressionPrecisionTimestampTZ\x12=\n\tprecision\x18\x01 \x01(\x0b2\x1f.substrait.DerivationExpressionR\tprecision\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12=\n\x0bnullability\x18\x03 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\xb5\x01\n\x10ExpressionStruct\x125\n\x05types\x18\x01 \x03(\x0b2\x1f.substrait.DerivationExpressionR\x05types\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12=\n\x0bnullability\x18\x03 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1aw\n\x15ExpressionNamedStruct\x12\x14\n\x05names\x18\x01 \x03(\tR\x05names\x12H\n\x06struct\x18\x02 \x01(\x0b20.substrait.DerivationExpression.ExpressionStructR\x06struct\x1a\xb1\x01\n\x0eExpressionList\x123\n\x04type\x18\x01 \x01(\x0b2\x1f.substrait.DerivationExpressionR\x04type\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12=\n\x0bnullability\x18\x03 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\xe5\x01\n\rExpressionMap\x121\n\x03key\x18\x01 \x01(\x0b2\x1f.substrait.DerivationExpressionR\x03key\x125\n\x05value\x18\x02 \x01(\x0b2\x1f.substrait.DerivationExpressionR\x05value\x12+\n\x11variation_pointer\x18\x03 \x01(\rR\x10variationPointer\x12=\n\x0bnullability\x18\x04 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\xa6\x01\n\x15ExpressionUserDefined\x12!\n\x0ctype_pointer\x18\x01 \x01(\rR\x0btypePointer\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x12=\n\x0bnullability\x18\x03 \x01(\x0e2\x1b.substrait.Type.NullabilityR\x0bnullability\x1a\xcc\x01\n\x06IfElse\x12B\n\x0cif_condition\x18\x01 \x01(\x0b2\x1f.substrait.DerivationExpressionR\x0bifCondition\x12<\n\tif_return\x18\x02 \x01(\x0b2\x1f.substrait.DerivationExpressionR\x08ifReturn\x12@\n\x0belse_return\x18\x03 \x01(\x0b2\x1f.substrait.DerivationExpressionR\nelseReturn\x1a\xd7\x01\n\x07UnaryOp\x12L\n\x07op_type\x18\x01 \x01(\x0e23.substrait.DerivationExpression.UnaryOp.UnaryOpTypeR\x06opType\x121\n\x03arg\x18\x02 \x01(\x0b2\x1f.substrait.DerivationExpressionR\x03arg\"K\n\x0bUnaryOpType\x12\x1d\n\x19UNARY_OP_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19UNARY_OP_TYPE_BOOLEAN_NOT\x10\x01\x1a\xb4\x04\n\x08BinaryOp\x12N\n\x07op_type\x18\x01 \x01(\x0e25.substrait.DerivationExpression.BinaryOp.BinaryOpTypeR\x06opType\x123\n\x04arg1\x18\x02 \x01(\x0b2\x1f.substrait.DerivationExpressionR\x04arg1\x123\n\x04arg2\x18\x03 \x01(\x0b2\x1f.substrait.DerivationExpressionR\x04arg2\"\xed\x02\n\x0cBinaryOpType\x12\x1e\n\x1aBINARY_OP_TYPE_UNSPECIFIED\x10\x00\x12\x17\n\x13BINARY_OP_TYPE_PLUS\x10\x01\x12\x18\n\x14BINARY_OP_TYPE_MINUS\x10\x02\x12\x1b\n\x17BINARY_OP_TYPE_MULTIPLY\x10\x03\x12\x19\n\x15BINARY_OP_TYPE_DIVIDE\x10\x04\x12\x16\n\x12BINARY_OP_TYPE_MIN\x10\x05\x12\x16\n\x12BINARY_OP_TYPE_MAX\x10\x06\x12\x1f\n\x1bBINARY_OP_TYPE_GREATER_THAN\x10\x07\x12\x1c\n\x18BINARY_OP_TYPE_LESS_THAN\x10\x08\x12\x16\n\x12BINARY_OP_TYPE_AND\x10\t\x12\x15\n\x11BINARY_OP_TYPE_OR\x10\n\x12\x19\n\x15BINARY_OP_TYPE_EQUALS\x10\x0b\x12\x19\n\x15BINARY_OP_TYPE_COVERS\x10\x0c\x1a\x9a\x02\n\rReturnProgram\x12Z\n\x0bassignments\x18\x01 \x03(\x0b28.substrait.DerivationExpression.ReturnProgram.AssignmentR\x0bassignments\x12J\n\x10final_expression\x18\x02 \x01(\x0b2\x1f.substrait.DerivationExpressionR\x0ffinalExpression\x1aa\n\nAssignment\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12?\n\nexpression\x18\x02 \x01(\x0b2\x1f.substrait.DerivationExpressionR\nexpressionB\x06\n\x04kindBf\n\x12io.substrait.protoP\x01Z9github.com/substrait-io/substrait-protobuf/go/substraitpb\xaa\x02\x12Substrait.ProtobufJ\x99=\n\x07\x12\x05\x01\x00\xc4\x01\x01\n/\n\x01\x0c\x12\x03\x01\x00\x12\x1a% SPDX-License-Identifier: Apache-2.0\n\n\x08\n\x01\x02\x12\x03\x03\x00\x12\n\t\n\x02\x03\x00\x12\x03\x05\x00\x1e\n\x08\n\x01\x08\x12\x03\x07\x00/\n\t\n\x02\x08%\x12\x03\x07\x00/\n\x08\n\x01\x08\x12\x03\x08\x00P\n\t\n\x02\x08\x0b\x12\x03\x08\x00P\n\x08\n\x01\x08\x12\x03\t\x00\"\n\t\n\x02\x08\n\x12\x03\t\x00\"\n\x08\n\x01\x08\x12\x03\n\x00+\n\t\n\x02\x08\x01\x12\x03\n\x00+\n\x0b\n\x02\x04\x00\x12\x05\x0c\x00\xc4\x01\x01\n\n\n\x03\x04\x00\x01\x12\x03\x0c\x08\x1c\n\x0c\n\x04\x04\x00\x08\x00\x12\x04\r\x02>\x03\n\x0c\n\x05\x04\x00\x08\x00\x01\x12\x03\r\x08\x0c\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x0e\x04\x1a\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\x0e\x04\x10\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x0e\x11\x15\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x0e\x18\x19\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\x0f\x04\x13\n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x03\x0f\x04\x0b\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x0f\x0c\x0e\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x0f\x11\x12\n\x0b\n\x04\x04\x00\x02\x02\x12\x03\x10\x04\x15\n\x0c\n\x05\x04\x00\x02\x02\x06\x12\x03\x10\x04\x0c\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\x10\r\x10\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\x10\x13\x14\n\x0b\n\x04\x04\x00\x02\x03\x12\x03\x11\x04\x15\n\x0c\n\x05\x04\x00\x02\x03\x06\x12\x03\x11\x04\x0c\n\x0c\n\x05\x04\x00\x02\x03\x01\x12\x03\x11\r\x10\n\x0c\n\x05\x04\x00\x02\x03\x03\x12\x03\x11\x13\x14\n\x0b\n\x04\x04\x00\x02\x04\x12\x03\x12\x04\x15\n\x0c\n\x05\x04\x00\x02\x04\x06\x12\x03\x12\x04\x0c\n\x0c\n\x05\x04\x00\x02\x04\x01\x12\x03\x12\r\x10\n\x0c\n\x05\x04\x00\x02\x04\x03\x12\x03\x12\x13\x14\n\x0b\n\x04\x04\x00\x02\x05\x12\x03\x13\x04\x18\n\x0c\n\x05\x04\x00\x02\x05\x06\x12\x03\x13\x04\r\n\x0c\n\x05\x04\x00\x02\x05\x01\x12\x03\x13\x0e\x12\n\x0c\n\x05\x04\x00\x02\x05\x03\x12\x03\x13\x15\x17\n\x0b\n\x04\x04\x00\x02\x06\x12\x03\x14\x04\x18\n\x0c\n\x05\x04\x00\x02\x06\x06\x12\x03\x14\x04\r\n\x0c\n\x05\x04\x00\x02\x06\x01\x12\x03\x14\x0e\x12\n\x0c\n\x05\x04\x00\x02\x06\x03\x12\x03\x14\x15\x17\n\x0b\n\x04\x04\x00\x02\x07\x12\x03\x15\x04\x1c\n\x0c\n\x05\x04\x00\x02\x07\x06\x12\x03\x15\x04\x0f\n\x0c\n\x05\x04\x00\x02\x07\x01\x12\x03\x15\x10\x16\n\x0c\n\x05\x04\x00\x02\x07\x03\x12\x03\x15\x19\x1b\n\x0b\n\x04\x04\x00\x02\x08\x12\x03\x16\x04\x1c\n\x0c\n\x05\x04\x00\x02\x08\x06\x12\x03\x16\x04\x0f\n\x0c\n\x05\x04\x00\x02\x08\x01\x12\x03\x16\x10\x16\n\x0c\n\x05\x04\x00\x02\x08\x03\x12\x03\x16\x19\x1b\nX\n\x04\x04\x00\x02\t\x12\x03\x18\x046\x1aK Deprecated in favor of `ExpressionPrecisionTimestamp precision_timestamp`\n\n\x0c\n\x05\x04\x00\x02\t\x06\x12\x03\x18\x04\x12\n\x0c\n\x05\x04\x00\x02\t\x01\x12\x03\x18\x13\x1c\n\x0c\n\x05\x04\x00\x02\t\x03\x12\x03\x18\x1f!\n\x0c\n\x05\x04\x00\x02\t\x08\x12\x03\x18\"5\n\r\n\x06\x04\x00\x02\t\x08\x03\x12\x03\x18#4\n\x0b\n\x04\x04\x00\x02\n\x12\x03\x19\x04\x18\n\x0c\n\x05\x04\x00\x02\n\x06\x12\x03\x19\x04\r\n\x0c\n\x05\x04\x00\x02\n\x01\x12\x03\x19\x0e\x12\n\x0c\n\x05\x04\x00\x02\n\x03\x12\x03\x19\x15\x17\nN\n\x04\x04\x00\x02\x0b\x12\x03\x1b\x04,\x1aA Deprecated in favor of `ExpressionPrecisionTime precision_time`\n\n\x0c\n\x05\x04\x00\x02\x0b\x06\x12\x03\x1b\x04\r\n\x0c\n\x05\x04\x00\x02\x0b\x01\x12\x03\x1b\x0e\x12\n\x0c\n\x05\x04\x00\x02\x0b\x03\x12\x03\x1b\x15\x17\n\x0c\n\x05\x04\x00\x02\x0b\x08\x12\x03\x1b\x18+\n\r\n\x06\x04\x00\x02\x0b\x08\x03\x12\x03\x1b\x19*\n\x0b\n\x04\x04\x00\x02\x0c\x12\x03\x1c\x04)\n\x0c\n\x05\x04\x00\x02\x0c\x06\x12\x03\x1c\x04\x15\n\x0c\n\x05\x04\x00\x02\x0c\x01\x12\x03\x1c\x16#\n\x0c\n\x05\x04\x00\x02\x0c\x03\x12\x03\x1c&(\n]\n\x04\x04\x00\x02\r\x12\x03\x1e\x04;\x1aP Deprecated in favor of `ExpressionPrecisionTimestampTZ precision_timestamp_tz`\n\n\x0c\n\x05\x04\x00\x02\r\x06\x12\x03\x1e\x04\x14\n\x0c\n\x05\x04\x00\x02\r\x01\x12\x03\x1e\x15!\n\x0c\n\x05\x04\x00\x02\r\x03\x12\x03\x1e$&\n\x0c\n\x05\x04\x00\x02\r\x08\x12\x03\x1e\':\n\r\n\x06\x04\x00\x02\r\x08\x03\x12\x03\x1e(9\n\x0b\n\x04\x04\x00\x02\x0e\x12\x03\x1f\x04\x18\n\x0c\n\x05\x04\x00\x02\x0e\x06\x12\x03\x1f\x04\r\n\x0c\n\x05\x04\x00\x02\x0e\x01\x12\x03\x1f\x0e\x12\n\x0c\n\x05\x04\x00\x02\x0e\x03\x12\x03\x1f\x15\x17\n\x0b\n\x04\x04\x00\x02\x0f\x12\x03!\x04,\n\x0c\n\x05\x04\x00\x02\x0f\x06\x12\x03!\x04\x19\n\x0c\n\x05\x04\x00\x02\x0f\x01\x12\x03!\x1a&\n\x0c\n\x05\x04\x00\x02\x0f\x03\x12\x03!)+\n\x0b\n\x04\x04\x00\x02\x10\x12\x03\"\x046\n\x0c\n\x05\x04\x00\x02\x10\x06\x12\x03\"\x04\x1e\n\x0c\n\x05\x04\x00\x02\x10\x01\x12\x03\"\x1f0\n\x0c\n\x05\x04\x00\x02\x10\x03\x12\x03\"35\n\x0b\n\x04\x04\x00\x02\x11\x12\x03#\x04(\n\x0c\n\x05\x04\x00\x02\x11\x06\x12\x03#\x04\x17\n\x0c\n\x05\x04\x00\x02\x11\x01\x12\x03#\x18\"\n\x0c\n\x05\x04\x00\x02\x11\x03\x12\x03#%\'\n\x0b\n\x04\x04\x00\x02\x12\x12\x03$\x04#\n\x0c\n\x05\x04\x00\x02\x12\x06\x12\x03$\x04\x15\n\x0c\n\x05\x04\x00\x02\x12\x01\x12\x03$\x16\x1d\n\x0c\n\x05\x04\x00\x02\x12\x03\x12\x03$ \"\n\x0b\n\x04\x04\x00\x02\x13\x12\x03%\x04,\n\x0c\n\x05\x04\x00\x02\x13\x06\x12\x03%\x04\x19\n\x0c\n\x05\x04\x00\x02\x13\x01\x12\x03%\x1a&\n\x0c\n\x05\x04\x00\x02\x13\x03\x12\x03%)+\n\x0b\n\x04\x04\x00\x02\x14\x12\x03&\x04#\n\x0c\n\x05\x04\x00\x02\x14\x06\x12\x03&\x04\x15\n\x0c\n\x05\x04\x00\x02\x14\x01\x12\x03&\x16\x1d\n\x0c\n\x05\x04\x00\x02\x14\x03\x12\x03& \"\n\x0b\n\x04\x04\x00\x02\x15\x12\x03\'\x040\n\x0c\n\x05\x04\x00\x02\x15\x06\x12\x03\'\x04\x1b\n\x0c\n\x05\x04\x00\x02\x15\x01\x12\x03\'\x1c*\n\x0c\n\x05\x04\x00\x02\x15\x03\x12\x03\'-/\n\x0b\n\x04\x04\x00\x02\x16\x12\x03(\x04:\n\x0c\n\x05\x04\x00\x02\x16\x06\x12\x03(\x04 \n\x0c\n\x05\x04\x00\x02\x16\x01\x12\x03(!4\n\x0c\n\x05\x04\x00\x02\x16\x03\x12\x03(79\n\x0b\n\x04\x04\x00\x02\x17\x12\x03)\x04?\n\x0c\n\x05\x04\x00\x02\x17\x06\x12\x03)\x04\"\n\x0c\n\x05\x04\x00\x02\x17\x01\x12\x03)#9\n\x0c\n\x05\x04\x00\x02\x17\x03\x12\x03)<>\n\x0b\n\x04\x04\x00\x02\x18\x12\x03+\x04!\n\x0c\n\x05\x04\x00\x02\x18\x06\x12\x03+\x04\x14\n\x0c\n\x05\x04\x00\x02\x18\x01\x12\x03+\x15\x1b\n\x0c\n\x05\x04\x00\x02\x18\x03\x12\x03+\x1e \n\x0b\n\x04\x04\x00\x02\x19\x12\x03,\x04\x1d\n\x0c\n\x05\x04\x00\x02\x19\x06\x12\x03,\x04\x12\n\x0c\n\x05\x04\x00\x02\x19\x01\x12\x03,\x13\x17\n\x0c\n\x05\x04\x00\x02\x19\x03\x12\x03,\x1a\x1c\n\x0b\n\x04\x04\x00\x02\x1a\x12\x03-\x04\x1b\n\x0c\n\x05\x04\x00\x02\x1a\x06\x12\x03-\x04\x11\n\x0c\n\x05\x04\x00\x02\x1a\x01\x12\x03-\x12\x15\n\x0c\n\x05\x04\x00\x02\x1a\x03\x12\x03-\x18\x1a\n\x0b\n\x04\x04\x00\x02\x1b\x12\x03/\x04,\n\x0c\n\x05\x04\x00\x02\x1b\x06\x12\x03/\x04\x19\n\x0c\n\x05\x04\x00\x02\x1b\x01\x12\x03/\x1a&\n\x0c\n\x05\x04\x00\x02\x1b\x03\x12\x03/)+\n\xd8\x01\n\x04\x04\x00\x02\x1c\x12\x034\x049\x1a\xca\x01 Deprecated in favor of user_defined, which allows nullability and\n variations to be specified. If user_defined_pointer is encountered,\n treat it as being non-nullable and having the default variation.\n\n\x0c\n\x05\x04\x00\x02\x1c\x05\x12\x034\x04\n\n\x0c\n\x05\x04\x00\x02\x1c\x01\x12\x034\x0b\x1f\n\x0c\n\x05\x04\x00\x02\x1c\x03\x12\x034\"$\n\x0c\n\x05\x04\x00\x02\x1c\x08\x12\x034%8\n\r\n\x06\x04\x00\x02\x1c\x08\x03\x12\x034&7\n\x0b\n\x04\x04\x00\x02\x1d\x12\x036\x04$\n\x0c\n\x05\x04\x00\x02\x1d\x05\x12\x036\x04\n\n\x0c\n\x05\x04\x00\x02\x1d\x01\x12\x036\x0b\x1e\n\x0c\n\x05\x04\x00\x02\x1d\x03\x12\x036!#\n\x0b\n\x04\x04\x00\x02\x1e\x12\x037\x04\'\n\x0c\n\x05\x04\x00\x02\x1e\x05\x12\x037\x04\n\n\x0c\n\x05\x04\x00\x02\x1e\x01\x12\x037\x0b!\n\x0c\n\x05\x04\x00\x02\x1e\x03\x12\x037$&\n\x0b\n\x04\x04\x00\x02\x1f\x12\x039\x04\x1f\n\x0c\n\x05\x04\x00\x02\x1f\x05\x12\x039\x04\t\n\x0c\n\x05\x04\x00\x02\x1f\x01\x12\x039\n\x19\n\x0c\n\x05\x04\x00\x02\x1f\x03\x12\x039\x1c\x1e\n\x0b\n\x04\x04\x00\x02 \x12\x03:\x04\x1a\n\x0c\n\x05\x04\x00\x02 \x06\x12\x03:\x04\x0b\n\x0c\n\x05\x04\x00\x02 \x01\x12\x03:\x0c\x14\n\x0c\n\x05\x04\x00\x02 \x03\x12\x03:\x17\x19\n\x0b\n\x04\x04\x00\x02!\x12\x03;\x04\x1c\n\x0c\n\x05\x04\x00\x02!\x06\x12\x03;\x04\x0c\n\x0c\n\x05\x04\x00\x02!\x01\x12\x03;\r\x16\n\x0c\n\x05\x04\x00\x02!\x03\x12\x03;\x19\x1b\n\x0b\n\x04\x04\x00\x02\"\x12\x03<\x04\x18\n\x0c\n\x05\x04\x00\x02\"\x06\x12\x03<\x04\n\n\x0c\n\x05\x04\x00\x02\"\x01\x12\x03<\x0b\x12\n\x0c\n\x05\x04\x00\x02\"\x03\x12\x03<\x15\x17\n\x0b\n\x04\x04\x00\x02#\x12\x03=\x04&\n\x0c\n\x05\x04\x00\x02#\x06\x12\x03=\x04\x11\n\x0c\n\x05\x04\x00\x02#\x01\x12\x03=\x12 \n\x0c\n\x05\x04\x00\x02#\x03\x12\x03=#%\n\x0c\n\x04\x04\x00\x03\x00\x12\x04@\x02D\x03\n\x0c\n\x05\x04\x00\x03\x00\x01\x12\x03@\n\x1d\n\r\n\x06\x04\x00\x03\x00\x02\x00\x12\x03A\x04$\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x06\x12\x03A\x04\x18\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x01\x12\x03A\x19\x1f\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x03\x12\x03A\"#\n\r\n\x06\x04\x00\x03\x00\x02\x01\x12\x03B\x04!\n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x05\x12\x03B\x04\n\n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x01\x12\x03B\x0b\x1c\n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x03\x12\x03B\x1f \n\r\n\x06\x04\x00\x03\x00\x02\x02\x12\x03C\x04%\n\x0e\n\x07\x04\x00\x03\x00\x02\x02\x06\x12\x03C\x04\x14\n\x0e\n\x07\x04\x00\x03\x00\x02\x02\x01\x12\x03C\x15 \n\x0e\n\x07\x04\x00\x03\x00\x02\x02\x03\x12\x03C#$\n\x0c\n\x04\x04\x00\x03\x01\x12\x04F\x02J\x03\n\x0c\n\x05\x04\x00\x03\x01\x01\x12\x03F\n\x1b\n\r\n\x06\x04\x00\x03\x01\x02\x00\x12\x03G\x04$\n\x0e\n\x07\x04\x00\x03\x01\x02\x00\x06\x12\x03G\x04\x18\n\x0e\n\x07\x04\x00\x03\x01\x02\x00\x01\x12\x03G\x19\x1f\n\x0e\n\x07\x04\x00\x03\x01\x02\x00\x03\x12\x03G\"#\n\r\n\x06\x04\x00\x03\x01\x02\x01\x12\x03H\x04!\n\x0e\n\x07\x04\x00\x03\x01\x02\x01\x05\x12\x03H\x04\n\n\x0e\n\x07\x04\x00\x03\x01\x02\x01\x01\x12\x03H\x0b\x1c\n\x0e\n\x07\x04\x00\x03\x01\x02\x01\x03\x12\x03H\x1f \n\r\n\x06\x04\x00\x03\x01\x02\x02\x12\x03I\x04%\n\x0e\n\x07\x04\x00\x03\x01\x02\x02\x06\x12\x03I\x04\x14\n\x0e\n\x07\x04\x00\x03\x01\x02\x02\x01\x12\x03I\x15 \n\x0e\n\x07\x04\x00\x03\x01\x02\x02\x03\x12\x03I#$\n\x0c\n\x04\x04\x00\x03\x02\x12\x04L\x02P\x03\n\x0c\n\x05\x04\x00\x03\x02\x01\x12\x03L\n\x1f\n\r\n\x06\x04\x00\x03\x02\x02\x00\x12\x03M\x04$\n\x0e\n\x07\x04\x00\x03\x02\x02\x00\x06\x12\x03M\x04\x18\n\x0e\n\x07\x04\x00\x03\x02\x02\x00\x01\x12\x03M\x19\x1f\n\x0e\n\x07\x04\x00\x03\x02\x02\x00\x03\x12\x03M\"#\n\r\n\x06\x04\x00\x03\x02\x02\x01\x12\x03N\x04!\n\x0e\n\x07\x04\x00\x03\x02\x02\x01\x05\x12\x03N\x04\n\n\x0e\n\x07\x04\x00\x03\x02\x02\x01\x01\x12\x03N\x0b\x1c\n\x0e\n\x07\x04\x00\x03\x02\x02\x01\x03\x12\x03N\x1f \n\r\n\x06\x04\x00\x03\x02\x02\x02\x12\x03O\x04%\n\x0e\n\x07\x04\x00\x03\x02\x02\x02\x06\x12\x03O\x04\x14\n\x0e\n\x07\x04\x00\x03\x02\x02\x02\x01\x12\x03O\x15 \n\x0e\n\x07\x04\x00\x03\x02\x02\x02\x03\x12\x03O#$\n\x0c\n\x04\x04\x00\x03\x03\x12\x04R\x02W\x03\n\x0c\n\x05\x04\x00\x03\x03\x01\x12\x03R\n\x1b\n\r\n\x06\x04\x00\x03\x03\x02\x00\x12\x03S\x04#\n\x0e\n\x07\x04\x00\x03\x03\x02\x00\x06\x12\x03S\x04\x18\n\x0e\n\x07\x04\x00\x03\x03\x02\x00\x01\x12\x03S\x19\x1e\n\x0e\n\x07\x04\x00\x03\x03\x02\x00\x03\x12\x03S!\"\n\r\n\x06\x04\x00\x03\x03\x02\x01\x12\x03T\x04\'\n\x0e\n\x07\x04\x00\x03\x03\x02\x01\x06\x12\x03T\x04\x18\n\x0e\n\x07\x04\x00\x03\x03\x02\x01\x01\x12\x03T\x19\"\n\x0e\n\x07\x04\x00\x03\x03\x02\x01\x03\x12\x03T%&\n\r\n\x06\x04\x00\x03\x03\x02\x02\x12\x03U\x04!\n\x0e\n\x07\x04\x00\x03\x03\x02\x02\x05\x12\x03U\x04\n\n\x0e\n\x07\x04\x00\x03\x03\x02\x02\x01\x12\x03U\x0b\x1c\n\x0e\n\x07\x04\x00\x03\x03\x02\x02\x03\x12\x03U\x1f \n\r\n\x06\x04\x00\x03\x03\x02\x03\x12\x03V\x04%\n\x0e\n\x07\x04\x00\x03\x03\x02\x03\x06\x12\x03V\x04\x14\n\x0e\n\x07\x04\x00\x03\x03\x02\x03\x01\x12\x03V\x15 \n\x0e\n\x07\x04\x00\x03\x03\x02\x03\x03\x12\x03V#$\n\x0c\n\x04\x04\x00\x03\x04\x12\x04Y\x02]\x03\n\x0c\n\x05\x04\x00\x03\x04\x01\x12\x03Y\n!\n\r\n\x06\x04\x00\x03\x04\x02\x00\x12\x03Z\x04\'\n\x0e\n\x07\x04\x00\x03\x04\x02\x00\x06\x12\x03Z\x04\x18\n\x0e\n\x07\x04\x00\x03\x04\x02\x00\x01\x12\x03Z\x19\"\n\x0e\n\x07\x04\x00\x03\x04\x02\x00\x03\x12\x03Z%&\n\r\n\x06\x04\x00\x03\x04\x02\x01\x12\x03[\x04!\n\x0e\n\x07\x04\x00\x03\x04\x02\x01\x05\x12\x03[\x04\n\n\x0e\n\x07\x04\x00\x03\x04\x02\x01\x01\x12\x03[\x0b\x1c\n\x0e\n\x07\x04\x00\x03\x04\x02\x01\x03\x12\x03[\x1f \n\r\n\x06\x04\x00\x03\x04\x02\x02\x12\x03\\\x04%\n\x0e\n\x07\x04\x00\x03\x04\x02\x02\x06\x12\x03\\\x04\x14\n\x0e\n\x07\x04\x00\x03\x04\x02\x02\x01\x12\x03\\\x15 \n\x0e\n\x07\x04\x00\x03\x04\x02\x02\x03\x12\x03\\#$\n\x0c\n\x04\x04\x00\x03\x05\x12\x04_\x02c\x03\n\x0c\n\x05\x04\x00\x03\x05\x01\x12\x03_\n&\n\r\n\x06\x04\x00\x03\x05\x02\x00\x12\x03`\x04\'\n\x0e\n\x07\x04\x00\x03\x05\x02\x00\x06\x12\x03`\x04\x18\n\x0e\n\x07\x04\x00\x03\x05\x02\x00\x01\x12\x03`\x19\"\n\x0e\n\x07\x04\x00\x03\x05\x02\x00\x03\x12\x03`%&\n\r\n\x06\x04\x00\x03\x05\x02\x01\x12\x03a\x04!\n\x0e\n\x07\x04\x00\x03\x05\x02\x01\x05\x12\x03a\x04\n\n\x0e\n\x07\x04\x00\x03\x05\x02\x01\x01\x12\x03a\x0b\x1c\n\x0e\n\x07\x04\x00\x03\x05\x02\x01\x03\x12\x03a\x1f \n\r\n\x06\x04\x00\x03\x05\x02\x02\x12\x03b\x04%\n\x0e\n\x07\x04\x00\x03\x05\x02\x02\x06\x12\x03b\x04\x14\n\x0e\n\x07\x04\x00\x03\x05\x02\x02\x01\x12\x03b\x15 \n\x0e\n\x07\x04\x00\x03\x05\x02\x02\x03\x12\x03b#$\n\x0c\n\x04\x04\x00\x03\x06\x12\x04e\x02i\x03\n\x0c\n\x05\x04\x00\x03\x06\x01\x12\x03e\n\x1f\n\r\n\x06\x04\x00\x03\x06\x02\x00\x12\x03f\x04\'\n\x0e\n\x07\x04\x00\x03\x06\x02\x00\x06\x12\x03f\x04\x18\n\x0e\n\x07\x04\x00\x03\x06\x02\x00\x01\x12\x03f\x19\"\n\x0e\n\x07\x04\x00\x03\x06\x02\x00\x03\x12\x03f%&\n\r\n\x06\x04\x00\x03\x06\x02\x01\x12\x03g\x04!\n\x0e\n\x07\x04\x00\x03\x06\x02\x01\x05\x12\x03g\x04\n\n\x0e\n\x07\x04\x00\x03\x06\x02\x01\x01\x12\x03g\x0b\x1c\n\x0e\n\x07\x04\x00\x03\x06\x02\x01\x03\x12\x03g\x1f \n\r\n\x06\x04\x00\x03\x06\x02\x02\x12\x03h\x04%\n\x0e\n\x07\x04\x00\x03\x06\x02\x02\x06\x12\x03h\x04\x14\n\x0e\n\x07\x04\x00\x03\x06\x02\x02\x01\x12\x03h\x15 \n\x0e\n\x07\x04\x00\x03\x06\x02\x02\x03\x12\x03h#$\n\x0c\n\x04\x04\x00\x03\x07\x12\x04k\x02o\x03\n\x0c\n\x05\x04\x00\x03\x07\x01\x12\x03k\n$\n\r\n\x06\x04\x00\x03\x07\x02\x00\x12\x03l\x04\'\n\x0e\n\x07\x04\x00\x03\x07\x02\x00\x06\x12\x03l\x04\x18\n\x0e\n\x07\x04\x00\x03\x07\x02\x00\x01\x12\x03l\x19\"\n\x0e\n\x07\x04\x00\x03\x07\x02\x00\x03\x12\x03l%&\n\r\n\x06\x04\x00\x03\x07\x02\x01\x12\x03m\x04!\n\x0e\n\x07\x04\x00\x03\x07\x02\x01\x05\x12\x03m\x04\n\n\x0e\n\x07\x04\x00\x03\x07\x02\x01\x01\x12\x03m\x0b\x1c\n\x0e\n\x07\x04\x00\x03\x07\x02\x01\x03\x12\x03m\x1f \n\r\n\x06\x04\x00\x03\x07\x02\x02\x12\x03n\x04%\n\x0e\n\x07\x04\x00\x03\x07\x02\x02\x06\x12\x03n\x04\x14\n\x0e\n\x07\x04\x00\x03\x07\x02\x02\x01\x12\x03n\x15 \n\x0e\n\x07\x04\x00\x03\x07\x02\x02\x03\x12\x03n#$\n\x0c\n\x04\x04\x00\x03\x08\x12\x04q\x02u\x03\n\x0c\n\x05\x04\x00\x03\x08\x01\x12\x03q\n(\n\r\n\x06\x04\x00\x03\x08\x02\x00\x12\x03r\x04\'\n\x0e\n\x07\x04\x00\x03\x08\x02\x00\x06\x12\x03r\x04\x18\n\x0e\n\x07\x04\x00\x03\x08\x02\x00\x01\x12\x03r\x19\"\n\x0e\n\x07\x04\x00\x03\x08\x02\x00\x03\x12\x03r%&\n\r\n\x06\x04\x00\x03\x08\x02\x01\x12\x03s\x04!\n\x0e\n\x07\x04\x00\x03\x08\x02\x01\x05\x12\x03s\x04\n\n\x0e\n\x07\x04\x00\x03\x08\x02\x01\x01\x12\x03s\x0b\x1c\n\x0e\n\x07\x04\x00\x03\x08\x02\x01\x03\x12\x03s\x1f \n\r\n\x06\x04\x00\x03\x08\x02\x02\x12\x03t\x04%\n\x0e\n\x07\x04\x00\x03\x08\x02\x02\x06\x12\x03t\x04\x14\n\x0e\n\x07\x04\x00\x03\x08\x02\x02\x01\x12\x03t\x15 \n\x0e\n\x07\x04\x00\x03\x08\x02\x02\x03\x12\x03t#$\n\x0c\n\x04\x04\x00\x03\t\x12\x04w\x02{\x03\n\x0c\n\x05\x04\x00\x03\t\x01\x12\x03w\n\x1a\n\r\n\x06\x04\x00\x03\t\x02\x00\x12\x03x\x04,\n\x0e\n\x07\x04\x00\x03\t\x02\x00\x04\x12\x03x\x04\x0c\n\x0e\n\x07\x04\x00\x03\t\x02\x00\x06\x12\x03x\r!\n\x0e\n\x07\x04\x00\x03\t\x02\x00\x01\x12\x03x\"\'\n\x0e\n\x07\x04\x00\x03\t\x02\x00\x03\x12\x03x*+\n\r\n\x06\x04\x00\x03\t\x02\x01\x12\x03y\x04!\n\x0e\n\x07\x04\x00\x03\t\x02\x01\x05\x12\x03y\x04\n\n\x0e\n\x07\x04\x00\x03\t\x02\x01\x01\x12\x03y\x0b\x1c\n\x0e\n\x07\x04\x00\x03\t\x02\x01\x03\x12\x03y\x1f \n\r\n\x06\x04\x00\x03\t\x02\x02\x12\x03z\x04%\n\x0e\n\x07\x04\x00\x03\t\x02\x02\x06\x12\x03z\x04\x14\n\x0e\n\x07\x04\x00\x03\t\x02\x02\x01\x12\x03z\x15 \n\x0e\n\x07\x04\x00\x03\t\x02\x02\x03\x12\x03z#$\n\r\n\x04\x04\x00\x03\n\x12\x05}\x02\x80\x01\x03\n\x0c\n\x05\x04\x00\x03\n\x01\x12\x03}\n\x1f\n\r\n\x06\x04\x00\x03\n\x02\x00\x12\x03~\x04\x1e\n\x0e\n\x07\x04\x00\x03\n\x02\x00\x04\x12\x03~\x04\x0c\n\x0e\n\x07\x04\x00\x03\n\x02\x00\x05\x12\x03~\r\x13\n\x0e\n\x07\x04\x00\x03\n\x02\x00\x01\x12\x03~\x14\x19\n\x0e\n\x07\x04\x00\x03\n\x02\x00\x03\x12\x03~\x1c\x1d\n\r\n\x06\x04\x00\x03\n\x02\x01\x12\x03\x7f\x04 \n\x0e\n\x07\x04\x00\x03\n\x02\x01\x06\x12\x03\x7f\x04\x14\n\x0e\n\x07\x04\x00\x03\n\x02\x01\x01\x12\x03\x7f\x15\x1b\n\x0e\n\x07\x04\x00\x03\n\x02\x01\x03\x12\x03\x7f\x1e\x1f\n\x0e\n\x04\x04\x00\x03\x0b\x12\x06\x82\x01\x02\x86\x01\x03\n\r\n\x05\x04\x00\x03\x0b\x01\x12\x04\x82\x01\n\x18\n\x0e\n\x06\x04\x00\x03\x0b\x02\x00\x12\x04\x83\x01\x04\"\n\x0f\n\x07\x04\x00\x03\x0b\x02\x00\x06\x12\x04\x83\x01\x04\x18\n\x0f\n\x07\x04\x00\x03\x0b\x02\x00\x01\x12\x04\x83\x01\x19\x1d\n\x0f\n\x07\x04\x00\x03\x0b\x02\x00\x03\x12\x04\x83\x01 !\n\x0e\n\x06\x04\x00\x03\x0b\x02\x01\x12\x04\x84\x01\x04!\n\x0f\n\x07\x04\x00\x03\x0b\x02\x01\x05\x12\x04\x84\x01\x04\n\n\x0f\n\x07\x04\x00\x03\x0b\x02\x01\x01\x12\x04\x84\x01\x0b\x1c\n\x0f\n\x07\x04\x00\x03\x0b\x02\x01\x03\x12\x04\x84\x01\x1f \n\x0e\n\x06\x04\x00\x03\x0b\x02\x02\x12\x04\x85\x01\x04%\n\x0f\n\x07\x04\x00\x03\x0b\x02\x02\x06\x12\x04\x85\x01\x04\x14\n\x0f\n\x07\x04\x00\x03\x0b\x02\x02\x01\x12\x04\x85\x01\x15 \n\x0f\n\x07\x04\x00\x03\x0b\x02\x02\x03\x12\x04\x85\x01#$\n\x0e\n\x04\x04\x00\x03\x0c\x12\x06\x88\x01\x02\x8d\x01\x03\n\r\n\x05\x04\x00\x03\x0c\x01\x12\x04\x88\x01\n\x17\n\x0e\n\x06\x04\x00\x03\x0c\x02\x00\x12\x04\x89\x01\x04!\n\x0f\n\x07\x04\x00\x03\x0c\x02\x00\x06\x12\x04\x89\x01\x04\x18\n\x0f\n\x07\x04\x00\x03\x0c\x02\x00\x01\x12\x04\x89\x01\x19\x1c\n\x0f\n\x07\x04\x00\x03\x0c\x02\x00\x03\x12\x04\x89\x01\x1f \n\x0e\n\x06\x04\x00\x03\x0c\x02\x01\x12\x04\x8a\x01\x04#\n\x0f\n\x07\x04\x00\x03\x0c\x02\x01\x06\x12\x04\x8a\x01\x04\x18\n\x0f\n\x07\x04\x00\x03\x0c\x02\x01\x01\x12\x04\x8a\x01\x19\x1e\n\x0f\n\x07\x04\x00\x03\x0c\x02\x01\x03\x12\x04\x8a\x01!\"\n\x0e\n\x06\x04\x00\x03\x0c\x02\x02\x12\x04\x8b\x01\x04!\n\x0f\n\x07\x04\x00\x03\x0c\x02\x02\x05\x12\x04\x8b\x01\x04\n\n\x0f\n\x07\x04\x00\x03\x0c\x02\x02\x01\x12\x04\x8b\x01\x0b\x1c\n\x0f\n\x07\x04\x00\x03\x0c\x02\x02\x03\x12\x04\x8b\x01\x1f \n\x0e\n\x06\x04\x00\x03\x0c\x02\x03\x12\x04\x8c\x01\x04%\n\x0f\n\x07\x04\x00\x03\x0c\x02\x03\x06\x12\x04\x8c\x01\x04\x14\n\x0f\n\x07\x04\x00\x03\x0c\x02\x03\x01\x12\x04\x8c\x01\x15 \n\x0f\n\x07\x04\x00\x03\x0c\x02\x03\x03\x12\x04\x8c\x01#$\n\x0e\n\x04\x04\x00\x03\r\x12\x06\x8f\x01\x02\x93\x01\x03\n\r\n\x05\x04\x00\x03\r\x01\x12\x04\x8f\x01\n\x1f\n\x0e\n\x06\x04\x00\x03\r\x02\x00\x12\x04\x90\x01\x04\x1c\n\x0f\n\x07\x04\x00\x03\r\x02\x00\x05\x12\x04\x90\x01\x04\n\n\x0f\n\x07\x04\x00\x03\r\x02\x00\x01\x12\x04\x90\x01\x0b\x17\n\x0f\n\x07\x04\x00\x03\r\x02\x00\x03\x12\x04\x90\x01\x1a\x1b\n\x0e\n\x06\x04\x00\x03\r\x02\x01\x12\x04\x91\x01\x04!\n\x0f\n\x07\x04\x00\x03\r\x02\x01\x05\x12\x04\x91\x01\x04\n\n\x0f\n\x07\x04\x00\x03\r\x02\x01\x01\x12\x04\x91\x01\x0b\x1c\n\x0f\n\x07\x04\x00\x03\r\x02\x01\x03\x12\x04\x91\x01\x1f \n\x0e\n\x06\x04\x00\x03\r\x02\x02\x12\x04\x92\x01\x04%\n\x0f\n\x07\x04\x00\x03\r\x02\x02\x06\x12\x04\x92\x01\x04\x14\n\x0f\n\x07\x04\x00\x03\r\x02\x02\x01\x12\x04\x92\x01\x15 \n\x0f\n\x07\x04\x00\x03\r\x02\x02\x03\x12\x04\x92\x01#$\n\x0e\n\x04\x04\x00\x03\x0e\x12\x06\x95\x01\x02\x99\x01\x03\n\r\n\x05\x04\x00\x03\x0e\x01\x12\x04\x95\x01\n\x10\n\x0e\n\x06\x04\x00\x03\x0e\x02\x00\x12\x04\x96\x01\x04*\n\x0f\n\x07\x04\x00\x03\x0e\x02\x00\x06\x12\x04\x96\x01\x04\x18\n\x0f\n\x07\x04\x00\x03\x0e\x02\x00\x01\x12\x04\x96\x01\x19%\n\x0f\n\x07\x04\x00\x03\x0e\x02\x00\x03\x12\x04\x96\x01()\n\x0e\n\x06\x04\x00\x03\x0e\x02\x01\x12\x04\x97\x01\x04\'\n\x0f\n\x07\x04\x00\x03\x0e\x02\x01\x06\x12\x04\x97\x01\x04\x18\n\x0f\n\x07\x04\x00\x03\x0e\x02\x01\x01\x12\x04\x97\x01\x19\"\n\x0f\n\x07\x04\x00\x03\x0e\x02\x01\x03\x12\x04\x97\x01%&\n\x0e\n\x06\x04\x00\x03\x0e\x02\x02\x12\x04\x98\x01\x04)\n\x0f\n\x07\x04\x00\x03\x0e\x02\x02\x06\x12\x04\x98\x01\x04\x18\n\x0f\n\x07\x04\x00\x03\x0e\x02\x02\x01\x12\x04\x98\x01\x19$\n\x0f\n\x07\x04\x00\x03\x0e\x02\x02\x03\x12\x04\x98\x01\'(\n\x0e\n\x04\x04\x00\x03\x0f\x12\x06\x9b\x01\x02\xa3\x01\x03\n\r\n\x05\x04\x00\x03\x0f\x01\x12\x04\x9b\x01\n\x11\n\x0e\n\x06\x04\x00\x03\x0f\x02\x00\x12\x04\x9c\x01\x04\x1c\n\x0f\n\x07\x04\x00\x03\x0f\x02\x00\x06\x12\x04\x9c\x01\x04\x0f\n\x0f\n\x07\x04\x00\x03\x0f\x02\x00\x01\x12\x04\x9c\x01\x10\x17\n\x0f\n\x07\x04\x00\x03\x0f\x02\x00\x03\x12\x04\x9c\x01\x1a\x1b\n\x0e\n\x06\x04\x00\x03\x0f\x02\x01\x12\x04\x9d\x01\x04!\n\x0f\n\x07\x04\x00\x03\x0f\x02\x01\x06\x12\x04\x9d\x01\x04\x18\n\x0f\n\x07\x04\x00\x03\x0f\x02\x01\x01\x12\x04\x9d\x01\x19\x1c\n\x0f\n\x07\x04\x00\x03\x0f\x02\x01\x03\x12\x04\x9d\x01\x1f \n\x10\n\x06\x04\x00\x03\x0f\x04\x00\x12\x06\x9f\x01\x04\xa2\x01\x05\n\x0f\n\x07\x04\x00\x03\x0f\x04\x00\x01\x12\x04\x9f\x01\t\x14\n\x10\n\x08\x04\x00\x03\x0f\x04\x00\x02\x00\x12\x04\xa0\x01\x06$\n\x11\n\t\x04\x00\x03\x0f\x04\x00\x02\x00\x01\x12\x04\xa0\x01\x06\x1f\n\x11\n\t\x04\x00\x03\x0f\x04\x00\x02\x00\x02\x12\x04\xa0\x01\"#\n\x10\n\x08\x04\x00\x03\x0f\x04\x00\x02\x01\x12\x04\xa1\x01\x06$\n\x11\n\t\x04\x00\x03\x0f\x04\x00\x02\x01\x01\x12\x04\xa1\x01\x06\x1f\n\x11\n\t\x04\x00\x03\x0f\x04\x00\x02\x01\x02\x12\x04\xa1\x01\"#\n\x0e\n\x04\x04\x00\x03\x10\x12\x06\xa5\x01\x02\xb9\x01\x03\n\r\n\x05\x04\x00\x03\x10\x01\x12\x04\xa5\x01\n\x12\n\x0e\n\x06\x04\x00\x03\x10\x02\x00\x12\x04\xa6\x01\x04\x1d\n\x0f\n\x07\x04\x00\x03\x10\x02\x00\x06\x12\x04\xa6\x01\x04\x10\n\x0f\n\x07\x04\x00\x03\x10\x02\x00\x01\x12\x04\xa6\x01\x11\x18\n\x0f\n\x07\x04\x00\x03\x10\x02\x00\x03\x12\x04\xa6\x01\x1b\x1c\n\x0e\n\x06\x04\x00\x03\x10\x02\x01\x12\x04\xa7\x01\x04\"\n\x0f\n\x07\x04\x00\x03\x10\x02\x01\x06\x12\x04\xa7\x01\x04\x18\n\x0f\n\x07\x04\x00\x03\x10\x02\x01\x01\x12\x04\xa7\x01\x19\x1d\n\x0f\n\x07\x04\x00\x03\x10\x02\x01\x03\x12\x04\xa7\x01 !\n\x0e\n\x06\x04\x00\x03\x10\x02\x02\x12\x04\xa8\x01\x04\"\n\x0f\n\x07\x04\x00\x03\x10\x02\x02\x06\x12\x04\xa8\x01\x04\x18\n\x0f\n\x07\x04\x00\x03\x10\x02\x02\x01\x12\x04\xa8\x01\x19\x1d\n\x0f\n\x07\x04\x00\x03\x10\x02\x02\x03\x12\x04\xa8\x01 !\n\x10\n\x06\x04\x00\x03\x10\x04\x00\x12\x06\xaa\x01\x04\xb8\x01\x05\n\x0f\n\x07\x04\x00\x03\x10\x04\x00\x01\x12\x04\xaa\x01\t\x15\n\x10\n\x08\x04\x00\x03\x10\x04\x00\x02\x00\x12\x04\xab\x01\x06%\n\x11\n\t\x04\x00\x03\x10\x04\x00\x02\x00\x01\x12\x04\xab\x01\x06 \n\x11\n\t\x04\x00\x03\x10\x04\x00\x02\x00\x02\x12\x04\xab\x01#$\n\x10\n\x08\x04\x00\x03\x10\x04\x00\x02\x01\x12\x04\xac\x01\x06\x1e\n\x11\n\t\x04\x00\x03\x10\x04\x00\x02\x01\x01\x12\x04\xac\x01\x06\x19\n\x11\n\t\x04\x00\x03\x10\x04\x00\x02\x01\x02\x12\x04\xac\x01\x1c\x1d\n\x10\n\x08\x04\x00\x03\x10\x04\x00\x02\x02\x12\x04\xad\x01\x06\x1f\n\x11\n\t\x04\x00\x03\x10\x04\x00\x02\x02\x01\x12\x04\xad\x01\x06\x1a\n\x11\n\t\x04\x00\x03\x10\x04\x00\x02\x02\x02\x12\x04\xad\x01\x1d\x1e\n\x10\n\x08\x04\x00\x03\x10\x04\x00\x02\x03\x12\x04\xae\x01\x06\"\n\x11\n\t\x04\x00\x03\x10\x04\x00\x02\x03\x01\x12\x04\xae\x01\x06\x1d\n\x11\n\t\x04\x00\x03\x10\x04\x00\x02\x03\x02\x12\x04\xae\x01 !\n\x10\n\x08\x04\x00\x03\x10\x04\x00\x02\x04\x12\x04\xaf\x01\x06 \n\x11\n\t\x04\x00\x03\x10\x04\x00\x02\x04\x01\x12\x04\xaf\x01\x06\x1b\n\x11\n\t\x04\x00\x03\x10\x04\x00\x02\x04\x02\x12\x04\xaf\x01\x1e\x1f\n\x10\n\x08\x04\x00\x03\x10\x04\x00\x02\x05\x12\x04\xb0\x01\x06\x1d\n\x11\n\t\x04\x00\x03\x10\x04\x00\x02\x05\x01\x12\x04\xb0\x01\x06\x18\n\x11\n\t\x04\x00\x03\x10\x04\x00\x02\x05\x02\x12\x04\xb0\x01\x1b\x1c\n\x10\n\x08\x04\x00\x03\x10\x04\x00\x02\x06\x12\x04\xb1\x01\x06\x1d\n\x11\n\t\x04\x00\x03\x10\x04\x00\x02\x06\x01\x12\x04\xb1\x01\x06\x18\n\x11\n\t\x04\x00\x03\x10\x04\x00\x02\x06\x02\x12\x04\xb1\x01\x1b\x1c\n\x10\n\x08\x04\x00\x03\x10\x04\x00\x02\x07\x12\x04\xb2\x01\x06&\n\x11\n\t\x04\x00\x03\x10\x04\x00\x02\x07\x01\x12\x04\xb2\x01\x06!\n\x11\n\t\x04\x00\x03\x10\x04\x00\x02\x07\x02\x12\x04\xb2\x01$%\n\x10\n\x08\x04\x00\x03\x10\x04\x00\x02\x08\x12\x04\xb3\x01\x06#\n\x11\n\t\x04\x00\x03\x10\x04\x00\x02\x08\x01\x12\x04\xb3\x01\x06\x1e\n\x11\n\t\x04\x00\x03\x10\x04\x00\x02\x08\x02\x12\x04\xb3\x01!\"\n\x10\n\x08\x04\x00\x03\x10\x04\x00\x02\t\x12\x04\xb4\x01\x06\x1d\n\x11\n\t\x04\x00\x03\x10\x04\x00\x02\t\x01\x12\x04\xb4\x01\x06\x18\n\x11\n\t\x04\x00\x03\x10\x04\x00\x02\t\x02\x12\x04\xb4\x01\x1b\x1c\n\x10\n\x08\x04\x00\x03\x10\x04\x00\x02\n\x12\x04\xb5\x01\x06\x1d\n\x11\n\t\x04\x00\x03\x10\x04\x00\x02\n\x01\x12\x04\xb5\x01\x06\x17\n\x11\n\t\x04\x00\x03\x10\x04\x00\x02\n\x02\x12\x04\xb5\x01\x1a\x1c\n\x10\n\x08\x04\x00\x03\x10\x04\x00\x02\x0b\x12\x04\xb6\x01\x06!\n\x11\n\t\x04\x00\x03\x10\x04\x00\x02\x0b\x01\x12\x04\xb6\x01\x06\x1b\n\x11\n\t\x04\x00\x03\x10\x04\x00\x02\x0b\x02\x12\x04\xb6\x01\x1e \n\x10\n\x08\x04\x00\x03\x10\x04\x00\x02\x0c\x12\x04\xb7\x01\x06!\n\x11\n\t\x04\x00\x03\x10\x04\x00\x02\x0c\x01\x12\x04\xb7\x01\x06\x1b\n\x11\n\t\x04\x00\x03\x10\x04\x00\x02\x0c\x02\x12\x04\xb7\x01\x1e \n\x0e\n\x04\x04\x00\x03\x11\x12\x06\xbb\x01\x02\xc3\x01\x03\n\r\n\x05\x04\x00\x03\x11\x01\x12\x04\xbb\x01\n\x17\n\x10\n\x06\x04\x00\x03\x11\x03\x00\x12\x06\xbc\x01\x04\xbf\x01\x05\n\x0f\n\x07\x04\x00\x03\x11\x03\x00\x01\x12\x04\xbc\x01\x0c\x16\n\x10\n\x08\x04\x00\x03\x11\x03\x00\x02\x00\x12\x04\xbd\x01\x06\x16\n\x11\n\t\x04\x00\x03\x11\x03\x00\x02\x00\x05\x12\x04\xbd\x01\x06\x0c\n\x11\n\t\x04\x00\x03\x11\x03\x00\x02\x00\x01\x12\x04\xbd\x01\r\x11\n\x11\n\t\x04\x00\x03\x11\x03\x00\x02\x00\x03\x12\x04\xbd\x01\x14\x15\n\x10\n\x08\x04\x00\x03\x11\x03\x00\x02\x01\x12\x04\xbe\x01\x06*\n\x11\n\t\x04\x00\x03\x11\x03\x00\x02\x01\x06\x12\x04\xbe\x01\x06\x1a\n\x11\n\t\x04\x00\x03\x11\x03\x00\x02\x01\x01\x12\x04\xbe\x01\x1b%\n\x11\n\t\x04\x00\x03\x11\x03\x00\x02\x01\x03\x12\x04\xbe\x01()\n\x0e\n\x06\x04\x00\x03\x11\x02\x00\x12\x04\xc1\x01\x04(\n\x0f\n\x07\x04\x00\x03\x11\x02\x00\x04\x12\x04\xc1\x01\x04\x0c\n\x0f\n\x07\x04\x00\x03\x11\x02\x00\x06\x12\x04\xc1\x01\r\x17\n\x0f\n\x07\x04\x00\x03\x11\x02\x00\x01\x12\x04\xc1\x01\x18#\n\x0f\n\x07\x04\x00\x03\x11\x02\x00\x03\x12\x04\xc1\x01&\'\n\x0e\n\x06\x04\x00\x03\x11\x02\x01\x12\x04\xc2\x01\x04.\n\x0f\n\x07\x04\x00\x03\x11\x02\x01\x06\x12\x04\xc2\x01\x04\x18\n\x0f\n\x07\x04\x00\x03\x11\x02\x01\x01\x12\x04\xc2\x01\x19)\n\x0f\n\x07\x04\x00\x03\x11\x02\x01\x03\x12\x04\xc2\x01,-b\x06proto3\n\x92C\n\x18substrait/function.proto\x12\tsubstrait\x1a#substrait/parameterized_types.proto\x1a\x14substrait/type.proto\x1a substrait/type_expressions.proto\"\xd9\x19\n\x11FunctionSignature\x1a\xbc\x02\n\x10FinalArgVariadic\x12\x19\n\x08min_args\x18\x01 \x01(\x03R\x07minArgs\x12\x19\n\x08max_args\x18\x02 \x01(\x03R\x07maxArgs\x12d\n\x0bconsistency\x18\x03 \x01(\x0e2B.substrait.FunctionSignature.FinalArgVariadic.ParameterConsistencyR\x0bconsistency\"\x8b\x01\n\x14ParameterConsistency\x12%\n!PARAMETER_CONSISTENCY_UNSPECIFIED\x10\x00\x12$\n PARAMETER_CONSISTENCY_CONSISTENT\x10\x01\x12&\n\"PARAMETER_CONSISTENCY_INCONSISTENT\x10\x02\x1a\x10\n\x0eFinalArgNormal\x1a\xc8\x04\n\x06Scalar\x12C\n\targuments\x18\x02 \x03(\x0b2%.substrait.FunctionSignature.ArgumentR\targuments\x12\x12\n\x04name\x18\x03 \x03(\tR\x04name\x12J\n\x0bdescription\x18\x04 \x01(\x0b2(.substrait.FunctionSignature.DescriptionR\x0bdescription\x12$\n\rdeterministic\x18\x07 \x01(\x08R\rdeterministic\x12+\n\x11session_dependent\x18\x08 \x01(\x08R\x10sessionDependent\x12@\n\x0boutput_type\x18\t \x01(\x0b2\x1f.substrait.DerivationExpressionR\noutputType\x12K\n\x08variadic\x18\n \x01(\x0b2-.substrait.FunctionSignature.FinalArgVariadicH\x00R\x08variadic\x12E\n\x06normal\x18\x0b \x01(\x0b2+.substrait.FunctionSignature.FinalArgNormalH\x00R\x06normal\x12U\n\x0fimplementations\x18\x0c \x03(\x0b2+.substrait.FunctionSignature.ImplementationR\x0fimplementationsB\x19\n\x17final_variable_behavior\x1a\xbc\x05\n\tAggregate\x12C\n\targuments\x18\x02 \x03(\x0b2%.substrait.FunctionSignature.ArgumentR\targuments\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12J\n\x0bdescription\x18\x04 \x01(\x0b2(.substrait.FunctionSignature.DescriptionR\x0bdescription\x12$\n\rdeterministic\x18\x07 \x01(\x08R\rdeterministic\x12+\n\x11session_dependent\x18\x08 \x01(\x08R\x10sessionDependent\x12@\n\x0boutput_type\x18\t \x01(\x0b2\x1f.substrait.DerivationExpressionR\noutputType\x12K\n\x08variadic\x18\n \x01(\x0b2-.substrait.FunctionSignature.FinalArgVariadicH\x00R\x08variadic\x12E\n\x06normal\x18\x0b \x01(\x0b2+.substrait.FunctionSignature.FinalArgNormalH\x00R\x06normal\x12\x18\n\x07ordered\x18\x0e \x01(\x08R\x07ordered\x12\x17\n\x07max_set\x18\x0c \x01(\x04R\x06maxSet\x12<\n\x11intermediate_type\x18\r \x01(\x0b2\x0f.substrait.TypeR\x10intermediateType\x12U\n\x0fimplementations\x18\x0f \x03(\x0b2+.substrait.FunctionSignature.ImplementationR\x0fimplementationsB\x19\n\x17final_variable_behavior\x1a\xfb\x06\n\x06Window\x12C\n\targuments\x18\x02 \x03(\x0b2%.substrait.FunctionSignature.ArgumentR\targuments\x12\x12\n\x04name\x18\x03 \x03(\tR\x04name\x12J\n\x0bdescription\x18\x04 \x01(\x0b2(.substrait.FunctionSignature.DescriptionR\x0bdescription\x12$\n\rdeterministic\x18\x07 \x01(\x08R\rdeterministic\x12+\n\x11session_dependent\x18\x08 \x01(\x08R\x10sessionDependent\x12L\n\x11intermediate_type\x18\t \x01(\x0b2\x1f.substrait.DerivationExpressionR\x10intermediateType\x12@\n\x0boutput_type\x18\n \x01(\x0b2\x1f.substrait.DerivationExpressionR\noutputType\x12K\n\x08variadic\x18\x10 \x01(\x0b2-.substrait.FunctionSignature.FinalArgVariadicH\x00R\x08variadic\x12E\n\x06normal\x18\x11 \x01(\x0b2+.substrait.FunctionSignature.FinalArgNormalH\x00R\x06normal\x12\x18\n\x07ordered\x18\x0b \x01(\x08R\x07ordered\x12\x17\n\x07max_set\x18\x0c \x01(\x04R\x06maxSet\x12O\n\x0bwindow_type\x18\x0e \x01(\x0e2..substrait.FunctionSignature.Window.WindowTypeR\nwindowType\x12U\n\x0fimplementations\x18\x0f \x03(\x0b2+.substrait.FunctionSignature.ImplementationR\x0fimplementations\"_\n\nWindowType\x12\x1b\n\x17WINDOW_TYPE_UNSPECIFIED\x10\x00\x12\x19\n\x15WINDOW_TYPE_STREAMING\x10\x01\x12\x19\n\x15WINDOW_TYPE_PARTITION\x10\x02B\x19\n\x17final_variable_behavior\x1a=\n\x0bDescription\x12\x1a\n\x08language\x18\x01 \x01(\tR\x08language\x12\x12\n\x04body\x18\x02 \x01(\tR\x04body\x1a\xb1\x01\n\x0eImplementation\x12D\n\x04type\x18\x01 \x01(\x0e20.substrait.FunctionSignature.Implementation.TypeR\x04type\x12\x10\n\x03uri\x18\x02 \x01(\tR\x03uri\"G\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x15\n\x11TYPE_WEB_ASSEMBLY\x10\x01\x12\x12\n\x0eTYPE_TRINO_JAR\x10\x02\x1a\xf7\x03\n\x08Argument\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12K\n\x05value\x18\x02 \x01(\x0b23.substrait.FunctionSignature.Argument.ValueArgumentH\x00R\x05value\x12H\n\x04type\x18\x03 \x01(\x0b22.substrait.FunctionSignature.Argument.TypeArgumentH\x00R\x04type\x12H\n\x04enum\x18\x04 \x01(\x0b22.substrait.FunctionSignature.Argument.EnumArgumentH\x00R\x04enum\x1a]\n\rValueArgument\x120\n\x04type\x18\x01 \x01(\x0b2\x1c.substrait.ParameterizedTypeR\x04type\x12\x1a\n\x08constant\x18\x02 \x01(\x08R\x08constant\x1a@\n\x0cTypeArgument\x120\n\x04type\x18\x01 \x01(\x0b2\x1c.substrait.ParameterizedTypeR\x04type\x1aD\n\x0cEnumArgument\x12\x18\n\x07options\x18\x01 \x03(\tR\x07options\x12\x1a\n\x08optional\x18\x02 \x01(\x08R\x08optionalB\x0f\n\rargument_kindBf\n\x12io.substrait.protoP\x01Z9github.com/substrait-io/substrait-protobuf/go/substraitpb\xaa\x02\x12Substrait.ProtobufJ\xc1\'\n\x07\x12\x05\x01\x00\x93\x01\x01\n/\n\x01\x0c\x12\x03\x01\x00\x12\x1a% SPDX-License-Identifier: Apache-2.0\n\n\x08\n\x01\x02\x12\x03\x03\x00\x12\n\t\n\x02\x03\x00\x12\x03\x05\x00-\n\t\n\x02\x03\x01\x12\x03\x06\x00\x1e\n\t\n\x02\x03\x02\x12\x03\x07\x00*\n\x08\n\x01\x08\x12\x03\t\x00/\n\t\n\x02\x08%\x12\x03\t\x00/\n\x08\n\x01\x08\x12\x03\n\x00P\n\t\n\x02\x08\x0b\x12\x03\n\x00P\n\x08\n\x01\x08\x12\x03\x0b\x00\"\n\t\n\x02\x08\n\x12\x03\x0b\x00\"\n\x08\n\x01\x08\x12\x03\x0c\x00+\n\t\n\x02\x08\x01\x12\x03\x0c\x00+\n5\n\x02\x04\x00\x12\x05\x0f\x00\x93\x01\x01\x1a( List of function signatures available.\n\n\n\n\x03\x04\x00\x01\x12\x03\x0f\x08\x19\n\x0c\n\x04\x04\x00\x03\x00\x12\x04\x10\x02&\x03\n\x0c\n\x05\x04\x00\x03\x00\x01\x12\x03\x10\n\x1a\nf\n\x06\x04\x00\x03\x00\x02\x00\x12\x03\x13\x04\x17\x1aW the minimum number of arguments allowed for the list of final arguments\n (inclusive).\n\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x05\x12\x03\x13\x04\t\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x01\x12\x03\x13\n\x12\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x03\x12\x03\x13\x15\x16\ne\n\x06\x04\x00\x03\x00\x02\x01\x12\x03\x17\x04\x17\x1aV the maximum number of arguments allowed for the list of final arguments\n (exclusive)\n\n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x05\x12\x03\x17\x04\t\n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x01\x12\x03\x17\n\x12\n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x03\x12\x03\x17\x15\x16\n;\n\x06\x04\x00\x03\x00\x02\x02\x12\x03\x1a\x04)\x1a, the type of parameterized type consistency\n\n\x0e\n\x07\x04\x00\x03\x00\x02\x02\x06\x12\x03\x1a\x04\x18\n\x0e\n\x07\x04\x00\x03\x00\x02\x02\x01\x12\x03\x1a\x19$\n\x0e\n\x07\x04\x00\x03\x00\x02\x02\x03\x12\x03\x1a\'(\n\x0e\n\x06\x04\x00\x03\x00\x04\x00\x12\x04\x1c\x04%\x05\n\x0e\n\x07\x04\x00\x03\x00\x04\x00\x01\x12\x03\x1c\t\x1d\n\x0f\n\x08\x04\x00\x03\x00\x04\x00\x02\x00\x12\x03\x1d\x06,\n\x10\n\t\x04\x00\x03\x00\x04\x00\x02\x00\x01\x12\x03\x1d\x06\'\n\x10\n\t\x04\x00\x03\x00\x04\x00\x02\x00\x02\x12\x03\x1d*+\n?\n\x08\x04\x00\x03\x00\x04\x00\x02\x01\x12\x03 \x06+\x1a. All argument must be the same concrete type.\n\n\x10\n\t\x04\x00\x03\x00\x04\x00\x02\x01\x01\x12\x03 \x06&\n\x10\n\t\x04\x00\x03\x00\x04\x00\x02\x01\x02\x12\x03 )*\n\x94\x01\n\x08\x04\x00\x03\x00\x04\x00\x02\x02\x12\x03$\x06-\x1a\x82\x01 Each argument can be any possible concrete type afforded by the bounds\n of any parameter defined in the arguments specification.\n\n\x10\n\t\x04\x00\x03\x00\x04\x00\x02\x02\x01\x12\x03$\x06(\n\x10\n\t\x04\x00\x03\x00\x04\x00\x02\x02\x02\x12\x03$+,\n\x0b\n\x04\x04\x00\x03\x01\x12\x03(\x02\x1b\n\x0c\n\x05\x04\x00\x03\x01\x01\x12\x03(\n\x18\n\x0c\n\x04\x04\x00\x03\x02\x12\x04*\x02:\x03\n\x0c\n\x05\x04\x00\x03\x02\x01\x12\x03*\n\x10\n\r\n\x06\x04\x00\x03\x02\x02\x00\x12\x03+\x04$\n\x0e\n\x07\x04\x00\x03\x02\x02\x00\x04\x12\x03+\x04\x0c\n\x0e\n\x07\x04\x00\x03\x02\x02\x00\x06\x12\x03+\r\x15\n\x0e\n\x07\x04\x00\x03\x02\x02\x00\x01\x12\x03+\x16\x1f\n\x0e\n\x07\x04\x00\x03\x02\x02\x00\x03\x12\x03+\"#\n\r\n\x06\x04\x00\x03\x02\x02\x01\x12\x03,\x04\x1d\n\x0e\n\x07\x04\x00\x03\x02\x02\x01\x04\x12\x03,\x04\x0c\n\x0e\n\x07\x04\x00\x03\x02\x02\x01\x05\x12\x03,\r\x13\n\x0e\n\x07\x04\x00\x03\x02\x02\x01\x01\x12\x03,\x14\x18\n\x0e\n\x07\x04\x00\x03\x02\x02\x01\x03\x12\x03,\x1b\x1c\n\r\n\x06\x04\x00\x03\x02\x02\x02\x12\x03-\x04 \n\x0e\n\x07\x04\x00\x03\x02\x02\x02\x06\x12\x03-\x04\x0f\n\x0e\n\x07\x04\x00\x03\x02\x02\x02\x01\x12\x03-\x10\x1b\n\x0e\n\x07\x04\x00\x03\x02\x02\x02\x03\x12\x03-\x1e\x1f\n\r\n\x06\x04\x00\x03\x02\x02\x03\x12\x03/\x04\x1b\n\x0e\n\x07\x04\x00\x03\x02\x02\x03\x05\x12\x03/\x04\x08\n\x0e\n\x07\x04\x00\x03\x02\x02\x03\x01\x12\x03/\t\x16\n\x0e\n\x07\x04\x00\x03\x02\x02\x03\x03\x12\x03/\x19\x1a\n\r\n\x06\x04\x00\x03\x02\x02\x04\x12\x030\x04\x1f\n\x0e\n\x07\x04\x00\x03\x02\x02\x04\x05\x12\x030\x04\x08\n\x0e\n\x07\x04\x00\x03\x02\x02\x04\x01\x12\x030\t\x1a\n\x0e\n\x07\x04\x00\x03\x02\x02\x04\x03\x12\x030\x1d\x1e\n\r\n\x06\x04\x00\x03\x02\x02\x05\x12\x032\x04)\n\x0e\n\x07\x04\x00\x03\x02\x02\x05\x06\x12\x032\x04\x18\n\x0e\n\x07\x04\x00\x03\x02\x02\x05\x01\x12\x032\x19$\n\x0e\n\x07\x04\x00\x03\x02\x02\x05\x03\x12\x032\'(\n\x0e\n\x06\x04\x00\x03\x02\x08\x00\x12\x044\x047\x05\n\x0e\n\x07\x04\x00\x03\x02\x08\x00\x01\x12\x034\n!\n\r\n\x06\x04\x00\x03\x02\x02\x06\x12\x035\x06%\n\x0e\n\x07\x04\x00\x03\x02\x02\x06\x06\x12\x035\x06\x16\n\x0e\n\x07\x04\x00\x03\x02\x02\x06\x01\x12\x035\x17\x1f\n\x0e\n\x07\x04\x00\x03\x02\x02\x06\x03\x12\x035\"$\n\r\n\x06\x04\x00\x03\x02\x02\x07\x12\x036\x06!\n\x0e\n\x07\x04\x00\x03\x02\x02\x07\x06\x12\x036\x06\x14\n\x0e\n\x07\x04\x00\x03\x02\x02\x07\x01\x12\x036\x15\x1b\n\x0e\n\x07\x04\x00\x03\x02\x02\x07\x03\x12\x036\x1e \n\r\n\x06\x04\x00\x03\x02\x02\x08\x12\x039\x041\n\x0e\n\x07\x04\x00\x03\x02\x02\x08\x04\x12\x039\x04\x0c\n\x0e\n\x07\x04\x00\x03\x02\x02\x08\x06\x12\x039\r\x1b\n\x0e\n\x07\x04\x00\x03\x02\x02\x08\x01\x12\x039\x1c+\n\x0e\n\x07\x04\x00\x03\x02\x02\x08\x03\x12\x039.0\n\x0c\n\x04\x04\x00\x03\x03\x12\x04<\x02P\x03\n\x0c\n\x05\x04\x00\x03\x03\x01\x12\x03<\n\x13\n\r\n\x06\x04\x00\x03\x03\x02\x00\x12\x03=\x04$\n\x0e\n\x07\x04\x00\x03\x03\x02\x00\x04\x12\x03=\x04\x0c\n\x0e\n\x07\x04\x00\x03\x03\x02\x00\x06\x12\x03=\r\x15\n\x0e\n\x07\x04\x00\x03\x03\x02\x00\x01\x12\x03=\x16\x1f\n\x0e\n\x07\x04\x00\x03\x03\x02\x00\x03\x12\x03=\"#\n\r\n\x06\x04\x00\x03\x03\x02\x01\x12\x03>\x04\x14\n\x0e\n\x07\x04\x00\x03\x03\x02\x01\x05\x12\x03>\x04\n\n\x0e\n\x07\x04\x00\x03\x03\x02\x01\x01\x12\x03>\x0b\x0f\n\x0e\n\x07\x04\x00\x03\x03\x02\x01\x03\x12\x03>\x12\x13\n\r\n\x06\x04\x00\x03\x03\x02\x02\x12\x03?\x04 \n\x0e\n\x07\x04\x00\x03\x03\x02\x02\x06\x12\x03?\x04\x0f\n\x0e\n\x07\x04\x00\x03\x03\x02\x02\x01\x12\x03?\x10\x1b\n\x0e\n\x07\x04\x00\x03\x03\x02\x02\x03\x12\x03?\x1e\x1f\n\r\n\x06\x04\x00\x03\x03\x02\x03\x12\x03A\x04\x1b\n\x0e\n\x07\x04\x00\x03\x03\x02\x03\x05\x12\x03A\x04\x08\n\x0e\n\x07\x04\x00\x03\x03\x02\x03\x01\x12\x03A\t\x16\n\x0e\n\x07\x04\x00\x03\x03\x02\x03\x03\x12\x03A\x19\x1a\n\r\n\x06\x04\x00\x03\x03\x02\x04\x12\x03B\x04\x1f\n\x0e\n\x07\x04\x00\x03\x03\x02\x04\x05\x12\x03B\x04\x08\n\x0e\n\x07\x04\x00\x03\x03\x02\x04\x01\x12\x03B\t\x1a\n\x0e\n\x07\x04\x00\x03\x03\x02\x04\x03\x12\x03B\x1d\x1e\n\r\n\x06\x04\x00\x03\x03\x02\x05\x12\x03D\x04)\n\x0e\n\x07\x04\x00\x03\x03\x02\x05\x06\x12\x03D\x04\x18\n\x0e\n\x07\x04\x00\x03\x03\x02\x05\x01\x12\x03D\x19$\n\x0e\n\x07\x04\x00\x03\x03\x02\x05\x03\x12\x03D\'(\n\x0e\n\x06\x04\x00\x03\x03\x08\x00\x12\x04F\x04I\x05\n\x0e\n\x07\x04\x00\x03\x03\x08\x00\x01\x12\x03F\n!\n\r\n\x06\x04\x00\x03\x03\x02\x06\x12\x03G\x06%\n\x0e\n\x07\x04\x00\x03\x03\x02\x06\x06\x12\x03G\x06\x16\n\x0e\n\x07\x04\x00\x03\x03\x02\x06\x01\x12\x03G\x17\x1f\n\x0e\n\x07\x04\x00\x03\x03\x02\x06\x03\x12\x03G\"$\n\r\n\x06\x04\x00\x03\x03\x02\x07\x12\x03H\x06!\n\x0e\n\x07\x04\x00\x03\x03\x02\x07\x06\x12\x03H\x06\x14\n\x0e\n\x07\x04\x00\x03\x03\x02\x07\x01\x12\x03H\x15\x1b\n\x0e\n\x07\x04\x00\x03\x03\x02\x07\x03\x12\x03H\x1e \n\r\n\x06\x04\x00\x03\x03\x02\x08\x12\x03K\x04\x16\n\x0e\n\x07\x04\x00\x03\x03\x02\x08\x05\x12\x03K\x04\x08\n\x0e\n\x07\x04\x00\x03\x03\x02\x08\x01\x12\x03K\t\x10\n\x0e\n\x07\x04\x00\x03\x03\x02\x08\x03\x12\x03K\x13\x15\n\r\n\x06\x04\x00\x03\x03\x02\t\x12\x03L\x04\x18\n\x0e\n\x07\x04\x00\x03\x03\x02\t\x05\x12\x03L\x04\n\n\x0e\n\x07\x04\x00\x03\x03\x02\t\x01\x12\x03L\x0b\x12\n\x0e\n\x07\x04\x00\x03\x03\x02\t\x03\x12\x03L\x15\x17\n\r\n\x06\x04\x00\x03\x03\x02\n\x12\x03M\x04 \n\x0e\n\x07\x04\x00\x03\x03\x02\n\x06\x12\x03M\x04\x08\n\x0e\n\x07\x04\x00\x03\x03\x02\n\x01\x12\x03M\t\x1a\n\x0e\n\x07\x04\x00\x03\x03\x02\n\x03\x12\x03M\x1d\x1f\n\r\n\x06\x04\x00\x03\x03\x02\x0b\x12\x03O\x041\n\x0e\n\x07\x04\x00\x03\x03\x02\x0b\x04\x12\x03O\x04\x0c\n\x0e\n\x07\x04\x00\x03\x03\x02\x0b\x06\x12\x03O\r\x1b\n\x0e\n\x07\x04\x00\x03\x03\x02\x0b\x01\x12\x03O\x1c+\n\x0e\n\x07\x04\x00\x03\x03\x02\x0b\x03\x12\x03O.0\n\x0c\n\x04\x04\x00\x03\x04\x12\x04R\x02j\x03\n\x0c\n\x05\x04\x00\x03\x04\x01\x12\x03R\n\x10\n\r\n\x06\x04\x00\x03\x04\x02\x00\x12\x03S\x04$\n\x0e\n\x07\x04\x00\x03\x04\x02\x00\x04\x12\x03S\x04\x0c\n\x0e\n\x07\x04\x00\x03\x04\x02\x00\x06\x12\x03S\r\x15\n\x0e\n\x07\x04\x00\x03\x04\x02\x00\x01\x12\x03S\x16\x1f\n\x0e\n\x07\x04\x00\x03\x04\x02\x00\x03\x12\x03S\"#\n\r\n\x06\x04\x00\x03\x04\x02\x01\x12\x03T\x04\x1d\n\x0e\n\x07\x04\x00\x03\x04\x02\x01\x04\x12\x03T\x04\x0c\n\x0e\n\x07\x04\x00\x03\x04\x02\x01\x05\x12\x03T\r\x13\n\x0e\n\x07\x04\x00\x03\x04\x02\x01\x01\x12\x03T\x14\x18\n\x0e\n\x07\x04\x00\x03\x04\x02\x01\x03\x12\x03T\x1b\x1c\n\r\n\x06\x04\x00\x03\x04\x02\x02\x12\x03U\x04 \n\x0e\n\x07\x04\x00\x03\x04\x02\x02\x06\x12\x03U\x04\x0f\n\x0e\n\x07\x04\x00\x03\x04\x02\x02\x01\x12\x03U\x10\x1b\n\x0e\n\x07\x04\x00\x03\x04\x02\x02\x03\x12\x03U\x1e\x1f\n\r\n\x06\x04\x00\x03\x04\x02\x03\x12\x03W\x04\x1b\n\x0e\n\x07\x04\x00\x03\x04\x02\x03\x05\x12\x03W\x04\x08\n\x0e\n\x07\x04\x00\x03\x04\x02\x03\x01\x12\x03W\t\x16\n\x0e\n\x07\x04\x00\x03\x04\x02\x03\x03\x12\x03W\x19\x1a\n\r\n\x06\x04\x00\x03\x04\x02\x04\x12\x03X\x04\x1f\n\x0e\n\x07\x04\x00\x03\x04\x02\x04\x05\x12\x03X\x04\x08\n\x0e\n\x07\x04\x00\x03\x04\x02\x04\x01\x12\x03X\t\x1a\n\x0e\n\x07\x04\x00\x03\x04\x02\x04\x03\x12\x03X\x1d\x1e\n\r\n\x06\x04\x00\x03\x04\x02\x05\x12\x03Z\x04/\n\x0e\n\x07\x04\x00\x03\x04\x02\x05\x06\x12\x03Z\x04\x18\n\x0e\n\x07\x04\x00\x03\x04\x02\x05\x01\x12\x03Z\x19*\n\x0e\n\x07\x04\x00\x03\x04\x02\x05\x03\x12\x03Z-.\n\r\n\x06\x04\x00\x03\x04\x02\x06\x12\x03[\x04*\n\x0e\n\x07\x04\x00\x03\x04\x02\x06\x06\x12\x03[\x04\x18\n\x0e\n\x07\x04\x00\x03\x04\x02\x06\x01\x12\x03[\x19$\n\x0e\n\x07\x04\x00\x03\x04\x02\x06\x03\x12\x03[\')\n\x0e\n\x06\x04\x00\x03\x04\x08\x00\x12\x04\\\x04_\x05\n\x0e\n\x07\x04\x00\x03\x04\x08\x00\x01\x12\x03\\\n!\n\r\n\x06\x04\x00\x03\x04\x02\x07\x12\x03]\x06%\n\x0e\n\x07\x04\x00\x03\x04\x02\x07\x06\x12\x03]\x06\x16\n\x0e\n\x07\x04\x00\x03\x04\x02\x07\x01\x12\x03]\x17\x1f\n\x0e\n\x07\x04\x00\x03\x04\x02\x07\x03\x12\x03]\"$\n\r\n\x06\x04\x00\x03\x04\x02\x08\x12\x03^\x06!\n\x0e\n\x07\x04\x00\x03\x04\x02\x08\x06\x12\x03^\x06\x14\n\x0e\n\x07\x04\x00\x03\x04\x02\x08\x01\x12\x03^\x15\x1b\n\x0e\n\x07\x04\x00\x03\x04\x02\x08\x03\x12\x03^\x1e \n\r\n\x06\x04\x00\x03\x04\x02\t\x12\x03`\x04\x16\n\x0e\n\x07\x04\x00\x03\x04\x02\t\x05\x12\x03`\x04\x08\n\x0e\n\x07\x04\x00\x03\x04\x02\t\x01\x12\x03`\t\x10\n\x0e\n\x07\x04\x00\x03\x04\x02\t\x03\x12\x03`\x13\x15\n\r\n\x06\x04\x00\x03\x04\x02\n\x12\x03a\x04\x18\n\x0e\n\x07\x04\x00\x03\x04\x02\n\x05\x12\x03a\x04\n\n\x0e\n\x07\x04\x00\x03\x04\x02\n\x01\x12\x03a\x0b\x12\n\x0e\n\x07\x04\x00\x03\x04\x02\n\x03\x12\x03a\x15\x17\n\r\n\x06\x04\x00\x03\x04\x02\x0b\x12\x03b\x04 \n\x0e\n\x07\x04\x00\x03\x04\x02\x0b\x06\x12\x03b\x04\x0e\n\x0e\n\x07\x04\x00\x03\x04\x02\x0b\x01\x12\x03b\x0f\x1a\n\x0e\n\x07\x04\x00\x03\x04\x02\x0b\x03\x12\x03b\x1d\x1f\n\r\n\x06\x04\x00\x03\x04\x02\x0c\x12\x03c\x041\n\x0e\n\x07\x04\x00\x03\x04\x02\x0c\x04\x12\x03c\x04\x0c\n\x0e\n\x07\x04\x00\x03\x04\x02\x0c\x06\x12\x03c\r\x1b\n\x0e\n\x07\x04\x00\x03\x04\x02\x0c\x01\x12\x03c\x1c+\n\x0e\n\x07\x04\x00\x03\x04\x02\x0c\x03\x12\x03c.0\n\x0e\n\x06\x04\x00\x03\x04\x04\x00\x12\x04e\x04i\x05\n\x0e\n\x07\x04\x00\x03\x04\x04\x00\x01\x12\x03e\t\x13\n\x0f\n\x08\x04\x00\x03\x04\x04\x00\x02\x00\x12\x03f\x06\"\n\x10\n\t\x04\x00\x03\x04\x04\x00\x02\x00\x01\x12\x03f\x06\x1d\n\x10\n\t\x04\x00\x03\x04\x04\x00\x02\x00\x02\x12\x03f !\n\x0f\n\x08\x04\x00\x03\x04\x04\x00\x02\x01\x12\x03g\x06 \n\x10\n\t\x04\x00\x03\x04\x04\x00\x02\x01\x01\x12\x03g\x06\x1b\n\x10\n\t\x04\x00\x03\x04\x04\x00\x02\x01\x02\x12\x03g\x1e\x1f\n\x0f\n\x08\x04\x00\x03\x04\x04\x00\x02\x02\x12\x03h\x06 \n\x10\n\t\x04\x00\x03\x04\x04\x00\x02\x02\x01\x12\x03h\x06\x1b\n\x10\n\t\x04\x00\x03\x04\x04\x00\x02\x02\x02\x12\x03h\x1e\x1f\n\x0c\n\x04\x04\x00\x03\x05\x12\x04l\x02o\x03\n\x0c\n\x05\x04\x00\x03\x05\x01\x12\x03l\n\x15\n\r\n\x06\x04\x00\x03\x05\x02\x00\x12\x03m\x04\x18\n\x0e\n\x07\x04\x00\x03\x05\x02\x00\x05\x12\x03m\x04\n\n\x0e\n\x07\x04\x00\x03\x05\x02\x00\x01\x12\x03m\x0b\x13\n\x0e\n\x07\x04\x00\x03\x05\x02\x00\x03\x12\x03m\x16\x17\n\r\n\x06\x04\x00\x03\x05\x02\x01\x12\x03n\x04\x14\n\x0e\n\x07\x04\x00\x03\x05\x02\x01\x05\x12\x03n\x04\n\n\x0e\n\x07\x04\x00\x03\x05\x02\x01\x01\x12\x03n\x0b\x0f\n\x0e\n\x07\x04\x00\x03\x05\x02\x01\x03\x12\x03n\x12\x13\n\x0c\n\x04\x04\x00\x03\x06\x12\x04q\x02z\x03\n\x0c\n\x05\x04\x00\x03\x06\x01\x12\x03q\n\x18\n\r\n\x06\x04\x00\x03\x06\x02\x00\x12\x03r\x04\x12\n\x0e\n\x07\x04\x00\x03\x06\x02\x00\x06\x12\x03r\x04\x08\n\x0e\n\x07\x04\x00\x03\x06\x02\x00\x01\x12\x03r\t\r\n\x0e\n\x07\x04\x00\x03\x06\x02\x00\x03\x12\x03r\x10\x11\n\r\n\x06\x04\x00\x03\x06\x02\x01\x12\x03s\x04\x13\n\x0e\n\x07\x04\x00\x03\x06\x02\x01\x05\x12\x03s\x04\n\n\x0e\n\x07\x04\x00\x03\x06\x02\x01\x01\x12\x03s\x0b\x0e\n\x0e\n\x07\x04\x00\x03\x06\x02\x01\x03\x12\x03s\x11\x12\n\x0e\n\x06\x04\x00\x03\x06\x04\x00\x12\x04u\x04y\x05\n\x0e\n\x07\x04\x00\x03\x06\x04\x00\x01\x12\x03u\t\r\n\x0f\n\x08\x04\x00\x03\x06\x04\x00\x02\x00\x12\x03v\x06\x1b\n\x10\n\t\x04\x00\x03\x06\x04\x00\x02\x00\x01\x12\x03v\x06\x16\n\x10\n\t\x04\x00\x03\x06\x04\x00\x02\x00\x02\x12\x03v\x19\x1a\n\x0f\n\x08\x04\x00\x03\x06\x04\x00\x02\x01\x12\x03w\x06\x1c\n\x10\n\t\x04\x00\x03\x06\x04\x00\x02\x01\x01\x12\x03w\x06\x17\n\x10\n\t\x04\x00\x03\x06\x04\x00\x02\x01\x02\x12\x03w\x1a\x1b\n\x0f\n\x08\x04\x00\x03\x06\x04\x00\x02\x02\x12\x03x\x06\x19\n\x10\n\t\x04\x00\x03\x06\x04\x00\x02\x02\x01\x12\x03x\x06\x14\n\x10\n\t\x04\x00\x03\x06\x04\x00\x02\x02\x02\x12\x03x\x17\x18\n\r\n\x04\x04\x00\x03\x07\x12\x05|\x02\x92\x01\x03\n\x0c\n\x05\x04\x00\x03\x07\x01\x12\x03|\n\x12\n\r\n\x06\x04\x00\x03\x07\x02\x00\x12\x03}\x04\x14\n\x0e\n\x07\x04\x00\x03\x07\x02\x00\x05\x12\x03}\x04\n\n\x0e\n\x07\x04\x00\x03\x07\x02\x00\x01\x12\x03}\x0b\x0f\n\x0e\n\x07\x04\x00\x03\x07\x02\x00\x03\x12\x03}\x12\x13\n\x0f\n\x06\x04\x00\x03\x07\x08\x00\x12\x05\x7f\x04\x83\x01\x05\n\x0e\n\x07\x04\x00\x03\x07\x08\x00\x01\x12\x03\x7f\n\x17\n\x0e\n\x06\x04\x00\x03\x07\x02\x01\x12\x04\x80\x01\x06\x1e\n\x0f\n\x07\x04\x00\x03\x07\x02\x01\x06\x12\x04\x80\x01\x06\x13\n\x0f\n\x07\x04\x00\x03\x07\x02\x01\x01\x12\x04\x80\x01\x14\x19\n\x0f\n\x07\x04\x00\x03\x07\x02\x01\x03\x12\x04\x80\x01\x1c\x1d\n\x0e\n\x06\x04\x00\x03\x07\x02\x02\x12\x04\x81\x01\x06\x1c\n\x0f\n\x07\x04\x00\x03\x07\x02\x02\x06\x12\x04\x81\x01\x06\x12\n\x0f\n\x07\x04\x00\x03\x07\x02\x02\x01\x12\x04\x81\x01\x13\x17\n\x0f\n\x07\x04\x00\x03\x07\x02\x02\x03\x12\x04\x81\x01\x1a\x1b\n\x0e\n\x06\x04\x00\x03\x07\x02\x03\x12\x04\x82\x01\x06\x1c\n\x0f\n\x07\x04\x00\x03\x07\x02\x03\x06\x12\x04\x82\x01\x06\x12\n\x0f\n\x07\x04\x00\x03\x07\x02\x03\x01\x12\x04\x82\x01\x13\x17\n\x0f\n\x07\x04\x00\x03\x07\x02\x03\x03\x12\x04\x82\x01\x1a\x1b\n\x10\n\x06\x04\x00\x03\x07\x03\x00\x12\x06\x85\x01\x04\x88\x01\x05\n\x0f\n\x07\x04\x00\x03\x07\x03\x00\x01\x12\x04\x85\x01\x0c\x19\n\x10\n\x08\x04\x00\x03\x07\x03\x00\x02\x00\x12\x04\x86\x01\x06!\n\x11\n\t\x04\x00\x03\x07\x03\x00\x02\x00\x06\x12\x04\x86\x01\x06\x17\n\x11\n\t\x04\x00\x03\x07\x03\x00\x02\x00\x01\x12\x04\x86\x01\x18\x1c\n\x11\n\t\x04\x00\x03\x07\x03\x00\x02\x00\x03\x12\x04\x86\x01\x1f \n\x10\n\x08\x04\x00\x03\x07\x03\x00\x02\x01\x12\x04\x87\x01\x06\x18\n\x11\n\t\x04\x00\x03\x07\x03\x00\x02\x01\x05\x12\x04\x87\x01\x06\n\n\x11\n\t\x04\x00\x03\x07\x03\x00\x02\x01\x01\x12\x04\x87\x01\x0b\x13\n\x11\n\t\x04\x00\x03\x07\x03\x00\x02\x01\x03\x12\x04\x87\x01\x16\x17\n\x10\n\x06\x04\x00\x03\x07\x03\x01\x12\x06\x8a\x01\x04\x8c\x01\x05\n\x0f\n\x07\x04\x00\x03\x07\x03\x01\x01\x12\x04\x8a\x01\x0c\x18\n\x10\n\x08\x04\x00\x03\x07\x03\x01\x02\x00\x12\x04\x8b\x01\x06!\n\x11\n\t\x04\x00\x03\x07\x03\x01\x02\x00\x06\x12\x04\x8b\x01\x06\x17\n\x11\n\t\x04\x00\x03\x07\x03\x01\x02\x00\x01\x12\x04\x8b\x01\x18\x1c\n\x11\n\t\x04\x00\x03\x07\x03\x01\x02\x00\x03\x12\x04\x8b\x01\x1f \n\x10\n\x06\x04\x00\x03\x07\x03\x02\x12\x06\x8e\x01\x04\x91\x01\x05\n\x0f\n\x07\x04\x00\x03\x07\x03\x02\x01\x12\x04\x8e\x01\x0c\x18\n\x10\n\x08\x04\x00\x03\x07\x03\x02\x02\x00\x12\x04\x8f\x01\x06\"\n\x11\n\t\x04\x00\x03\x07\x03\x02\x02\x00\x04\x12\x04\x8f\x01\x06\x0e\n\x11\n\t\x04\x00\x03\x07\x03\x02\x02\x00\x05\x12\x04\x8f\x01\x0f\x15\n\x11\n\t\x04\x00\x03\x07\x03\x02\x02\x00\x01\x12\x04\x8f\x01\x16\x1d\n\x11\n\t\x04\x00\x03\x07\x03\x02\x02\x00\x03\x12\x04\x8f\x01 !\n\x10\n\x08\x04\x00\x03\x07\x03\x02\x02\x01\x12\x04\x90\x01\x06\x18\n\x11\n\t\x04\x00\x03\x07\x03\x02\x02\x01\x05\x12\x04\x90\x01\x06\n\n\x11\n\t\x04\x00\x03\x07\x03\x02\x02\x01\x01\x12\x04\x90\x01\x0b\x13\n\x11\n\t\x04\x00\x03\x07\x03\x02\x02\x01\x03\x12\x04\x90\x01\x16\x17b\x06proto3";
Available on crate feature embed-descriptor only.
Expand description

The encoded file descriptor set for the Substrait protobuf definitions.

This can be used for protobuf reflection.