1!function(e){(e.dcodeIO=e.dcodeIO||{}).Long=function(){"use strict";function r(e,t,i){this.low=e|0;this.high=t|0;this.unsigned=!!i}function d(e){return(e&&e["__isLong__"])===true}r.prototype.__isLong__,Object.defineProperty(r.prototype,"__isLong__",{value:true,enumerable:false,configurable:false}),r.isLong=d;var s={},f={};function e(e,t){var i,r,n;if(t){e>>>=0;if(n=0<=e&&e<256){r=f[e];if(r)return r}i=y(e,(e|0)<0?-1:0,true);if(n)f[e]=i;return i}else{e|=0;if(n=-128<=e&&e<128){r=s[e];if(r)return r}i=y(e,e<0?-1:0,false);if(n)s[e]=i;return i}}function g(e,t){if(isNaN(e)||!isFinite(e))return t?c:E;if(t){if(e<0)return c;if(e>=o)return T}else{if(e<=-a)return I;if(e+1>=a)return l}if(e<0)return g(-e,t).neg();return y(e%n|0,e/n|0,t)}function y(e,t,i){return new r(e,t,i)}r.fromInt=e,r.fromNumber=g,r.fromBits=y;var u=Math.pow;function h(e,t,i){if(e.length===0)throw Error("empty string");if(e==="NaN"||e==="Infinity"||e==="+Infinity"||e==="-Infinity")return E;if(typeof t==="number")i=t,t=false;else t=!!t;i=i||10;if(i<2||36<i)throw RangeError("radix");var r;if((r=e.indexOf("-"))>0)throw Error("interior hyphen");else if(r===0)return h(e.substring(1),t,i).neg();var n=g(u(i,8));var s=E;for(var f=0;f<e.length;f+=8){var o=Math.min(8,e.length-f),a=parseInt(e.substring(f,f+o),i);if(o<8){var l=g(u(i,o));s=s.mul(l).add(g(a))}else{s=s.mul(n);s=s.add(g(a))}}s.unsigned=t;return s}function v(e){if(e instanceof r)return e;if(typeof e==="number")return g(e);if(typeof e==="string")return h(e);return y(e.low,e.high,e.unsigned)}r.fromString=h,r.fromValue=v;var t=1<<16,i,n=t*t,o=n*n,a=o/2,w=e(1<<24),E=e(0),c=(r.ZERO=E,e(0,true)),p=(r.UZERO=c,e(1)),m=(r.ONE=p,e(1,true)),b=(r.UONE=m,e(-1)),l=(r.NEG_ONE=b,y(4294967295|0,2147483647|0,false)),T=(r.MAX_VALUE=l,y(4294967295|0,4294967295|0,true)),I=(r.MAX_UNSIGNED_VALUE=T,y(0,2147483648|0,false)),S=(r.MIN_VALUE=I,r.prototype);return S.toInt=function e(){return this.unsigned?this.low>>>0:this.low},S.toNumber=function e(){let t=null;if(this.unsigned)t=BigInt(BigInt(BigInt(this.high>>>0)*BigInt(n))+BigInt(this.low>>>0)).toString();else t=BigInt(BigInt(this.high*n)+BigInt(this.low>>>0)).toString();if(String(t).length<=16)t=Number(t);return t},S.toString=function e(t){t=t||10;if(t<2||36<t)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(I)){var i=g(t),r=this.div(i),n=r.mul(i).sub(this);return r.toString(t)+n.toInt().toString(t)}else return"-"+this.neg().toString(t);var s=g(u(t,6),this.unsigned),f=this;var o="";while(true){var a=f.div(s),l=f.sub(a.mul(s)).toInt()>>>0,h=l.toString(t);f=a;if(f.isZero())return h+o;else{while(h.length<6)h="0"+h;o=""+h+o}}},S.getHighBits=function e(){return this.high},S.getHighBitsUnsigned=function e(){return this.high>>>0},S.getLowBits=function e(){return this.low},S.getLowBitsUnsigned=function e(){return this.low>>>0},S.getNumBitsAbs=function e(){if(this.isNegative())return this.eq(I)?64:this.neg().getNumBitsAbs();var t=this.high!=0?this.high:this.low;for(var i=31;i>0;i--)if((t&1<<i)!=0)break;return this.high!=0?i+33:i+1},S.isZero=function e(){return this.high===0&&this.low===0},S.isNegative=function e(){return!this.unsigned&&this.high<0},S.isPositive=function e(){return this.unsigned||this.high>=0},S.isOdd=function e(){return(this.low&1)===1},S.isEven=function e(){return(this.low&1)===0},S.equals=function e(t){if(!d(t))t=v(t);if(this.unsigned!==t.unsigned&&this.high>>>31===1&&t.high>>>31===1)return false;return this.high===t.high&&this.low===t.low},S.eq=S.equals,S.notEquals=function e(t){return!this.eq(t)},S.neq=S.notEquals,S.lessThan=function e(t){return this.comp(t)<0},S.lt=S.lessThan,S.lessThanOrEqual=function e(t){return this.comp(t)<=0},S.lte=S.lessThanOrEqual,S.greaterThan=function e(t){return this.comp(t)>0},S.gt=S.greaterThan,S.greaterThanOrEqual=function e(t){return this.comp(t)>=0},S.gte=S.greaterThanOrEqual,S.compare=function e(t){if(!d(t))t=v(t);if(this.eq(t))return 0;var i=this.isNegative(),r=t.isNegative();if(i&&!r)return-1;if(!i&&r)return 1;if(!this.unsigned)return this.sub(t).isNegative()?-1:1;return t.high>>>0>this.high>>>0||t.high===this.high&&t.low>>>0>this.low>>>0?-1:1},S.comp=S.compare,S.negate=function e(){if(!this.unsigned&&this.eq(I))return I;return this.not().add(p)},S.neg=S.negate,S.add=function e(t){if(!d(t))t=v(t);var i=this.high>>>16;var r=this.high&65535;var n=this.low>>>16;var s=this.low&65535;var f=t.high>
1>>16;var o=t.high&65535;var a=t.low>>>16;var l=t.low&65535;var h=0,u=0,c=0,p=0;p+=s+l;c+=p>>>16;p&=65535;c+=n+a;u+=c>>>16;c&=65535;u+=r+o;h+=u>>>16;u&=65535;h+=i+f;h&=65535;return y(c<<16|p,h<<16|u,this.unsigned)},S.subtract=function e(t){if(!d(t))t=v(t);return this.add(t.neg())},S.sub=S.subtract,S.multiply=function e(t){if(this.isZero())return E;if(!d(t))t=v(t);if(t.isZero())return E;if(this.eq(I))return t.isOdd()?I:E;if(t.eq(I))return this.isOdd()?I:E;if(this.isNegative())if(t.isNegative())return this.neg().mul(t.neg());else return this.neg().mul(t).neg();else if(t.isNegative())return this.mul(t.neg()).neg();if(this.lt(w)&&t.lt(w))return g(this.toNumber()*t.toNumber(),this.unsigned);var i=this.high>>>16;var r=this.high&65535;var n=this.low>>>16;var s=this.low&65535;var f=t.high>>>16;var o=t.high&65535;var a=t.low>>>16;var l=t.low&65535;var h=0,u=0,c=0,p=0;p+=s*l;c+=p>>>16;p&=65535;c+=n*l;u+=c>>>16;c&=65535;c+=s*a;u+=c>>>16;c&=65535;u+=r*l;h+=u>>>16;u&=65535;u+=n*a;h+=u>>>16;u&=65535;u+=s*o;h+=u>>>16;u&=65535;h+=i*l+r*a+n*o+s*f;h&=65535;return y(c<<16|p,h<<16|u,this.unsigned)},S.mul=S.multiply,S.divide=function e(t){if(!d(t))t=v(t);if(t.isZero())throw Error("division by zero");if(this.isZero())return this.unsigned?c:E;var i,r,n;if(!this.unsigned){if(this.eq(I))if(t.eq(p)||t.eq(b))return I;else if(t.eq(I))return p;else{var s=this.shr(1);i=s.div(t).shl(1);if(i.eq(E))return t.isNegative()?p:b;else{r=this.sub(t.mul(i));n=i.add(r.div(t));return n}}else if(t.eq(I))return this.unsigned?c:E;if(this.isNegative()){if(t.isNegative())return this.neg().div(t.neg());return this.neg().div(t).neg()}else if(t.isNegative())return this.div(t.neg()).neg();n=E}else{if(!t.unsigned)t=t.toUnsigned();if(t.gt(this))return c;if(t.gt(this.shru(1)))return m;n=c}r=this;while(r.gte(t)){i=Math.max(1,Math.floor(r.toNumber()/t.toNumber()));var f=Math.ceil(Math.log(i)/Math.LN2),o=f<=48?1:u(2,f-48),a=g(i),l=a.mul(t);while(l.isNegative()||l.gt(r)){i-=o;a=g(i,this.unsigned);l=a.mul(t)}if(a.isZero())a=p;n=n.add(a);r=r.sub(l)}return n},S.div=S.divide,S.modulo=function e(t){if(!d(t))t=v(t);return this.sub(this.div(t).mul(t))},S.mod=S.modulo,S.not=function e(){return y(~this.low,~this.high,this.unsigned)},S.and=function e(t){if(!d(t))t=v(t);return y(this.low&t.low,this.high&t.high,this.unsigned)},S.or=function e(t){if(!d(t))t=v(t);return y(this.low|t.low,this.high|t.high,this.unsigned)},S.xor=function e(t){if(!d(t))t=v(t);return y(this.low^t.low,this.high^t.high,this.unsigned)},S.shiftLeft=function e(t){if(d(t))t=t.toInt();if((t&=63)===0)return this;else if(t<32)return y(this.low<<t,this.high<<t|this.low>>>32-t,this.unsigned);else return y(0,this.low<<t-32,this.unsigned)},S.shl=S.shiftLeft,S.shiftRight=function e(t){if(d(t))t=t.toInt();if((t&=63)===0)return this;else if(t<32)return y(this.low>>>t|this.high<<32-t,this.high>>t,this.unsigned);else return y(this.high>>t-32,this.high>=0?0:-1,this.unsigned)},S.shr=S.shiftRight,S.shiftRightUnsigned=function e(t){if(d(t))t=t.toInt();t&=63;if(t===0)return this;else{var i=this.high;if(t<32){var r=this.low;return y(r>>>t|i<<32-t,i>>>t,this.unsigned)}else if(t===32)return y(i,0,this.unsigned);else return y(i>>>t-32,0,this.unsigned)}},S.shru=S.shiftRightUnsigned,S.toSigned=function e(){if(!this.unsigned)return this;return y(this.low,this.high,false)},S.toUnsigned=function e(){if(this.unsigned)return this;return y(this.low,this.high,true)},S.toBytes=function(e){return e?this.toBytesLE():this.toBytesBE()},S.toBytesLE=function(){var e=this.high,t=this.low;return[t&255,t>>>8&255,t>>>16&255,t>>>24&255,e&255,e>>>8&255,e>>>16&255,e>>>24&255]},S.toBytesBE=function(){var e=this.high,t=this.low;return[e>>>24&255,e>>>16&255,e>>>8&255,e&255,t>>>24&255,t>>>16&255,t>>>8&255,t&255]},r}()}(this),function(e){(e.dcodeIO=e.dcodeIO||{}).ByteBuffer=function(a){"use strict";var d=function(e,t,i){if(typeof e==="undefined")e=d.DEFAULT_CAPACITY;if(typeof t==="undefined")t=d.DEFAULT_ENDIAN;if(typeof i==="undefined")i=d.DEFAULT_NOASSERT;if(!i){e=e|0;if(e<0)throw RangeError("Illegal capacity");t=!!t;i=!!i}this.buffer=e===0?s:new ArrayBuffer(e);this.view=e===0?null:new Uint8Array(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=e;this.littleEndian=t;this.noAssert=i},f=(d.VERSION="5.0.1",d.LITTLE_ENDIAN=true,d.BIG_ENDIAN=false,d.DEFAULT_CAPACITY=16,d.DEFAULT_ENDIAN=d.BIG_ENDIAN,d.DEFAULT_NOASSERT=false,d.Long=a||null,d.prototype),s=(f.__isByteBuffer__,Object.defineProperty(f,"__isByteBuffer__",{value:true,enumerable:false,configurable:false}),new ArrayBuffer(0)),i=String.fromCharCode;function o(e){var t=0;return function(){return t<e.length?e.charCodeAt(t++):null}}function l(){var e=[],t=[];return function(){if(arguments.length===0)return t.join("")+i.apply(String,e);if(e.length+arguments.length>1024)t.push(i.apply(String,e)),e.length=0;Array.prototype.push.apply(e,arguments)}}if(d.accessor=function(){return Uint8Array},d.allocate=function(e,t,i){return new d(e,t,i)},d.concat=function(e,t,i,r){if(typeof t==="boolean"||typeof t!=="string"){r=i;i=t;t=undefined}var n=0;for(var s=0,f=e.length,o;s<f;++s){if(!d.isByteBuffer(e[s]))e[s]=d.wrap(e[s],t);o=e[s].limit-e[s].offset;if(o>0)n+=o}if(n===0)return new d(0,i,r);var a=new d(n,i,r),l;s=0;while(s<f){l=e[s++];o=l.limit-l.offset;if(o<=0)continue;a.view.set(l.view.subarray(l.offset,l.limit),a.offset);a.offset+=o}a.limit=a.offset;a.offset=0;return a},d.isByteBuffer=function(e){return(e&&e["__isByteBuffer__"])===true},d.type=function(){return ArrayBuffer},d.wrap=function(e,t,i,r){if(typeof t!=="string"){r=i;i=t;t=undefined}if(typeof e==="string"){if(typeof t==="undefined")t="utf8";switch(t){case"base64":return d.fromBase64(e,i);case"hex":return d.fromHex(e,i);case"binary":return d.fromBinary(e,i);case"utf8":return d.fromUTF8(e,i);case"debug":return d.fromDebug(e,i);default:throw Error("Unsupported encoding: "+t)}}if(e===null||typeof e!=="object")throw TypeError("Illegal buffer");var n;if(d.isByteBuffer(e)){n=f.clone.call(e);n.markedOffset=-1;return n}if(e instanceof Uint8Array){n=new d(0,i,r);if(e.length>0){n.buffer=e.buffer;n.offset=e.byteOffset;n.limit=e.byteOffset+e.byteLength;n.view=new Uint8Array(e.buffer)}}else if(e instanceof ArrayBuffer){n=new d(0,i,r);if(e.byteLength>0){n.buffer=e;n.offset=0;n.limit=e.byteLength;n.view=e.byteLength>0?new Uint8Array(e):null}}else if(Object.prototype.toString.call(e)==="[object Array]"){n=new d(e.length,i,r);n.limit=e.length;for(var s=0;s<e.length;++s)n.view[s]=e[s]}else throw TypeError("Illegal buffer");return n},f.writeBitSet=function(e,t){var i=typeof t==="undefined";if(i)t=this.offset;if(!this.noAssert){if(!(e instanceof Array))throw TypeError("Illegal BitSet: Not an array");if(typeof t!=="number"||t%1!==0)throw TypeError("Illegal offset: "+t+" (not an integer)");t>>>=0;if(t<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+"+0+") <= "+this.buffer.byteLength)}
1var r=t,n=e.length,s=n>>3,f=0,o;t+=this.writeVarint32(n,t);while(s--){o=!!e[f++]&1|(!!e[f++]&1)<<1|(!!e[f++]&1)<<2|(!!e[f++]&1)<<3|(!!e[f++]&1)<<4|(!!e[f++]&1)<<5|(!!e[f++]&1)<<6|(!!e[f++]&1)<<7;this.writeByte(o,t++)}if(f<n){var a=0;o=0;while(f<n)o=o|(!!e[f++]&1)<<a++;this.writeByte(o,t++)}if(i){this.offset=t;return this}return t-r},f.readBitSet=function(e){var t=typeof e==="undefined";if(t)e=this.offset;var i=this.readVarint32(e),r=i.value,n=r>>3,s=0,f=[],o;e+=i.length;while(n--){o=this.readByte(e++);f[s++]=!!(o&1);f[s++]=!!(o&2);f[s++]=!!(o&4);f[s++]=!!(o&8);f[s++]=!!(o&16);f[s++]=!!(o&32);f[s++]=!!(o&64);f[s++]=!!(o&128)}if(s<r){var a=0;o=this.readByte(e++);while(s<r)f[s++]=!!(o>>a++&1)}if(t)this.offset=e;return f},f.readBytes=function(e,t){var i=typeof t==="undefined";if(i)t=this.offset;if(!this.noAssert){if(typeof t!=="number"||t%1!==0)throw TypeError("Illegal offset: "+t+" (not an integer)");t>>>=0;if(t<0||t+e>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+"+e+") <= "+this.buffer.byteLength)}var r=this.slice(t,t+e);if(i)this.offset+=e;return r},f.writeBytes=f.append,f.writeInt8=function(e,t){var i=typeof t==="undefined";if(i)t=this.offset;if(!this.noAssert){if(typeof e!=="number"||e%1!==0)throw TypeError("Illegal value: "+e+" (not an integer)");e|=0;if(typeof t!=="number"||t%1!==0)throw TypeError("Illegal offset: "+t+" (not an integer)");t>>>=0;if(t<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+"+0+") <= "+this.buffer.byteLength)}t+=1;var r=this.buffer.byteLength;if(t>r)this.resize((r*=2)>t?r:t);t-=1;this.view[t]=e;if(i)this.offset+=1;return this},f.writeByte=f.writeInt8,f.readInt8=function(e){var t=typeof e==="undefined";if(t)e=this.offset;if(!this.noAssert){if(typeof e!=="number"||e%1!==0)throw TypeError("Illegal offset: "+e+" (not an integer)");e>>>=0;if(e<0||e+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+"+1+") <= "+this.buffer.byteLength)}var i=this.view[e];if((i&128)===128)i=-(255-i+1);if(t)this.offset+=1;return i},f.readByte=f.readInt8,f.writeUint8=function(e,t){var i=typeof t==="undefined";if(i)t=this.offset;if(!this.noAssert){if(typeof e!=="number"||e%1!==0)throw TypeError("Illegal value: "+e+" (not an integer)");e>>>=0;if(typeof t!=="number"||t%1!==0)throw TypeError("Illegal offset: "+t+" (not an integer)");t>>>=0;if(t<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+"+0+") <= "+this.buffer.byteLength)}t+=1;var r=this.buffer.byteLength;if(t>r)this.resize((r*=2)>t?r:t);t-=1;this.view[t]=e;if(i)this.offset+=1;return this},f.writeUInt8=f.writeUint8,f.readUint8=function(e){var t=typeof e==="undefined";if(t)e=this.offset;if(!this.noAssert){if(typeof e!=="number"||e%1!==0)throw TypeError("Illegal offset: "+e+" (not an integer)");e>>>=0;if(e<0||e+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+"+1+") <= "+this.buffer.byteLength)}var i=this.view[e];if(t)this.offset+=1;return i},f.readUInt8=f.readUint8,f.writeInt16=function(e,t){var i=typeof t==="undefined";if(i)t=this.offset;if(!this.noAssert){if(typeof e!=="number"||e%1!==0)throw TypeError("Illegal value: "+e+" (not an integer)");e|=0;if(typeof t!=="number"||t%1!==0)throw TypeError("Illegal offset: "+t+" (not an integer)");t>>>=0;if(t<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+"+0+") <= "+this.buffer.byteLength)}t+=2;var r=this.buffer.byteLength;if(t>r)this.resize((r*=2)>t?r:t);t-=2;if(this.littleEndian){this.view[t+1]=(e&65280)>>>8;this.view[t]=e&255}else{this.view[t]=(e&65280)>>>8;this.view[t+1]=e&255}if(i)this.offset+=2;return this},f.writeShort=f.writeInt16,f.readInt16=function(e){var t=typeof e==="undefined";if(t)e=this.offset;if(!this.noAssert){if(typeof e!=="number"||e%1!==0)throw TypeError("Illegal offset: "+e+" (not an integer)");e>>>=0;if(e<0||e+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+"+2+") <= "+this.buffer.byteLength)}var i=0;if(this.littleEndian){i=this.view[e];i|=this.view[e+1]<<8}else{i=this.view[e]<<8;i|=this.view[e+1]}if((i&32768)===32768)i=-(65535-i+1);if(t)this.offset+=2;return i},f.readShort=f.readInt16,f.writeUint16=function(e,t){var i=typeof t==="undefined";if(i)t=this.offset;if(!this.noAssert){if(typeof e!=="number"||e%1!==0)throw TypeError("Illegal value: "+e+" (not an integer)");e>>>=0;if(typeof t!=="number"||t%1!==0)throw TypeError("Illegal offset: "+t+" (not an integer)");t>>>=0;if(t<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+"+0+") <= "+this.buffer.byteLength)}t+=2;var r=this.buffer.byteLength;if(t>r)this.resize((r*=2)>t?r:t);t-=2;if(this.littleEndian){this.view[t+1]=(e&65280)>>>8;this.view[t]=e&255}else{this.view[t]=(e&65280)>>>8;this.view[t+1]=e&255}if(i)this.offset+=2;return this},f.writeUInt16=f.writeUint16,f.readUint16=function(e){var t=typeof e==="undefined";if(t)e=this.offset;if(!this.noAssert){if(typeof e!=="number"||e%1!==0)throw TypeError("Illegal offset: "+e+" (not an integer)");e>>>=0;if(e<0||e+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+"+2+") <= "+this.buffer.byteLength)}var i=0;if(this.littleEndian){i=this.view[e];i|=this.view[e+1]<<8}else{i=this.view[e]<<8;i|=this.view[e+1]}if(t)this.offset+=2;return i},f.readUInt16=f.readUint16,f.writeInt32=function(e,t){var i=typeof t==="undefined";if(i)t=this.offset;if(!this.noAssert){if(typeof e!=="number"||e%1!==0)throw TypeError("Illegal value: "+e+" (not an integer)");e|=0;if(typeof t!=="number"||t%1!==0)throw TypeError("Illegal offset: "+t+" (not an integer)");t>>>=0;if(t<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+"+0+") <= "+this.buffer.byteLength)}t+=4;var r=this.buffer.byteLength;if(t>r)this.resize((r*=2)>t?r:t);t-=4;if(this.littleEndian){this.view[t+3]=e>>>24&255;this.view[t+2]=e>>>16&255;this.view[t+1]=e>>>8&255;this.view[t]=e&255}else{this.view[t]=e>>>24&255;this.view[t+1]=e>>>16&255;this.view[t+2]=e>>>8&255;this.view[t+3]=e&255}if(i)this.offset+=4;return this},f.writeInt=f.writeInt32,f.readInt32=function(e){var t=typeof e==="undefined";if(t)e=this.offset;if(!this.noAssert){if(typeof e!=="number"||e%1!==0)throw TypeError("Illegal offset: "+e+" (not an integer)");e>>>=0;if(e<0||e+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+"+4+") <= "+this.buffer.byteLength)}var i=0;if(this.littleEndian){i=this.view[e+2]<<16;i|=this.view[e+1]<<8;i|=this.view[e];i+=this.view[e+3]<<24>>>0}else{i=this.view[e+1]<<16;i|=this.view[e+2]<<8;i|=this.view[e+3];i+=this.view[e]<<24>>>0}i|=0;if(t)this.offset+=4;return i},f.readInt=f.readInt32,f.writeUint32=function(e,t){var i=typeof t==="undefined";if(i)t=this.offset;if(!this.noAssert){if(typeof e!=="number"||e%1!==0)throw TypeError("Illegal value: "+e+" (not an integer)");e>>>=0;if(typeof t!=="number"||t%1!==0)throw TypeError("Illegal offset: "+t+" (not an integer)");t>>>=0;if(t<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+"+0+") <= "+this.buffer.byteLength)}t+=4;var r=this.buffer.byteLength;if(t>r)this.resize((r*=2)>t?r:t);t-=4;if(this.littleEndian){this.view[t+3]=e>>>24&255;this.view[t+2]=e>>>16&255;this.view[t+1]=e>>>8&255;this.view[t]=e&255}else{this.view[t]=e>>>24&255;this.view[t+1]=e>>>16&255;this.view[t+2]=e>>>8&255;this.view[t+3]=e&255}if(i)this.offset+=4;return this},f.writeUInt32=f.writeUint32,f.readUint32=function(e){var t=typeof e==="undefined";if(t)e=this.offset;if(!this.noAssert){if(typeof e!=="number"||e%1!==0)throw TypeError("Illegal offset: "+e+" (not an integer)");e>>>=0;if(e<0||e+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+"+4+") <= "+this.buffer.byteLength)}var i=0;if(this.littleEndian){i=this.view[e+2]<<16;i|=this.view[e+1]<<8;i|=this.view[e];i+=this.view[e+3]<<24>>>0}else{i=this.view[e+1]<<16;i|=this.view[e+2]<<8;i|=this.view[e+3];i+=this.view[e]<<24>>>0}if(t)this.offset+=4;return i},f.readUInt32=f.readUint32,a){f.writeInt64=function(e,t){var i=typeof t==="undefined";if(i)t=this.offset;if(!this.noAssert){if(typeof e==="number")e=a.fromNumber(e);else if(typeof e==="string")e=a.fromString(e);else if(!(e&&e instanceof a))throw TypeError("Illegal value: "+e+" (not an integer or Long)");if(typeof t!=="number"||t%1!==0)throw TypeError("Illegal offset: "+t+" (not an integer)");t>>>=0;if(t<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+"+0+") <= "+this.buffer.byteLength)}if(typeof e==="number")e=a.fromNumber(e);else if(typeof e==="string")e=a.fromString(e);t+=8;var r=this.buffer.byteLength;if(t>r)this.resize((r*=2)>t?r:t);t-=8;var n=e.low,s=e.high;if(this.littleEndian){this.view[t+3]=n>>>24&255;this.view[t+2]=n>
1>>16&255;this.view[t+1]=n>>>8&255;this.view[t]=n&255;t+=4;this.view[t+3]=s>>>24&255;this.view[t+2]=s>>>16&255;this.view[t+1]=s>>>8&255;this.view[t]=s&255}else{this.view[t]=s>>>24&255;this.view[t+1]=s>>>16&255;this.view[t+2]=s>>>8&255;this.view[t+3]=s&255;t+=4;this.view[t]=n>>>24&255;this.view[t+1]=n>>>16&255;this.view[t+2]=n>>>8&255;this.view[t+3]=n&255}if(i)this.offset+=8;return this};f.writeLong=f.writeInt64;f.readInt64=function(e){var t=typeof e==="undefined";if(t)e=this.offset;if(!this.noAssert){if(typeof e!=="number"||e%1!==0)throw TypeError("Illegal offset: "+e+" (not an integer)");e>>>=0;if(e<0||e+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+"+8+") <= "+this.buffer.byteLength)}var i=0,r=0;if(this.littleEndian){i=this.view[e+2]<<16;i|=this.view[e+1]<<8;i|=this.view[e];i+=this.view[e+3]<<24>>>0;e+=4;r=this.view[e+2]<<16;r|=this.view[e+1]<<8;r|=this.view[e];r+=this.view[e+3]<<24>>>0}else{r=this.view[e+1]<<16;r|=this.view[e+2]<<8;r|=this.view[e+3];r+=this.view[e]<<24>>>0;e+=4;i=this.view[e+1]<<16;i|=this.view[e+2]<<8;i|=this.view[e+3];i+=this.view[e]<<24>>>0}var n=new a(i,r,false);if(t)this.offset+=8;return n};f.readLong=f.readInt64;f.writeUint64=function(e,t){var i=typeof t==="undefined";if(i)t=this.offset;if(!this.noAssert){if(typeof e==="number")e=a.fromNumber(e);else if(typeof e==="string")e=a.fromString(e);else if(!(e&&e instanceof a))throw TypeError("Illegal value: "+e+" (not an integer or Long)");if(typeof t!=="number"||t%1!==0)throw TypeError("Illegal offset: "+t+" (not an integer)");t>>>=0;if(t<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+"+0+") <= "+this.buffer.byteLength)}if(typeof e==="number")e=a.fromNumber(e);else if(typeof e==="string")e=a.fromString(e);t+=8;var r=this.buffer.byteLength;if(t>r)this.resize((r*=2)>t?r:t);t-=8;var n=e.low,s=e.high;if(this.littleEndian){this.view[t+3]=n>>>24&255;this.view[t+2]=n>>>16&255;this.view[t+1]=n>>>8&255;this.view[t]=n&255;t+=4;this.view[t+3]=s>>>24&255;this.view[t+2]=s>>>16&255;this.view[t+1]=s>>>8&255;this.view[t]=s&255}else{this.view[t]=s>>>24&255;this.view[t+1]=s>>>16&255;this.view[t+2]=s>>>8&255;this.view[t+3]=s&255;t+=4;this.view[t]=n>>>24&255;this.view[t+1]=n>>>16&255;this.view[t+2]=n>>>8&255;this.view[t+3]=n&255}if(i)this.offset+=8;return this};f.writeUInt64=f.writeUint64;f.readUint64=function(e){var t=typeof e==="undefined";if(t)e=this.offset;if(!this.noAssert){if(typeof e!=="number"||e%1!==0)throw TypeError("Illegal offset: "+e+" (not an integer)");e>>>=0;if(e<0||e+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+"+8+") <= "+this.buffer.byteLength)}var i=0,r=0;if(this.littleEndian){i=this.view[e+2]<<16;i|=this.view[e+1]<<8;i|=this.view[e];i+=this.view[e+3]<<24>>>0;e+=4;r=this.view[e+2]<<16;r|=this.view[e+1]<<8;r|=this.view[e];r+=this.view[e+3]<<24>>>0}else{r=this.view[e+1]<<16;r|=this.view[e+2]<<8;r|=this.view[e+3];r+=this.view[e]<<24>>>0;e+=4;i=this.view[e+1]<<16;i|=this.view[e+2]<<8;i|=this.view[e+3];i+=this.view[e]<<24>>>0}var n=new a(i,r,true);if(t)this.offset+=8;return n};f.readUInt64=f.readUint64}function r(e,t,i,r,n){var s,f,o=n*8-r-1,a=(1<<o)-1,l=a>>1,h=-7,u=i?n-1:0,c=i?-1:1,p=e[t+u];u+=c;s=p&(1<<-h)-1;p>>=-h;h+=o;for(;h>0;s=s*256+e[t+u],u+=c,h-=8);f=s&(1<<-h)-1;s>>=-h;h+=r;for(;h>0;f=f*256+e[t+u],u+=c,h-=8);if(s===0)s=1-l;else if(s===a)return f?NaN:(p?-1:1)*Infinity;else{f=f+Math.pow(2,r);s=s-l}return(p?-1:1)*f*Math.pow(2,s-r)}function n(e,t,i,r,n,s){var f,o,a,l=s*8-n-1,h=(1<<l)-1,u=h>>1,c=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:s-1,d=r?1:-1,g=t<0||t===0&&1/t<0?1:0;t=Math.abs(t);if(isNaN(t)||t===Infinity){o=isNaN(t)?1:0;f=h}else{f=Math.floor(Math.log(t)/Math.LN2);if(t*(a=Math.pow(2,-f))<1){f--;a*=2}if(f+u>=1)t+=c/a;else t+=c*Math.pow(2,1-u);if(t*a>=2){f++;a/=2}if(f+u>=h){o=0;f=h}else if(f+u>=1){o=(t*a-1)*Math.pow(2,n);f=f+u}else{o=t*Math.pow(2,u-1)*Math.pow(2,n);f=0}}for(;n>=8;e[i+p]=o&255,p+=d,o/=256,n-=8);f=f<<n|o;l+=n;for(;l>0;e[i+p]=f&255,p+=d,f/=256,l-=8);e[i+p-d]|=g*128}if(f.writeFloat32=function(e,t){var i=typeof t==="undefined";if(i)t=this.offset;if(!this.noAssert){if(typeof e!=="number")throw TypeError("Illegal value: "+e+" (not a number)");if(typeof t!=="number"||t%1!==0)throw TypeError("Illegal offset: "+t+" (not an integer)");t>>>=0;if(t<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+"+0+") <= "+this.buffer.byteLength)}t+=4;var r=this.buffer.byteLength;if(t>r)this.resize((r*=2)>t?r:t);t-=4;n(this.view,e,t,this.littleEndian,23,4);if(i)this.offset+=4;return this},f.writeFloat=f.writeFloat32,f.readFloat32=function(e){var t=typeof e==="undefined";if(t)e=this.offset;if(!this.noAssert){if(typeof e!=="number"||e%1!==0)throw TypeError("Illegal offset: "+e+" (not an integer)");e>>>=0;if(e<0||e+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+"+4+") <= "+this.buffer.byteLength)}var i=r(this.view,e,this.littleEndian,23,4);if(t)this.offset+=4;return i},f.readFloat=f.readFloat32,f.writeFloat64=function(e,t){var i=typeof t==="undefined";if(i)t=this.offset;if(!this.noAssert){if(typeof e!=="number")throw TypeError("Illegal value: "+e+" (not a number)");if(typeof t!=="number"||t%1!==0)throw TypeError("Illegal offset: "+t+" (not an integer)");t>>>=0;if(t<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+"+0+") <= "+this.buffer.byteLength)}t+=8;var r=this.buffer.byteLength;if(t>r)this.resize((r*=2)>t?r:t);t-=8;n(this.view,e,t,this.littleEndian,52,8);if(i)this.offset+=8;return this},f.writeDouble=f.writeFloat64,f.readFloat64=function(e){var t=typeof e==="undefined";if(t)e=this.offset;if(!this.noAssert){if(typeof e!=="number"||e%1!==0)throw TypeError("Illegal offset: "+e+" (not an integer)");e>>>=0;if(e<0||e+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+"+8+") <= "+this.buffer.byteLength)}var i=r(this.view,e,this.littleEndian,52,8);if(t)this.offset+=8;return i},f.readDouble=f.readFloat64,d.MAX_VARINT32_BYTES=5,d.calculateVarint32=function(e){e=e>>>0;
1if(e<1<<7)return 1;else if(e<1<<14)return 2;else if(e<1<<21)return 3;else if(e<1<<28)return 4;else return 5},d.zigZagEncode32=function(e){return((e|=0)<<1^e>>31)>>>0},d.zigZagDecode32=function(e){return e>>>1^-(e&1)|0},f.writeVarint32=function(e,t){var i=typeof t==="undefined";if(i)t=this.offset;if(!this.noAssert){if(typeof e!=="number"||e%1!==0)throw TypeError("Illegal value: "+e+" (not an integer)");e|=0;if(typeof t!=="number"||t%1!==0)throw TypeError("Illegal offset: "+t+" (not an integer)");t>>>=0;if(t<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+"+0+") <= "+this.buffer.byteLength)}var r=d.calculateVarint32(e),n;t+=r;var s=this.buffer.byteLength;if(t>s)this.resize((s*=2)>t?s:t);t-=r;e>>>=0;while(e>=128){n=e&127|128;this.view[t++]=n;e>>>=7}this.view[t++]=e;if(i){this.offset=t;return this}return r},f.writeVarint32ZigZag=function(e,t){return this.writeVarint32(d.zigZagEncode32(e),t)},f.readVarint32=function(e){var t=typeof e==="undefined";if(t)e=this.offset;if(!this.noAssert){if(typeof e!=="number"||e%1!==0)throw TypeError("Illegal offset: "+e+" (not an integer)");e>>>=0;if(e<0||e+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+"+1+") <= "+this.buffer.byteLength)}var i=0,r=0>>>0,n;do{if(!this.noAssert&&e>this.limit){var s=Error("Truncated");s["truncated"]=true;throw s}n=this.view[e++];if(i<5)r|=(n&127)<<7*i;++i}while((n&128)!==0);r|=0;if(t){this.offset=e;return r}return{value:r,length:i}},f.readVarint32ZigZag=function(e){var t=this.readVarint32(e);if(typeof t==="object")t["value"]=d.zigZagDecode32(t["value"]);else t=d.zigZagDecode32(t);return t},a){d.MAX_VARINT64_BYTES=10;d.calculateVarint64=function(e){if(typeof e==="number")e=a.fromNumber(e);else if(typeof e==="string")e=a.fromString(e);var t=e.toInt()>>>0,i=e.shiftRightUnsigned(28).toInt()>>>0,r=e.shiftRightUnsigned(56).toInt()>>>0;if(r==0)if(i==0)if(t<1<<14)return t<1<<7?1:2;else return t<1<<21?3:4;else if(i<1<<14)return i<1<<7?5:6;else return i<1<<21?7:8;else return r<1<<7?9:10};d.zigZagEncode64=function(e){if(typeof e==="number")e=a.fromNumber(e,false);else if(typeof e==="string")e=a.fromString(e,false);else if(e.unsigned!==false)e=e.toSigned();return e.shiftLeft(1).xor(e.shiftRight(63)).toUnsigned()};d.zigZagDecode64=function(e){if(typeof e==="number")e=a.fromNumber(e,false);else if(typeof e==="string")e=a.fromString(e,false);else if(e.unsigned!==false)e=e.toSigned();return e.shiftRightUnsigned(1).xor(e.and(a.ONE).toSigned().negate()).toSigned()};f.writeVarint64=function(e,t){var i=typeof t==="undefined";if(i)t=this.offset;if(!this.noAssert){if(typeof e==="number")e=a.fromNumber(e);else if(typeof e==="string")e=a.fromString(e);else if(!(e&&e instanceof a))throw TypeError("Illegal value: "+e+" (not an integer or Long)");if(typeof t!=="number"||t%1!==0)throw TypeError("Illegal offset: "+t+" (not an integer)");t>>>=0;if(t<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+"+0+") <= "+this.buffer.byteLength)}if(typeof e==="number")e=a.fromNumber(e,false);else if(typeof e==="string")e=a.fromString(e,false);else if(e.unsigned!==false)e=e.toSigned();var r=d.calculateVarint64(e),n=e.toInt()>>>0,s=e.shiftRightUnsigned(28).toInt()>>>0,f=e.shiftRightUnsigned(56).toInt()>>>0;t+=r;var o=this.buffer.byteLength;if(t>o)this.resize((o*=2)>t?o:t);t-=r;switch(r){case 10:this.view[t+9]=f>>>7&1;case 9:this.view[t+8]=r!==9?f|128:f&127;case 8:this.view[t+7]=r!==8?s>>>21|128:s>>>21&127;case 7:this.view[t+6]=r!==7?s>>>14|128:s>>>14&127;case 6:this.view[t+5]=r!==6?s>>>7|128:s>>>7&127;case 5:this.view[t+4]=r!==5?s|128:s&127;case 4:this.view[t+3]=r!==4?n>>>21|128:n>>>21&127;case 3:this.view[t+2]=r!==3?n>>>14|128:n>>>14&127;case 2:this.view[t+1]=r!==2?n>>>7|128:n>>>7&127;case 1:this.view[t]=r!==1?n|128:n&127}if(i){this.offset+=r;return this}else return r};f.writeVarint64ZigZag=function(e,t){return this.writeVarint64(d.zigZagEncode64(e),t)};f.readVarint64=function(e){var t=typeof e==="undefined";if(t)e=this.offset;if(!this.noAssert){if(typeof e!=="number"||e%1!==0)throw TypeError("Illegal offset: "+e+" (not an integer)");e>>>=0;if(e<0||e+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+"+1+") <= "+this.buffer.byteLength)}var i=e,r=0,n=0,s=0,f=0;f=this.view[e++];r=f&127;if(f&128){f=this.view[e++];r|=(f&127)<<7;if(f&128||this.noAssert&&typeof f==="undefined"){f=this.view[e++];r|=(f&127)<<14;if(f&128||this.noAssert&&typeof f==="undefined"){f=this.view[e++];r|=(f&127)<<21;if(f&128||this.noAssert&&typeof f==="undefined"){f=this.view[e++];n=f&127;if(f&128||this.noAssert&&typeof f==="undefined"){f=this.view[e++];n|=(f&127)<<7;if(f&128||this.noAssert&&typeof f==="undefined"){f=this.view[e++];n|=(f&127)<<14;if(f&128||this.noAssert&&typeof f==="undefined"){f=this.view[e++];n|=(f&127)<<21;if(f&128||this.noAssert&&typeof f==="undefined"){f=this.view[e++];s=f&127;if(f&128||this.noAssert&&typeof f==="undefined"){f=this.view[e++];s|=(f&127)<<7;if(f&128||this.noAssert&&typeof f==="undefined")throw Error("Buffer overrun")}}}}}}}}}var o=a.fromBits(r|n<<28,n>>>4|s<<24,false);
1if(t){this.offset=e;return o}else return{value:o,length:e-i}};f.readVarint64ZigZag=function(e){var t=this.readVarint64(e);if(t&&t["value"]instanceof a)t["value"]=d.zigZagDecode64(t["value"]);else t=d.zigZagDecode64(t);return t}}f.writeCString=function(e,t){var i=typeof t==="undefined";if(i)t=this.offset;var r,n=e.length;if(!this.noAssert){if(typeof e!=="string")throw TypeError("Illegal str: Not a string");for(r=0;r<n;++r)if(e.charCodeAt(r)===0)throw RangeError("Illegal str: Contains NULL-characters");if(typeof t!=="number"||t%1!==0)throw TypeError("Illegal offset: "+t+" (not an integer)");t>>>=0;if(t<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+"+0+") <= "+this.buffer.byteLength)}n=u.calculateUTF16asUTF8(o(e))[1];t+=n+1;var s=this.buffer.byteLength;if(t>s)this.resize((s*=2)>t?s:t);t-=n+1;u.encodeUTF16toUTF8(o(e),function(e){this.view[t++]=e}.bind(this));this.view[t++]=0;if(i){this.offset=t;return this}return n},f.readCString=function(e){var t=typeof e==="undefined";if(t)e=this.offset;if(!this.noAssert){if(typeof e!=="number"||e%1!==0)throw TypeError("Illegal offset: "+e+" (not an integer)");e>>>=0;if(e<0||e+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+"+1+") <= "+this.buffer.byteLength)}var i=e,r;var n,s=-1;u.decodeUTF8toUTF16(function(){if(s===0)return null;if(e>=this.limit)throw RangeError("Illegal range: Truncated data, "+e+" < "+this.limit);s=this.view[e++];return s===0?null:s}.bind(this),n=l(),true);if(t){this.offset=e;return n()}else return{string:n(),length:e-i}},f.writeIString=function(e,t){var i=typeof t==="undefined";if(i)t=this.offset;if(!this.noAssert){if(typeof e!=="string")throw TypeError("Illegal str: Not a string");if(typeof t!=="number"||t%1!==0)throw TypeError("Illegal offset: "+t+" (not an integer)");t>>>=0;if(t<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+"+0+") <= "+this.buffer.byteLength)}var r=t,n;n=u.calculateUTF16asUTF8(o(e),this.noAssert)[1];t+=4+n;var s=this.buffer.byteLength;if(t>s)this.resize((s*=2)>t?s:t);t-=4+n;if(this.littleEndian){this.view[t+3]=n>>>24&255;this.view[t+2]=n>>>16&255;this.view[t+1]=n>>>8&255;this.view[t]=n&255}else{this.view[t]=n>>>24&255;this.view[t+1]=n>>>16&255;this.view[t+2]=n>>>8&255;this.view[t+3]=n&255}t+=4;u.encodeUTF16toUTF8(o(e),function(e){this.view[t++]=e}.bind(this));if(t!==r+4+n)throw RangeError("Illegal range: Truncated data, "+t+" == "+(t+4+n));if(i){this.offset=t;return this}return t-r},f.readIString=function(e){var t=typeof e==="undefined";if(t)e=this.offset;if(!this.noAssert){if(typeof e!=="number"||e%1!==0)throw TypeError("Illegal offset: "+e+" (not an integer)");e>>>=0;if(e<0||e+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+"+4+") <= "+this.buffer.byteLength)}var i=e;var r=this.readUint32(e);var n=this.readUTF8String(r,d.METRICS_BYTES,e+=4);e+=n["length"];if(t){this.offset=e;return n["string"]}else return{string:n["string"],length:e-i}},d.METRICS_CHARS="c",d.METRICS_BYTES="b",f.writeUTF8String=function(e,t){var i=typeof t==="undefined";if(i)t=this.offset;if(!this.noAssert){if(typeof t!=="number"||t%1!==0)throw TypeError("Illegal offset: "+t+" (not an integer)");t>>>=0;if(t<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+"+0+") <= "+this.buffer.byteLength)}var r;var n=t;r=u.calculateUTF16asUTF8(o(e))[1];t+=r;var s=this.buffer.byteLength;if(t>s)this.resize((s*=2)>t?s:t);t-=r;u.encodeUTF16toUTF8(o(e),function(e){this.view[t++]=e}.bind(this));if(i){this.offset=t;return this}return t-n},f.writeString=f.writeUTF8String,d.calculateUTF8Chars=function(e){return u.calculateUTF16asUTF8(o(e))[0]},d.calculateString=d.calculateUTF8Bytes=function(e){return u.calculateUTF16asUTF8(o(e))[1]},f.readUTF8String=function(e,t,i){if(typeof t==="number"){i=t;t=undefined}var r=typeof i==="undefined";if(r)i=this.offset;if(typeof t==="undefined")t=d.METRICS_CHARS;if(!this.noAssert){if(typeof e!=="number"||e%1!==0)throw TypeError("Illegal length: "+e+" (not an integer)");e|=0;if(typeof i!=="number"||i%1!==0)throw TypeError("Illegal offset: "+i+" (not an integer)");i>>>=0;if(i<0||i+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+i+" (+"+0+") <= "+this.buffer.byteLength)}var n=0,s=i,f;if(t===d.METRICS_CHARS){f=l();
1u.decodeUTF8(function(){return n<e&&i<this.limit?this.view[i++]:null}.bind(this),function(e){++n;u.UTF8toUTF16(e,f)});if(n!==e)throw RangeError("Illegal range: Truncated data, "+n+" == "+e);if(r){this.offset=i;return f()}else return{string:f(),length:i-s}}else if(t===d.METRICS_BYTES){if(!this.noAssert){if(typeof i!=="number"||i%1!==0)throw TypeError("Illegal offset: "+i+" (not an integer)");i>>>=0;if(i<0||i+e>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+i+" (+"+e+") <= "+this.buffer.byteLength)}var o=i+e;u.decodeUTF8toUTF16(function(){return i<o?this.view[i++]:null}.bind(this),f=l(),this.noAssert);if(i!==o)throw RangeError("Illegal range: Truncated data, "+i+" == "+o);if(r){this.offset=i;return f()}else return{string:f(),length:i-s}}else throw TypeError("Unsupported metrics: "+t)},f.readString=f.readUTF8String,f.writeVString=function(e,t){var i=typeof t==="undefined";if(i)t=this.offset;if(!this.noAssert){if(typeof e!=="string")throw TypeError("Illegal str: Not a string");if(typeof t!=="number"||t%1!==0)throw TypeError("Illegal offset: "+t+" (not an integer)");t>>>=0;if(t<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+"+0+") <= "+this.buffer.byteLength)}var r=t,n,s;n=u.calculateUTF16asUTF8(o(e),this.noAssert)[1];s=d.calculateVarint32(n);t+=s+n;var f=this.buffer.byteLength;if(t>f)this.resize((f*=2)>t?f:t);t-=s+n;t+=this.writeVarint32(n,t);u.encodeUTF16toUTF8(o(e),function(e){this.view[t++]=e}.bind(this));if(t!==r+n+s)throw RangeError("Illegal range: Truncated data, "+t+" == "+(t+n+s));if(i){this.offset=t;return this}return t-r},f.readVString=function(e){var t=typeof e==="undefined";if(t)e=this.offset;if(!this.noAssert){if(typeof e!=="number"||e%1!==0)throw TypeError("Illegal offset: "+e+" (not an integer)");e>>>=0;if(e<0||e+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+"+1+") <= "+this.buffer.byteLength)}var i=e;var r=this.readVarint32(e);var n=this.readUTF8String(r["value"],d.METRICS_BYTES,e+=r["length"]);e+=n["length"];if(t){this.offset=e;return n["string"]}else return{string:n["string"],length:e-i}},f.append=function(e,t,i){if(typeof t==="number"||typeof t!=="string"){i=t;t=undefined}var r=typeof i==="undefined";if(r)i=this.offset;if(!this.noAssert){if(typeof i!=="number"||i%1!==0)throw TypeError("Illegal offset: "+i+" (not an integer)");i>>>=0;if(i<0||i+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+i+" (+"+0+") <= "+this.buffer.byteLength)}if(!(e instanceof d))e=d.wrap(e,t);var n=e.limit-e.offset;if(n<=0)return this;i+=n;var s=this.buffer.byteLength;if(i>s)this.resize((s*=2)>i?s:i);i-=n;this.view.set(e.view.subarray(e.offset,e.limit),i);e.offset+=n;if(r)this.offset+=n;return this},f.appendTo=function(e,t){e.append(this,t);return this},f.assert=function(e){this.noAssert=!e;return this},f.capacity=function(){return this.buffer.byteLength},f.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this},f.clone=function(e){var t=new d(0,this.littleEndian,this.noAssert);if(e){t.buffer=new ArrayBuffer(this.buffer.byteLength);t.view=new Uint8Array(t.buffer)}else{t.buffer=this.buffer;t.view=this.view}t.offset=this.offset;t.markedOffset=this.markedOffset;t.limit=this.limit;return t},f.compact=function(e,t){if(typeof e==="undefined")e=this.offset;if(typeof t==="undefined")t=this.limit;if(!this.noAssert){if(typeof e!=="number"||e%1!==0)throw TypeError("Illegal begin: Not an integer");e>>>=0;if(typeof t!=="number"||t%1!==0)throw TypeError("Illegal end: Not an integer");t>>>=0;if(e<0||e>t||t>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+e+" <= "+t+" <= "+this.buffer.byteLength)}if(e===0&&t===this.buffer.byteLength)return this;var i=t-e;if(i===0){this.buffer=s;this.view=null;if(this.markedOffset>=0)this.markedOffset-=e;this.offset=0;this.limit=0;return this}var r=new ArrayBuffer(i);var n=new Uint8Array(r);n.set(this.view.subarray(e,t));this.buffer=r;this.view=n;if(this.markedOffset>=0)this.markedOffset-=e;this.offset=0;this.limit=i;return this},f.copy=function(e,t){if(typeof e==="undefined")e=this.offset;if(typeof t==="undefined")t=this.limit;if(!this.noAssert){if(typeof e!=="number"||e%1!==0)throw TypeError("Illegal begin: Not an integer");e>>>=0;if(typeof t!=="number"||t%1!==0)throw TypeError("Illegal end: Not an integer");t>>>=0;if(e<0||e>t||t>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+e+" <= "+t+" <= "+this.buffer.byteLength)}if(e===t)return new d(0,this.littleEndian,this.noAssert);var i=t-e,r=new d(i,this.littleEndian,this.noAssert);r.offset=0;r.limit=i;if(r.markedOffset>=0)r.markedOffset-=e;this.copyTo(r,0,e,t);return r},f.copyTo=function(e,t,i,r){var n,s;if(!this.noAssert)if(!d.isByteBuffer(e))throw TypeError("Illegal target:
1Not a ByteBuffer");t=(s=typeof t==="undefined")?e.offset:t|0;i=(n=typeof i==="undefined")?this.offset:i|0;r=typeof r==="undefined"?this.limit:r|0;if(t<0||t>e.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+t+" <= "+e.buffer.byteLength);if(i<0||r>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+i+" <= "+this.buffer.byteLength);var f=r-i;if(f===0)return e;e.ensureCapacity(t+f);e.view.set(this.view.subarray(i,r),t);if(n)this.offset+=f;if(s)e.offset+=f;return this},f.ensureCapacity=function(e){var t=this.buffer.byteLength;if(t<e)return this.resize((t*=2)>e?t:e);return this},f.fill=function(e,t,i){var r=typeof t==="undefined";if(r)t=this.offset;if(typeof e==="string"&&e.length>0)e=e.charCodeAt(0);if(typeof t==="undefined")t=this.offset;if(typeof i==="undefined")i=this.limit;if(!this.noAssert){if(typeof e!=="number"||e%1!==0)throw TypeError("Illegal value: "+e+" (not an integer)");e|=0;if(typeof t!=="number"||t%1!==0)throw TypeError("Illegal begin: Not an integer");t>>>=0;if(typeof i!=="number"||i%1!==0)throw TypeError("Illegal end: Not an integer");i>>>=0;if(t<0||t>i||i>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+t+" <= "+i+" <= "+this.buffer.byteLength)}if(t>=i)return this;while(t<i)this.view[t++]=e;if(r)this.offset=t;return this},f.flip=function(){this.limit=this.offset;this.offset=0;return this},f.mark=function(e){e=typeof e==="undefined"?this.offset:e;if(!this.noAssert){if(typeof e!=="number"||e%1!==0)throw TypeError("Illegal offset: "+e+" (not an integer)");e>>>=0;if(e<0||e+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+"+0+") <= "+this.buffer.byteLength)}this.markedOffset=e;return this},f.order=function(e){if(!this.noAssert)if(typeof e!=="boolean")throw TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!e;return this},f.LE=function(e){this.littleEndian=typeof e!=="undefined"?!!e:true;return this},f.BE=function(e){this.littleEndian=typeof e!=="undefined"?!e:false;return this},f.prepend=function(e,t,i){if(typeof t==="number"||typeof t!=="string"){i=t;t=undefined}var r=typeof i==="undefined";if(r)i=this.offset;if(!this.noAssert){if(typeof i!=="number"||i%1!==0)throw TypeError("Illegal offset: "+i+" (not an integer)");i>>>=0;if(i<0||i+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+i+" (+"+0+") <= "+this.buffer.byteLength)}if(!(e instanceof d))e=d.wrap(e,t);var n=e.limit-e.offset;if(n<=0)return this;var s=n-i;if(s>0){var f=new ArrayBuffer(this.buffer.byteLength+s);var o=new Uint8Array(f);o.set(this.view.subarray(i,this.buffer.byteLength),n);this.buffer=f;this.view=o;this.offset+=s;if(this.markedOffset>=0)this.markedOffset+=s;this.limit+=s;i+=s}else var a=new Uint8Array(this.buffer);this.view.set(e.view.subarray(e.offset,e.limit),i-n);e.offset=e.limit;if(r)this.offset-=n;return this},f.prependTo=function(e,t){e.prepend(this,t);return this},f.printDebug=function(e){if(typeof e!=="function")e=console.log.bind(console);e(this.toString()+"\n"+"-------------------------------------------------------------------\n"+this.toDebug(true))},f.remaining=function(){return this.limit-this.offset},f.reset=function(){if(this.markedOffset>=0){this.offset=this.markedOffset;this.markedOffset=-1}else this.offset=0;return this},f.resize=function(e){if(!this.noAssert){if(typeof e!=="number"||e%1!==0)throw TypeError("Illegal capacity: "+e+" (not an integer)");e|=0;if(e<0)throw RangeError("Illegal capacity: 0 <= "+e)}if(this.buffer.byteLength<e){var t=new ArrayBuffer(e);var i=new Uint8Array(t);i.set(this.view);this.buffer=t;this.view=i}return this},f.reverse=function(e,t){if(typeof e==="undefined")e=this.offset;if(typeof t==="undefined")t=this.limit;if(!this.noAssert){if(typeof e!=="number"||e%1!==0)throw TypeError("Illegal begin: Not an integer");e>>>=0;if(typeof t!=="number"||t%1!==0)throw TypeError("Illegal end: Not an integer");t>>>=0;if(e<0||e>t||t>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+e+" <= "+t+" <= "+this.buffer.byteLength)}if(e===t)return this;Array.prototype.reverse.call(this.view.subarray(e,t));return this},f.skip=function(e){if(!this.noAssert){if(typeof e!=="number"||e%1!==0)throw TypeError("Illegal length: "+e+" (not an integer)");e|=0}var t=this.offset+e;if(!this.noAssert)if(t<0||t>this.buffer.byteLength)throw RangeError("Illegal length: 0 <= "+this.offset+" + "+e+" <= "+this.buffer.byteLength);this.offset=t;return this},f.slice=function(e,t){if(typeof e==="undefined")e=this.offset;if(typeof t==="undefined")t=this.limit;if(!this.noAssert){if(typeof e!=="number"||e%1!==0)throw TypeError("Illegal begin: Not an integer");e>>>=0;if(typeof t!=="number"||t%1!==0)throw TypeError("Illegal end: Not an integer");t>>>=0;if(e<0||e>t||t>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+e+" <= "+t+" <= "+this.buffer.byteLength)}var i=this.clone();i.offset=e;i.limit=t;return i},f.toBuffer=function(e){var t=this.offset,i=this.limit;if(!this.noAssert){if(typeof t!=="number"||t%1!==0)throw TypeError("Illegal offset: Not an integer");t>>>=0;if(typeof i!=="number"||i%1!==0)throw TypeError("Illegal limit: Not an integer");i>>>=0;if(t<0||t>i||i>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+t+" <= "+i+" <= "+this.buffer.byteLength)}if(!e&&t===0&&i===this.buffer.byteLength)return this.buffer;if(t===i)return s;var r=new ArrayBuffer(i-t);new Uint8Array(r).set(new Uint8Array(this.buffer).subarray(t,i),0);return r},f.toArrayBuffer=f.toBuffer,f.toString=function(e,t,i){if(typeof e==="undefined")return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";if(typeof e==="number")e="utf8",t=e,i=t;switch(e){case"utf8":return this.toUTF8(t,i);case"base64":return this.toBase64(t,i);case"hex":return this.toHex(t,i);case"binary":return this.toBinary(t,i);case"debug":return this.toDebug();case"columns":return this.toColumns();default:throw Error("Unsupported encoding: "+e)}};var h=function(){"use strict";var e={};var n=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47];var f=[];for(var t=0,i=n.length;t<i;++t)f[n[t]]=t;e.encode=function(e,t){var i,r;while((i=e())!==null){t(n[i>>2&63]);r=(i&3)<<4;if((i=e())!==null){r|=i>>4&15;t(n[(r|i>>4&15)&63]);r=(i&15)<<2;if((i=e())!==null)t(n[(r|i>>6&3)&63]),t(n[i&63]);else t(n[r&63]),t(61)}else t(n[r&63]),t(61),t(61)}};e.decode=function(e,t){var i,r,n;function s(e){throw Error("Illegal character code: "+e)}while((i=e())!==null){r=f[i];if(typeof r==="undefined")s(i);if((i=e())!==null){n=f[i];if(typeof n==="undefined")s(i);t(r<<2>>>0|(n&48)>>4);if((i=e())!==null){r=f[i];if(typeof r==="undefined")if(i===61)break;else s(i);t((n&15)<<4>>>0|(r&60)>>2);if((i=e())!==null){n=f[i];if(typeof n==="undefined")if(i===61)break;else s(i);t((r&3)<<6>>>0|n)}}}}};e.test=function(e){return/^(?:[A-Za-z0-9+/]{4}
1)*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)};return e}(),u=(f.toBase64=function(e,t){if(typeof e==="undefined")e=this.offset;if(typeof t==="undefined")t=this.limit;e=e|0;t=t|0;if(e<0||t>this.capacity||e>t)throw RangeError("begin, end");var i;h.encode(function(){return e<t?this.view[e++]:null}.bind(this),i=l());return i()},d.fromBase64=function(e,t){if(typeof e!=="string")throw TypeError("str");var i=new d(e.length/4*3,t),r=0;h.decode(o(e),function(e){i.view[r++]=e});i.limit=r;return i},d.btoa=function(e){return d.fromBinary(e).toBase64()},d.atob=function(e){return d.fromBase64(e).toBinary()},f.toBinary=function(e,t){if(typeof e==="undefined")e=this.offset;if(typeof t==="undefined")t=this.limit;e|=0;t|=0;if(e<0||t>this.capacity()||e>t)throw RangeError("begin, end");if(e===t)return"";var i=[],r=[];while(e<t){i.push(this.view[e++]);if(i.length>=1024)r.push(String.fromCharCode.apply(String,i)),i=[]}return r.join("")+String.fromCharCode.apply(String,i)},d.fromBinary=function(e,t){if(typeof e!=="string")throw TypeError("str");var i=0,r=e.length,n,s=new d(r,t);while(i<r){n=e.charCodeAt(i);if(n>255)throw RangeError("illegal char code: "+n);s.view[i++]=n}s.limit=r;return s},f.toDebug=function(e){var t=-1,i=this.buffer.byteLength,r,n="",s="",f="";while(t<i){if(t!==-1){r=this.view[t];if(r<16)n+="0"+r.toString(16).toUpperCase();else n+=r.toString(16).toUpperCase();if(e)s+=r>32&&r<127?String.fromCharCode(r):"."}++t;if(e)if(t>0&&t%16===0&&t!==i){while(n.length<3*16+3)n+=" ";f+=n+s+"\n";n=s=""}if(t===this.offset&&t===this.limit)n+=t===this.markedOffset?"!":"|";else if(t===this.offset)n+=t===this.markedOffset?"[":"<";else if(t===this.limit)n+=t===this.markedOffset?"]":">";else n+=t===this.markedOffset?"'":e||t!==0&&t!==i?" ":""}if(e&&n!==" "){while(n.length<3*16+3)n+=" ";f+=n+s+"\n"}return e?f:n},d.fromDebug=function(e,t,i){var r=e.length,n=new d((r+1)/3|0,t,i);var s=0,f=0,o,a,l=false,h=false,u=false,c=false,p=false;while(s<r){switch(o=e.charAt(s++)){case"!":if(!i){if(h||u||c){p=true;break}h=u=c=true}n.offset=n.markedOffset=n.limit=f;l=false;break;case"|":if(!i){if(h||c){p=true;break}h=c=true}n.offset=n.limit=f;l=false;break;case"[":if(!i){if(h||u){p=true;break}h=u=true}n.offset=n.markedOffset=f;l=false;break;case"<":if(!i){if(h){p=true;break}h=true}n.offset=f;l=false;break;case"]":if(!i){if(c||u){p=true;break}c=u=true}n.limit=n.markedOffset=f;l=false;break;case">":if(!i){if(c){p=true;break}c=true}n.limit=f;l=false;break;case"'":if(!i){if(u){p=true;break}u=true}n.markedOffset=f;l=false;break;case" ":l=false;break;default:if(!i)if(l){p=true;break}a=parseInt(o+e.charAt(s++),16);if(!i)if(isNaN(a)||a<0||a>255)throw TypeError("Illegal str: Not a debug encoded string");n.view[f++]=a;l=true}if(p)throw TypeError("Illegal str: Invalid symbol at "+s)}if(!i){if(!h||!c)throw TypeError("Illegal str: Missing offset or limit");if(f<n.buffer.byteLength)throw TypeError("Illegal str: Not a debug encoded string (is it hex?) "+f+" < "+r)}return n},f.toHex=function(e,t){e=typeof e==="undefined"?this.offset:e;t=typeof t==="undefined"?this.limit:t;if(!this.noAssert){if(typeof e!=="number"||e%1!==0)throw TypeError("Illegal begin: Not an integer");e>>>=0;if(typeof t!=="number"||t%1!==0)throw TypeError("Illegal end: Not an integer");t>>>=0;if(e<0||e>t||t>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+e+" <= "+t+" <= "+this.buffer.byteLength)}var i=new Array(t-e),r;while(e<t){r=this.view[e++];if(r<16)i.push("0",r.toString(16));else i.push(r.toString(16))}return i.join("")},d.fromHex=function(e,t,i){if(!i){if(typeof e!=="string")throw TypeError("Illegal str: Not a string");if(e.length%2!==0)throw TypeError("Illegal str: Length not a multiple of 2")}var r=e.length,n=new d(r/2|0,t),s;for(var f=0,o=0;f<r;f+=2){s=parseInt(e.substring(f,f+2),16);if(!i)if(!isFinite(s)||s<0||s>255)throw TypeError("Illegal str: Contains non-hex characters");n.view[o++]=s}n.limit=o;return n},function(){"use strict";var r={};r.MAX_CODEPOINT=1114111;r.encodeUTF8=function(e,t){var i=null;if(typeof e==="number")i=e,e=function(){return null};while(i!==null||(i=e())!==null){if(i<128)t(i&127);else if(i<2048)t(i>>6&31|192),t(i&63|128);else if(i<65536)t(i>>12&15|224),t(i>>6&63|128),t(i&63|128);else t(i>>18&7|240),t(i>>12&63|128),t(i>>6&63|128),t(i&63|128);i=null}};r.decodeUTF8=function(e,t){var i,r,n,s,f=function(e){e=e.slice(0,e.indexOf(null));var t=Error(e.toString());t.name="TruncatedError";t["bytes"]=e;throw t};while((i=e())!==null)if((i&128)===0)t(i);else if((i&224)===192)(r=e())===null&&f([i,r]),t((i&31)<<6|r&63);else if((i&240)===224)((r=e())===null||(n=e())===null)&&f([i,r,n]),t((i&15)<<12|(r&63)<<6|n&63);else if((i&248)===240)((r=e())===null||(n=e())===null||(s=e())===null)&&f([i,r,n,s]),t((i&7)<<18|(r&63)<<12|(n&63)<<6|s&63);else throw RangeError("Illegal starting byte: "+i)};r.UTF16toUTF8=function(e,t){var i,r=null;while(true){if((i=r!==null?r:e())===null)break;
1if(i>=55296&&i<=57343)if((r=e())!==null)if(r>=56320&&r<=57343){t((i-55296)*1024+r-56320+65536);r=null;continue}t(i)}if(r!==null)t(r)};r.UTF8toUTF16=function(e,t){var i=null;if(typeof e==="number")i=e,e=function(){return null};while(i!==null||(i=e())!==null){if(i<=65535)t(i);else i-=65536,t((i>>10)+55296),t(i%1024+56320);i=null}};r.encodeUTF16toUTF8=function(e,t){r.UTF16toUTF8(e,function(e){r.encodeUTF8(e,t)})};r.decodeUTF8toUTF16=function(e,t){r.decodeUTF8(e,function(e){r.UTF8toUTF16(e,t)})};r.calculateCodePoint=function(e){return e<128?1:e<2048?2:e<65536?3:4};r.calculateUTF8=function(e){var t,i=0;while((t=e())!==null)i+=t<128?1:t<2048?2:t<65536?3:4;return i};r.calculateUTF16asUTF8=function(e){var t=0,i=0;r.UTF16toUTF8(e,function(e){++t;i+=e<128?1:e<2048?2:e<65536?3:4});return[t,i]};return r}());return f.toUTF8=function(t,i){if(typeof t==="undefined")t=this.offset;if(typeof i==="undefined")i=this.limit;if(!this.noAssert){if(typeof t!=="number"||t%1!==0)throw TypeError("Illegal begin: Not an integer");t>>>=0;if(typeof i!=="number"||i%1!==0)throw TypeError("Illegal end: Not an integer");i>>>=0;if(t<0||t>i||i>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+t+" <= "+i+" <= "+this.buffer.byteLength)}var e;try{u.decodeUTF8toUTF16(function(){return t<i?this.view[t++]:null}.bind(this),e=l())}catch(e){if(t!==i)throw RangeError("Illegal range: Truncated data, "+t+" != "+i)}return e()},d.fromUTF8=function(e,t,i){if(!i)if(typeof e!=="string")throw TypeError("Illegal str: Not a string");var r=new d(u.calculateUTF16asUTF8(o(e),true)[1],t,i),n=0;u.encodeUTF16toUTF8(o(e),function(e){r.view[n++]=e});r.limit=n;return r},d}(e.dcodeIO.Long)}(this),function(e){(e.dcodeIO=e.dcodeIO||{}).ProtoBuf=function(R){"use strict";var n={};return n.ByteBuffer=R,n.Long=R.Long||dcodeIO.Long||null,n.VERSION="5.0.2",n.WIRE_TYPES={},n.WIRE_TYPES.VARINT=0,n.WIRE_TYPES.BITS64=1,n.WIRE_TYPES.LDELIM=2,n.WIRE_TYPES.STARTGROUP=3,n.WIRE_TYPES.ENDGROUP=4,n.WIRE_TYPES.BITS32=5,n.PACKABLE_WIRE_TYPES=[n.WIRE_TYPES.VARINT,n.WIRE_TYPES.BITS64,n.WIRE_TYPES.BITS32],n.TYPES={int32:{name:"int32",wireType:n.WIRE_TYPES.VARINT,defaultValue:0},uint32:{name:"uint32",wireType:n.WIRE_TYPES.VARINT,defaultValue:0},sint32:{name:"sint32",wireType:n.WIRE_TYPES.VARINT,defaultValue:0},int64:{name:"int64",wireType:n.WIRE_TYPES.VARINT,defaultValue:n.Long?n.Long.ZERO:undefined},uint64:{name:"uint64",wireType:n.WIRE_TYPES.VARINT,defaultValue:n.Long?n.Long.UZERO:undefined},sint64:{name:"sint64",wireType:n.WIRE_TYPES.VARINT,defaultValue:n.Long?n.Long.ZERO:undefined},bool:{name:"bool",wireType:n.WIRE_TYPES.VARINT,defaultValue:false},double:{name:"double",wireType:n.WIRE_TYPES.BITS64,defaultValue:0},string:{name:"string",wireType:n.WIRE_TYPES.LDELIM,defaultValue:""},bytes:{name:"bytes",wireType:n.WIRE_TYPES.LDELIM,defaultValue:null},fixed32:{name:"fixed32",wireType:n.WIRE_TYPES.BITS32,defaultValue:0},sfixed32:{name:"sfixed32",wireType:n.WIRE_TYPES.BITS32,defaultValue:0},fixed64:{name:"fixed64",wireType:n.WIRE_TYPES.BITS64,defaultValue:n.Long?n.Long.UZERO:undefined},sfixed64:{name:"sfixed64",wireType:n.WIRE_TYPES.BITS64,defaultValue:n.Long?n.Long.ZERO:undefined},float:{name:"float",wireType:n.WIRE_TYPES.BITS32,defaultValue:0},enum:{name:"enum",wireType:n.WIRE_TYPES.VARINT,defaultValue:0},message:{name:"message",wireType:n.WIRE_TYPES.LDELIM,defaultValue:null},group:{name:"group",wireType:n.WIRE_TYPES.STARTGROUP,defaultValue:null}},n.MAP_KEY_TYPES=[n.TYPES["int32"],n.TYPES["sint32"],n.TYPES["sfixed32"],n.TYPES["uint32"],n.TYPES["fixed32"],n.TYPES["int64"],n.TYPES["sint64"],n.TYPES["sfixed64"],n.TYPES["uint64"],n.TYPES["fixed64"],n.TYPES["bool"],n.TYPES["string"],n.TYPES["bytes"]],n.ID_MIN=1,n.ID_MAX=536870911,n.convertFieldsToCamelCase=false,n.populateAccessors=true,n.populateDefaults=true,n.Util=function(){"use strict";var n={};n.IS_NODE=!!(typeof process==="object"&&process+""==="[object process]"&&!process["browser"]);n.XHR=function(){var e=[function(){return new XMLHttpRequest},function(){return new ActiveXObject("Msxml2.XMLHTTP")},function(){return new ActiveXObject("Msxml3.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")}];var t=null;for(var i=0;i<e.length;i++){try{t=e[i]()}catch(e){continue}break}if(!t)throw Error("XMLHttpRequest is not supported");return t};n.fetch=function(e,i){if(i&&typeof i!="function")i=null;if(n.IS_NODE){var t=require("fs");if(i)t.readFile(e,function(e,t){if(e)i(null);else i(""+t)});else try{return t.readFileSync(e)}catch(e){return null}}else{var r=n.XHR();r.open("GET",e,i?true:false);r.setRequestHeader("Accept","text/plain");if(typeof r.overrideMimeType==="function")r.overrideMimeType("text/plain");if(i){r.onreadystatechange=function(){if(r.readyState!=4)return;if(r.status==200||r.status==0&&typeof r.responseText==="string")i(r.responseText);else i(null)};if(r.readyState==4)return;r.send(null)}else{r.send(null);if(r.status==200||r.status==0&&typeof r.responseText==="string")return r.responseText;return null}}};n.toCamelCase=function(e){return e.replace(/_([a-zA-Z])/g,function(e,t){return t.toUpperCase()})};return n}(),n.Lang={DELIM:/[\s\{\}=;:\[\],'"\(\)<>]/g,RULE:/^(?:required|optional|repeated|map)$/,TYPE:/^(?:double|float|int32|uint32|sint32|int64|uint64|sint64|fixed32|sfixed32|fixed64|sfixed64|bool|string|bytes)$/,NAME:/^[a-zA-Z_][a-zA-Z_0-9]*$/,TYPEDEF:/^[a-zA-Z][a-zA-Z_0-9]*$/,TYPEREF:/^(?:\.?[a-zA-Z_][a-zA-Z_0-9]*)+$/,FQTYPEREF:/^(?:\.[a-zA-Z][a-zA-Z_0-9]*)+$/,NUMBER:/^-?(?:[1-9][0-9]*|0|0[xX][0-9a-fA-F]+|0[0-7]+|([0-9]*(\.[0-9]*)?([Ee][+-]?[0-9]+)?)|inf|nan)$/,NUMBER_DEC:/^(?:[1-9][0-9]*|0)$/,NUMBER_HEX:/^0[xX][0-9a-fA-F]+$/,NUMBER_OCT:/^0[0-7]+$/,NUMBER_FLT:/^([0-9]*(\.[0-9]*)?([Ee][+-]?[0-9]+)?|inf|nan)$/,BOOL:/^(?:true|false)$/i,ID:/^(?:[1-9][0-9]*|0|0[xX][0-9a-fA-F]+|0[0-7]+)$/,NEGID:/^\-?(?:[1-9][0-9]*|0|0[xX][0-9a-fA-F]+|0[0-7]+)$/,WHITESPACE:/\s/,STRING:/(?:"([^"\\]*(?:\\.[^"\\]*)*)")|(?:'([^'\\]*(?:\\.[^'\\]*)*)')/g,STRING_DQ:/(?:"([^"\\]*(?:\\.[^"\\]*)*)")/g,STRING_SQ:/(?:'([^'\\]*(?:\\.[^'\\]*)*)')/g},n.DotProto=function(n,f){"use strict";var e={};var t=function(e){this.source=e+"";this.index=0;this.line=1;this.stack=[];this._stringOpen=null};var i=t.prototype;i._readString=function(){var e=this._stringOpen==='"'?f.STRING_DQ:f.STRING_SQ;e.lastIndex=this.index-1;var t=e.exec(this.source);if(!t)throw Error("unterminated string");this.index=e.lastIndex;this.stack.push(this._stringOpen);this._stringOpen=null;return t[1]};i.next=function(){if(this.stack.length>0)return this.stack.shift();if(this.index>=this.source.length)return null;if(this._stringOpen!==null)return this._readString();var e,t,i;do{e=false;while(f.WHITESPACE.test(i=this.source.charAt(this.index))){if(i==="\n")++this.line;if(++this.index===this.source.length)return null}if(this.source.charAt(this.index)==="/"){++this.index;if(this.source.charAt(this.index)==="/"){while(this.source.charAt(++this.index)!=="\n")if(this.index==this.source.length)return null;++this.index;++this.line;e=true}else if((i=this.source.charAt(this.index))==="*"){do{if(i==="\n")++this.line;if(++this.index===this.source.length)return null;t=i;i=this.source.charAt(this.index)}while(t!=="*"||i!=="/");++this.index;e=true}else return"/"}}while(e);
1if(this.index===this.source.length)return null;var r=this.index;f.DELIM.lastIndex=0;var n=f.DELIM.test(this.source.charAt(r++));if(!n)while(r<this.source.length&&!f.DELIM.test(this.source.charAt(r)))++r;var s=this.source.substring(this.index,this.index=r);if(s==='"'||s==="'")this._stringOpen=s;return s};i.peek=function(){if(this.stack.length===0){var e=this.next();if(e===null)return null;this.stack.push(e)}return this.stack[0]};i.skip=function(e){var t=this.next();if(t!==e)throw Error("illegal '"+t+"', '"+e+"' expected")};i.omit=function(e){if(this.peek()===e){this.next();return true}return false};i.toString=function(){return"Tokenizer ("+this.index+"/"+this.source.length+" at line "+this.line+")"};e.Tokenizer=t;var r=function(e){this.tn=new t(e);this.proto3=false};var s=r.prototype;s.parse=function(){var e={name:"[ROOT]",package:null,messages:[],enums:[],imports:[],options:{},services:[]};var t,i=true,r;try{while(t=this.tn.next())switch(t){case"package":if(!i||e["package"]!==null)throw Error("unexpected 'package'");t=this.tn.next();if(!f.TYPEREF.test(t))throw Error("illegal package name: "+t);this.tn.skip(";");e["package"]=t;break;case"import":if(!i)throw Error("unexpected 'import'");t=this.tn.peek();if(t==="public"||(r=t==="weak"))this.tn.next();t=this._readString();this.tn.skip(";");if(!r)e["imports"].push(t);break;case"syntax":if(!i)throw Error("unexpected 'syntax'");this.tn.skip("=");if((e["syntax"]=this._readString())==="proto3")this.proto3=true;this.tn.skip(";");break;case"message":this._parseMessage(e,null);i=false;break;case"enum":this._parseEnum(e);i=false;break;case"option":this._parseOption(e);break;case"service":this._parseService(e);break;case"extend":this._parseExtend(e);break;default:throw Error("unexpected '"+t+"'")}}catch(e){e.message="Parse error at line "+this.tn.line+": "+e.message;throw e}delete e["name"];return e};r.parse=function(e){return new r(e).parse()};function o(e,t){var i=-1,r=1;if(e.charAt(0)=="-"){r=-1;e=e.substring(1)}if(f.NUMBER_DEC.test(e))i=parseInt(e);else if(f.NUMBER_HEX.test(e))i=parseInt(e.substring(2),16);else if(f.NUMBER_OCT.test(e))i=parseInt(e.substring(1),8);else throw Error("illegal id value: "+(r<0?"-":"")+e);i=r*i|0;if(!t&&i<0)throw Error("illegal id value: "+(r<0?"-":"")+e);return i}function a(e){var t=1;if(e.charAt(0)=="-"){t=-1;e=e.substring(1)}if(f.NUMBER_DEC.test(e))return t*parseInt(e,10);else if(f.NUMBER_HEX.test(e))return t*parseInt(e.substring(2),16);else if(f.NUMBER_OCT.test(e))return t*parseInt(e.substring(1),8);else if(e==="inf")return t*Infinity;else if(e==="nan")return NaN;else if(f.NUMBER_FLT.test(e))return t*parseFloat(e);throw Error("illegal number value: "+(t<0?"-":"")+e)}s._readString=function(){var e="",t,i;do{i=this.tn.next();if(i!=="'"&&i!=='"')throw Error("illegal string delimiter: "+i);e+=this.tn.next();this.tn.skip(i);t=this.tn.peek()}while(t==='"'||t==='"');return e};s._readValue=function(e){var t=this.tn.peek(),i;if(t==='"'||t==="'")return this._readString();this.tn.next();if(f.NUMBER.test(t))return a(t);if(f.BOOL.test(t))return t.toLowerCase()==="true";if(e&&f.TYPEREF.test(t))return t;throw Error("illegal value: "+t)};s._parseOption=function(e,t){var i=this.tn.next(),r=false;if(i==="("){r=true;i=this.tn.next()}if(!f.TYPEREF.test(i))throw Error("illegal option name: "+i);var n=i;if(r){this.tn.skip(")");n="("+n+")";i=this.tn.peek();if(f.FQTYPEREF.test(i)){n+=i;this.tn.next()}}this.tn.skip("=");this._parseOptionValue(e,n);if(!t)this.tn.skip(";")};function l(e,t,i){if(typeof e[t]==="undefined")e[t]=i;else{if(!Array.isArray(e[t]))e[t]=[e[t]];e[t].push(i)}}s._parseOptionValue=function(e,t){var i=this.tn.peek();if(i!=="{")l(e["options"],t,this._readValue(true));else{this.tn.skip("{");while((i=this.tn.next())!=="}"){if(!f.NAME.test(i))throw Error("illegal option name: "+t+"."+i);if(this.tn.omit(":"))l(e["options"],t+"."+i,this._readValue(true));else this._parseOptionValue(e,t+"."+i)}}};s._parseService=function(e){var t=this.tn.next();if(!f.NAME.test(t))throw Error("illegal service name at line "+this.tn.line+": "+t);var i=t;var r={name:i,rpc:{},options:{}};this.tn.skip("{");while((t=this.tn.next())!=="}")if(t==="option")this._parseOption(r);
1else if(t==="rpc")this._parseServiceRPC(r);else throw Error("illegal service token: "+t);this.tn.omit(";");e["services"].push(r)};s._parseServiceRPC=function(e){var t="rpc",i=this.tn.next();if(!f.NAME.test(i))throw Error("illegal rpc service method name: "+i);var r=i;var n={request:null,response:null,request_stream:false,response_stream:false,options:{}};this.tn.skip("(");i=this.tn.next();if(i.toLowerCase()==="stream"){n["request_stream"]=true;i=this.tn.next()}if(!f.TYPEREF.test(i))throw Error("illegal rpc service request type: "+i);n["request"]=i;this.tn.skip(")");i=this.tn.next();if(i.toLowerCase()!=="returns")throw Error("illegal rpc service request type delimiter: "+i);this.tn.skip("(");i=this.tn.next();if(i.toLowerCase()==="stream"){n["response_stream"]=true;i=this.tn.next()}n["response"]=i;this.tn.skip(")");i=this.tn.peek();if(i==="{"){this.tn.next();while((i=this.tn.next())!=="}")if(i==="option")this._parseOption(n);else throw Error("illegal rpc service token: "+i);this.tn.omit(";")}else this.tn.skip(";");if(typeof e[t]==="undefined")e[t]={};e[t][r]=n};s._parseMessage=function(e,t){var i=!!t,r=this.tn.next();var n={name:"",fields:[],enums:[],messages:[],options:{},services:[],oneofs:{}};if(!f.NAME.test(r))throw Error("illegal "+(i?"group":"message")+" name: "+r);n["name"]=r;if(i){this.tn.skip("=");t["id"]=o(this.tn.next());n["isGroup"]=true}r=this.tn.peek();if(r==="["&&t)this._parseFieldOptions(t);this.tn.skip("{");while((r=this.tn.next())!=="}")if(f.RULE.test(r))this._parseMessageField(n,r);else if(r==="oneof")this._parseMessageOneOf(n);else if(r==="enum")this._parseEnum(n);else if(r==="message")this._parseMessage(n);else if(r==="option")this._parseOption(n);else if(r==="service")this._parseService(n);else if(r==="extensions")if(n.hasOwnProperty("extensions"))n["extensions"]=n["extensions"].concat(this._parseExtensionRanges());else n["extensions"]=this._parseExtensionRanges();else if(r==="reserved")this._parseIgnored();else if(r==="extend")this._parseExtend(n);else if(f.TYPEREF.test(r)){if(!this.proto3)throw Error("illegal field rule: "+r);this._parseMessageField(n,"optional",r)}else throw Error("illegal message token: "+r);this.tn.omit(";");e["messages"].push(n);return n};s._parseIgnored=function(){while(this.tn.peek()!==";")this.tn.next();this.tn.skip(";")};s._parseMessageField=function(e,t,i){if(!f.RULE.test(t))throw Error("illegal message field rule: "+t);var r={rule:t,type:"",name:"",options:{},id:0};var n;if(t==="map"){if(i)throw Error("illegal type: "+i);this.tn.skip("<");n=this.tn.next();if(!f.TYPE.test(n)&&!f.TYPEREF.test(n))throw Error("illegal message field type: "+n);r["keytype"]=n;this.tn.skip(",");n=this.tn.next();if(!f.TYPE.test(n)&&!f.TYPEREF.test(n))throw Error("illegal message field: "+n);r["type"]=n;this.tn.skip(">");n=this.tn.next();if(!f.NAME.test(n))throw Error("illegal message field name: "+n);r["name"]=n;this.tn.skip("=");r["id"]=o(this.tn.next());n=this.tn.peek();if(n==="[")this._parseFieldOptions(r);this.tn.skip(";")}else{i=typeof i!=="undefined"?i:this.tn.next();if(i==="group"){var s=this._parseMessage(e,r);if(!/^[A-Z]/.test(s["name"]))throw Error("illegal group name: "+s["name"]);r["type"]=s["name"];r["name"]=s["name"].toLowerCase();this.tn.omit(";")}else{if(!f.TYPE.test(i)&&!f.TYPEREF.test(i))throw Error("illegal message field type: "+i);r["type"]=i;n=this.tn.next();if(!f.NAME.test(n))throw Error("illegal message field name: "+n);r["name"]=n;this.tn.skip("=");r["id"]=o(this.tn.next());n=this.tn.peek();if(n==="[")this._parseFieldOptions(r);this.tn.skip(";")}}e["fields"].push(r);return r};s._parseMessageOneOf=function(e){var t=this.tn.next();if(!f.NAME.test(t))throw Error("illegal oneof name: "+t);var i=t,r;var n=[];this.tn.skip("{");while((t=this.tn.next())!=="}"){r=this._parseMessageField(e,"optional",t);r["oneof"]=i;n.push(r["id"])}this.tn.omit(";");e["oneofs"][i]=n};s._parseFieldOptions=function(e){this.tn.skip("[");var t,i=true;while((t=this.tn.peek())!=="]"){if(!i)this.tn.skip(",");this._parseOption(e,true);i=false}this.tn.next()};s._parseEnum=function(e){var t={name:"",values:[],options:{}};var i=this.tn.next();if(!f.NAME.test(i))throw Error("illegal name: "+i);t["name"]=i;this.tn.skip("{");while((i=this.tn.next())!=="}")if(i==="option")this._parseOption(t);else{if(!f.NAME.test(i))throw Error("illegal name: "+i);this.tn.skip("=");
1var r={name:i,id:o(this.tn.next(),true)};i=this.tn.peek();if(i==="[")this._parseFieldOptions({options:{}});this.tn.skip(";");t["values"].push(r)}this.tn.omit(";");e["enums"].push(t)};s._parseExtensionRanges=function(){var e=[];var t,i,r;do{i=[];while(true){t=this.tn.next();switch(t){case"min":r=n.ID_MIN;break;case"max":r=n.ID_MAX;break;default:r=a(t);break}i.push(r);if(i.length===2)break;if(this.tn.peek()!=="to"){i.push(r);break}this.tn.next()}e.push(i)}while(this.tn.omit(","));this.tn.skip(";");return e};s._parseExtend=function(e){var t=this.tn.next();if(!f.TYPEREF.test(t))throw Error("illegal extend reference: "+t);var i={ref:t,fields:[]};this.tn.skip("{");while((t=this.tn.next())!=="}")if(f.RULE.test(t))this._parseMessageField(i,t);else if(f.TYPEREF.test(t)){if(!this.proto3)throw Error("illegal field rule: "+t);this._parseMessageField(i,"optional",t)}else throw Error("illegal extend token: "+t);this.tn.omit(";");e["messages"].push(i);return i};s.toString=function(){return"Parser at line "+this.tn.line};e.Parser=r;return e}(n,n.Lang),n.Reflect=function(g){"use strict";var f={};var h=function(e,t,i){this.builder=e;this.parent=t;this.name=i;this.className};var e=h.prototype;e.fqn=function(){var e=this.name,t=this;do{t=t.parent;if(t==null)break;e=t.name+"."+e}while(true);return e};e.toString=function(e){return(e?this.className+" ":"")+this.fqn()};e.build=function(){throw Error(this.toString(true)+" cannot be built directly")};f.T=h;var o=function(e,t,i,r,n){h.call(this,e,t,i);this.className="Namespace";this.children=[];this.options=r||{};this.syntax=n||"proto2"};var t=o.prototype=Object.create(h.prototype);t.getChildren=function(e){e=e||null;if(e==null)return this.children.slice();var t=[];for(var i=0,r=this.children.length;i<r;++i)if(this.children[i]instanceof e)t.push(this.children[i]);return t};t.addChild=function(e){var t;if(t=this.getChild(e.name))if(t instanceof c.Field&&t.name!==t.originalName&&this.getChild(t.originalName)===null)t.name=t.originalName;else if(e instanceof c.Field&&e.name!==e.originalName&&this.getChild(e.originalName)===null)e.name=e.originalName;else throw Error("Duplicate name in namespace "+this.toString(true)+": "+e.name);this.children.push(e)};t.getChild=function(e){var t=typeof e==="number"?"id":"name";for(var i=0,r=this.children.length;i<r;++i)if(this.children[i][t]===e)return this.children[i];return null};t.resolve=function(e,t){var i=typeof e==="string"?e.split("."):e,r=this,n=0;if(i[n]===""){while(r.parent!==null)r=r.parent;n++}var s;do{do{if(!(r instanceof f.Namespace)){r=null;break}s=r.getChild(i[n]);if(!s||!(s instanceof f.T)||t&&!(s instanceof f.Namespace)){r=null;break}r=s;n++}while(n<i.length);if(r!=null)break;if(this.parent!==null)return this.parent.resolve(e,t)}while(r!=null);return r};t.qn=function(e){var t=[],i=e;do{t.unshift(i.name);i=i.parent}while(i!==null);for(var r=1;r<=t.length;r++){var n=t.slice(t.length-r);if(e===this.resolve(n,e instanceof f.Namespace))return n.join(".")}return e.fqn()};t.build=function(){var e={};var t=this.children;for(var i=0,r=t.length,n;i<r;++i){n=t[i];if(n instanceof o)e[n.name]=n.build()}if(Object.defineProperty)Object.defineProperty(e,"$options",{value:this.buildOpt()});return e};t.buildOpt=function(){var e={},t=Object.keys(this.options);for(var i=0,r=t.length;i<r;++i){var n=t[i],s=this.options[t[i]];e[n]=s}return e};t.getOption=function(e){if(typeof e==="undefined")return this.options;return typeof this.options[e]!=="undefined"?this.options[e]:null};f.Namespace=o;var u=function(e,t,i,r,n){this.type=e;this.resolvedType=t;this.isMapKey=i;this.syntax=r;this.name=n;if(i&&g.MAP_KEY_TYPES.indexOf(e)<0)throw Error("Invalid map key type: "+e.name)};var i=u.prototype;function r(e){if(typeof e==="string")e=g.TYPES[e];if(typeof e.defaultValue==="undefined")throw Error("default value for type "+e.name+" is not supported");if(e==g.TYPES["bytes"])return new R(0);return e.defaultValue}u.defaultFieldValue=r;function a(e,t){if(e&&typeof e.low==="number"&&typeof e.high==="number"&&typeof e.unsigned==="boolean"&&e.low===e.low&&e.high===e.high)return new g.Long(e.low,e.high,typeof t==="undefined"?e.unsigned:t);if(typeof e==="string")return g.Long.fromString(e,t||false,10);if(typeof e==="number")return g.Long.fromNumber(e,t||false);throw Error("not convertible to Long")}i.toString=function(){return(this.name||"")+(this.isMapKey?"map":"value")+" element"};i.verifyValue=function(t){var i=this;function r(e,t){throw Error("Illegal value for "+i.toString(true)+" of type "+i.type.name+": "+e+" ("+t+")")}switch(this.type){case g.TYPES["int32"]:case g.TYPES["sint32"]:case g.TYPES["sfixed32"]:if(typeof t!=="number"||t===t&&t%1!==0)r(typeof t,"not an integer");return t>4294967295?t|0:t;case g.TYPES["uint32"]:case g.TYPES["fixed32"]:if(typeof t!=="number"||t===t&&t%1!==0)r(typeof t,"not an integer");return t<0?t>>>0:t;case g.TYPES["int64"]:case g.TYPES["sint64"]:case g.TYPES["sfixed64"]:if(g.Long)try{return a(t,false)}catch(e){r(typeof t,e.message)}
1else r(typeof t,"requires Long.js");case g.TYPES["uint64"]:case g.TYPES["fixed64"]:if(g.Long)try{return a(t,true)}catch(e){r(typeof t,e.message)}else r(typeof t,"requires Long.js");case g.TYPES["bool"]:if(typeof t!=="boolean")r(typeof t,"not a boolean");return t;case g.TYPES["float"]:case g.TYPES["double"]:if(typeof t!=="number")r(typeof t,"not a number");return t;case g.TYPES["string"]:if(typeof t!=="string"&&!(t&&t instanceof String))r(typeof t,"not a string");return""+t;case g.TYPES["bytes"]:if(R.isByteBuffer(t))return t;return R.wrap(t,"base64");case g.TYPES["enum"]:{var e=this.resolvedType.getChildren(g.Reflect.Enum.Value);for(s=0;s<e.length;s++)if(e[s].name==t)return e[s].id;else if(e[s].id==t)return e[s].id;if(this.syntax==="proto3"){if(typeof t!=="number"||t===t&&t%1!==0)r(typeof t,"not an integer");if(t>4294967295||t<0)r(typeof t,"not in range for uint32");return t}else r(t,"not a valid enum value")}case g.TYPES["group"]:case g.TYPES["message"]:{if(!t||typeof t!=="object")r(typeof t,"object expected");if(t instanceof this.resolvedType.clazz)return t;if(t instanceof g.Builder.Message){var n={};for(var s in t)if(t.hasOwnProperty(s))n[s]=t[s];t=n}return new this.resolvedType.clazz(t)}}throw Error("[INTERNAL] Illegal value for "+this.toString(true)+": "+t+" (undefined type "+this.type+")")};i.calculateLength=function(e,t){if(t===null)return 0;var i;switch(this.type){case g.TYPES["int32"]:return t<0?R.calculateVarint64(t):R.calculateVarint32(t);case g.TYPES["uint32"]:return R.calculateVarint32(t);case g.TYPES["sint32"]:return R.calculateVarint32(R.zigZagEncode32(t));case g.TYPES["fixed32"]:case g.TYPES["sfixed32"]:case g.TYPES["float"]:return 4;case g.TYPES["int64"]:case g.TYPES["uint64"]:return R.calculateVarint64(t);case g.TYPES["sint64"]:return R.calculateVarint64(R.zigZagEncode64(t));case g.TYPES["fixed64"]:case g.TYPES["sfixed64"]:return 8;case g.TYPES["bool"]:return 1;case g.TYPES["enum"]:return R.calculateVarint32(t);case g.TYPES["double"]:return 8;case g.TYPES["string"]:i=R.calculateUTF8Bytes(t);return R.calculateVarint32(i)+i;case g.TYPES["bytes"]:if(t.remaining()<0)throw Error("Illegal value for "+this.toString(true)+": "+t.remaining()+" bytes remaining");return R.calculateVarint32(t.remaining())+t.remaining();case g.TYPES["message"]:i=this.resolvedType.calculate(t);return R.calculateVarint32(i)+i;case g.TYPES["group"]:i=this.resolvedType.calculate(t);return i+R.calculateVarint32(e<<3|g.WIRE_TYPES.ENDGROUP)}throw Error("[INTERNAL] Illegal value to encode in "+this.toString(true)+": "+t+" (unknown type)")};i.encodeValue=function(e,t,i){if(t===null)return i;switch(this.type){case g.TYPES["int32"]:if(t<0)i.writeVarint64(t);else i.writeVarint32(t);break;case g.TYPES["uint32"]:i.writeVarint32(t);break;case g.TYPES["sint32"]:i.writeVarint32ZigZag(t);break;case g.TYPES["fixed32"]:i.writeUint32(t);break;case g.TYPES["sfixed32"]:i.writeInt32(t);break;case g.TYPES["int64"]:case g.TYPES["uint64"]:i.writeVarint64(t);break;case g.TYPES["sint64"]:i.writeVarint64ZigZag(t);break;case g.TYPES["fixed64"]:i.writeUint64(t);break;case g.TYPES["sfixed64"]:i.writeInt64(t);break;case g.TYPES["bool"]:if(typeof t==="string")i.writeVarint32(t.toLowerCase()==="false"?0:!!t);else i.writeVarint32(t?1:0);break;case g.TYPES["enum"]:i.writeVarint32(t);break;case g.TYPES["float"]:i.writeFloat32(t);break;case g.TYPES["double"]:i.writeFloat64(t);break;case g.TYPES["string"]:i.writeVString(t);break;case g.TYPES["bytes"]:if(t.remaining()<0)throw Error("Illegal value for "+this.toString(true)+": "+t.remaining()+" bytes remaining");var r=t.offset;i.writeVarint32(t.remaining());i.append(t);t.offset=r;break;case g.TYPES["message"]:var n=(new R).LE();this.resolvedType.encode(t,n);i.writeVarint32(n.offset);i.append(n.flip());break;case g.TYPES["group"]:this.resolvedType.encode(t,i);i.writeVarint32(e<<3|g.WIRE_TYPES.ENDGROUP);break;default:throw Error("[INTERNAL] Illegal value to encode in "+this.toString(true)+": "+t+" (unknown type)")}return i};i.decode=function(e,t,i){if(t!=this.type.wireType)throw Error("Unexpected wire type for element");var r,n;switch(this.type){case g.TYPES["int32"]:return e.readVarint32()|0;case g.TYPES["uint32"]:return e.readVarint32()>>>0;case g.TYPES["sint32"]:return e.readVarint32ZigZag()|0;case g.TYPES["fixed32"]:return e.readUint32()>>>0;case g.TYPES["sfixed32"]:return e.readInt32()|0;case g.TYPES["int64"]:return e.readVarint64();case g.TYPES["uint64"]:return e.readVarint64().toUnsigned();case g.TYPES["sint64"]:return e.readVarint64ZigZag();case g.TYPES["fixed64"]:return e.readUint64();case g.TYPES["sfixed64"]:return e.readInt64();case g.TYPES["bool"]:return!!e.readVarint32();case g.TYPES["enum"]:return e.readVarint32();case g.TYPES["float"]:return e.readFloat();case g.TYPES["double"]:return e.readDouble();case g.TYPES["string"]:return e.readVString();case g.TYPES["bytes"]:{n=e.readVarint32();if(e.remaining()<n)throw Error("Illegal number of bytes for "+this.toString(true)+": "+n+" required but got only "+e.remaining());r=e.clone();r.limit=r.offset+n;e.offset+=n;return r}case g.TYPES["message"]:{n=e.readVarint32();return this.resolvedType.decode(e,n)}case g.TYPES["group"]:return this.resolvedType.decode(e,-1,i)}throw Error("[INTERNAL] Illegal decode type")};i.valueFromString=function(e){if(!this.isMapKey)throw Error("valueFromString() called on non-map-key element");switch(this.type){case g.TYPES["int32"]:case g.TYPES["sint32"]:case g.TYPES["sfixed32"]:case g.TYPES["uint32"]:case g.TYPES["fixed32"]:return this.verifyValue(parseInt(e));case g.TYPES["int64"]:case g.TYPES["sint64"]:case g.TYPES["sfixed64"]:case g.TYPES["uint64"]:case g.TYPES["fixed64"]:return this.verifyValue(e);case g.TYPES["bool"]:return e==="true";case g.TYPES["string"]:return this.verifyValue(e);case g.TYPES["bytes"]:return R.fromBinary(e)}};i.valueToString=function(e){if(!this.isMapKey)throw Error("valueToString() called on non-map-key element");
1if(this.type===g.TYPES["bytes"])return e.toString("binary");else return e.toString()};f.Element=u;var c=function(e,t,i,r,n,s){o.call(this,e,t,i,r,s);this.className="Message";this.extensions=undefined;this.clazz=null;this.isGroup=!!n;this._fields=null;this._fieldsById=null;this._fieldsByName=null};var n=c.prototype=Object.create(o.prototype);n.build=function(e){if(this.clazz&&!e)return this.clazz;var t=function(u,f){var o=f.getChildren(u.Reflect.Message.Field),a=f.getChildren(u.Reflect.Message.OneOf);var l=function(e,t){u.Builder.Message.call(this);for(var i=0,r=a.length;i<r;++i)this[a[i].name]=null;for(i=0,r=o.length;i<r;++i){var n=o[i];this[n.name]=n.repeated?[]:n.map?new u.Map(n):null;if((n.required||f.syntax==="proto3")&&n.defaultValue!==null)this[n.name]=n.defaultValue}if(arguments.length>0){var s;if(arguments.length===1&&e!==null&&typeof e==="object"&&(typeof e.encode!=="function"||e instanceof l)&&!Array.isArray(e)&&!(e instanceof u.Map)&&!R.isByteBuffer(e)&&!(e instanceof ArrayBuffer)&&!(u.Long&&e instanceof u.Long))this.$set(e);else for(i=0,r=arguments.length;i<r;++i)if(typeof(s=arguments[i])!=="undefined")this.$set(o[i].name,s)}};var s=l.prototype=Object.create(u.Builder.Message.prototype);s.add=function(e,t,i){var r=f._fieldsByName[e];if(!i){if(!r)throw Error(this+"#"+e+" is undefined");if(!(r instanceof u.Reflect.Message.Field))throw Error(this+"#"+e+" is not a field: "+r.toString(true));if(!r.repeated)throw Error(this+"#"+e+" is not a repeated field");t=r.verifyValue(t,true)}if(this[e]===null)this[e]=[];this[e].push(t);return this};s.$add=s.add;s.set=function(e,t,i){if(e&&typeof e==="object"){i=t;for(var r in e)if(e.hasOwnProperty(r)&&typeof(t=e[r])!=="undefined"&&f._oneofsByName[r]===undefined)this.$set(r,t,i);return this}var n=f._fieldsByName[e];if(!i){if(!n)throw Error(this+"#"+e+" is not a field: undefined");if(!(n instanceof u.Reflect.Message.Field))throw Error(this+"#"+e+" is not a field: "+n.toString(true));this[n.name]=t=n.verifyValue(t)}else this[e]=t;if(n&&n.oneof){var s=this[n.oneof.name];if(t!==null){if(s!==null&&s!==n.name)this[s]=null;this[n.oneof.name]=n.name}else if(s===e)this[n.oneof.name]=null}return this};s.$set=s.set;s.get=function(e,t){if(t)return this[e];var i=f._fieldsByName[e];if(!i||!(i instanceof u.Reflect.Message.Field))throw Error(this+"#"+e+" is not a field: undefined");if(!(i instanceof u.Reflect.Message.Field))throw Error(this+"#"+e+" is not a field: "+i.toString(true));return this[i.name]};s.$get=s.get;for(var e=0;e<o.length;e++){var t=o[e];if(t instanceof u.Reflect.Message.ExtensionField)continue;if(f.builder.options["populateAccessors"])(function(i){var e=i.originalName.replace(/(_[a-zA-Z])/g,function(e){return e.toUpperCase().replace("_","")});e=e.substring(0,1).toUpperCase()+e.substring(1);var t=i.originalName.replace(/([A-Z])/g,function(e){return"_"+e});var r=function(e,t){this[i.name]=t?e:i.verifyValue(e);return this};var n=function(){return this[i.name]};if(f.getChild("set"+e)===null)s["set"+e]=r;if(f.getChild("set_"+t)===null)s["set_"+t]=r;if(f.getChild("get"+e)===null)s["get"+e]=n;if(f.getChild("get_"+t)===null)s["get_"+t]=n})(t)}s.encode=function(t,e){if(typeof t==="boolean")e=t,t=undefined;var i=false;if(!t)t=new R,i=true;var r=t.littleEndian;try{f.encode(this,t.LE(),e);return(i?t.flip():t).LE(r)}catch(e){t.LE(r);throw e}};l.encode=function(e,t,i){return new l(e).encode(t,i)};s.calculate=function(){return f.calculate(this)};s.encodeDelimited=function(e,t){var i=false;if(!e)e=new R,i=true;var r=(new R).LE();f.encode(this,r,t).flip();e.writeVarint32(r.remaining());e.append(r);return i?e.flip():e};s.encodeAB=function(){try{return this.encode().toArrayBuffer()}catch(e){if(e["encoded"])e["encoded"]=e["encoded"].toArrayBuffer();throw e}};s.byte=s.encodeAB;s.encodeNB=function(){try{return this.encode().toBuffer()}catch(e){if(e["encoded"])e["encoded"]=e["encoded"].toBuffer();throw e}};s.toBuffer=s.encodeNB;s.encode64=function(){try{return this.encode().toBase64()}catch(e){if(e["encoded"])e["encoded"]=e["encoded"].toBase64();throw e}};s.toBase64=s.encode64;s.encodeHex=function(){try{return this.encode().toHex()}catch(e){if(e["encoded"])e["encoded"]=e["encoded"].toHex();throw e}};s.toHex=s.encodeHex;function c(e,i,r,n){if(e===null||typeof e!=="object"){if(n&&n instanceof u.Reflect.Enum){var t=u.Reflect.Enum.getName(n.object,e);if(t!==null)return t}return e}if(R.isByteBuffer(e))return i?e.toBase64():e.toBuffer();if(u.Long.isLong(e))return r?e.toString():u.Long.fromValue(e);var s;if(Array.isArray(e)){s=[];e.forEach(function(e,t){s[t]=c(e,i,r,n)});return s}s={};if(e instanceof u.Map){var f=e.entries();for(var o=f.next();!o.done;o=f.next())s[e.keyElem.valueToString(o.value[0])]=c(o.value[1],i,r,e.valueElem.resolvedType);return s}var a=e.$type,l=undefined;for(var h in e)if(e.hasOwnProperty(h))if(a&&(l=a.getChild(h)))s[h]=c(e[h],i,r,l.resolvedType);else s[h]=c(e[h],i,r);return s}s.toRaw=function(e,t){return c(this,!!e,!!t,this.$type)};function p(e,i,r,n){if(e===null||typeof e!=="object"){if(n&&n instanceof u.Reflect.Enum){var t=u.Reflect.Enum.getName(n.object,e);if(t!==null)return t}return e}if(R.isByteBuffer(e))if(i)return d(e.toString("binary"));else return e.toBuffer();if(u.Long.isLong(e))return r?e.toNumber():u.Long.fromValue(e);var s;if(Array.isArray(e)){s=[];e.forEach(function(e,t){s[t]=p(e,i,r,n)});return s}s={};if(e instanceof u.Map){var f=e.entries();for(var o=f.next();!o.done;o=f.next())s[e.keyElem.valueToString(o.value[0])]=p(o.value[1],i,r,e.valueElem.resolvedType);return s}var a=e.$type,l=undefined;for(var h in e)if(e.hasOwnProperty(h))if(a&&(l=a.getChild(h)))s[h]=p(e[h],i,r,l.resolvedType);else s[h]=p(e[h],i,r);return s}function d(e){if(!e)return"";e=String(e);let t="";let i=0;let r=0;let n=r;let s=r;while(i<e.length){r=e.charCodeAt(i);if(r<128){t+=String.fromCharCode(r);i++}else if(r>191&&r<224){n=e.charCodeAt(i+1);t+=String.fromCharCode((r&31)<<6|n&63);i+=2}else{n=e.charCodeAt(i+1);s=e.charCodeAt(i+2);t+=String.fromCharCode((r&15)<<12|(n&63)<<6|s&63);i+=3}}return t}s.toRawDefault=function(e,t){return p(this,!!e,!!t,this.$type)};s.encodeJSON=function(){return JSON.stringify(c(this,true,true,this.$type))};
1l.decode=function(t,e,i){if(typeof e==="string")i=e,e=-1;if(typeof t==="string")t=R.wrap(t,i?i:"base64");else if(!R.isByteBuffer(t))t=R.wrap(t);var r=t.littleEndian;try{var n=f.decode(t.LE(),e);t.LE(r);return n}catch(e){t.LE(r);throw e}};l.decodeDelimited=function(t,e){if(typeof t==="string")t=R.wrap(t,e?e:"base64");else if(!R.isByteBuffer(t))t=R.wrap(t);if(t.remaining()<1)return null;var i=t.offset,r=t.readVarint32();if(t.remaining()<r){t.offset=i;return null}try{var n=f.decode(t.slice(t.offset,t.offset+r).LE());t.offset+=r;return n}catch(e){t.offset+=r;throw e}};l.decode64=function(e){return l.decode(e,"base64")};l.decodeHex=function(e){return l.decode(e,"hex")};l.decodeJSON=function(e){return new l(JSON.parse(e))};s.toString=function(){return f.toString()};var i;var r;var n;var h;if(Object.defineProperty)Object.defineProperty(l,"$options",{value:f.buildOpt()}),Object.defineProperty(s,"$options",{value:l["$options"]}),Object.defineProperty(l,"$type",{value:f}),Object.defineProperty(s,"$type",{value:f});return l}(g,this);this._fields=[];this._fieldsById={};this._fieldsByName={};this._oneofsByName={};for(var i=0,r=this.children.length,n;i<r;i++){n=this.children[i];if(n instanceof v||n instanceof c||n instanceof b){if(t.hasOwnProperty(n.name))throw Error("Illegal reflect child of "+this.toString(true)+": "+n.toString(true)+" cannot override static property '"+n.name+"'");t[n.name]=n.build()}else if(n instanceof c.Field)n.build(),this._fields.push(n),this._fieldsById[n.id]=n,this._fieldsByName[n.name]=n;else if(n instanceof c.OneOf)this._oneofsByName[n.name]=n;else if(!(n instanceof c.OneOf)&&!(n instanceof m))throw Error("Illegal reflect child of "+this.toString(true)+": "+this.children[i].toString(true))}return this.clazz=t};n.encode=function(e,t,i){var r=null,n;for(var s=0,f=this._fields.length,o;s<f;++s){n=this._fields[s];o=e[n.name];if(n.required&&o===null){if(r===null)r=n}else n.encode(i?o:n.verifyValue(o),t,e)}if(r!==null){var a=Error("Missing at least one required field for "+this.toString(true)+": "+r);a["encoded"]=t;throw a}return t};n.calculate=function(e){for(var t=0,i=0,r=this._fields.length,n,s;i<r;++i){n=this._fields[i];s=e[n.name];if(n.required&&s===null)throw Error("Missing at least one required field for "+this.toString(true)+": "+n);else t+=n.calculate(s,e)}return t};function y(e,t){var i=t.readVarint32(),r=i&7,n=i>>>3;switch(r){case g.WIRE_TYPES.VARINT:do{i=t.readUint8()}while((i&128)===128);break;case g.WIRE_TYPES.BITS64:t.offset+=8;break;case g.WIRE_TYPES.LDELIM:i=t.readVarint32();t.offset+=i;break;case g.WIRE_TYPES.STARTGROUP:y(n,t);break;case g.WIRE_TYPES.ENDGROUP:if(n===e)return false;else throw Error("Illegal GROUPEND after unknown group: "+n+" ("+e+" expected)");case g.WIRE_TYPES.BITS32:t.offset+=4;break;default:throw Error("Illegal wire type in unknown group "+e+": "+r)}return true}n.decode=function(e,t,i){if(typeof t!=="number")t=-1;var r=e.offset,n=new this.clazz,s,f,o,a;while(e.offset<r+t||t===-1&&e.remaining()>0){s=e.readVarint32();f=s&7;o=s>>>3;if(f===g.WIRE_TYPES.ENDGROUP){if(o!==i)throw Error("Illegal group end indicator for "+this.toString(true)+": "+o+" ("+(i?i+" expected":"not a group")+")");break}if(!(a=this._fieldsById[o])){switch(f){case g.WIRE_TYPES.VARINT:e.readVarint32();break;case g.WIRE_TYPES.BITS32:e.offset+=4;break;case g.WIRE_TYPES.BITS64:e.offset+=8;break;case g.WIRE_TYPES.LDELIM:var l=e.readVarint32();e.offset+=l;break;case g.WIRE_TYPES.STARTGROUP:while(y(o,e));break;default:throw Error("Illegal wire type for unknown field "+o+" in "+this.toString(true)+"#decode: "+f)}continue}if(a.repeated&&!a.options["packed"])n[a.name].push(a.decode(f,e));else if(a.map){var h=a.decode(f,e);n[a.name].set(h[0],h[1])}else{n[a.name]=a.decode(f,e);if(a.oneof){var u=n[a.oneof.name];if(u!==null&&u!==a.name)n[u]=null;n[a.oneof.name]=a.name}}}for(var c=0,p=this._fields.length;c<p;++c){a=this._fields[c];if(n[a.name]===null)if(this.syntax==="proto3")n[a.name]=a.defaultValue;else if(a.required){var d=Error("Missing at least one required field for "+this.toString(true)+": "+a.name);d["decoded"]=n;throw d}else if(g.populateDefaults&&a.defaultValue!==null)n[a.name]=a.defaultValue}return n};
1f.Message=c;var l=function(e,t,i,r,n,s,f,o,a,l){h.call(this,e,t,s);this.className="Message.Field";this.required=i==="required";this.repeated=i==="repeated";this.map=i==="map";this.keyType=r||null;this.type=n;this.resolvedType=null;this.id=f;this.options=o||{};this.defaultValue=null;this.oneof=a||null;this.syntax=l||"proto2";this.originalName=this.name;this.element=null;this.keyElement=null;if(this.builder.options["convertFieldsToCamelCase"]&&!(this instanceof c.ExtensionField))this.name=g.Util.toCamelCase(this.name)};var s=l.prototype=Object.create(h.prototype);s.build=function(){this.element=new u(this.type,this.resolvedType,false,this.syntax,this.name);if(this.map)this.keyElement=new u(this.keyType,undefined,true,this.syntax,this.name);if(this.syntax==="proto3"&&!this.repeated&&!this.map)this.defaultValue=u.defaultFieldValue(this.type);else if(typeof this.options["default"]!=="undefined")this.defaultValue=this.verifyValue(this.options["default"])};s.verifyValue=function(e,t){t=t||false;var i=this;function r(e,t){throw Error("Illegal value for "+i.toString(true)+" of type "+i.type.name+": "+e+" ("+t+")")}if(e===null){if(this.required)r(typeof e,"required");if(this.syntax==="proto3"&&this.type!==g.TYPES["message"])r(typeof e,"proto3 field without field presence cannot be null");return null}var n;if(this.repeated&&!t){if(!Array.isArray(e))e=[e];var s=[];for(n=0;n<e.length;n++)s.push(this.element.verifyValue(e[n]));return s}if(this.map&&!t)if(!(e instanceof g.Map)){if(!(e instanceof Object))r(typeof e,"expected ProtoBuf.Map or raw object for map field");return new g.Map(this,e)}else return e;if(!this.repeated&&Array.isArray(e))r(typeof e,"no array expected");return this.element.verifyValue(e)};s.hasWirePresence=function(e,t){if(this.syntax!=="proto3")return e!==null;if(this.oneof&&t[this.oneof.name]===this.name)return true;switch(this.type){case g.TYPES["int32"]:case g.TYPES["sint32"]:case g.TYPES["sfixed32"]:case g.TYPES["uint32"]:case g.TYPES["fixed32"]:return e!==0;case g.TYPES["int64"]:case g.TYPES["sint64"]:case g.TYPES["sfixed64"]:case g.TYPES["uint64"]:case g.TYPES["fixed64"]:return e.low!==0||e.high!==0;case g.TYPES["bool"]:return e;case g.TYPES["float"]:case g.TYPES["double"]:return e!==0;case g.TYPES["string"]:return e.length>0;case g.TYPES["bytes"]:return e.remaining()>0;case g.TYPES["enum"]:return e!==0;case g.TYPES["message"]:return e!==null;default:return true}};s.encode=function(t,n,e){if(this.type===null||typeof this.type!=="object")throw Error("[INTERNAL] Unresolved type in "+this.toString(true)+": "+this.type);if(t===null||this.repeated&&t.length==0)return n;try{if(this.repeated){var i;if(this.options["packed"]&&g.PACKABLE_WIRE_TYPES.indexOf(this.type.wireType)>=0){n.writeVarint32(this.id<<3|g.WIRE_TYPES.LDELIM);n.ensureCapacity(n.offset+=1);var r=n.offset;for(i=0;i<t.length;i++)this.element.encodeValue(this.id,t[i],n);var s=n.offset-r,f=R.calculateVarint32(s);if(f>1){var o=n.slice(r,n.offset);r+=f-1;n.offset=r;n.append(o)}n.writeVarint32(s,r-f)}else for(i=0;i<t.length;i++)n.writeVarint32(this.id<<3|this.type.wireType),this.element.encodeValue(this.id,t[i],n)}else if(this.map)t.forEach(function(e,t,i){var r=R.calculateVarint32(1<<3|this.keyType.wireType)+this.keyElement.calculateLength(1,t)+R.calculateVarint32(2<<3|this.type.wireType)+this.element.calculateLength(2,e);n.writeVarint32(this.id<<3|g.WIRE_TYPES.LDELIM);n.writeVarint32(r);n.writeVarint32(1<<3|this.keyType.wireType);this.keyElement.encodeValue(1,t,n);n.writeVarint32(2<<3|this.type.wireType);this.element.encodeValue(2,e,n)},this);else if(this.hasWirePresence(t,e)){n.writeVarint32(this.id<<3|this.type.wireType);this.element.encodeValue(this.id,t,n)}}catch(e){throw Error("Illegal value for "+this.toString(true)+": "+t+" ("+e+")")}return n};s.calculate=function(t,e){t=this.verifyValue(t);if(this.type===null||typeof this.type!=="object")throw Error("[INTERNAL] Unresolved type in "+this.toString(true)+": "+this.type);if(t===null||this.repeated&&t.length==0)return 0;var n=0;try{if(this.repeated){var i,r;if(this.options["packed"]&&g.PACKABLE_WIRE_TYPES.indexOf(this.type.wireType)>=0){n+=R.calculateVarint32(this.id<<3|g.WIRE_TYPES.LDELIM);r=0;for(i=0;i<t.length;i++)r+=this.element.calculateLength(this.id,t[i]);n+=R.calculateVarint32(r);n+=r}else for(i=0;i<t.length;i++)n+=R.calculateVarint32(this.id<<3|this.type.wireType),n+=this.element.calculateLength(this.id,t[i])}else if(this.map)t.forEach(function(e,t,i){var r=R.calculateVarint32(1<<3|this.keyType.wireType)+this.keyElement.calculateLength(1,t)+R.calculateVarint32(2<<3|this.type.wireType)+this.element.calculateLength(2,e);n+=R.calculateVarint32(this.id<<3|g.WIRE_TYPES.LDELIM);n+=R.calculateVarint32(r);n+=r},this);else if(this.hasWirePresence(t,e)){n+=R.calculateVarint32(this.id<<3|this.type.wireType);n+=this.element.calculateLength(this.id,t)}}catch(e){throw Error("Illegal value for "+this.toString(true)+": "+t+" ("+e+")")}return n};s.decode=function(e,t,i){var r,n;var s=!this.map&&e==this.type.wireType||!i&&this.repeated&&this.options["packed"]&&e==g.WIRE_TYPES.LDELIM||this.map&&e==g.WIRE_TYPES.LDELIM;if(!s)throw Error("Illegal wire type for field "+this.toString(true)+": "+e+" ("+this.t
1ype.wireType+" expected)");if(e==g.WIRE_TYPES.LDELIM&&this.repeated&&this.options["packed"]&&g.PACKABLE_WIRE_TYPES.indexOf(this.type.wireType)>=0)if(!i){n=t.readVarint32();n=t.offset+n;var f=[];while(t.offset<n)f.push(this.decode(this.type.wireType,t,true));return f}if(this.map){var o=u.defaultFieldValue(this.keyType);r=u.defaultFieldValue(this.type);n=t.readVarint32();if(t.remaining()<n)throw Error("Illegal number of bytes for "+this.toString(true)+": "+n+" required but got only "+t.remaining());var a=t.clone();a.limit=a.offset+n;t.offset+=n;while(a.remaining()>0){var l=a.readVarint32();e=l&7;var h=l>>>3;if(h===1)o=this.keyElement.decode(a,e,h);else if(h===2)r=this.element.decode(a,e,h);else throw Error("Unexpected tag in map field key/value submessage")}return[o,r]}return this.element.decode(t,e,this.id)};f.Message.Field=l;var p=function(e,t,i,r,n,s,f){l.call(this,e,t,i,null,r,n,s,f);this.extension};p.prototype=Object.create(l.prototype);f.Message.ExtensionField=p;var d=function(e,t,i){h.call(this,e,t,i);this.fields=[]};f.Message.OneOf=d;var v=function(e,t,i,r,n){o.call(this,e,t,i,r,n);this.className="Enum";this.object=null};v.getName=function(e,t){var i=Object.keys(e);for(var r=0,n;r<i.length;++r)if(e[n=i[r]]===t)return n;return null};var w=v.prototype=Object.create(o.prototype);w.build=function(e){if(this.object&&!e)return this.object;var t=new g.Builder.Enum,i=this.getChildren(v.Value);for(var r=0,n=i.length;r<n;++r)t[i[r]["name"]]=i[r]["id"];if(Object.defineProperty)Object.defineProperty(t,"$options",{value:this.buildOpt(),enumerable:false});return this.object=t};f.Enum=v;var E=function(e,t,i,r){h.call(this,e,t,i);this.className="Enum.Value";this.id=r};E.prototype=Object.create(h.prototype);f.Enum.Value=E;var m=function(e,t,i,r){h.call(this,e,t,i);this.field=r};m.prototype=Object.create(h.prototype);f.Extension=m;var b=function(e,t,i,r){o.call(this,e,t,i,r);this.className="Service";this.clazz=null};var T=b.prototype=Object.create(o.prototype);T.build=function(e){if(this.clazz&&!e)return this.clazz;return this.clazz=function(t,n){var s=function(e){t.Builder.Service.call(this);this.rpcImpl=e||function(e,t,i){setTimeout(i.bind(this,Error("Not implemented, see: https://github.com/dcodeIO/ProtoBuf.js/wiki/Services")),0)}};var e=s.prototype=Object.create(t.Builder.Service.prototype);var i=n.getChildren(t.Reflect.Service.RPCMethod);for(var r=0;r<i.length;r++)(function(r){e[r.name]=function(e,i){try{try{e=r.resolvedRequestType.clazz.decode(R.wrap(e))}catch(e){if(!(e instanceof TypeError))throw e}if(e===null||typeof e!=="object")throw Error("Illegal arguments");if(!(e instanceof r.resolvedRequestType.clazz))e=new r.resolvedRequestType.clazz(e);this.rpcImpl(r.fqn(),e,function(e,t){if(e){i(e);return}if(t===null)t="";try{t=r.resolvedResponseType.clazz.decode(t)}catch(e){}if(!t||!(t instanceof r.resolvedResponseType.clazz)){i(Error("Illegal response type received in service method "+n.name+"#"+r.name));return}i(null,t)})}catch(e){setTimeout(i.bind(this,e),0)}};s[r.name]=function(e,t,i){new s(e)[r.name](t,i)};if(Object.defineProperty)Object.defineProperty(s[r.name],"$options",{value:r.buildOpt()}),Object.defineProperty(e[r.name],"$options",{value:s[r.name]["$options"]})})(i[r]);var f;var o;var a;var l;if(Object.defineProperty)Object.defineProperty(s,"$options",{value:n.buildOpt()}),Object.defineProperty(e,"$options",{value:s["$options"]}),Object.defineProperty(s,"$type",{value:n}),Object.defineProperty(e,"$type",{value:n});return s}(g,this)};f.Service=b;var I=function(e,t,i,r){h.call(this,e,t,i);this.className="Service.Method";this.options=r||{}};var S=I.prototype=Object.create(h.prototype);S.buildOpt=t.buildOpt;f.Service.Method=I;var P=function(e,t,i,r,n,s,f,o){I.call(this,e,t,i,o);this.className="Service.RPCMethod";this.requestName=r;this.responseName=n;this.requestStream=s;this.responseStream=f;this.resolvedRequestType=null;this.resolvedResponseType=null};P.prototype=Object.create(I.prototype);f.Service.RPCMethod=P;return f}(n),n.Builder=function(u,t,f){"use strict";var o=function(e){this.ns=new f.Namespace(this,null,"");this.ptr=this.ns;this.resolved=false;this.result=null;this.files={};this.importRoot=null;this.options=e||{}};var e=o.prototype;
1o.isMessage=function(e){if(typeof e["name"]!=="string")return false;if(typeof e["values"]!=="undefined"||typeof e["rpc"]!=="undefined")return false;return true};o.isMessageField=function(e){if(typeof e["rule"]!=="string"||typeof e["name"]!=="string"||typeof e["type"]!=="string"||typeof e["id"]==="undefined")return false;return true};o.isEnum=function(e){if(typeof e["name"]!=="string")return false;if(typeof e["values"]==="undefined"||!Array.isArray(e["values"])||e["values"].length===0)return false;return true};o.isService=function(e){if(typeof e["name"]!=="string"||typeof e["rpc"]!=="object"||!e["rpc"])return false;return true};o.isExtend=function(e){if(typeof e["ref"]!=="string")return false;return true};e.reset=function(){this.ptr=this.ns;return this};e.define=function(e){if(typeof e!=="string"||!t.TYPEREF.test(e))throw Error("illegal namespace: "+e);e.split(".").forEach(function(e){var t=this.ptr.getChild(e);if(t===null)this.ptr.addChild(t=new f.Namespace(this,this.ptr,e));this.ptr=t},this);return this};e.create=function(e){if(!e)return this;if(!Array.isArray(e))e=[e];else{if(e.length===0)return this;e=e.slice()}var t=[e];while(t.length>0){e=t.pop();if(!Array.isArray(e))throw Error("not a valid namespace: "+JSON.stringify(e));while(e.length>0){var i=e.shift();if(o.isMessage(i)){var s=new f.Message(this,this.ptr,i["name"],i["options"],i["isGroup"],i["syntax"]);var r={};if(i["oneofs"])Object.keys(i["oneofs"]).forEach(function(e){s.addChild(r[e]=new f.Message.OneOf(this,s,e))},this);if(i["fields"])i["fields"].forEach(function(e){if(s.getChild(e["id"]|0)!==null)throw Error("duplicate or invalid field id in "+s.name+": "+e["id"]);if(e["options"]&&typeof e["options"]!=="object")throw Error("illegal field options in "+s.name+"#"+e["name"]);var t=null;if(typeof e["oneof"]==="string"&&!(t=r[e["oneof"]]))throw Error("illegal oneof in "+s.name+"#"+e["name"]+": "+e["oneof"]);e=new f.Message.Field(this,s,e["rule"],e["keytype"],e["type"],e["name"],e["id"],e["options"],t,i["syntax"]);if(t)t.fields.push(e);s.addChild(e)},this);var n=[];if(i["enums"])i["enums"].forEach(function(e){n.push(e)});if(i["messages"])i["messages"].forEach(function(e){n.push(e)});if(i["services"])i["services"].forEach(function(e){n.push(e)});if(i["extensions"])if(typeof i["extensions"][0]==="number")s.extensions=[i["extensions"]];else s.extensions=i["extensions"];this.ptr.addChild(s);if(n.length>0){t.push(e);e=n;n=null;this.ptr=s;s=null;continue}n=null}else if(o.isEnum(i)){s=new f.Enum(this,this.ptr,i["name"],i["options"],i["syntax"]);i["values"].forEach(function(e){s.addChild(new f.Enum.Value(this,s,e["name"],e["id"]))},this);this.ptr.addChild(s)}else if(o.isService(i)){s=new f.Service(this,this.ptr,i["name"],i["options"]);Object.keys(i["rpc"]).forEach(function(e){var t=i["rpc"][e];s.addChild(new f.Service.RPCMethod(this,s,e,t["request"],t["response"],!!t["request_stream"],!!t["response_stream"],t["options"]))},this);this.ptr.addChild(s)}else if(o.isExtend(i)){s=this.ptr.resolve(i["ref"],true);if(s)i["fields"].forEach(function(t){if(s.getChild(t["id"]|0)!==null)throw Error("duplicate extended field id in "+s.name+": "+t["id"]);if(s.extensions){var i=false;s.extensions.forEach(function(e){if(t["id"]>=e[0]&&t["id"]<=e[1])i=true});if(!i)throw Error("illegal extended field id in "+s.name+": "+t["id"]+" (not within valid ranges)")}var e=t["name"];if(this.options["convertFieldsToCamelCase"])e=u.Util.toCamelCase(e);var r=new f.Message.ExtensionField(this,s,t["rule"],t["type"],this.ptr.fqn()+"."+e,t["id"],t["options"]);var n=new f.Extension(this,this.ptr,t["name"],r);r.extension=n;this.ptr.addChild(n);s.addChild(r)},this);else if(!/\.?google\.protobuf\./.test(i["ref"]))throw Error("extended message "+i["ref"]+" is not defined")}else throw Error("not a valid definition: "+JSON.stringify(i));i=null;s=null}e=null;this.ptr=this.ptr.parent}this.resolved=false;this.result=null;return this};function c(t){if(t["messages"])t["messages"].forEach(function(e){e["syntax"]=t["syntax"];c(e)});if(t["enums"])t["enums"].forEach(function(e){e["syntax"]=t["syntax"]})}e["import"]=function(t,e){var i="/";if(typeof e==="string"){if(u.Util.IS_NODE)e=require("path")["resolve"](e);if(this.files[e]===true)return this.reset();this.files[e]=true}else if(typeof e==="object"){var r=e.root;if(u.Util.IS_NODE)r=require("path")["resolve"](r);if(r.indexOf("\\")>=0||e.file.indexOf("\\")>=0)i="\\";var n;if(u.Util.IS_NODE)n=require("path")["join"](r,e.file);else n=r+i+e.file;if(this.files[n]===true)return this.reset();this.files[n]=true}if(t["imports"]&&t["imports"].length>0){var s,f=false;if(typeof e==="object"){this.importRoot=e["root"];f=true;s=this.importRoot;e=e["file"];if(s.indexOf("\\")>=0||e.indexOf("\\")>=0)i="\\"}else if(typeof e==="string")if(this.importRoot)s=this.importRoot;else if(e.indexOf("/")>=0){s=e.replace(/\/[^\/]*$/,"");if(s==="")s="/"}else if(e.indexOf("\\")>=0){s=e.replace(/\\[^\\]*$/,"");i="\\"}else s=".";else s=null;for(var o=0;o<t["imports"].length;
1o++)if(typeof t["imports"][o]==="string"){if(!s)throw Error("cannot determine import root");var a=u.Util.mainFileName(t["imports"][o]);if(a==="google/protobuf/descriptor.proto")continue;if(u.Util.IS_NODE)a=require("path")["join"](s,a);else a=u.Util.mainFileName(s+i+a);if(this.files[a]===true)continue;if(/\.proto$/i.test(a)&&!u.DotProto)a=a.replace(/\.proto$/,".json");var l=u.Util.fetch(a);if(l===null)throw Error("failed to import '"+a+"' in '"+e+"': file not found");if(/\.json$/i.test(a))this["import"](JSON.parse(l+""),a);else this["import"](u.DotProto.Parser.parse(l),a)}else if(!e)this["import"](t["imports"][o]);else if(/\.(\w+)$/.test(e))this["import"](t["imports"][o],e.replace(/^(.+)\.(\w+)$/,function(e,t,i){return t+"_import"+o+"."+i}));else this["import"](t["imports"][o],e+"_import"+o);if(f)this.importRoot=null}if(t["package"])this.define(t["package"]);if(t["syntax"])c(t);var h=this.ptr;if(t["options"])Object.keys(t["options"]).forEach(function(e){h.options[e]=t["options"][e]});if(t["messages"])this.create(t["messages"]),this.ptr=h;if(t["enums"])this.create(t["enums"]),this.ptr=h;if(t["services"])this.create(t["services"]),this.ptr=h;if(t["extends"])this.create(t["extends"]);return this.reset()};e.resolveAll=function(){var e;if(this.ptr==null||typeof this.ptr.type==="object")return this;if(this.ptr instanceof f.Namespace)this.ptr.children.forEach(function(e){this.ptr=e;this.resolveAll()},this);else if(this.ptr instanceof f.Message.Field){if(!t.TYPE.test(this.ptr.type)){if(!t.TYPEREF.test(this.ptr.type))throw Error("illegal type reference in "+this.ptr.toString(true)+": "+this.ptr.type);e=(this.ptr instanceof f.Message.ExtensionField?this.ptr.extension.parent:this.ptr.parent).resolve(this.ptr.type,true);if(!e)throw Error("unresolvable type reference in "+this.ptr.toString(true)+": "+this.ptr.type);this.ptr.resolvedType=e;if(e instanceof f.Enum){this.ptr.type=u.TYPES["enum"];if(this.ptr.syntax==="proto3"&&e.syntax!=="proto3")throw Error("proto3 message cannot reference proto2 enum")}else if(e instanceof f.Message)this.ptr.type=e.isGroup?u.TYPES["group"]:u.TYPES["message"];else throw Error("illegal type reference in "+this.ptr.toString(true)+": "+this.ptr.type)}else this.ptr.type=u.TYPES[this.ptr.type];if(this.ptr.map){if(!t.TYPE.test(this.ptr.keyType))throw Error("illegal key type for map field in "+this.ptr.toString(true)+": "+this.ptr.keyType);this.ptr.keyType=u.TYPES[this.ptr.keyType]}if(this.ptr.syntax==="proto3"&&this.ptr.repeated&&this.ptr.options.packed===undefined&&u.PACKABLE_WIRE_TYPES.indexOf(this.ptr.type.wireType)!==-1)this.ptr.options.packed=true}else if(this.ptr instanceof u.Reflect.Service.Method)if(this.ptr instanceof u.Reflect.Service.RPCMethod){e=this.ptr.parent.resolve(this.ptr.requestName,true);if(!e||!(e instanceof u.Reflect.Message))throw Error("Illegal type reference in "+this.ptr.toString(true)+": "+this.ptr.requestName);this.ptr.resolvedRequestType=e;e=this.ptr.parent.resolve(this.ptr.responseName,true);if(!e||!(e instanceof u.Reflect.Message))throw Error("Illegal type reference in "+this.ptr.toString(true)+": "+this.ptr.responseName);this.ptr.resolvedResponseType=e}else throw Error("illegal service type in "+this.ptr.toString(true));else if(!(this.ptr instanceof u.Reflect.Message.OneOf)&&!(this.ptr instanceof u.Reflect.Extension)&&!(this.ptr instanceof u.Reflect.Enum.Value))throw Error("illegal object in namespace: "+typeof this.ptr+": "+this.ptr);return this.reset()};e.build=function(e){this.reset();if(!this.resolved)this.resolveAll(),this.resolved=true,this.result=null;if(this.result===null)this.result=this.ns.build();if(!e)return this.result;var t=typeof e==="string"?e.split("."):e,i=this.result;for(var r=0;r<t.length;r++)if(i[t[r]])i=i[t[r]];else{i=null;break}return i};e.lookup=function(e,t){return e?this.ns.resolve(e,t):this.ns};e.toString=function(){return"Builder"};o.Message=function(){};o.Enum=function(){};o.Service=function(){};return o}(n,n.Lang,n.Reflect),n.Map=function(e,f){"use strict";var t=function(e,t){if(!e.map)throw Error("field is not a map");this.field=e;this.keyElem=new f.Element(e.keyType,null,true,e.syntax);this.valueElem=new f.Element(e.type,e.resolvedType,false,e.syntax);this.map={};Object.defineProperty(this,"size",{get:function(){return Object.keys(this.map).length}});if(t){var i=Object.keys(t);for(var r=0;r<i.length;r++){var n=this.keyElem.valueFromString(i[r]);var s=this.valueElem.verifyValue(t[i[r]]);this.map[this.keyElem.valueToString(n)]={key:n,value:s}}}};var i=t.prototype;function n(e){var t=0;return{next:function(){if(t<e.length)return{done:false,value:e[t++]};return{done:true}}}}i.clear=function(){this.map={}};i["delete"]=function(e){var t=this.keyElem.valueToString(this.keyElem.verifyValue(e));var i=t in this.map;delete this.map[t];return i};i.entries=function(){var e=[];var t=Object.keys(this.map);for(var i=0,r;i<t.length;i++)e.push([(r=this.map[t[i]]).key,r.value]);return n(e)};i.keys=function(){var e=[];var t=Object.keys(this.map);for(var i=0;i<t.length;i++)e.push(this.map[t[i]].key);return n(e)};i.values=function(){var e=[];var t=Object.keys(this.map);for(var i=0;i<t.length;i++)e.push(this.map[t[i]].value);return n(e)};
1i.forEach=function(e,t){var i=Object.keys(this.map);for(var r=0,n;r<i.length;r++)e.call(t,(n=this.map[i[r]]).value,n.key,this)};i.set=function(e,t){var i=this.keyElem.verifyValue(e);var r=this.valueElem.verifyValue(t);this.map[this.keyElem.valueToString(i)]={key:i,value:r};return this};i.get=function(e){var t=this.keyElem.valueToString(this.keyElem.verifyValue(e));if(!(t in this.map))return undefined;return this.map[t].value};i.has=function(e){var t=this.keyElem.valueToString(this.keyElem.verifyValue(e));return t in this.map};return t}(n,n.Reflect),n.loadProto=function(e,t,i){if(typeof t==="string"||t&&typeof t["file"]==="string"&&typeof t["root"]==="string")i=t,t=undefined;return n.loadJson(n.DotProto.Parser.parse(e),t,i)},n.protoFromString=n.loadProto,n.loadProtoFile=function(t,i,r){if(i&&typeof i==="object")r=i,i=null;else if(!i||typeof i!=="function")i=null;if(i)return n.Util.fetch(typeof t==="string"?t:t["root"]+"/"+t["file"],function(e){if(e===null){i(Error("Failed to fetch file"));return}try{i(null,n.loadProto(e,r,t))}catch(e){i(e)}});var e=n.Util.fetch(typeof t==="object"?t["root"]+"/"+t["file"]:t);return e===null?null:n.loadProto(e,r,t)},n.protoFromFile=n.loadProtoFile,n.newBuilder=function(e){e=e||{};if(typeof e["convertFieldsToCamelCase"]==="undefined")e["convertFieldsToCamelCase"]=n.convertFieldsToCamelCase;if(typeof e["populateAccessors"]==="undefined")e["populateAccessors"]=n.populateAccessors;return new n.Builder(e)},n.loadJson=function(e,t,i){if(typeof t==="string"||t&&typeof t["file"]==="string"&&typeof t["root"]==="string")i=t,t=null;if(!t||typeof t!=="object")t=n.newBuilder();if(typeof e==="string")e=JSON.parse(e);t["import"](e,i);t.resolveAll();return t},n.loadJsonFile=function(t,i,r){if(i&&typeof i==="object")r=i,i=null;else if(!i||typeof i!=="function")i=null;if(i)return n.Util.fetch(typeof t==="string"?t:t["root"]+"/"+t["file"],function(e){if(e===null){i(Error("Failed to fetch file"));return}try{i(null,n.loadJson(JSON.parse(e),r,t))}catch(e){i(e)}});var e=n.Util.fetch(typeof t==="object"?t["root"]+"/"+t["file"]:t);return e===null?null:n.loadJson(JSON.parse(e),r,t)},n}(e.dcodeIO.ByteBuffer)}(this);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.