dd-trace 6.20.1 → 6.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ci/diagnose.js +9 -14
- package/ci/init.js +1 -2
- package/ci/test-optimization-validation/ci-discovery.js +9 -4
- package/ci/test-optimization-validation/executable.js +1 -5
- package/ci/test-optimization-validation/framework-adapters/cypress.js +1 -4
- package/ci/test-optimization-validation/framework-adapters/vitest.js +1 -1
- package/ci/test-optimization-validation/generated-files.js +6 -4
- package/ci/test-optimization-validation/generated-test-contract.js +7 -3
- package/ci/test-optimization-validation/manifest-scaffold.js +7 -2
- package/ci/test-optimization-validation/manifest-schema.js +6 -7
- package/ci/test-optimization-validation/report-writer.js +6 -2
- package/ci/test-optimization-validation/runner-command.js +2 -4
- package/ci/test-optimization-validation/runner-contract.js +1 -2
- package/ci/test-optimization-validation/scenarios/auto-test-retries.js +1 -15
- package/ci/vitest-no-worker-init-setup.mjs +10 -7
- package/index.d.ts +116 -17
- package/initialize.mjs +1 -3
- package/openfeature/rules-based.d.ts +11 -0
- package/openfeature/rules-based.js +7 -0
- package/package.json +13 -11
- package/packages/datadog-core/src/storage.js +16 -0
- package/packages/datadog-esbuild/index.js +18 -12
- package/packages/datadog-instrumentations/src/aerospike.js +3 -3
- package/packages/datadog-instrumentations/src/ai.js +3 -3
- package/packages/datadog-instrumentations/src/aws-durable-execution-sdk-js.js +0 -6
- package/packages/datadog-instrumentations/src/aws-sdk.js +21 -13
- package/packages/datadog-instrumentations/src/cassandra-driver.js +25 -20
- package/packages/datadog-instrumentations/src/claude-agent-sdk.js +9 -23
- package/packages/datadog-instrumentations/src/cucumber.js +48 -33
- package/packages/datadog-instrumentations/src/elasticsearch.js +1 -5
- package/packages/datadog-instrumentations/src/electron.js +6 -6
- package/packages/datadog-instrumentations/src/fastify.js +13 -4
- package/packages/datadog-instrumentations/src/fs.js +2 -2
- package/packages/datadog-instrumentations/src/google-cloud-pubsub.js +9 -5
- package/packages/datadog-instrumentations/src/grpc/client.js +2 -0
- package/packages/datadog-instrumentations/src/helpers/bundler-register.js +2 -2
- package/packages/datadog-instrumentations/src/helpers/check-require-cache.js +1 -2
- package/packages/datadog-instrumentations/src/helpers/instrument.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/register.js +36 -1
- package/packages/datadog-instrumentations/src/helpers/rewriter/index.js +2 -0
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentation-registry.js +87 -6
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/graphql-jit.js +5 -6
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/postgres.js +48 -31
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/webdriverio.js +64 -11
- package/packages/datadog-instrumentations/src/helpers/rewriter/targets.json +1 -0
- package/packages/datadog-instrumentations/src/helpers/rewriter/transforms/postgres.js +42 -4
- package/packages/datadog-instrumentations/src/helpers/rewriter/transforms.js +7 -10
- package/packages/datadog-instrumentations/src/ioredis.js +7 -5
- package/packages/datadog-instrumentations/src/iovalkey.js +7 -5
- package/packages/datadog-instrumentations/src/jest.js +122 -11
- package/packages/datadog-instrumentations/src/knex.js +9 -5
- package/packages/datadog-instrumentations/src/mariadb-bundle.js +3 -3
- package/packages/datadog-instrumentations/src/mocha/common.js +20 -8
- package/packages/datadog-instrumentations/src/mocha/main.js +140 -43
- package/packages/datadog-instrumentations/src/mocha/utils.js +127 -38
- package/packages/datadog-instrumentations/src/mocha/webdriverio-protocol.js +61 -34
- package/packages/datadog-instrumentations/src/mocha/worker.js +7 -5
- package/packages/datadog-instrumentations/src/mongodb-core.js +3 -3
- package/packages/datadog-instrumentations/src/mongoose.js +3 -3
- package/packages/datadog-instrumentations/src/nova-sonic/audio.js +173 -0
- package/packages/datadog-instrumentations/src/nova-sonic/index.js +209 -0
- package/packages/datadog-instrumentations/src/nova-sonic/session.js +483 -0
- package/packages/datadog-instrumentations/src/openai-realtime/index.js +18 -6
- package/packages/datadog-instrumentations/src/openai-realtime/session.js +1 -1
- package/packages/datadog-instrumentations/src/openai.js +7 -0
- package/packages/datadog-instrumentations/src/pino.js +5 -6
- package/packages/datadog-instrumentations/src/playwright.js +3 -0
- package/packages/datadog-instrumentations/src/redis.js +27 -13
- package/packages/datadog-instrumentations/src/router.js +30 -0
- package/packages/datadog-instrumentations/src/rum-browser-scripts.js +2 -6
- package/packages/datadog-instrumentations/src/vitest-main-no-worker-init.js +7 -5
- package/packages/datadog-instrumentations/src/vitest-main.js +9 -17
- package/packages/datadog-instrumentations/src/vitest-util.js +2 -2
- package/packages/datadog-instrumentations/src/vitest-worker.js +1 -2
- package/packages/datadog-instrumentations/src/vitest.js +2 -2
- package/packages/datadog-instrumentations/src/webdriverio.js +118 -21
- package/packages/datadog-instrumentations/src/ws.js +1 -4
- package/packages/datadog-plugin-amqplib/src/client.js +1 -2
- package/packages/datadog-plugin-avsc/src/schema_iterator.js +1 -5
- package/packages/datadog-plugin-aws-durable-execution-sdk-js/src/handler.js +1 -2
- package/packages/datadog-plugin-aws-sdk/src/base.js +5 -8
- package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/index.js +18 -0
- package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/sonic.js +45 -0
- package/packages/datadog-plugin-aws-sdk/src/services/kinesis.js +9 -3
- package/packages/datadog-plugin-aws-sdk/src/services/sqs.js +2 -5
- package/packages/datadog-plugin-azure-durable-functions/src/index.js +5 -4
- package/packages/datadog-plugin-azure-functions/src/index.js +5 -3
- package/packages/datadog-plugin-claude-agent-sdk/src/index.js +0 -2
- package/packages/datadog-plugin-cypress/src/cypress-plugin.js +18 -5
- package/packages/datadog-plugin-cypress/src/index.js +6 -6
- package/packages/datadog-plugin-cypress/src/source-map-utils.js +1 -2
- package/packages/datadog-plugin-cypress/src/support.js +1 -4
- package/packages/datadog-plugin-express/src/code_origin.js +1 -2
- package/packages/datadog-plugin-google-cloud-pubsub/src/consumer.js +2 -2
- package/packages/datadog-plugin-google-cloud-pubsub/src/producer.js +1 -2
- package/packages/datadog-plugin-graphql/src/execute.js +5 -5
- package/packages/datadog-plugin-grpc/src/util.js +1 -2
- package/packages/datadog-plugin-kafkajs/src/producer.js +1 -2
- package/packages/datadog-plugin-mocha/src/index.js +223 -39
- package/packages/datadog-plugin-mocha/src/webdriverio-video.js +453 -0
- package/packages/datadog-plugin-mongodb-core/src/query.js +8 -5
- package/packages/datadog-plugin-next/src/index.js +1 -2
- package/packages/datadog-plugin-openai/src/tracing.js +5 -2
- package/packages/datadog-plugin-openai-agents/src/integration.js +6 -2
- package/packages/datadog-plugin-openai-agents/src/processor.js +2 -4
- package/packages/datadog-plugin-postgres/src/index.js +24 -0
- package/packages/datadog-plugin-protobufjs/src/schema_iterator.js +1 -5
- package/packages/datadog-plugin-rhea/src/consumer.js +1 -4
- package/packages/datadog-plugin-vitest/src/index.js +5 -2
- package/packages/datadog-shimmer/src/shimmer.js +5 -4
- package/packages/datadog-webpack/index.js +55 -43
- package/packages/datadog-webpack/src/loader.js +56 -8
- package/packages/dd-trace/src/aiguard/integrations/vercel-ai.js +2 -4
- package/packages/dd-trace/src/aiguard/messages/utils.js +1 -2
- package/packages/dd-trace/src/aiguard/redaction.js +8 -2
- package/packages/dd-trace/src/appsec/api_security/normalized-route.js +3 -2
- package/packages/dd-trace/src/appsec/api_security/sampler.js +2 -6
- package/packages/dd-trace/src/appsec/downstream_requests.js +1 -9
- package/packages/dd-trace/src/appsec/handlers/http-request.js +3 -9
- package/packages/dd-trace/src/appsec/handlers/http-response.js +7 -2
- package/packages/dd-trace/src/appsec/iast/analyzers/path-traversal-analyzer.js +4 -3
- package/packages/dd-trace/src/appsec/iast/analyzers/set-cookies-header-interceptor.js +1 -4
- package/packages/dd-trace/src/appsec/iast/taint-tracking/operations-taint-object.js +7 -1
- package/packages/dd-trace/src/appsec/iast/taint-tracking/plugin.js +1 -3
- package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter-esm.mjs +1 -3
- package/packages/dd-trace/src/appsec/iast/telemetry/iast-metric.js +1 -6
- package/packages/dd-trace/src/appsec/lambda.js +1 -3
- package/packages/dd-trace/src/appsec/rasp/fs-plugin.js +37 -27
- package/packages/dd-trace/src/appsec/rasp/lfi.js +9 -5
- package/packages/dd-trace/src/appsec/reporter.js +21 -1
- package/packages/dd-trace/src/appsec/stack_trace.js +1 -2
- package/packages/dd-trace/src/ci-visibility/dynamic-atr-retries.js +3 -6
- package/packages/dd-trace/src/ci-visibility/exporters/ci-validation/msgpack-to-json.js +1 -1
- package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +13 -7
- package/packages/dd-trace/src/ci-visibility/exporters/settings-cache-key.js +1 -2
- package/packages/dd-trace/src/ci-visibility/exporters/test-worker/index.js +2 -8
- package/packages/dd-trace/src/ci-visibility/resolve-runfile-path.js +54 -0
- package/packages/dd-trace/src/ci-visibility/test-optimization-http-cache-schema.js +5 -8
- package/packages/dd-trace/src/ci-visibility/test-optimization-http-cache.js +2 -53
- package/packages/dd-trace/src/config/config-types.d.ts +2 -2
- package/packages/dd-trace/src/config/defaults.js +5 -5
- package/packages/dd-trace/src/config/generated-config-types.d.ts +8 -0
- package/packages/dd-trace/src/config/helper.js +34 -3
- package/packages/dd-trace/src/config/index.js +10 -9
- package/packages/dd-trace/src/config/normalize-service.js +1 -1
- package/packages/dd-trace/src/config/parsers.js +2 -2
- package/packages/dd-trace/src/config/supported-configurations.json +35 -0
- package/packages/dd-trace/src/datastreams/processor.js +3 -2
- package/packages/dd-trace/src/datastreams/schemas/schema_builder.js +1 -4
- package/packages/dd-trace/src/debugger/constants.js +1 -0
- package/packages/dd-trace/src/debugger/devtools_client/index.js +5 -3
- package/packages/dd-trace/src/debugger/devtools_client/remote_config.js +17 -12
- package/packages/dd-trace/src/debugger/devtools_client/send.js +7 -2
- package/packages/dd-trace/src/debugger/devtools_client/status.js +1 -0
- package/packages/dd-trace/src/debugger/devtools_client/worker-error.js +21 -0
- package/packages/dd-trace/src/debugger/guardrail-metrics.js +2 -2
- package/packages/dd-trace/src/debugger/index.js +24 -2
- package/packages/dd-trace/src/debugger/probe_sampler.js +108 -11
- package/packages/dd-trace/src/dogstatsd.js +1 -1
- package/packages/dd-trace/src/encode/tags-processors.js +2 -2
- package/packages/dd-trace/src/exporters/common/request.js +2 -5
- package/packages/dd-trace/src/exporters/common/url.js +1 -1
- package/packages/dd-trace/src/id.js +15 -5
- package/packages/dd-trace/src/lambda/handler.js +179 -19
- package/packages/dd-trace/src/lambda/index.js +15 -1
- package/packages/dd-trace/src/lambda/runtime/patch.js +34 -7
- package/packages/dd-trace/src/llmobs/agent-manifest.js +296 -0
- package/packages/dd-trace/src/llmobs/audio-utils.js +3 -2
- package/packages/dd-trace/src/llmobs/constants/tags.js +13 -0
- package/packages/dd-trace/src/llmobs/experiments/experiment.js +1 -1
- package/packages/dd-trace/src/llmobs/plugins/anthropic/index.js +15 -0
- package/packages/dd-trace/src/llmobs/plugins/genai/util.js +1 -2
- package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/chat_model.js +1 -3
- package/packages/dd-trace/src/llmobs/plugins/langgraph/index.js +1 -1
- package/packages/dd-trace/src/llmobs/plugins/nova-sonic.js +92 -0
- package/packages/dd-trace/src/llmobs/plugins/openai/index.js +56 -2
- package/packages/dd-trace/src/llmobs/plugins/openai/utils.js +38 -0
- package/packages/dd-trace/src/llmobs/prompts/manager.js +5 -7
- package/packages/dd-trace/src/llmobs/prompts/prompt.js +1 -1
- package/packages/dd-trace/src/llmobs/sdk.js +23 -6
- package/packages/dd-trace/src/llmobs/span_processor.js +18 -8
- package/packages/dd-trace/src/llmobs/tagger.js +56 -3
- package/packages/dd-trace/src/llmobs/util.js +1 -2
- package/packages/dd-trace/src/llmobs/writers/base.js +7 -6
- package/packages/dd-trace/src/llmobs/writers/util.js +3 -1
- package/packages/dd-trace/src/log/log.js +1 -5
- package/packages/dd-trace/src/openfeature/agentless_configuration_source.js +30 -1
- package/packages/dd-trace/src/openfeature/configuration_source.js +17 -2
- package/packages/dd-trace/src/openfeature/debug-logging-hook.js +25 -0
- package/packages/dd-trace/src/openfeature/evaluation-telemetry-opt-out-hook.js +51 -0
- package/packages/dd-trace/src/openfeature/flagging_provider.js +59 -3
- package/packages/dd-trace/src/openfeature/remote_config.js +9 -0
- package/packages/dd-trace/src/openfeature/writers/util.js +43 -4
- package/packages/dd-trace/src/opentelemetry/logs/otlp_transformer.js +1 -1
- package/packages/dd-trace/src/opentelemetry/metrics/otlp_transformer.js +1 -1
- package/packages/dd-trace/src/opentelemetry/metrics/periodic_metric_reader.js +1 -2
- package/packages/dd-trace/src/opentelemetry/otlp/common.proto +1 -1
- package/packages/dd-trace/src/opentelemetry/resource-attributes.js +1 -1
- package/packages/dd-trace/src/opentelemetry/trace/otlp_transformer.js +6 -23
- package/packages/dd-trace/src/opentracing/propagation/text_map.js +53 -13
- package/packages/dd-trace/src/otel-sampling.js +4 -5
- package/packages/dd-trace/src/otel-thread-ctx.js +81 -15
- package/packages/dd-trace/src/plugins/database.js +7 -16
- package/packages/dd-trace/src/plugins/util/git.js +9 -25
- package/packages/dd-trace/src/plugins/util/inferred_proxy.js +1 -5
- package/packages/dd-trace/src/plugins/util/test.js +48 -4
- package/packages/dd-trace/src/priority_sampler.js +1 -2
- package/packages/dd-trace/src/profiling/profiler.js +4 -6
- package/packages/dd-trace/src/profiling/profilers/wall.js +4 -10
- package/packages/dd-trace/src/proxy.js +3 -2
- package/packages/dd-trace/src/ritm.js +4 -2
- package/packages/dd-trace/src/serverless.js +10 -0
- package/packages/dd-trace/src/span_processor.js +13 -17
- package/packages/dd-trace/src/storage-channels.js +112 -46
- package/packages/dd-trace/src/telemetry/endpoints.js +1 -3
- package/packages/dd-trace/src/util.js +29 -0
- package/packages/dd-trace/src/web-tags-cache.js +6 -2
- package/vendor/dist/@datadog/openfeature-node-server/index.js +1 -1
- package/vendor/dist/@datadog/openfeature-node-server/rules-based/LICENSE +201 -0
- package/vendor/dist/@datadog/openfeature-node-server/rules-based/index.d.ts +925 -0
- package/vendor/dist/@datadog/openfeature-node-server/rules-based/index.js +1 -0
- package/vendor/dist/@datadog/sketches-js/index.js +1 -1
- package/vendor/dist/protobufjs/index.js +1 -1
- package/vendor/dist/protobufjs/minimal/index.js +1 -1
- package/vendor/dist/shell-quote/index.js +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(()=>{"use strict";let e,t,n,r,a;var o,i,l,s,u,m,d,p,c,f,b,g,E,y,N,T,h,I,S,_,v,R,A,F,O,L,D,V,U,G,C,w,B,Y,k,Z,P,W,M,X,x,K,J,j,Q,H,$,z,q,ee,et,en,er,ea,eo,ei,el,es,eu={};eu.d=(e,t)=>{for(var n in t)eu.o(t,n)&&!eu.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},eu.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),eu.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var em={};eu.r(em),eu.d(em,{configurationFromRulesBinary:()=>configurationFromRulesBinary,fetchRulesConfiguration:()=>fetchRulesConfiguration,configurationFromString:()=>configurationFromString,ConfigurationFetchError:()=>ConfigurationFetchError,configurationToString:()=>configurationToString});let ed=Uint8Array.prototype.setFromBase64;function base64Decode(e){let t=e.length,n=t-(t+3>>2);(3&t)==0&&"="==e[t-1]&&(n-="="==e[t-2]?2:1);let r=new Uint8Array(n),a=-1;if(ed)try{let n=ed.call(r,e);n.read==t&&(a=n.written)}catch(e){}return a<0&&(a=setFromBase64(r,e)),a==n?r:r.subarray(0,a)}function setFromBase64(e,t){let n=getDecodeTable(),r=0,a=0,o,i=0;for(let l=0;l<t.length;l++){if(void 0===(o=n[t.charCodeAt(l)]))switch(t[l]){case"=":a=0;case"\n":case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string")}switch(a){case 0:i=o,a=1;break;case 1:e[r++]=i<<2|(48&o)>>4,i=o,a=2;break;case 2:e[r++]=(15&i)<<4|(60&o)>>2,i=o,a=3;break;case 3:e[r++]=(3&i)<<6|o,a=0}}if(1==a)throw Error("invalid base64 string");return r}let ep=Uint8Array.prototype.toBase64,ec={std:{alphabet:"base64",omitPadding:!1},std_raw:{alphabet:"base64",omitPadding:!0},url:{alphabet:"base64url",omitPadding:!0}};function base64Encode(e,t="std"){if(ep)return ep.call(e,ec[t]);let n=getEncodeTable(t),r="std"==t,a="",o=0,i,l=0;for(let t=0;t<e.length;t++)switch(i=e[t],o){case 0:a+=n[i>>2],l=(3&i)<<4,o=1;break;case 1:a+=n[l|i>>4],l=(15&i)<<2,o=2;break;case 2:a+=n[l|i>>6],a+=n[63&i],o=0}return o&&(a+=n[l],r&&(a+="=",1==o&&(a+="="))),a}function getEncodeTable(n){return e||(t=(e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("")).slice(0,-2).concat("-","_")),"url"==n?t:e}function getDecodeTable(){if(!n){n=[];let e=getEncodeTable("std");for(let t=0;t<e.length;t++)n[e[t].charCodeAt(0)]=t;n[45]=e.indexOf("+"),n[95]=e.indexOf("/")}return n}function configureTextEncoding(e){var t;r=Object.assign(Object.assign({},e),{encodeUtf8Into:null!=(t=e.encodeUtf8Into)?t:emulateEncodeInto(e.encodeUtf8.bind(e))})}function getTextEncoding(){if(!r){let e,t=globalThis;if(!t.TextEncoder||!t.TextDecoder)throw Error("encoding API missing: install TextEncoder and TextDecoder on globalThis");let n=new t.TextEncoder,r=new t.TextDecoder,a={encodeUtf8:e=>n.encode(e),decodeUtf8:(n,a)=>a?(e||(e=new t.TextDecoder("utf-8",{fatal:!0})),e.decode(n)):r.decode(n),checkUtf8(e){try{return encodeURIComponent(e),!0}catch(e){return!1}}};n.encodeInto&&(a.encodeUtf8Into=n.encodeInto.bind(n));let o=String.prototype.isWellFormed;o&&(a.checkUtf8=e=>o.call(e)),configureTextEncoding(a)}return r}function emulateEncodeInto(e){return(t,n)=>{let r=e(t);return n.set(r),{written:r.byteLength}}}let ef=getUsableTextEncoder();function utf8_encodeUtf8(e){return ef?ef.encode(e):encodeUtf8Fallback(e)}function getUsableTextEncoder(){try{let e=new globalThis.TextEncoder;return 0===e.encode("").length?e:void 0}catch(e){return}}function encodeUtf8Fallback(e){let t=[];for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);if(r>=55296&&r<=56319){let t=e.charCodeAt(n+1);t>=56320&&t<=57343?(r=65536+(r-55296<<10)+(t-56320),n++):r=65533}else r>=56320&&r<=57343&&(r=65533);r<=127?t.push(r):r<=2047?t.push(192|r>>6,128|63&r):r<=65535?t.push(224|r>>12,128|r>>6&63,128|63&r):t.push(240|r>>18,128|r>>12&63,128|r>>6&63,128|63&r)}return new Uint8Array(t)}function protobuf_text_encoding_decodeUtf8(e){let t="";for(let n=0;n<e.length;){let r,a,o=e[n++];if(o<=127)r=o,a=0;else if(o>=194&&o<=223)r=31&o,a=1;else if(o>=224&&o<=239)r=15&o,a=2;else if(o>=240&&o<=244)r=7&o,a=3;else throw Error("Invalid UTF-8");for(let t=0;t<a;t++){let t=e[n++];if(void 0===t||(192&t)!=128)throw Error("Invalid UTF-8");r=r<<6|63&t}if(2===a&&r<2048||3===a&&r<65536||r>1114111||r>=55296&&r<=57343)throw Error("Invalid UTF-8");t+=String.fromCodePoint(r)}return t}function varint64read(){let e=this.buf,t=this.pos,n=0,r=0;for(let a=0;a<28;a+=7){let o=e[t++];if(n|=(127&o)<<a,(128&o)==0){this.pos=t,this.assertBounds(),this.varint64Lo=n,this.varint64Hi=r;return}}let a=e[t++];if(n|=(15&a)<<28,r=(112&a)>>4,(128&a)==0){this.pos=t,this.assertBounds(),this.varint64Lo=n,this.varint64Hi=r;return}for(let a=3;a<=31;a+=7){let o=e[t++];if(r|=(127&o)<<a,(128&o)==0){this.pos=t,this.assertBounds(),this.varint64Lo=n,this.varint64Hi=r;return}}throw Error("invalid varint")}function int64FromString(e){let t="-"===e[0];t&&(e=e.slice(1));let n=0,r=0;function add1e6digit(t,a){let o=Number(e.slice(t,a));r*=1e6,(n=1e6*n+o)>=0x100000000&&(r+=n/0x100000000|0,n%=0x100000000)}return add1e6digit(-24,-18),add1e6digit(-18,-12),add1e6digit(-12,-6),add1e6digit(-6),t?negate(n,r):newBits(n,r)}function int64ToString(e,t){let n=newBits(e,t),r=0x80000000&n.hi;r&&(n=negate(n.lo,n.hi));let a=uInt64ToString(n.lo,n.hi);return r?"-"+a:a}function uInt64ToString(e,t){if({lo:e,hi:t}=toUnsigned(e,t),t<=2097151)return String(0x100000000*t+e);let n=0xffffff&e,r=(e>>>24|t<<8)&0xffffff,a=t>>16&65535,o=n+6777216*r+6710656*a,i=r+8147497*a,l=2*a;return o>=1e7&&(i+=Math.floor(o/1e7),o%=1e7),i>=1e7&&(l+=Math.floor(i/1e7),i%=1e7),l.toString()+decimalFrom1e7WithLeadingZeros(i)+decimalFrom1e7WithLeadingZeros(o)}function toUnsigned(e,t){return{lo:e>>>0,hi:t>>>0}}function newBits(e,t){return{lo:0|e,hi:0|t}}function negate(e,t){return t=~t,e?e=~e+1:t+=1,newBits(e,t)}(function hasUsableTextEncoding(){try{return 0===new globalThis.TextEncoder().encode("").length&&0===new globalThis.TextDecoder().decode(new Uint8Array).length}catch(e){return!1}})()||configureTextEncoding({checkUtf8(e){try{return encodeURIComponent(e),!0}catch(e){return!1}},decodeUtf8:protobuf_text_encoding_decodeUtf8,encodeUtf8:utf8_encodeUtf8}),(o=G||(G={}))[o.DOUBLE=1]="DOUBLE",o[o.FLOAT=2]="FLOAT",o[o.INT64=3]="INT64",o[o.UINT64=4]="UINT64",o[o.INT32=5]="INT32",o[o.FIXED64=6]="FIXED64",o[o.FIXED32=7]="FIXED32",o[o.BOOL=8]="BOOL",o[o.STRING=9]="STRING",o[o.BYTES=12]="BYTES",o[o.UINT32=13]="UINT32",o[o.SFIXED32=15]="SFIXED32",o[o.SFIXED64=16]="SFIXED64",o[o.SINT32=17]="SINT32",o[o.SINT64=18]="SINT64";let decimalFrom1e7WithLeadingZeros=e=>{let t=String(e);return"0000000".slice(t.length)+t};function varint32write(e,t){if(e>>>0<128)return void t.push(e);if(e>=0){for(;e>127;)t.push(127&e|128),e>>>=7;t.push(e)}else{for(let n=0;n<9;n++)t.push(127&e|128),e>>=7;t.push(1)}}function varint32read(){let e=this.buf[this.pos++];if((128&e)==0)return this.assertBounds(),e;let t=127&e;if(t|=(127&(e=this.buf[this.pos++]))<<7,(128&e)==0||(t|=(127&(e=this.buf[this.pos++]))<<14,(128&e)==0)||(t|=(127&(e=this.buf[this.pos++]))<<21,(128&e)==0))return this.assertBounds(),t;t|=(15&(e=this.buf[this.pos++]))<<28;for(let t=5;(128&e)!=0&&t<10;t++)e=this.buf[this.pos++];if((128&e)!=0)throw Error("invalid varint");return this.assertBounds(),t>>>0}let eb=makeInt64Support();function makeInt64Support(){let e=new DataView(new ArrayBuffer(8));if("function"==typeof BigInt&&"function"==typeof e.getBigInt64&&"function"==typeof e.getBigUint64&&"function"==typeof e.setBigInt64&&"function"==typeof e.setBigUint64&&(globalThis.Deno||globalThis.Bun||"object"!=typeof process||"object"!=typeof process.env||"1"!==process.env.BUF_BIGINT_DISABLE)){let t=BigInt("-9223372036854775808"),n=BigInt("9223372036854775807"),r=BigInt("0"),a=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(e){let r="bigint"==typeof e?e:BigInt(e);if(r>n||r<t)throw Error(`invalid int64: ${e}`);return r},uParse(e){let t="bigint"==typeof e?e:BigInt(e);if(t>a||t<r)throw Error(`invalid uint64: ${e}`);return t},enc(t){return e.setBigInt64(0,this.parse(t),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},uEnc(t){return e.setBigInt64(0,this.uParse(t),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},dec:(t,n)=>(e.setInt32(0,t,!0),e.setInt32(4,n,!0),e.getBigInt64(0,!0)),uDec:(t,n)=>(e.setInt32(0,t,!0),e.setInt32(4,n,!0),e.getBigUint64(0,!0))}}return{zero:"0",supported:!1,parse:e=>("string"!=typeof e&&(e=e.toString()),assertInt64String(e),e),uParse:e=>("string"!=typeof e&&(e=e.toString()),assertUInt64String(e),e),enc:e=>("string"!=typeof e&&(e=e.toString()),assertInt64String(e),int64FromString(e)),uEnc:e=>("string"!=typeof e&&(e=e.toString()),assertUInt64String(e),int64FromString(e)),dec:(e,t)=>int64ToString(e,t),uDec:(e,t)=>uInt64ToString(e,t)}}function assertInt64String(e){if(!/^-?[0-9]+$/.test(e))throw Error("invalid int64: "+e)}function assertUInt64String(e){if(!/^[0-9]+$/.test(e))throw Error("invalid uint64: "+e)}function scalar_scalarZeroValue(e,t){switch(e){case G.STRING:return"";case G.BOOL:return!1;case G.DOUBLE:case G.FLOAT:return 0;case G.INT64:case G.UINT64:case G.SFIXED64:case G.FIXED64:case G.SINT64:return t?"0":eb.zero;case G.BYTES:return new Uint8Array(0);default:return 0}}function unsafeIsSetExplicit(e,t){return Object.prototype.hasOwnProperty.call(e,t)&&void 0!==e[t]}function setOwn(e,t,n){"__proto__"===t?Object.defineProperty(e,"__proto__",{value:n,writable:!0,enumerable:!0,configurable:!0}):e[t]=n}function is_message_isMessage(e,t){return!!(null!==e&&"object"==typeof e&&"$typeName"in e&&"string"==typeof e.$typeName)&&(void 0===t||t.typeName===e.$typeName)}function isObject(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function isWrapperDesc(e){let t=e.fields[0];return isWrapperTypeName(e.typeName)&&void 0!==t&&"scalar"==t.fieldKind&&"value"==t.name&&1==t.number}Symbol.for("reflect unsafe local");let eg=new Set(["google.protobuf.DoubleValue","google.protobuf.FloatValue","google.protobuf.Int64Value","google.protobuf.UInt64Value","google.protobuf.Int32Value","google.protobuf.UInt32Value","google.protobuf.BoolValue","google.protobuf.StringValue","google.protobuf.BytesValue"]);function isWrapperTypeName(e){return eg.has(e)}function create(e,t){return is_message_isMessage(t,e)?t:compiledCreate(e)(t)}let eE=new WeakMap;function compiledCreate(e){let t=eE.get(e);return void 0===t&&(t=compileCreate(e),eE.set(e,t)),t}function compileCreate(e){let t=e.typeName,{properties:n,prototype:r}=compileInitMessage(e);return e=>{let a;void 0!==r?(a=Object.create(r)).$typeName=t:a={$typeName:t};for(let t=0;t<n.length;t++){let r=n[t],o=r.name,i=null==e?void 0:e[o];switch(r.kind){case 0:null!=i?a[o]=void 0!==r.convert?r.convert(i):i:void 0!==r.constant&&(a[o]=r.constant);break;case 1:a[o]=void 0!==r.convert&&Array.isArray(i)?i.map(r.convert):null!=i?i:[];break;case 2:if(void 0!==r.convert&&isObject(i)){let e={},t=Object.keys(i);for(let n=0;n<t.length;n++)setOwn(e,t[n],r.convert(i[t[n]]));a[o]=e}else a[o]=null!=i?i:{};break;case 3:if((null==i?void 0:i.case)!=null){let e=r.convert.get(i.case);if(void 0!==e){a[o]={case:i.case,value:e(i.value)};break}}a[o]={case:void 0}}}return a}}function compileInitMessage(e){var t,n;let r=[],a={},o=needsPrototypeChain(e);for(let i of e.members){let e=i.localName;if("oneof"==i.kind){r.push({name:e,kind:3,constant:void 0,convert:compileConvertOneof(i)});continue}switch(i.fieldKind){case"message":r.push({name:e,kind:0,constant:void 0,convert:compileConvertMessage(i)});break;case"list":r.push({name:e,kind:1,constant:void 0,convert:"message"==i.listKind?null!=(t=compileConvertMessage(i))?t:e=>e:i.scalar==G.BYTES?toU8Arr:void 0});break;case"map":r.push({name:e,kind:2,constant:void 0,convert:"message"==i.mapKind?null!=(n=compileConvertMessage(i))?n:e=>e:i.scalar==G.BYTES?toU8Arr:void 0});break;default:{let t=createZeroValue(i);r.push({name:e,kind:0,constant:2==i.presence?t:void 0,convert:"scalar"==i.fieldKind&&i.scalar==G.BYTES?toU8Arr:void 0}),o&&(a[e]=t)}}}return{properties:r,prototype:o?a:void 0}}function compileConvertOneof(e){let t=new Map;for(let n of e.fields){let e;"message"==n.fieldKind?e=compileConvertMessage(n):"scalar"==n.fieldKind&&n.scalar==G.BYTES&&(e=toU8Arr),t.set(n.localName,null!=e?e:e=>e)}return t}function compileConvertMessage(e){let t;if("message"==e.fieldKind&&!e.oneof&&isWrapperDesc(e.message))return e.message.fields[0].scalar==G.BYTES?toU8Arr:void 0;if("google.protobuf.Struct"==e.message.typeName&&"google.protobuf.Value"!==e.parent.typeName)return;let n=e.message;return e=>!isObject(e)||is_message_isMessage(e,n)?e:(null!=t||(t=compiledCreate(n)),t(e))}function toU8Arr(e){return Array.isArray(e)?new Uint8Array(e):e}function needsPrototypeChain(e){switch(e.file.edition){case 999:return!1;case 998:return!0;default:return e.fields.some(e=>2!=e.presence&&"message"!=e.fieldKind&&!e.oneof)}}function createZeroValue(e){let t=e.getDefaultValue();return void 0!==t?"scalar"==e.fieldKind&&e.longAsString?t.toString():t:"scalar"==e.fieldKind?scalar_scalarZeroValue(e.scalar,e.longAsString):e.enum.values[0].number}function localMessageMapper(e){if(usesJsonRepresentation(e))return{toMessage:e=>wktStructToReflect(e),toLocal:e=>wktStructToLocal(e)};if("message"==e.fieldKind&&!e.oneof&&isWrapperDesc(e.message)){let t=e.message,n=t.fields[0].localName;return{toMessage:e=>{let r=create(t);return void 0!==e&&(r[n]=e),r},toLocal:e=>e[n]}}let t=e.message;return{toMessage:e=>void 0===e?create(t):e,toLocal:e=>e}}function usesJsonRepresentation(e){return"google.protobuf.Struct"==e.message.typeName&&"google.protobuf.Value"!=e.parent.typeName}function wktStructToReflect(e){let t={$typeName:"google.protobuf.Struct",fields:{}};if(isObject(e))for(let n of Object.keys(e))setOwn(t.fields,n,wktValueToReflect(e[n]));return t}function wktStructToLocal(e){let t={};for(let n of Object.keys(e.fields))setOwn(t,n,wktValueToLocal(e.fields[n]));return t}function wktValueToLocal(e){switch(e.kind.case){case"structValue":return wktStructToLocal(e.kind.value);case"listValue":return e.kind.value.values.map(wktValueToLocal);case"nullValue":case void 0:return null;default:return e.kind.value}}function wktValueToReflect(e){let t={$typeName:"google.protobuf.Value",kind:{case:void 0}};switch(typeof e){case"number":t.kind={case:"numberValue",value:e};break;case"string":t.kind={case:"stringValue",value:e};break;case"boolean":t.kind={case:"boolValue",value:e};break;case"object":if(null===e)t.kind={case:"nullValue",value:0};else if(Array.isArray(e)){let n={$typeName:"google.protobuf.ListValue",values:[]};if(Array.isArray(e))for(let t of e)n.values.push(wktValueToReflect(t));t.kind={case:"listValue",value:n}}else t.kind={case:"structValue",value:wktStructToReflect(e)}}return t}(i=C||(C={}))[i.Varint=0]="Varint",i[i.Bit64=1]="Bit64",i[i.LengthDelimited=2]="LengthDelimited",i[i.StartGroup=3]="StartGroup",i[i.EndGroup=4]="EndGroup",i[i.Bit32=5]="Bit32";let BinaryWriter=class BinaryWriter{constructor(e){this.stackPos=[],this.encodeUtf8Into=e?emulateEncodeInto(e):getTextEncoding().encodeUtf8Into,this.buffer=eT,this.viewCache=eh,this.pos=0}ensureCapacity(e){let t=this.pos+e;if(t>this.buffer.length){let e=this.buffer.length||ey;for(;e<t;)e*=2;let n=new Uint8Array(e);this.pos>0&&n.set(this.buffer),this.buffer=n}}view(){let e=this.buffer,t=this.viewCache;if(t.byteLength===e.byteLength)return t;let n=new DataView(e.buffer);return this.viewCache=n,n}finish(){let e=this.buffer.slice(0,this.pos);return this.pos=0,this.stackPos=[],e}fork(){return this.stackPos.push(this.pos),this.ensureCapacity(eN),this.buffer[this.pos++]=0,this}join(){let e=this.stackPos.pop();if(void 0===e)throw Error("invalid state, fork stack empty");let t=this.pos-e-eN,n=varint32Size(t);return n>eN&&(this.ensureCapacity(n-eN),this.buffer.copyWithin(e+n,e+eN,this.pos)),this.pos=e,this.uint32(t),this.pos+=t,this}tag(e,t){return this.uint32((e<<3|t)>>>0)}raw(e){return this.ensureCapacity(e.length),this.buffer.set(e,this.pos),this.pos+=e.length,this}uint32(e){if(assertUInt32(e),this.ensureCapacity(5),e<128)return this.buffer[this.pos++]=e,this;for(;e>127;)this.buffer[this.pos++]=127&e|128,e>>>=7;return this.buffer[this.pos++]=e,this}int32(e){if(assertInt32(e),e>=0)return this.uint32(e);this.ensureCapacity(10);for(let t=0;t<9;t++)this.buffer[this.pos++]=127&e|128,e>>=7;return this.buffer[this.pos++]=1,this}bool(e){return this.ensureCapacity(1),this.buffer[this.pos++]=+!!e,this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){"string"!=typeof e&&(e=String(e));let t=e.length;if(t<=eI){this.ensureCapacity(t+1);let n=this.buffer,r=this.pos;n[r++]=t;let a=0;for(;a<t;a++){let t=e.charCodeAt(a);if(t>127)break;n[r++]=t}if(a==t)return this.pos=r,this}this.ensureCapacity(3*t+5);let n=varint32Size(t),r=this.buffer,a=this.pos,{written:o}=this.encodeUtf8Into(e,r.subarray(a+n)),i=varint32Size(o);return i!=n&&r.copyWithin(a+i,a+n,a+n+o),this.uint32(o),this.pos+=o,this}float(e){return assertFloat32(e),this.ensureCapacity(4),this.view().setFloat32(this.pos,e,!0),this.pos+=4,this}double(e){return this.ensureCapacity(8),this.view().setFloat64(this.pos,e,!0),this.pos+=8,this}fixed32(e){return assertUInt32(e),this.ensureCapacity(4),this.view().setUint32(this.pos,e,!0),this.pos+=4,this}sfixed32(e){return assertInt32(e),this.ensureCapacity(4),this.view().setInt32(this.pos,e,!0),this.pos+=4,this}sint32(e){return assertInt32(e),this.uint32((e<<1^e>>31)>>>0)}sfixed64(e){let t=eb.enc(e);this.ensureCapacity(8);let n=this.view();return n.setInt32(this.pos,t.lo,!0),n.setInt32(this.pos+4,t.hi,!0),this.pos+=8,this}fixed64(e){let t=eb.uEnc(e);this.ensureCapacity(8);let n=this.view();return n.setInt32(this.pos,t.lo,!0),n.setInt32(this.pos+4,t.hi,!0),this.pos+=8,this}int64(e){let t=eb.enc(e);return this.writeVarint64(t.lo,t.hi)}sint64(e){let t=eb.enc(e),n=t.hi>>31,r=t.lo<<1^n,a=(t.hi<<1|t.lo>>>31)^n;return this.writeVarint64(r,a)}uint64(e){let t=eb.uEnc(e);return this.writeVarint64(t.lo,t.hi)}writeVarint64(e,t){this.ensureCapacity(10);let n=this.buffer,r=this.pos;for(let a=0;a<28;a+=7){let o=e>>>a,i=o>>>7!=0||0!=t;if(n[r++]=(i?128|o:o)&255,!i)return this.pos=r,this}let a=e>>>28&15|(7&t)<<4,o=t>>3!=0;if(n[r++]=(o?128|a:a)&255,!o)return this.pos=r,this;for(let e=3;e<31;e+=7){let a=t>>>e,o=a>>>7!=0;if(n[r++]=(o?128|a:a)&255,!o)return this.pos=r,this}return n[r++]=t>>>31&1,this.pos=r,this}};let ey=128,eN=1,eT=new Uint8Array(0),eh=new DataView(eT.buffer),eI=32;function varint32Size(e){return e<128?1:e<16384?2:e<2097152?3:e<0x10000000?4:5}let binary_encoding_BinaryReader=class binary_encoding_BinaryReader{constructor(e,t=getTextEncoding().decodeUtf8){this.decodeUtf8=t,this.varint64Lo=0,this.varint64Hi=0,this.varint64=varint64read,this.uint32=varint32read,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength)}tag(){let e=this.pos,t=this.uint32(),n=this.pos-e;if(n>5||5==n&&this.buf[this.pos-1]>15)throw Error("illegal tag: varint overflows uint32");let r=t>>>3,a=7&t;if(r<=0||a>5)throw Error("illegal tag: field no "+r+" wire type "+a);return[r,a]}skip(e,t,n=100){let r=this.pos;switch(e){case C.Varint:for(;128&this.buf[this.pos++];);break;case C.Bit64:this.pos+=4;case C.Bit32:this.pos+=4;break;case C.LengthDelimited:let a=this.uint32();this.pos+=a;break;case C.StartGroup:if(n<=0)throw Error("maximum recursion depth reached");for(;;){let[e,r]=this.tag();if(r===C.EndGroup){if(void 0!==t&&e!==t)throw Error("invalid end group tag");break}this.skip(r,e,n-1)}break;default:throw Error("cant skip wire type "+e)}return this.assertBounds(),this.buf.subarray(r,this.pos)}assertBounds(){if(this.pos>this.len)throw RangeError("premature EOF")}int32(){return 0|this.uint32()}sint32(){let e=this.uint32();return e>>>1^-(1&e)}int64(){return this.varint64(),eb.dec(this.varint64Lo,this.varint64Hi)}uint64(){return this.varint64(),eb.uDec(this.varint64Lo,this.varint64Hi)}sint64(){this.varint64();let e=this.varint64Lo,t=this.varint64Hi,n=-(1&e);return e=(e>>>1|(1&t)<<31)^n,t=t>>>1^n,eb.dec(e,t)}bool(){let e=this.buf[this.pos];return e<128?(this.pos++,0!==e):(this.varint64(),0!==this.varint64Lo||0!==this.varint64Hi)}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return eb.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return eb.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),t=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(t,t+e)}string(e){let t=this.bytes(),n=t.length;if(n<=eI){let r=Array(n);for(let a=0;a<n;a++){let n=t[a];if(n>127)return this.decodeUtf8(t,e);r[a]=n}return String.fromCharCode.apply(String,r)}return this.decodeUtf8(t,e)}};function assertInt32(e){if("string"==typeof e)e=Number(e);else if("number"!=typeof e)throw Error("invalid int32: "+typeof e);if(!Number.isInteger(e)||e>0x7fffffff||e<-0x80000000)throw Error("invalid int32: "+e)}function assertUInt32(e){if("string"==typeof e)e=Number(e);else if("number"!=typeof e)throw Error("invalid uint32: "+typeof e);if(!Number.isInteger(e)||e>0xffffffff||e<0)throw Error("invalid uint32: "+e)}function assertFloat32(e){if("string"==typeof e){let t=e;if(Number.isNaN(e=Number(e))&&"NaN"!==t)throw Error("invalid float32: "+t)}else if("number"!=typeof e)throw Error("invalid float32: "+typeof e);if(!Number.isFinite(Math.fround(e))&&Number.isFinite(e))throw Error("invalid float32: "+e)}function makeReadContext(e){return Object.assign(Object.assign({readUnknownFields:!0,recursionLimit:100},e),{depth:0})}function fromBinary(e,t,n){let r=create(e);return compiledReader(e).read(r,new binary_encoding_BinaryReader(t),makeReadContext(n),t.byteLength),r}let eS=new WeakMap;function compiledReader(e){let t=eS.get(e);return void 0===t&&(t=compileMessage(e)),t}function compileMessage(e){let t=String(e),n=new Map,r={read:compileMessageReader(t,n),readGroup:compileGroupReader(t,n)};for(let t of(eS.set(e,r),e.fields))n.set(t.number,compileFieldReader(t));return r}function compileMessageReader(e,t){return(n,r,a,o)=>{var i;if(++a.depth>a.recursionLimit)throw Error(`cannot decode ${e} from binary: maximum recursion depth of ${a.recursionLimit} reached`);let l=r.pos+o,s=null!=(i=n.$unknown)?i:[];for(;r.pos<l;){let[e,o]=r.tag(),i=t.get(e);if(void 0===i){let t=r.skip(o,e,a.recursionLimit-a.depth);a.readUnknownFields&&s.push({no:e,wireType:o,data:t});continue}i(n,r,a,o)}s.length>0&&(n.$unknown=s),a.depth--}}function compileGroupReader(e,t){return(n,r,a,o)=>{var i;let l,s;if(++a.depth>a.recursionLimit)throw Error(`cannot decode ${e} from binary: maximum recursion depth of ${a.recursionLimit} reached`);let u=null!=(i=n.$unknown)?i:[];for(;r.pos<r.len&&([l,s]=r.tag(),s!=C.EndGroup);){let e=t.get(l);if(void 0===e){let e=r.skip(s,l,a.recursionLimit-a.depth);a.readUnknownFields&&u.push({no:l,wireType:s,data:e});continue}e(n,r,a,s)}if(s!=C.EndGroup||l!==o)throw Error("invalid end group tag");u.length>0&&(n.$unknown=u),a.depth--}}function compileFieldReader(e){switch(e.fieldKind){case"scalar":return compileScalarFieldReader(e);case"enum":return compileEnumFieldReader(e);case"message":return compileMessageFieldReader(e);case"list":return compileListFieldReader(e);case"map":return compileMapFieldReader(e)}}function compileScalarFieldReader(e){let t=compileScalarReader(e.scalar,e.utf8Validation,e.longAsString),n=e.localName;if(e.oneof){let r=e.oneof.localName;return(e,a)=>{e[r]={case:n,value:t(a)}}}return(e,r)=>{e[n]=t(r)}}function compileEnumFieldReader(e){var t;let n=e.localName,r=null==(t=e.oneof)?void 0:t.localName;if(e.enum.open)return void 0!==r?(e,t)=>{e[r]={case:n,value:t.int32()}}:(e,t)=>{e[n]=t.int32()};let a=e.enum.values,o=e.number;return(e,t,i,l)=>{var s;let u=t.int32();if(a.some(e=>e.number===u))void 0!==r?e[r]={case:n,value:u}:e[n]=u;else if(i.readUnknownFields){let t=[];varint32write(u,t);let n=null!=(s=e.$unknown)?s:[];n.push({no:o,wireType:l,data:new Uint8Array(t)}),e.$unknown=n}}}function compileMessageFieldReader(e){let t=e.localName,{toMessage:n,toLocal:r}=localMessageMapper(e),a=compileChildReader(e);if(e.oneof){let o=e.oneof.localName;return(e,i,l)=>{let s=e[o],u=n(s.case===t?s.value:void 0);a(u,i,l),e[o]={case:t,value:r(u)}}}return(e,o,i)=>{let l=n(e[t]);a(l,o,i),e[t]=r(l)}}function compileChildReader(e){let t=compiledReader(e.message);if(e.delimitedEncoding){let n=e.number;return(e,r,a)=>t.readGroup(e,r,a,n)}return(e,n,r)=>t.read(e,n,r,n.uint32())}function compileListFieldReader(e){let t=e.localName;if("message"==e.listKind){let{toMessage:n,toLocal:r}=localMessageMapper(e),a=compileChildReader(e);return(e,o,i)=>{let l=n(void 0);a(l,o,i),e[t].push(r(l))}}let n="enum"==e.listKind?G.INT32:e.scalar,r="scalar"==e.listKind&&e.longAsString,a=compileScalarReader(n,e.utf8Validation,r),o=n!=G.STRING&&n!=G.BYTES;return(e,n,r,i)=>{let l=e[t];if(i==C.LengthDelimited&&o){let e=n.uint32()+n.pos;for(;n.pos<e;)l.push(a(n))}else l.push(a(n))}}function compileMapFieldReader(e){let t,n,r=e.localName,a=compileScalarReader(e.mapKey,e.utf8Validation,!1),o=scalar_scalarZeroValue(e.mapKey,!1);switch(e.mapKind){case"scalar":{let r=e.scalar,a=compileScalarReader(r,e.utf8Validation,!1);if(t=e=>a(e),r==G.BYTES)n=()=>new Uint8Array(0);else{let e=scalar_scalarZeroValue(r,!1);n=()=>e}break}case"enum":{let r=e.enum.values[0].number;t=e=>e.int32(),n=()=>r;break}case"message":{let{toMessage:r,toLocal:a}=localMessageMapper(e),o=compiledReader(e.message).read;t=(e,t,n)=>{let i=r(n);return o(i,e,t,e.uint32()),a(i)},n=()=>a(r(void 0))}}return(e,i,l)=>{let s,u,m=e[r],d=i.uint32(),p=i.pos+d;for(;i.pos<p;){let[e]=i.tag();switch(e){case 1:s=a(i);break;case 2:u=t(i,l,u)}}void 0===s&&(s=o),void 0===u&&(u=n()),setOwn(m,s,u)}}function compileScalarReader(e,t,n){switch(e){case G.STRING:return e=>e.string(t);case G.BOOL:return e=>e.bool();case G.DOUBLE:return e=>e.double();case G.FLOAT:return e=>e.float();case G.INT32:return e=>e.int32();case G.INT64:if(n)return e=>String(e.int64());return e=>e.int64();case G.UINT64:if(n)return e=>String(e.uint64());return e=>e.uint64();case G.FIXED64:if(n)return e=>String(e.fixed64());return e=>e.fixed64();case G.BYTES:return e=>e.bytes();case G.FIXED32:return e=>e.fixed32();case G.SFIXED32:return e=>e.sfixed32();case G.SFIXED64:if(n)return e=>String(e.sfixed64());return e=>e.sfixed64();case G.SINT64:if(n)return e=>String(e.sint64());return e=>e.sint64();case G.UINT32:return e=>e.uint32();case G.SINT32:return e=>e.sint32()}}let error_FieldError=class error_FieldError extends Error{constructor(e,t,n="FieldValueInvalidError"){super(t),this.name=n,this.field=()=>e}};let e_={writeUnknownFields:!0};function makeWriteOptions(e){return e?Object.assign(Object.assign({},e_),e):e_}function toBinary(e,t,n){let r=new BinaryWriter;return compiledWriter(e)(r,makeWriteOptions(n),t),r.finish()}let ev=new WeakMap;function compiledWriter(e){let t=ev.get(e);return void 0===t&&(t=to_binary_compileMessage(e)),t}function to_binary_compileMessage(e){let t=e.typeName,n=e.fields.concat().sort((e,t)=>e.number-t.number),r=n[0],a=[],compiled=(e,n,o)=>{if(o.$typeName!==t&&void 0!==r)throw new error_FieldError(r,`cannot use ${r} with message ${o.$typeName}`,"ForeignFieldError");for(let t=0;t<a.length;t++)a[t](e,n,o);let i=o.$unknown;if(void 0!==i&&n.writeUnknownFields)for(let t=0;t<i.length;t++){let{no:n,wireType:r,data:a}=i[t];e.tag(n,r).raw(a)}};for(let t of(ev.set(e,compiled),n))a.push(compileField(t));return compiled}function compileField(e){switch(e.fieldKind){case"message":case"scalar":case"enum":return compileSingularField(e);case"list":return compileListField(e);case"map":return compileMapField(e)}}function compileSingularField(e){let t=compileSingularValue(e),n=e.localName;if(e.oneof){let r=e.oneof.localName;return(e,a,o)=>{let i=o[r];i.case===n&&t(e,a,i.value)}}if(2!=e.presence){let r=3==e.presence?`cannot encode ${e} to binary: required field not set`:void 0;return(e,a,o)=>{let i=o[n];if(void 0!==i&&Object.prototype.hasOwnProperty.call(o,n))t(e,a,i);else if(void 0!==r)throw Error(r)}}if("enum"==e.fieldKind){let r=e.enum.values[0].number;return(e,a,o)=>{let i=o[n];i!==r&&t(e,a,i)}}switch(e.scalar){case G.BOOL:return(e,r,a)=>{let o=a[n];!1!==o&&t(e,r,o)};case G.STRING:return(e,r,a)=>{let o=a[n];""!==o&&t(e,r,o)};case G.BYTES:return(e,r,a)=>{let o=a[n];o instanceof Uint8Array&&!(o.byteLength>0)||t(e,r,o)};case G.DOUBLE:case G.FLOAT:return(e,r,a)=>{let o=a[n];Object.is(o,0)||t(e,r,o)};default:return(e,r,a)=>{let o=a[n];0!=o&&t(e,r,o)}}}function compileSingularValue(e){switch(e.fieldKind){case"message":{let{toMessage:t}=localMessageMapper(e),n=compileChildWriter(e);return(e,r,a)=>{n(e,r,t(a))}}case"scalar":case"enum":{let t="enum"==e.fieldKind?G.INT32:e.scalar,n=e.number,r=writeTypeOfScalar(t),a=compileScalarValue(t,e.parent.typeName,e.name);return(e,t,o)=>{e.tag(n,r),a(e,o)}}}}function compileListField(e){let t=e.localName,n=e.number;switch(e.listKind){case"message":{let{toMessage:n}=localMessageMapper(e),r=compileChildWriter(e);return(e,a,o)=>{let i=o[t];for(let t=0;t<i.length;t++)r(e,a,n(i[t]))}}case"scalar":case"enum":{let r="enum"==e.listKind?G.INT32:e.scalar,a=compileScalarValue(r,e.parent.typeName,e.name);if(e.packed)return(e,r,o)=>{let i=o[t];if(0!=i.length){e.tag(n,C.LengthDelimited).fork();for(let t=0;t<i.length;t++)a(e,i[t]);e.join()}};let o=writeTypeOfScalar(r);return(e,r,i)=>{let l=i[t];for(let t=0;t<l.length;t++)e.tag(n,o),a(e,l[t])}}}}function compileMapField(e){let t=e.localName,n=e.number,r=compileMapKey(e);if("message"==e.mapKind){let{toMessage:a}=localMessageMapper(e),o=compiledWriter(e.message);return(e,i,l)=>{let s=l[t],u=Object.keys(s);for(let t=0;t<u.length;t++){let l=u[t];e.tag(n,C.LengthDelimited).fork(),r(e,l),e.tag(2,C.LengthDelimited).fork(),o(e,i,a(s[l])),e.join(),e.join()}}}let a="enum"==e.mapKind?G.INT32:e.scalar,o=writeTypeOfScalar(a),i=compileScalarValue(a,e.parent.typeName,e.name);return(e,a,l)=>{let s=l[t],u=Object.keys(s);for(let t=0;t<u.length;t++){let a=u[t];e.tag(n,C.LengthDelimited).fork(),r(e,a),e.tag(2,o),i(e,s[a]),e.join()}}}function compileMapKey(e){let t=writeTypeOfScalar(e.mapKey),n=compileScalarValue(e.mapKey,e.parent.typeName,e.name),r=compileMapKeyConverter(e.mapKey);return(e,a)=>{e.tag(1,t),n(e,r(a))}}function compileMapKeyConverter(e){switch(e){case G.STRING:return e=>e;case G.BOOL:return e=>"true"===e||"false"!==e&&e;case G.UINT64:case G.FIXED64:return e=>{try{return eb.uParse(e)}catch(t){return e}};case G.INT64:case G.SFIXED64:case G.SINT64:return e=>{try{return eb.parse(e)}catch(t){return e}};default:return e=>{let t=Number.parseInt(e);return Number.isFinite(t)?t:e}}}function compileScalarValue(e,t,n){let r=compileScalarWrite(e);return(e,a)=>{try{r(e,a)}catch(e){if(e instanceof Error)throw Error(`cannot encode field ${t}.${n} to binary: ${e.message}`);throw e}}}function compileScalarWrite(e){switch(e){case G.STRING:return(e,t)=>e.string(t);case G.BOOL:return(e,t)=>e.bool(t);case G.DOUBLE:return(e,t)=>e.double(t);case G.FLOAT:return(e,t)=>e.float(t);case G.INT32:return(e,t)=>e.int32(t);case G.INT64:return(e,t)=>e.int64(t);case G.UINT64:return(e,t)=>e.uint64(t);case G.FIXED64:return(e,t)=>e.fixed64(t);case G.BYTES:return(e,t)=>e.bytes(t);case G.FIXED32:return(e,t)=>e.fixed32(t);case G.SFIXED32:return(e,t)=>e.sfixed32(t);case G.SFIXED64:return(e,t)=>e.sfixed64(t);case G.SINT64:return(e,t)=>e.sint64(t);case G.UINT32:return(e,t)=>e.uint32(t);case G.SINT32:return(e,t)=>e.sint32(t)}}function compileChildWriter(e){let t=e.number,n=compiledWriter(e.message);return e.delimitedEncoding?(e,r,a)=>{e.tag(t,C.StartGroup),n(e,r,a),e.tag(t,C.EndGroup)}:(e,r,a)=>{e.tag(t,C.LengthDelimited).fork(),n(e,r,a),e.join()}}function writeTypeOfScalar(e){switch(e){case G.BYTES:case G.STRING:return C.LengthDelimited;case G.DOUBLE:case G.FIXED64:case G.SFIXED64:return C.Bit64;case G.FIXED32:case G.SFIXED32:case G.FLOAT:return C.Bit32;default:return C.Varint}}function protoCamelCase(e){let t=!1,n=[];for(let r=0;r<e.length;r++){let a=e.charAt(r);switch(a){case"_":t=!0;break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":n.push(a),t=!1;break;default:t&&(t=!1,a=a.toUpperCase()),n.push(a)}}return n.join("")}let eR=new Set(["constructor","toString","toJSON","valueOf"]);function safeObjectProperty(e){return eR.has(e)?e+"$":e}function restoreJsonNames(e){for(let t of e.field)unsafeIsSetExplicit(t,"jsonName")||(t.jsonName=protoCamelCase(t.name));e.nestedType.forEach(restoreJsonNames)}function parseTextFormatEnumValue(e,t){let n=e.values.find(e=>e.name===t);if(!n)throw Error(`cannot parse ${e} default value: ${t}`);return n.number}function parseTextFormatScalarValue(e,t){switch(e){case G.STRING:return t;case G.BYTES:{let n=unescapeBytesDefaultValue(t);if(!1===n)throw Error(`cannot parse ${G[e]} default value: ${t}`);return n}case G.INT64:case G.SFIXED64:case G.SINT64:return eb.parse(t);case G.UINT64:case G.FIXED64:return eb.uParse(t);case G.DOUBLE:case G.FLOAT:switch(t){case"inf":return 1/0;case"-inf":return-1/0;case"nan":return NaN;default:return parseFloat(t)}case G.BOOL:return"true"===t;case G.INT32:case G.UINT32:case G.SINT32:case G.FIXED32:case G.SFIXED32:return parseInt(t,10)}}function unescapeBytesDefaultValue(e){let t=[],n={tail:e,c:"",next(){return 0!=this.tail.length&&(this.c=this.tail[0],this.tail=this.tail.substring(1),!0)},take(e){if(this.tail.length>=e){let t=this.tail.substring(0,e);return this.tail=this.tail.substring(e),t}return!1}};for(;n.next();)if("\\"===n.c){if(n.next())switch(n.c){case"\\":t.push(n.c.charCodeAt(0));break;case"b":t.push(8);break;case"f":t.push(12);break;case"n":t.push(10);break;case"r":t.push(13);break;case"t":t.push(9);break;case"v":t.push(11);break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":{let e=n.c,r=n.take(2);if(!1===r)return!1;let a=parseInt(e+r,8);if(Number.isNaN(a))return!1;t.push(a);break}case"x":{let e=n.c,r=n.take(2);if(!1===r)return!1;let a=parseInt(e+r,16);if(Number.isNaN(a))return!1;t.push(a);break}case"u":{let e=n.c,r=n.take(4);if(!1===r)return!1;let a=parseInt(e+r,16);if(Number.isNaN(a))return!1;let o=new Uint8Array(4);new DataView(o.buffer).setInt32(0,a,!0),t.push(o[0],o[1],o[2],o[3]);break}case"U":{let e=n.c,r=n.take(8);if(!1===r)return!1;let a=eb.uEnc(e+r),o=new Uint8Array(8),i=new DataView(o.buffer);i.setInt32(0,a.lo,!0),i.setInt32(4,a.hi,!0),t.push(o[0],o[1],o[2],o[3],o[4],o[5],o[6],o[7])}}}else t.push(n.c.charCodeAt(0));return new Uint8Array(t)}function*nestedTypes(e){switch(e.kind){case"file":for(let t of e.messages)yield t,yield*nestedTypes(t);yield*e.enums,yield*e.services,yield*e.extensions;break;case"message":for(let t of e.nestedMessages)yield t,yield*nestedTypes(t);yield*e.nestedEnums,yield*e.nestedExtensions}}function createFileRegistry(...e){let t=createBaseRegistry();if(!e.length)return t;if("$typeName"in e[0]&&"google.protobuf.FileDescriptorSet"==e[0].$typeName){for(let n of e[0].file)addFile(n,t);return t}if("$typeName"in e[0]){let n=e[0],r=e[1],a=new Set;function recurseDeps(e){let n=[];for(let o of e.dependency){if(void 0!=t.getFile(o)||a.has(o))continue;let i=r(o);if(!i)throw Error(`Unable to resolve ${o}, imported by ${e.name}`);"kind"in i?t.addFile(i,!1,!0):(a.add(i.name),n.push(i))}return n.concat(...n.map(recurseDeps))}for(let e of[n,...recurseDeps(n)].reverse())addFile(e,t)}else for(let n of e)for(let e of n.files)t.addFile(e);return t}function createBaseRegistry(){let e=new Map,t=new Map,n=new Map;return{kind:"registry",types:e,extendees:t,[Symbol.iterator]:()=>e.values(),get files(){return n.values()},addFile(e,t,r){if(n.set(e.proto.name,e),!t)for(let t of nestedTypes(e))this.add(t);if(r)for(let n of e.dependencies)this.addFile(n,t,r)},add(n){if("extension"==n.kind){let e=t.get(n.extendee.typeName);e||t.set(n.extendee.typeName,e=new Map),e.set(n.number,n)}e.set(n.typeName,n)},get:t=>e.get(t),getFile:e=>n.get(e),getMessage(t){let n=e.get(t);return(null==n?void 0:n.kind)=="message"?n:void 0},getEnum(t){let n=e.get(t);return(null==n?void 0:n.kind)=="enum"?n:void 0},getExtension(t){let n=e.get(t);return(null==n?void 0:n.kind)=="extension"?n:void 0},getExtensionFor(e,n){var r;return null==(r=t.get(e.typeName))?void 0:r.get(n)},getService(t){let n=e.get(t);return(null==n?void 0:n.kind)=="service"?n:void 0}}}let eA={998:{fieldPresence:1,enumType:2,repeatedFieldEncoding:2,utf8Validation:3,messageEncoding:1,jsonFormat:2,enforceNamingStyle:2,defaultSymbolVisibility:1,enforceProtoLimits:1},999:{fieldPresence:2,enumType:1,repeatedFieldEncoding:1,utf8Validation:2,messageEncoding:1,jsonFormat:1,enforceNamingStyle:2,defaultSymbolVisibility:1,enforceProtoLimits:1},1e3:{fieldPresence:1,enumType:1,repeatedFieldEncoding:1,utf8Validation:2,messageEncoding:1,jsonFormat:1,enforceNamingStyle:2,defaultSymbolVisibility:1,enforceProtoLimits:1},1001:{fieldPresence:1,enumType:1,repeatedFieldEncoding:1,utf8Validation:2,messageEncoding:1,jsonFormat:1,enforceNamingStyle:1,defaultSymbolVisibility:2,enforceProtoLimits:1},1002:{fieldPresence:1,enumType:1,repeatedFieldEncoding:1,utf8Validation:2,messageEncoding:1,jsonFormat:1,enforceNamingStyle:3,defaultSymbolVisibility:4,enforceProtoLimits:2}};function addFile(e,t){var n,r;let a={kind:"file",proto:e,deprecated:null!=(r=null==(n=e.options)?void 0:n.deprecated)&&r,edition:getFileEdition(e),name:e.name.replace(/\.proto$/,""),dependencies:findFileDependencies(e,t),enums:[],messages:[],extensions:[],services:[],toString:()=>`file ${e.name}`},o=new Map,i={get:e=>o.get(e),add(e){var t;assert((null==(t=e.proto.options)?void 0:t.mapEntry)===!0),o.set(e.typeName,e)}};for(let n of e.enumType)addEnum(n,a,void 0,t);for(let n of e.messageType)addMessage(n,a,void 0,t,i);for(let n of e.service)addService(n,a,t);for(let e of(addExtensions(a,t),o.values()))addFields(e,t,i);for(let e of a.messages)addFields(e,t,i),addExtensions(e,t);t.addFile(a,!0)}function addExtensions(e,t){switch(e.kind){case"file":for(let n of e.proto.extension){let r=newField(n,e,t);e.extensions.push(r),t.add(r)}break;case"message":for(let n of e.proto.extension){let r=newField(n,e,t);e.nestedExtensions.push(r),t.add(r)}for(let n of e.nestedMessages)addExtensions(n,t)}}function addFields(e,t,n){let r=e.proto.oneofDecl.map(t=>newOneof(t,e)),a=new Set;for(let o of e.proto.field){let i=findOneof(o,r),l=newField(o,e,t,i,n);e.fields.push(l),e.field[l.localName]=l,void 0===i?e.members.push(l):(i.fields.push(l),a.has(i)||(a.add(i),e.members.push(i)))}for(let t of r.filter(e=>a.has(e)))e.oneofs.push(t);for(let r of e.nestedMessages)addFields(r,t,n)}function addEnum(e,t,n,r){var a,o,i,l,s,u;let m=findEnumSharedPrefix(e.name,e.value),d={kind:"enum",proto:e,deprecated:null!=(o=null==(a=e.options)?void 0:a.deprecated)&&o,file:t,parent:n,open:!0,name:e.name,typeName:makeTypeName(e,n,t),value:{},values:[],sharedPrefix:m,toString(){return`enum ${this.typeName}`}};for(let t of(d.open=isEnumOpen(d),r.add(d),e.value)){let e=t.name;d.values.push(d.value[t.number]={kind:"enum_value",proto:t,deprecated:null!=(l=null==(i=t.options)?void 0:i.deprecated)&&l,parent:d,name:e,localName:safeObjectProperty(void 0==m?e:e.substring(m.length)),number:t.number,jsonName:null!=(s=findEnumValueJsonName(t))?s:e,toString:()=>`enum value ${d.typeName}.${e}`})}(null!=(u=null==n?void 0:n.nestedEnums)?u:t.enums).push(d)}function addMessage(e,t,n,r,a){var o,i,l,s;let u={kind:"message",proto:e,deprecated:null!=(i=null==(o=e.options)?void 0:o.deprecated)&&i,file:t,parent:n,name:e.name,typeName:makeTypeName(e,n,t),fields:[],field:{},oneofs:[],members:[],nestedEnums:[],nestedMessages:[],nestedExtensions:[],toString(){return`message ${this.typeName}`}};for(let o of((null==(l=e.options)?void 0:l.mapEntry)===!0?a.add(u):((null!=(s=null==n?void 0:n.nestedMessages)?s:t.messages).push(u),r.add(u)),e.enumType))addEnum(o,t,u,r);for(let n of e.nestedType)addMessage(n,t,u,r,a)}function addService(e,t,n){var r,a;let o={kind:"service",proto:e,deprecated:null!=(a=null==(r=e.options)?void 0:r.deprecated)&&a,file:t,name:e.name,typeName:makeTypeName(e,void 0,t),methods:[],method:{},toString(){return`service ${this.typeName}`}};for(let r of(t.services.push(o),n.add(o),e.method)){let e=newMethod(r,o,n);o.methods.push(e),o.method[e.localName]=e}}function newMethod(e,t,n){var r,a,o,i;let l;l=e.clientStreaming&&e.serverStreaming?"bidi_streaming":e.clientStreaming?"client_streaming":e.serverStreaming?"server_streaming":"unary";let s=n.getMessage(trimLeadingDot(e.inputType)),u=n.getMessage(trimLeadingDot(e.outputType));assert(s,`invalid MethodDescriptorProto: input_type ${e.inputType} not found`),assert(u,`invalid MethodDescriptorProto: output_type ${e.inputType} not found`);let m=e.name;return{kind:"rpc",proto:e,deprecated:null!=(a=null==(r=e.options)?void 0:r.deprecated)&&a,parent:t,name:m,localName:safeObjectProperty(m.length?safeObjectProperty(m[0].toLowerCase()+m.substring(1)):m),methodKind:l,input:s,output:u,idempotency:null!=(i=null==(o=e.options)?void 0:o.idempotencyLevel)?i:0,toString:()=>`rpc ${t.typeName}.${m}`}}function newOneof(e,t){return{kind:"oneof",proto:e,deprecated:!1,parent:t,fields:[],name:e.name,localName:safeObjectProperty(protoCamelCase(e.name)),toString(){return`oneof ${t.typeName}.${this.name}`}}}function newField(e,t,n,r,a){var o,i,l;let s,u=void 0===a,m={kind:"field",proto:e,deprecated:null!=(i=null==(o=e.options)?void 0:o.deprecated)&&i,name:e.name,number:e.number,scalar:void 0,message:void 0,enum:void 0,presence:getFieldPresence(e,r,u,t),utf8Validation:isUtf8Validated(e,t),listKind:void 0,mapKind:void 0,mapKey:void 0,delimitedEncoding:void 0,packed:void 0,longAsString:!1,getDefaultValue:void 0};if(u){let r="file"==t.kind?t:t.file,a="file"==t.kind?void 0:t,o=makeTypeName(e,a,r);m.kind="extension",m.file=r,m.parent=a,m.oneof=void 0,m.typeName=o,m.jsonName=`[${o}]`,s=()=>`extension ${o}`;let i=n.getMessage(trimLeadingDot(e.extendee));assert(i,`invalid FieldDescriptorProto: extendee ${e.extendee} not found`),m.extendee=i}else assert("message"==t.kind),m.parent=t,m.oneof=r,m.localName=r?protoCamelCase(e.name):safeObjectProperty(protoCamelCase(e.name)),m.jsonName=e.jsonName,s=()=>`field ${t.typeName}.${e.name}`;Object.defineProperty(m,"toString",{value:s,writable:!0,enumerable:!0,configurable:!0});let d=e.label,p=e.type,c=null==(l=e.options)?void 0:l.jstype;if(3===d){let r=11==p?null==a?void 0:a.get(trimLeadingDot(e.typeName)):void 0;if(r){m.fieldKind="map";let{key:e,value:t}=findMapEntryFields(r);return m.mapKey=e.scalar,m.mapKind=t.fieldKind,m.message=t.message,m.delimitedEncoding=!1,m.enum=t.enum,m.scalar=t.scalar,m}switch(m.fieldKind="list",p){case 11:case 10:m.listKind="message",m.message=n.getMessage(trimLeadingDot(e.typeName)),assert(m.message),m.delimitedEncoding=isDelimitedEncoding(e,t);break;case 14:m.listKind="enum",m.enum=n.getEnum(trimLeadingDot(e.typeName)),assert(m.enum);break;default:m.listKind="scalar",m.scalar=p,m.longAsString=1==c}return m.packed=isPackedField(e,t),m}switch(p){case 11:case 10:m.fieldKind="message",m.message=n.getMessage(trimLeadingDot(e.typeName)),assert(m.message,`invalid FieldDescriptorProto: type_name ${e.typeName} not found`),m.delimitedEncoding=isDelimitedEncoding(e,t),m.getDefaultValue=()=>void 0;break;case 14:{let t=n.getEnum(trimLeadingDot(e.typeName));assert(void 0!==t,`invalid FieldDescriptorProto: type_name ${e.typeName} not found`),m.fieldKind="enum",m.enum=n.getEnum(trimLeadingDot(e.typeName)),m.getDefaultValue=()=>unsafeIsSetExplicit(e,"defaultValue")?parseTextFormatEnumValue(t,e.defaultValue):void 0;break}default:m.fieldKind="scalar",m.scalar=p,m.longAsString=1==c,m.getDefaultValue=()=>unsafeIsSetExplicit(e,"defaultValue")?parseTextFormatScalarValue(p,e.defaultValue):void 0}return m}function getFileEdition(e){switch(e.syntax){case"":case"proto2":return 998;case"proto3":return 999;case"editions":if(9999===e.edition)return 1002;if(e.edition in eA)return e.edition;throw Error(`${e.name}: unsupported edition`);default:throw Error(`${e.name}: unsupported syntax "${e.syntax}"`)}}function findFileDependencies(e,t){return e.dependency.map(n=>{let r=t.getFile(n);if(!r)throw Error(`Cannot find ${n}, imported by ${e.name}`);return r})}function findEnumSharedPrefix(e,t){let n=camelToSnakeCase(e)+"_";for(let e of t){if(!e.name.toLowerCase().startsWith(n))return;let t=e.name.substring(n.length);if(0==t.length||/^\d/.test(t))return}return n}function findEnumValueJsonName(e){var t,n;let r;for(let a of null!=(n=null==(t=e.options)?void 0:t.$unknown)?n:[]){if(998!==a.no||a.wireType!==C.LengthDelimited)continue;let e=new binary_encoding_BinaryReader(new binary_encoding_BinaryReader(a.data).bytes());for(;e.pos<e.len;){let[t,n]=e.tag();1===t&&n===C.LengthDelimited?r=e.string():e.skip(n,t)}}return r}function camelToSnakeCase(e){return(e.substring(0,1)+e.substring(1).replace(/[A-Z]/g,e=>"_"+e)).toLowerCase()}function makeTypeName(e,t,n){return t?`${t.typeName}.${e.name}`:n.proto.package.length>0?`${n.proto.package}.${e.name}`:`${e.name}`}function trimLeadingDot(e){return e.startsWith(".")?e.substring(1):e}function findOneof(e,t){if(!unsafeIsSetExplicit(e,"oneofIndex")||e.proto3Optional)return;let n=t[e.oneofIndex];return assert(n,`invalid FieldDescriptorProto: oneof #${e.oneofIndex} for field #${e.number} not found`),n}function getFieldPresence(e,t,n,r){if(2==e.label)return 3;if(3==e.label)return 2;if(t||e.proto3Optional||n)return 1;let a=resolveFeature("fieldPresence",{proto:e,parent:r});return 2==a&&(11==e.type||10==e.type)?1:a}function isPackedField(e,t){if(3!=e.label)return!1;switch(e.type){case 9:case 12:case 10:case 11:return!1}let n=e.options;return n&&unsafeIsSetExplicit(n,"packed")?n.packed:1==resolveFeature("repeatedFieldEncoding",{proto:e,parent:t})}function findMapEntryFields(e){let t=e.fields.find(e=>1===e.number),n=e.fields.find(e=>2===e.number);return assert(t&&"scalar"==t.fieldKind&&t.scalar!=G.BYTES&&t.scalar!=G.FLOAT&&t.scalar!=G.DOUBLE&&n&&"list"!=n.fieldKind&&"map"!=n.fieldKind),{key:t,value:n}}function isEnumOpen(e){var t;return 1==resolveFeature("enumType",{proto:e.proto,parent:null!=(t=e.parent)?t:e.file})}function isDelimitedEncoding(e,t){return 10==e.type||2==resolveFeature("messageEncoding",{proto:e,parent:t})}function isUtf8Validated(e,t){return 2==resolveFeature("utf8Validation",{proto:e,parent:t})}function resolveFeature(e,t){var n,r;let a=null==(n=t.proto.options)?void 0:n.features;if(a){let t=a[e];if(0!=t)return t}if("kind"in t){if("message"==t.kind)return resolveFeature(e,null!=(r=t.parent)?r:t.file);let n=eA[t.edition];if(!n)throw Error(`feature default for edition ${t.edition} not found`);return n[e]}return resolveFeature(e,t.parent)}function assert(e,t){if(!e)throw Error(t)}function bootFileDescriptorProto(e){return Object.assign(Object.create({syntax:"",edition:0}),Object.assign(Object.assign({$typeName:"google.protobuf.FileDescriptorProto",dependency:[],publicDependency:[],weakDependency:[],optionDependency:[],service:[],extension:[]},e),{messageType:e.messageType.map(bootDescriptorProto),enumType:e.enumType.map(bootEnumDescriptorProto)}))}function bootDescriptorProto(e){var t,n,r,a,o,i,l,s;return Object.assign(Object.create({visibility:0}),{$typeName:"google.protobuf.DescriptorProto",name:e.name,field:null!=(n=null==(t=e.field)?void 0:t.map(bootFieldDescriptorProto))?n:[],extension:[],nestedType:null!=(a=null==(r=e.nestedType)?void 0:r.map(bootDescriptorProto))?a:[],enumType:null!=(i=null==(o=e.enumType)?void 0:o.map(bootEnumDescriptorProto))?i:[],extensionRange:null!=(s=null==(l=e.extensionRange)?void 0:l.map(e=>Object.assign({$typeName:"google.protobuf.DescriptorProto.ExtensionRange"},e)))?s:[],oneofDecl:[],reservedRange:[],reservedName:[]})}function bootFieldDescriptorProto(e){return Object.assign(Object.create({label:1,typeName:"",extendee:"",defaultValue:"",oneofIndex:0,jsonName:"",proto3Optional:!1}),Object.assign(Object.assign({$typeName:"google.protobuf.FieldDescriptorProto"},e),{options:e.options?bootFieldOptions(e.options):void 0}))}function bootFieldOptions(e){var t,n,r;return Object.assign(Object.create({ctype:0,packed:!1,jstype:0,lazy:!1,unverifiedLazy:!1,deprecated:!1,weak:!1,debugRedact:!1,retention:0}),Object.assign(Object.assign({$typeName:"google.protobuf.FieldOptions"},e),{targets:null!=(t=e.targets)?t:[],editionDefaults:null!=(r=null==(n=e.editionDefaults)?void 0:n.map(e=>Object.assign({$typeName:"google.protobuf.FieldOptions.EditionDefault"},e)))?r:[],uninterpretedOption:[]}))}function bootEnumDescriptorProto(e){return Object.assign(Object.create({visibility:0}),{$typeName:"google.protobuf.EnumDescriptorProto",name:e.name,reservedName:[],reservedRange:[],value:e.value.map(e=>Object.assign({$typeName:"google.protobuf.EnumValueDescriptorProto"},e))})}function message_messageDesc(e,t,...n){return n.reduce((e,t)=>e.nestedMessages[t],e.messages[t])}let eF=message_messageDesc(((a=bootFileDescriptorProto({name:"google/protobuf/descriptor.proto",package:"google.protobuf",messageType:[{name:"FileDescriptorSet",field:[{name:"file",number:1,type:11,label:3,typeName:".google.protobuf.FileDescriptorProto"}],extensionRange:[{start:536e6,end:0x1ff2b601}]},{name:"FileDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"package",number:2,type:9,label:1},{name:"dependency",number:3,type:9,label:3},{name:"public_dependency",number:10,type:5,label:3},{name:"weak_dependency",number:11,type:5,label:3},{name:"option_dependency",number:15,type:9,label:3},{name:"message_type",number:4,type:11,label:3,typeName:".google.protobuf.DescriptorProto"},{name:"enum_type",number:5,type:11,label:3,typeName:".google.protobuf.EnumDescriptorProto"},{name:"service",number:6,type:11,label:3,typeName:".google.protobuf.ServiceDescriptorProto"},{name:"extension",number:7,type:11,label:3,typeName:".google.protobuf.FieldDescriptorProto"},{name:"options",number:8,type:11,label:1,typeName:".google.protobuf.FileOptions"},{name:"source_code_info",number:9,type:11,label:1,typeName:".google.protobuf.SourceCodeInfo"},{name:"syntax",number:12,type:9,label:1},{name:"edition",number:14,type:14,label:1,typeName:".google.protobuf.Edition"}]},{name:"DescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"field",number:2,type:11,label:3,typeName:".google.protobuf.FieldDescriptorProto"},{name:"extension",number:6,type:11,label:3,typeName:".google.protobuf.FieldDescriptorProto"},{name:"nested_type",number:3,type:11,label:3,typeName:".google.protobuf.DescriptorProto"},{name:"enum_type",number:4,type:11,label:3,typeName:".google.protobuf.EnumDescriptorProto"},{name:"extension_range",number:5,type:11,label:3,typeName:".google.protobuf.DescriptorProto.ExtensionRange"},{name:"oneof_decl",number:8,type:11,label:3,typeName:".google.protobuf.OneofDescriptorProto"},{name:"options",number:7,type:11,label:1,typeName:".google.protobuf.MessageOptions"},{name:"reserved_range",number:9,type:11,label:3,typeName:".google.protobuf.DescriptorProto.ReservedRange"},{name:"reserved_name",number:10,type:9,label:3},{name:"visibility",number:11,type:14,label:1,typeName:".google.protobuf.SymbolVisibility"}],nestedType:[{name:"ExtensionRange",field:[{name:"start",number:1,type:5,label:1},{name:"end",number:2,type:5,label:1},{name:"options",number:3,type:11,label:1,typeName:".google.protobuf.ExtensionRangeOptions"}]},{name:"ReservedRange",field:[{name:"start",number:1,type:5,label:1},{name:"end",number:2,type:5,label:1}]}]},{name:"ExtensionRangeOptions",field:[{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"},{name:"declaration",number:2,type:11,label:3,typeName:".google.protobuf.ExtensionRangeOptions.Declaration",options:{retention:2}},{name:"features",number:50,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"verification",number:3,type:14,label:1,typeName:".google.protobuf.ExtensionRangeOptions.VerificationState",defaultValue:"UNVERIFIED",options:{retention:2}}],nestedType:[{name:"Declaration",field:[{name:"number",number:1,type:5,label:1},{name:"full_name",number:2,type:9,label:1},{name:"type",number:3,type:9,label:1},{name:"reserved",number:5,type:8,label:1},{name:"repeated",number:6,type:8,label:1}]}],enumType:[{name:"VerificationState",value:[{name:"DECLARATION",number:0},{name:"UNVERIFIED",number:1}]}],extensionRange:[{start:990,end:999},{start:1e3,end:0x20000000}]},{name:"FieldDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"number",number:3,type:5,label:1},{name:"label",number:4,type:14,label:1,typeName:".google.protobuf.FieldDescriptorProto.Label"},{name:"type",number:5,type:14,label:1,typeName:".google.protobuf.FieldDescriptorProto.Type"},{name:"type_name",number:6,type:9,label:1},{name:"extendee",number:2,type:9,label:1},{name:"default_value",number:7,type:9,label:1},{name:"oneof_index",number:9,type:5,label:1},{name:"json_name",number:10,type:9,label:1},{name:"options",number:8,type:11,label:1,typeName:".google.protobuf.FieldOptions"},{name:"proto3_optional",number:17,type:8,label:1}],enumType:[{name:"Type",value:[{name:"TYPE_DOUBLE",number:1},{name:"TYPE_FLOAT",number:2},{name:"TYPE_INT64",number:3},{name:"TYPE_UINT64",number:4},{name:"TYPE_INT32",number:5},{name:"TYPE_FIXED64",number:6},{name:"TYPE_FIXED32",number:7},{name:"TYPE_BOOL",number:8},{name:"TYPE_STRING",number:9},{name:"TYPE_GROUP",number:10},{name:"TYPE_MESSAGE",number:11},{name:"TYPE_BYTES",number:12},{name:"TYPE_UINT32",number:13},{name:"TYPE_ENUM",number:14},{name:"TYPE_SFIXED32",number:15},{name:"TYPE_SFIXED64",number:16},{name:"TYPE_SINT32",number:17},{name:"TYPE_SINT64",number:18}]},{name:"Label",value:[{name:"LABEL_OPTIONAL",number:1},{name:"LABEL_REPEATED",number:3},{name:"LABEL_REQUIRED",number:2}]}]},{name:"OneofDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"options",number:2,type:11,label:1,typeName:".google.protobuf.OneofOptions"}]},{name:"EnumDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"value",number:2,type:11,label:3,typeName:".google.protobuf.EnumValueDescriptorProto"},{name:"options",number:3,type:11,label:1,typeName:".google.protobuf.EnumOptions"},{name:"reserved_range",number:4,type:11,label:3,typeName:".google.protobuf.EnumDescriptorProto.EnumReservedRange"},{name:"reserved_name",number:5,type:9,label:3},{name:"visibility",number:6,type:14,label:1,typeName:".google.protobuf.SymbolVisibility"}],nestedType:[{name:"EnumReservedRange",field:[{name:"start",number:1,type:5,label:1},{name:"end",number:2,type:5,label:1}]}]},{name:"EnumValueDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"number",number:2,type:5,label:1},{name:"options",number:3,type:11,label:1,typeName:".google.protobuf.EnumValueOptions"}]},{name:"ServiceDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"method",number:2,type:11,label:3,typeName:".google.protobuf.MethodDescriptorProto"},{name:"options",number:3,type:11,label:1,typeName:".google.protobuf.ServiceOptions"}]},{name:"MethodDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"input_type",number:2,type:9,label:1},{name:"output_type",number:3,type:9,label:1},{name:"options",number:4,type:11,label:1,typeName:".google.protobuf.MethodOptions"},{name:"client_streaming",number:5,type:8,label:1,defaultValue:"false"},{name:"server_streaming",number:6,type:8,label:1,defaultValue:"false"}]},{name:"FileOptions",field:[{name:"java_package",number:1,type:9,label:1},{name:"java_outer_classname",number:8,type:9,label:1},{name:"java_multiple_files",number:10,type:8,label:1,defaultValue:"false",options:{}},{name:"java_generate_equals_and_hash",number:20,type:8,label:1,options:{deprecated:!0}},{name:"java_string_check_utf8",number:27,type:8,label:1,defaultValue:"false"},{name:"optimize_for",number:9,type:14,label:1,typeName:".google.protobuf.FileOptions.OptimizeMode",defaultValue:"SPEED"},{name:"go_package",number:11,type:9,label:1},{name:"cc_generic_services",number:16,type:8,label:1,defaultValue:"false"},{name:"java_generic_services",number:17,type:8,label:1,defaultValue:"false"},{name:"py_generic_services",number:18,type:8,label:1,defaultValue:"false"},{name:"deprecated",number:23,type:8,label:1,defaultValue:"false"},{name:"cc_enable_arenas",number:31,type:8,label:1,defaultValue:"true",options:{}},{name:"objc_class_prefix",number:36,type:9,label:1},{name:"csharp_namespace",number:37,type:9,label:1},{name:"swift_prefix",number:39,type:9,label:1},{name:"php_class_prefix",number:40,type:9,label:1},{name:"php_namespace",number:41,type:9,label:1},{name:"php_metadata_namespace",number:44,type:9,label:1},{name:"ruby_package",number:45,type:9,label:1},{name:"features",number:50,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],enumType:[{name:"OptimizeMode",value:[{name:"SPEED",number:1},{name:"CODE_SIZE",number:2},{name:"LITE_RUNTIME",number:3}]}],extensionRange:[{start:990,end:999},{start:1e3,end:0x20000000}]},{name:"MessageOptions",field:[{name:"message_set_wire_format",number:1,type:8,label:1,defaultValue:"false"},{name:"no_standard_descriptor_accessor",number:2,type:8,label:1,defaultValue:"false"},{name:"deprecated",number:3,type:8,label:1,defaultValue:"false"},{name:"map_entry",number:7,type:8,label:1},{name:"deprecated_legacy_json_field_conflicts",number:11,type:8,label:1,options:{deprecated:!0}},{name:"features",number:12,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:990,end:999},{start:1e3,end:0x20000000}]},{name:"FieldOptions",field:[{name:"ctype",number:1,type:14,label:1,typeName:".google.protobuf.FieldOptions.CType",defaultValue:"STRING"},{name:"packed",number:2,type:8,label:1},{name:"jstype",number:6,type:14,label:1,typeName:".google.protobuf.FieldOptions.JSType",defaultValue:"JS_NORMAL"},{name:"lazy",number:5,type:8,label:1,defaultValue:"false"},{name:"unverified_lazy",number:15,type:8,label:1,defaultValue:"false"},{name:"deprecated",number:3,type:8,label:1,defaultValue:"false"},{name:"weak",number:10,type:8,label:1,defaultValue:"false",options:{deprecated:!0}},{name:"debug_redact",number:16,type:8,label:1,defaultValue:"false"},{name:"retention",number:17,type:14,label:1,typeName:".google.protobuf.FieldOptions.OptionRetention"},{name:"targets",number:19,type:14,label:3,typeName:".google.protobuf.FieldOptions.OptionTargetType"},{name:"edition_defaults",number:20,type:11,label:3,typeName:".google.protobuf.FieldOptions.EditionDefault"},{name:"features",number:21,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"feature_support",number:22,type:11,label:1,typeName:".google.protobuf.FieldOptions.FeatureSupport"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],nestedType:[{name:"EditionDefault",field:[{name:"edition",number:3,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"value",number:2,type:9,label:1}]},{name:"FeatureSupport",field:[{name:"edition_introduced",number:1,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"edition_deprecated",number:2,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"deprecation_warning",number:3,type:9,label:1},{name:"edition_removed",number:4,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"removal_error",number:5,type:9,label:1}]}],enumType:[{name:"CType",value:[{name:"STRING",number:0},{name:"CORD",number:1},{name:"STRING_PIECE",number:2}]},{name:"JSType",value:[{name:"JS_NORMAL",number:0},{name:"JS_STRING",number:1},{name:"JS_NUMBER",number:2}]},{name:"OptionRetention",value:[{name:"RETENTION_UNKNOWN",number:0},{name:"RETENTION_RUNTIME",number:1},{name:"RETENTION_SOURCE",number:2}]},{name:"OptionTargetType",value:[{name:"TARGET_TYPE_UNKNOWN",number:0},{name:"TARGET_TYPE_FILE",number:1},{name:"TARGET_TYPE_EXTENSION_RANGE",number:2},{name:"TARGET_TYPE_MESSAGE",number:3},{name:"TARGET_TYPE_FIELD",number:4},{name:"TARGET_TYPE_ONEOF",number:5},{name:"TARGET_TYPE_ENUM",number:6},{name:"TARGET_TYPE_ENUM_ENTRY",number:7},{name:"TARGET_TYPE_SERVICE",number:8},{name:"TARGET_TYPE_METHOD",number:9}]}],extensionRange:[{start:990,end:999},{start:1e3,end:0x20000000}]},{name:"OneofOptions",field:[{name:"features",number:1,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:990,end:999},{start:1e3,end:0x20000000}]},{name:"EnumOptions",field:[{name:"allow_alias",number:2,type:8,label:1},{name:"deprecated",number:3,type:8,label:1,defaultValue:"false"},{name:"deprecated_legacy_json_field_conflicts",number:6,type:8,label:1,options:{deprecated:!0}},{name:"features",number:7,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:990,end:999},{start:1e3,end:0x20000000}]},{name:"EnumValueOptions",field:[{name:"deprecated",number:1,type:8,label:1,defaultValue:"false"},{name:"features",number:2,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"debug_redact",number:3,type:8,label:1,defaultValue:"false"},{name:"feature_support",number:4,type:11,label:1,typeName:".google.protobuf.FieldOptions.FeatureSupport"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:990,end:999},{start:1e3,end:0x20000000}]},{name:"ServiceOptions",field:[{name:"features",number:34,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"deprecated",number:33,type:8,label:1,defaultValue:"false"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:990,end:999},{start:1e3,end:0x20000000}]},{name:"MethodOptions",field:[{name:"deprecated",number:33,type:8,label:1,defaultValue:"false"},{name:"idempotency_level",number:34,type:14,label:1,typeName:".google.protobuf.MethodOptions.IdempotencyLevel",defaultValue:"IDEMPOTENCY_UNKNOWN"},{name:"features",number:35,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],enumType:[{name:"IdempotencyLevel",value:[{name:"IDEMPOTENCY_UNKNOWN",number:0},{name:"NO_SIDE_EFFECTS",number:1},{name:"IDEMPOTENT",number:2}]}],extensionRange:[{start:990,end:999},{start:1e3,end:0x20000000}]},{name:"UninterpretedOption",field:[{name:"name",number:2,type:11,label:3,typeName:".google.protobuf.UninterpretedOption.NamePart"},{name:"identifier_value",number:3,type:9,label:1},{name:"positive_int_value",number:4,type:4,label:1},{name:"negative_int_value",number:5,type:3,label:1},{name:"double_value",number:6,type:1,label:1},{name:"string_value",number:7,type:12,label:1},{name:"aggregate_value",number:8,type:9,label:1}],nestedType:[{name:"NamePart",field:[{name:"name_part",number:1,type:9,label:2},{name:"is_extension",number:2,type:8,label:2}]}]},{name:"FeatureSet",field:[{name:"field_presence",number:1,type:14,label:1,typeName:".google.protobuf.FeatureSet.FieldPresence",options:{retention:1,targets:[4,1],editionDefaults:[{value:"EXPLICIT",edition:900},{value:"IMPLICIT",edition:999},{value:"EXPLICIT",edition:1e3}]}},{name:"enum_type",number:2,type:14,label:1,typeName:".google.protobuf.FeatureSet.EnumType",options:{retention:1,targets:[6,1],editionDefaults:[{value:"CLOSED",edition:900},{value:"OPEN",edition:999}]}},{name:"repeated_field_encoding",number:3,type:14,label:1,typeName:".google.protobuf.FeatureSet.RepeatedFieldEncoding",options:{retention:1,targets:[4,1],editionDefaults:[{value:"EXPANDED",edition:900},{value:"PACKED",edition:999}]}},{name:"utf8_validation",number:4,type:14,label:1,typeName:".google.protobuf.FeatureSet.Utf8Validation",options:{retention:1,targets:[4,1],editionDefaults:[{value:"NONE",edition:900},{value:"VERIFY",edition:999}]}},{name:"message_encoding",number:5,type:14,label:1,typeName:".google.protobuf.FeatureSet.MessageEncoding",options:{retention:1,targets:[4,1],editionDefaults:[{value:"LENGTH_PREFIXED",edition:900}]}},{name:"json_format",number:6,type:14,label:1,typeName:".google.protobuf.FeatureSet.JsonFormat",options:{retention:1,targets:[3,6,1],editionDefaults:[{value:"LEGACY_BEST_EFFORT",edition:900},{value:"ALLOW",edition:999}]}},{name:"enforce_naming_style",number:7,type:14,label:1,typeName:".google.protobuf.FeatureSet.EnforceNamingStyle",options:{retention:2,targets:[1,2,3,4,5,6,7,8,9],editionDefaults:[{value:"STYLE_LEGACY",edition:900},{value:"STYLE2024",edition:1001},{value:"STYLE2026",edition:1002}]}},{name:"default_symbol_visibility",number:8,type:14,label:1,typeName:".google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility",options:{retention:2,targets:[1],editionDefaults:[{value:"EXPORT_ALL",edition:900},{value:"EXPORT_TOP_LEVEL",edition:1001},{value:"STRICT",edition:1002}]}},{name:"enforce_proto_limits",number:9,type:14,label:1,typeName:".google.protobuf.FeatureSet.ProtoLimitsFeature.EnforceProtoLimits",options:{retention:2,targets:[6,3,4,5],editionDefaults:[{value:"LEGACY_NO_EXPLICIT_LIMITS",edition:900},{value:"PROTO_LIMITS2026",edition:1002}]}}],nestedType:[{name:"VisibilityFeature",enumType:[{name:"DefaultSymbolVisibility",value:[{name:"DEFAULT_SYMBOL_VISIBILITY_UNKNOWN",number:0},{name:"EXPORT_ALL",number:1},{name:"EXPORT_TOP_LEVEL",number:2},{name:"LOCAL_ALL",number:3},{name:"STRICT",number:4}]}]},{name:"ProtoLimitsFeature",enumType:[{name:"EnforceProtoLimits",value:[{name:"PROTO_LIMITS_UNKNOWN",number:0},{name:"LEGACY_NO_EXPLICIT_LIMITS",number:1},{name:"PROTO_LIMITS2026",number:2}]}]}],enumType:[{name:"FieldPresence",value:[{name:"FIELD_PRESENCE_UNKNOWN",number:0},{name:"EXPLICIT",number:1},{name:"IMPLICIT",number:2},{name:"LEGACY_REQUIRED",number:3}]},{name:"EnumType",value:[{name:"ENUM_TYPE_UNKNOWN",number:0},{name:"OPEN",number:1},{name:"CLOSED",number:2}]},{name:"RepeatedFieldEncoding",value:[{name:"REPEATED_FIELD_ENCODING_UNKNOWN",number:0},{name:"PACKED",number:1},{name:"EXPANDED",number:2}]},{name:"Utf8Validation",value:[{name:"UTF8_VALIDATION_UNKNOWN",number:0},{name:"VERIFY",number:2},{name:"NONE",number:3}]},{name:"MessageEncoding",value:[{name:"MESSAGE_ENCODING_UNKNOWN",number:0},{name:"LENGTH_PREFIXED",number:1},{name:"DELIMITED",number:2}]},{name:"JsonFormat",value:[{name:"JSON_FORMAT_UNKNOWN",number:0},{name:"ALLOW",number:1},{name:"LEGACY_BEST_EFFORT",number:2}]},{name:"EnforceNamingStyle",value:[{name:"ENFORCE_NAMING_STYLE_UNKNOWN",number:0},{name:"STYLE2024",number:1},{name:"STYLE_LEGACY",number:2},{name:"STYLE2026",number:3}]}],extensionRange:[{start:1e3,end:9995},{start:9995,end:1e4},{start:1e4,end:10001}]},{name:"FeatureSetDefaults",field:[{name:"defaults",number:1,type:11,label:3,typeName:".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault"},{name:"minimum_edition",number:4,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"maximum_edition",number:5,type:14,label:1,typeName:".google.protobuf.Edition"}],nestedType:[{name:"FeatureSetEditionDefault",field:[{name:"edition",number:3,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"overridable_features",number:4,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"fixed_features",number:5,type:11,label:1,typeName:".google.protobuf.FeatureSet"}]}]},{name:"SourceCodeInfo",field:[{name:"location",number:1,type:11,label:3,typeName:".google.protobuf.SourceCodeInfo.Location"}],nestedType:[{name:"Location",field:[{name:"path",number:1,type:5,label:3,options:{packed:!0}},{name:"span",number:2,type:5,label:3,options:{packed:!0}},{name:"leading_comments",number:3,type:9,label:1},{name:"trailing_comments",number:4,type:9,label:1},{name:"leading_detached_comments",number:6,type:9,label:3}]}],extensionRange:[{start:536e6,end:0x1ff2b601}]},{name:"GeneratedCodeInfo",field:[{name:"annotation",number:1,type:11,label:3,typeName:".google.protobuf.GeneratedCodeInfo.Annotation"}],nestedType:[{name:"Annotation",field:[{name:"path",number:1,type:5,label:3,options:{packed:!0}},{name:"source_file",number:2,type:9,label:1},{name:"begin",number:3,type:5,label:1},{name:"end",number:4,type:5,label:1},{name:"semantic",number:5,type:14,label:1,typeName:".google.protobuf.GeneratedCodeInfo.Annotation.Semantic"}],enumType:[{name:"Semantic",value:[{name:"NONE",number:0},{name:"SET",number:1},{name:"ALIAS",number:2}]}]}]}],enumType:[{name:"Edition",value:[{name:"EDITION_UNKNOWN",number:0},{name:"EDITION_LEGACY",number:900},{name:"EDITION_PROTO2",number:998},{name:"EDITION_PROTO3",number:999},{name:"EDITION_2023",number:1e3},{name:"EDITION_2024",number:1001},{name:"EDITION_2026",number:1002},{name:"EDITION_UNSTABLE",number:9999},{name:"EDITION_1_TEST_ONLY",number:1},{name:"EDITION_2_TEST_ONLY",number:2},{name:"EDITION_99997_TEST_ONLY",number:99997},{name:"EDITION_99998_TEST_ONLY",number:99998},{name:"EDITION_99999_TEST_ONLY",number:99999},{name:"EDITION_MAX",number:0x7fffffff}]},{name:"SymbolVisibility",value:[{name:"VISIBILITY_UNSET",number:0},{name:"VISIBILITY_LOCAL",number:1},{name:"VISIBILITY_EXPORT",number:2}]}]})).messageType.forEach(restoreJsonNames),createFileRegistry(a,()=>void 0).getFile(a.name)),1);function fileDesc(e,t){var n;let r=fromBinary(eF,base64Decode(e));return r.messageType.forEach(restoreJsonNames),r.dependency=null!=(n=null==t?void 0:t.map(e=>e.proto.name))?n:[],createFileRegistry(r,e=>null==t?void 0:t.find(t=>t.proto.name===e)).getFile(r.name)}(l=w||(w={}))[l.DECLARATION=0]="DECLARATION",l[l.UNVERIFIED=1]="UNVERIFIED",(s=B||(B={}))[s.DOUBLE=1]="DOUBLE",s[s.FLOAT=2]="FLOAT",s[s.INT64=3]="INT64",s[s.UINT64=4]="UINT64",s[s.INT32=5]="INT32",s[s.FIXED64=6]="FIXED64",s[s.FIXED32=7]="FIXED32",s[s.BOOL=8]="BOOL",s[s.STRING=9]="STRING",s[s.GROUP=10]="GROUP",s[s.MESSAGE=11]="MESSAGE",s[s.BYTES=12]="BYTES",s[s.UINT32=13]="UINT32",s[s.ENUM=14]="ENUM",s[s.SFIXED32=15]="SFIXED32",s[s.SFIXED64=16]="SFIXED64",s[s.SINT32=17]="SINT32",s[s.SINT64=18]="SINT64",(u=Y||(Y={}))[u.OPTIONAL=1]="OPTIONAL",u[u.REPEATED=3]="REPEATED",u[u.REQUIRED=2]="REQUIRED",(m=k||(k={}))[m.SPEED=1]="SPEED",m[m.CODE_SIZE=2]="CODE_SIZE",m[m.LITE_RUNTIME=3]="LITE_RUNTIME",(d=Z||(Z={}))[d.STRING=0]="STRING",d[d.CORD=1]="CORD",d[d.STRING_PIECE=2]="STRING_PIECE",(p=P||(P={}))[p.JS_NORMAL=0]="JS_NORMAL",p[p.JS_STRING=1]="JS_STRING",p[p.JS_NUMBER=2]="JS_NUMBER",(c=W||(W={}))[c.RETENTION_UNKNOWN=0]="RETENTION_UNKNOWN",c[c.RETENTION_RUNTIME=1]="RETENTION_RUNTIME",c[c.RETENTION_SOURCE=2]="RETENTION_SOURCE",(f=M||(M={}))[f.TARGET_TYPE_UNKNOWN=0]="TARGET_TYPE_UNKNOWN",f[f.TARGET_TYPE_FILE=1]="TARGET_TYPE_FILE",f[f.TARGET_TYPE_EXTENSION_RANGE=2]="TARGET_TYPE_EXTENSION_RANGE",f[f.TARGET_TYPE_MESSAGE=3]="TARGET_TYPE_MESSAGE",f[f.TARGET_TYPE_FIELD=4]="TARGET_TYPE_FIELD",f[f.TARGET_TYPE_ONEOF=5]="TARGET_TYPE_ONEOF",f[f.TARGET_TYPE_ENUM=6]="TARGET_TYPE_ENUM",f[f.TARGET_TYPE_ENUM_ENTRY=7]="TARGET_TYPE_ENUM_ENTRY",f[f.TARGET_TYPE_SERVICE=8]="TARGET_TYPE_SERVICE",f[f.TARGET_TYPE_METHOD=9]="TARGET_TYPE_METHOD",(b=X||(X={}))[b.IDEMPOTENCY_UNKNOWN=0]="IDEMPOTENCY_UNKNOWN",b[b.NO_SIDE_EFFECTS=1]="NO_SIDE_EFFECTS",b[b.IDEMPOTENT=2]="IDEMPOTENT",(g=x||(x={}))[g.DEFAULT_SYMBOL_VISIBILITY_UNKNOWN=0]="DEFAULT_SYMBOL_VISIBILITY_UNKNOWN",g[g.EXPORT_ALL=1]="EXPORT_ALL",g[g.EXPORT_TOP_LEVEL=2]="EXPORT_TOP_LEVEL",g[g.LOCAL_ALL=3]="LOCAL_ALL",g[g.STRICT=4]="STRICT",(E=K||(K={}))[E.PROTO_LIMITS_UNKNOWN=0]="PROTO_LIMITS_UNKNOWN",E[E.LEGACY_NO_EXPLICIT_LIMITS=1]="LEGACY_NO_EXPLICIT_LIMITS",E[E.PROTO_LIMITS2026=2]="PROTO_LIMITS2026",(y=J||(J={}))[y.FIELD_PRESENCE_UNKNOWN=0]="FIELD_PRESENCE_UNKNOWN",y[y.EXPLICIT=1]="EXPLICIT",y[y.IMPLICIT=2]="IMPLICIT",y[y.LEGACY_REQUIRED=3]="LEGACY_REQUIRED",(N=j||(j={}))[N.ENUM_TYPE_UNKNOWN=0]="ENUM_TYPE_UNKNOWN",N[N.OPEN=1]="OPEN",N[N.CLOSED=2]="CLOSED",(T=Q||(Q={}))[T.REPEATED_FIELD_ENCODING_UNKNOWN=0]="REPEATED_FIELD_ENCODING_UNKNOWN",T[T.PACKED=1]="PACKED",T[T.EXPANDED=2]="EXPANDED",(h=H||(H={}))[h.UTF8_VALIDATION_UNKNOWN=0]="UTF8_VALIDATION_UNKNOWN",h[h.VERIFY=2]="VERIFY",h[h.NONE=3]="NONE",(I=$||($={}))[I.MESSAGE_ENCODING_UNKNOWN=0]="MESSAGE_ENCODING_UNKNOWN",I[I.LENGTH_PREFIXED=1]="LENGTH_PREFIXED",I[I.DELIMITED=2]="DELIMITED",(S=z||(z={}))[S.JSON_FORMAT_UNKNOWN=0]="JSON_FORMAT_UNKNOWN",S[S.ALLOW=1]="ALLOW",S[S.LEGACY_BEST_EFFORT=2]="LEGACY_BEST_EFFORT",(_=q||(q={}))[_.ENFORCE_NAMING_STYLE_UNKNOWN=0]="ENFORCE_NAMING_STYLE_UNKNOWN",_[_.STYLE2024=1]="STYLE2024",_[_.STYLE_LEGACY=2]="STYLE_LEGACY",_[_.STYLE2026=3]="STYLE2026",(v=ee||(ee={}))[v.NONE=0]="NONE",v[v.SET=1]="SET",v[v.ALIAS=2]="ALIAS",(R=et||(et={}))[R.EDITION_UNKNOWN=0]="EDITION_UNKNOWN",R[R.EDITION_LEGACY=900]="EDITION_LEGACY",R[R.EDITION_PROTO2=998]="EDITION_PROTO2",R[R.EDITION_PROTO3=999]="EDITION_PROTO3",R[R.EDITION_2023=1e3]="EDITION_2023",R[R.EDITION_2024=1001]="EDITION_2024",R[R.EDITION_2026=1002]="EDITION_2026",R[R.EDITION_UNSTABLE=9999]="EDITION_UNSTABLE",R[R.EDITION_1_TEST_ONLY=1]="EDITION_1_TEST_ONLY",R[R.EDITION_2_TEST_ONLY=2]="EDITION_2_TEST_ONLY",R[R.EDITION_99997_TEST_ONLY=99997]="EDITION_99997_TEST_ONLY",R[R.EDITION_99998_TEST_ONLY=99998]="EDITION_99998_TEST_ONLY",R[R.EDITION_99999_TEST_ONLY=99999]="EDITION_99999_TEST_ONLY",R[R.EDITION_MAX=0x7fffffff]="EDITION_MAX",(A=en||(en={}))[A.VISIBILITY_UNSET=0]="VISIBILITY_UNSET",A[A.VISIBILITY_LOCAL=1]="VISIBILITY_LOCAL",A[A.VISIBILITY_EXPORT=2]="VISIBILITY_EXPORT";let eO=fileDesc("Chtnb29nbGUvcHJvdG9idWYvZW1wdHkucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiIHCgVFbXB0eUJ9ChNjb20uZ29vZ2xlLnByb3RvYnVmQgpFbXB0eVByb3RvUAFaLmdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2VtcHR5cGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnByb3RvMw"),eL=fileDesc("Ch9nb29nbGUvcHJvdG9idWYvdGltZXN0YW1wLnByb3RvEg9nb29nbGUucHJvdG9idWYiKwoJVGltZXN0YW1wEg8KB3NlY29uZHMYASABKAMSDQoFbmFub3MYAiABKAVChQEKE2NvbS5nb29nbGUucHJvdG9idWZCDlRpbWVzdGFtcFByb3RvUAFaMmdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3RpbWVzdGFtcHBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM"),eD=message_messageDesc(fileDesc("Cgl1ZmMucHJvdG8SG2RhdGFkb2cuZmZlLmZsYWdnaW5nLnVmYy52MSKRBAoSRmxhZ3NDb25maWd1cmF0aW9uEi4KCmNyZWF0ZWRfYXQYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhgKEGVudmlyb25tZW50X25hbWUYAiABKAkSSQoFZmxhZ3MYAyADKAsyOi5kYXRhZG9nLmZmZS5mbGFnZ2luZy51ZmMudjEuRmxhZ3NDb25maWd1cmF0aW9uLkZsYWdzRW50cnkSQwoKYXR0cmlidXRlcxgEIAMoCzIvLmRhdGFkb2cuZmZlLmZsYWdnaW5nLnVmYy52MS5BdHRyaWJ1dGVSZWZlcmVuY2USDwoHc3RyaW5ncxgFIAMoCRIPCgdyZWdleGVzGAYgAygJEjYKCHZlcnNpb25zGAcgAygLMiQuZGF0YWRvZy5mZmUuZmxhZ2dpbmcudWZjLnYxLlZlcnNpb24SFAoManNvbl9zdHJpbmdzGAggAygJEjoKCmNvbmRpdGlvbnMYCSADKAsyJi5kYXRhZG9nLmZmZS5mbGFnZ2luZy51ZmMudjEuQ29uZGl0aW9uEiQKHG9ic2VydmVfZnVsbF9ldmFsdWF0aW9uX2RhdGEYCiABKAgaTwoKRmxhZ3NFbnRyeRILCgNrZXkYASABKAkSMAoFdmFsdWUYAiABKAsyIS5kYXRhZG9nLmZmZS5mbGFnZ2luZy51ZmMudjEuRmxhZzoCOAEiMQoHVmVyc2lvbhISCgpjb21wb25lbnRzGAEgAygJEhIKCnByZXJlbGVhc2UYAiADKAki4wEKBEZsYWcSHQoVbWluaW11bV9mZWF0dXJlX2xldmVsGAEgASgNEkIKDnZhcmlhdGlvbl90eXBlGAIgASgOMiouZGF0YWRvZy5mZmUuZmxhZ2dpbmcudWZjLnYxLlZhcmlhdGlvblR5cGUSOgoKdmFyaWF0aW9ucxgDIAMoCzImLmRhdGFkb2cuZmZlLmZsYWdnaW5nLnVmYy52MS5WYXJpYXRpb24SPAoLYWxsb2NhdGlvbnMYBCADKAsyJy5kYXRhZG9nLmZmZS5mbGFnZ2luZy51ZmMudjEuQWxsb2NhdGlvbiK0AQoJVmFyaWF0aW9uEhgKEGtleV9zdHJpbmdfaW5kZXgYASABKA0SHAoSc3RyaW5nX3ZhbHVlX2luZGV4GAIgASgNSAASFwoNaW50ZWdlcl92YWx1ZRgDIAEoA0gAEhcKDW51bWVyaWNfdmFsdWUYBCABKAFIABIXCg1ib29sZWFuX3ZhbHVlGAUgASgISAASGwoRanNvbl9zdHJpbmdfaW5kZXgYBiABKA1IAEIHCgV2YWx1ZSLxAQoKQWxsb2NhdGlvbhILCgNrZXkYASABKAkSJgoZdGFyZ2V0aW5nX2NvbmRpdGlvbl9pbmRleBgCIAEoDUgAiAEBEkAKDXBhcnRpdGlvbl9rZXkYAyADKAsyKS5kYXRhZG9nLmZmZS5mbGFnZ2luZy51ZmMudjEuUGFydGl0aW9uS2V5EjIKBnNwbGl0cxgEIAMoCzIiLmRhdGFkb2cuZmZlLmZsYWdnaW5nLnVmYy52MS5TcGxpdBIaChJsb2dfZXhwb3N1cmVfZXZlbnQYBSABKAhCHAoaX3RhcmdldGluZ19jb25kaXRpb25faW5kZXgikwEKEkF0dHJpYnV0ZVJlZmVyZW5jZRIvCg10YXJnZXRpbmdfa2V5GAEgASgLMhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5SAASRAoOYXR0cmlidXRlX3BhdGgYAiABKAsyKi5kYXRhZG9nLmZmZS5mbGFnZ2luZy51ZmMudjEuQXR0cmlidXRlUGF0aEgAQgYKBGtpbmQiVAoNQXR0cmlidXRlUGF0aBJDCghzZWdtZW50cxgBIAMoCzIxLmRhdGFkb2cuZmZlLmZsYWdnaW5nLnVmYy52MS5BdHRyaWJ1dGVQYXRoU2VnbWVudCJYChRBdHRyaWJ1dGVQYXRoU2VnbWVudBIhChdvYmplY3Rfa2V5X3N0cmluZ19pbmRleBgBIAEoDUgAEhUKC2FycmF5X2luZGV4GAIgASgNSABCBgoEa2luZCKLBgoJQ29uZGl0aW9uEj0KA2FsbBgBIAEoCzIuLmRhdGFkb2cuZmZlLmZsYWdnaW5nLnVmYy52MS5Db25kaXRpb25PcGVyYW5kc0gAEj0KA2FueRgCIAEoCzIuLmRhdGFkb2cuZmZlLmZsYWdnaW5nLnVmYy52MS5Db25kaXRpb25PcGVyYW5kc0gAEkAKB251bWVyaWMYAyABKAsyLS5kYXRhZG9nLmZmZS5mbGFnZ2luZy51ZmMudjEuTnVtZXJpY0NvbmRpdGlvbkgAEjwKBXJlZ2V4GAQgASgLMisuZGF0YWRvZy5mZmUuZmxhZ2dpbmcudWZjLnYxLlJlZ2V4Q29uZGl0aW9uSAASUwoRc3RyaW5nX21lbWJlcnNoaXAYBSABKAsyNi5kYXRhZG9nLmZmZS5mbGFnZ2luZy51ZmMudjEuU3RyaW5nTWVtYmVyc2hpcENvbmRpdGlvbkgAElMKEXNoYTI1Nl9tZW1iZXJzaGlwGAYgASgLMjYuZGF0YWRvZy5mZmUuZmxhZ2dpbmcudWZjLnYxLlNoYTI1Nk1lbWJlcnNoaXBDb25kaXRpb25IABJVChJhdHRyaWJ1dGVfcHJlc2VuY2UYByABKAsyNy5kYXRhZG9nLmZmZS5mbGFnZ2luZy51ZmMudjEuQXR0cmlidXRlUHJlc2VuY2VDb25kaXRpb25IABJACgd2ZXJzaW9uGAggASgLMi0uZGF0YWRvZy5mZmUuZmxhZ2dpbmcudWZjLnYxLlZlcnNpb25Db25kaXRpb25IABJTChFzdHJpbmdfY29tcGFyaXNvbhgJIAEoCzI2LmRhdGFkb2cuZmZlLmZsYWdnaW5nLnVmYy52MS5TdHJpbmdDb21wYXJpc29uQ29uZGl0aW9uSAASYAoYc2hhMjU2X3N0cmluZ19jb21wYXJpc29uGAogASgLMjwuZGF0YWRvZy5mZmUuZmxhZ2dpbmcudWZjLnYxLlNoYTI1NlN0cmluZ0NvbXBhcmlzb25Db25kaXRpb25IAEIGCgRraW5kIi4KEUNvbmRpdGlvbk9wZXJhbmRzEhkKEWNvbmRpdGlvbl9pbmRleGVzGAEgAygNIoIBChBOdW1lcmljQ29uZGl0aW9uEhcKD2F0dHJpYnV0ZV9pbmRleBgBIAEoDRJCCgpjb21wYXJhdG9yGAIgASgOMi4uZGF0YWRvZy5mZmUuZmxhZ2dpbmcudWZjLnYxLk51bWVyaWNDb21wYXJhdG9yEhEKCWNvbXBhcmFuZBgDIAEoASJOCg5SZWdleENvbmRpdGlvbhIXCg9hdHRyaWJ1dGVfaW5kZXgYASABKA0SEwoLcmVnZXhfaW5kZXgYAiABKA0SDgoGbmVnYXRlGAMgASgIIlwKGVN0cmluZ01lbWJlcnNoaXBDb25kaXRpb24SFwoPYXR0cmlidXRlX2luZGV4GAEgASgNEhYKDnN0cmluZ19pbmRleGVzGAIgAygNEg4KBm5lZ2F0ZRgDIAEoCCKdAQoZU3RyaW5nQ29tcGFyaXNvbkNvbmRpdGlvbhIXCg9hdHRyaWJ1dGVfaW5kZXgYASABKA0SQQoKY29tcGFyYXRvchgCIAEoDjItLmRhdGFkb2cuZmZlLmZsYWdnaW5nLnVmYy52MS5TdHJpbmdDb21wYXJhdG9yEhQKDHN0cmluZ19pbmRleBgDIAEoDRIOCgZuZWdhdGUYBCABKAgiwQEKH1NoYTI1NlN0cmluZ0NvbXBhcmlzb25Db25kaXRpb24SFwoPYXR0cmlidXRlX2luZGV4GAEgASgNEgwKBHNhbHQYAiABKAwSRwoKY29tcGFyYXRvchgDIAEoDjIzLmRhdGFkb2cuZmZlLmZsYWdnaW5nLnVmYy52MS5TaGEyNTZTdHJpbmdDb21wYXJhdG9yEg4KBmxlbmd0aBgEIAEoDRIOCgZzaGEyNTYYBSABKAwSDgoGbmVnYXRlGAYgASgIImIKGVNoYTI1Nk1lbWJlcnNoaXBDb25kaXRpb24SFwoPYXR0cmlidXRlX2luZGV4GAEgASgNEgwKBHNhbHQYAiABKAwSDgoGc2hhMjU2GAMgAygMEg4KBm5lZ2F0ZRgEIAEoCCJKChpBdHRyaWJ1dGVQcmVzZW5jZUNvbmRpdGlvbhIXCg9hdHRyaWJ1dGVfaW5kZXgYASABKA0SEwoLZXhwZWN0X251bGwYAiABKAgihgEKEFZlcnNpb25Db25kaXRpb24SFwoPYXR0cmlidXRlX2luZGV4GAEgASgNEkIKCmNvbXBhcmF0b3IYAiABKA4yLi5kYXRhZG9nLmZmZS5mbGFnZ2luZy51ZmMudjEuVmVyc2lvbkNvbXBhcmF0b3ISFQoNdmVyc2lvbl9pbmRleBgDIAEoDSKdAQoMUGFydGl0aW9uS2V5Ej0KBHRpbWUYASABKAsyLS5kYXRhZG9nLmZmZS5mbGFnZ2luZy51ZmMudjEuVGltZVBhcnRpdGlvbktleUgAEkYKCXNoYXJkX21kNRgCIAEoCzIxLmRhdGFkb2cuZmZlLmZsYWdnaW5nLnVmYy52MS5NZDVTaGFyZFBhcnRpdGlvbktleUgAQgYKBGtpbmQiEgoQVGltZVBhcnRpdGlvbktleSJTChRNZDVTaGFyZFBhcnRpdGlvbktleRIMCgRzYWx0GAEgASgJEhcKD2F0dHJpYnV0ZV9pbmRleBgCIAEoDRIUCgx0b3RhbF9zaGFyZHMYAyABKAQiuAEKBVNwbGl0EjsKBnJhbmdlcxgBIAMoCzIrLmRhdGFkb2cuZmZlLmZsYWdnaW5nLnVmYy52MS5QYXJ0aXRpb25SYW5nZRIXCg92YXJpYXRpb25faW5kZXgYAiABKA0SFgoJc2VyaWFsX2lkGAMgASgFSACIAQESMwoGcmVhc29uGAQgASgOMiMuZGF0YWRvZy5mZmUuZmxhZ2dpbmcudWZjLnYxLlJlYXNvbkIMCgpfc2VyaWFsX2lkIkQKDlBhcnRpdGlvblJhbmdlEhEKBGZyb20YASABKARIAIgBARIPCgJ0bxgCIAEoBEgBiAEBQgcKBV9mcm9tQgUKA190byq3AQoNVmFyaWF0aW9uVHlwZRIeChpWQVJJQVRJT05fVFlQRV9VTlNQRUNJRklFRBAAEhkKFVZBUklBVElPTl9UWVBFX1NUUklORxABEhoKFlZBUklBVElPTl9UWVBFX0lOVEVHRVIQAhIaChZWQVJJQVRJT05fVFlQRV9OVU1FUklDEAMSGgoWVkFSSUFUSU9OX1RZUEVfQk9PTEVBThAEEhcKE1ZBUklBVElPTl9UWVBFX0pTT04QBSrXAQoRTnVtZXJpY0NvbXBhcmF0b3ISIgoeTlVNRVJJQ19DT01QQVJBVE9SX1VOU1BFQ0lGSUVEEAASIAocTlVNRVJJQ19DT01QQVJBVE9SX0xFU1NfVEhBThABEikKJU5VTUVSSUNfQ09NUEFSQVRPUl9MRVNTX1RIQU5fT1JfRVFVQUwQAhIjCh9OVU1FUklDX0NPTVBBUkFUT1JfR1JFQVRFUl9USEFOEAMSLAooTlVNRVJJQ19DT01QQVJBVE9SX0dSRUFURVJfVEhBTl9PUl9FUVVBTBAEKpkBChBTdHJpbmdDb21wYXJhdG9yEiEKHVNUUklOR19DT01QQVJBVE9SX1VOU1BFQ0lGSUVEEAASIQodU1RSSU5HX0NPTVBBUkFUT1JfU1RBUlRTX1dJVEgQARIfChtTVFJJTkdfQ09NUEFSQVRPUl9FTkRTX1dJVEgQAhIeChpTVFJJTkdfQ09NUEFSQVRPUl9DT05UQUlOUxADKpQBChZTaGEyNTZTdHJpbmdDb21wYXJhdG9yEigKJFNIQTI1Nl9TVFJJTkdfQ09NUEFSQVRPUl9VTlNQRUNJRklFRBAAEigKJFNIQTI1Nl9TVFJJTkdfQ09NUEFSQVRPUl9TVEFSVFNfV0lUSBABEiYKIlNIQTI1Nl9TVFJJTkdfQ09NUEFSQVRPUl9FTkRTX1dJVEgQAiqXAgoRVmVyc2lvbkNvbXBhcmF0b3ISIgoeVkVSU0lPTl9DT01QQVJBVE9SX1VOU1BFQ0lGSUVEEAASHAoYVkVSU0lPTl9DT01QQVJBVE9SX0VRVUFMEAESIAocVkVSU0lPTl9DT01QQVJBVE9SX05PVF9FUVVBTBACEiAKHFZFUlNJT05fQ09NUEFSQVRPUl9MRVNTX1RIQU4QAxIpCiVWRVJTSU9OX0NPTVBBUkFUT1JfTEVTU19USEFOX09SX0VRVUFMEAQSIwofVkVSU0lPTl9DT01QQVJBVE9SX0dSRUFURVJfVEhBThAFEiwKKFZFUlNJT05fQ09NUEFSQVRPUl9HUkVBVEVSX1RIQU5fT1JfRVFVQUwQBip1CgZSZWFzb24SFgoSUkVBU09OX1VOU1BFQ0lGSUVEEAASGgoWUkVBU09OX1RBUkdFVElOR19NQVRDSBABEhAKDFJFQVNPTl9TUExJVBACEhEKDVJFQVNPTl9TVEFUSUMQAxISCg5SRUFTT05fREVGQVVMVBAEQkJaQGdpdGh1Yi5jb20vRGF0YURvZy9kZC1zb3VyY2UvZG9tYWlucy9mZmUvbGlicy9mbGFnZ2luZy91ZmMvdWZjcGJiBnByb3RvMw",[eO,eL]),0);function prepareRulesResponse(e){return e.evaluationRegexCache&&e.evaluationJsonCache||Object.defineProperties(e,{evaluationRegexCache:{value:new Map},evaluationJsonCache:{value:new Map}}),e}function encodeFlagsConfiguration(e){return toBinary(eD,e)}function wire_types_parseConfigurationWire(e){let t;try{t=JSON.parse(e)}catch(e){return}if("object"==typeof t&&null!==t&&"version"in t&&(1===t.version||2===t.version))return t}function decodeSafely(e){try{return e()}catch(e){return}}function readFlagKeyObfuscation(e,t){return(void 0===e||!1===e)&&void 0===t?{}:!0!==e||"object"!=typeof t||null===t||Array.isArray(t)?{error:"Invalid precomputed flag-key obfuscation metadata"}:"flag-key-sha256-v1"!==t.scheme?{error:"Unsupported precomputed flag-key obfuscation scheme"}:isLowercaseHex(t.salt,16)?{encoding:t}:{error:"Precomputed flag-key salt must contain 32 lowercase hexadecimal characters"}}function isLowercaseHex(e,t){return"string"==typeof e&&e.length===2*t&&/^[0-9a-f]+$/.test(e)}function isWireEntry(e){return isRecord(e)&&"string"==typeof e.response&&(void 0===e.fetchedAt||"number"==typeof e.fetchedAt&&Number.isFinite(e.fetchedAt))&&(void 0===e.etag||"string"==typeof e.etag)}function isPrecomputedWireEntry(e){return isWireEntry(e)&&(!("context"in e)||isEvaluationContext(e.context))}function parsePrecomputedConfigurationResponse(e){if(!isRecord(e))return{error:"Precomputed configuration response must be an object"};if(!isRecord(e.data))return{error:"Precomputed configuration response is missing data"};if(!isRecord(e.data.attributes))return{error:"Precomputed configuration response is missing attributes"};let{createdAt:t,flags:n,obfuscated:r,obfuscation:a}=e.data.attributes,o=readFlagKeyObfuscation(r,a);if("error"in o)return o;if("string"!=typeof t&&("number"!=typeof t||!Number.isFinite(t)))return{error:"Precomputed configuration createdAt is invalid"};if(!isRecord(n))return{error:"Precomputed configuration flags must be an object"};let i=[];for(let[e,t]of Object.entries(n)){if(o.encoding&&!isLowercaseHex(e,32))return{error:"Obfuscated flag keys must contain 64 lowercase hexadecimal characters"};isPrecomputedFlag(t)||i.push([e,"Invalid precomputed flag configuration"])}return{response:e,...i.length>0?{flagErrors:Object.fromEntries(i)}:{}}}function isEvaluationContext(e){return isRecord(e)&&(void 0===e.targetingKey||"string"==typeof e.targetingKey)&&Object.values(e).every(isJsonValue)}function isPrecomputedFlag(e){if(!isRecord(e)||"string"!=typeof e.allocationKey||"string"!=typeof e.variationKey||"string"!=typeof e.variationType||"string"!=typeof e.reason||"boolean"!=typeof e.doLog)return!1;let t=e.variationType;return"STRING"===t||"string"===t?"string"==typeof e.variationValue:"BOOLEAN"===t||"boolean"===t?"boolean"==typeof e.variationValue:["NUMBER","NUMERIC","INTEGER","number","integer","float"].includes(t)?"number"==typeof e.variationValue&&Number.isFinite(e.variationValue):("OBJECT"===t||"JSON"===t||"object"===t)&&"object"==typeof e.variationValue&&null!==e.variationValue&&isJsonValue(e.variationValue)}function isJsonValue(e){return null===e||"string"==typeof e||"boolean"==typeof e||("number"==typeof e?Number.isFinite(e):Array.isArray(e)?e.every(isJsonValue):isRecord(e)&&Object.values(e).every(isJsonValue))}function isRecord(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function configurationFromRulesBinary(e){return{rules:{response:prepareRulesResponse(fromBinary(eD,e))}}}function rulesConfigurationFromWire(e){if(void 0===e.rules)return{};if(!isWireEntry(e.rules))return{rulesError:"Invalid rules configuration wire entry"};let{rules:t}=e,n=decodeSafely(()=>prepareRulesResponse(fromBinary(eD,base64Decode(t.response))));return n?{rules:{...t,response:n}}:{rulesError:"Rules configuration response could not be decoded"}}function precomputedConfigurationFromWire(e){if(void 0===e.precomputed)return{};if(!isPrecomputedWireEntry(e.precomputed))return{precomputedError:"Invalid precomputed configuration wire entry"};let{precomputed:t}=e,n=decodeSafely(()=>parsePrecomputedConfigurationResponse(JSON.parse(t.response)));return n?"error"in n?{precomputedError:n.error}:{precomputed:{...t,...n}}:{precomputedError:"Precomputed configuration response is not valid JSON"}}function precomputedConfigurationToWire(e){let t={version:1};if(!e.precomputed)return t;let{context:n,response:r,fetchedAt:a,etag:o}=e.precomputed;return!0===r.data.attributes.obfuscated&&(t.version=2),t.precomputed={context:n,response:JSON.stringify(r),fetchedAt:a,etag:o},t}function configurationFromString(e){let t=wire_types_parseConfigurationWire(e);return t?{...precomputedConfigurationFromWire(t),...rulesConfigurationFromWire(t)}:{configurationError:"Invalid flags configuration wire format"}}function configurationToString(e){let t=precomputedConfigurationToWire(e);if(e.rules){let{response:n,fetchedAt:r,etag:a}=e.rules;t.rules={response:base64Encode(encodeFlagsConfiguration(n)),fetchedAt:r,etag:a}}return JSON.stringify(t)}(F=er||(er={}))[F.UNSPECIFIED=0]="UNSPECIFIED",F[F.STRING=1]="STRING",F[F.INTEGER=2]="INTEGER",F[F.NUMERIC=3]="NUMERIC",F[F.BOOLEAN=4]="BOOLEAN",F[F.JSON=5]="JSON",(O=ea||(ea={}))[O.UNSPECIFIED=0]="UNSPECIFIED",O[O.LESS_THAN=1]="LESS_THAN",O[O.LESS_THAN_OR_EQUAL=2]="LESS_THAN_OR_EQUAL",O[O.GREATER_THAN=3]="GREATER_THAN",O[O.GREATER_THAN_OR_EQUAL=4]="GREATER_THAN_OR_EQUAL",(L=eo||(eo={}))[L.UNSPECIFIED=0]="UNSPECIFIED",L[L.STARTS_WITH=1]="STARTS_WITH",L[L.ENDS_WITH=2]="ENDS_WITH",L[L.CONTAINS=3]="CONTAINS",(D=ei||(ei={}))[D.UNSPECIFIED=0]="UNSPECIFIED",D[D.STARTS_WITH=1]="STARTS_WITH",D[D.ENDS_WITH=2]="ENDS_WITH",(V=el||(el={}))[V.UNSPECIFIED=0]="UNSPECIFIED",V[V.EQUAL=1]="EQUAL",V[V.NOT_EQUAL=2]="NOT_EQUAL",V[V.LESS_THAN=3]="LESS_THAN",V[V.LESS_THAN_OR_EQUAL=4]="LESS_THAN_OR_EQUAL",V[V.GREATER_THAN=5]="GREATER_THAN",V[V.GREATER_THAN_OR_EQUAL=6]="GREATER_THAN_OR_EQUAL",(U=es||(es={}))[U.UNSPECIFIED=0]="UNSPECIFIED",U[U.TARGETING_MATCH=1]="TARGETING_MATCH",U[U.SPLIT=2]="SPLIT",U[U.STATIC=3]="STATIC",U[U.DEFAULT=4]="DEFAULT",new WeakMap;let eV=new Set(["datadoghq.com","us3.datadoghq.com","us5.datadoghq.com","ap1.datadoghq.com","ap2.datadoghq.com","uk1.datadoghq.com","datadoghq.eu"]);function buildEndpointHost(e,t="preview"){if("ddog-gov.com"===e)throw Error("ddog-gov.com is not supported for flagging endpoints");if("datad0g.com"===e)return`${t}.ff-cdn.datad0g.com`;if(!eV.has(e))throw Error(`Unsupported site: ${e}. Supported sites: ${[...eV].join(", ")}`);return`${t}.ff-cdn.${e}`}function timeStampNow(){return new Date().getTime()}let ConfigurationFetchError=class ConfigurationFetchError extends Error{constructor(e,t,n){super(t),this.code=e,this.status=n,this.name="ConfigurationFetchError"}};function abortError(e){var t;return(null==(t=null==e?void 0:e.reason)?void 0:t.name)==="TimeoutError"?new ConfigurationFetchError("timeout","Configuration fetch timed out"):new ConfigurationFetchError("cancelled","Configuration fetch cancelled")}let eU=new Set(["ENOTFOUND","EAI_AGAIN","ECONNREFUSED","ECONNRESET","ETIMEDOUT","EHOSTUNREACH","ENETUNREACH","EPIPE","UND_ERR_CONNECT_TIMEOUT","UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_SOCKET","UND_ERR_CLOSED","CERT_HAS_EXPIRED","DEPTH_ZERO_SELF_SIGNED_CERT","SELF_SIGNED_CERT_IN_CHAIN","UNABLE_TO_GET_ISSUER_CERT_LOCALLY","UNABLE_TO_VERIFY_LEAF_SIGNATURE","ERR_TLS_CERT_ALTNAME_INVALID"]);function transportError(e,t){let{code:n,cause:r}=null!=t?t:{},a=[null==r?void 0:r.code,n].find(e=>"string"==typeof e&&eU.has(e));return new ConfigurationFetchError("transport",a?`${e} (${a})`:e)}function invalidOption(e){return new ConfigurationFetchError("invalid_options",`Invalid configuration fetch options: ${e}`)}async function fetchRulesConfiguration(e){var t,n;let r,a,{distributionChannel:o="server",apiKey:i,clientToken:l,env:s,site:u="datadoghq.com",timeoutMs:m=5e3,signal:d,fetch:p=globalThis.fetch}=null!=e?e:{};if(!["server","client"].includes(o))throw invalidOption("distributionChannel");if("client"===o?void 0!==i:void 0!==l)throw invalidOption("client"===o?"apiKey with client distribution channel":"clientToken with server distribution channel");let c="client"===o?l:i;if("string"!=typeof c||!c.trim()||/[\r\n]/.test(c))throw invalidOption("client"===o?"clientToken":"apiKey");if("string"!=typeof s||!s.trim())throw invalidOption("env");if(!Number.isInteger(m)||m<=0||m>0x7fffffff)throw invalidOption("timeoutMs");if("function"!=typeof p)throw invalidOption("fetch");if(void 0!==d&&(null===d||"boolean"!=typeof d.aborted||"function"!=typeof d.addEventListener||"function"!=typeof d.removeEventListener))throw invalidOption("signal");try{r=buildEndpointHost(u,`ufc-${o}`)}catch(e){throw invalidOption("site")}if(null==d?void 0:d.aborted)throw abortError(d);let f=new URL(`https://${r}/api/v2/feature-flagging/config/rules-based/${o}`);f.searchParams.set("dd_env",s);let b=new AbortController,cancel=()=>b.abort(abortError(d));null==d||d.addEventListener("abort",cancel,{once:!0});let g=setTimeout(()=>b.abort(new ConfigurationFetchError("timeout","Configuration fetch timed out")),m),E=timeStampNow();try{let e,n;try{a=await p(f.toString(),{method:"GET",headers:{Accept:"application/protobuf",["client"===o?"dd-client-token":"dd-api-key"]:c,"DD-Client-Library-Language":"nodejs","DD-Client-Library-Version":"2.5.0"},signal:b.signal,redirect:"manual"})}catch(e){throw transportError("Configuration request failed",e)}if(b.signal.throwIfAborted(),200!==a.status)throw new ConfigurationFetchError("http",`Configuration fetch returned HTTP ${a.status}`,a.status);let r=null==(t=a.headers.get("content-type"))?void 0:t.split(";")[0].trim().toLowerCase();if("application/protobuf"!==r)throw new ConfigurationFetchError("invalid_response","Expected a protobuf configuration response");try{e=new Uint8Array(await a.arrayBuffer())}catch(e){throw transportError("Configuration response could not be read",e)}if(b.signal.throwIfAborted(),0===e.length)throw new ConfigurationFetchError("invalid_response","Configuration response was empty");try{n=configurationFromRulesBinary(e)}catch(e){throw new ConfigurationFetchError("decode","Configuration protobuf could not be decoded")}if(n.rules){n.rules.fetchedAt=E;let e=a.headers.get("etag");null!==e&&(n.rules.etag=e)}return n}catch(e){if(b.signal.aborted)throw b.signal.reason;if(e instanceof ConfigurationFetchError)throw e;throw transportError("Configuration request failed",e)}finally{clearTimeout(g),null==d||d.removeEventListener("abort",cancel),b.abort();try{let e=null==a?void 0:a.body;!e||(null==a?void 0:a.bodyUsed)||("function"==typeof e.cancel?e.cancel().catch(()=>{}):null==(n=e.destroy)||n.call(e))}catch(e){}}}module.exports=em})();
|