UNPKG

@influxdata/influxdb3-client

Version:

The Client that provides a simple and convenient way to interact with InfluxDB 3.

5 lines • 63.5 kB
var R=class r extends Error{constructor(e){super(e),this.name="IllegalArgumentError",Object.setPrototypeOf(this,r.prototype)}},P=class r extends Error{constructor(t,n,i,s,o,a){var l;super();this.statusCode=t;this.statusMessage=n;this.body=i;this.contentType=s;this.headers=o;if(Object.setPrototypeOf(this,r.prototype),a)this.message=a;else if(i&&(s!=null&&s.startsWith("application/json")||!s))try{if(this.json=JSON.parse(i),this.message=this.json.message,this.code=this.json.code,!this.message){let f=this.json;(l=f.data)!=null&&l.error_message?this.message=f.data.error_message:f.error&&(this.message=f.error)}}catch(f){}this.message||(this.message=`${t} ${n} : ${i}`),this.name="HttpError"}},W=class r extends Error{constructor(){super(),Object.setPrototypeOf(this,r.prototype),this.name="RequestTimedOutError",this.message="Request timed out"}},C=class r extends Error{constructor(){super(),this.name="AbortError",Object.setPrototypeOf(this,r.prototype),this.message="Response aborted"}};function qr(){let r=new TextDecoder("utf-8");return{concat(e,t){let n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n},copy(e,t,n){let i=new Uint8Array(n-t);return i.set(e.subarray(t,n)),i},toUtf8String(e,t,n){return r.decode(e.subarray(t,n))}}}var lt={timeout:1e4,queryTimeout:6e4},ut={precision:"ns",gzipThreshold:1e3},xe={type:"sql"};function ft(r){if(!r)throw Error("Connection string not set!");let e=new URL(r.trim(),"http://localhost"),t={host:r.indexOf("://")>0?e.origin+e.pathname:e.pathname};return e.searchParams.has("token")&&(t.token=e.searchParams.get("token")),e.searchParams.has("authScheme")&&(t.authScheme=e.searchParams.get("authScheme")),e.searchParams.has("database")&&(t.database=e.searchParams.get("database")),e.searchParams.has("timeout")&&(t.timeout=parseInt(e.searchParams.get("timeout"))),e.searchParams.has("precision")&&(t.writeOptions||(t.writeOptions={}),t.writeOptions.precision=e.searchParams.get("precision")),e.searchParams.has("gzipThreshold")&&(t.writeOptions||(t.writeOptions={}),t.writeOptions.gzipThreshold=parseInt(e.searchParams.get("gzipThreshold"))),t}function ct(){if(!process.env.INFLUX_HOST)throw Error("INFLUX_HOST variable not set!");if(!process.env.INFLUX_TOKEN)throw Error("INFLUX_TOKEN variable not set!");let r={host:process.env.INFLUX_HOST.trim()};return process.env.INFLUX_TOKEN&&(r.token=process.env.INFLUX_TOKEN.trim()),process.env.INFLUX_AUTH_SCHEME&&(r.authScheme=process.env.INFLUX_AUTH_SCHEME.trim()),process.env.INFLUX_DATABASE&&(r.database=process.env.INFLUX_DATABASE.trim()),process.env.INFLUX_TIMEOUT&&(r.timeout=parseInt(process.env.INFLUX_TIMEOUT.trim())),process.env.INFLUX_PRECISION&&(r.writeOptions||(r.writeOptions={}),r.writeOptions.precision=process.env.INFLUX_PRECISION),process.env.INFLUX_GZIP_THRESHOLD&&(r.writeOptions||(r.writeOptions={}),r.writeOptions.gzipThreshold=parseInt(process.env.INFLUX_GZIP_THRESHOLD)),r}var or={error(r,e){console.error(`ERROR: ${r}`,e||"")},warn(r,e){console.warn(`WARN: ${r}`,e||"")}},K=or,$={error(r,e){K.error(r,e)},warn(r,e){K.warn(r,e)}};function Zr(r){let e=K;return K=r,e}function Oe(r,e){return function(t){let n="",i=0,s=0;for(;s<t.length;){let o=r.indexOf(t[s]);o>=0&&(n+=t.substring(i,s),n+=e[o],i=s+1),s++}return i==0?t:(i<t.length&&(n+=t.substring(i,t.length)),n)}}function ar(r,e){let t=Oe(r,e);return n=>`"${t(n)}"`}var _={measurement:Oe(`, \r `,["\\,","\\ ","\\n","\\r","\\t"]),quoted:ar('"\\',['\\"',"\\\\"]),tag:Oe(`, = \r `,["\\,","\\ ","\\=","\\n","\\r","\\t"])};var Q="000000000",Ee=!1;function lr(r){return Ee=r&&process&&typeof process.hrtime=="function"}lr(!0);var pt,Z,mt=Date.now(),Ie=0;function Ne(){if(Ee){let r=process.hrtime(),e=Date.now();Z?(r[0]=r[0]-Z[0],r[1]=r[1]-Z[1],r[1]<0&&(r[0]-=1,r[1]+=1e9),e=pt+r[0]*1e3+Math.floor(r[1]/1e6)):(Z=r,pt=e);let t=String(r[1]%1e6);return String(e)+Q.substr(0,6-t.length)+t}else{let r=Date.now();r!==mt?(mt=r,Ie=0):Ie++;let e=String(Ie);return String(r)+Q.substr(0,6-e.length)+e}}function ht(){if(Ee){let r=process.hrtime(),e=String(Math.trunc(r[1]/1e3)%1e3);return String(Date.now())+Q.substr(0,3-e.length)+e}else return String(Date.now())+Q.substr(0,3)}function dt(){return String(Date.now())}function gt(){return String(Math.floor(Date.now()/1e3))}var ur={s:gt,ms:dt,us:ht,ns:Ne,seconds:gt,millis:dt,micros:ht,nanos:Ne},fr={s:r=>`${Math.floor(r.getTime()/1e3)}`,ms:r=>`${r.getTime()}`,us:r=>`${r.getTime()}000`,ns:r=>`${r.getTime()}000000`};function bt(r){return r===void 0?Ne():typeof r=="string"?r.length>0?r:void 0:r instanceof Date?`${r.getTime()}000000`:String(typeof r=="number"?Math.floor(r):r)}var yt=(r,e="ns")=>r===void 0?ur[e]():typeof r=="string"?r.length>0?r:void 0:r instanceof Date?fr[e](r):String(typeof r=="number"?Math.floor(r):r);var L=r=>{throw r},Tt=r=>r!==void 0,wt=r=>r instanceof Array||r instanceof Object&&typeof r.length=="number"&&(r.length===0||Object.getOwnPropertyNames(r).some(e=>e==="0")),Ft=r=>{let e=new Uint8Array(4);return e[0]=r>>0,e[1]=r>>8,e[2]=r>>16,e[3]=r>>24,e},cr=async r=>{let e=[];for await(let t of r)e.push(t);return e},q=r=>r===null||typeof r=="string"&&(r===""||r.indexOf(" ")!==-1)?!1:r!==""&&!isNaN(Number(r==null?void 0:r.toString())),xt=r=>q(r)?typeof r=="string"?Number(r)>=0:typeof r=="number"&&r>=0:!1;var Ot=(r,e)=>{let t=wt(r)&&typeof r!="string"?Array.from(r):[r];return t.length===0?[]:typeof t[0]=="string"?t:t.map(i=>i.toLineProtocol(void 0,e)).filter(Tt)};var pr=r=>typeof r=="number"?"float":typeof r=="string"?"string":typeof r=="boolean"?"boolean":void 0,ke=class r extends Error{constructor(e,t,n){super(`field ${e} of type ${n} doesn't match expected type ${t}!`),this.name="GetFieldTypeMissmatchError",Object.setPrototypeOf(this,r.prototype)}},A=class r{constructor(){this._tags={};this._fields={}}getMeasurement(){return this._name}setMeasurement(e){return this._name=e,this}getTimestamp(){return this._time}setTimestamp(e){return this._time=e,this}getTag(e){return this._tags[e]}setTag(e,t){return this._tags[e]=t,this}removeTag(e){return delete this._tags[e],this}getTagNames(){return Object.keys(this._tags)}getFloatField(e){return this.getField(e,"float")}setFloatField(e,t){let n;if(typeof t=="number"?n=t:n=parseFloat(t),!isFinite(n))throw new Error(`invalid float value for field '${e}': '${t}'!`);return this._fields[e]=["float",n],this}getIntegerField(e){return this.getField(e,"integer")}setIntegerField(e,t){let n;if(typeof t=="number"?n=t:n=parseInt(String(t)),isNaN(n)||n<=-9223372036854776e3||n>=9223372036854776e3)throw new Error(`invalid integer value for field '${e}': '${t}'!`);return this._fields[e]=["integer",Math.floor(n)],this}getUintegerField(e){return this.getField(e,"uinteger")}setUintegerField(e,t){if(typeof t=="number"){if(isNaN(t)||t<0||t>Number.MAX_SAFE_INTEGER)throw new Error(`uint value for field '${e}' out of range: ${t}`);this._fields[e]=["uinteger",Math.floor(t)]}else{let n=String(t);for(let i=0;i<n.length;i++){let s=n.charCodeAt(i);if(s<48||s>57)throw new Error(`uint value has an unsupported character at pos ${i}: ${t}`)}if(n.length>20||n.length===20&&n.localeCompare("18446744073709551615")>0)throw new Error(`uint value for field '${e}' out of range: ${n}`);this._fields[e]=["uinteger",+n]}return this}getStringField(e){return this.getField(e,"string")}setStringField(e,t){return t!=null&&(typeof t!="string"&&(t=String(t)),this._fields[e]=["string",t]),this}getBooleanField(e){return this.getField(e,"boolean")}setBooleanField(e,t){return this._fields[e]=["boolean",!!t],this}getField(e,t){let n=this._fields[e];if(!n)return;let[i,s]=n;if(t!==void 0&&t!==i)throw new ke(e,t,i);return s}getFieldType(e){let t=this._fields[e];if(t)return t[0]}setField(e,t,n){switch(n!=null?n:pr(t)){case"string":return this.setStringField(e,t);case"boolean":return this.setBooleanField(e,t);case"float":return this.setFloatField(e,t);case"integer":return this.setIntegerField(e,t);case"uinteger":return this.setUintegerField(e,t);case void 0:return this;default:throw new Error(`invalid field type for field '${e}': type -> ${n}, value -> ${t}!`)}}setFields(e){for(let[t,n]of Object.entries(e))this.setField(t,n);return this}removeField(e){return delete this._fields[e],this}getFieldNames(){return Object.keys(this._fields)}hasFields(){return this.getFieldNames().length>0}copy(){let e=new r;return e._name=this._name,e._time=this._time,e._tags=Object.fromEntries(Object.entries(this._tags)),e._fields=Object.fromEntries(Object.entries(this._fields).map(t=>[...t])),e}asPoint(e){return z.fromValues(e?this.setMeasurement(e):this)}};var mr=(r,e)=>{switch(r){case"string":return _.quoted(e);case"boolean":return e?"T":"F";case"float":return`${e}`;case"integer":return`${e}i`;case"uinteger":return`${e}u`}},z=class r{constructor(e){e instanceof A?this._values=e:this._values=new A,typeof e=="string"&&this._values.setMeasurement(e)}static measurement(e){return new r(e)}static fromValues(e){if(!e.getMeasurement()||e.getMeasurement()==="")throw new Error("Cannot convert values to point without measurement set!");return new r(e)}getMeasurement(){return this._values.getMeasurement()}setMeasurement(e){return e!==""&&this._values.setMeasurement(e),this}getTimestamp(){return this._values.getTimestamp()}setTimestamp(e){return this._values.setTimestamp(e),this}getTag(e){return this._values.getTag(e)}setTag(e,t){return this._values.setTag(e,t),this}removeTag(e){return this._values.removeTag(e),this}getTagNames(){return this._values.getTagNames()}getFloatField(e){return this._values.getFloatField(e)}setFloatField(e,t){return this._values.setFloatField(e,t),this}getIntegerField(e){return this._values.getIntegerField(e)}setIntegerField(e,t){return this._values.setIntegerField(e,t),this}getUintegerField(e){return this._values.getUintegerField(e)}setUintegerField(e,t){return this._values.setUintegerField(e,t),this}getStringField(e){return this._values.getStringField(e)}setStringField(e,t){return this._values.setStringField(e,t),this}getBooleanField(e){return this._values.getBooleanField(e)}setBooleanField(e,t){return this._values.setBooleanField(e,t),this}getField(e,t){return this._values.getField(e,t)}getFieldType(e){return this._values.getFieldType(e)}setField(e,t,n){return this._values.setField(e,t,n),this}setFields(e){return this._values.setFields(e),this}removeField(e){return this._values.removeField(e),this}getFieldNames(){return this._values.getFieldNames()}hasFields(){return this._values.hasFields()}copy(){return new r(this._values.copy())}toLineProtocol(e,t){if(!this._values.getMeasurement())return;let n="";if(this._values.getFieldNames().sort().forEach(a=>{if(a){let l=this._values.getFieldType(a),f=this._values.getField(a);if(l===void 0||f===void 0)return;let c=mr(l,f);n.length>0&&(n+=","),n+=`${_.tag(a)}=${c}`}}),n.length===0)return;let i="",s=this._values.getTagNames();if(t){let a=new Set(s),l=Object.keys(t);for(let f=l.length;f--;)a.has(l[f])&&l.splice(f,1);l.sort().forEach(f=>{if(f){let c=t[f];c&&(i+=",",i+=`${_.tag(f)}=${_.tag(c)}`)}})}s.sort().forEach(a=>{if(a){let l=this._values.getTag(a);l&&(i+=",",i+=`${_.tag(a)}=${_.tag(l)}`)}});let o=this._values.getTimestamp();return e?typeof e=="string"?o=yt(o,e):o=e(o):o=bt(o),`${_.measurement(this.getMeasurement())}${i} ${n}${o!==void 0?` ${o}`:""}`}toString(){let e=this.toLineProtocol(void 0);return e||`invalid point: ${JSON.stringify(this,void 0)}`}};import{parse as It}from"url";import*as Nt from"http";import*as Et from"https";import{Buffer as Se}from"buffer";import ee from"zlib";function _e(r={}){let e=0,t={next:n=>{if(e===0&&r.next&&n!==null&&n!==void 0)return r.next(n)},error:n=>{e===0&&(e=1,r.error&&r.error(n))},complete:()=>{e===0&&(e=2,r.complete&&r.complete())},responseStarted:(n,i)=>{r.responseStarted&&r.responseStarted(n,i)}};return r.useCancellable&&(t.useCancellable=r.useCancellable.bind(r)),r.useResume&&(t.useResume=r.useResume.bind(r)),t}var hr="1.1.0",Y=`influxdb3-js/${hr}`;import{pipeline as dr}from"stream";var gr={flush:ee.constants.Z_SYNC_FLUSH,finishFlush:ee.constants.Z_SYNC_FLUSH},br=Se.allocUnsafe(0),Re=class{constructor(){this._cancelled=!1}cancel(){this._cancelled=!0,this.resume&&(this.resume(),this.resume=void 0)}isCancelled(){return this._cancelled}},Pe=class{constructor(e){var f,c,p,m,y,d,x;let{host:t,proxyUrl:n,token:i,authScheme:s,transportOptions:o,...a}=e,l=It(n||t);if(this._token=i,this._authScheme=s,this._defaultOptions={...a,...o,port:l.port,protocol:l.protocol,hostname:l.hostname},this._contextPath=n?t:(f=l.path)!=null?f:"",this._contextPath.endsWith("/")&&(this._contextPath=this._contextPath.substring(0,this._contextPath.length-1)),Object.keys(this._defaultOptions).forEach(N=>this._defaultOptions[N]===void 0&&delete this._defaultOptions[N]),this._contextPath.endsWith("/api/v2")&&($.warn(`Please remove '/api/v2' context path from InfluxDB base url, using ${l.protocol}//${l.hostname}:${l.port} !`),this._contextPath=""),l.protocol==="http:")this._requestApi=(m=(p=(c=this._defaultOptions["follow-redirects"])==null?void 0:c.http)==null?void 0:p.request)!=null?m:Nt.request;else if(l.protocol==="https:")this._requestApi=(x=(d=(y=this._defaultOptions["follow-redirects"])==null?void 0:y.https)==null?void 0:d.request)!=null?x:Et.request;else throw new Error(`Unsupported protocol "${l.protocol} in URL: "${e.host}"`);this._headers={"User-Agent":Y,...e.headers},n&&(this._headers.Host=It(t).host)}send(e,t,n,i){let s=new Re;i&&i.useCancellable&&i.useCancellable(s),this._createRequestMessage(e,t,n,o=>{this._request(o,s,i)},o=>(i==null?void 0:i.error)&&i.error(o))}request(e,t,n,i){t?typeof t!="string"&&(t=JSON.stringify(t)):t="";let s=br,o,a;return new Promise((l,f)=>{this.send(e,t,n,{responseStarted(c,p){i&&i(c,p),o=String(c["content-type"]),a=p},next:c=>{s=Se.concat([s,c])},complete:()=>{var p,m;let c=(m=(p=n.headers)==null?void 0:p.accept)!=null?m:o;try{a===204&&l(void 0),c.includes("json")?s.length?l(JSON.parse(s.toString("utf8"))):l(void 0):c.includes("text")||c.startsWith("application/csv")?l(s.toString("utf8")):l(s)}catch(y){f(y)}},error:c=>{f(c)}})})}async*iterate(e,t,n){var c;let i,s;function o(p){i=p,s(p)}let a=await new Promise((p,m)=>{s=m,this._createRequestMessage(e,t,n,p,o)});(c=a.signal)!=null&&c.addEventListener&&a.signal.addEventListener("abort",()=>{o(new C)});let l=await new Promise((p,m)=>{s=m;let y=this._requestApi(a,p);y.on("timeout",()=>o(new W)),y.on("error",o),y.write(a.body),y.end()}),f=await new Promise((p,m)=>{s=m,this._prepareResponse(l,p,o)});for await(let p of f){if(i)throw i;yield p}}_createRequestMessage(e,t,n,i,s){var f;let o=Se.from(t,"utf-8"),a={"content-type":"application/json; charset=utf-8",...this._headers};if(this._token){let c=(f=this._authScheme)!=null?f:"Token";a.authorization=`${c} ${this._token}`}let l={...this._defaultOptions,path:this._contextPath+e,method:n.method,headers:{...a,...n.headers}};if(n.signal&&(l.signal=n.signal),n.gzipThreshold!==void 0&&n.gzipThreshold<o.length){ee.gzip(o,(c,p)=>{if(c)return s(c);l.headers["content-encoding"]="gzip",l.body=p,i(l)});return}l.body=o,l.headers["content-length"]=l.body.length,i(l)}_prepareResponse(e,t,n){var a;e.on("aborted",()=>{n(new C)}),e.on("error",n);let i=(a=e.statusCode)!=null?a:600,s=e.headers["content-encoding"],o;if(s==="gzip"?(o=ee.createGunzip(gr),o=dr(e,o,l=>l&&n(l))):o=e,i>=300){let l="",f=String(e.headers["content-type"]).startsWith("application/json");o.on("data",c=>{l+=c.toString(),!f&&l.length>1e3&&(l=l.slice(0,1e3),e.resume())}),o.on("end",()=>{l===""&&e.headers["x-influxdb-error"]&&(l=e.headers["x-influxdb-error"].toString()),n(new P(i,e.statusMessage,l,e.headers["content-type"],e.headers))})}else t(o)}_request(e,t,n){var o;let i=_e(n);if(t.isCancelled()){i.complete();return}(o=e.signal)!=null&&o.addEventListener&&e.signal.addEventListener("abort",()=>{i.error(new C)});let s=this._requestApi(e,a=>{if(t.isCancelled()){a.resume(),i.complete();return}i.responseStarted(a.headers,a.statusCode),this._prepareResponse(a,l=>{l.on("data",f=>{if(t.isCancelled())a.resume();else if(i.next(f)===!1){if(!i.useResume){i.error(new Error("Unable to pause, useResume is not configured!")),a.resume();return}a.pause();let c=()=>{a.resume()};t.resume=c,i.useResume(c)}}),l.on("end",i.complete)},i.error)});typeof s.setTimeout=="function"&&e.timeout&&s.setTimeout(e.timeout),s.on("timeout",()=>{i.error(new W)}),s.on("error",a=>{i.error(a)}),e.body&&s.write(e.body),s.end()}},kt=Pe;import{GrpcTransport as yr}from"@protobuf-ts/grpc-transport";var _t="http://",St="https://",Rt=r=>{r=r.replace(/\/$/,"");let e;return r.startsWith(_t)?(r=r.slice(_t.length),e=!1,r.includes(":")||(r=`${r}:80`)):r.startsWith(St)&&(r=r.slice(St.length),e=!0,r.includes(":")||(r=`${r}:443`)),{url:r,safe:e}};import*as Pt from"@grpc/grpc-js";var At=({host:r,timeout:e})=>{let{url:t,safe:n}=Rt(r),i=Pt.credentials[n==null||n?"createSsl":"createInsecure"]();return new yr({host:t,channelCredentials:i,timeout:e})};var Tr={writeTransport:r=>new kt(r),queryTransport:At},j=Tr;var J=class{constructor(e){this._options=e;this._closed=!1;var t;this._transport=(t=this._options.transport)!=null?t:j.writeTransport(this._options),this.doWrite=this.doWrite.bind(this)}_createWritePath(e,t,n){let i=[`bucket=${encodeURIComponent(e)}`,`precision=${t.precision}`];return n&&i.push(`org=${encodeURIComponent(n)}`),`/api/v2/write?${i.join("&")}`}doWrite(e,t,n,i){if(this._closed)return Promise.reject(new Error("writeApi: already closed!"));if(e.length<=0||e.length===1&&e[0]==="")return Promise.resolve();let o,a,l=new Promise((d,x)=>{o=d,a=x}),f,c,p={responseStarted(d,x){f=x,c=d},error(d){if(d instanceof P&&d.json&&typeof d.json.error=="string"&&d.json.error.includes("hinted handoff queue not empty")){$.warn(`Write to InfluxDB returns: ${d.json.error}`),f=204,p.complete();return}$.error("Write to InfluxDB failed.",d),a(d)},complete(){if(f==null||f>=200&&f<300)o();else{let d=`2xx HTTP response status code expected, but ${f} returned`,x=new P(f,d,void 0,"0",c);x.message=d,p.error(x)}}},m={...ut,...i},y={method:"POST",headers:{"content-type":"text/plain; charset=utf-8",...i==null?void 0:i.headers},gzipThreshold:m.gzipThreshold};return this._transport.send(this._createWritePath(t,m,n),e.join(` `),y,p),l}async close(){this._closed=!0}};import{RecordBatchReader as Mr,Type as Wr}from"apache-arrow";import{ServiceType as kr}from"@protobuf-ts/runtime-rpc";function D(r){let e=typeof r;if(e=="object"){if(Array.isArray(r))return"array";if(r===null)return"null"}return e}function Ae(r){return r!==null&&typeof r=="object"&&!Array.isArray(r)}var k="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),te=[];for(let r=0;r<k.length;r++)te[k[r].charCodeAt(0)]=r;te[45]=k.indexOf("+");te[95]=k.indexOf("/");function Dt(r){let e=r.length*3/4;r[r.length-2]=="="?e-=2:r[r.length-1]=="="&&(e-=1);let t=new Uint8Array(e),n=0,i=0,s,o=0;for(let a=0;a<r.length;a++){if(s=te[r.charCodeAt(a)],s===void 0)switch(r[a]){case"=":i=0;case` `:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string.")}switch(i){case 0:o=s,i=1;break;case 1:t[n++]=o<<2|(s&48)>>4,o=s,i=2;break;case 2:t[n++]=(o&15)<<4|(s&60)>>2,o=s,i=3;break;case 3:t[n++]=(o&3)<<6|s,i=0;break}}if(i==1)throw Error("invalid base64 string.");return t.subarray(0,n)}function Ut(r){let e="",t=0,n,i=0;for(let s=0;s<r.length;s++)switch(n=r[s],t){case 0:e+=k[n>>2],i=(n&3)<<4,t=1;break;case 1:e+=k[i|n>>4],i=(n&15)<<2,t=2;break;case 2:e+=k[i|n>>6],e+=k[n&63],t=0;break}return t&&(e+=k[i],e+="=",t==1&&(e+="=")),e}var B;(function(r){r.symbol=Symbol.for("protobuf-ts/unknown"),r.onRead=(t,n,i,s,o)=>{(e(n)?n[r.symbol]:n[r.symbol]=[]).push({no:i,wireType:s,data:o})},r.onWrite=(t,n,i)=>{for(let{no:s,wireType:o,data:a}of r.list(n))i.tag(s,o).raw(a)},r.list=(t,n)=>{if(e(t)){let i=t[r.symbol];return n?i.filter(s=>s.no==n):i}return[]},r.last=(t,n)=>r.list(t,n).slice(-1)[0];let e=t=>t&&Array.isArray(t[r.symbol])})(B||(B={}));var w;(function(r){r[r.Varint=0]="Varint",r[r.Bit64=1]="Bit64",r[r.LengthDelimited=2]="LengthDelimited",r[r.StartGroup=3]="StartGroup",r[r.EndGroup=4]="EndGroup",r[r.Bit32=5]="Bit32"})(w||(w={}));function Ct(){let r=0,e=0;for(let n=0;n<28;n+=7){let i=this.buf[this.pos++];if(r|=(i&127)<<n,!(i&128))return this.assertBounds(),[r,e]}let t=this.buf[this.pos++];if(r|=(t&15)<<28,e=(t&112)>>4,!(t&128))return this.assertBounds(),[r,e];for(let n=3;n<=31;n+=7){let i=this.buf[this.pos++];if(e|=(i&127)<<n,!(i&128))return this.assertBounds(),[r,e]}throw new Error("invalid varint")}function ne(r,e,t){for(let s=0;s<28;s=s+7){let o=r>>>s,a=!(!(o>>>7)&&e==0),l=(a?o|128:o)&255;if(t.push(l),!a)return}let n=r>>>28&15|(e&7)<<4,i=!!(e>>3);if(t.push((i?n|128:n)&255),!!i){for(let s=3;s<31;s=s+7){let o=e>>>s,a=!!(o>>>7),l=(a?o|128:o)&255;if(t.push(l),!a)return}t.push(e>>>31&1)}}var re=65536*65536;function De(r){let e=r[0]=="-";e&&(r=r.slice(1));let t=1e6,n=0,i=0;function s(o,a){let l=Number(r.slice(o,a));i*=t,n=n*t+l,n>=re&&(i=i+(n/re|0),n=n%re)}return s(-24,-18),s(-18,-12),s(-12,-6),s(-6),[e,n,i]}function ie(r,e){if(e>>>0<=2097151)return""+(re*e+(r>>>0));let t=r&16777215,n=(r>>>24|e<<8)>>>0&16777215,i=e>>16&65535,s=t+n*6777216+i*6710656,o=n+i*8147497,a=i*2,l=1e7;s>=l&&(o+=Math.floor(s/l),s%=l),o>=l&&(a+=Math.floor(o/l),o%=l);function f(c,p){let m=c?String(c):"";return p?"0000000".slice(m.length)+m:m}return f(a,0)+f(o,a)+f(s,1)}function Ue(r,e){if(r>=0){for(;r>127;)e.push(r&127|128),r=r>>>7;e.push(r)}else{for(let t=0;t<9;t++)e.push(r&127|128),r=r>>7;e.push(1)}}function Lt(){let r=this.buf[this.pos++],e=r&127;if(!(r&128))return this.assertBounds(),e;if(r=this.buf[this.pos++],e|=(r&127)<<7,!(r&128))return this.assertBounds(),e;if(r=this.buf[this.pos++],e|=(r&127)<<14,!(r&128))return this.assertBounds(),e;if(r=this.buf[this.pos++],e|=(r&127)<<21,!(r&128))return this.assertBounds(),e;r=this.buf[this.pos++],e|=(r&15)<<28;for(let t=5;r&128&&t<10;t++)r=this.buf[this.pos++];if(r&128)throw new Error("invalid varint");return this.assertBounds(),e>>>0}var b;function wr(){let r=new DataView(new ArrayBuffer(8));b=globalThis.BigInt!==void 0&&typeof r.getBigInt64=="function"&&typeof r.getBigUint64=="function"&&typeof r.setBigInt64=="function"&&typeof r.setBigUint64=="function"?{MIN:BigInt("-9223372036854775808"),MAX:BigInt("9223372036854775807"),UMIN:BigInt("0"),UMAX:BigInt("18446744073709551615"),C:BigInt,V:r}:void 0}wr();function Bt(r){if(!r)throw new Error("BigInt unavailable, see https://github.com/timostamm/protobuf-ts/blob/v1.0.8/MANUAL.md#bigint-support")}var Vt=/^-?[0-9]+$/,oe=4294967296,se=2147483648,ae=class{constructor(e,t){this.lo=e|0,this.hi=t|0}isZero(){return this.lo==0&&this.hi==0}toNumber(){let e=this.hi*oe+(this.lo>>>0);if(!Number.isSafeInteger(e))throw new Error("cannot convert to safe number");return e}},F=class r extends ae{static from(e){if(b)switch(typeof e){case"string":if(e=="0")return this.ZERO;if(e=="")throw new Error("string is no integer");e=b.C(e);case"number":if(e===0)return this.ZERO;e=b.C(e);case"bigint":if(!e)return this.ZERO;if(e<b.UMIN)throw new Error("signed value for ulong");if(e>b.UMAX)throw new Error("ulong too large");return b.V.setBigUint64(0,e,!0),new r(b.V.getInt32(0,!0),b.V.getInt32(4,!0))}else switch(typeof e){case"string":if(e=="0")return this.ZERO;if(e=e.trim(),!Vt.test(e))throw new Error("string is no integer");let[t,n,i]=De(e);if(t)throw new Error("signed value for ulong");return new r(n,i);case"number":if(e==0)return this.ZERO;if(!Number.isSafeInteger(e))throw new Error("number is no integer");if(e<0)throw new Error("signed value for ulong");return new r(e,e/oe)}throw new Error("unknown value "+typeof e)}toString(){return b?this.toBigInt().toString():ie(this.lo,this.hi)}toBigInt(){return Bt(b),b.V.setInt32(0,this.lo,!0),b.V.setInt32(4,this.hi,!0),b.V.getBigUint64(0,!0)}};F.ZERO=new F(0,0);var g=class r extends ae{static from(e){if(b)switch(typeof e){case"string":if(e=="0")return this.ZERO;if(e=="")throw new Error("string is no integer");e=b.C(e);case"number":if(e===0)return this.ZERO;e=b.C(e);case"bigint":if(!e)return this.ZERO;if(e<b.MIN)throw new Error("signed long too small");if(e>b.MAX)throw new Error("signed long too large");return b.V.setBigInt64(0,e,!0),new r(b.V.getInt32(0,!0),b.V.getInt32(4,!0))}else switch(typeof e){case"string":if(e=="0")return this.ZERO;if(e=e.trim(),!Vt.test(e))throw new Error("string is no integer");let[t,n,i]=De(e);if(t){if(i>se||i==se&&n!=0)throw new Error("signed long too small")}else if(i>=se)throw new Error("signed long too large");let s=new r(n,i);return t?s.negate():s;case"number":if(e==0)return this.ZERO;if(!Number.isSafeInteger(e))throw new Error("number is no integer");return e>0?new r(e,e/oe):new r(-e,-e/oe).negate()}throw new Error("unknown value "+typeof e)}isNegative(){return(this.hi&se)!==0}negate(){let e=~this.hi,t=this.lo;return t?t=~t+1:e+=1,new r(t,e)}toString(){if(b)return this.toBigInt().toString();if(this.isNegative()){let e=this.negate();return"-"+ie(e.lo,e.hi)}return ie(this.lo,this.hi)}toBigInt(){return Bt(b),b.V.setInt32(0,this.lo,!0),b.V.setInt32(4,this.hi,!0),b.V.getBigInt64(0,!0)}};g.ZERO=new g(0,0);var vt={readUnknownField:!0,readerFactory:r=>new Ce(r)};function Mt(r){return r?Object.assign(Object.assign({},vt),r):vt}var Ce=class{constructor(e,t){this.varint64=Ct,this.uint32=Lt,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.textDecoder=t!=null?t:new TextDecoder("utf-8",{fatal:!0,ignoreBOM:!0})}tag(){let e=this.uint32(),t=e>>>3,n=e&7;if(t<=0||n<0||n>5)throw new Error("illegal tag: field no "+t+" wire type "+n);return[t,n]}skip(e){let t=this.pos;switch(e){case w.Varint:for(;this.buf[this.pos++]&128;);break;case w.Bit64:this.pos+=4;case w.Bit32:this.pos+=4;break;case w.LengthDelimited:let n=this.uint32();this.pos+=n;break;case w.StartGroup:let i;for(;(i=this.tag()[1])!==w.EndGroup;)this.skip(i);break;default:throw new Error("cant skip wire type "+e)}return this.assertBounds(),this.buf.subarray(t,this.pos)}assertBounds(){if(this.pos>this.len)throw new RangeError("premature EOF")}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)}int64(){return new g(...this.varint64())}uint64(){return new F(...this.varint64())}sint64(){let[e,t]=this.varint64(),n=-(e&1);return e=(e>>>1|(t&1)<<31)^n,t=t>>>1^n,new g(e,t)}bool(){let[e,t]=this.varint64();return e!==0||t!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return new F(this.sfixed32(),this.sfixed32())}sfixed64(){return new g(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(){return this.textDecoder.decode(this.bytes())}};function h(r,e){if(!r)throw new Error(e)}var Fr=34028234663852886e22,xr=-34028234663852886e22,Or=4294967295,Ir=2147483647,Nr=-2147483648;function S(r){if(typeof r!="number")throw new Error("invalid int 32: "+typeof r);if(!Number.isInteger(r)||r>Ir||r<Nr)throw new Error("invalid int 32: "+r)}function U(r){if(typeof r!="number")throw new Error("invalid uint 32: "+typeof r);if(!Number.isInteger(r)||r>Or||r<0)throw new Error("invalid uint 32: "+r)}function V(r){if(typeof r!="number")throw new Error("invalid float 32: "+typeof r);if(Number.isFinite(r)&&(r>Fr||r<xr))throw new Error("invalid float 32: "+r)}var Wt={writeUnknownFields:!0,writerFactory:()=>new Le};function $t(r){return r?Object.assign(Object.assign({},Wt),r):Wt}var Le=class{constructor(e){this.stack=[],this.textEncoder=e!=null?e:new TextEncoder,this.chunks=[],this.buf=[]}finish(){this.chunks.push(new Uint8Array(this.buf));let e=0;for(let i=0;i<this.chunks.length;i++)e+=this.chunks[i].length;let t=new Uint8Array(e),n=0;for(let i=0;i<this.chunks.length;i++)t.set(this.chunks[i],n),n+=this.chunks[i].length;return this.chunks=[],t}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let e=this.finish(),t=this.stack.pop();if(!t)throw new Error("invalid state, fork stack empty");return this.chunks=t.chunks,this.buf=t.buf,this.uint32(e.byteLength),this.raw(e)}tag(e,t){return this.uint32((e<<3|t)>>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(U(e);e>127;)this.buf.push(e&127|128),e=e>>>7;return this.buf.push(e),this}int32(e){return S(e),Ue(e,this.buf),this}bool(e){return this.buf.push(e?1:0),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let t=this.textEncoder.encode(e);return this.uint32(t.byteLength),this.raw(t)}float(e){V(e);let t=new Uint8Array(4);return new DataView(t.buffer).setFloat32(0,e,!0),this.raw(t)}double(e){let t=new Uint8Array(8);return new DataView(t.buffer).setFloat64(0,e,!0),this.raw(t)}fixed32(e){U(e);let t=new Uint8Array(4);return new DataView(t.buffer).setUint32(0,e,!0),this.raw(t)}sfixed32(e){S(e);let t=new Uint8Array(4);return new DataView(t.buffer).setInt32(0,e,!0),this.raw(t)}sint32(e){return S(e),e=(e<<1^e>>31)>>>0,Ue(e,this.buf),this}sfixed64(e){let t=new Uint8Array(8),n=new DataView(t.buffer),i=g.from(e);return n.setInt32(0,i.lo,!0),n.setInt32(4,i.hi,!0),this.raw(t)}fixed64(e){let t=new Uint8Array(8),n=new DataView(t.buffer),i=F.from(e);return n.setInt32(0,i.lo,!0),n.setInt32(4,i.hi,!0),this.raw(t)}int64(e){let t=g.from(e);return ne(t.lo,t.hi,this.buf),this}sint64(e){let t=g.from(e),n=t.hi>>31,i=t.lo<<1^n,s=(t.hi<<1|t.lo>>>31)^n;return ne(i,s,this.buf),this}uint64(e){let t=F.from(e);return ne(t.lo,t.hi,this.buf),this}};var qt={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0},jt={ignoreUnknownFields:!1};function Jt(r){return r?Object.assign(Object.assign({},jt),r):jt}function Xt(r){return r?Object.assign(Object.assign({},qt),r):qt}var le=Symbol.for("protobuf-ts/message-type");function Be(r){let e=!1,t=[];for(let n=0;n<r.length;n++){let i=r.charAt(n);i=="_"?e=!0:/\d/.test(i)?(t.push(i),e=!0):e?(t.push(i.toUpperCase()),e=!1):n==0?t.push(i.toLowerCase()):t.push(i)}return t.join("")}var u;(function(r){r[r.DOUBLE=1]="DOUBLE",r[r.FLOAT=2]="FLOAT",r[r.INT64=3]="INT64",r[r.UINT64=4]="UINT64",r[r.INT32=5]="INT32",r[r.FIXED64=6]="FIXED64",r[r.FIXED32=7]="FIXED32",r[r.BOOL=8]="BOOL",r[r.STRING=9]="STRING",r[r.BYTES=12]="BYTES",r[r.UINT32=13]="UINT32",r[r.SFIXED32=15]="SFIXED32",r[r.SFIXED64=16]="SFIXED64",r[r.SINT32=17]="SINT32",r[r.SINT64=18]="SINT64"})(u||(u={}));var O;(function(r){r[r.BIGINT=0]="BIGINT",r[r.STRING=1]="STRING",r[r.NUMBER=2]="NUMBER"})(O||(O={}));var X;(function(r){r[r.NO=0]="NO",r[r.PACKED=1]="PACKED",r[r.UNPACKED=2]="UNPACKED"})(X||(X={}));function Ht(r){var e,t,n,i;return r.localName=(e=r.localName)!==null&&e!==void 0?e:Be(r.name),r.jsonName=(t=r.jsonName)!==null&&t!==void 0?t:Be(r.name),r.repeat=(n=r.repeat)!==null&&n!==void 0?n:X.NO,r.opt=(i=r.opt)!==null&&i!==void 0?i:r.repeat||r.oneof?!1:r.kind=="message",r}function Gt(r){if(typeof r!="object"||r===null||!r.hasOwnProperty("oneofKind"))return!1;switch(typeof r.oneofKind){case"string":return r[r.oneofKind]===void 0?!1:Object.keys(r).length==2;case"undefined":return Object.keys(r).length==1;default:return!1}}var ue=class{constructor(e){var t;this.fields=(t=e.fields)!==null&&t!==void 0?t:[]}prepare(){if(this.data)return;let e=[],t=[],n=[];for(let i of this.fields)if(i.oneof)n.includes(i.oneof)||(n.push(i.oneof),e.push(i.oneof),t.push(i.oneof));else switch(t.push(i.localName),i.kind){case"scalar":case"enum":(!i.opt||i.repeat)&&e.push(i.localName);break;case"message":i.repeat&&e.push(i.localName);break;case"map":e.push(i.localName);break}this.data={req:e,known:t,oneofs:Object.values(n)}}is(e,t,n=!1){if(t<0)return!0;if(e==null||typeof e!="object")return!1;this.prepare();let i=Object.keys(e),s=this.data;if(i.length<s.req.length||s.req.some(o=>!i.includes(o))||!n&&i.some(o=>!s.known.includes(o)))return!1;if(t<1)return!0;for(let o of s.oneofs){let a=e[o];if(!Gt(a))return!1;if(a.oneofKind===void 0)continue;let l=this.fields.find(f=>f.localName===a.oneofKind);if(!l||!this.field(a[a.oneofKind],l,n,t))return!1}for(let o of this.fields)if(o.oneof===void 0&&!this.field(e[o.localName],o,n,t))return!1;return!0}field(e,t,n,i){let s=t.repeat;switch(t.kind){case"scalar":return e===void 0?t.opt:s?this.scalars(e,t.T,i,t.L):this.scalar(e,t.T,t.L);case"enum":return e===void 0?t.opt:s?this.scalars(e,u.INT32,i):this.scalar(e,u.INT32);case"message":return e===void 0?!0:s?this.messages(e,t.T(),n,i):this.message(e,t.T(),n,i);case"map":if(typeof e!="object"||e===null)return!1;if(i<2)return!0;if(!this.mapKeys(e,t.K,i))return!1;switch(t.V.kind){case"scalar":return this.scalars(Object.values(e),t.V.T,i,t.V.L);case"enum":return this.scalars(Object.values(e),u.INT32,i);case"message":return this.messages(Object.values(e),t.V.T(),n,i)}break}return!0}message(e,t,n,i){return n?t.isAssignable(e,i):t.is(e,i)}messages(e,t,n,i){if(!Array.isArray(e))return!1;if(i<2)return!0;if(n){for(let s=0;s<e.length&&s<i;s++)if(!t.isAssignable(e[s],i-1))return!1}else for(let s=0;s<e.length&&s<i;s++)if(!t.is(e[s],i-1))return!1;return!0}scalar(e,t,n){let i=typeof e;switch(t){case u.UINT64:case u.FIXED64:case u.INT64:case u.SFIXED64:case u.SINT64:switch(n){case O.BIGINT:return i=="bigint";case O.NUMBER:return i=="number"&&!isNaN(e);default:return i=="string"}case u.BOOL:return i=="boolean";case u.STRING:return i=="string";case u.BYTES:return e instanceof Uint8Array;case u.DOUBLE:case u.FLOAT:return i=="number"&&!isNaN(e);default:return i=="number"&&Number.isInteger(e)}}scalars(e,t,n,i){if(!Array.isArray(e))return!1;if(n<2)return!0;if(Array.isArray(e)){for(let s=0;s<e.length&&s<n;s++)if(!this.scalar(e[s],t,i))return!1}return!0}mapKeys(e,t,n){let i=Object.keys(e);switch(t){case u.INT32:case u.FIXED32:case u.SFIXED32:case u.SINT32:case u.UINT32:return this.scalars(i.slice(0,n).map(s=>parseInt(s)),t,n);case u.BOOL:return this.scalars(i.slice(0,n).map(s=>s=="true"?!0:s=="false"?!1:s),t,n);default:return this.scalars(i,t,n,O.STRING)}}};function I(r,e){switch(e){case O.BIGINT:return r.toBigInt();case O.NUMBER:return r.toNumber();default:return r.toString()}}var fe=class{constructor(e){this.info=e}prepare(){var e;if(this.fMap===void 0){this.fMap={};let t=(e=this.info.fields)!==null&&e!==void 0?e:[];for(let n of t)this.fMap[n.name]=n,this.fMap[n.jsonName]=n,this.fMap[n.localName]=n}}assert(e,t,n){if(!e){let i=D(n);throw(i=="number"||i=="boolean")&&(i=n.toString()),new Error(`Cannot parse JSON ${i} for ${this.info.typeName}#${t}`)}}read(e,t,n){this.prepare();let i=[];for(let[s,o]of Object.entries(e)){let a=this.fMap[s];if(!a){if(!n.ignoreUnknownFields)throw new Error(`Found unknown field while reading ${this.info.typeName} from JSON format. JSON key: ${s}`);continue}let l=a.localName,f;if(a.oneof){if(o===null&&(a.kind!=="enum"||a.T()[0]!=="google.protobuf.NullValue"))continue;if(i.includes(a.oneof))throw new Error(`Multiple members of the oneof group "${a.oneof}" of ${this.info.typeName} are present in JSON.`);i.push(a.oneof),f=t[a.oneof]={oneofKind:l}}else f=t;if(a.kind=="map"){if(o===null)continue;this.assert(Ae(o),a.name,o);let c=f[l];for(let[p,m]of Object.entries(o)){this.assert(m!==null,a.name+" map value",null);let y;switch(a.V.kind){case"message":y=a.V.T().internalJsonRead(m,n);break;case"enum":if(y=this.enum(a.V.T(),m,a.name,n.ignoreUnknownFields),y===!1)continue;break;case"scalar":y=this.scalar(m,a.V.T,a.V.L,a.name);break}this.assert(y!==void 0,a.name+" map value",m);let d=p;a.K==u.BOOL&&(d=d=="true"?!0:d=="false"?!1:d),d=this.scalar(d,a.K,O.STRING,a.name).toString(),c[d]=y}}else if(a.repeat){if(o===null)continue;this.assert(Array.isArray(o),a.name,o);let c=f[l];for(let p of o){this.assert(p!==null,a.name,null);let m;switch(a.kind){case"message":m=a.T().internalJsonRead(p,n);break;case"enum":if(m=this.enum(a.T(),p,a.name,n.ignoreUnknownFields),m===!1)continue;break;case"scalar":m=this.scalar(p,a.T,a.L,a.name);break}this.assert(m!==void 0,a.name,o),c.push(m)}}else switch(a.kind){case"message":if(o===null&&a.T().typeName!="google.protobuf.Value"){this.assert(a.oneof===void 0,a.name+" (oneof member)",null);continue}f[l]=a.T().internalJsonRead(o,n,f[l]);break;case"enum":let c=this.enum(a.T(),o,a.name,n.ignoreUnknownFields);if(c===!1)continue;f[l]=c;break;case"scalar":f[l]=this.scalar(o,a.T,a.L,a.name);break}}}enum(e,t,n,i){if(e[0]=="google.protobuf.NullValue"&&h(t===null||t==="NULL_VALUE",`Unable to parse field ${this.info.typeName}#${n}, enum ${e[0]} only accepts null.`),t===null)return 0;switch(typeof t){case"number":return h(Number.isInteger(t),`Unable to parse field ${this.info.typeName}#${n}, enum can only be integral number, got ${t}.`),t;case"string":let s=t;e[2]&&t.substring(0,e[2].length)===e[2]&&(s=t.substring(e[2].length));let o=e[1][s];return typeof o=="undefined"&&i?!1:(h(typeof o=="number",`Unable to parse field ${this.info.typeName}#${n}, enum ${e[0]} has no value for "${t}".`),o)}h(!1,`Unable to parse field ${this.info.typeName}#${n}, cannot parse enum value from ${typeof t}".`)}scalar(e,t,n,i){let s;try{switch(t){case u.DOUBLE:case u.FLOAT:if(e===null)return 0;if(e==="NaN")return Number.NaN;if(e==="Infinity")return Number.POSITIVE_INFINITY;if(e==="-Infinity")return Number.NEGATIVE_INFINITY;if(e===""){s="empty string";break}if(typeof e=="string"&&e.trim().length!==e.length){s="extra whitespace";break}if(typeof e!="string"&&typeof e!="number")break;let o=Number(e);if(Number.isNaN(o)){s="not a number";break}if(!Number.isFinite(o)){s="too large or small";break}return t==u.FLOAT&&V(o),o;case u.INT32:case u.FIXED32:case u.SFIXED32:case u.SINT32:case u.UINT32:if(e===null)return 0;let a;if(typeof e=="number"?a=e:e===""?s="empty string":typeof e=="string"&&(e.trim().length!==e.length?s="extra whitespace":a=Number(e)),a===void 0)break;return t==u.UINT32?U(a):S(a),a;case u.INT64:case u.SFIXED64:case u.SINT64:if(e===null)return I(g.ZERO,n);if(typeof e!="number"&&typeof e!="string")break;return I(g.from(e),n);case u.FIXED64:case u.UINT64:if(e===null)return I(F.ZERO,n);if(typeof e!="number"&&typeof e!="string")break;return I(F.from(e),n);case u.BOOL:if(e===null)return!1;if(typeof e!="boolean")break;return e;case u.STRING:if(e===null)return"";if(typeof e!="string"){s="extra whitespace";break}try{encodeURIComponent(e)}catch(l){l="invalid UTF8";break}return e;case u.BYTES:if(e===null||e==="")return new Uint8Array(0);if(typeof e!="string")break;return Dt(e)}}catch(o){s=o.message}this.assert(!1,i+(s?" - "+s:""),e)}};var ce=class{constructor(e){var t;this.fields=(t=e.fields)!==null&&t!==void 0?t:[]}write(e,t){let n={},i=e;for(let s of this.fields){if(!s.oneof){let f=this.field(s,i[s.localName],t);f!==void 0&&(n[t.useProtoFieldName?s.name:s.jsonName]=f);continue}let o=i[s.oneof];if(o.oneofKind!==s.localName)continue;let a=s.kind=="scalar"||s.kind=="enum"?Object.assign(Object.assign({},t),{emitDefaultValues:!0}):t,l=this.field(s,o[s.localName],a);h(l!==void 0),n[t.useProtoFieldName?s.name:s.jsonName]=l}return n}field(e,t,n){let i;if(e.kind=="map"){h(typeof t=="object"&&t!==null);let s={};switch(e.V.kind){case"scalar":for(let[l,f]of Object.entries(t)){let c=this.scalar(e.V.T,f,e.name,!1,!0);h(c!==void 0),s[l.toString()]=c}break;case"message":let o=e.V.T();for(let[l,f]of Object.entries(t)){let c=this.message(o,f,e.name,n);h(c!==void 0),s[l.toString()]=c}break;case"enum":let a=e.V.T();for(let[l,f]of Object.entries(t)){h(f===void 0||typeof f=="number");let c=this.enum(a,f,e.name,!1,!0,n.enumAsInteger);h(c!==void 0),s[l.toString()]=c}break}(n.emitDefaultValues||Object.keys(s).length>0)&&(i=s)}else if(e.repeat){h(Array.isArray(t));let s=[];switch(e.kind){case"scalar":for(let l=0;l<t.length;l++){let f=this.scalar(e.T,t[l],e.name,e.opt,!0);h(f!==void 0),s.push(f)}break;case"enum":let o=e.T();for(let l=0;l<t.length;l++){h(t[l]===void 0||typeof t[l]=="number");let f=this.enum(o,t[l],e.name,e.opt,!0,n.enumAsInteger);h(f!==void 0),s.push(f)}break;case"message":let a=e.T();for(let l=0;l<t.length;l++){let f=this.message(a,t[l],e.name,n);h(f!==void 0),s.push(f)}break}(n.emitDefaultValues||s.length>0||n.emitDefaultValues)&&(i=s)}else switch(e.kind){case"scalar":i=this.scalar(e.T,t,e.name,e.opt,n.emitDefaultValues);break;case"enum":i=this.enum(e.T(),t,e.name,e.opt,n.emitDefaultValues,n.enumAsInteger);break;case"message":i=this.message(e.T(),t,e.name,n);break}return i}enum(e,t,n,i,s,o){if(e[0]=="google.protobuf.NullValue")return!s&&!i?void 0:null;if(t===void 0){h(i);return}if(!(t===0&&!s&&!i))return h(typeof t=="number"),h(Number.isInteger(t)),o||!e[1].hasOwnProperty(t)?t:e[2]?e[2]+e[1][t]:e[1][t]}message(e,t,n,i){return t===void 0?i.emitDefaultValues?null:void 0:e.internalJsonWrite(t,i)}scalar(e,t,n,i,s){if(t===void 0){h(i);return}let o=s||i;switch(e){case u.INT32:case u.SFIXED32:case u.SINT32:return t===0?o?0:void 0:(S(t),t);case u.FIXED32:case u.UINT32:return t===0?o?0:void 0:(U(t),t);case u.FLOAT:V(t);case u.DOUBLE:return t===0?o?0:void 0:(h(typeof t=="number"),Number.isNaN(t)?"NaN":t===Number.POSITIVE_INFINITY?"Infinity":t===Number.NEGATIVE_INFINITY?"-Infinity":t);case u.STRING:return t===""?o?"":void 0:(h(typeof t=="string"),t);case u.BOOL:return t===!1?o?!1:void 0:(h(typeof t=="boolean"),t);case u.UINT64:case u.FIXED64:h(typeof t=="number"||typeof t=="string"||typeof t=="bigint");let a=F.from(t);return a.isZero()&&!o?void 0:a.toString();case u.INT64:case u.SFIXED64:case u.SINT64:h(typeof t=="number"||typeof t=="string"||typeof t=="bigint");let l=g.from(t);return l.isZero()&&!o?void 0:l.toString();case u.BYTES:return h(t instanceof Uint8Array),t.byteLength?Ut(t):o?"":void 0}}};function H(r,e=O.STRING){switch(r){case u.BOOL:return!1;case u.UINT64:case u.FIXED64:return I(F.ZERO,e);case u.INT64:case u.SFIXED64:case u.SINT64:return I(g.ZERO,e);case u.DOUBLE:case u.FLOAT:return 0;case u.BYTES:return new Uint8Array(0);case u.STRING:return"";default:return 0}}var pe=class{constructor(e){this.info=e}prepare(){var e;if(!this.fieldNoToField){let t=(e=this.info.fields)!==null&&e!==void 0?e:[];this.fieldNoToField=new Map(t.map(n=>[n.no,n]))}}read(e,t,n,i){this.prepare();let s=i===void 0?e.len:e.pos+i;for(;e.pos<s;){let[o,a]=e.tag(),l=this.fieldNoToField.get(o);if(!l){let m=n.readUnknownField;if(m=="throw")throw new Error(`Unknown field ${o} (wire type ${a}) for ${this.info.typeName}`);let y=e.skip(a);m!==!1&&(m===!0?B.onRead:m)(this.info.typeName,t,o,a,y);continue}let f=t,c=l.repeat,p=l.localName;switch(l.oneof&&(f=f[l.oneof],f.oneofKind!==p&&(f=t[l.oneof]={oneofKind:p})),l.kind){case"scalar":case"enum":let m=l.kind=="enum"?u.INT32:l.T,y=l.kind=="scalar"?l.L:void 0;if(c){let N=f[p];if(a==w.LengthDelimited&&m!=u.STRING&&m!=u.BYTES){let M=e.uint32()+e.pos;for(;e.pos<M;)N.push(this.scalar(e,m,y))}else N.push(this.scalar(e,m,y))}else f[p]=this.scalar(e,m,y);break;case"message":if(c){let N=f[p],M=l.T().internalBinaryRead(e,e.uint32(),n);N.push(M)}else f[p]=l.T().internalBinaryRead(e,e.uint32(),n,f[p]);break;case"map":let[d,x]=this.mapEntry(l,e,n);f[p][d]=x;break}}}mapEntry(e,t,n){let i=t.uint32(),s=t.pos+i,o,a;for(;t.pos<s;){let[l,f]=t.tag();switch(l){case 1:e.K==u.BOOL?o=t.bool().toString():o=this.scalar(t,e.K,O.STRING);break;case 2:switch(e.V.kind){case"scalar":a=this.scalar(t,e.V.T,e.V.L);break;case"enum":a=t.int32();break;case"message":a=e.V.T().internalBinaryRead(t,t.uint32(),n);break}break;default:throw new Error(`Unknown field ${l} (wire type ${f}) in map entry for ${this.info.typeName}#${e.name}`)}}if(o===void 0){let l=H(e.K);o=e.K==u.BOOL?l.toString():l}if(a===void 0)switch(e.V.kind){case"scalar":a=H(e.V.T,e.V.L);break;case"enum":a=0;break;case"message":a=e.V.T().create();break}return[o,a]}scalar(e,t,n){switch(t){case u.INT32:return e.int32();case u.STRING:return e.string();case u.BOOL:return e.bool();case u.DOUBLE:return e.double();case u.FLOAT:return e.float();case u.INT64:return I(e.int64(),n);case u.UINT64:return I(e.uint64(),n);case u.FIXED64:return I(e.fixed64(),n);case u.FIXED32:return e.fixed32();case u.BYTES:return e.bytes();case u.UINT32:return e.uint32();case u.SFIXED32:return e.sfixed32();case u.SFIXED64:return I(e.sfixed64(),n);case u.SINT32:return e.sint32();case u.SINT64:return I(e.sint64(),n)}}};var me=class{constructor(e){this.info=e}prepare(){if(!this.fields){let e=this.info.fields?this.info.fields.concat():[];this.fields=e.sort((t,n)=>t.no-n.no)}}write(e,t,n){this.prepare();for(let s of this.fields){let o,a,l=s.repeat,f=s.localName;if(s.oneof){let c=e[s.oneof];if(c.oneofKind!==f)continue;o=c[f],a=!0}else o=e[f],a=!1;switch(s.kind){case"scalar":case"enum":let c=s.kind=="enum"?u.INT32:s.T;if(l)if(h(Array.isArray(o)),l==X.PACKED)this.packed(t,c,s.no,o);else for(let p of o)this.scalar(t,c,s.no,p,!0);else o===void 0?h(s.opt):this.scalar(t,c,s.no,o,a||s.opt);break;case"message":if(l){h(Array.isArray(o));for(let p of o)this.message(t,n,s.T(),s.no,p)}else this.message(t,n,s.T(),s.no,o);break;case"map":h(typeof o=="object"&&o!==null);for(let[p,m]of Object.entries(o))this.mapEntry(t,n,s,p,m);break}}let i=n.writeUnknownFields;i!==!1&&(i===!0?B.onWrite:i)(this.info.typeName,e,t)}mapEntry(e,t,n,i,s){e.tag(n.no,w.LengthDelimited),e.fork();let o=i;switch(n.K){case u.INT32:case u.FIXED32:case u.UINT32:case u.SFIXED32:case u.SINT32:o=Number.parseInt(i);break;case u.BOOL:h(i=="true"||i=="false"),o=i=="true";break}switch(this.scalar(e,n.K,1,o,!0),n.V.kind){case"scalar":this.scalar(e,n.V.T,2,s,!0);break;case"enum":this.scalar(e,u.INT32,2,s,!0);break;case"message":this.message(e,t,n.V.T(),2,s);break}e.join()}message(e,t,n,i,s){s!==void 0&&(n.internalBinaryWrite(s,e.tag(i,w.LengthDelimited).fork(),t),e.join())}scalar(e,t,n,i,s){let[o,a,l]=this.scalarInfo(t,i);(!l||s)&&(e.tag(n,o),e[a](i))}packed(e,t,n,i){if(!i.length)return;h(t!==u.BYTES&&t!==u.STRING),e.tag(n,w.LengthDelimited),e.fork();let[,s]=this.scalarInfo(t);for(let o=0;o<i.length;o++)e[s](i[o]);e.join()}scalarInfo(e,t){let n=w.Varint,i,s=t===void 0,o=t===0;switch(e){case u.INT32:i="int32";break;case u.STRING:o=s||!t.length,n=w.LengthDelimited,i="string";break;case u.BOOL:o=t===!1,i="bool";break;case u.UINT32:i="uint32";break;case u.DOUBLE:n=w.Bit64,i="double";break;case u.FLOAT:n=w.Bit32,i="float";break;case u.INT64:o=s||g.from(t).isZero(),i="int64";break;case u.UINT64:o=s||F.from(t).isZero(),i="uint64";break;case u.FIXED64:o=s||F.from(t).isZero(),n=w.Bit64,i="fixed64";break;case u.BYTES:o=s||!t.byteLength,n=w.LengthDelimited,i="bytes";break;case u.FIXED32:n=w.Bit32,i="fixed32";break;case u.SFIXED32:n=w.Bit32,i="sfixed32";break;case u.SFIXED64:o=s||g.from(t).isZero(),n=w.Bit64,i="sfixed64";break;case u.SINT32:i="sint32";break;case u.SINT64:o=s||g.from(t).isZero(),i="sint64";break}return[n,i,s||o]}};function Kt(r){let e=r.messagePrototype?Object.create(r.messagePrototype):Object.defineProperty({},le,{value:r});for(let t of r.fields){let n=t.localName;if(!t.opt)if(t.oneof)e[t.oneof]={oneofKind:void 0};else if(t.repeat)e[n]=[];else switch(t.kind){case"scalar":e[n]=H(t.T,t.L);break;case"enum":e[n]=0;break;case"map":e[n]={};break}}return e}function he(r,e,t){let n,i=t,s;for(let o of r.fields){let a=o.localName;if(o.oneof){let l=i[o.oneof];if((l==null?void 0:l.oneofKind)==null)continue;if(n=l[a],s=e[o.oneof],s.oneofKind=l.oneofKind,n==null){delete s[a];continue}}else if(n=i[a],s=e,n==null)continue;switch(o.repeat&&(s[a].length=n.length),o.kind){case"scalar":case"enum":if(o.repeat)for(let f=0;f<n.length;f++)s[a][f]=n[f];else s[a]=n;break;case"message":let l=o.T();if(o.repeat)for(let f=0;f<n.length;f++)s[a][f]=l.create(n[f]);else s[a]===void 0?s[a]=l.create(n):l.mergePartial(s[a],n);break;case"map":switch(o.V.kind){case"scalar":case"enum":Object.assign(s[a],n);break;case"message":let f=o.V.T();for(let c of Object.keys(n))s[a][c]=f.create(n[c]);break}break}}}function zt(r,e,t){if(e===t)return!0;if(!e||!t)return!1;for(let n of r.fields){let i=n.localName,s=n.oneof?e[n.oneof][i]:e[i],o=n.oneof?t[n.oneof][i]:t[i];switch(n.kind){case"enum":case"scalar":let a=n.kind=="enum"?u.INT32:n.T;if(!(n.repeat?Zt(a,s,o):Yt(a,s,o)))return!1;break;case"map":if(!(n.V.kind=="message"?Qt(n.V.T(),de(s),de(o)):Zt(n.V.kind=="enum"?u.INT32:n.V.T,de(s),de(o))))return!1;break;case"message":let l=n.T();if(!(n.repeat?Qt(l,s,o):l.equals(s,o)))return!1;break}}return!0}var de=Object.values;function Yt(r,e,t){if(e===t)return!0;if(r!==u.BYTES)return!1;let n=e,i=t;if(n.length!==i.length)return!1;for(let s=0;s<n.length;s++)if(n[s]!=i[s])return!1;return!0}function Zt(r,e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Yt(r,e[n],t[n]))return!1;return!0}function Qt(r,e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!r.equals(e[n],t[n]))return!1;return!0}var Er=Object.getOwnPropertyDescriptors(Object.getPrototypeOf({})),T=class{constructor(e,t,n){this.defaultCheckDepth=16,this.typeName=e,this.fields=t.map(Ht),this.options=n!=null?n:{},this.messagePrototype=Object.create(null,Object.assign(Object.assign({},Er),{[le]:{value:this}})),this.refTypeCheck=new ue(this),this.refJsonReader=new fe(this),this.refJsonWriter=new ce(this),this.refBinReader=new pe(this),this.refBinWriter=new me(this)}create(e){let t=Kt(this);return e!==void 0&&he(this,t,e),t}clone(e){let t=this.create();return he(this,t,e),t}equals(e,t){return zt(this,e,t)}is(e,t=this.defaultCheckDepth){return this.refTypeCheck.is(e,t,!1)}isAssignable(e,t=this.defaultCheckDepth){return this.refTypeCheck.is(e,t,!0)}mergePartial(e,t){he(this,e,t)}fromBinary(e,t){let n=Mt(t);return this.internalBinaryRead(n.readerFactory(e),e.byteLength,n)}fromJson(e,t){return this.internalJsonRead(e,Jt(t))}fromJsonString(e,t){let n=JSON.parse(e);return this.fromJson(n,t)}toJson(e,t){return this.internalJsonWrite(e,Xt(t))}toJsonString(e,t){var n;let i=this.toJson(e,t);return JSON.stringify(i,null,(n=t==null?void 0:t.prettySpaces)!==null&&n!==void 0?n:0)}toBinary(e,t){let n=$t(t);return this.internalBinaryWrite(e,n.writerFactory(),n).finish()}internalJsonRead(e,t,n){if(e!==null&&typeof e=="object"&&!Array.isArray(e)){let i=n!=null?n:this.create();return this.refJsonRead