let protobuf;!function(g){"use strict";!function(r,e,t){var i=function t(i){var n=e[i];return n||r[i][0].call(n=e[i]={exports:{}},t,n,n.exports),n.exports}(t[0]);protobuf=i.util.global.protobuf=i,"function"==typeof define&&define.amd&&define(["long"],function(t){return t&&t.isLong&&(i.util.Long=t,i.configure()),i}),"object"==typeof module&&module&&module.exports&&(module.exports=i)}({1:[function(t,i,n){i.exports=function(t,i){var n=Array(arguments.length-1),s=0,r=2,u=!0;for(;r>2],r=(3&h)<<4,o=1;break;case 1:s[u++]=f[r|h>>4],r=(15&h)<<2,o=2;break;case 2:s[u++]=f[r|h>>6],s[u++]=f[63&h],o=0}8191>4,r=o,s=2;break;case 2:i[n++]=(15&r)<<4|(60&o)>>2,r=o,s=3;break;case 3:i[n++]=(3&r)<<6|o,s=0}}if(1===s)throw Error(c);return n-e},n.test=function(t){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t)}},{}],3:[function(t,i,n){function a(i,n){"string"==typeof i&&(n=i,i=g);var h=[];function f(t){if("string"!=typeof t){var i=c();if(a.verbose&&console.log("codegen: "+i),i="return "+i,t){for(var n=Object.keys(t),r=Array(n.length+1),e=Array(n.length),s=0;s>>0:i<11754943508222875e-54?(e<<31|Math.round(i/1401298464324817e-60))>>>0:(e<<31|127+(t=Math.floor(Math.log(i)/Math.LN2))<<23|8388607&Math.round(i*Math.pow(2,-t)*8388608))>>>0,n,r)}function n(t,i,n){t=t(i,n),i=2*(t>>31)+1,n=t>>>23&255,t&=8388607;return 255==n?t?NaN:1/0*i:0==n?1401298464324817e-60*i*t:i*Math.pow(2,n-150)*(8388608+t)}function r(t,i,n){o[0]=t,i[n]=h[0],i[n+1]=h[1],i[n+2]=h[2],i[n+3]=h[3]}function e(t,i,n){o[0]=t,i[n]=h[3],i[n+1]=h[2],i[n+2]=h[1],i[n+3]=h[0]}function s(t,i){return h[0]=t[i],h[1]=t[i+1],h[2]=t[i+2],h[3]=t[i+3],o[0]}function u(t,i){return h[3]=t[i],h[2]=t[i+1],h[1]=t[i+2],h[0]=t[i+3],o[0]}var o,h,f,c,a;function l(t,i,n,r,e,s){var u,o=r<0?1:0;0===(r=o?-r:r)?(t(0,e,s+i),t(0<1/r?0:2147483648,e,s+n)):isNaN(r)?(t(0,e,s+i),t(2146959360,e,s+n)):17976931348623157e292>>0,e,s+n)):r<22250738585072014e-324?(t((u=r/5e-324)>>>0,e,s+i),t((o<<31|u/4294967296)>>>0,e,s+n)):(t(4503599627370496*(u=r*Math.pow(2,-(r=1024===(r=Math.floor(Math.log(r)/Math.LN2))?1023:r)))>>>0,e,s+i),t((o<<31|r+1023<<20|1048576*u&1048575)>>>0,e,s+n))}function d(t,i,n,r,e){i=t(r,e+i),t=t(r,e+n),r=2*(t>>31)+1,e=t>>>20&2047,n=4294967296*(1048575&t)+i;return 2047==e?n?NaN:1/0*r:0==e?5e-324*r*n:r*Math.pow(2,e-1075)*(n+4503599627370496)}function v(t,i,n){f[0]=t,i[n]=c[0],i[n+1]=c[1],i[n+2]=c[2],i[n+3]=c[3],i[n+4]=c[4],i[n+5]=c[5],i[n+6]=c[6],i[n+7]=c[7]}function b(t,i,n){f[0]=t,i[n]=c[7],i[n+1]=c[6],i[n+2]=c[5],i[n+3]=c[4],i[n+4]=c[3],i[n+5]=c[2],i[n+6]=c[1],i[n+7]=c[0]}function p(t,i){return c[0]=t[i],c[1]=t[i+1],c[2]=t[i+2],c[3]=t[i+3],c[4]=t[i+4],c[5]=t[i+5],c[6]=t[i+6],c[7]=t[i+7],f[0]}function y(t,i){return c[7]=t[i],c[6]=t[i+1],c[5]=t[i+2],c[4]=t[i+3],c[3]=t[i+4],c[2]=t[i+5],c[1]=t[i+6],c[0]=t[i+7],f[0]}return"undefined"!=typeof Float32Array?(o=new Float32Array([-0]),h=new Uint8Array(o.buffer),a=128===h[3],t.writeFloatLE=a?r:e,t.writeFloatBE=a?e:r,t.readFloatLE=a?s:u,t.readFloatBE=a?u:s):(t.writeFloatLE=i.bind(null,m),t.writeFloatBE=i.bind(null,w),t.readFloatLE=n.bind(null,g),t.readFloatBE=n.bind(null,j)),"undefined"!=typeof Float64Array?(f=new Float64Array([-0]),c=new Uint8Array(f.buffer),a=128===c[7],t.writeDoubleLE=a?v:b,t.writeDoubleBE=a?b:v,t.readDoubleLE=a?p:y,t.readDoubleBE=a?y:p):(t.writeDoubleLE=l.bind(null,m,0,4),t.writeDoubleBE=l.bind(null,w,4,0),t.readDoubleLE=d.bind(null,g,0,4),t.readDoubleBE=d.bind(null,j,4,0)),t}function m(t,i,n){i[n]=255&t,i[n+1]=t>>>8&255,i[n+2]=t>>>16&255,i[n+3]=t>>>24}function w(t,i,n){i[n]=t>>>24,i[n+1]=t>>>16&255,i[n+2]=t>>>8&255,i[n+3]=255&t}function g(t,i){return(t[i]|t[i+1]<<8|t[i+2]<<16|t[i+3]<<24)>>>0}function j(t,i){return(t[i]<<24|t[i+1]<<16|t[i+2]<<8|t[i+3])>>>0}i.exports=r(r)},{}],7:[function(t,i,n){function r(t){try{var i=eval("require")(t);if(i&&(i.length||Object.keys(i).length))return i}catch(t){}return null}i.exports=r},{}],8:[function(t,i,n){var e=n.isAbsolute=function(t){return/^(?:\/|\w+:)/.test(t)},r=n.normalize=function(t){var i=(t=t.replace(/\\/g,"/").replace(/\/{2,}/g,"/")).split("/"),n=e(t),t="";n&&(t=i.shift()+"/");for(var r=0;r>>1,s=null,u=r;return function(t){if(t<1||e>10),s[u++]=56320+(1023&r)):s[u++]=(15&r)<<12|(63&t[i++])<<6|63&t[i++],8191>6|192:(55296==(64512&r)&&56320==(64512&(e=t.charCodeAt(u+1)))?(++u,i[n++]=(r=65536+((1023&r)<<10)+(1023&e))>>18|240,i[n++]=r>>12&63|128):i[n++]=r>>12|224,i[n++]=r>>6&63|128),i[n++]=63&r|128);return n-s}},{}],11:[function(t,i,n){var l=t(14),d=t(33);function u(t,i,n,r){var e=!1;if(i.resolvedType)if(i.resolvedType instanceof l){t("switch(d%s){",r);for(var s=i.resolvedType.values,u=Object.keys(s),o=0;o>>0",r,r);break;case"int32":case"sint32":case"sfixed32":t("m%s=d%s|0",r,r);break;case"uint64":h=!0;case"int64":case"sint64":case"fixed64":case"sfixed64":t("if(util.Long)")("(m%s=util.Long.fromValue(d%s)).unsigned=%j",r,r,h)('else if(typeof d%s==="string")',r)("m%s=parseInt(d%s,10)",r,r)('else if(typeof d%s==="number")',r)("m%s=d%s",r,r)('else if(typeof d%s==="object")',r)("m%s=new util.LongBits(d%s.low>>>0,d%s.high>>>0).toNumber(%s)",r,r,r,h?"true":"");break;case"bytes":t('if(typeof d%s==="string")',r)("util.base64.decode(d%s,m%s=util.newBuffer(util.base64.length(d%s)),0)",r,r,r)("else if(d%s.length >= 0)",r)("m%s=d%s",r,r);break;case"string":t("m%s=String(d%s)",r,r);break;case"bool":t("m%s=Boolean(d%s)",r,r)}}return t}function v(t,i,n,r){if(i.resolvedType)i.resolvedType instanceof l?t("d%s=o.enums===String?(types[%i].values[m%s]===undefined?m%s:types[%i].values[m%s]):m%s",r,n,r,r,n,r,r):t("d%s=types[%i].toObject(m%s,o)",r,n,r);else{var e=!1;switch(i.type){case"double":case"float":t("d%s=o.json&&!isFinite(m%s)?String(m%s):m%s",r,r,r,r);break;case"uint64":e=!0;case"int64":case"sint64":case"fixed64":case"sfixed64":t('if(typeof m%s==="number")',r)("d%s=o.longs===String?String(m%s):m%s",r,r,r)("else")("d%s=o.longs===String?util.Long.prototype.toString.call(m%s):o.longs===Number?new util.LongBits(m%s.low>>>0,m%s.high>>>0).toNumber(%s):m%s",r,r,r,r,e?"true":"",r);break;case"bytes":t("d%s=o.bytes===String?util.base64.encode(m%s,0,m%s.length):o.bytes===Array?Array.prototype.slice.call(m%s):m%s",r,r,r,r,r);break;default:t("d%s=m%s",r,r)}}return t}n.fromObject=function(t){var i=t.fieldsArray,n=d.codegen(["d"],t.name+"$fromObject")("if(d instanceof this.ctor)")("return d");if(!i.length)return n("return new this.ctor");n("var m=new this.ctor");for(var r=0;r>>3){");for(var n=0;n>>3){")("case 1: k=r.%s(); break",r.keyType)("case 2:"),h.basic[e]===g?i("value=types[%i].decode(r,r.uint32())",n):i("value=r.%s()",e),i("break")("default:")("r.skipType(tag2&7)")("break")("}")("}"),h.long[r.keyType]!==g?i('%s[typeof k==="object"?util.longToHash(k):k]=value',s):i("%s[k]=value",s)):r.repeated?(i("if(!(%s&&%s.length))",s,s)("%s=[]",s),h.packed[e]!==g&&i("if((t&7)===2){")("var c2=r.uint32()+r.pos")("while(r.pos>>0,8|c.mapKey[s.keyType],s.keyType),h===g?n("types[%i].encode(%s[ks[i]],w.uint32(18).fork()).ldelim().ldelim()",u,i):n(".uint32(%i).%s(%s[ks[i]]).ldelim()",16|h,o,i),n("}")("}")):s.repeated?(n("if(%s!=null&&%s.length){",i,i),s.packed&&c.packed[o]!==g?n("w.uint32(%i).fork()",(s.id<<3|2)>>>0)("for(var i=0;i<%s.length;++i)",i)("w.%s(%s[i])",o,i)("w.ldelim()"):(n("for(var i=0;i<%s.length;++i)",i),h===g?l(n,s,u,i+"[i]"):n("w.uint32(%i).%s(%s[i])",(s.id<<3|h)>>>0,o,i)),n("}")):(s.optional&&n("if(%s!=null&&Object.hasOwnProperty.call(m,%j))",i,s.name),h===g?l(n,s,u,i):n("w.uint32(%i).%s(%s)",(s.id<<3|h)>>>0,o,i))}return n("return w")};var f=t(14),c=t(32),a=t(33);function l(t,i,n,r){i.resolvedType.group?t("types[%i].encode(%s,w.uint32(%i)).uint32(%i)",n,r,(i.id<<3|3)>>>0,(i.id<<3|4)>>>0):t("types[%i].encode(%s,w.uint32(%i).fork()).ldelim()",n,r,(i.id<<3|2)>>>0)}},{14:14,32:32,33:33}],14:[function(t,i,n){i.exports=s;var h=t(22),r=(((s.prototype=Object.create(h.prototype)).constructor=s).className="Enum",t(21)),e=t(33);function s(t,i,n,r,e,s){if(h.call(this,t,n),i&&"object"!=typeof i)throw TypeError("values must be an object");if(this.valuesById={},this.values=Object.create(this.valuesById),this.comment=r,this.comments=e||{},this.valuesOptions=s,this.reserved=g,i)for(var u=Object.keys(i),o=0;oi)return!0;return!1},a.isReservedName=function(t,i){if(t)for(var n=0;n "+t.len)}function h(t){this.buf=t,this.pos=0,this.len=t.length}function f(){return e.Buffer?function(t){return(h.create=function(t){return e.Buffer.isBuffer(t)?new r(t):a(t)})(t)}:a}var c,a="undefined"!=typeof Uint8Array?function(t){if(t instanceof Uint8Array||Array.isArray(t))return new h(t);throw Error("illegal buffer")}:function(t){if(Array.isArray(t))return new h(t);throw Error("illegal buffer")};function l(){var t=new s(0,0),i=0;if(!(4=this.len)throw o(this);if(t.lo=(t.lo|(127&this.buf[this.pos])<<7*i)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(127&this.buf[this.pos++])<<7*i)>>>0,t}for(;i<4;++i)if(t.lo=(t.lo|(127&this.buf[this.pos])<<7*i)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(127&this.buf[this.pos])<<28)>>>0,t.hi=(t.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return t;if(i=0,4>>0,this.buf[this.pos++]<128)return t}else for(;i<5;++i){if(this.pos>=this.len)throw o(this);if(t.hi=(t.hi|(127&this.buf[this.pos])<<7*i+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}function d(t,i){return(t[i-4]|t[i-3]<<8|t[i-2]<<16|t[i-1]<<24)>>>0}function v(){if(this.pos+8>this.len)throw o(this,8);return new s(d(this.buf,this.pos+=4),d(this.buf,this.pos+=4))}h.create=f(),h.prototype.h=e.Array.prototype.subarray||e.Array.prototype.slice,h.prototype.uint32=(c=4294967295,function(){if(c=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128||(c=(c|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128||(c=(c|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128||(c=(c|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128||(c=(c|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128||!((this.pos+=5)>this.len))))))return c;throw this.pos=this.len,o(this,10)}),h.prototype.int32=function(){return 0|this.uint32()},h.prototype.sint32=function(){var t=this.uint32();return t>>>1^-(1&t)|0},h.prototype.bool=function(){return 0!==this.uint32()},h.prototype.fixed32=function(){if(this.pos+4>this.len)throw o(this,4);return d(this.buf,this.pos+=4)},h.prototype.sfixed32=function(){if(this.pos+4>this.len)throw o(this,4);return 0|d(this.buf,this.pos+=4)},h.prototype.float=function(){if(this.pos+4>this.len)throw o(this,4);var t=e.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t},h.prototype.double=function(){if(this.pos+8>this.len)throw o(this,4);var t=e.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t},h.prototype.bytes=function(){var t=this.uint32(),i=this.pos,n=this.pos+t;if(n>this.len)throw o(this,t);return this.pos+=t,Array.isArray(this.buf)?this.buf.slice(i,n):i===n?new this.buf.constructor(0):this.h.call(this.buf,i,n)},h.prototype.string=function(){var t=this.bytes();return u.read(t,0,t.length)},h.prototype.skip=function(t){if("number"==typeof t){if(this.pos+t>this.len)throw o(this,t);this.pos+=t}else do{if(this.pos>=this.len)throw o(this)}while(128&this.buf[this.pos++]);return this},h.prototype.skipType=function(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;4!=(t=7&this.uint32());)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+t+" at offset "+this.pos)}return this},h.r=function(t){r=t,h.create=f(),r.r();var i=e.Long?"toLong":"toNumber";e.merge(h.prototype,{int64:function(){return l.call(this)[i](!1)},uint64:function(){return l.call(this)[i](!0)},sint64:function(){return l.call(this).zzDecode()[i](!1)},fixed64:function(){return v.call(this)[i](!0)},sfixed64:function(){return v.call(this)[i](!1)}})}},{35:35}],25:[function(t,i,n){i.exports=s;var r=t(24),e=((s.prototype=Object.create(r.prototype)).constructor=s,t(35));function s(t){r.call(this,t)}s.r=function(){e.Buffer&&(s.prototype.h=e.Buffer.prototype.slice)},s.prototype.string=function(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+t,this.len))},s.r()},{24:24,35:35}],26:[function(t,i,n){i.exports=h;var r,d,v,e=t(21),s=(((h.prototype=Object.create(e.prototype)).constructor=h).className="Root",t(15)),u=t(14),o=t(23),b=t(33);function h(t){e.call(this,"",t),this.deferred=[],this.files=[]}function p(){}h.fromJSON=function(t,i){return i=i||new h,t.options&&i.setOptions(t.options),i.addJSON(t.nested)},h.prototype.resolvePath=b.path.resolve,h.prototype.fetch=b.fetch,h.prototype.load=function t(i,s,e){"function"==typeof s&&(e=s,s=g);var u=this;if(!e)return b.asPromise(t,u,i,s);var o=e===p;function h(t,i){if(e){var n=e;if(e=null,o)throw t;n(t,i)}}function f(t){var i=t.lastIndexOf("google/protobuf/");if(-1>>0,this.hi=i>>>0}var s=e.zero=new e(0,0),u=(s.toNumber=function(){return 0},s.zzEncode=s.zzDecode=function(){return this},s.length=function(){return 1},e.zeroHash="\0\0\0\0\0\0\0\0",e.fromNumber=function(t){var i,n;return 0===t?s:(n=(t=(i=t<0)?-t:t)>>>0,t=(t-n)/4294967296>>>0,i&&(t=~t>>>0,n=~n>>>0,4294967295<++n&&(n=0,4294967295<++t&&(t=0))),new e(n,t))},e.from=function(t){if("number"==typeof t)return e.fromNumber(t);if(r.isString(t)){if(!r.Long)return e.fromNumber(parseInt(t,10));t=r.Long.fromString(t)}return t.low||t.high?new e(t.low>>>0,t.high>>>0):s},e.prototype.toNumber=function(t){var i;return!t&&this.hi>>>31?(t=1+~this.lo>>>0,i=~this.hi>>>0,-(t+4294967296*(i=t?i:i+1>>>0))):this.lo+4294967296*this.hi},e.prototype.toLong=function(t){return r.Long?new r.Long(0|this.lo,0|this.hi,!!t):{low:0|this.lo,high:0|this.hi,unsigned:!!t}},String.prototype.charCodeAt);e.fromHash=function(t){return"\0\0\0\0\0\0\0\0"===t?s:new e((u.call(t,0)|u.call(t,1)<<8|u.call(t,2)<<16|u.call(t,3)<<24)>>>0,(u.call(t,4)|u.call(t,5)<<8|u.call(t,6)<<16|u.call(t,7)<<24)>>>0)},e.prototype.toHash=function(){return String.fromCharCode(255&this.lo,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,255&this.hi,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},e.prototype.zzEncode=function(){var t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this},e.prototype.zzDecode=function(){var t=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this},e.prototype.length=function(){var t=this.lo,i=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return 0==n?0==i?t<16384?t<128?1:2:t<2097152?3:4:i<16384?i<128?5:6:i<2097152?7:8:n<128?9:10}},{35:35}],35:[function(t,i,n){var r=n;function e(t,i,n){for(var r=Object.keys(i),e=0;e>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;127>>7;i[n++]=t.lo}function p(t,i,n){i[n]=255&t,i[n+1]=t>>>8&255,i[n+2]=t>>>16&255,i[n+3]=t>>>24}a.create=l(),a.alloc=function(t){return new e.Array(t)},e.Array!==Array&&(a.alloc=e.pool(a.alloc,e.Array.prototype.subarray)),a.prototype.p=function(t,i,n){return this.tail=this.tail.next=new h(t,i,n),this.len+=i,this},(v.prototype=Object.create(h.prototype)).fn=function(t,i,n){for(;127>>=7;i[n]=t},a.prototype.uint32=function(t){return this.len+=(this.tail=this.tail.next=new v((t>>>=0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this},a.prototype.int32=function(t){return t<0?this.p(b,10,s.fromNumber(t)):this.uint32(t)},a.prototype.sint32=function(t){return this.uint32((t<<1^t>>31)>>>0)},a.prototype.int64=a.prototype.uint64=function(t){t=s.from(t);return this.p(b,t.length(),t)},a.prototype.sint64=function(t){t=s.from(t).zzEncode();return this.p(b,t.length(),t)},a.prototype.bool=function(t){return this.p(d,1,t?1:0)},a.prototype.sfixed32=a.prototype.fixed32=function(t){return this.p(p,4,t>>>0)},a.prototype.sfixed64=a.prototype.fixed64=function(t){t=s.from(t);return this.p(p,4,t.lo).p(p,4,t.hi)},a.prototype.float=function(t){return this.p(e.float.writeFloatLE,4,t)},a.prototype.double=function(t){return this.p(e.float.writeDoubleLE,8,t)};var y=e.Array.prototype.set?function(t,i,n){i.set(t,n)}:function(t,i,n){for(var r=0;r>>0;return n?(e.isString(t)&&(i=a.alloc(n=u.length(t)),u.decode(t,i,0),t=i),this.uint32(n).p(y,n,t)):this.p(d,1,0)},a.prototype.string=function(t){var i=o.length(t);return i?this.uint32(i).p(o.write,i,t):this.p(d,1,0)},a.prototype.fork=function(){return this.states=new c(this),this.head=this.tail=new h(f,0,0),this.len=0,this},a.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new h(f,0,0),this.len=0),this},a.prototype.ldelim=function(){var t=this.head,i=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=t.next,this.tail=i,this.len+=n),this},a.prototype.finish=function(){for(var t=this.head.next,i=this.constructor.alloc(this.len),n=0;t;)t.fn(t.val,i,n),n+=t.len,t=t.next;return i},a.r=function(t){r=t,a.create=l(),r.r()}},{35:35}],39:[function(t,i,n){i.exports=s;var r=t(38),e=((s.prototype=Object.create(r.prototype)).constructor=s,t(35));function s(){r.call(this)}function u(t,i,n){t.length<40?e.utf8.write(t,i,n):i.utf8Write?i.utf8Write(t,n):i.write(t,n)}s.r=function(){s.alloc=e.b,s.writeBytesBuffer=e.Buffer&&e.Buffer.prototype instanceof Uint8Array&&"set"===e.Buffer.prototype.set.name?function(t,i,n){i.set(t,n)}:function(t,i,n){if(t.copy)t.copy(i,n,0,t.length);else for(var r=0;r>>0;return this.uint32(i),i&&this.p(s.writeBytesBuffer,i,t),this},s.prototype.string=function(t){var i=e.Buffer.byteLength(t);return this.uint32(i),i&&this.p(u,i,t),this},s.r()},{35:35,38:38}]},{},[16])}(); // https://github.com/emn178/js-md5 做了修改 let md5=null;(function(){'use strict';var ERROR='input is invalid type';var WINDOW=typeof window==='object';var root=WINDOW?window:{};if(root.JS_MD5_NO_WINDOW){WINDOW=false}var WEB_WORKER=!WINDOW&&typeof self==='object';var NODE_JS=!root.JS_MD5_NO_NODE_JS&&typeof process==='object'&&process.versions&&process.versions.node;if(NODE_JS){root=global}else if(WEB_WORKER){root=self}var COMMON_JS=!root.JS_MD5_NO_COMMON_JS&&typeof module==='object'&&module.exports;var AMD=typeof define==='function'&&define.amd;var ARRAY_BUFFER=!root.JS_MD5_NO_ARRAY_BUFFER&&typeof ArrayBuffer!=='undefined';var HEX_CHARS='0123456789abcdef'.split('');var EXTRA=[128,32768,8388608,-2147483648];var SHIFT=[0,8,16,24];var OUTPUT_TYPES=['hex','array','digest','buffer','arrayBuffer','base64'];var BASE64_ENCODE_CHAR='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');var blocks=[],buffer8;if(ARRAY_BUFFER){var buffer=new ArrayBuffer(68);buffer8=new Uint8Array(buffer);blocks=new Uint32Array(buffer)}if(root.JS_MD5_NO_NODE_JS||!Array.isArray){Array.isArray=function(obj){return Object.prototype.toString.call(obj)==='[object Array]'}}if(ARRAY_BUFFER&&(root.JS_MD5_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)){ArrayBuffer.isView=function(obj){return typeof obj==='object'&&obj.buffer&&obj.buffer.constructor===ArrayBuffer}}var createOutputMethod=function(outputType){return function(message){return new Md5(true).update(message)[outputType]()}};var createMethod=function(){var method=createOutputMethod('hex');if(NODE_JS){method=nodeWrap(method)}method.create=function(){return new Md5()};method.update=function(message){return method.create().update(message)};for(var i=0;i>2]|=message[index]<>6);buffer8[i++]=0x80|(code&0x3f)}else if(code<0xd800||code>=0xe000){buffer8[i++]=0xe0|(code>>12);buffer8[i++]=0x80|((code>>6)&0x3f);buffer8[i++]=0x80|(code&0x3f)}else{code=0x10000+(((code&0x3ff)<<10)|(message.charCodeAt(++index)&0x3ff));buffer8[i++]=0xf0|(code>>18);buffer8[i++]=0x80|((code>>12)&0x3f);buffer8[i++]=0x80|((code>>6)&0x3f);buffer8[i++]=0x80|(code&0x3f)}}}else{for(i=this.start;index>2]|=code<>2]|=(0xc0|(code>>6))<>2]|=(0x80|(code&0x3f))<=0xe000){blocks[i>>2]|=(0xe0|(code>>12))<>2]|=(0x80|((code>>6)&0x3f))<>2]|=(0x80|(code&0x3f))<>2]|=(0xf0|(code>>18))<>2]|=(0x80|((code>>12)&0x3f))<>2]|=(0x80|((code>>6)&0x3f))<>2]|=(0x80|(code&0x3f))<=64){this.start=i-64;this.hash();this.hashed=true}else{this.start=i}}if(this.bytes>4294967295){this.hBytes+=this.bytes/4294967296<<0;this.bytes=this.bytes%4294967296}return this};Md5.prototype.finalize=function(){if(this.finalized){return}this.finalized=true;var blocks=this.blocks,i=this.lastByteIndex;blocks[i>>2]|=EXTRA[i&3];if(i>=56){if(!this.hashed){this.hash()}blocks[0]=blocks[16];blocks[16]=blocks[1]=blocks[2]=blocks[3]=blocks[4]=blocks[5]=blocks[6]=blocks[7]=blocks[8]=blocks[9]=blocks[10]=blocks[11]=blocks[12]=blocks[13]=blocks[14]=blocks[15]=0}blocks[14]=this.bytes<<3;blocks[15]=this.hBytes<<3|this.bytes>>>29;this.hash()};Md5.prototype.hash=function(){var a,b,c,d,bc,da,blocks=this.blocks;if(this.first){a=blocks[0]-680876937;a=(a<<7|a>>>25)-271733879<<0;d=(-1732584194^a&2004318071)+blocks[1]-117830708;d=(d<<12|d>>>20)+a<<0;c=(-271733879^(d&(a^-271733879)))+blocks[2]-1126478375;c=(c<<17|c>>>15)+d<<0;b=(a^(c&(d^a)))+blocks[3]-1316259209;b=(b<<22|b>>>10)+c<<0}else{a=this.h0;b=this.h1;c=this.h2;d=this.h3;a+=(d^(b&(c^d)))+blocks[0]-680876936;a=(a<<7|a>>>25)+b<<0;d+=(c^(a&(b^c)))+blocks[1]-389564586;d=(d<<12|d>>>20)+a<<0;c+=(b^(d&(a^b)))+blocks[2]+606105819;c=(c<<17|c>>>15)+d<<0;b+=(a^(c&(d^a)))+blocks[3]-1044525330;b=(b<<22|b>>>10)+c<<0}a+=(d^(b&(c^d)))+blocks[4]-176418897;a=(a<<7|a>>>25)+b<<0;d+=(c^(a&(b^c)))+blocks[5]+1200080426;d=(d<<12|d>>>20)+a<<0;c+=(b^(d&(a^b)))+blocks[6]-1473231341;c=(c<<17|c>>>15)+d<<0;b+=(a^(c&(d^a)))+blocks[7]-45705983;b=(b<<22|b>>>10)+c<<0;a+=(d^(b&(c^d)))+blocks[8]+1770035416;a=(a<<7|a>>>25)+b<<0;d+=(c^(a&(b^c)))+blocks[9]-1958414417;d=(d<<12|d>>>20)+a<<0;c+=(b^(d&(a^b)))+blocks[10]-42063;c=(c<<17|c>>>15)+d<<0;b+=(a^(c&(d^a)))+blocks[11]-1990404162;b=(b<<22|b>>>10)+c<<0;a+=(d^(b&(c^d)))+blocks[12]+1804603682;a=(a<<7|a>>>25)+b<<0;d+=(c^(a&(b^c)))+blocks[13]-40341101;d=(d<<12|d>>>20)+a<<0;c+=(b^(d&(a^b)))+blocks[14]-1502002290;c=(c<<17|c>>>15)+d<<0;b+=(a^(c&(d^a)))+blocks[15]+1236535329;b=(b<<22|b>>>10)+c<<0;a+=(c^(d&(b^c)))+blocks[1]-165796510;a=(a<<5|a>>>27)+b<<0;d+=(b^(c&(a^b)))+blocks[6]-1069501632;d=(d<<9|d>>>23)+a<<0;c+=(a^(b&(d^a)))+blocks[11]+643717713;c=(c<<14|c>>>18)+d<<0;b+=(d^(a&(c^d)))+blocks[0]-373897302;b=(b<<20|b>>>12)+c<<0;a+=(c^(d&(b^c)))+blocks[5]-701558691;a=(a<<5|a>>>27)+b<<0;d+=(b^(c&(a^b)))+blocks[10]+38016083;d=(d<<9|d>>>23)+a<<0;c+=(a^(b&(d^a)))+blocks[15]-660478335;c=(c<<14|c>>>18)+d<<0;b+=(d^(a&(c^d)))+blocks[4]-405537848;b=(b<<20|b>>>12)+c<<0;a+=(c^(d&(b^c)))+blocks[9]+568446438;a=(a<<5|a>>>27)+b<<0;d+=(b^(c&(a^b)))+blocks[14]-1019803690;d=(d<<9|d>>>23)+a<<0;c+=(a^(b&(d^a)))+blocks[3]-187363961;c=(c<<14|c>>>18)+d<<0;b+=(d^(a&(c^d)))+blocks[8]+1163531501;b=(b<<20|b>>>12)+c<<0;a+=(c^(d&(b^c)))+blocks[13]-1444681467;a=(a<<5|a>>>27)+b<<0;d+=(b^(c&(a^b)))+blocks[2]-51403784;d=(d<<9|d>>>23)+a<<0;c+=(a^(b&(d^a)))+blocks[7]+1735328473;c=(c<<14|c>>>18)+d<<0;b+=(d^(a&(c^d)))+blocks[12]-1926607734;b=(b<<20|b>>>12)+c<<0;bc=b^c;a+=(bc^d)+blocks[5]-378558;a=(a<<4|a>>>28)+b<<0;d+=(bc^a)+blocks[8]-2022574463;d=(d<<11|d>>>21)+a<<0;da=d^a;c+=(da^b)+blocks[11]+1839030562;c=(c<<16|c>>>16)+d<<0;b+=(da^c)+blocks[14]-35309556;b=(b<<23|b>>>9)+c<<0;bc=b^c;a+=(bc^d)+blocks[1]-1530992060;a=(a<<4|a>>>28)+b<<0;d+=(bc^a)+blocks[4]+1272893353;d=(d<<11|d>>>21)+a<<0;da=d^a;c+=(da^b)+blocks[7]-155497632;c=(c<<16|c>>>16)+d<<0;b+=(da^c)+blocks[10]-1094730640;b=(b<<23|b>>>9)+c<<0;bc=b^c;a+=(bc^d)+blocks[13]+681279174;a=(a<<4|a>>>28)+b<<0;d+=(bc^a)+blocks[0]-358537222;d=(d<<11|d>>>21)+a<<0;da=d^a;c+=(da^b)+blocks[3]-722521979;c=(c<<16|c>>>16)+d<<0;b+=(da^c)+blocks[6]+76029189;b=(b<<23|b>>>9)+c<<0;bc=b^c;a+=(bc^d)+blocks[9]-640364487;a=(a<<4|a>>>28)+b<<0;d+=(bc^a)+blocks[12]-421815835;d=(d<<11|d>>>21)+a<<0;da=d^a;c+=(da^b)+blocks[15]+530742520;c=(c<<16|c>>>16)+d<<0;b+=(da^c)+blocks[2]-995338651;b=(b<<23|b>>>9)+c<<0;a+=(c^(b|~d))+blocks[0]-198630844;a=(a<<6|a>>>26)+b<<0;d+=(b^(a|~c))+blocks[7]+1126891415;d=(d<<10|d>>>22)+a<<0;c+=(a^(d|~b))+blocks[14]-1416354905;c=(c<<15|c>>>17)+d<<0;b+=(d^(c|~a))+blocks[5]-57434055;b=(b<<21|b>>>11)+c<<0;a+=(c^(b|~d))+blocks[12]+1700485571;a=(a<<6|a>>>26)+b<<0;d+=(b^(a|~c))+blocks[3]-1894986606;d=(d<<10|d>>>22)+a<<0;c+=(a^(d|~b))+blocks[10]-1051523;c=(c<<15|c>>>17)+d<<0;b+=(d^(c|~a))+blocks[1]-2054922799;b=(b<<21|b>>>11)+c<<0;a+=(c^(b|~d))+blocks[8]+1873313359;a=(a<<6|a>>>26)+b<<0;d+=(b^(a|~c))+blocks[15]-30611744;d=(d<<10|d>>>22)+a<<0;c+=(a^(d|~b))+blocks[6]-1560198380;c=(c<<15|c>>>17)+d<<0;b+=(d^(c|~a))+blocks[13]+1309151649;b=(b<<21|b>>>11)+c<<0;a+=(c^(b|~d))+blocks[4]-145523070;a=(a<<6|a>>>26)+b<<0;d+=(b^(a|~c))+blocks[11]-1120210379;d=(d<<10|d>>>22)+a<<0;c+=(a^(d|~b))+blocks[2]+718787259;c=(c<<15|c>>>17)+d<<0;b+=(d^(c|~a))+blocks[9]-343485551;b=(b<<21|b>>>11)+c<<0;if(this.first){this.h0=a+1732584193<<0;this.h1=b-271733879<<0;this.h2=c-1732584194<<0;this.h3=d+271733878<<0;this.first=false}else{this.h0=this.h0+a<<0;this.h1=this.h1+b<<0;this.h2=this.h2+c<<0;this.h3=this.h3+d<<0}};Md5.prototype.hex=function(){this.finalize();var h0=this.h0,h1=this.h1,h2=this.h2,h3=this.h3;return HEX_CHARS[(h0>>4)&0x0F]+HEX_CHARS[h0&0x0F]+HEX_CHARS[(h0>>12)&0x0F]+HEX_CHARS[(h0>>8)&0x0F]+HEX_CHARS[(h0>>20)&0x0F]+HEX_CHARS[(h0>>16)&0x0F]+HEX_CHARS[(h0>>28)&0x0F]+HEX_CHARS[(h0>>24)&0x0F]+HEX_CHARS[(h1>>4)&0x0F]+HEX_CHARS[h1&0x0F]+HEX_CHARS[(h1>>12)&0x0F]+HEX_CHARS[(h1>>8)&0x0F]+HEX_CHARS[(h1>>20)&0x0F]+HEX_CHARS[(h1>>16)&0x0F]+HEX_CHARS[(h1>>28)&0x0F]+HEX_CHARS[(h1>>24)&0x0F]+HEX_CHARS[(h2>>4)&0x0F]+HEX_CHARS[h2&0x0F]+HEX_CHARS[(h2>>12)&0x0F]+HEX_CHARS[(h2>>8)&0x0F]+HEX_CHARS[(h2>>20)&0x0F]+HEX_CHARS[(h2>>16)&0x0F]+HEX_CHARS[(h2>>28)&0x0F]+HEX_CHARS[(h2>>24)&0x0F]+HEX_CHARS[(h3>>4)&0x0F]+HEX_CHARS[h3&0x0F]+HEX_CHARS[(h3>>12)&0x0F]+HEX_CHARS[(h3>>8)&0x0F]+HEX_CHARS[(h3>>20)&0x0F]+HEX_CHARS[(h3>>16)&0x0F]+HEX_CHARS[(h3>>28)&0x0F]+HEX_CHARS[(h3>>24)&0x0F]};Md5.prototype.toString=Md5.prototype.hex;Md5.prototype.digest=function(){this.finalize();var h0=this.h0,h1=this.h1,h2=this.h2,h3=this.h3;return[h0&0xFF,(h0>>8)&0xFF,(h0>>16)&0xFF,(h0>>24)&0xFF,h1&0xFF,(h1>>8)&0xFF,(h1>>16)&0xFF,(h1>>24)&0xFF,h2&0xFF,(h2>>8)&0xFF,(h2>>16)&0xFF,(h2>>24)&0xFF,h3&0xFF,(h3>>8)&0xFF,(h3>>16)&0xFF,(h3>>24)&0xFF]};Md5.prototype.array=Md5.prototype.digest;Md5.prototype.arrayBuffer=function(){this.finalize();var buffer=new ArrayBuffer(16);var blocks=new Uint32Array(buffer);blocks[0]=this.h0;blocks[1]=this.h1;blocks[2]=this.h2;blocks[3]=this.h3;return buffer};Md5.prototype.buffer=Md5.prototype.arrayBuffer;Md5.prototype.base64=function(){var v1,v2,v3,base64Str='',bytes=this.array();for(var i=0;i<15;){v1=bytes[i++];v2=bytes[i++];v3=bytes[i++];base64Str+=BASE64_ENCODE_CHAR[v1>>>2]+BASE64_ENCODE_CHAR[(v1<<4|v2>>>4)&63]+BASE64_ENCODE_CHAR[(v2<<2|v3>>>6)&63]+BASE64_ENCODE_CHAR[v3&63]}v1=bytes[i];base64Str+=BASE64_ENCODE_CHAR[v1>>>2]+BASE64_ENCODE_CHAR[(v1<<4)&63]+'==';return base64Str};var exports=createMethod();if(COMMON_JS){module.exports=exports}else{root.md5=exports;md5=exports;if(AMD){define(function(){return exports})}}})(); const baiduMapJson = {"options":{"java_package":"com.smile.baidumap.model"},"nested":{"RepHead":{"fields":{"md5":{"type":"string","id":1},"range":{"type":"string","id":2},"messageHead":{"rule":"repeated","type":"MessageHead","id":3}}},"MessageHead":{"fields":{"offset":{"type":"int32","id":1},"length":{"type":"int32","id":2},"name":{"type":"string","id":3}}},"Result":{"fields":{"type":{"type":"int32","id":1},"error":{"type":"int32","id":2}}},"Ads":{"fields":{"option":{"type":"Option","id":1},"content":{"rule":"repeated","type":"Content","id":2}}},"Option":{"fields":{"lasttime":{"type":"int32","id":1},"checkcode":{"type":"string","id":2},"errmsg":{"type":"string","id":3}}},"Content":{"fields":{"type":{"type":"string","id":1},"data":{"type":"string","id":2},"intval":{"type":"int32","id":3},"start":{"type":"int32","id":4},"end":{"type":"int32","id":5},"id":{"type":"int32","id":6},"updatetime":{"type":"int32","id":7},"order":{"type":"int32","id":8},"ctrlMode":{"type":"string","id":9},"dayTimes":{"type":"int32","id":10}}}}}; const baiduMapRoot = protobuf.Root.fromJSON(baiduMapJson); const isQuanX = typeof $task != "undefined"; const binaryBody = isQuanX ? new Uint8Array($response.bodyBytes) : $response.body; //console.log(`原始数据总长度:${binaryBody.byteLength}`); const beginOffset = 4; const prefixLength = new DataView(binaryBody.slice(0, beginOffset).buffer).getInt32(0); //console.log(`前缀给定的RepHead长度:${prefixLength}`); // 解析RepHead const repHeadData = binaryBody.slice(beginOffset, beginOffset + prefixLength); const repHeadType = baiduMapRoot.lookupType("RepHead"); const repHeadMessage = repHeadType.decode(repHeadData); const originMd5 = repHeadMessage.md5; //console.log(`解析出的原始repHead长度:${repHeadType.encode(repHeadMessage).finish().length}`); //console.log("repHead:" + JSON.stringify(repHeadMessage)); let newResult = null; let newAds = null; const dataBeginOffset = beginOffset + prefixLength; for(let i = 0; i < repHeadMessage.messageHead.length; i++) { let messageHead = repHeadMessage.messageHead[i]; const name = messageHead.name; const targetDataLength = messageHead.length; //console.log("messageHead:" + JSON.stringify(messageHead)); // 开始解析 Result和Ads const currentOffset = dataBeginOffset + messageHead.offset; //console.log(`开始解析${name}数据,起始offset:${currentOffset},读取长度为:${targetDataLength}`); const targetData = binaryBody.slice(currentOffset, currentOffset + targetDataLength); if(name === 'Result'){ // Result我们无需修改 const resultType = baiduMapRoot.lookupType(name); const resultMessage = resultType.decode(targetData); const parseMd5 = md5(binaryBody.slice(currentOffset)); console.log(`解析出的md5和原始md5相同?:${parseMd5 === originMd5}`); newResult = resultType.encode(resultMessage).finish(); //console.log(`解析出的Result:${JSON.stringify(resultMessage)}`); }else if(name === 'Ads'){ // 对Ads进行修改 const adsType = baiduMapRoot.lookupType(name); let adsMessage = adsType.decode(targetData); for(let j = 0; j < adsMessage.content.length; j++) { let item = adsMessage.content[j]; if((item.type.indexOf('_banner') !== -1 || item.type.indexOf('splash_screen1040') !== -1) && item.hasOwnProperty('start') && item.hasOwnProperty('end')){ adsMessage.content[j].start = 1648746061; adsMessage.content[j].end = 1648832461; console.log(`设置${item.type}时间为过期`); } } newAds = adsType.encode(adsMessage).finish(); } } // 生成新RepHead const mergeResultAndAds = Uint8Array.from([...newResult,...newAds]); const newMd5 = md5(mergeResultAndAds); console.log(`新md5:${newMd5}`); repHeadMessage.md5 = newMd5; repHeadMessage.messageHead[0].length = newResult.byteLength; // Ads的offset为Result的偏移量+ Result的长度 repHeadMessage.messageHead[1].offset = newResult.byteLength; repHeadMessage.messageHead[1].length = newAds.byteLength; const newRepHead = repHeadType.encode(repHeadMessage).finish(); const totalLength = beginOffset + newRepHead.byteLength + newResult.byteLength + newAds.byteLength; //console.log(`totalLength:${totalLength}`); let body = new Uint8Array(totalLength); body.set(Uint8Array.from([(newRepHead.byteLength >> 24) & 0xff, (newRepHead.byteLength >> 16) & 0xff, (newRepHead.byteLength >> 8) & 0xff, newRepHead.byteLength & 0xff])); body.set(newRepHead,beginOffset); body.set(newResult,beginOffset + newRepHead.byteLength); body.set(newAds,beginOffset + newRepHead.byteLength + newResult.byteLength); console.log(`${body.byteLength}---${body.buffer.byteLength}`); if(isQuanX){ $done({bodyBytes: body.buffer.slice(body.byteOffset, body.byteLength + body.byteOffset)}); } else { $done({body}); }