From 134362e51fa4c5f1996f3aaf38dcf1ca21e42580 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 18 Apr 2025 17:31:58 +0200 Subject: [PATCH 1/4] fix(deps): update dependency @silentbot1/nat-api to ^0.4.8 (#2941) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6662b3a3db..0f8e10f35d 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "os": false }, "dependencies": { - "@silentbot1/nat-api": "^0.4.7", + "@silentbot1/nat-api": "^0.4.8", "@thaunknown/simple-peer": "^10.0.11", "@webtorrent/http-node": "^1.3.0", "addr-to-ip-port": "^2.0.0", From 048366e96131d7f542ed0e75affe900f0caeb851 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Fri, 18 Apr 2025 15:35:36 +0000 Subject: [PATCH 2/4] chore(release): 2.6.1 ## [2.6.1](https://github.com/webtorrent/webtorrent/compare/v2.6.0...v2.6.1) (2025-04-18) ### Bug Fixes * **deps:** update dependency @silentbot1/nat-api to ^0.4.8 ([#2941](https://github.com/webtorrent/webtorrent/issues/2941)) ([134362e](https://github.com/webtorrent/webtorrent/commit/134362e51fa4c5f1996f3aaf38dcf1ca21e42580)) --- AUTHORS.md | 1 + CHANGELOG.md | 7 +++++++ dist/webtorrent.chromeapp.js | 2 +- dist/webtorrent.chromeapp.js.map | 2 +- dist/webtorrent.min.js | 2 +- dist/webtorrent.min.js.map | 2 +- package.json | 2 +- 7 files changed, 13 insertions(+), 5 deletions(-) diff --git a/AUTHORS.md b/AUTHORS.md index e4e8057120..e6068a6092 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -220,5 +220,6 @@ - ya1Ry (86045923+ya1Ry@users.noreply.github.com) - Paweł Zmarzły (pawo2500@gmail.com) - Maurizio Carboni (maury91@gmail.com) +- hclarke (0@hclarke.ca) #### Generated by scripts/update-authors.sh. diff --git a/CHANGELOG.md b/CHANGELOG.md index 2cd65e1fc3..00bb8da69a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [2.6.1](https://github.com/webtorrent/webtorrent/compare/v2.6.0...v2.6.1) (2025-04-18) + + +### Bug Fixes + +* **deps:** update dependency @silentbot1/nat-api to ^0.4.8 ([#2941](https://github.com/webtorrent/webtorrent/issues/2941)) ([134362e](https://github.com/webtorrent/webtorrent/commit/134362e51fa4c5f1996f3aaf38dcf1ca21e42580)) + # [2.6.0](https://github.com/webtorrent/webtorrent/compare/v2.5.19...v2.6.0) (2025-04-04) diff --git a/dist/webtorrent.chromeapp.js b/dist/webtorrent.chromeapp.js index efa483cf13..dccf1b4f49 100644 --- a/dist/webtorrent.chromeapp.js +++ b/dist/webtorrent.chromeapp.js @@ -1,2 +1,2 @@ -var t={20:(t,e,r)=>{var i=r(2861).Buffer,n=r(7108),s=r(96),o=r(6698),a=r(5359),h=r(4847),u=r(2951);function f(t){s.Writable.call(this);var e=u[t];if(!e)throw new Error("Unknown message digest");this._hashType=e.hash,this._hash=n(e.hash),this._tag=e.id,this._signType=e.sign}function l(t){s.Writable.call(this);var e=u[t];if(!e)throw new Error("Unknown message digest");this._hash=n(e.hash),this._tag=e.id,this._signType=e.sign}function c(t){return new f(t)}function d(t){return new l(t)}Object.keys(u).forEach((function(t){u[t].id=i.from(u[t].id,"hex"),u[t.toLowerCase()]=u[t]})),o(f,s.Writable),f.prototype._write=function(t,e,r){this._hash.update(t),r()},f.prototype.update=function(t,e){return this._hash.update("string"==typeof t?i.from(t,e):t),this},f.prototype.sign=function(t,e){this.end();var r=this._hash.digest(),i=a(r,t,this._hashType,this._signType,this._tag);return e?i.toString(e):i},o(l,s.Writable),l.prototype._write=function(t,e,r){this._hash.update(t),r()},l.prototype.update=function(t,e){return this._hash.update("string"==typeof t?i.from(t,e):t),this},l.prototype.verify=function(t,e,r){var n="string"==typeof e?i.from(e,r):e;this.end();var s=this._hash.digest();return h(n,s,t,this._signType,this._tag)},t.exports={Sign:c,Verify:d,createSign:c,createVerify:d}},76:t=>{t.exports=Function.prototype.call},82:(t,e,r)=>{var i=r(6698),n=r(8287).Buffer,s=r(7568),o=s.base,a=s.constants.der;function h(t){this.enc="der",this.name=t.name,this.entity=t,this.tree=new u,this.tree._init(t.body)}function u(t){o.Node.call(this,"der",t)}function f(t){return t<10?"0"+t:t}t.exports=h,h.prototype.encode=function(t,e){return this.tree._encode(t,e).join()},i(u,o.Node),u.prototype._encodeComposite=function(t,e,r,i){var s,o=function(t,e,r,i){var n;"seqof"===t?t="seq":"setof"===t&&(t="set");if(a.tagByName.hasOwnProperty(t))n=a.tagByName[t];else{if("number"!=typeof t||(0|t)!==t)return i.error("Unknown tag: "+t);n=t}if(n>=31)return i.error("Multi-octet tag encoding unsupported");e||(n|=32);return n|=a.tagClassByName[r||"universal"]<<6,n}(t,e,r,this.reporter);if(i.length<128)return(s=new n(2))[0]=o,s[1]=i.length,this._createEncoderBuffer([s,i]);for(var h=1,u=i.length;u>=256;u>>=8)h++;(s=new n(2+h))[0]=o,s[1]=128|h;u=1+h;for(var f=i.length;f>0;u--,f>>=8)s[u]=255&f;return this._createEncoderBuffer([s,i])},u.prototype._encodeStr=function(t,e){if("bitstr"===e)return this._createEncoderBuffer([0|t.unused,t.data]);if("bmpstr"===e){for(var r=new n(2*t.length),i=0;i=40)return this.reporter.error("Second objid identifier OOB");t.splice(0,2,40*t[0]+t[1])}var s=0;for(i=0;i=128;o>>=7)s++}var a=new n(s),h=a.length-1;for(i=t.length-1;i>=0;i--){o=t[i];for(a[h--]=127&o;(o>>=7)>0;)a[h--]=128|127&o}return this._createEncoderBuffer(a)},u.prototype._encodeTime=function(t,e){var r,i=new Date(t);return"gentime"===e?r=[f(i.getFullYear()),f(i.getUTCMonth()+1),f(i.getUTCDate()),f(i.getUTCHours()),f(i.getUTCMinutes()),f(i.getUTCSeconds()),"Z"].join(""):"utctime"===e?r=[f(i.getFullYear()%100),f(i.getUTCMonth()+1),f(i.getUTCDate()),f(i.getUTCHours()),f(i.getUTCMinutes()),f(i.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+e+" time is not supported yet"),this._encodeStr(r,"octstr")},u.prototype._encodeNull=function(){return this._createEncoderBuffer("")},u.prototype._encodeInt=function(t,e){if("string"==typeof t){if(!e)return this.reporter.error("String int or enum given, but no values map");if(!e.hasOwnProperty(t))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(t));t=e[t]}if("number"!=typeof t&&!n.isBuffer(t)){var r=t.toArray();!t.sign&&128&r[0]&&r.unshift(0),t=new n(r)}if(n.isBuffer(t)){var i=t.length;0===t.length&&i++;var s=new n(i);return t.copy(s),0===t.length&&(s[0]=0),this._createEncoderBuffer(s)}if(t<128)return this._createEncoderBuffer(t);if(t<256)return this._createEncoderBuffer([0,t]);i=1;for(var o=t;o>=256;o>>=8)i++;for(o=(s=new Array(i)).length-1;o>=0;o--)s[o]=255&t,t>>=8;return 128&s[0]&&s.unshift(0),this._createEncoderBuffer(new n(s))},u.prototype._encodeBool=function(t){return this._createEncoderBuffer(t?255:0)},u.prototype._use=function(t,e){return"function"==typeof t&&(t=t(e)),t._getEncoder("der").tree},u.prototype._skipDefault=function(t,e,r){var i,n=this._baseState;if(null===n.default)return!1;var s=t.join();if(void 0===n.defaultBuffer&&(n.defaultBuffer=this._encodeValue(n.default,e,r).join()),s.length!==n.defaultBuffer.length)return!1;for(i=0;i{var i=r(717),n=r(8310);"disable"===i.env.READABLE_STREAM&&n?(t.exports=n,(e=t.exports=n.Readable).Readable=n.Readable,e.Writable=n.Writable,e.Duplex=n.Duplex,e.Transform=n.Transform,e.PassThrough=n.PassThrough,e.Stream=n):((e=t.exports=r(206)).Stream=n||e,e.Readable=e,e.Writable=r(7314),e.Duplex=r(6248),e.Transform=r(1816),e.PassThrough=r(5242))},113:t=>{const e={};function r(t,r,i){i||(i=Error);class n extends i{constructor(t,e,i){super(function(t,e,i){return"string"==typeof r?r:r(t,e,i)}(t,e,i))}}n.prototype.name=i.name,n.prototype.code=t,e[t]=n}function i(t,e){if(Array.isArray(t)){const r=t.length;return t=t.map((t=>String(t))),r>2?`one of ${e} ${t.slice(0,r-1).join(", ")}, or `+t[r-1]:2===r?`one of ${e} ${t[0]} or ${t[1]}`:`of ${e} ${t[0]}`}return`of ${e} ${String(t)}`}r("ERR_INVALID_OPT_VALUE",(function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),r("ERR_INVALID_ARG_TYPE",(function(t,e,r){let n;var s,o;let a;if("string"==typeof e&&(s="not ",e.substr(!o||o<0?0:+o,s.length)===s)?(n="must not be",e=e.replace(/^not /,"")):n="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}(t," argument"))a=`The ${t} ${n} ${i(e,"type")}`;else{const r=function(t,e,r){return"number"!=typeof r&&(r=0),!(r+e.length>t.length)&&-1!==t.indexOf(e,r)}(t,".")?"property":"argument";a=`The "${t}" ${r} ${n} ${i(e,"type")}`}return a+=". Received type "+typeof r,a}),TypeError),r("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),r("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return"The "+t+" method is not implemented"})),r("ERR_STREAM_PREMATURE_CLOSE","Premature close"),r("ERR_STREAM_DESTROYED",(function(t){return"Cannot call "+t+" after a stream was destroyed"})),r("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),r("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),r("ERR_STREAM_WRITE_AFTER_END","write after end"),r("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),r("ERR_UNKNOWN_ENCODING",(function(t){return"Unknown encoding: "+t}),TypeError),r("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.F=e},125:(t,e,r)=>{var i=r(4050),n=r(1241),s=r(530),o=r(2438),a=r(8078);function h(t,e,r){if(t=t.toLowerCase(),s[t])return n.createCipheriv(t,e,r);if(o[t])return new i({key:e,iv:r,mode:t});throw new TypeError("invalid suite type")}function u(t,e,r){if(t=t.toLowerCase(),s[t])return n.createDecipheriv(t,e,r);if(o[t])return new i({key:e,iv:r,mode:t,decrypt:!0});throw new TypeError("invalid suite type")}e.createCipher=e.Cipher=function(t,e){var r,i;if(t=t.toLowerCase(),s[t])r=s[t].key,i=s[t].iv;else{if(!o[t])throw new TypeError("invalid suite type");r=8*o[t].key,i=o[t].iv}var n=a(e,!1,r,i);return h(t,n.key,n.iv)},e.createCipheriv=e.Cipheriv=h,e.createDecipher=e.Decipher=function(t,e){var r,i;if(t=t.toLowerCase(),s[t])r=s[t].key,i=s[t].iv;else{if(!o[t])throw new TypeError("invalid suite type");r=8*o[t].key,i=o[t].iv}var n=a(e,!1,r,i);return u(t,n.key,n.iv)},e.createDecipheriv=e.Decipheriv=u,e.listCiphers=e.getCiphers=function(){return Object.keys(o).concat(n.getCiphers())}},206:(t,e,r)=>{var i=r(717),n=r(3225);t.exports=v;var s,o=r(2240);v.ReadableState=b;r(7007).EventEmitter;var a=function(t,e){return t.listeners(e).length},h=r(1862),u=r(4116).Buffer,f=("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){};var l=Object.create(r(5622));l.inherits=r(6698);var c=r(537),d=void 0;d=c&&c.debuglog?c.debuglog("stream"):function(){};var p,m=r(672),g=r(6278);l.inherits(v,h);var y=["error","close","destroy","pause","resume"];function b(t,e){t=t||{};var i=e instanceof(s=s||r(6248));this.objectMode=!!t.objectMode,i&&(this.objectMode=this.objectMode||!!t.readableObjectMode);var n=t.highWaterMark,o=t.readableHighWaterMark,a=this.objectMode?16:16384;this.highWaterMark=n||0===n?n:i&&(o||0===o)?o:a,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new m,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(p||(p=r(6427).I),this.decoder=new p(t.encoding),this.encoding=t.encoding)}function v(t){if(s=s||r(6248),!(this instanceof v))return new v(t);this._readableState=new b(t,this),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),h.call(this)}function w(t,e,r,i,n){var s,o=t._readableState;null===e?(o.reading=!1,function(t,e){if(e.ended)return;if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,k(t)}(t,o)):(n||(s=function(t,e){var r;i=e,u.isBuffer(i)||i instanceof f||"string"==typeof e||void 0===e||t.objectMode||(r=new TypeError("Invalid non-string/buffer chunk"));var i;return r}(o,e)),s?t.emit("error",s):o.objectMode||e&&e.length>0?("string"==typeof e||o.objectMode||Object.getPrototypeOf(e)===u.prototype||(e=function(t){return u.from(t)}(e)),i?o.endEmitted?t.emit("error",new Error("stream.unshift() after end event")):_(t,o,e,!0):o.ended?t.emit("error",new Error("stream.push() after EOF")):(o.reading=!1,o.decoder&&!r?(e=o.decoder.write(e),o.objectMode||0!==e.length?_(t,o,e,!1):x(t,o)):_(t,o,e,!1))):i||(o.reading=!1));return function(t){return!t.ended&&(t.needReadable||t.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=M?t=M:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function k(t){var e=t._readableState;e.needReadable=!1,e.emittedReadable||(d("emitReadable",e.flowing),e.emittedReadable=!0,e.sync?n.nextTick(E,t):E(t))}function E(t){d("emit readable"),t.emit("readable"),P(t)}function x(t,e){e.readingMore||(e.readingMore=!0,n.nextTick(A,t,e))}function A(t,e){for(var r=e.length;!e.reading&&!e.flowing&&!e.ended&&e.length=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.head.data:e.buffer.concat(e.length),e.buffer.clear()):r=function(t,e,r){var i;ts.length?s.length:t;if(o===s.length?n+=s:n+=s.slice(0,t),0===(t-=o)){o===s.length?(++i,r.next?e.head=r.next:e.head=e.tail=null):(e.head=r,r.data=s.slice(o));break}++i}return e.length-=i,n}(t,e):function(t,e){var r=u.allocUnsafe(t),i=e.head,n=1;i.data.copy(r),t-=i.data.length;for(;i=i.next;){var s=i.data,o=t>s.length?s.length:t;if(s.copy(r,r.length-t,0,o),0===(t-=o)){o===s.length?(++n,i.next?e.head=i.next:e.head=e.tail=null):(e.head=i,i.data=s.slice(o));break}++n}return e.length-=n,r}(t,e);return i}(t,e.buffer,e.decoder),r);var r}function R(t){var e=t._readableState;if(e.length>0)throw new Error('"endReadable()" called on non-empty stream');e.endEmitted||(e.ended=!0,n.nextTick(O,e,t))}function O(t,e){t.endEmitted||0!==t.length||(t.endEmitted=!0,e.readable=!1,e.emit("end"))}function B(t,e){for(var r=0,i=t.length;r=e.highWaterMark||e.ended))return d("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?R(this):k(this),null;if(0===(t=S(t,e))&&e.ended)return 0===e.length&&R(this),null;var i,n=e.needReadable;return d("need readable",n),(0===e.length||e.length-t0?C(t,e):null)?(e.needReadable=!0,t=0):e.length-=t,0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&R(this)),null!==i&&this.emit("data",i),i},v.prototype._read=function(t){this.emit("error",new Error("_read() is not implemented"))},v.prototype.pipe=function(t,e){var r=this,s=this._readableState;switch(s.pipesCount){case 0:s.pipes=t;break;case 1:s.pipes=[s.pipes,t];break;default:s.pipes.push(t)}s.pipesCount+=1,d("pipe count=%d opts=%j",s.pipesCount,e);var h=(!e||!1!==e.end)&&t!==i.stdout&&t!==i.stderr?f:v;function u(e,i){d("onunpipe"),e===r&&i&&!1===i.hasUnpiped&&(i.hasUnpiped=!0,d("cleanup"),t.removeListener("close",y),t.removeListener("finish",b),t.removeListener("drain",l),t.removeListener("error",g),t.removeListener("unpipe",u),r.removeListener("end",f),r.removeListener("end",v),r.removeListener("data",m),c=!0,!s.awaitDrain||t._writableState&&!t._writableState.needDrain||l())}function f(){d("onend"),t.end()}s.endEmitted?n.nextTick(h):r.once("end",h),t.on("unpipe",u);var l=function(t){return function(){var e=t._readableState;d("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&a(t,"data")&&(e.flowing=!0,P(t))}}(r);t.on("drain",l);var c=!1;var p=!1;function m(e){d("ondata"),p=!1,!1!==t.write(e)||p||((1===s.pipesCount&&s.pipes===t||s.pipesCount>1&&-1!==B(s.pipes,t))&&!c&&(d("false write response, pause",s.awaitDrain),s.awaitDrain++,p=!0),r.pause())}function g(e){d("onerror",e),v(),t.removeListener("error",g),0===a(t,"error")&&t.emit("error",e)}function y(){t.removeListener("finish",b),v()}function b(){d("onfinish"),t.removeListener("close",y),v()}function v(){d("unpipe"),r.unpipe(t)}return r.on("data",m),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?o(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,"error",g),t.once("close",y),t.once("finish",b),t.emit("pipe",r),s.flowing||(d("pipe resume"),r.resume()),t},v.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s{var i=r(8490),n=r(7011),s=n.assert,o=n.cachedProperty,a=n.parseBytes;function h(t,e){this.eddsa=t,"object"!=typeof e&&(e=a(e)),Array.isArray(e)&&(s(e.length===2*t.encodingLength,"Signature has invalid size"),e={R:e.slice(0,t.encodingLength),S:e.slice(t.encodingLength)}),s(e.R&&e.S,"Signature without R or S"),t.isPoint(e.R)&&(this._R=e.R),e.S instanceof i&&(this._S=e.S),this._Rencoded=Array.isArray(e.R)?e.R:e.Rencoded,this._Sencoded=Array.isArray(e.S)?e.S:e.Sencoded}o(h,"S",(function(){return this.eddsa.decodeInt(this.Sencoded())})),o(h,"R",(function(){return this.eddsa.decodePoint(this.Rencoded())})),o(h,"Rencoded",(function(){return this.eddsa.encodePoint(this.R())})),o(h,"Sencoded",(function(){return this.eddsa.encodeInt(this.S())})),h.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},h.prototype.toHex=function(){return n.encode(this.toBytes(),"hex").toUpperCase()},t.exports=h},251:(t,e)=>{e.read=function(t,e,r,i,n){var s,o,a=8*n-i-1,h=(1<>1,f=-7,l=r?n-1:0,c=r?-1:1,d=t[e+l];for(l+=c,s=d&(1<<-f)-1,d>>=-f,f+=a;f>0;s=256*s+t[e+l],l+=c,f-=8);for(o=s&(1<<-f)-1,s>>=-f,f+=i;f>0;o=256*o+t[e+l],l+=c,f-=8);if(0===s)s=1-u;else{if(s===h)return o?NaN:1/0*(d?-1:1);o+=Math.pow(2,i),s-=u}return(d?-1:1)*o*Math.pow(2,s-i)},e.write=function(t,e,r,i,n,s){var o,a,h,u=8*s-n-1,f=(1<>1,c=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,d=i?0:s-1,p=i?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=f):(o=Math.floor(Math.log(e)/Math.LN2),e*(h=Math.pow(2,-o))<1&&(o--,h*=2),(e+=o+l>=1?c/h:c*Math.pow(2,1-l))*h>=2&&(o++,h/=2),o+l>=f?(a=0,o=f):o+l>=1?(a=(e*h-1)*Math.pow(2,n),o+=l):(a=e*Math.pow(2,l-1)*Math.pow(2,n),o=0));n>=8;t[r+d]=255&a,d+=p,a/=256,n-=8);for(o=o<0;t[r+d]=255&o,d+=p,o/=256,u-=8);t[r+d-p]|=128*m}},295:(t,e,r)=>{var i=r(8287).Buffer;t.exports=function(t,e){for(var r=Math.min(t.length,e.length),n=new i(r),s=0;s{var i=r(8276);t.exports=function(t){return(new i).update(t).digest()}},345:(t,e,r)=>{function i(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,i)}return r}function n(t){for(var e=1;e0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r}},{key:"concat",value:function(t){if(0===this.length)return h.alloc(0);for(var e,r,i,n=h.allocUnsafe(t>>>0),s=this.head,o=0;s;)e=s.data,r=n,i=o,h.prototype.copy.call(e,r,i),o+=s.data.length,s=s.next;return n}},{key:"consume",value:function(t,e){var r;return tn.length?n.length:t;if(s===n.length?i+=n:i+=n.slice(0,t),0==(t-=s)){s===n.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=n.slice(s));break}++r}return this.length-=r,i}},{key:"_getBuffer",value:function(t){var e=h.allocUnsafe(t),r=this.head,i=1;for(r.data.copy(e),t-=r.data.length;r=r.next;){var n=r.data,s=t>n.length?n.length:t;if(n.copy(e,e.length-t,0,s),0==(t-=s)){s===n.length?(++i,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=n.slice(s));break}++i}return this.length-=i,e}},{key:f,value:function(t,e){return u(this,n(n({},e),{},{depth:0,customInspect:!1}))}}])&&o(e.prototype,r),i&&o(e,i),Object.defineProperty(e,"prototype",{writable:!1}),t}()},370:(t,e,r)=>{var i=r(8490),n=r(6698),s=r(6677),o=r(7011);function a(t){s.call(this,"mont",t),this.a=new i(t.a,16).toRed(this.red),this.b=new i(t.b,16).toRed(this.red),this.i4=new i(4).toRed(this.red).redInvm(),this.two=new i(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function h(t,e,r){s.BasePoint.call(this,t,"projective"),null===e&&null===r?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new i(e,16),this.z=new i(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}n(a,s),t.exports=a,a.prototype.validate=function(t){var e=t.normalize().x,r=e.redSqr(),i=r.redMul(e).redAdd(r.redMul(this.a)).redAdd(e);return 0===i.redSqrt().redSqr().cmp(i)},n(h,s.BasePoint),a.prototype.decodePoint=function(t,e){return this.point(o.toArray(t,e),1)},a.prototype.point=function(t,e){return new h(this,t,e)},a.prototype.pointFromJSON=function(t){return h.fromJSON(this,t)},h.prototype.precompute=function(){},h.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},h.fromJSON=function(t,e){return new h(t,e[0],e[1]||t.one)},h.prototype.inspect=function(){return this.isInfinity()?"":""},h.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},h.prototype.dbl=function(){var t=this.x.redAdd(this.z).redSqr(),e=this.x.redSub(this.z).redSqr(),r=t.redSub(e),i=t.redMul(e),n=r.redMul(e.redAdd(this.curve.a24.redMul(r)));return this.curve.point(i,n)},h.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},h.prototype.diffAdd=function(t,e){var r=this.x.redAdd(this.z),i=this.x.redSub(this.z),n=t.x.redAdd(t.z),s=t.x.redSub(t.z).redMul(r),o=n.redMul(i),a=e.z.redMul(s.redAdd(o).redSqr()),h=e.x.redMul(s.redISub(o).redSqr());return this.curve.point(a,h)},h.prototype.mul=function(t){for(var e=t.clone(),r=this,i=this.curve.point(null,null),n=[];0!==e.cmpn(0);e.iushrn(1))n.push(e.andln(1));for(var s=n.length-1;s>=0;s--)0===n[s]?(r=r.diffAdd(i,this),i=i.dbl()):(i=r.diffAdd(i,this),r=r.dbl());return i},h.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},h.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},h.prototype.eq=function(t){return 0===this.getX().cmp(t.getX())},h.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},h.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},392:(t,e,r)=>{var i=r(2861).Buffer;function n(t,e){this._block=i.alloc(t),this._finalSize=e,this._blockSize=t,this._len=0}n.prototype.update=function(t,e){"string"==typeof t&&(e=e||"utf8",t=i.from(t,e));for(var r=this._block,n=this._blockSize,s=t.length,o=this._len,a=0;a=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=8*this._len;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var i=(4294967295&r)>>>0,n=(r-i)/4294967296;this._block.writeUInt32BE(n,this._blockSize-8),this._block.writeUInt32BE(i,this._blockSize-4)}this._update(this._block);var s=this._hash();return t?s.toString(t):s},n.prototype._update=function(){throw new Error("_update must be implemented by subclass")},t.exports=n},405:t=>{t.exports=async function*(t){for(let e of t)"function"==typeof e&&(e=e()),yield*e}},414:t=>{t.exports=Math.round},453:(t,e,r)=>{var i,n=r(9612),s=r(9383),o=r(1237),a=r(9290),h=r(9538),u=r(8068),f=r(9675),l=r(5345),c=r(9133),d=r(8968),p=r(6188),m=r(8002),g=r(5880),y=r(414),b=r(3093),v=Function,w=function(t){try{return v('"use strict"; return ('+t+").constructor;")()}catch(t){}},_=r(5795),M=r(655),S=function(){throw new f},k=_?function(){try{return S}catch(t){try{return _(arguments,"callee").get}catch(t){return S}}}():S,E=r(4039)(),x=r(3628),A=r(1064),I=r(8648),T=r(1002),P=r(76),C={},R="undefined"!=typeof Uint8Array&&x?x(Uint8Array):i,O={__proto__:null,"%AggregateError%":"undefined"==typeof AggregateError?i:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?i:ArrayBuffer,"%ArrayIteratorPrototype%":E&&x?x([][Symbol.iterator]()):i,"%AsyncFromSyncIteratorPrototype%":i,"%AsyncFunction%":C,"%AsyncGenerator%":C,"%AsyncGeneratorFunction%":C,"%AsyncIteratorPrototype%":C,"%Atomics%":"undefined"==typeof Atomics?i:Atomics,"%BigInt%":"undefined"==typeof BigInt?i:BigInt,"%BigInt64Array%":"undefined"==typeof BigInt64Array?i:BigInt64Array,"%BigUint64Array%":"undefined"==typeof BigUint64Array?i:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?i:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":s,"%eval%":eval,"%EvalError%":o,"%Float16Array%":"undefined"==typeof Float16Array?i:Float16Array,"%Float32Array%":"undefined"==typeof Float32Array?i:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?i:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?i:FinalizationRegistry,"%Function%":v,"%GeneratorFunction%":C,"%Int8Array%":"undefined"==typeof Int8Array?i:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?i:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?i:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":E&&x?x(x([][Symbol.iterator]())):i,"%JSON%":"object"==typeof JSON?JSON:i,"%Map%":"undefined"==typeof Map?i:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&E&&x?x((new Map)[Symbol.iterator]()):i,"%Math%":Math,"%Number%":Number,"%Object%":n,"%Object.getOwnPropertyDescriptor%":_,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?i:Promise,"%Proxy%":"undefined"==typeof Proxy?i:Proxy,"%RangeError%":a,"%ReferenceError%":h,"%Reflect%":"undefined"==typeof Reflect?i:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?i:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&E&&x?x((new Set)[Symbol.iterator]()):i,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?i:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":E&&x?x(""[Symbol.iterator]()):i,"%Symbol%":E?Symbol:i,"%SyntaxError%":u,"%ThrowTypeError%":k,"%TypedArray%":R,"%TypeError%":f,"%Uint8Array%":"undefined"==typeof Uint8Array?i:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?i:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?i:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?i:Uint32Array,"%URIError%":l,"%WeakMap%":"undefined"==typeof WeakMap?i:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?i:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?i:WeakSet,"%Function.prototype.call%":P,"%Function.prototype.apply%":T,"%Object.defineProperty%":M,"%Object.getPrototypeOf%":A,"%Math.abs%":c,"%Math.floor%":d,"%Math.max%":p,"%Math.min%":m,"%Math.pow%":g,"%Math.round%":y,"%Math.sign%":b,"%Reflect.getPrototypeOf%":I};if(x)try{null.error}catch(t){var B=x(x(t));O["%Error.prototype%"]=B}var L=function t(e){var r;if("%AsyncFunction%"===e)r=w("async function () {}");else if("%GeneratorFunction%"===e)r=w("function* () {}");else if("%AsyncGeneratorFunction%"===e)r=w("async function* () {}");else if("%AsyncGenerator%"===e){var i=t("%AsyncGeneratorFunction%");i&&(r=i.prototype)}else if("%AsyncIteratorPrototype%"===e){var n=t("%AsyncGenerator%");n&&x&&(r=x(n.prototype))}return O[e]=r,r},N={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},j=r(6743),U=r(9957),q=j.call(P,Array.prototype.concat),D=j.call(T,Array.prototype.splice),H=j.call(P,String.prototype.replace),F=j.call(P,String.prototype.slice),z=j.call(P,RegExp.prototype.exec),$=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,W=/\\(\\)?/g,K=function(t,e){var r,i=t;if(U(N,i)&&(i="%"+(r=N[i])[0]+"%"),U(O,i)){var n=O[i];if(n===C&&(n=L(i)),void 0===n&&!e)throw new f("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:r,name:i,value:n}}throw new u("intrinsic "+t+" does not exist!")};t.exports=function(t,e){if("string"!=typeof t||0===t.length)throw new f("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof e)throw new f('"allowMissing" argument must be a boolean');if(null===z(/^%?[^%]*%?$/,t))throw new u("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=function(t){var e=F(t,0,1),r=F(t,-1);if("%"===e&&"%"!==r)throw new u("invalid intrinsic syntax, expected closing `%`");if("%"===r&&"%"!==e)throw new u("invalid intrinsic syntax, expected opening `%`");var i=[];return H(t,$,(function(t,e,r,n){i[i.length]=r?H(n,W,"$1"):e||t})),i}(t),i=r.length>0?r[0]:"",n=K("%"+i+"%",e),s=n.name,o=n.value,a=!1,h=n.alias;h&&(i=h[0],D(r,q([0,1],h)));for(var l=1,c=!0;l=r.length){var g=_(o,d);o=(c=!!g)&&"get"in g&&!("originalValue"in g.get)?g.get:o[d]}else c=U(o,d),o=o[d];c&&!a&&(O[s]=o)}}return o}},462:(t,e,r)=>{var i=r(2861).Buffer;function n(t){i.isBuffer(t)||(t=i.from(t));for(var e=t.length/4|0,r=new Array(e),n=0;n>>24]^f[p>>>16&255]^l[m>>>8&255]^c[255&g]^e[y++],o=u[p>>>24]^f[m>>>16&255]^l[g>>>8&255]^c[255&d]^e[y++],a=u[m>>>24]^f[g>>>16&255]^l[d>>>8&255]^c[255&p]^e[y++],h=u[g>>>24]^f[d>>>16&255]^l[p>>>8&255]^c[255&m]^e[y++],d=s,p=o,m=a,g=h;return s=(i[d>>>24]<<24|i[p>>>16&255]<<16|i[m>>>8&255]<<8|i[255&g])^e[y++],o=(i[p>>>24]<<24|i[m>>>16&255]<<16|i[g>>>8&255]<<8|i[255&d])^e[y++],a=(i[m>>>24]<<24|i[g>>>16&255]<<16|i[d>>>8&255]<<8|i[255&p])^e[y++],h=(i[g>>>24]<<24|i[d>>>16&255]<<16|i[p>>>8&255]<<8|i[255&m])^e[y++],[s>>>=0,o>>>=0,a>>>=0,h>>>=0]}var a=[0,1,2,4,8,16,32,64,128,27,54],h=function(){for(var t=new Array(256),e=0;e<256;e++)t[e]=e<128?e<<1:e<<1^283;for(var r=[],i=[],n=[[],[],[],[]],s=[[],[],[],[]],o=0,a=0,h=0;h<256;++h){var u=a^a<<1^a<<2^a<<3^a<<4;u=u>>>8^255&u^99,r[o]=u,i[u]=o;var f=t[o],l=t[f],c=t[l],d=257*t[u]^16843008*u;n[0][o]=d<<24|d>>>8,n[1][o]=d<<16|d>>>16,n[2][o]=d<<8|d>>>24,n[3][o]=d,d=16843009*c^65537*l^257*f^16843008*o,s[0][u]=d<<24|d>>>8,s[1][u]=d<<16|d>>>16,s[2][u]=d<<8|d>>>24,s[3][u]=d,0===o?o=a=1:(o=f^t[t[t[c^f]]],a^=t[t[a]])}return{SBOX:r,INV_SBOX:i,SUB_MIX:n,INV_SUB_MIX:s}}();function u(t){this._key=n(t),this._reset()}u.blockSize=16,u.keySize=32,u.prototype.blockSize=u.blockSize,u.prototype.keySize=u.keySize,u.prototype._reset=function(){for(var t=this._key,e=t.length,r=e+6,i=4*(r+1),n=[],s=0;s>>24,o=h.SBOX[o>>>24]<<24|h.SBOX[o>>>16&255]<<16|h.SBOX[o>>>8&255]<<8|h.SBOX[255&o],o^=a[s/e|0]<<24):e>6&&s%e==4&&(o=h.SBOX[o>>>24]<<24|h.SBOX[o>>>16&255]<<16|h.SBOX[o>>>8&255]<<8|h.SBOX[255&o]),n[s]=n[s-e]^o}for(var u=[],f=0;f>>24]]^h.INV_SUB_MIX[1][h.SBOX[c>>>16&255]]^h.INV_SUB_MIX[2][h.SBOX[c>>>8&255]]^h.INV_SUB_MIX[3][h.SBOX[255&c]]}this._nRounds=r,this._keySchedule=n,this._invKeySchedule=u},u.prototype.encryptBlockRaw=function(t){return o(t=n(t),this._keySchedule,h.SUB_MIX,h.SBOX,this._nRounds)},u.prototype.encryptBlock=function(t){var e=this.encryptBlockRaw(t),r=i.allocUnsafe(16);return r.writeUInt32BE(e[0],0),r.writeUInt32BE(e[1],4),r.writeUInt32BE(e[2],8),r.writeUInt32BE(e[3],12),r},u.prototype.decryptBlock=function(t){var e=(t=n(t))[1];t[1]=t[3],t[3]=e;var r=o(t,this._invKeySchedule,h.INV_SUB_MIX,h.INV_SBOX,this._nRounds),s=i.allocUnsafe(16);return s.writeUInt32BE(r[0],0),s.writeUInt32BE(r[3],4),s.writeUInt32BE(r[2],8),s.writeUInt32BE(r[1],12),s},u.prototype.scrub=function(){s(this._keySchedule),s(this._invKeySchedule),s(this._key)},t.exports.AES=u},480:(t,e,r)=>{var i,n=e,s=r(7952),o=r(894),a=r(7011).assert;function h(t){"short"===t.type?this.curve=new o.short(t):"edwards"===t.type?this.curve=new o.edwards(t):this.curve=new o.mont(t),this.g=this.curve.g,this.n=this.curve.n,this.hash=t.hash,a(this.g.validate(),"Invalid curve"),a(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function u(t,e){Object.defineProperty(n,t,{configurable:!0,enumerable:!0,get:function(){var r=new h(e);return Object.defineProperty(n,t,{configurable:!0,enumerable:!0,value:r}),r}})}n.PresetCurve=h,u("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:s.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),u("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:s.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),u("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:s.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),u("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:s.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),u("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:s.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),u("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:s.sha256,gRed:!1,g:["9"]}),u("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:s.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{i=r(4011)}catch(t){i=void 0}u("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:s.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",i]})},507:(t,e,r)=>{var i=r(453),n=r(6556),s=r(8859),o=r(9675),a=i("%Map%",!0),h=n("Map.prototype.get",!0),u=n("Map.prototype.set",!0),f=n("Map.prototype.has",!0),l=n("Map.prototype.delete",!0),c=n("Map.prototype.size",!0);t.exports=!!a&&function(){var t,e={assert:function(t){if(!e.has(t))throw new o("Side channel does not contain "+s(t))},delete:function(e){if(t){var r=l(t,e);return 0===c(t)&&(t=void 0),r}return!1},get:function(e){if(t)return h(t,e)},has:function(e){return!!t&&f(t,e)},set:function(e,r){t||(t=new a),u(t,e,r)}};return e}},530:(t,e,r)=>{var i={ECB:r(2632),CBC:r(2884),CFB:r(6383),CFB8:r(6975),CFB1:r(5264),OFB:r(6843),CTR:r(3053),GCM:r(3053)},n=r(3219);for(var s in n)n[s].module=i[n[s].mode];t.exports=n},537:(t,e,r)=>{var i=r(717),n=/%[sdj%]/g;e.format=function(t){if(!y(t)){for(var e=[],r=0;r=s)return t;switch(t){case"%s":return String(i[r++]);case"%d":return Number(i[r++]);case"%j":try{return JSON.stringify(i[r++])}catch(t){return"[Circular]"}default:return t}})),h=i[r];r=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),p(r)?i.showHidden=r:r&&e._extend(i,r),b(i.showHidden)&&(i.showHidden=!1),b(i.depth)&&(i.depth=2),b(i.colors)&&(i.colors=!1),b(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=h),f(i,t,i.depth)}function h(t,e){var r=a.styles[e];return r?"["+a.colors[r][0]+"m"+t+"["+a.colors[r][1]+"m":t}function u(t,e){return t}function f(t,r,i){if(t.customInspect&&r&&S(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var n=r.inspect(i,t);return y(n)||(n=f(t,n,i)),n}var s=function(t,e){if(b(e))return t.stylize("undefined","undefined");if(y(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(g(e))return t.stylize(""+e,"number");if(p(e))return t.stylize(""+e,"boolean");if(m(e))return t.stylize("null","null")}(t,r);if(s)return s;var o=Object.keys(r),a=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(r)),M(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return l(r);if(0===o.length){if(S(r)){var h=r.name?": "+r.name:"";return t.stylize("[Function"+h+"]","special")}if(v(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(_(r))return t.stylize(Date.prototype.toString.call(r),"date");if(M(r))return l(r)}var u,w="",k=!1,E=["{","}"];(d(r)&&(k=!0,E=["[","]"]),S(r))&&(w=" [Function"+(r.name?": "+r.name:"")+"]");return v(r)&&(w=" "+RegExp.prototype.toString.call(r)),_(r)&&(w=" "+Date.prototype.toUTCString.call(r)),M(r)&&(w=" "+l(r)),0!==o.length||k&&0!=r.length?i<0?v(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),u=k?function(t,e,r,i,n){for(var s=[],o=0,a=e.length;o=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1}),0);if(i>60)return r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1];return r[0]+e+" "+t.join(", ")+" "+r[1]}(u,w,E)):E[0]+w+E[1]}function l(t){return"["+Error.prototype.toString.call(t)+"]"}function c(t,e,r,i,n,s){var o,a,h;if((h=Object.getOwnPropertyDescriptor(e,n)||{value:e[n]}).get?a=h.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):h.set&&(a=t.stylize("[Setter]","special")),A(i,n)||(o="["+n+"]"),a||(t.seen.indexOf(h.value)<0?(a=m(r)?f(t,h.value,null):f(t,h.value,r-1)).indexOf("\n")>-1&&(a=s?a.split("\n").map((function(t){return" "+t})).join("\n").substr(2):"\n"+a.split("\n").map((function(t){return" "+t})).join("\n")):a=t.stylize("[Circular]","special")),b(o)){if(s&&n.match(/^\d+$/))return a;(o=JSON.stringify(""+n)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+a}function d(t){return Array.isArray(t)}function p(t){return"boolean"==typeof t}function m(t){return null===t}function g(t){return"number"==typeof t}function y(t){return"string"==typeof t}function b(t){return void 0===t}function v(t){return w(t)&&"[object RegExp]"===k(t)}function w(t){return"object"==typeof t&&null!==t}function _(t){return w(t)&&"[object Date]"===k(t)}function M(t){return w(t)&&("[object Error]"===k(t)||t instanceof Error)}function S(t){return"function"==typeof t}function k(t){return Object.prototype.toString.call(t)}function E(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(t){if(b(s)&&(s=i.env.NODE_DEBUG||""),t=t.toUpperCase(),!o[t])if(new RegExp("\\b"+t+"\\b","i").test(s)){var r=i.pid;o[t]=function(){var i=e.format.apply(e,arguments);console.error("%s %d: %s",t,r,i)}}else o[t]=function(){};return o[t]},e.inspect=a,a.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},a.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=d,e.isBoolean=p,e.isNull=m,e.isNullOrUndefined=function(t){return null==t},e.isNumber=g,e.isString=y,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=b,e.isRegExp=v,e.isObject=w,e.isDate=_,e.isError=M,e.isFunction=S,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=r(2503);var x=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function A(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){var t,r;console.log("%s - %s",(t=new Date,r=[E(t.getHours()),E(t.getMinutes()),E(t.getSeconds())].join(":"),[t.getDate(),x[t.getMonth()],r].join(" ")),e.format.apply(e,arguments))},e.inherits=r(6622),e._extend=function(t,e){if(!e||!w(e))return t;for(var r=Object.keys(e),i=r.length;i--;)t[r[i]]=e[r[i]];return t}},580:t=>{var e=/["'&<>]/;t.exports=function(t){var r,i=""+t,n=e.exec(i);if(!n)return i;var s="",o=0,a=0;for(o=n.index;o=0;)n++;if("::"===t.substr(0,2)&&n--,"::"===t.substr(-2,2)&&n--,n>e)return null;for(i=e-n,r=":";i--;)r+="0:";return":"===(t=t.replace("::",r))[0]&&(t=t.slice(1)),":"===t[t.length-1]&&(t=t.slice(0,-1)),{parts:e=function(){const e=t.split(":"),r=[];for(let t=0;t0;){if(n=r-i,n<0&&(n=0),t[s]>>n!=e[s]>>n)return!1;i-=r,s+=1}return!0}function l(t){if(s.test(t))return parseInt(t,16);if("0"===t[0]&&!isNaN(parseInt(t[1],10))){if(n.test(t))return parseInt(t,8);throw new Error(`ipaddr: cannot parse ${t} as octal`)}return parseInt(t,10)}function c(t,e){for(;t.length=0;i-=1){if(n=this.octets[i],!(n in r))return null;if(s=r[n],e&&0!==s)return null;8!==s&&(e=!0),t+=s}return 32-t},t.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},t.prototype.toByteArray=function(){return this.octets.slice(0)},t.prototype.toIPv4MappedAddress=function(){return d.IPv6.parse(`::ffff:${this.toString()}`)},t.prototype.toNormalizedString=function(){return this.toString()},t.prototype.toString=function(){return this.octets.join(".")},t}(),d.IPv4.broadcastAddressFromCIDR=function(t){try{const e=this.parseCIDR(t),r=e[0].toByteArray(),i=this.subnetMaskFromPrefixLength(e[1]).toByteArray(),n=[];let s=0;for(;s<4;)n.push(parseInt(r[s],10)|255^parseInt(i[s],10)),s++;return new this(n)}catch(t){throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.isIPv4=function(t){return null!==this.parser(t)},d.IPv4.isValid=function(t){try{return new this(this.parser(t)),!0}catch(t){return!1}},d.IPv4.isValidCIDR=function(t){try{return this.parseCIDR(t),!0}catch(t){return!1}},d.IPv4.isValidFourPartDecimal=function(t){return!(!d.IPv4.isValid(t)||!t.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},d.IPv4.networkAddressFromCIDR=function(t){let e,r,i,n,s;try{for(e=this.parseCIDR(t),i=e[0].toByteArray(),s=this.subnetMaskFromPrefixLength(e[1]).toByteArray(),n=[],r=0;r<4;)n.push(parseInt(i[r],10)&parseInt(s[r],10)),r++;return new this(n)}catch(t){throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.parse=function(t){const e=this.parser(t);if(null===e)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(e)},d.IPv4.parseCIDR=function(t){let e;if(e=t.match(/^(.+)\/(\d+)$/)){const t=parseInt(e[2]);if(t>=0&&t<=32){const r=[this.parse(e[1]),t];return Object.defineProperty(r,"toString",{value:function(){return this.join("/")}}),r}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},d.IPv4.parser=function(t){let e,r,n;if(e=t.match(i.fourOctet))return function(){const t=e.slice(1,6),i=[];for(let e=0;e4294967295||n<0)throw new Error("ipaddr: address outside defined range");return function(){const t=[];let e;for(e=0;e<=24;e+=8)t.push(n>>e&255);return t}().reverse()}return(e=t.match(i.twoOctet))?function(){const t=e.slice(1,4),r=[];if(n=l(t[1]),n>16777215||n<0)throw new Error("ipaddr: address outside defined range");return r.push(l(t[0])),r.push(n>>16&255),r.push(n>>8&255),r.push(255&n),r}():(e=t.match(i.threeOctet))?function(){const t=e.slice(1,5),r=[];if(n=l(t[2]),n>65535||n<0)throw new Error("ipaddr: address outside defined range");return r.push(l(t[0])),r.push(l(t[1])),r.push(n>>8&255),r.push(255&n),r}():null},d.IPv4.subnetMaskFromPrefixLength=function(t){if((t=parseInt(t))<0||t>32)throw new Error("ipaddr: invalid IPv4 prefix length");const e=[0,0,0,0];let r=0;const i=Math.floor(t/8);for(;r=0;s-=1){if(i=this.parts[s],!(i in r))return null;if(n=r[i],e&&0!==n)return null;16!==n&&(e=!0),t+=n}return 128-t},t.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},t.prototype.toByteArray=function(){let t;const e=[],r=this.parts;for(let i=0;i>8),e.push(255&t);return e},t.prototype.toFixedLengthString=function(){const t=function(){const t=[];for(let e=0;e>8,255&e,r>>8,255&r])},t.prototype.toNormalizedString=function(){const t=function(){const t=[];for(let e=0;en&&(i=r.index,n=r[0].length);return n<0?e:`${e.substring(0,i)}::${e.substring(i+n)}`},t.prototype.toString=function(){return this.toRFC5952String()},t}(),d.IPv6.broadcastAddressFromCIDR=function(t){try{const e=this.parseCIDR(t),r=e[0].toByteArray(),i=this.subnetMaskFromPrefixLength(e[1]).toByteArray(),n=[];let s=0;for(;s<16;)n.push(parseInt(r[s],10)|255^parseInt(i[s],10)),s++;return new this(n)}catch(t){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${t})`)}},d.IPv6.isIPv6=function(t){return null!==this.parser(t)},d.IPv6.isValid=function(t){if("string"==typeof t&&-1===t.indexOf(":"))return!1;try{const e=this.parser(t);return new this(e.parts,e.zoneId),!0}catch(t){return!1}},d.IPv6.isValidCIDR=function(t){if("string"==typeof t&&-1===t.indexOf(":"))return!1;try{return this.parseCIDR(t),!0}catch(t){return!1}},d.IPv6.networkAddressFromCIDR=function(t){let e,r,i,n,s;try{for(e=this.parseCIDR(t),i=e[0].toByteArray(),s=this.subnetMaskFromPrefixLength(e[1]).toByteArray(),n=[],r=0;r<16;)n.push(parseInt(i[r],10)&parseInt(s[r],10)),r++;return new this(n)}catch(t){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${t})`)}},d.IPv6.parse=function(t){const e=this.parser(t);if(null===e.parts)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(e.parts,e.zoneId)},d.IPv6.parseCIDR=function(t){let e,r,i;if((r=t.match(/^(.+)\/(\d+)$/))&&(e=parseInt(r[2]),e>=0&&e<=128))return i=[this.parse(r[1]),e],Object.defineProperty(i,"toString",{value:function(){return this.join("/")}}),i;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},d.IPv6.parser=function(t){let e,r,i,n,s,o;if(i=t.match(h.deprecatedTransitional))return this.parser(`::ffff:${i[1]}`);if(h.native.test(t))return u(t,8);if((i=t.match(h.transitional))&&(o=i[6]||"",e=i[1],i[1].endsWith("::")||(e=e.slice(0,-1)),e=u(e+o,6),e.parts)){for(s=[parseInt(i[2]),parseInt(i[3]),parseInt(i[4]),parseInt(i[5])],r=0;r128)throw new Error("ipaddr: invalid IPv6 prefix length");const e=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];let r=0;const i=Math.floor(t/8);for(;r{var i=r(462),n=r(2861).Buffer,s=r(6168);function o(t,e,r,o){s.call(this),this._cipher=new i.AES(e),this._prev=n.from(r),this._cache=n.allocUnsafe(0),this._secCache=n.allocUnsafe(0),this._decrypt=o,this._mode=t}r(6698)(o,s),o.prototype._update=function(t){return this._mode.encrypt(this,t,this._decrypt)},o.prototype._final=function(){this._cipher.scrub()},t.exports=o},655:t=>{var e=Object.defineProperty||!1;if(e)try{e({},"a",{value:1})}catch(t){e=!1}t.exports=e},672:(t,e,r)=>{var i=r(4116).Buffer,n=r(537);t.exports=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.head=null,this.tail=null,this.length=0}return t.prototype.push=function(t){var e={data:t,next:null};this.length>0?this.tail.next=e:this.head=e,this.tail=e,++this.length},t.prototype.unshift=function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length},t.prototype.shift=function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}},t.prototype.clear=function(){this.head=this.tail=null,this.length=0},t.prototype.join=function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r},t.prototype.concat=function(t){if(0===this.length)return i.alloc(0);for(var e,r,n,s=i.allocUnsafe(t>>>0),o=this.head,a=0;o;)e=o.data,r=s,n=a,e.copy(r,n),a+=o.data.length,o=o.next;return s},t}(),n&&n.inspect&&n.inspect.custom&&(t.exports.prototype[n.inspect.custom]=function(){var t=n.inspect({length:this.length});return this.constructor.name+" "+t})},681:(t,e,r)=>{var i={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20},n=r(3507),s=r(2861).Buffer,o=r(4196),a=r(2455),h=r(3382);t.exports=function(t,e,r,u,f){o(r,u),t=h(t,a,"Password"),e=h(e,a,"Salt"),f=f||"sha1";var l=s.allocUnsafe(u),c=s.allocUnsafe(e.length+4);e.copy(c,0,0,e.length);for(var d=0,p=i[f],m=Math.ceil(u/p),g=1;g<=m;g++){c.writeUInt32BE(g,e.length);for(var y=n(f,t).update(c).digest(),b=y,v=1;v{r.r(e),r.d(e,{addListener:()=>c,argv:()=>a,binding:()=>k,browser:()=>s,chdir:()=>E,cwd:()=>M,emit:()=>y,env:()=>o,listeners:()=>_,nextTick:()=>w,off:()=>p,on:()=>l,once:()=>d,prependListener:()=>b,prependOnceListener:()=>v,removeAllListeners:()=>g,removeListener:()=>m,title:()=>n,umask:()=>S,version:()=>h,versions:()=>u});var i=r(9596);const n="browser",s=!0,o={},a=[],h="",u={};function f(){}const l=f,c=f,d=f,p=f,m=f,g=f,y=f,b=f,v=f,w=(t,...e)=>i((()=>t(...e))),_=t=>[],M=()=>"/",S=()=>0,k=t=>{throw new Error("process.binding is not supported")},E=t=>{throw new Error("process.chdir is not supported")}},735:(t,e,r)=>{var i=r(6698),n=r(82);function s(t){n.call(this,t),this.enc="pem"}i(s,n),t.exports=s,s.prototype.encode=function(t,e){for(var r=n.prototype.encode.call(this,t).toString("base64"),i=["-----BEGIN "+e.label+"-----"],s=0;s{t.exports=function(t){function e(t){let r,n,s,o=null;function a(...t){if(!a.enabled)return;const i=a,n=Number(new Date),s=n-(r||n);i.diff=s,i.prev=r,i.curr=n,r=n,t[0]=e.coerce(t[0]),"string"!=typeof t[0]&&t.unshift("%O");let o=0;t[0]=t[0].replace(/%([a-zA-Z%])/g,((r,n)=>{if("%%"===r)return"%";o++;const s=e.formatters[n];if("function"==typeof s){const e=t[o];r=s.call(i,e),t.splice(o,1),o--}return r})),e.formatArgs.call(i,t);(i.log||e.log).apply(i,t)}return a.namespace=t,a.useColors=e.useColors(),a.color=e.selectColor(t),a.extend=i,a.destroy=e.destroy,Object.defineProperty(a,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==o?o:(n!==e.namespaces&&(n=e.namespaces,s=e.enabled(t)),s),set:t=>{o=t}}),"function"==typeof e.init&&e.init(a),a}function i(t,r){const i=e(this.namespace+(void 0===r?":":r)+t);return i.log=this.log,i}function n(t,e){let r=0,i=0,n=-1,s=0;for(;r"-"+t))].join(",");return e.enable(""),t},e.enable=function(t){e.save(t),e.namespaces=t,e.names=[],e.skips=[];const r=("string"==typeof t?t:"").trim().replace(" ",",").split(",").filter(Boolean);for(const t of r)"-"===t[0]?e.skips.push(t.slice(1)):e.names.push(t)},e.enabled=function(t){for(const r of e.skips)if(n(t,r))return!1;for(const r of e.names)if(n(t,r))return!0;return!1},e.humanize=r(6585),e.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(t).forEach((r=>{e[r]=t[r]})),e.names=[],e.skips=[],e.formatters={},e.selectColor=function(t){let r=0;for(let e=0;e{var i,n=r(717),s=r(3519),o=r(6611);try{i=r(2376)}catch(t){}var a=function(){},h=/^v?\.0/.test(n.version),u=function(t){return"function"==typeof t},f=function(t,e,r,n){n=s(n);var f=!1;t.on("close",(function(){f=!0})),o(t,{readable:e,writable:r},(function(t){if(t)return n(t);f=!0,n()}));var l=!1;return function(e){if(!f&&!l)return l=!0,function(t){return!!h&&!!i&&(t instanceof(i.ReadStream||a)||t instanceof(i.WriteStream||a))&&u(t.close)}(t)?t.close(a):function(t){return t.setHeader&&u(t.abort)}(t)?t.abort():u(t.destroy)?t.destroy():void n(e||new Error("stream was destroyed"))}},l=function(t){t()},c=function(t,e){return t.pipe(e)};t.exports=function(){var t,e=Array.prototype.slice.call(arguments),r=u(e[e.length-1]||a)&&e.pop()||a;if(Array.isArray(e[0])&&(e=e[0]),e.length<2)throw new Error("pump requires two streams per minimum");var i=e.map((function(n,s){var o=s0,(function(e){t||(t=e),e&&i.forEach(l),o||(i.forEach(l),r(t))}))}));return e.reduce(c)}},894:(t,e,r)=>{var i=e;i.base=r(6677),i.short=r(9188),i.mont=r(370),i.edwards=r(1298)},920:(t,e,r)=>{var i=r(9675),n=r(8859),s=r(4803),o=r(507),a=r(2271)||o||s;t.exports=function(){var t,e={assert:function(t){if(!e.has(t))throw new i("Side channel does not contain "+n(t))},delete:function(e){return!!t&&t.delete(e)},get:function(e){return t&&t.get(e)},has:function(e){return!!t&&t.has(e)},set:function(e,r){t||(t=a()),t.set(e,r)}};return e}},975:t=>{var e=function(){function t(t,e,r){this.name=t,this.max=e,this.constructor=null!=r?r:function(){},this.list=[]}return t.prototype.alloc=function(){return this.list.length?this.list.shift():this.constructor.apply(this,arguments)},t.prototype.free=function(t){return this.list.length{r.d(e,{A:()=>p});var i=r(9639);function n(t){const e=t<0?1:0;return t=Math.abs(Number(t||1)),Math.floor(Math.log10(t))+1+e}function s(t){return ArrayBuffer.isView(t)?"arraybufferview":Array.isArray(t)?"array":t instanceof Number?"number":t instanceof Boolean?"boolean":t instanceof Set?"set":t instanceof Map?"map":t instanceof String?"string":t instanceof ArrayBuffer?"arraybuffer":typeof t}function o(t,e,r){const n=[];let s=null;return o._encode(n,t),s=(0,i.xW)(n),o.bytes=s.length,ArrayBuffer.isView(e)?(e.set(s,r),e):s}o.bytes=-1,o._floatConversionDetected=!1,o._encode=function(t,e){if(null!=e)switch(s(e)){case"object":o.dict(t,e);break;case"map":o.dictMap(t,e);break;case"array":o.list(t,e);break;case"set":o.listSet(t,e);break;case"string":o.string(t,e);break;case"number":case"boolean":o.number(t,e);break;case"arraybufferview":o.buffer(t,new Uint8Array(e.buffer,e.byteOffset,e.byteLength));break;case"arraybuffer":o.buffer(t,new Uint8Array(e))}};const a=new Uint8Array([101]),h=new Uint8Array([100]),u=new Uint8Array([108]);o.buffer=function(t,e){t.push((0,i.L0)(e.length+":"),e)},o.string=function(t,e){t.push((0,i.L0)((0,i.L0)(e).byteLength+":"+e))},o.number=function(t,e){if(Number.isInteger(e))return t.push((0,i.L0)("i"+BigInt(e)+"e"));const r=2147483648,n=(e/r|0)*r+(e%r|0);t.push((0,i.L0)("i"+n+"e")),n===e||o._floatConversionDetected||(o._floatConversionDetected=!0,console.warn('WARNING: Possible data corruption detected with value "'+e+'":','Bencoding only defines support for integers, value was converted to "'+n+'"'),console.trace())},o.dict=function(t,e){t.push(h);let r,i=0;const n=Object.keys(e).sort(),s=n.length;for(;i=48)i=10*i+(r-48);else if(s!==e||43!==r){if(s!==e||45!==r){if(46===r)break;throw new Error("not a number: buffer["+s+"] = "+r)}n=-1}}return i*n}function c(t,e,r,n){return null==t||0===t.length?null:("number"!=typeof e&&null==n&&(n=e,e=void 0),"number"!=typeof r&&null==n&&(n=r,r=void 0),c.position=0,c.encoding=n||null,c.data=ArrayBuffer.isView(t)?new Uint8Array(t.slice(e,r)):(0,i.L0)(t),c.bytes=c.data.length,c.next())}c.bytes=0,c.position=0,c.data=null,c.encoding=null,c.next=function(){switch(c.data[c.position]){case 100:return c.dictionary();case 108:return c.list();case 105:return c.integer();default:return c.buffer()}},c.find=function(t){let e=c.position;const r=c.data.length,i=c.data;for(;e{var i=r(9673).Reporter,n=r(9673).EncoderBuffer,s=r(9673).DecoderBuffer,o=r(3349),a=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],h=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(a);function u(t,e){var r={};this._baseState=r,r.enc=t,r.parent=e||null,r.children=null,r.tag=null,r.args=null,r.reverseArgs=null,r.choice=null,r.optional=!1,r.any=!1,r.obj=!1,r.use=null,r.useDecoder=null,r.key=null,r.default=null,r.explicit=null,r.implicit=null,r.contains=null,r.parent||(r.children=[],this._wrap())}t.exports=u;var f=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];u.prototype.clone=function(){var t=this._baseState,e={};f.forEach((function(r){e[r]=t[r]}));var r=new this.constructor(e.parent);return r._baseState=e,r},u.prototype._wrap=function(){var t=this._baseState;h.forEach((function(e){this[e]=function(){var r=new this.constructor(this);return t.children.push(r),r[e].apply(r,arguments)}}),this)},u.prototype._init=function(t){var e=this._baseState;o(null===e.parent),t.call(this),e.children=e.children.filter((function(t){return t._baseState.parent===this}),this),o.equal(e.children.length,1,"Root node can have only one child")},u.prototype._useArgs=function(t){var e=this._baseState,r=t.filter((function(t){return t instanceof this.constructor}),this);t=t.filter((function(t){return!(t instanceof this.constructor)}),this),0!==r.length&&(o(null===e.children),e.children=r,r.forEach((function(t){t._baseState.parent=this}),this)),0!==t.length&&(o(null===e.args),e.args=t,e.reverseArgs=t.map((function(t){if("object"!=typeof t||t.constructor!==Object)return t;var e={};return Object.keys(t).forEach((function(r){r==(0|r)&&(r|=0);var i=t[r];e[i]=r})),e})))},["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"].forEach((function(t){u.prototype[t]=function(){var e=this._baseState;throw new Error(t+" not implemented for encoding: "+e.enc)}})),a.forEach((function(t){u.prototype[t]=function(){var e=this._baseState,r=Array.prototype.slice.call(arguments);return o(null===e.tag),e.tag=t,this._useArgs(r),this}})),u.prototype.use=function(t){o(t);var e=this._baseState;return o(null===e.use),e.use=t,this},u.prototype.optional=function(){return this._baseState.optional=!0,this},u.prototype.def=function(t){var e=this._baseState;return o(null===e.default),e.default=t,e.optional=!0,this},u.prototype.explicit=function(t){var e=this._baseState;return o(null===e.explicit&&null===e.implicit),e.explicit=t,this},u.prototype.implicit=function(t){var e=this._baseState;return o(null===e.explicit&&null===e.implicit),e.implicit=t,this},u.prototype.obj=function(){var t=this._baseState,e=Array.prototype.slice.call(arguments);return t.obj=!0,0!==e.length&&this._useArgs(e),this},u.prototype.key=function(t){var e=this._baseState;return o(null===e.key),e.key=t,this},u.prototype.any=function(){return this._baseState.any=!0,this},u.prototype.choice=function(t){var e=this._baseState;return o(null===e.choice),e.choice=t,this._useArgs(Object.keys(t).map((function(e){return t[e]}))),this},u.prototype.contains=function(t){var e=this._baseState;return o(null===e.use),e.contains=t,this},u.prototype._decode=function(t,e){var r=this._baseState;if(null===r.parent)return t.wrapResult(r.children[0]._decode(t,e));var i,n=r.default,o=!0,a=null;if(null!==r.key&&(a=t.enterKey(r.key)),r.optional){var h=null;if(null!==r.explicit?h=r.explicit:null!==r.implicit?h=r.implicit:null!==r.tag&&(h=r.tag),null!==h||r.any){if(o=this._peekTag(t,h,r.any),t.isError(o))return o}else{var u=t.save();try{null===r.choice?this._decodeGeneric(r.tag,t,e):this._decodeChoice(t,e),o=!0}catch(t){o=!1}t.restore(u)}}if(r.obj&&o&&(i=t.enterObject()),o){if(null!==r.explicit){var f=this._decodeTag(t,r.explicit);if(t.isError(f))return f;t=f}var l=t.offset;if(null===r.use&&null===r.choice){if(r.any)u=t.save();var c=this._decodeTag(t,null!==r.implicit?r.implicit:r.tag,r.any);if(t.isError(c))return c;r.any?n=t.raw(u):t=c}if(e&&e.track&&null!==r.tag&&e.track(t.path(),l,t.length,"tagged"),e&&e.track&&null!==r.tag&&e.track(t.path(),t.offset,t.length,"content"),r.any||(n=null===r.choice?this._decodeGeneric(r.tag,t,e):this._decodeChoice(t,e)),t.isError(n))return n;if(r.any||null!==r.choice||null===r.children||r.children.forEach((function(r){r._decode(t,e)})),r.contains&&("octstr"===r.tag||"bitstr"===r.tag)){var d=new s(n);n=this._getUse(r.contains,t._reporterState.obj)._decode(d,e)}}return r.obj&&o&&(n=t.leaveObject(i)),null===r.key||null===n&&!0!==o?null!==a&&t.exitKey(a):t.leaveKey(a,r.key,n),n},u.prototype._decodeGeneric=function(t,e,r){var i=this._baseState;return"seq"===t||"set"===t?null:"seqof"===t||"setof"===t?this._decodeList(e,t,i.args[0],r):/str$/.test(t)?this._decodeStr(e,t,r):"objid"===t&&i.args?this._decodeObjid(e,i.args[0],i.args[1],r):"objid"===t?this._decodeObjid(e,null,null,r):"gentime"===t||"utctime"===t?this._decodeTime(e,t,r):"null_"===t?this._decodeNull(e,r):"bool"===t?this._decodeBool(e,r):"objDesc"===t?this._decodeStr(e,t,r):"int"===t||"enum"===t?this._decodeInt(e,i.args&&i.args[0],r):null!==i.use?this._getUse(i.use,e._reporterState.obj)._decode(e,r):e.error("unknown tag: "+t)},u.prototype._getUse=function(t,e){var r=this._baseState;return r.useDecoder=this._use(t,e),o(null===r.useDecoder._baseState.parent),r.useDecoder=r.useDecoder._baseState.children[0],r.implicit!==r.useDecoder._baseState.implicit&&(r.useDecoder=r.useDecoder.clone(),r.useDecoder._baseState.implicit=r.implicit),r.useDecoder},u.prototype._decodeChoice=function(t,e){var r=this._baseState,i=null,n=!1;return Object.keys(r.choice).some((function(s){var o=t.save(),a=r.choice[s];try{var h=a._decode(t,e);if(t.isError(h))return!1;i={type:s,value:h},n=!0}catch(e){return t.restore(o),!1}return!0}),this),n?i:t.error("Choice not matched")},u.prototype._createEncoderBuffer=function(t){return new n(t,this.reporter)},u.prototype._encode=function(t,e,r){var i=this._baseState;if(null===i.default||i.default!==t){var n=this._encodeValue(t,e,r);if(void 0!==n&&!this._skipDefault(n,e,r))return n}},u.prototype._encodeValue=function(t,e,r){var n=this._baseState;if(null===n.parent)return n.children[0]._encode(t,e||new i);var s=null;if(this.reporter=e,n.optional&&void 0===t){if(null===n.default)return;t=n.default}var o=null,a=!1;if(n.any)s=this._createEncoderBuffer(t);else if(n.choice)s=this._encodeChoice(t,e);else if(n.contains)o=this._getUse(n.contains,r)._encode(t,e),a=!0;else if(n.children)o=n.children.map((function(r){if("null_"===r._baseState.tag)return r._encode(null,e,t);if(null===r._baseState.key)return e.error("Child should have a key");var i=e.enterKey(r._baseState.key);if("object"!=typeof t)return e.error("Child expected, but input is not object");var n=r._encode(t[r._baseState.key],e,t);return e.leaveKey(i),n}),this).filter((function(t){return t})),o=this._createEncoderBuffer(o);else if("seqof"===n.tag||"setof"===n.tag){if(!n.args||1!==n.args.length)return e.error("Too many args for : "+n.tag);if(!Array.isArray(t))return e.error("seqof/setof, but data is not Array");var h=this.clone();h._baseState.implicit=null,o=this._createEncoderBuffer(t.map((function(r){var i=this._baseState;return this._getUse(i.args[0],t)._encode(r,e)}),h))}else null!==n.use?s=this._getUse(n.use,r)._encode(t,e):(o=this._encodePrimitive(n.tag,t),a=!0);if(!n.any&&null===n.choice){var u=null!==n.implicit?n.implicit:n.tag,f=null===n.implicit?"universal":"context";null===u?null===n.use&&e.error("Tag could be omitted only for .use()"):null===n.use&&(s=this._encodeComposite(u,a,f,o))}return null!==n.explicit&&(s=this._encodeComposite(n.explicit,!1,"context",s)),s},u.prototype._encodeChoice=function(t,e){var r=this._baseState,i=r.choice[t.type];return i||o(!1,t.type+" not found in "+JSON.stringify(Object.keys(r.choice))),i._encode(t.value,e)},u.prototype._encodePrimitive=function(t,e){var r=this._baseState;if(/str$/.test(t))return this._encodeStr(e,t);if("objid"===t&&r.args)return this._encodeObjid(e,r.reverseArgs[0],r.args[1]);if("objid"===t)return this._encodeObjid(e,null,null);if("gentime"===t||"utctime"===t)return this._encodeTime(e,t);if("null_"===t)return this._encodeNull();if("int"===t||"enum"===t)return this._encodeInt(e,r.args&&r.reverseArgs[0]);if("bool"===t)return this._encodeBool(e);if("objDesc"===t)return this._encodeStr(e,t);throw new Error("Unsupported tag: "+t)},u.prototype._isNumstr=function(t){return/^[0-9 ]*$/.test(t)},u.prototype._isPrintstr=function(t){return/^[A-Za-z0-9 '\(\)\+,\-\.\/:=\?]*$/.test(t)}},1002:t=>{t.exports=Function.prototype.apply},1035:t=>{function e(t){return(+Date.now()-t)/100&65535}t.exports=function(t){const r=+Date.now(),i=10*(t||5),n=[0];let s=1,o=e(r)-1&65535;return function(t){const a=e(r);let h=a-o&65535;for(h>i&&(h=i),o=a;h--;)s===i&&(s=0),n[s]=n[0===s?i-1:s-1],s++;t&&(n[s-1]+=t);const u=n[s-1],f=n.length{var i=r(9612);t.exports=i.getPrototypeOf||null},1093:t=>{var e=Object.prototype.toString;t.exports=function(t){var r=e.call(t),i="[object Arguments]"===r;return i||(i="[object Array]"!==r&&null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&"[object Function]"===e.call(t.callee)),i}},1133:(t,e,r)=>{let i=r(8673);t.exports=new i(r(8446))},1137:(t,e,r)=>{var i=r(7568);e.certificate=r(6413);var n=i.define("RSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())}));e.RSAPrivateKey=n;var s=i.define("RSAPublicKey",(function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())}));e.RSAPublicKey=s;var o=i.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())})),a=i.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(o),this.key("subjectPublicKey").bitstr())}));e.PublicKey=a;var h=i.define("PrivateKeyInfo",(function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(o),this.key("subjectPrivateKey").octstr())}));e.PrivateKey=h;var u=i.define("EncryptedPrivateKeyInfo",(function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())}));e.EncryptedPrivateKey=u;var f=i.define("DSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())}));e.DSAPrivateKey=f,e.DSAparam=i.define("DSAparam",(function(){this.int()}));var l=i.define("ECParameters",(function(){this.choice({namedCurve:this.objid()})})),c=i.define("ECPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(l),this.key("publicKey").optional().explicit(1).bitstr())}));e.ECPrivateKey=c,e.signature=i.define("signature",(function(){this.seq().obj(this.key("r").int(),this.key("s").int())}))},1158:function(t,e,r){!function(t,e){function i(t,e){if(!t)throw new Error(e||"Assertion failed")}function n(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function s(t,e,r){if(s.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=s:e.BN=s,s.BN=s,s.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(8287).Buffer}catch(t){}function a(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function h(t,e,r){var i=a(t,r);return r-1>=e&&(i|=a(t,r-1)<<4),i}function u(t,e,r,i){for(var n=0,s=Math.min(t.length,r),o=e;o=49?a-49+10:a>=17?a-17+10:a}return n}s.isBN=function(t){return t instanceof s||null!==t&&"object"==typeof t&&t.constructor.wordSize===s.wordSize&&Array.isArray(t.words)},s.max=function(t,e){return t.cmp(e)>0?t:e},s.min=function(t,e){return t.cmp(e)<0?t:e},s.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),i(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n=0;n-=3)o=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[s]|=o<>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);else if("le"===r)for(n=0,s=0;n>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);return this.strip()},s.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i=e;i-=2)n=h(t,e,i)<=18?(s-=18,o+=1,this.words[o]|=n>>>26):s+=8;else for(i=(t.length-e)%2==0?e+1:e;i=18?(s-=18,o+=1,this.words[o]|=n>>>26):s+=8;this.strip()},s.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var s=t.length-r,o=s%i,a=Math.min(s,s-o)+r,h=0,f=r;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var f=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],c=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],s=0|e.words[0],o=n*s,a=67108863&o,h=o/67108864|0;r.words[0]=a;for(var u=1;u>>26,l=67108863&h,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(o=(n=0|t.words[p])*(s=0|e.words[d])+l)/67108864|0,l=67108863&o}r.words[u]=0|l,h=0|f}return 0!==h?r.words[u]=0|h:r.length--,r.strip()}s.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var n=0,s=0,o=0;o>>24-n&16777215,(n+=2)>=26&&(n-=26,o--),r=0!==s||o!==this.length-1?f[6-h.length]+h+r:h+r}for(0!==s&&(r=s.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var u=l[t],d=c[t];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);r=(p=p.idivn(d)).isZero()?m+r:f[u-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(t,e){return i(void 0!==o),this.toArrayLike(o,t,e)},s.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},s.prototype.toArrayLike=function(t,e,r){var n=this.byteLength(),s=r||Math.max(1,n);i(n<=s,"byte array longer than desired length"),i(s>0,"Requested array length <= 0"),this.strip();var o,a,h="le"===e,u=new t(s),f=this.clone();if(h){for(a=0;!f.isZero();a++)o=f.andln(255),f.iushrn(8),u[a]=o;for(;a=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},s.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 8191&e||(r+=13,e>>>=13),127&e||(r+=7,e>>>=7),15&e||(r+=4,e>>>=4),3&e||(r+=2,e>>>=2),1&e||r++,r},s.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},s.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},s.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},s.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},s.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},s.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},s.prototype.inotn=function(t){i("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},s.prototype.notn=function(t){return this.clone().inotn(t)},s.prototype.setn=function(t,e){i("number"==typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,s=0;s>>26;for(;0!==n&&s>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;st.length?this.clone().iadd(t):t.clone().iadd(this)},s.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var s=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==s&&o>26,this.words[o]=67108863&e;if(0===s&&o>>13,d=0|o[1],p=8191&d,m=d>>>13,g=0|o[2],y=8191&g,b=g>>>13,v=0|o[3],w=8191&v,_=v>>>13,M=0|o[4],S=8191&M,k=M>>>13,E=0|o[5],x=8191&E,A=E>>>13,I=0|o[6],T=8191&I,P=I>>>13,C=0|o[7],R=8191&C,O=C>>>13,B=0|o[8],L=8191&B,N=B>>>13,j=0|o[9],U=8191&j,q=j>>>13,D=0|a[0],H=8191&D,F=D>>>13,z=0|a[1],$=8191&z,W=z>>>13,K=0|a[2],V=8191&K,Z=K>>>13,G=0|a[3],Y=8191&G,J=G>>>13,X=0|a[4],Q=8191&X,tt=X>>>13,et=0|a[5],rt=8191&et,it=et>>>13,nt=0|a[6],st=8191&nt,ot=nt>>>13,at=0|a[7],ht=8191&at,ut=at>>>13,ft=0|a[8],lt=8191&ft,ct=ft>>>13,dt=0|a[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,H))|0)+((8191&(n=(n=Math.imul(l,F))+Math.imul(c,H)|0))<<13)|0;u=((s=Math.imul(c,F))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,H),n=(n=Math.imul(p,F))+Math.imul(m,H)|0,s=Math.imul(m,F);var yt=(u+(i=i+Math.imul(l,$)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,$)|0))<<13)|0;u=((s=s+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,H),n=(n=Math.imul(y,F))+Math.imul(b,H)|0,s=Math.imul(b,F),i=i+Math.imul(p,$)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,$)|0,s=s+Math.imul(m,W)|0;var bt=(u+(i=i+Math.imul(l,V)|0)|0)+((8191&(n=(n=n+Math.imul(l,Z)|0)+Math.imul(c,V)|0))<<13)|0;u=((s=s+Math.imul(c,Z)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(w,H),n=(n=Math.imul(w,F))+Math.imul(_,H)|0,s=Math.imul(_,F),i=i+Math.imul(y,$)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(b,$)|0,s=s+Math.imul(b,W)|0,i=i+Math.imul(p,V)|0,n=(n=n+Math.imul(p,Z)|0)+Math.imul(m,V)|0,s=s+Math.imul(m,Z)|0;var vt=(u+(i=i+Math.imul(l,Y)|0)|0)+((8191&(n=(n=n+Math.imul(l,J)|0)+Math.imul(c,Y)|0))<<13)|0;u=((s=s+Math.imul(c,J)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(S,H),n=(n=Math.imul(S,F))+Math.imul(k,H)|0,s=Math.imul(k,F),i=i+Math.imul(w,$)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(_,$)|0,s=s+Math.imul(_,W)|0,i=i+Math.imul(y,V)|0,n=(n=n+Math.imul(y,Z)|0)+Math.imul(b,V)|0,s=s+Math.imul(b,Z)|0,i=i+Math.imul(p,Y)|0,n=(n=n+Math.imul(p,J)|0)+Math.imul(m,Y)|0,s=s+Math.imul(m,J)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((s=s+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(x,H),n=(n=Math.imul(x,F))+Math.imul(A,H)|0,s=Math.imul(A,F),i=i+Math.imul(S,$)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(k,$)|0,s=s+Math.imul(k,W)|0,i=i+Math.imul(w,V)|0,n=(n=n+Math.imul(w,Z)|0)+Math.imul(_,V)|0,s=s+Math.imul(_,Z)|0,i=i+Math.imul(y,Y)|0,n=(n=n+Math.imul(y,J)|0)+Math.imul(b,Y)|0,s=s+Math.imul(b,J)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,s=s+Math.imul(m,tt)|0;var _t=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((s=s+Math.imul(c,it)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(T,H),n=(n=Math.imul(T,F))+Math.imul(P,H)|0,s=Math.imul(P,F),i=i+Math.imul(x,$)|0,n=(n=n+Math.imul(x,W)|0)+Math.imul(A,$)|0,s=s+Math.imul(A,W)|0,i=i+Math.imul(S,V)|0,n=(n=n+Math.imul(S,Z)|0)+Math.imul(k,V)|0,s=s+Math.imul(k,Z)|0,i=i+Math.imul(w,Y)|0,n=(n=n+Math.imul(w,J)|0)+Math.imul(_,Y)|0,s=s+Math.imul(_,J)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(b,Q)|0,s=s+Math.imul(b,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,s=s+Math.imul(m,it)|0;var Mt=(u+(i=i+Math.imul(l,st)|0)|0)+((8191&(n=(n=n+Math.imul(l,ot)|0)+Math.imul(c,st)|0))<<13)|0;u=((s=s+Math.imul(c,ot)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(R,H),n=(n=Math.imul(R,F))+Math.imul(O,H)|0,s=Math.imul(O,F),i=i+Math.imul(T,$)|0,n=(n=n+Math.imul(T,W)|0)+Math.imul(P,$)|0,s=s+Math.imul(P,W)|0,i=i+Math.imul(x,V)|0,n=(n=n+Math.imul(x,Z)|0)+Math.imul(A,V)|0,s=s+Math.imul(A,Z)|0,i=i+Math.imul(S,Y)|0,n=(n=n+Math.imul(S,J)|0)+Math.imul(k,Y)|0,s=s+Math.imul(k,J)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,s=s+Math.imul(_,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(b,rt)|0,s=s+Math.imul(b,it)|0,i=i+Math.imul(p,st)|0,n=(n=n+Math.imul(p,ot)|0)+Math.imul(m,st)|0,s=s+Math.imul(m,ot)|0;var St=(u+(i=i+Math.imul(l,ht)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,ht)|0))<<13)|0;u=((s=s+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(L,H),n=(n=Math.imul(L,F))+Math.imul(N,H)|0,s=Math.imul(N,F),i=i+Math.imul(R,$)|0,n=(n=n+Math.imul(R,W)|0)+Math.imul(O,$)|0,s=s+Math.imul(O,W)|0,i=i+Math.imul(T,V)|0,n=(n=n+Math.imul(T,Z)|0)+Math.imul(P,V)|0,s=s+Math.imul(P,Z)|0,i=i+Math.imul(x,Y)|0,n=(n=n+Math.imul(x,J)|0)+Math.imul(A,Y)|0,s=s+Math.imul(A,J)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(k,Q)|0,s=s+Math.imul(k,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(_,rt)|0,s=s+Math.imul(_,it)|0,i=i+Math.imul(y,st)|0,n=(n=n+Math.imul(y,ot)|0)+Math.imul(b,st)|0,s=s+Math.imul(b,ot)|0,i=i+Math.imul(p,ht)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,ht)|0,s=s+Math.imul(m,ut)|0;var kt=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((s=s+Math.imul(c,ct)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(U,H),n=(n=Math.imul(U,F))+Math.imul(q,H)|0,s=Math.imul(q,F),i=i+Math.imul(L,$)|0,n=(n=n+Math.imul(L,W)|0)+Math.imul(N,$)|0,s=s+Math.imul(N,W)|0,i=i+Math.imul(R,V)|0,n=(n=n+Math.imul(R,Z)|0)+Math.imul(O,V)|0,s=s+Math.imul(O,Z)|0,i=i+Math.imul(T,Y)|0,n=(n=n+Math.imul(T,J)|0)+Math.imul(P,Y)|0,s=s+Math.imul(P,J)|0,i=i+Math.imul(x,Q)|0,n=(n=n+Math.imul(x,tt)|0)+Math.imul(A,Q)|0,s=s+Math.imul(A,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(k,rt)|0,s=s+Math.imul(k,it)|0,i=i+Math.imul(w,st)|0,n=(n=n+Math.imul(w,ot)|0)+Math.imul(_,st)|0,s=s+Math.imul(_,ot)|0,i=i+Math.imul(y,ht)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(b,ht)|0,s=s+Math.imul(b,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,s=s+Math.imul(m,ct)|0;var Et=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((s=s+Math.imul(c,mt)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(U,$),n=(n=Math.imul(U,W))+Math.imul(q,$)|0,s=Math.imul(q,W),i=i+Math.imul(L,V)|0,n=(n=n+Math.imul(L,Z)|0)+Math.imul(N,V)|0,s=s+Math.imul(N,Z)|0,i=i+Math.imul(R,Y)|0,n=(n=n+Math.imul(R,J)|0)+Math.imul(O,Y)|0,s=s+Math.imul(O,J)|0,i=i+Math.imul(T,Q)|0,n=(n=n+Math.imul(T,tt)|0)+Math.imul(P,Q)|0,s=s+Math.imul(P,tt)|0,i=i+Math.imul(x,rt)|0,n=(n=n+Math.imul(x,it)|0)+Math.imul(A,rt)|0,s=s+Math.imul(A,it)|0,i=i+Math.imul(S,st)|0,n=(n=n+Math.imul(S,ot)|0)+Math.imul(k,st)|0,s=s+Math.imul(k,ot)|0,i=i+Math.imul(w,ht)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(_,ht)|0,s=s+Math.imul(_,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(b,lt)|0,s=s+Math.imul(b,ct)|0;var xt=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((s=s+Math.imul(m,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(U,V),n=(n=Math.imul(U,Z))+Math.imul(q,V)|0,s=Math.imul(q,Z),i=i+Math.imul(L,Y)|0,n=(n=n+Math.imul(L,J)|0)+Math.imul(N,Y)|0,s=s+Math.imul(N,J)|0,i=i+Math.imul(R,Q)|0,n=(n=n+Math.imul(R,tt)|0)+Math.imul(O,Q)|0,s=s+Math.imul(O,tt)|0,i=i+Math.imul(T,rt)|0,n=(n=n+Math.imul(T,it)|0)+Math.imul(P,rt)|0,s=s+Math.imul(P,it)|0,i=i+Math.imul(x,st)|0,n=(n=n+Math.imul(x,ot)|0)+Math.imul(A,st)|0,s=s+Math.imul(A,ot)|0,i=i+Math.imul(S,ht)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(k,ht)|0,s=s+Math.imul(k,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(_,lt)|0,s=s+Math.imul(_,ct)|0;var At=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(b,pt)|0))<<13)|0;u=((s=s+Math.imul(b,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(U,Y),n=(n=Math.imul(U,J))+Math.imul(q,Y)|0,s=Math.imul(q,J),i=i+Math.imul(L,Q)|0,n=(n=n+Math.imul(L,tt)|0)+Math.imul(N,Q)|0,s=s+Math.imul(N,tt)|0,i=i+Math.imul(R,rt)|0,n=(n=n+Math.imul(R,it)|0)+Math.imul(O,rt)|0,s=s+Math.imul(O,it)|0,i=i+Math.imul(T,st)|0,n=(n=n+Math.imul(T,ot)|0)+Math.imul(P,st)|0,s=s+Math.imul(P,ot)|0,i=i+Math.imul(x,ht)|0,n=(n=n+Math.imul(x,ut)|0)+Math.imul(A,ht)|0,s=s+Math.imul(A,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(k,lt)|0,s=s+Math.imul(k,ct)|0;var It=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;u=((s=s+Math.imul(_,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(U,Q),n=(n=Math.imul(U,tt))+Math.imul(q,Q)|0,s=Math.imul(q,tt),i=i+Math.imul(L,rt)|0,n=(n=n+Math.imul(L,it)|0)+Math.imul(N,rt)|0,s=s+Math.imul(N,it)|0,i=i+Math.imul(R,st)|0,n=(n=n+Math.imul(R,ot)|0)+Math.imul(O,st)|0,s=s+Math.imul(O,ot)|0,i=i+Math.imul(T,ht)|0,n=(n=n+Math.imul(T,ut)|0)+Math.imul(P,ht)|0,s=s+Math.imul(P,ut)|0,i=i+Math.imul(x,lt)|0,n=(n=n+Math.imul(x,ct)|0)+Math.imul(A,lt)|0,s=s+Math.imul(A,ct)|0;var Tt=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(k,pt)|0))<<13)|0;u=((s=s+Math.imul(k,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(U,rt),n=(n=Math.imul(U,it))+Math.imul(q,rt)|0,s=Math.imul(q,it),i=i+Math.imul(L,st)|0,n=(n=n+Math.imul(L,ot)|0)+Math.imul(N,st)|0,s=s+Math.imul(N,ot)|0,i=i+Math.imul(R,ht)|0,n=(n=n+Math.imul(R,ut)|0)+Math.imul(O,ht)|0,s=s+Math.imul(O,ut)|0,i=i+Math.imul(T,lt)|0,n=(n=n+Math.imul(T,ct)|0)+Math.imul(P,lt)|0,s=s+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(x,pt)|0)|0)+((8191&(n=(n=n+Math.imul(x,mt)|0)+Math.imul(A,pt)|0))<<13)|0;u=((s=s+Math.imul(A,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(U,st),n=(n=Math.imul(U,ot))+Math.imul(q,st)|0,s=Math.imul(q,ot),i=i+Math.imul(L,ht)|0,n=(n=n+Math.imul(L,ut)|0)+Math.imul(N,ht)|0,s=s+Math.imul(N,ut)|0,i=i+Math.imul(R,lt)|0,n=(n=n+Math.imul(R,ct)|0)+Math.imul(O,lt)|0,s=s+Math.imul(O,ct)|0;var Ct=(u+(i=i+Math.imul(T,pt)|0)|0)+((8191&(n=(n=n+Math.imul(T,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((s=s+Math.imul(P,mt)|0)+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(U,ht),n=(n=Math.imul(U,ut))+Math.imul(q,ht)|0,s=Math.imul(q,ut),i=i+Math.imul(L,lt)|0,n=(n=n+Math.imul(L,ct)|0)+Math.imul(N,lt)|0,s=s+Math.imul(N,ct)|0;var Rt=(u+(i=i+Math.imul(R,pt)|0)|0)+((8191&(n=(n=n+Math.imul(R,mt)|0)+Math.imul(O,pt)|0))<<13)|0;u=((s=s+Math.imul(O,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(U,lt),n=(n=Math.imul(U,ct))+Math.imul(q,lt)|0,s=Math.imul(q,ct);var Ot=(u+(i=i+Math.imul(L,pt)|0)|0)+((8191&(n=(n=n+Math.imul(L,mt)|0)+Math.imul(N,pt)|0))<<13)|0;u=((s=s+Math.imul(N,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var Bt=(u+(i=Math.imul(U,pt))|0)+((8191&(n=(n=Math.imul(U,mt))+Math.imul(q,pt)|0))<<13)|0;return u=((s=Math.imul(q,mt))+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,h[0]=gt,h[1]=yt,h[2]=bt,h[3]=vt,h[4]=wt,h[5]=_t,h[6]=Mt,h[7]=St,h[8]=kt,h[9]=Et,h[10]=xt,h[11]=At,h[12]=It,h[13]=Tt,h[14]=Pt,h[15]=Ct,h[16]=Rt,h[17]=Ot,h[18]=Bt,0!==u&&(h[19]=u,r.length++),r};function m(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(p=d),s.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?p(this,t,e):i<63?d(this,t,e):i<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,s=0;s>>26)|0)>>>26,o&=67108863}r.words[s]=a,i=o,o=n}return 0!==i?r.words[s]=i:r.length--,r.strip()}(this,t,e):m(this,t,e),r},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=s.prototype._countBits(t)-1,i=0;i>=1;return i},g.prototype.permute=function(t,e,r,i,n,s){for(var o=0;o>>=1)n++;return 1<>>=13,r[2*o+1]=8191&s,s>>>=13;for(o=2*e;o>=26,e+=n/67108864|0,e+=s>>>26,this.words[r]=67108863&s}return 0!==e&&(this.words[r]=e,this.length++),this},s.prototype.muln=function(t){return this.clone().imuln(t)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>n}return e}(t);if(0===e.length)return new s(1);for(var r=this,i=0;i=0);var e,r=t%26,n=(t-r)/26,s=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var s=t%26,o=Math.min((t-s)/26,this.length),a=67108863^67108863>>>s<o)for(this.length-=o,u=0;u=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-s|l>>>s,f=l&a}return h&&0!==f&&(h.words[h.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},s.prototype.shln=function(t){return this.clone().ishln(t)},s.prototype.ushln=function(t){return this.clone().iushln(t)},s.prototype.shrn=function(t){return this.clone().ishrn(t)},s.prototype.ushrn=function(t){return this.clone().iushrn(t)},s.prototype.testn=function(t){i("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},s.prototype.isubn=function(t){if(i("number"==typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(h/67108864|0),this.words[n+r]=67108863&s}for(;n>26,this.words[n+r]=67108863&s;if(0===a)return this.strip();for(i(-1===a),a=0,n=0;n>26,this.words[n]=67108863&s;return this.negative=1,this.strip()},s.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),n=t,o=0|n.words[n.length-1];0!==(r=26-this._countBits(o))&&(n=n.ushln(r),i.iushln(r),o=0|n.words[n.length-1]);var a,h=i.length-n.length;if("mod"!==e){(a=new s(null)).length=h+1,a.words=new Array(a.length);for(var u=0;u=0;l--){var c=67108864*(0|i.words[n.length+l])+(0|i.words[n.length+l-1]);for(c=Math.min(c/o|0,67108863),i._ishlnsubmul(n,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(n,1,l),i.isZero()||(i.negative^=1);a&&(a.words[l]=c)}return a&&a.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:a||null,mod:i}},s.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(n=a.div.neg()),"div"!==e&&(o=a.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:n,mod:o}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(n=a.div.neg()),{div:n,mod:a.mod}):this.negative&t.negative?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(o=a.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:a.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new s(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new s(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new s(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,o,a},s.prototype.div=function(t){return this.divmod(t,"div",!1).div},s.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},s.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},s.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),s=r.cmp(i);return s<0||1===n&&0===s?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},s.prototype.modn=function(t){i(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;n>=0;n--)r=(e*r+(0|this.words[n]))%t;return r},s.prototype.idivn=function(t){i(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},s.prototype.divn=function(t){return this.clone().idivn(t)},s.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n=new s(1),o=new s(0),a=new s(0),h=new s(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var f=r.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;!(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(f),o.isub(l)),n.iushrn(1),o.iushrn(1);for(var p=0,m=1;!(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(a.isOdd()||h.isOdd())&&(a.iadd(f),h.isub(l)),a.iushrn(1),h.iushrn(1);e.cmp(r)>=0?(e.isub(r),n.isub(a),o.isub(h)):(r.isub(e),a.isub(n),h.isub(o))}return{a,b:h,gcd:r.iushln(u)}},s.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n,o=new s(1),a=new s(0),h=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,f=1;!(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)o.isOdd()&&o.iadd(h),o.iushrn(1);for(var l=0,c=1;!(r.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(r.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(h),a.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(a)):(r.isub(e),a.isub(o))}return(n=0===e.cmpn(1)?o:a).cmpn(0)<0&&n.iadd(t),n},s.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var s=e;e=r,r=s}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},s.prototype.invm=function(t){return this.egcd(t).a.umod(t)},s.prototype.isEven=function(){return!(1&this.words[0])},s.prototype.isOdd=function(){return!(1&~this.words[0])},s.prototype.andln=function(t){return this.words[0]&t},s.prototype.bincn=function(t){i("number"==typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,a&=67108863,this.words[o]=a}return 0!==s&&(this.words[o]=s,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},s.prototype.gtn=function(t){return 1===this.cmpn(t)},s.prototype.gt=function(t){return 1===this.cmp(t)},s.prototype.gten=function(t){return this.cmpn(t)>=0},s.prototype.gte=function(t){return this.cmp(t)>=0},s.prototype.ltn=function(t){return-1===this.cmpn(t)},s.prototype.lt=function(t){return-1===this.cmp(t)},s.prototype.lten=function(t){return this.cmpn(t)<=0},s.prototype.lte=function(t){return this.cmp(t)<=0},s.prototype.eqn=function(t){return 0===this.cmpn(t)},s.prototype.eq=function(t){return 0===this.cmp(t)},s.red=function(t){return new S(t)},s.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},s.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(t){return this.red=t,this},s.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},s.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},s.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},s.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},s.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},s.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},s.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},s.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},s.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function b(t,e){this.name=t,this.p=new s(e,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function w(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function S(t){if("string"==typeof t){var e=s._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){S.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var t=new s(null);return t.words=new Array(Math.ceil(this.n/13)),t},b.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},b.prototype.split=function(t,e){t.iushrn(this.n,0,e)},b.prototype.imulK=function(t){return t.imul(this.k)},n(v,b),v.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,s=o}s>>>=22,t.words[n-10]=s,0===s&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},s._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new w;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return y[t]=e,e},S.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},S.prototype._verify2=function(t,e){i(!(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},S.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},S.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},S.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},S.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},S.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},S.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},S.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},S.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},S.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},S.prototype.isqr=function(t){return this.imul(t,t.clone())},S.prototype.sqr=function(t){return this.mul(t,t)},S.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2==1),3===e){var r=this.m.add(new s(1)).iushrn(2);return this.pow(t,r)}for(var n=this.m.subn(1),o=0;!n.isZero()&&0===n.andln(1);)o++,n.iushrn(1);i(!n.isZero());var a=new s(1).toRed(this),h=a.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new s(2*f*f).toRed(this);0!==this.pow(f,u).cmp(h);)f.redIAdd(h);for(var l=this.pow(f,n),c=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=o;0!==d.cmp(a);){for(var m=d,g=0;0!==m.cmp(a);g++)m=m.redSqr();i(g=0;i--){for(var u=e.words[i],f=h-1;f>=0;f--){var l=u>>f&1;n!==r[0]&&(n=this.sqr(n)),0!==l||0!==o?(o<<=1,o|=l,(4===++a||0===i&&0===f)&&(n=this.mul(n,r[o]),a=0,o=0)):a=0}h=26}return n},S.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},S.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},s.mont=function(t){return new k(t)},n(k,S),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),s=n;return n.cmp(this.m)>=0?s=n.isub(this.m):n.cmpn(0)<0&&(s=n.iadd(this.m)),s._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new s(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=r.nmd(t),this)},1189:(t,e,r)=>{var i=Array.prototype.slice,n=r(1093),s=Object.keys,o=s?function(t){return s(t)}:r(8875),a=Object.keys;o.shim=function(){if(Object.keys){var t=function(){var t=Object.keys(arguments);return t&&t.length===arguments.length}(1,2);t||(Object.keys=function(t){return n(t)?a(i.call(t)):a(t)})}else Object.keys=o;return Object.keys||o},t.exports=o},1200:(t,e,r)=>{var i=r(8490),n=r(7011).assert;function s(t,e){this.ec=t,this.priv=null,this.pub=null,e.priv&&this._importPrivate(e.priv,e.privEnc),e.pub&&this._importPublic(e.pub,e.pubEnc)}t.exports=s,s.fromPublic=function(t,e,r){return e instanceof s?e:new s(t,{pub:e,pubEnc:r})},s.fromPrivate=function(t,e,r){return e instanceof s?e:new s(t,{priv:e,privEnc:r})},s.prototype.validate=function(){var t=this.getPublic();return t.isInfinity()?{result:!1,reason:"Invalid public key"}:t.validate()?t.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},s.prototype.getPublic=function(t,e){return"string"==typeof t&&(e=t,t=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),e?this.pub.encode(e,t):this.pub},s.prototype.getPrivate=function(t){return"hex"===t?this.priv.toString(16,2):this.priv},s.prototype._importPrivate=function(t,e){this.priv=new i(t,e||16),this.priv=this.priv.umod(this.ec.curve.n)},s.prototype._importPublic=function(t,e){if(t.x||t.y)return"mont"===this.ec.curve.type?n(t.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||n(t.x&&t.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(t.x,t.y));this.pub=this.ec.curve.decodePoint(t,e)},s.prototype.derive=function(t){return t.validate()||n(t.validate(),"public point not validated"),t.mul(this.priv).getX()},s.prototype.sign=function(t,e,r){return this.ec.sign(t,this,e,r)},s.prototype.verify=function(t,e,r){return this.ec.verify(t,e,this,void 0,r)},s.prototype.inspect=function(){return""}},1220:()=>{},1237:t=>{t.exports=EvalError},1241:(t,e,r)=>{var i=r(5799),n=r(6171),s=r(3219);e.createCipher=e.Cipher=i.createCipher,e.createCipheriv=e.Cipheriv=i.createCipheriv,e.createDecipher=e.Decipher=n.createDecipher,e.createDecipheriv=e.Decipheriv=n.createDecipheriv,e.listCiphers=e.getCiphers=function(){return Object.keys(s)}},1298:(t,e,r)=>{var i=r(7011),n=r(8490),s=r(6698),o=r(6677),a=i.assert;function h(t){this.twisted=1!=(0|t.a),this.mOneA=this.twisted&&-1==(0|t.a),this.extended=this.mOneA,o.call(this,"edwards",t),this.a=new n(t.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new n(t.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new n(t.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),a(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|t.c)}function u(t,e,r,i,s){o.BasePoint.call(this,t,"projective"),null===e&&null===r&&null===i?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new n(e,16),this.y=new n(r,16),this.z=i?new n(i,16):this.curve.one,this.t=s&&new n(s,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}s(h,o),t.exports=h,h.prototype._mulA=function(t){return this.mOneA?t.redNeg():this.a.redMul(t)},h.prototype._mulC=function(t){return this.oneC?t:this.c.redMul(t)},h.prototype.jpoint=function(t,e,r,i){return this.point(t,e,r,i)},h.prototype.pointFromX=function(t,e){(t=new n(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr(),i=this.c2.redSub(this.a.redMul(r)),s=this.one.redSub(this.c2.redMul(this.d).redMul(r)),o=i.redMul(s.redInvm()),a=o.redSqrt();if(0!==a.redSqr().redSub(o).cmp(this.zero))throw new Error("invalid point");var h=a.fromRed().isOdd();return(e&&!h||!e&&h)&&(a=a.redNeg()),this.point(t,a)},h.prototype.pointFromY=function(t,e){(t=new n(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr(),i=r.redSub(this.c2),s=r.redMul(this.d).redMul(this.c2).redSub(this.a),o=i.redMul(s.redInvm());if(0===o.cmp(this.zero)){if(e)throw new Error("invalid point");return this.point(this.zero,t)}var a=o.redSqrt();if(0!==a.redSqr().redSub(o).cmp(this.zero))throw new Error("invalid point");return a.fromRed().isOdd()!==e&&(a=a.redNeg()),this.point(a,t)},h.prototype.validate=function(t){if(t.isInfinity())return!0;t.normalize();var e=t.x.redSqr(),r=t.y.redSqr(),i=e.redMul(this.a).redAdd(r),n=this.c2.redMul(this.one.redAdd(this.d.redMul(e).redMul(r)));return 0===i.cmp(n)},s(u,o.BasePoint),h.prototype.pointFromJSON=function(t){return u.fromJSON(this,t)},h.prototype.point=function(t,e,r,i){return new u(this,t,e,r,i)},u.fromJSON=function(t,e){return new u(t,e[0],e[1],e[2])},u.prototype.inspect=function(){return this.isInfinity()?"":""},u.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},u.prototype._extDbl=function(){var t=this.x.redSqr(),e=this.y.redSqr(),r=this.z.redSqr();r=r.redIAdd(r);var i=this.curve._mulA(t),n=this.x.redAdd(this.y).redSqr().redISub(t).redISub(e),s=i.redAdd(e),o=s.redSub(r),a=i.redSub(e),h=n.redMul(o),u=s.redMul(a),f=n.redMul(a),l=o.redMul(s);return this.curve.point(h,u,l,f)},u.prototype._projDbl=function(){var t,e,r,i,n,s,o=this.x.redAdd(this.y).redSqr(),a=this.x.redSqr(),h=this.y.redSqr();if(this.curve.twisted){var u=(i=this.curve._mulA(a)).redAdd(h);this.zOne?(t=o.redSub(a).redSub(h).redMul(u.redSub(this.curve.two)),e=u.redMul(i.redSub(h)),r=u.redSqr().redSub(u).redSub(u)):(n=this.z.redSqr(),s=u.redSub(n).redISub(n),t=o.redSub(a).redISub(h).redMul(s),e=u.redMul(i.redSub(h)),r=u.redMul(s))}else i=a.redAdd(h),n=this.curve._mulC(this.z).redSqr(),s=i.redSub(n).redSub(n),t=this.curve._mulC(o.redISub(i)).redMul(s),e=this.curve._mulC(i).redMul(a.redISub(h)),r=i.redMul(s);return this.curve.point(t,e,r)},u.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},u.prototype._extAdd=function(t){var e=this.y.redSub(this.x).redMul(t.y.redSub(t.x)),r=this.y.redAdd(this.x).redMul(t.y.redAdd(t.x)),i=this.t.redMul(this.curve.dd).redMul(t.t),n=this.z.redMul(t.z.redAdd(t.z)),s=r.redSub(e),o=n.redSub(i),a=n.redAdd(i),h=r.redAdd(e),u=s.redMul(o),f=a.redMul(h),l=s.redMul(h),c=o.redMul(a);return this.curve.point(u,f,c,l)},u.prototype._projAdd=function(t){var e,r,i=this.z.redMul(t.z),n=i.redSqr(),s=this.x.redMul(t.x),o=this.y.redMul(t.y),a=this.curve.d.redMul(s).redMul(o),h=n.redSub(a),u=n.redAdd(a),f=this.x.redAdd(this.y).redMul(t.x.redAdd(t.y)).redISub(s).redISub(o),l=i.redMul(h).redMul(f);return this.curve.twisted?(e=i.redMul(u).redMul(o.redSub(this.curve._mulA(s))),r=h.redMul(u)):(e=i.redMul(u).redMul(o.redSub(s)),r=this.curve._mulC(h).redMul(u)),this.curve.point(l,e,r)},u.prototype.add=function(t){return this.isInfinity()?t:t.isInfinity()?this:this.curve.extended?this._extAdd(t):this._projAdd(t)},u.prototype.mul=function(t){return this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve._wnafMul(this,t)},u.prototype.mulAdd=function(t,e,r){return this.curve._wnafMulAdd(1,[this,e],[t,r],2,!1)},u.prototype.jmulAdd=function(t,e,r){return this.curve._wnafMulAdd(1,[this,e],[t,r],2,!0)},u.prototype.normalize=function(){if(this.zOne)return this;var t=this.z.redInvm();return this.x=this.x.redMul(t),this.y=this.y.redMul(t),this.t&&(this.t=this.t.redMul(t)),this.z=this.curve.one,this.zOne=!0,this},u.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},u.prototype.getX=function(){return this.normalize(),this.x.fromRed()},u.prototype.getY=function(){return this.normalize(),this.y.fromRed()},u.prototype.eq=function(t){return this===t||0===this.getX().cmp(t.getX())&&0===this.getY().cmp(t.getY())},u.prototype.eqXToP=function(t){var e=t.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(e))return!0;for(var r=t.clone(),i=this.curve.redN.redMul(this.z);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(e.redIAdd(i),0===this.x.cmp(e))return!0}},u.prototype.toP=u.prototype.normalize,u.prototype.mixedAdd=u.prototype.add},1314:t=>{t.exports=function(t,e){if(e>=t.length||e<0)return;var r=t.pop();if(e{var i=r(8287).Buffer,n=r(6729),s=r(2801);t.exports=function(t){return new a(t)};var o={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};function a(t){this.curveType=o[t],this.curveType||(this.curveType={name:t}),this.curve=new n.ec(this.curveType.name),this.keys=void 0}function h(t,e,r){Array.isArray(t)||(t=t.toArray());var n=new i(t);if(r&&n.length{t.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var t={},e=Symbol("test"),r=Object(e);if("string"==typeof e)return!1;if("[object Symbol]"!==Object.prototype.toString.call(e))return!1;if("[object Symbol]"!==Object.prototype.toString.call(r))return!1;for(var i in t[e]=42,t)return!1;if("function"==typeof Object.keys&&0!==Object.keys(t).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(t).length)return!1;var n=Object.getOwnPropertySymbols(t);if(1!==n.length||n[0]!==e)return!1;if(!Object.prototype.propertyIsEnumerable.call(t,e))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var s=Object.getOwnPropertyDescriptor(t,e);if(42!==s.value||!0!==s.enumerable)return!1}return!0}},1416:(t,e,r)=>{t.exports=r(8310)},1467:t=>{function e(t,e){if("string"==typeof t[0])return t.join("");if("number"==typeof t[0])return new Uint8Array(t);const r=new Uint8Array(e);let i=0;for(let e=0,n=t.length;e=r){const t=e(o,a);let i=0;for(;a>=r;)yield t.slice(i,i+r),a-=r,i+=r;o=[t.slice(i,t.length)]}a&&(yield e(o,s?r:a))}},1514:(t,e,r)=>{var i=r(8403);t.exports=function(){return Object.assign?function(){if(!Object.assign)return!1;for(var t="abcdefghijklmnopqrst",e=t.split(""),r={},i=0;i{e.randomBytes=e.rng=e.pseudoRandomBytes=e.prng=r(3209),e.createHash=e.Hash=r(7108),e.createHmac=e.Hmac=r(3507);var i=r(5715),n=Object.keys(i),s=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(n);e.getHashes=function(){return s};var o=r(5488);e.pbkdf2=o.pbkdf2,e.pbkdf2Sync=o.pbkdf2Sync;var a=r(125);e.Cipher=a.Cipher,e.createCipher=a.createCipher,e.Cipheriv=a.Cipheriv,e.createCipheriv=a.createCipheriv,e.Decipher=a.Decipher,e.createDecipher=a.createDecipher,e.Decipheriv=a.Decipheriv,e.createDecipheriv=a.createDecipheriv,e.getCiphers=a.getCiphers,e.listCiphers=a.listCiphers;var h=r(5380);e.DiffieHellmanGroup=h.DiffieHellmanGroup,e.createDiffieHellmanGroup=h.createDiffieHellmanGroup,e.getDiffieHellman=h.getDiffieHellman,e.createDiffieHellman=h.createDiffieHellman,e.DiffieHellman=h.DiffieHellman;var u=r(20);e.createSign=u.createSign,e.Sign=u.Sign,e.createVerify=u.createVerify,e.Verify=u.Verify,e.createECDH=r(1324);var f=r(7168);e.publicEncrypt=f.publicEncrypt,e.privateEncrypt=f.privateEncrypt,e.publicDecrypt=f.publicDecrypt,e.privateDecrypt=f.privateDecrypt;var l=r(6983);e.randomFill=l.randomFill,e.randomFillSync=l.randomFillSync,e.createCredentials=function(){throw new Error("sorry, createCredentials is not implemented yet\nwe accept pull requests\nhttps://github.com/browserify/crypto-browserify")},e.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}},1591:t=>{t.exports=function(){throw new Error("ws does not work in the browser. Browser clients must use the native WebSocket object")}},1630:t=>{function e(t,e){return Object.prototype.hasOwnProperty.call(t,e)}t.exports=function(t,r,i,n){r=r||"&",i=i||"=";var s={};if("string"!=typeof t||0===t.length)return s;var o=/\+/g;t=t.split(r);var a=1e3;n&&"number"==typeof n.maxKeys&&(a=n.maxKeys);var h=t.length;a>0&&h>a&&(h=a);for(var u=0;u=0?(f=p.substr(0,m),l=p.substr(m+1)):(f=p,l=""),c=decodeURIComponent(f),d=decodeURIComponent(l),e(s,c)?Array.isArray(s[c])?s[c].push(d):s[c]=[s[c],d]:s[c]=d}return s}},1636:t=>{t.exports={rE:"6.6.1"}},1672:(t,e,r)=>{var i=r(717);t.exports=function(t,e){var r=0,n=[],s=!0;function o(t){function r(){e&&e(t,n)}s?i.nextTick(r):r()}t.length>0?t[0]((function e(i,s){n.push(s),++r>=t.length||i?o(i):t[r](e)})):o(null);s=!1}},1678:(t,e,r)=>{const i=r(537),n=r(8957),s=r(5905).HTTPParser,o=r(4529).ok,a=r(2728),h=a.parsers,u=a.freeParser,f=a.debug,l=a.CRLF,c=a.continueExpression,d=a.chunkExpression,p=a.httpSocketSetup,m=r(8419).OutgoingMessage,g=e.STATUS_CODES={100:"Continue",101:"Switching Protocols",102:"Processing",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Unordered Collection",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"},y=0|s.kOnExecute;function b(t){m.call(this),"HEAD"===t.method&&(this._hasBody=!1),this.sendDate=!0,(t.httpVersionMajor<1||t.httpVersionMinor<1)&&(this.useChunkedEncodingByDefault=d.test(t.headers.te),this.shouldKeepAlive=!1)}function v(){this._httpMessage&&this._httpMessage.emit("close")}function w(t){if(!(this instanceof w))return new w(t);n.Server.call(this,{allowHalfOpen:!0}),t&&this.addListener("request",t),this.httpAllowHalfOpen=!1,this.addListener("connection",_),this.timeout=12e4,this._pendingResponseData=0}function _(t){var e=this,r=[],i=[],n=0;function a(e){if(n+=e,t._paused&&n=t._writableState.highWaterMark)&&(t._paused=!0,t.pause())}var u=new b(s);u._onPendingData=a,u.shouldKeepAlive=h,t._httpMessage?r.push(u):u.assignSocket(t);u.on("finish",(function(){o(0===i.length||i[0]===s),i.shift(),s._consuming||s._readableState.resumeScheduled||s._dump();if(u.detachSocket(t),u._last)t.destroySoon();else{var e=r.shift();e&&e.assignSocket(t)}})),void 0!==s.headers.expect&&1==s.httpVersionMajor&&1==s.httpVersionMinor?c.test(s.headers.expect)?(u._expect_continue=!0,e.listenerCount("checkContinue")>0?e.emit("checkContinue",s,u):(u.writeContinue(),e.emit("request",s,u))):e.listenerCount("checkExpectation")>0?e.emit("checkExpectation",s,u):(u.writeHead(417),u.end()):e.emit("request",s,u);return!1},t.on("end",x),t.on("data",w),t.on("resume",M),t.on("pause",S),t.on("drain",A),t.on=E;var g=t._handle&&t._handle._externalStream;function v(t){this.removeListener("error",v),this.on("error",(()=>{})),e.emit("clientError",t,this)||this.destroy(t)}function w(e){o(!t._paused),f("SERVER socketOnData %d",e.length),_(m.execute(e),e)}function _(r,i){if(r instanceof Error)f("parse error"),v.call(t,r);else if(m.incoming&&m.incoming.upgrade){var n=r,s=m.incoming;f("SERVER upgrade or connect",s.method),i||(i=m.getCurrentBuffer()),t.removeListener("data",w),t.removeListener("end",x),t.removeListener("close",d),k(m,t),m.finish(),u(m,s,null),m=null;var o="CONNECT"===s.method?"connect":"upgrade";if(e.listenerCount(o)>0){f("SERVER have listener for %s",o);var a=i.slice(n,i.length);t._readableState.flowing=null,e.emit(o,s,t,a)}else t.destroy()}t._paused&&t.parser&&(f("pause parser"),t.parser.pause())}function x(){var t=this,i=m.finish();if(i instanceof Error)return f("parse error"),void v.call(t,i);e.httpAllowHalfOpen?r.length?r[r.length-1]._last=!0:t._httpMessage?t._httpMessage._last=!0:t.writable&&t.end():(l(),t.writable&&t.end())}function A(){var e=n>t._writableState.highWaterMark;t._paused&&!e&&(t._paused=!1,t.parser&&t.parser.resume(),t.resume())}g&&(m._consumed=!0,m.consume(g)),g=null,m[y]=function(e,r){t._unrefTimer(),f("SERVER socketOnParserExecute %d",e),_(e,void 0)},t._paused=!1}function M(){this._paused?this.pause():this._handle&&!this._handle.reading&&(this._handle.reading=!0,this._handle.readStart())}function S(){this._handle&&this._handle.reading&&(this._handle.reading=!1,this._handle.readStop())}function k(t,e){e._handle&&(t._consumed&&t.unconsume(e._handle._externalStream),t._consumed=!1,e.removeListener("pause",S),e.removeListener("resume",M))}function E(t,e){var r=n.Socket.prototype.on.call(this,t,e);return this.parser?("data"!==t&&"readable"!==t||k(this.parser,this),r):(this.on=n.Socket.prototype.on,r)}i.inherits(b,m),b.prototype._finish=function(){m.prototype._finish.call(this)},e.ServerResponse=b,b.prototype.statusCode=200,b.prototype.statusMessage=void 0,b.prototype.assignSocket=function(t){o(!t._httpMessage),t._httpMessage=this,t.on("close",v),this.socket=t,this.connection=t,this.emit("socket",t),this._flush()},b.prototype.detachSocket=function(t){o(t._httpMessage===this),t.removeListener("close",v),t._httpMessage=null,this.socket=this.connection=null},b.prototype.writeContinue=function(t){this._writeRaw("HTTP/1.1 100 Continue"+l+l,"ascii",t),this._sent100=!0},b.prototype._implicitHeader=function(){this.writeHead(this.statusCode)},b.prototype.writeHead=function(t,e,r){var i;if("string"==typeof e?this.statusMessage=e:(this.statusMessage=this.statusMessage||g[t]||"unknown",r=e),this.statusCode=t,this._headers){if(r)for(var n=Object.keys(r),s=0;s999)throw new RangeError(`Invalid status code: ${t}`);var a="HTTP/1.1 "+t.toString()+" "+this.statusMessage+l;(204===t||304===t||100<=t&&t<=199)&&(this._hasBody=!1),this._expect_continue&&!this._sent100&&(this.shouldKeepAlive=!1),this._storeHeader(a,i)},b.prototype.writeHeader=function(){this.writeHead.apply(this,arguments)},i.inherits(w,n.Server),w.prototype.setTimeout=function(t,e){return this.timeout=t,e&&this.on("timeout",e),this},e.Server=w,e._connectionListener=_},1800:(t,e,r)=>{var i=r(6698),n=r(2861).Buffer,s=r(6168),o=n.alloc(128),a=64;function h(t,e){s.call(this,"digest"),"string"==typeof e&&(e=n.from(e)),this._alg=t,this._key=e,e.length>a?e=t(e):e.length{t.exports=o;var i=r(6248),n=Object.create(r(5622));function s(t,e){var r=this._transformState;r.transforming=!1;var i=r.writecb;if(!i)return this.emit("error",new Error("write callback called multiple times"));r.writechunk=null,r.writecb=null,null!=e&&this.push(e),i(t);var n=this._readableState;n.reading=!1,(n.needReadable||n.length{},1862:(t,e,r)=>{t.exports=r(8310)},1911:(t,e,r)=>{var i=r(7426),n=r(7766);function s(){if(!(this instanceof s))return new s;n.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}i.inherits(s,n),t.exports=s,s.blockSize=1024,s.outSize=384,s.hmacStrength=192,s.padLength=128,s.prototype._digest=function(t){return"hex"===t?i.toHex32(this.h.slice(0,12),"big"):i.split32(this.h.slice(0,12),"big")}},2010:(t,e,r)=>{var i=r(6698),n=r(7568),s=n.base,o=n.bignum,a=n.constants.der;function h(t){this.enc="der",this.name=t.name,this.entity=t,this.tree=new u,this.tree._init(t.body)}function u(t){s.Node.call(this,"der",t)}function f(t,e){var r=t.readUInt8(e);if(t.isError(r))return r;var i=a.tagClass[r>>6],n=!(32&r);if(31&~r)r&=31;else{var s=r;for(r=0;!(128&~s);){if(s=t.readUInt8(e),t.isError(s))return s;r<<=7,r|=127&s}}return{cls:i,primitive:n,tag:r,tagStr:a.tag[r]}}function l(t,e,r){var i=t.readUInt8(r);if(t.isError(i))return i;if(!e&&128===i)return null;if(!(128&i))return i;var n=127&i;if(n>4)return t.error("length octect is too long");i=0;for(var s=0;s{t.exports=function(t,e){for(var r=t.length,i=-1;++i{t.exports={wait:function(t){return new Promise((e=>setTimeout(e,t)))}}},2085:(t,e,r)=>{var i=r(640),n=function(t){switch(t.length){case 6:return t[0]+"."+t[1]+"."+t[2]+"."+t[3]+":"+t.readUInt16BE(4);case 18:for(var e=[],r=0;r<8;r++)e.push(t.readUInt16BE(2*r).toString(16));return"["+i.parse(e.join(":")).toString()+"]:"+t.readUInt16BE(16);default:throw new Error("Invalid Compact IP/PORT, It should contain 6 or 18 bytes")}};n.multi=function(t){if(t.length%6!=0)throw new Error("buf length isn't multiple of compact IP/PORTs (6 bytes)");for(var e=[],r=0;r<=t.length-1;r+=6)e.push(n(t.slice(r,r+6)));return e},n.multi6=function(t){if(t.length%18!=0)throw new Error("buf length isn't multiple of compact IP6/PORTs (18 bytes)");for(var e=[],r=0;r<=t.length-1;r+=18)e.push(n(t.slice(r,r+18)));return e},t.exports=n},2153:(t,e,r)=>{var i=e;i._reverse=function(t){var e={};return Object.keys(t).forEach((function(r){(0|r)==r&&(r|=0);var i=t[r];e[i]=r})),e},i.der=r(4598)},2195:(t,e,r)=>{const i=r(537),n=i,s=r(7007);e.IncomingMessage=r(3989).IncomingMessage;const o=r(2728);e.METHODS=o.methods.slice().sort(),e.OutgoingMessage=r(8419).OutgoingMessage;const a=r(1678);e.ServerResponse=a.ServerResponse,e.STATUS_CODES=a.STATUS_CODES;const h=r(8748),u=e.Agent=h.Agent;e.globalAgent=h.globalAgent;const f=r(5930),l=e.ClientRequest=f.ClientRequest;e.request=function(t,e){return new l(t,e)},e.get=function(t,r){var i=e.request(t,r);return i.end(),i},e._connectionListener=a._connectionListener;const c=e.Server=a.Server;function d(t,e){if(!(this instanceof d))return new d(t,e);s.call(this),e=e||"localhost",t=t||80,this.host=e,this.port=t,this.agent=new u({host:e,port:t,maxSockets:1})}e.createServer=function(t){return new c(t)},i.inherits(d,s),d.prototype.request=function(t,e,r){var i=this,n={};n.host=i.host,n.port=i.port,"/"===t[0]&&(r=e,e=t,t="GET"),n.method=t,n.path=e,n.headers=r,n.agent=i.agent;var s=new l(n);return s.on("error",(function(t){i.emit("error",t)})),s.on("socket",(function(t){t.on("end",(function(){if(i._decoder){var t=i._decoder.end();t&&i.emit("data",t)}i.emit("end")}))})),s},e.Client=n.deprecate(d,"http.Client is deprecated."),e.createClient=n.deprecate((function(t,e){return new d(t,e)}),"http.createClient is deprecated. Use http.request instead.")},2211:(t,e,r)=>{var i=r(3349),n=r(6698),s=r(7626),o=r(2808);function a(){this.tmp=new Array(2),this.keys=null}function h(t){o.call(this,t);var e=new a;this._desState=e,this.deriveKeys(e,t.key)}n(h,o),t.exports=h,h.create=function(t){return new h(t)};var u=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];h.prototype.deriveKeys=function(t,e){t.keys=new Array(32),i.equal(e.length,this.blockSize,"Invalid key length");var r=s.readUInt32BE(e,0),n=s.readUInt32BE(e,4);s.pc1(r,n,t.tmp,0),r=t.tmp[0],n=t.tmp[1];for(var o=0;o>>1];r=s.r28shl(r,a),n=s.r28shl(n,a),s.pc2(r,n,t.keys,o)}},h.prototype._update=function(t,e,r,i){var n=this._desState,o=s.readUInt32BE(t,e),a=s.readUInt32BE(t,e+4);s.ip(o,a,n.tmp,0),o=n.tmp[0],a=n.tmp[1],"encrypt"===this.type?this._encrypt(n,o,a,n.tmp,0):this._decrypt(n,o,a,n.tmp,0),o=n.tmp[0],a=n.tmp[1],s.writeUInt32BE(r,o,i),s.writeUInt32BE(r,a,i+4)},h.prototype._pad=function(t,e){if(!1===this.padding)return!1;for(var r=t.length-e,i=e;i>>0,o=c}s.rip(a,o,i,n)},h.prototype._decrypt=function(t,e,r,i,n){for(var o=r,a=e,h=t.keys.length-2;h>=0;h-=2){var u=t.keys[h],f=t.keys[h+1];s.expand(o,t.tmp,0),u^=t.tmp[0],f^=t.tmp[1];var l=s.substitute(u,f),c=o;o=(a^s.permute(l))>>>0,a=c}s.rip(o,a,i,n)}},2240:t=>{var e={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==e.call(t)}},2244:(t,e,r)=>{var i=r(1158),n=r(5037);function s(t){this.rand=t||new n.Rand}t.exports=s,s.create=function(t){return new s(t)},s.prototype._randbelow=function(t){var e=t.bitLength(),r=Math.ceil(e/8);do{var n=new i(this.rand.generate(r))}while(n.cmp(t)>=0);return n},s.prototype._randrange=function(t,e){var r=e.sub(t);return t.add(this._randbelow(r))},s.prototype.test=function(t,e,r){var n=t.bitLength(),s=i.mont(t),o=new i(1).toRed(s);e||(e=Math.max(1,n/48|0));for(var a=t.subn(1),h=0;!a.testn(h);h++);for(var u=t.shrn(h),f=a.toRed(s);e>0;e--){var l=this._randrange(new i(2),a);r&&r(l);var c=l.toRed(s).redPow(u);if(0!==c.cmp(o)&&0!==c.cmp(f)){for(var d=1;d0;e--){var f=this._randrange(new i(2),o),l=t.gcd(f);if(0!==l.cmpn(1))return l;var c=f.toRed(n).redPow(h);if(0!==c.cmp(s)&&0!==c.cmp(u)){for(var d=1;d{var i=r(453),n=r(6556),s=r(8859),o=r(507),a=r(9675),h=i("%WeakMap%",!0),u=n("WeakMap.prototype.get",!0),f=n("WeakMap.prototype.set",!0),l=n("WeakMap.prototype.has",!0),c=n("WeakMap.prototype.delete",!0);t.exports=h?function(){var t,e,r={assert:function(t){if(!r.has(t))throw new a("Side channel does not contain "+s(t))},delete:function(r){if(h&&r&&("object"==typeof r||"function"==typeof r)){if(t)return c(t,r)}else if(o&&e)return e.delete(r);return!1},get:function(r){return h&&r&&("object"==typeof r||"function"==typeof r)&&t?u(t,r):e&&e.get(r)},has:function(r){return h&&r&&("object"==typeof r||"function"==typeof r)&&t?l(t,r):!!e&&e.has(r)},set:function(r,i){h&&r&&("object"==typeof r||"function"==typeof r)?(t||(t=new h),f(t,r,i)):o&&(e||(e=o()),e.set(r,i))}};return r}:o},2287:(t,e,r)=>{var i=r(7426),n=r(6166),s=r(6225),o=r(3349),a=i.sum32,h=i.sum32_4,u=i.sum32_5,f=s.ch32,l=s.maj32,c=s.s0_256,d=s.s1_256,p=s.g0_256,m=s.g1_256,g=n.BlockHash,y=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function b(){if(!(this instanceof b))return new b;g.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=y,this.W=new Array(64)}i.inherits(b,g),t.exports=b,b.blockSize=512,b.outSize=256,b.hmacStrength=192,b.padLength=64,b.prototype._update=function(t,e){for(var r=this.W,i=0;i<16;i++)r[i]=t[e+i];for(;i=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function h(t,e,r){var i=a(t,r);return r-1>=e&&(i|=a(t,r-1)<<4),i}function u(t,e,r,i){for(var n=0,s=Math.min(t.length,r),o=e;o=49?a-49+10:a>=17?a-17+10:a}return n}s.isBN=function(t){return t instanceof s||null!==t&&"object"==typeof t&&t.constructor.wordSize===s.wordSize&&Array.isArray(t.words)},s.max=function(t,e){return t.cmp(e)>0?t:e},s.min=function(t,e){return t.cmp(e)<0?t:e},s.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),i(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n=0;n-=3)o=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[s]|=o<>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);else if("le"===r)for(n=0,s=0;n>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);return this.strip()},s.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i=e;i-=2)n=h(t,e,i)<=18?(s-=18,o+=1,this.words[o]|=n>>>26):s+=8;else for(i=(t.length-e)%2==0?e+1:e;i=18?(s-=18,o+=1,this.words[o]|=n>>>26):s+=8;this.strip()},s.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var s=t.length-r,o=s%i,a=Math.min(s,s-o)+r,h=0,f=r;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var f=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],c=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],s=0|e.words[0],o=n*s,a=67108863&o,h=o/67108864|0;r.words[0]=a;for(var u=1;u>>26,l=67108863&h,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(o=(n=0|t.words[p])*(s=0|e.words[d])+l)/67108864|0,l=67108863&o}r.words[u]=0|l,h=0|f}return 0!==h?r.words[u]=0|h:r.length--,r.strip()}s.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var n=0,s=0,o=0;o>>24-n&16777215,(n+=2)>=26&&(n-=26,o--),r=0!==s||o!==this.length-1?f[6-h.length]+h+r:h+r}for(0!==s&&(r=s.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var u=l[t],d=c[t];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);r=(p=p.idivn(d)).isZero()?m+r:f[u-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(t,e){return i(void 0!==o),this.toArrayLike(o,t,e)},s.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},s.prototype.toArrayLike=function(t,e,r){var n=this.byteLength(),s=r||Math.max(1,n);i(n<=s,"byte array longer than desired length"),i(s>0,"Requested array length <= 0"),this.strip();var o,a,h="le"===e,u=new t(s),f=this.clone();if(h){for(a=0;!f.isZero();a++)o=f.andln(255),f.iushrn(8),u[a]=o;for(;a=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},s.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 8191&e||(r+=13,e>>>=13),127&e||(r+=7,e>>>=7),15&e||(r+=4,e>>>=4),3&e||(r+=2,e>>>=2),1&e||r++,r},s.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},s.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},s.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},s.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},s.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},s.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},s.prototype.inotn=function(t){i("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},s.prototype.notn=function(t){return this.clone().inotn(t)},s.prototype.setn=function(t,e){i("number"==typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,s=0;s>>26;for(;0!==n&&s>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;st.length?this.clone().iadd(t):t.clone().iadd(this)},s.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var s=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==s&&o>26,this.words[o]=67108863&e;if(0===s&&o>>13,d=0|o[1],p=8191&d,m=d>>>13,g=0|o[2],y=8191&g,b=g>>>13,v=0|o[3],w=8191&v,_=v>>>13,M=0|o[4],S=8191&M,k=M>>>13,E=0|o[5],x=8191&E,A=E>>>13,I=0|o[6],T=8191&I,P=I>>>13,C=0|o[7],R=8191&C,O=C>>>13,B=0|o[8],L=8191&B,N=B>>>13,j=0|o[9],U=8191&j,q=j>>>13,D=0|a[0],H=8191&D,F=D>>>13,z=0|a[1],$=8191&z,W=z>>>13,K=0|a[2],V=8191&K,Z=K>>>13,G=0|a[3],Y=8191&G,J=G>>>13,X=0|a[4],Q=8191&X,tt=X>>>13,et=0|a[5],rt=8191&et,it=et>>>13,nt=0|a[6],st=8191&nt,ot=nt>>>13,at=0|a[7],ht=8191&at,ut=at>>>13,ft=0|a[8],lt=8191&ft,ct=ft>>>13,dt=0|a[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,H))|0)+((8191&(n=(n=Math.imul(l,F))+Math.imul(c,H)|0))<<13)|0;u=((s=Math.imul(c,F))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,H),n=(n=Math.imul(p,F))+Math.imul(m,H)|0,s=Math.imul(m,F);var yt=(u+(i=i+Math.imul(l,$)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,$)|0))<<13)|0;u=((s=s+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,H),n=(n=Math.imul(y,F))+Math.imul(b,H)|0,s=Math.imul(b,F),i=i+Math.imul(p,$)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,$)|0,s=s+Math.imul(m,W)|0;var bt=(u+(i=i+Math.imul(l,V)|0)|0)+((8191&(n=(n=n+Math.imul(l,Z)|0)+Math.imul(c,V)|0))<<13)|0;u=((s=s+Math.imul(c,Z)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(w,H),n=(n=Math.imul(w,F))+Math.imul(_,H)|0,s=Math.imul(_,F),i=i+Math.imul(y,$)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(b,$)|0,s=s+Math.imul(b,W)|0,i=i+Math.imul(p,V)|0,n=(n=n+Math.imul(p,Z)|0)+Math.imul(m,V)|0,s=s+Math.imul(m,Z)|0;var vt=(u+(i=i+Math.imul(l,Y)|0)|0)+((8191&(n=(n=n+Math.imul(l,J)|0)+Math.imul(c,Y)|0))<<13)|0;u=((s=s+Math.imul(c,J)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(S,H),n=(n=Math.imul(S,F))+Math.imul(k,H)|0,s=Math.imul(k,F),i=i+Math.imul(w,$)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(_,$)|0,s=s+Math.imul(_,W)|0,i=i+Math.imul(y,V)|0,n=(n=n+Math.imul(y,Z)|0)+Math.imul(b,V)|0,s=s+Math.imul(b,Z)|0,i=i+Math.imul(p,Y)|0,n=(n=n+Math.imul(p,J)|0)+Math.imul(m,Y)|0,s=s+Math.imul(m,J)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((s=s+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(x,H),n=(n=Math.imul(x,F))+Math.imul(A,H)|0,s=Math.imul(A,F),i=i+Math.imul(S,$)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(k,$)|0,s=s+Math.imul(k,W)|0,i=i+Math.imul(w,V)|0,n=(n=n+Math.imul(w,Z)|0)+Math.imul(_,V)|0,s=s+Math.imul(_,Z)|0,i=i+Math.imul(y,Y)|0,n=(n=n+Math.imul(y,J)|0)+Math.imul(b,Y)|0,s=s+Math.imul(b,J)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,s=s+Math.imul(m,tt)|0;var _t=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((s=s+Math.imul(c,it)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(T,H),n=(n=Math.imul(T,F))+Math.imul(P,H)|0,s=Math.imul(P,F),i=i+Math.imul(x,$)|0,n=(n=n+Math.imul(x,W)|0)+Math.imul(A,$)|0,s=s+Math.imul(A,W)|0,i=i+Math.imul(S,V)|0,n=(n=n+Math.imul(S,Z)|0)+Math.imul(k,V)|0,s=s+Math.imul(k,Z)|0,i=i+Math.imul(w,Y)|0,n=(n=n+Math.imul(w,J)|0)+Math.imul(_,Y)|0,s=s+Math.imul(_,J)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(b,Q)|0,s=s+Math.imul(b,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,s=s+Math.imul(m,it)|0;var Mt=(u+(i=i+Math.imul(l,st)|0)|0)+((8191&(n=(n=n+Math.imul(l,ot)|0)+Math.imul(c,st)|0))<<13)|0;u=((s=s+Math.imul(c,ot)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(R,H),n=(n=Math.imul(R,F))+Math.imul(O,H)|0,s=Math.imul(O,F),i=i+Math.imul(T,$)|0,n=(n=n+Math.imul(T,W)|0)+Math.imul(P,$)|0,s=s+Math.imul(P,W)|0,i=i+Math.imul(x,V)|0,n=(n=n+Math.imul(x,Z)|0)+Math.imul(A,V)|0,s=s+Math.imul(A,Z)|0,i=i+Math.imul(S,Y)|0,n=(n=n+Math.imul(S,J)|0)+Math.imul(k,Y)|0,s=s+Math.imul(k,J)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,s=s+Math.imul(_,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(b,rt)|0,s=s+Math.imul(b,it)|0,i=i+Math.imul(p,st)|0,n=(n=n+Math.imul(p,ot)|0)+Math.imul(m,st)|0,s=s+Math.imul(m,ot)|0;var St=(u+(i=i+Math.imul(l,ht)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,ht)|0))<<13)|0;u=((s=s+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(L,H),n=(n=Math.imul(L,F))+Math.imul(N,H)|0,s=Math.imul(N,F),i=i+Math.imul(R,$)|0,n=(n=n+Math.imul(R,W)|0)+Math.imul(O,$)|0,s=s+Math.imul(O,W)|0,i=i+Math.imul(T,V)|0,n=(n=n+Math.imul(T,Z)|0)+Math.imul(P,V)|0,s=s+Math.imul(P,Z)|0,i=i+Math.imul(x,Y)|0,n=(n=n+Math.imul(x,J)|0)+Math.imul(A,Y)|0,s=s+Math.imul(A,J)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(k,Q)|0,s=s+Math.imul(k,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(_,rt)|0,s=s+Math.imul(_,it)|0,i=i+Math.imul(y,st)|0,n=(n=n+Math.imul(y,ot)|0)+Math.imul(b,st)|0,s=s+Math.imul(b,ot)|0,i=i+Math.imul(p,ht)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,ht)|0,s=s+Math.imul(m,ut)|0;var kt=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((s=s+Math.imul(c,ct)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(U,H),n=(n=Math.imul(U,F))+Math.imul(q,H)|0,s=Math.imul(q,F),i=i+Math.imul(L,$)|0,n=(n=n+Math.imul(L,W)|0)+Math.imul(N,$)|0,s=s+Math.imul(N,W)|0,i=i+Math.imul(R,V)|0,n=(n=n+Math.imul(R,Z)|0)+Math.imul(O,V)|0,s=s+Math.imul(O,Z)|0,i=i+Math.imul(T,Y)|0,n=(n=n+Math.imul(T,J)|0)+Math.imul(P,Y)|0,s=s+Math.imul(P,J)|0,i=i+Math.imul(x,Q)|0,n=(n=n+Math.imul(x,tt)|0)+Math.imul(A,Q)|0,s=s+Math.imul(A,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(k,rt)|0,s=s+Math.imul(k,it)|0,i=i+Math.imul(w,st)|0,n=(n=n+Math.imul(w,ot)|0)+Math.imul(_,st)|0,s=s+Math.imul(_,ot)|0,i=i+Math.imul(y,ht)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(b,ht)|0,s=s+Math.imul(b,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,s=s+Math.imul(m,ct)|0;var Et=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((s=s+Math.imul(c,mt)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(U,$),n=(n=Math.imul(U,W))+Math.imul(q,$)|0,s=Math.imul(q,W),i=i+Math.imul(L,V)|0,n=(n=n+Math.imul(L,Z)|0)+Math.imul(N,V)|0,s=s+Math.imul(N,Z)|0,i=i+Math.imul(R,Y)|0,n=(n=n+Math.imul(R,J)|0)+Math.imul(O,Y)|0,s=s+Math.imul(O,J)|0,i=i+Math.imul(T,Q)|0,n=(n=n+Math.imul(T,tt)|0)+Math.imul(P,Q)|0,s=s+Math.imul(P,tt)|0,i=i+Math.imul(x,rt)|0,n=(n=n+Math.imul(x,it)|0)+Math.imul(A,rt)|0,s=s+Math.imul(A,it)|0,i=i+Math.imul(S,st)|0,n=(n=n+Math.imul(S,ot)|0)+Math.imul(k,st)|0,s=s+Math.imul(k,ot)|0,i=i+Math.imul(w,ht)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(_,ht)|0,s=s+Math.imul(_,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(b,lt)|0,s=s+Math.imul(b,ct)|0;var xt=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((s=s+Math.imul(m,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(U,V),n=(n=Math.imul(U,Z))+Math.imul(q,V)|0,s=Math.imul(q,Z),i=i+Math.imul(L,Y)|0,n=(n=n+Math.imul(L,J)|0)+Math.imul(N,Y)|0,s=s+Math.imul(N,J)|0,i=i+Math.imul(R,Q)|0,n=(n=n+Math.imul(R,tt)|0)+Math.imul(O,Q)|0,s=s+Math.imul(O,tt)|0,i=i+Math.imul(T,rt)|0,n=(n=n+Math.imul(T,it)|0)+Math.imul(P,rt)|0,s=s+Math.imul(P,it)|0,i=i+Math.imul(x,st)|0,n=(n=n+Math.imul(x,ot)|0)+Math.imul(A,st)|0,s=s+Math.imul(A,ot)|0,i=i+Math.imul(S,ht)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(k,ht)|0,s=s+Math.imul(k,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(_,lt)|0,s=s+Math.imul(_,ct)|0;var At=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(b,pt)|0))<<13)|0;u=((s=s+Math.imul(b,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(U,Y),n=(n=Math.imul(U,J))+Math.imul(q,Y)|0,s=Math.imul(q,J),i=i+Math.imul(L,Q)|0,n=(n=n+Math.imul(L,tt)|0)+Math.imul(N,Q)|0,s=s+Math.imul(N,tt)|0,i=i+Math.imul(R,rt)|0,n=(n=n+Math.imul(R,it)|0)+Math.imul(O,rt)|0,s=s+Math.imul(O,it)|0,i=i+Math.imul(T,st)|0,n=(n=n+Math.imul(T,ot)|0)+Math.imul(P,st)|0,s=s+Math.imul(P,ot)|0,i=i+Math.imul(x,ht)|0,n=(n=n+Math.imul(x,ut)|0)+Math.imul(A,ht)|0,s=s+Math.imul(A,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(k,lt)|0,s=s+Math.imul(k,ct)|0;var It=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;u=((s=s+Math.imul(_,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(U,Q),n=(n=Math.imul(U,tt))+Math.imul(q,Q)|0,s=Math.imul(q,tt),i=i+Math.imul(L,rt)|0,n=(n=n+Math.imul(L,it)|0)+Math.imul(N,rt)|0,s=s+Math.imul(N,it)|0,i=i+Math.imul(R,st)|0,n=(n=n+Math.imul(R,ot)|0)+Math.imul(O,st)|0,s=s+Math.imul(O,ot)|0,i=i+Math.imul(T,ht)|0,n=(n=n+Math.imul(T,ut)|0)+Math.imul(P,ht)|0,s=s+Math.imul(P,ut)|0,i=i+Math.imul(x,lt)|0,n=(n=n+Math.imul(x,ct)|0)+Math.imul(A,lt)|0,s=s+Math.imul(A,ct)|0;var Tt=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(k,pt)|0))<<13)|0;u=((s=s+Math.imul(k,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(U,rt),n=(n=Math.imul(U,it))+Math.imul(q,rt)|0,s=Math.imul(q,it),i=i+Math.imul(L,st)|0,n=(n=n+Math.imul(L,ot)|0)+Math.imul(N,st)|0,s=s+Math.imul(N,ot)|0,i=i+Math.imul(R,ht)|0,n=(n=n+Math.imul(R,ut)|0)+Math.imul(O,ht)|0,s=s+Math.imul(O,ut)|0,i=i+Math.imul(T,lt)|0,n=(n=n+Math.imul(T,ct)|0)+Math.imul(P,lt)|0,s=s+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(x,pt)|0)|0)+((8191&(n=(n=n+Math.imul(x,mt)|0)+Math.imul(A,pt)|0))<<13)|0;u=((s=s+Math.imul(A,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(U,st),n=(n=Math.imul(U,ot))+Math.imul(q,st)|0,s=Math.imul(q,ot),i=i+Math.imul(L,ht)|0,n=(n=n+Math.imul(L,ut)|0)+Math.imul(N,ht)|0,s=s+Math.imul(N,ut)|0,i=i+Math.imul(R,lt)|0,n=(n=n+Math.imul(R,ct)|0)+Math.imul(O,lt)|0,s=s+Math.imul(O,ct)|0;var Ct=(u+(i=i+Math.imul(T,pt)|0)|0)+((8191&(n=(n=n+Math.imul(T,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((s=s+Math.imul(P,mt)|0)+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(U,ht),n=(n=Math.imul(U,ut))+Math.imul(q,ht)|0,s=Math.imul(q,ut),i=i+Math.imul(L,lt)|0,n=(n=n+Math.imul(L,ct)|0)+Math.imul(N,lt)|0,s=s+Math.imul(N,ct)|0;var Rt=(u+(i=i+Math.imul(R,pt)|0)|0)+((8191&(n=(n=n+Math.imul(R,mt)|0)+Math.imul(O,pt)|0))<<13)|0;u=((s=s+Math.imul(O,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(U,lt),n=(n=Math.imul(U,ct))+Math.imul(q,lt)|0,s=Math.imul(q,ct);var Ot=(u+(i=i+Math.imul(L,pt)|0)|0)+((8191&(n=(n=n+Math.imul(L,mt)|0)+Math.imul(N,pt)|0))<<13)|0;u=((s=s+Math.imul(N,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var Bt=(u+(i=Math.imul(U,pt))|0)+((8191&(n=(n=Math.imul(U,mt))+Math.imul(q,pt)|0))<<13)|0;return u=((s=Math.imul(q,mt))+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,h[0]=gt,h[1]=yt,h[2]=bt,h[3]=vt,h[4]=wt,h[5]=_t,h[6]=Mt,h[7]=St,h[8]=kt,h[9]=Et,h[10]=xt,h[11]=At,h[12]=It,h[13]=Tt,h[14]=Pt,h[15]=Ct,h[16]=Rt,h[17]=Ot,h[18]=Bt,0!==u&&(h[19]=u,r.length++),r};function m(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(p=d),s.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?p(this,t,e):i<63?d(this,t,e):i<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,s=0;s>>26)|0)>>>26,o&=67108863}r.words[s]=a,i=o,o=n}return 0!==i?r.words[s]=i:r.length--,r.strip()}(this,t,e):m(this,t,e),r},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=s.prototype._countBits(t)-1,i=0;i>=1;return i},g.prototype.permute=function(t,e,r,i,n,s){for(var o=0;o>>=1)n++;return 1<>>=13,r[2*o+1]=8191&s,s>>>=13;for(o=2*e;o>=26,e+=n/67108864|0,e+=s>>>26,this.words[r]=67108863&s}return 0!==e&&(this.words[r]=e,this.length++),this},s.prototype.muln=function(t){return this.clone().imuln(t)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>n}return e}(t);if(0===e.length)return new s(1);for(var r=this,i=0;i=0);var e,r=t%26,n=(t-r)/26,s=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var s=t%26,o=Math.min((t-s)/26,this.length),a=67108863^67108863>>>s<o)for(this.length-=o,u=0;u=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-s|l>>>s,f=l&a}return h&&0!==f&&(h.words[h.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},s.prototype.shln=function(t){return this.clone().ishln(t)},s.prototype.ushln=function(t){return this.clone().iushln(t)},s.prototype.shrn=function(t){return this.clone().ishrn(t)},s.prototype.ushrn=function(t){return this.clone().iushrn(t)},s.prototype.testn=function(t){i("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},s.prototype.isubn=function(t){if(i("number"==typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(h/67108864|0),this.words[n+r]=67108863&s}for(;n>26,this.words[n+r]=67108863&s;if(0===a)return this.strip();for(i(-1===a),a=0,n=0;n>26,this.words[n]=67108863&s;return this.negative=1,this.strip()},s.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),n=t,o=0|n.words[n.length-1];0!==(r=26-this._countBits(o))&&(n=n.ushln(r),i.iushln(r),o=0|n.words[n.length-1]);var a,h=i.length-n.length;if("mod"!==e){(a=new s(null)).length=h+1,a.words=new Array(a.length);for(var u=0;u=0;l--){var c=67108864*(0|i.words[n.length+l])+(0|i.words[n.length+l-1]);for(c=Math.min(c/o|0,67108863),i._ishlnsubmul(n,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(n,1,l),i.isZero()||(i.negative^=1);a&&(a.words[l]=c)}return a&&a.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:a||null,mod:i}},s.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(n=a.div.neg()),"div"!==e&&(o=a.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:n,mod:o}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(n=a.div.neg()),{div:n,mod:a.mod}):this.negative&t.negative?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(o=a.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:a.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new s(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new s(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new s(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,o,a},s.prototype.div=function(t){return this.divmod(t,"div",!1).div},s.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},s.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},s.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),s=r.cmp(i);return s<0||1===n&&0===s?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},s.prototype.modn=function(t){i(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;n>=0;n--)r=(e*r+(0|this.words[n]))%t;return r},s.prototype.idivn=function(t){i(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},s.prototype.divn=function(t){return this.clone().idivn(t)},s.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n=new s(1),o=new s(0),a=new s(0),h=new s(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var f=r.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;!(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(f),o.isub(l)),n.iushrn(1),o.iushrn(1);for(var p=0,m=1;!(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(a.isOdd()||h.isOdd())&&(a.iadd(f),h.isub(l)),a.iushrn(1),h.iushrn(1);e.cmp(r)>=0?(e.isub(r),n.isub(a),o.isub(h)):(r.isub(e),a.isub(n),h.isub(o))}return{a,b:h,gcd:r.iushln(u)}},s.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n,o=new s(1),a=new s(0),h=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,f=1;!(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)o.isOdd()&&o.iadd(h),o.iushrn(1);for(var l=0,c=1;!(r.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(r.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(h),a.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(a)):(r.isub(e),a.isub(o))}return(n=0===e.cmpn(1)?o:a).cmpn(0)<0&&n.iadd(t),n},s.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var s=e;e=r,r=s}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},s.prototype.invm=function(t){return this.egcd(t).a.umod(t)},s.prototype.isEven=function(){return!(1&this.words[0])},s.prototype.isOdd=function(){return!(1&~this.words[0])},s.prototype.andln=function(t){return this.words[0]&t},s.prototype.bincn=function(t){i("number"==typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,a&=67108863,this.words[o]=a}return 0!==s&&(this.words[o]=s,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},s.prototype.gtn=function(t){return 1===this.cmpn(t)},s.prototype.gt=function(t){return 1===this.cmp(t)},s.prototype.gten=function(t){return this.cmpn(t)>=0},s.prototype.gte=function(t){return this.cmp(t)>=0},s.prototype.ltn=function(t){return-1===this.cmpn(t)},s.prototype.lt=function(t){return-1===this.cmp(t)},s.prototype.lten=function(t){return this.cmpn(t)<=0},s.prototype.lte=function(t){return this.cmp(t)<=0},s.prototype.eqn=function(t){return 0===this.cmpn(t)},s.prototype.eq=function(t){return 0===this.cmp(t)},s.red=function(t){return new S(t)},s.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},s.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(t){return this.red=t,this},s.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},s.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},s.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},s.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},s.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},s.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},s.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},s.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},s.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function b(t,e){this.name=t,this.p=new s(e,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function w(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function S(t){if("string"==typeof t){var e=s._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){S.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var t=new s(null);return t.words=new Array(Math.ceil(this.n/13)),t},b.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},b.prototype.split=function(t,e){t.iushrn(this.n,0,e)},b.prototype.imulK=function(t){return t.imul(this.k)},n(v,b),v.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,s=o}s>>>=22,t.words[n-10]=s,0===s&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},s._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new w;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return y[t]=e,e},S.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},S.prototype._verify2=function(t,e){i(!(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},S.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},S.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},S.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},S.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},S.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},S.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},S.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},S.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},S.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},S.prototype.isqr=function(t){return this.imul(t,t.clone())},S.prototype.sqr=function(t){return this.mul(t,t)},S.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2==1),3===e){var r=this.m.add(new s(1)).iushrn(2);return this.pow(t,r)}for(var n=this.m.subn(1),o=0;!n.isZero()&&0===n.andln(1);)o++,n.iushrn(1);i(!n.isZero());var a=new s(1).toRed(this),h=a.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new s(2*f*f).toRed(this);0!==this.pow(f,u).cmp(h);)f.redIAdd(h);for(var l=this.pow(f,n),c=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=o;0!==d.cmp(a);){for(var m=d,g=0;0!==m.cmp(a);g++)m=m.redSqr();i(g=0;i--){for(var u=e.words[i],f=h-1;f>=0;f--){var l=u>>f&1;n!==r[0]&&(n=this.sqr(n)),0!==l||0!==o?(o<<=1,o|=l,(4===++a||0===i&&0===f)&&(n=this.mul(n,r[o]),a=0,o=0)):a=0}h=26}return n},S.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},S.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},s.mont=function(t){return new k(t)},n(k,S),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),s=n;return n.cmp(this.m)>=0?s=n.isub(this.m):n.cmpn(0)<0&&(s=n.iadd(this.m)),s._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new s(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=r.nmd(t),this)},2356:(t,e,r)=>{var i=r(462),n=r(2861).Buffer,s=r(6168),o=r(6698),a=r(5892),h=r(295),u=r(5122);function f(t,e,r,o){s.call(this);var h=n.alloc(4,0);this._cipher=new i.AES(e);var f=this._cipher.encryptBlock(h);this._ghash=new a(f),r=function(t,e,r){if(12===e.length)return t._finID=n.concat([e,n.from([0,0,0,1])]),n.concat([e,n.from([0,0,0,2])]);var i=new a(r),s=e.length,o=s%16;i.update(e),o&&(o=16-o,i.update(n.alloc(o,0))),i.update(n.alloc(8,0));var h=8*s,f=n.alloc(8);f.writeUIntBE(h,0,8),i.update(f),t._finID=i.state;var l=n.from(t._finID);return u(l),l}(this,r,f),this._prev=n.from(r),this._cache=n.allocUnsafe(0),this._secCache=n.allocUnsafe(0),this._decrypt=o,this._alen=0,this._len=0,this._mode=t,this._authTag=null,this._called=!1}o(f,s),f.prototype._update=function(t){if(!this._called&&this._alen){var e=16-this._alen%16;e<16&&(e=n.alloc(e,0),this._ghash.update(e))}this._called=!0;var r=this._mode.encrypt(this,t);return this._decrypt?this._ghash.update(t):this._ghash.update(r),this._len+=t.length,r},f.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var t=h(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function(t,e){var r=0;t.length!==e.length&&r++;for(var i=Math.min(t.length,e.length),n=0;n{},2438:(t,e)=>{e["des-ecb"]={key:8,iv:0},e["des-cbc"]=e.des={key:8,iv:8},e["des-ede3-cbc"]=e.des3={key:24,iv:8},e["des-ede3"]={key:24,iv:0},e["des-ede-cbc"]={key:16,iv:8},e["des-ede"]={key:16,iv:0}},2455:(t,e,r)=>{var i,n=r(717);if(globalThis.process&&globalThis.process.browser)i="utf-8";else if(globalThis.process&&globalThis.process.version){i=parseInt(n.version.split(".")[0].slice(1),10)>=6?"utf-8":"binary"}else i="utf-8";t.exports=i},2503:(t,e,r)=>{var i=r(8287).Buffer;t.exports=function(t){return t instanceof i}},2509:function(t,e,r){!function(t,e){function i(t,e){if(!t)throw new Error(e||"Assertion failed")}function n(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function s(t,e,r){if(s.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=s:e.BN=s,s.BN=s,s.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(8287).Buffer}catch(t){}function a(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function h(t,e,r){var i=a(t,r);return r-1>=e&&(i|=a(t,r-1)<<4),i}function u(t,e,r,i){for(var n=0,s=Math.min(t.length,r),o=e;o=49?a-49+10:a>=17?a-17+10:a}return n}s.isBN=function(t){return t instanceof s||null!==t&&"object"==typeof t&&t.constructor.wordSize===s.wordSize&&Array.isArray(t.words)},s.max=function(t,e){return t.cmp(e)>0?t:e},s.min=function(t,e){return t.cmp(e)<0?t:e},s.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),i(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n=0;n-=3)o=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[s]|=o<>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);else if("le"===r)for(n=0,s=0;n>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);return this.strip()},s.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i=e;i-=2)n=h(t,e,i)<=18?(s-=18,o+=1,this.words[o]|=n>>>26):s+=8;else for(i=(t.length-e)%2==0?e+1:e;i=18?(s-=18,o+=1,this.words[o]|=n>>>26):s+=8;this.strip()},s.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var s=t.length-r,o=s%i,a=Math.min(s,s-o)+r,h=0,f=r;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var f=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],c=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],s=0|e.words[0],o=n*s,a=67108863&o,h=o/67108864|0;r.words[0]=a;for(var u=1;u>>26,l=67108863&h,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(o=(n=0|t.words[p])*(s=0|e.words[d])+l)/67108864|0,l=67108863&o}r.words[u]=0|l,h=0|f}return 0!==h?r.words[u]=0|h:r.length--,r.strip()}s.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var n=0,s=0,o=0;o>>24-n&16777215,(n+=2)>=26&&(n-=26,o--),r=0!==s||o!==this.length-1?f[6-h.length]+h+r:h+r}for(0!==s&&(r=s.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var u=l[t],d=c[t];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);r=(p=p.idivn(d)).isZero()?m+r:f[u-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(t,e){return i(void 0!==o),this.toArrayLike(o,t,e)},s.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},s.prototype.toArrayLike=function(t,e,r){var n=this.byteLength(),s=r||Math.max(1,n);i(n<=s,"byte array longer than desired length"),i(s>0,"Requested array length <= 0"),this.strip();var o,a,h="le"===e,u=new t(s),f=this.clone();if(h){for(a=0;!f.isZero();a++)o=f.andln(255),f.iushrn(8),u[a]=o;for(;a=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},s.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 8191&e||(r+=13,e>>>=13),127&e||(r+=7,e>>>=7),15&e||(r+=4,e>>>=4),3&e||(r+=2,e>>>=2),1&e||r++,r},s.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},s.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},s.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},s.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},s.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},s.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},s.prototype.inotn=function(t){i("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},s.prototype.notn=function(t){return this.clone().inotn(t)},s.prototype.setn=function(t,e){i("number"==typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,s=0;s>>26;for(;0!==n&&s>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;st.length?this.clone().iadd(t):t.clone().iadd(this)},s.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var s=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==s&&o>26,this.words[o]=67108863&e;if(0===s&&o>>13,d=0|o[1],p=8191&d,m=d>>>13,g=0|o[2],y=8191&g,b=g>>>13,v=0|o[3],w=8191&v,_=v>>>13,M=0|o[4],S=8191&M,k=M>>>13,E=0|o[5],x=8191&E,A=E>>>13,I=0|o[6],T=8191&I,P=I>>>13,C=0|o[7],R=8191&C,O=C>>>13,B=0|o[8],L=8191&B,N=B>>>13,j=0|o[9],U=8191&j,q=j>>>13,D=0|a[0],H=8191&D,F=D>>>13,z=0|a[1],$=8191&z,W=z>>>13,K=0|a[2],V=8191&K,Z=K>>>13,G=0|a[3],Y=8191&G,J=G>>>13,X=0|a[4],Q=8191&X,tt=X>>>13,et=0|a[5],rt=8191&et,it=et>>>13,nt=0|a[6],st=8191&nt,ot=nt>>>13,at=0|a[7],ht=8191&at,ut=at>>>13,ft=0|a[8],lt=8191&ft,ct=ft>>>13,dt=0|a[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,H))|0)+((8191&(n=(n=Math.imul(l,F))+Math.imul(c,H)|0))<<13)|0;u=((s=Math.imul(c,F))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,H),n=(n=Math.imul(p,F))+Math.imul(m,H)|0,s=Math.imul(m,F);var yt=(u+(i=i+Math.imul(l,$)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,$)|0))<<13)|0;u=((s=s+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,H),n=(n=Math.imul(y,F))+Math.imul(b,H)|0,s=Math.imul(b,F),i=i+Math.imul(p,$)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,$)|0,s=s+Math.imul(m,W)|0;var bt=(u+(i=i+Math.imul(l,V)|0)|0)+((8191&(n=(n=n+Math.imul(l,Z)|0)+Math.imul(c,V)|0))<<13)|0;u=((s=s+Math.imul(c,Z)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(w,H),n=(n=Math.imul(w,F))+Math.imul(_,H)|0,s=Math.imul(_,F),i=i+Math.imul(y,$)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(b,$)|0,s=s+Math.imul(b,W)|0,i=i+Math.imul(p,V)|0,n=(n=n+Math.imul(p,Z)|0)+Math.imul(m,V)|0,s=s+Math.imul(m,Z)|0;var vt=(u+(i=i+Math.imul(l,Y)|0)|0)+((8191&(n=(n=n+Math.imul(l,J)|0)+Math.imul(c,Y)|0))<<13)|0;u=((s=s+Math.imul(c,J)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(S,H),n=(n=Math.imul(S,F))+Math.imul(k,H)|0,s=Math.imul(k,F),i=i+Math.imul(w,$)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(_,$)|0,s=s+Math.imul(_,W)|0,i=i+Math.imul(y,V)|0,n=(n=n+Math.imul(y,Z)|0)+Math.imul(b,V)|0,s=s+Math.imul(b,Z)|0,i=i+Math.imul(p,Y)|0,n=(n=n+Math.imul(p,J)|0)+Math.imul(m,Y)|0,s=s+Math.imul(m,J)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((s=s+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(x,H),n=(n=Math.imul(x,F))+Math.imul(A,H)|0,s=Math.imul(A,F),i=i+Math.imul(S,$)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(k,$)|0,s=s+Math.imul(k,W)|0,i=i+Math.imul(w,V)|0,n=(n=n+Math.imul(w,Z)|0)+Math.imul(_,V)|0,s=s+Math.imul(_,Z)|0,i=i+Math.imul(y,Y)|0,n=(n=n+Math.imul(y,J)|0)+Math.imul(b,Y)|0,s=s+Math.imul(b,J)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,s=s+Math.imul(m,tt)|0;var _t=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((s=s+Math.imul(c,it)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(T,H),n=(n=Math.imul(T,F))+Math.imul(P,H)|0,s=Math.imul(P,F),i=i+Math.imul(x,$)|0,n=(n=n+Math.imul(x,W)|0)+Math.imul(A,$)|0,s=s+Math.imul(A,W)|0,i=i+Math.imul(S,V)|0,n=(n=n+Math.imul(S,Z)|0)+Math.imul(k,V)|0,s=s+Math.imul(k,Z)|0,i=i+Math.imul(w,Y)|0,n=(n=n+Math.imul(w,J)|0)+Math.imul(_,Y)|0,s=s+Math.imul(_,J)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(b,Q)|0,s=s+Math.imul(b,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,s=s+Math.imul(m,it)|0;var Mt=(u+(i=i+Math.imul(l,st)|0)|0)+((8191&(n=(n=n+Math.imul(l,ot)|0)+Math.imul(c,st)|0))<<13)|0;u=((s=s+Math.imul(c,ot)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(R,H),n=(n=Math.imul(R,F))+Math.imul(O,H)|0,s=Math.imul(O,F),i=i+Math.imul(T,$)|0,n=(n=n+Math.imul(T,W)|0)+Math.imul(P,$)|0,s=s+Math.imul(P,W)|0,i=i+Math.imul(x,V)|0,n=(n=n+Math.imul(x,Z)|0)+Math.imul(A,V)|0,s=s+Math.imul(A,Z)|0,i=i+Math.imul(S,Y)|0,n=(n=n+Math.imul(S,J)|0)+Math.imul(k,Y)|0,s=s+Math.imul(k,J)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,s=s+Math.imul(_,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(b,rt)|0,s=s+Math.imul(b,it)|0,i=i+Math.imul(p,st)|0,n=(n=n+Math.imul(p,ot)|0)+Math.imul(m,st)|0,s=s+Math.imul(m,ot)|0;var St=(u+(i=i+Math.imul(l,ht)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,ht)|0))<<13)|0;u=((s=s+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(L,H),n=(n=Math.imul(L,F))+Math.imul(N,H)|0,s=Math.imul(N,F),i=i+Math.imul(R,$)|0,n=(n=n+Math.imul(R,W)|0)+Math.imul(O,$)|0,s=s+Math.imul(O,W)|0,i=i+Math.imul(T,V)|0,n=(n=n+Math.imul(T,Z)|0)+Math.imul(P,V)|0,s=s+Math.imul(P,Z)|0,i=i+Math.imul(x,Y)|0,n=(n=n+Math.imul(x,J)|0)+Math.imul(A,Y)|0,s=s+Math.imul(A,J)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(k,Q)|0,s=s+Math.imul(k,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(_,rt)|0,s=s+Math.imul(_,it)|0,i=i+Math.imul(y,st)|0,n=(n=n+Math.imul(y,ot)|0)+Math.imul(b,st)|0,s=s+Math.imul(b,ot)|0,i=i+Math.imul(p,ht)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,ht)|0,s=s+Math.imul(m,ut)|0;var kt=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((s=s+Math.imul(c,ct)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(U,H),n=(n=Math.imul(U,F))+Math.imul(q,H)|0,s=Math.imul(q,F),i=i+Math.imul(L,$)|0,n=(n=n+Math.imul(L,W)|0)+Math.imul(N,$)|0,s=s+Math.imul(N,W)|0,i=i+Math.imul(R,V)|0,n=(n=n+Math.imul(R,Z)|0)+Math.imul(O,V)|0,s=s+Math.imul(O,Z)|0,i=i+Math.imul(T,Y)|0,n=(n=n+Math.imul(T,J)|0)+Math.imul(P,Y)|0,s=s+Math.imul(P,J)|0,i=i+Math.imul(x,Q)|0,n=(n=n+Math.imul(x,tt)|0)+Math.imul(A,Q)|0,s=s+Math.imul(A,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(k,rt)|0,s=s+Math.imul(k,it)|0,i=i+Math.imul(w,st)|0,n=(n=n+Math.imul(w,ot)|0)+Math.imul(_,st)|0,s=s+Math.imul(_,ot)|0,i=i+Math.imul(y,ht)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(b,ht)|0,s=s+Math.imul(b,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,s=s+Math.imul(m,ct)|0;var Et=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((s=s+Math.imul(c,mt)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(U,$),n=(n=Math.imul(U,W))+Math.imul(q,$)|0,s=Math.imul(q,W),i=i+Math.imul(L,V)|0,n=(n=n+Math.imul(L,Z)|0)+Math.imul(N,V)|0,s=s+Math.imul(N,Z)|0,i=i+Math.imul(R,Y)|0,n=(n=n+Math.imul(R,J)|0)+Math.imul(O,Y)|0,s=s+Math.imul(O,J)|0,i=i+Math.imul(T,Q)|0,n=(n=n+Math.imul(T,tt)|0)+Math.imul(P,Q)|0,s=s+Math.imul(P,tt)|0,i=i+Math.imul(x,rt)|0,n=(n=n+Math.imul(x,it)|0)+Math.imul(A,rt)|0,s=s+Math.imul(A,it)|0,i=i+Math.imul(S,st)|0,n=(n=n+Math.imul(S,ot)|0)+Math.imul(k,st)|0,s=s+Math.imul(k,ot)|0,i=i+Math.imul(w,ht)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(_,ht)|0,s=s+Math.imul(_,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(b,lt)|0,s=s+Math.imul(b,ct)|0;var xt=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((s=s+Math.imul(m,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(U,V),n=(n=Math.imul(U,Z))+Math.imul(q,V)|0,s=Math.imul(q,Z),i=i+Math.imul(L,Y)|0,n=(n=n+Math.imul(L,J)|0)+Math.imul(N,Y)|0,s=s+Math.imul(N,J)|0,i=i+Math.imul(R,Q)|0,n=(n=n+Math.imul(R,tt)|0)+Math.imul(O,Q)|0,s=s+Math.imul(O,tt)|0,i=i+Math.imul(T,rt)|0,n=(n=n+Math.imul(T,it)|0)+Math.imul(P,rt)|0,s=s+Math.imul(P,it)|0,i=i+Math.imul(x,st)|0,n=(n=n+Math.imul(x,ot)|0)+Math.imul(A,st)|0,s=s+Math.imul(A,ot)|0,i=i+Math.imul(S,ht)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(k,ht)|0,s=s+Math.imul(k,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(_,lt)|0,s=s+Math.imul(_,ct)|0;var At=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(b,pt)|0))<<13)|0;u=((s=s+Math.imul(b,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(U,Y),n=(n=Math.imul(U,J))+Math.imul(q,Y)|0,s=Math.imul(q,J),i=i+Math.imul(L,Q)|0,n=(n=n+Math.imul(L,tt)|0)+Math.imul(N,Q)|0,s=s+Math.imul(N,tt)|0,i=i+Math.imul(R,rt)|0,n=(n=n+Math.imul(R,it)|0)+Math.imul(O,rt)|0,s=s+Math.imul(O,it)|0,i=i+Math.imul(T,st)|0,n=(n=n+Math.imul(T,ot)|0)+Math.imul(P,st)|0,s=s+Math.imul(P,ot)|0,i=i+Math.imul(x,ht)|0,n=(n=n+Math.imul(x,ut)|0)+Math.imul(A,ht)|0,s=s+Math.imul(A,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(k,lt)|0,s=s+Math.imul(k,ct)|0;var It=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;u=((s=s+Math.imul(_,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(U,Q),n=(n=Math.imul(U,tt))+Math.imul(q,Q)|0,s=Math.imul(q,tt),i=i+Math.imul(L,rt)|0,n=(n=n+Math.imul(L,it)|0)+Math.imul(N,rt)|0,s=s+Math.imul(N,it)|0,i=i+Math.imul(R,st)|0,n=(n=n+Math.imul(R,ot)|0)+Math.imul(O,st)|0,s=s+Math.imul(O,ot)|0,i=i+Math.imul(T,ht)|0,n=(n=n+Math.imul(T,ut)|0)+Math.imul(P,ht)|0,s=s+Math.imul(P,ut)|0,i=i+Math.imul(x,lt)|0,n=(n=n+Math.imul(x,ct)|0)+Math.imul(A,lt)|0,s=s+Math.imul(A,ct)|0;var Tt=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(k,pt)|0))<<13)|0;u=((s=s+Math.imul(k,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(U,rt),n=(n=Math.imul(U,it))+Math.imul(q,rt)|0,s=Math.imul(q,it),i=i+Math.imul(L,st)|0,n=(n=n+Math.imul(L,ot)|0)+Math.imul(N,st)|0,s=s+Math.imul(N,ot)|0,i=i+Math.imul(R,ht)|0,n=(n=n+Math.imul(R,ut)|0)+Math.imul(O,ht)|0,s=s+Math.imul(O,ut)|0,i=i+Math.imul(T,lt)|0,n=(n=n+Math.imul(T,ct)|0)+Math.imul(P,lt)|0,s=s+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(x,pt)|0)|0)+((8191&(n=(n=n+Math.imul(x,mt)|0)+Math.imul(A,pt)|0))<<13)|0;u=((s=s+Math.imul(A,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(U,st),n=(n=Math.imul(U,ot))+Math.imul(q,st)|0,s=Math.imul(q,ot),i=i+Math.imul(L,ht)|0,n=(n=n+Math.imul(L,ut)|0)+Math.imul(N,ht)|0,s=s+Math.imul(N,ut)|0,i=i+Math.imul(R,lt)|0,n=(n=n+Math.imul(R,ct)|0)+Math.imul(O,lt)|0,s=s+Math.imul(O,ct)|0;var Ct=(u+(i=i+Math.imul(T,pt)|0)|0)+((8191&(n=(n=n+Math.imul(T,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((s=s+Math.imul(P,mt)|0)+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(U,ht),n=(n=Math.imul(U,ut))+Math.imul(q,ht)|0,s=Math.imul(q,ut),i=i+Math.imul(L,lt)|0,n=(n=n+Math.imul(L,ct)|0)+Math.imul(N,lt)|0,s=s+Math.imul(N,ct)|0;var Rt=(u+(i=i+Math.imul(R,pt)|0)|0)+((8191&(n=(n=n+Math.imul(R,mt)|0)+Math.imul(O,pt)|0))<<13)|0;u=((s=s+Math.imul(O,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(U,lt),n=(n=Math.imul(U,ct))+Math.imul(q,lt)|0,s=Math.imul(q,ct);var Ot=(u+(i=i+Math.imul(L,pt)|0)|0)+((8191&(n=(n=n+Math.imul(L,mt)|0)+Math.imul(N,pt)|0))<<13)|0;u=((s=s+Math.imul(N,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var Bt=(u+(i=Math.imul(U,pt))|0)+((8191&(n=(n=Math.imul(U,mt))+Math.imul(q,pt)|0))<<13)|0;return u=((s=Math.imul(q,mt))+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,h[0]=gt,h[1]=yt,h[2]=bt,h[3]=vt,h[4]=wt,h[5]=_t,h[6]=Mt,h[7]=St,h[8]=kt,h[9]=Et,h[10]=xt,h[11]=At,h[12]=It,h[13]=Tt,h[14]=Pt,h[15]=Ct,h[16]=Rt,h[17]=Ot,h[18]=Bt,0!==u&&(h[19]=u,r.length++),r};function m(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(p=d),s.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?p(this,t,e):i<63?d(this,t,e):i<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,s=0;s>>26)|0)>>>26,o&=67108863}r.words[s]=a,i=o,o=n}return 0!==i?r.words[s]=i:r.length--,r.strip()}(this,t,e):m(this,t,e),r},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=s.prototype._countBits(t)-1,i=0;i>=1;return i},g.prototype.permute=function(t,e,r,i,n,s){for(var o=0;o>>=1)n++;return 1<>>=13,r[2*o+1]=8191&s,s>>>=13;for(o=2*e;o>=26,e+=n/67108864|0,e+=s>>>26,this.words[r]=67108863&s}return 0!==e&&(this.words[r]=e,this.length++),this},s.prototype.muln=function(t){return this.clone().imuln(t)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>n}return e}(t);if(0===e.length)return new s(1);for(var r=this,i=0;i=0);var e,r=t%26,n=(t-r)/26,s=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var s=t%26,o=Math.min((t-s)/26,this.length),a=67108863^67108863>>>s<o)for(this.length-=o,u=0;u=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-s|l>>>s,f=l&a}return h&&0!==f&&(h.words[h.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},s.prototype.shln=function(t){return this.clone().ishln(t)},s.prototype.ushln=function(t){return this.clone().iushln(t)},s.prototype.shrn=function(t){return this.clone().ishrn(t)},s.prototype.ushrn=function(t){return this.clone().iushrn(t)},s.prototype.testn=function(t){i("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},s.prototype.isubn=function(t){if(i("number"==typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(h/67108864|0),this.words[n+r]=67108863&s}for(;n>26,this.words[n+r]=67108863&s;if(0===a)return this.strip();for(i(-1===a),a=0,n=0;n>26,this.words[n]=67108863&s;return this.negative=1,this.strip()},s.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),n=t,o=0|n.words[n.length-1];0!==(r=26-this._countBits(o))&&(n=n.ushln(r),i.iushln(r),o=0|n.words[n.length-1]);var a,h=i.length-n.length;if("mod"!==e){(a=new s(null)).length=h+1,a.words=new Array(a.length);for(var u=0;u=0;l--){var c=67108864*(0|i.words[n.length+l])+(0|i.words[n.length+l-1]);for(c=Math.min(c/o|0,67108863),i._ishlnsubmul(n,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(n,1,l),i.isZero()||(i.negative^=1);a&&(a.words[l]=c)}return a&&a.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:a||null,mod:i}},s.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(n=a.div.neg()),"div"!==e&&(o=a.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:n,mod:o}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(n=a.div.neg()),{div:n,mod:a.mod}):this.negative&t.negative?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(o=a.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:a.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new s(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new s(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new s(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,o,a},s.prototype.div=function(t){return this.divmod(t,"div",!1).div},s.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},s.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},s.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),s=r.cmp(i);return s<0||1===n&&0===s?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},s.prototype.modn=function(t){i(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;n>=0;n--)r=(e*r+(0|this.words[n]))%t;return r},s.prototype.idivn=function(t){i(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},s.prototype.divn=function(t){return this.clone().idivn(t)},s.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n=new s(1),o=new s(0),a=new s(0),h=new s(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var f=r.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;!(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(f),o.isub(l)),n.iushrn(1),o.iushrn(1);for(var p=0,m=1;!(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(a.isOdd()||h.isOdd())&&(a.iadd(f),h.isub(l)),a.iushrn(1),h.iushrn(1);e.cmp(r)>=0?(e.isub(r),n.isub(a),o.isub(h)):(r.isub(e),a.isub(n),h.isub(o))}return{a,b:h,gcd:r.iushln(u)}},s.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n,o=new s(1),a=new s(0),h=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,f=1;!(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)o.isOdd()&&o.iadd(h),o.iushrn(1);for(var l=0,c=1;!(r.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(r.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(h),a.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(a)):(r.isub(e),a.isub(o))}return(n=0===e.cmpn(1)?o:a).cmpn(0)<0&&n.iadd(t),n},s.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var s=e;e=r,r=s}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},s.prototype.invm=function(t){return this.egcd(t).a.umod(t)},s.prototype.isEven=function(){return!(1&this.words[0])},s.prototype.isOdd=function(){return!(1&~this.words[0])},s.prototype.andln=function(t){return this.words[0]&t},s.prototype.bincn=function(t){i("number"==typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,a&=67108863,this.words[o]=a}return 0!==s&&(this.words[o]=s,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},s.prototype.gtn=function(t){return 1===this.cmpn(t)},s.prototype.gt=function(t){return 1===this.cmp(t)},s.prototype.gten=function(t){return this.cmpn(t)>=0},s.prototype.gte=function(t){return this.cmp(t)>=0},s.prototype.ltn=function(t){return-1===this.cmpn(t)},s.prototype.lt=function(t){return-1===this.cmp(t)},s.prototype.lten=function(t){return this.cmpn(t)<=0},s.prototype.lte=function(t){return this.cmp(t)<=0},s.prototype.eqn=function(t){return 0===this.cmpn(t)},s.prototype.eq=function(t){return 0===this.cmp(t)},s.red=function(t){return new S(t)},s.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},s.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(t){return this.red=t,this},s.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},s.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},s.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},s.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},s.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},s.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},s.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},s.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},s.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function b(t,e){this.name=t,this.p=new s(e,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function w(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function S(t){if("string"==typeof t){var e=s._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){S.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var t=new s(null);return t.words=new Array(Math.ceil(this.n/13)),t},b.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},b.prototype.split=function(t,e){t.iushrn(this.n,0,e)},b.prototype.imulK=function(t){return t.imul(this.k)},n(v,b),v.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,s=o}s>>>=22,t.words[n-10]=s,0===s&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},s._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new w;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return y[t]=e,e},S.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},S.prototype._verify2=function(t,e){i(!(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},S.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},S.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},S.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},S.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},S.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},S.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},S.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},S.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},S.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},S.prototype.isqr=function(t){return this.imul(t,t.clone())},S.prototype.sqr=function(t){return this.mul(t,t)},S.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2==1),3===e){var r=this.m.add(new s(1)).iushrn(2);return this.pow(t,r)}for(var n=this.m.subn(1),o=0;!n.isZero()&&0===n.andln(1);)o++,n.iushrn(1);i(!n.isZero());var a=new s(1).toRed(this),h=a.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new s(2*f*f).toRed(this);0!==this.pow(f,u).cmp(h);)f.redIAdd(h);for(var l=this.pow(f,n),c=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=o;0!==d.cmp(a);){for(var m=d,g=0;0!==m.cmp(a);g++)m=m.redSqr();i(g=0;i--){for(var u=e.words[i],f=h-1;f>=0;f--){var l=u>>f&1;n!==r[0]&&(n=this.sqr(n)),0!==l||0!==o?(o<<=1,o|=l,(4===++a||0===i&&0===f)&&(n=this.mul(n,r[o]),a=0,o=0)):a=0}h=26}return n},S.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},S.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},s.mont=function(t){return new k(t)},n(k,S),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),s=n;return n.cmp(this.m)>=0?s=n.isub(this.m):n.cmpn(0)<0&&(s=n.iadd(this.m)),s._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new s(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=r.nmd(t),this)},2632:(t,e)=>{e.encrypt=function(t,e){return t._cipher.encryptBlock(e)},e.decrypt=function(t,e){return t._cipher.decryptBlock(e)}},2642:(t,e,r)=>{var i=r(7720),n=Object.prototype.hasOwnProperty,s=Array.isArray,o={allowDots:!1,allowEmptyArrays:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decodeDotInKeys:!1,decoder:i.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictDepth:!1,strictNullHandling:!1},a=function(t){return t.replace(/&#(\d+);/g,(function(t,e){return String.fromCharCode(parseInt(e,10))}))},h=function(t,e){return t&&"string"==typeof t&&e.comma&&t.indexOf(",")>-1?t.split(","):t},u=function(t,e,r,i){if(t){var s=r.allowDots?t.replace(/\.([^.[]+)/g,"[$1]"):t,o=/(\[[^[\]]*])/g,a=r.depth>0&&/(\[[^[\]]*])/.exec(s),u=a?s.slice(0,a.index):s,f=[];if(u){if(!r.plainObjects&&n.call(Object.prototype,u)&&!r.allowPrototypes)return;f.push(u)}for(var l=0;r.depth>0&&null!==(a=o.exec(s))&&l=0;--s){var o,a=t[s];if("[]"===a&&r.parseArrays)o=r.allowEmptyArrays&&(""===n||r.strictNullHandling&&null===n)?[]:[].concat(n);else{o=r.plainObjects?Object.create(null):{};var u="["===a.charAt(0)&&"]"===a.charAt(a.length-1)?a.slice(1,-1):a,f=r.decodeDotInKeys?u.replace(/%2E/g,"."):u,l=parseInt(f,10);r.parseArrays||""!==f?!isNaN(l)&&a!==f&&String(l)===f&&l>=0&&r.parseArrays&&l<=r.arrayLimit?(o=[])[l]=n:"__proto__"!==f&&(o[f]=n):o={0:n}}n=o}return n}(f,e,r,i)}};t.exports=function(t,e){var r=function(t){if(!t)return o;if(void 0!==t.allowEmptyArrays&&"boolean"!=typeof t.allowEmptyArrays)throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(void 0!==t.decodeDotInKeys&&"boolean"!=typeof t.decodeDotInKeys)throw new TypeError("`decodeDotInKeys` option can only be `true` or `false`, when provided");if(null!==t.decoder&&void 0!==t.decoder&&"function"!=typeof t.decoder)throw new TypeError("Decoder has to be a function.");if(void 0!==t.charset&&"utf-8"!==t.charset&&"iso-8859-1"!==t.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var e=void 0===t.charset?o.charset:t.charset,r=void 0===t.duplicates?o.duplicates:t.duplicates;if("combine"!==r&&"first"!==r&&"last"!==r)throw new TypeError("The duplicates option must be either combine, first, or last");return{allowDots:void 0===t.allowDots?!0===t.decodeDotInKeys||o.allowDots:!!t.allowDots,allowEmptyArrays:"boolean"==typeof t.allowEmptyArrays?!!t.allowEmptyArrays:o.allowEmptyArrays,allowPrototypes:"boolean"==typeof t.allowPrototypes?t.allowPrototypes:o.allowPrototypes,allowSparse:"boolean"==typeof t.allowSparse?t.allowSparse:o.allowSparse,arrayLimit:"number"==typeof t.arrayLimit?t.arrayLimit:o.arrayLimit,charset:e,charsetSentinel:"boolean"==typeof t.charsetSentinel?t.charsetSentinel:o.charsetSentinel,comma:"boolean"==typeof t.comma?t.comma:o.comma,decodeDotInKeys:"boolean"==typeof t.decodeDotInKeys?t.decodeDotInKeys:o.decodeDotInKeys,decoder:"function"==typeof t.decoder?t.decoder:o.decoder,delimiter:"string"==typeof t.delimiter||i.isRegExp(t.delimiter)?t.delimiter:o.delimiter,depth:"number"==typeof t.depth||!1===t.depth?+t.depth:o.depth,duplicates:r,ignoreQueryPrefix:!0===t.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof t.interpretNumericEntities?t.interpretNumericEntities:o.interpretNumericEntities,parameterLimit:"number"==typeof t.parameterLimit?t.parameterLimit:o.parameterLimit,parseArrays:!1!==t.parseArrays,plainObjects:"boolean"==typeof t.plainObjects?t.plainObjects:o.plainObjects,strictDepth:"boolean"==typeof t.strictDepth?!!t.strictDepth:o.strictDepth,strictNullHandling:"boolean"==typeof t.strictNullHandling?t.strictNullHandling:o.strictNullHandling}}(e);if(""===t||null==t)return r.plainObjects?Object.create(null):{};for(var f="string"==typeof t?function(t,e){var r={__proto__:null},u=e.ignoreQueryPrefix?t.replace(/^\?/,""):t;u=u.replace(/%5B/gi,"[").replace(/%5D/gi,"]");var f,l=e.parameterLimit===1/0?void 0:e.parameterLimit,c=u.split(e.delimiter,l),d=-1,p=e.charset;if(e.charsetSentinel)for(f=0;f-1&&(g=s(g)?[g]:g);var w=n.call(r,m);w&&"combine"===e.duplicates?r[m]=i.combine(r[m],g):w&&"last"!==e.duplicates||(r[m]=g)}return r}(t,r):t,l=r.plainObjects?Object.create(null):{},c=Object.keys(f),d=0;d{var i=r(7952),n=r(4367),s=r(3349);function o(t){if(!(this instanceof o))return new o(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=n.toArray(t.entropy,t.entropyEnc||"hex"),r=n.toArray(t.nonce,t.nonceEnc||"hex"),i=n.toArray(t.pers,t.persEnc||"hex");s(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,r,i)}t.exports=o,o.prototype._init=function(t,e,r){var i=t.concat(e).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var n=0;n=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(t.concat(r||[])),this._reseed=1},o.prototype.generate=function(t,e,r,i){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof e&&(i=r,r=e,e=null),r&&(r=n.toArray(r,i||"hex"),this._update(r));for(var s=[];s.length{const i=r(5905),n=i.methods,s=i.HTTPParser,o=r(975).FreeList,a=r(3989),h=a.IncomingMessage,u=a.readStart,f=a.readStop,l=r(537).debuglog("http");e.debug=l,e.CRLF="\r\n",e.chunkExpression=/chunk/i,e.continueExpression=/100-continue/i,e.methods=n;const c=0|s.kOnHeaders,d=0|s.kOnHeadersComplete,p=0|s.kOnBody,m=0|s.kOnMessageComplete,g=0|s.kOnExecute;function y(t,e){(this.maxHeaderPairs<=0||this._headers.length0&&(c=Math.min(c,l.maxHeaderPairs)),l.incoming._addHeaderLines(r,c),"number"==typeof i?l.incoming.method=n[i]:(l.incoming.statusCode=o,l.incoming.statusMessage=a),!u||null===l.outgoing||void 0!==l.outgoing._headers.upgrade&&/(^|\W)upgrade(\W|$)/i.test(l.outgoing._headers.connection)||(u=!1),l.incoming.upgrade=u;var d=0;return u||(d=l.onIncoming(l.incoming,f)),"number"!=typeof d?d?1:0:d}function v(t,e,r){var i=this.incoming;if(i){var n=i.socket;if(r>0&&!i._dumped){var s=t.slice(e,e+r);i.push(s)||f(n)}}}function w(){var t=this,e=t.incoming;if(e){e.complete=!0;var r=t._headers;r&&(t.incoming._addHeaderLines(r,r.length),t._headers=[],t._url=""),e.push(null)}u(t.socket)}var _=new o("parsers",1e3,(function(){var t=new s(s.REQUEST);return t._headers=[],t._url="",t._consumed=!1,t.socket=null,t.incoming=null,t.outgoing=null,t[c]=y,t[d]=b,t[p]=v,t[m]=w,t[g]=null,t}));function M(){this._httpMessage&&this._httpMessage.emit("drain")}function S(t){return t>=94&&t<=122||(t>=65&&t<=90||(45===t||(t>=48&&t<=57||34!==t&&40!==t&&41!==t&&44!==t&&(t>=33&&t<=46||(124===t||126===t)))))}e.parsers=_,e.freeParser=function(t,e,r){t&&(t._headers=[],t.onIncoming=null,t._consumed&&t.unconsume(),t._consumed=!1,t.socket&&(t.socket.parser=null),t.socket=null,t.incoming=null,t.outgoing=null,t[g]=null,!1===_.free(t)&&t.close(),t=null),e&&(e.parser=null),r&&(r.parser=null)},e.httpSocketSetup=function(t){t.removeListener("drain",M),t.on("drain",M)},e._checkIsHttpToken=function(t){if("string"!=typeof t||0===t.length)return!1;if(!S(t.charCodeAt(0)))return!1;const e=t.length;if(e>1){if(!S(t.charCodeAt(1)))return!1;if(e>2){if(!S(t.charCodeAt(2)))return!1;if(e>3){if(!S(t.charCodeAt(3)))return!1;for(var r=4;r255||127===e)return!0;if(t.length<2)return!1;if((e=t.charCodeAt(1))<=31&&9!==e||e>255||127===e)return!0;if(t.length<3)return!1;if((e=t.charCodeAt(2))<=31&&9!==e||e>255||127===e)return!0;for(var r=3;r255||127===e)return!0;return!1}},2791:function(t,e,r){var i=r(717);!function(t){if(!t.setImmediate){var e,r,n,s,o,a=1,h={},u=!1,f=t.document,l=Object.getPrototypeOf&&Object.getPrototypeOf(t);l=l&&l.setTimeout?l:t,"[object process]"==={}.toString.call(t.process)?e=function(t){i.nextTick((function(){d(t)}))}:!function(){if(t.postMessage&&!t.importScripts){var e=!0,r=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=r,e}}()?t.MessageChannel?((n=new MessageChannel).port1.onmessage=function(t){d(t.data)},e=function(t){n.port2.postMessage(t)}):f&&"onreadystatechange"in f.createElement("script")?(r=f.documentElement,e=function(t){var e=f.createElement("script");e.onreadystatechange=function(){d(t),e.onreadystatechange=null,r.removeChild(e),e=null},r.appendChild(e)}):e=function(t){setTimeout(d,0,t)}:(s="setImmediate$"+Math.random()+"$",o=function(e){e.source===t&&"string"==typeof e.data&&0===e.data.indexOf(s)&&d(+e.data.slice(s.length))},t.addEventListener?t.addEventListener("message",o,!1):t.attachEvent("onmessage",o),e=function(e){t.postMessage(s+e,"*")}),l.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var r=new Array(arguments.length-1),i=0;i=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function h(t,e,r){var i=a(t,r);return r-1>=e&&(i|=a(t,r-1)<<4),i}function u(t,e,r,i){for(var n=0,s=Math.min(t.length,r),o=e;o=49?a-49+10:a>=17?a-17+10:a}return n}s.isBN=function(t){return t instanceof s||null!==t&&"object"==typeof t&&t.constructor.wordSize===s.wordSize&&Array.isArray(t.words)},s.max=function(t,e){return t.cmp(e)>0?t:e},s.min=function(t,e){return t.cmp(e)<0?t:e},s.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),i(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n=0;n-=3)o=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[s]|=o<>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);else if("le"===r)for(n=0,s=0;n>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);return this.strip()},s.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i=e;i-=2)n=h(t,e,i)<=18?(s-=18,o+=1,this.words[o]|=n>>>26):s+=8;else for(i=(t.length-e)%2==0?e+1:e;i=18?(s-=18,o+=1,this.words[o]|=n>>>26):s+=8;this.strip()},s.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var s=t.length-r,o=s%i,a=Math.min(s,s-o)+r,h=0,f=r;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var f=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],c=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],s=0|e.words[0],o=n*s,a=67108863&o,h=o/67108864|0;r.words[0]=a;for(var u=1;u>>26,l=67108863&h,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(o=(n=0|t.words[p])*(s=0|e.words[d])+l)/67108864|0,l=67108863&o}r.words[u]=0|l,h=0|f}return 0!==h?r.words[u]=0|h:r.length--,r.strip()}s.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var n=0,s=0,o=0;o>>24-n&16777215,(n+=2)>=26&&(n-=26,o--),r=0!==s||o!==this.length-1?f[6-h.length]+h+r:h+r}for(0!==s&&(r=s.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var u=l[t],d=c[t];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);r=(p=p.idivn(d)).isZero()?m+r:f[u-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(t,e){return i(void 0!==o),this.toArrayLike(o,t,e)},s.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},s.prototype.toArrayLike=function(t,e,r){var n=this.byteLength(),s=r||Math.max(1,n);i(n<=s,"byte array longer than desired length"),i(s>0,"Requested array length <= 0"),this.strip();var o,a,h="le"===e,u=new t(s),f=this.clone();if(h){for(a=0;!f.isZero();a++)o=f.andln(255),f.iushrn(8),u[a]=o;for(;a=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},s.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 8191&e||(r+=13,e>>>=13),127&e||(r+=7,e>>>=7),15&e||(r+=4,e>>>=4),3&e||(r+=2,e>>>=2),1&e||r++,r},s.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},s.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},s.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},s.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},s.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},s.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},s.prototype.inotn=function(t){i("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},s.prototype.notn=function(t){return this.clone().inotn(t)},s.prototype.setn=function(t,e){i("number"==typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,s=0;s>>26;for(;0!==n&&s>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;st.length?this.clone().iadd(t):t.clone().iadd(this)},s.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var s=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==s&&o>26,this.words[o]=67108863&e;if(0===s&&o>>13,d=0|o[1],p=8191&d,m=d>>>13,g=0|o[2],y=8191&g,b=g>>>13,v=0|o[3],w=8191&v,_=v>>>13,M=0|o[4],S=8191&M,k=M>>>13,E=0|o[5],x=8191&E,A=E>>>13,I=0|o[6],T=8191&I,P=I>>>13,C=0|o[7],R=8191&C,O=C>>>13,B=0|o[8],L=8191&B,N=B>>>13,j=0|o[9],U=8191&j,q=j>>>13,D=0|a[0],H=8191&D,F=D>>>13,z=0|a[1],$=8191&z,W=z>>>13,K=0|a[2],V=8191&K,Z=K>>>13,G=0|a[3],Y=8191&G,J=G>>>13,X=0|a[4],Q=8191&X,tt=X>>>13,et=0|a[5],rt=8191&et,it=et>>>13,nt=0|a[6],st=8191&nt,ot=nt>>>13,at=0|a[7],ht=8191&at,ut=at>>>13,ft=0|a[8],lt=8191&ft,ct=ft>>>13,dt=0|a[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,H))|0)+((8191&(n=(n=Math.imul(l,F))+Math.imul(c,H)|0))<<13)|0;u=((s=Math.imul(c,F))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,H),n=(n=Math.imul(p,F))+Math.imul(m,H)|0,s=Math.imul(m,F);var yt=(u+(i=i+Math.imul(l,$)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,$)|0))<<13)|0;u=((s=s+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,H),n=(n=Math.imul(y,F))+Math.imul(b,H)|0,s=Math.imul(b,F),i=i+Math.imul(p,$)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,$)|0,s=s+Math.imul(m,W)|0;var bt=(u+(i=i+Math.imul(l,V)|0)|0)+((8191&(n=(n=n+Math.imul(l,Z)|0)+Math.imul(c,V)|0))<<13)|0;u=((s=s+Math.imul(c,Z)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(w,H),n=(n=Math.imul(w,F))+Math.imul(_,H)|0,s=Math.imul(_,F),i=i+Math.imul(y,$)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(b,$)|0,s=s+Math.imul(b,W)|0,i=i+Math.imul(p,V)|0,n=(n=n+Math.imul(p,Z)|0)+Math.imul(m,V)|0,s=s+Math.imul(m,Z)|0;var vt=(u+(i=i+Math.imul(l,Y)|0)|0)+((8191&(n=(n=n+Math.imul(l,J)|0)+Math.imul(c,Y)|0))<<13)|0;u=((s=s+Math.imul(c,J)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(S,H),n=(n=Math.imul(S,F))+Math.imul(k,H)|0,s=Math.imul(k,F),i=i+Math.imul(w,$)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(_,$)|0,s=s+Math.imul(_,W)|0,i=i+Math.imul(y,V)|0,n=(n=n+Math.imul(y,Z)|0)+Math.imul(b,V)|0,s=s+Math.imul(b,Z)|0,i=i+Math.imul(p,Y)|0,n=(n=n+Math.imul(p,J)|0)+Math.imul(m,Y)|0,s=s+Math.imul(m,J)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((s=s+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(x,H),n=(n=Math.imul(x,F))+Math.imul(A,H)|0,s=Math.imul(A,F),i=i+Math.imul(S,$)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(k,$)|0,s=s+Math.imul(k,W)|0,i=i+Math.imul(w,V)|0,n=(n=n+Math.imul(w,Z)|0)+Math.imul(_,V)|0,s=s+Math.imul(_,Z)|0,i=i+Math.imul(y,Y)|0,n=(n=n+Math.imul(y,J)|0)+Math.imul(b,Y)|0,s=s+Math.imul(b,J)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,s=s+Math.imul(m,tt)|0;var _t=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((s=s+Math.imul(c,it)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(T,H),n=(n=Math.imul(T,F))+Math.imul(P,H)|0,s=Math.imul(P,F),i=i+Math.imul(x,$)|0,n=(n=n+Math.imul(x,W)|0)+Math.imul(A,$)|0,s=s+Math.imul(A,W)|0,i=i+Math.imul(S,V)|0,n=(n=n+Math.imul(S,Z)|0)+Math.imul(k,V)|0,s=s+Math.imul(k,Z)|0,i=i+Math.imul(w,Y)|0,n=(n=n+Math.imul(w,J)|0)+Math.imul(_,Y)|0,s=s+Math.imul(_,J)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(b,Q)|0,s=s+Math.imul(b,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,s=s+Math.imul(m,it)|0;var Mt=(u+(i=i+Math.imul(l,st)|0)|0)+((8191&(n=(n=n+Math.imul(l,ot)|0)+Math.imul(c,st)|0))<<13)|0;u=((s=s+Math.imul(c,ot)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(R,H),n=(n=Math.imul(R,F))+Math.imul(O,H)|0,s=Math.imul(O,F),i=i+Math.imul(T,$)|0,n=(n=n+Math.imul(T,W)|0)+Math.imul(P,$)|0,s=s+Math.imul(P,W)|0,i=i+Math.imul(x,V)|0,n=(n=n+Math.imul(x,Z)|0)+Math.imul(A,V)|0,s=s+Math.imul(A,Z)|0,i=i+Math.imul(S,Y)|0,n=(n=n+Math.imul(S,J)|0)+Math.imul(k,Y)|0,s=s+Math.imul(k,J)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,s=s+Math.imul(_,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(b,rt)|0,s=s+Math.imul(b,it)|0,i=i+Math.imul(p,st)|0,n=(n=n+Math.imul(p,ot)|0)+Math.imul(m,st)|0,s=s+Math.imul(m,ot)|0;var St=(u+(i=i+Math.imul(l,ht)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,ht)|0))<<13)|0;u=((s=s+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(L,H),n=(n=Math.imul(L,F))+Math.imul(N,H)|0,s=Math.imul(N,F),i=i+Math.imul(R,$)|0,n=(n=n+Math.imul(R,W)|0)+Math.imul(O,$)|0,s=s+Math.imul(O,W)|0,i=i+Math.imul(T,V)|0,n=(n=n+Math.imul(T,Z)|0)+Math.imul(P,V)|0,s=s+Math.imul(P,Z)|0,i=i+Math.imul(x,Y)|0,n=(n=n+Math.imul(x,J)|0)+Math.imul(A,Y)|0,s=s+Math.imul(A,J)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(k,Q)|0,s=s+Math.imul(k,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(_,rt)|0,s=s+Math.imul(_,it)|0,i=i+Math.imul(y,st)|0,n=(n=n+Math.imul(y,ot)|0)+Math.imul(b,st)|0,s=s+Math.imul(b,ot)|0,i=i+Math.imul(p,ht)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,ht)|0,s=s+Math.imul(m,ut)|0;var kt=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((s=s+Math.imul(c,ct)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(U,H),n=(n=Math.imul(U,F))+Math.imul(q,H)|0,s=Math.imul(q,F),i=i+Math.imul(L,$)|0,n=(n=n+Math.imul(L,W)|0)+Math.imul(N,$)|0,s=s+Math.imul(N,W)|0,i=i+Math.imul(R,V)|0,n=(n=n+Math.imul(R,Z)|0)+Math.imul(O,V)|0,s=s+Math.imul(O,Z)|0,i=i+Math.imul(T,Y)|0,n=(n=n+Math.imul(T,J)|0)+Math.imul(P,Y)|0,s=s+Math.imul(P,J)|0,i=i+Math.imul(x,Q)|0,n=(n=n+Math.imul(x,tt)|0)+Math.imul(A,Q)|0,s=s+Math.imul(A,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(k,rt)|0,s=s+Math.imul(k,it)|0,i=i+Math.imul(w,st)|0,n=(n=n+Math.imul(w,ot)|0)+Math.imul(_,st)|0,s=s+Math.imul(_,ot)|0,i=i+Math.imul(y,ht)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(b,ht)|0,s=s+Math.imul(b,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,s=s+Math.imul(m,ct)|0;var Et=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((s=s+Math.imul(c,mt)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(U,$),n=(n=Math.imul(U,W))+Math.imul(q,$)|0,s=Math.imul(q,W),i=i+Math.imul(L,V)|0,n=(n=n+Math.imul(L,Z)|0)+Math.imul(N,V)|0,s=s+Math.imul(N,Z)|0,i=i+Math.imul(R,Y)|0,n=(n=n+Math.imul(R,J)|0)+Math.imul(O,Y)|0,s=s+Math.imul(O,J)|0,i=i+Math.imul(T,Q)|0,n=(n=n+Math.imul(T,tt)|0)+Math.imul(P,Q)|0,s=s+Math.imul(P,tt)|0,i=i+Math.imul(x,rt)|0,n=(n=n+Math.imul(x,it)|0)+Math.imul(A,rt)|0,s=s+Math.imul(A,it)|0,i=i+Math.imul(S,st)|0,n=(n=n+Math.imul(S,ot)|0)+Math.imul(k,st)|0,s=s+Math.imul(k,ot)|0,i=i+Math.imul(w,ht)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(_,ht)|0,s=s+Math.imul(_,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(b,lt)|0,s=s+Math.imul(b,ct)|0;var xt=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((s=s+Math.imul(m,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(U,V),n=(n=Math.imul(U,Z))+Math.imul(q,V)|0,s=Math.imul(q,Z),i=i+Math.imul(L,Y)|0,n=(n=n+Math.imul(L,J)|0)+Math.imul(N,Y)|0,s=s+Math.imul(N,J)|0,i=i+Math.imul(R,Q)|0,n=(n=n+Math.imul(R,tt)|0)+Math.imul(O,Q)|0,s=s+Math.imul(O,tt)|0,i=i+Math.imul(T,rt)|0,n=(n=n+Math.imul(T,it)|0)+Math.imul(P,rt)|0,s=s+Math.imul(P,it)|0,i=i+Math.imul(x,st)|0,n=(n=n+Math.imul(x,ot)|0)+Math.imul(A,st)|0,s=s+Math.imul(A,ot)|0,i=i+Math.imul(S,ht)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(k,ht)|0,s=s+Math.imul(k,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(_,lt)|0,s=s+Math.imul(_,ct)|0;var At=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(b,pt)|0))<<13)|0;u=((s=s+Math.imul(b,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(U,Y),n=(n=Math.imul(U,J))+Math.imul(q,Y)|0,s=Math.imul(q,J),i=i+Math.imul(L,Q)|0,n=(n=n+Math.imul(L,tt)|0)+Math.imul(N,Q)|0,s=s+Math.imul(N,tt)|0,i=i+Math.imul(R,rt)|0,n=(n=n+Math.imul(R,it)|0)+Math.imul(O,rt)|0,s=s+Math.imul(O,it)|0,i=i+Math.imul(T,st)|0,n=(n=n+Math.imul(T,ot)|0)+Math.imul(P,st)|0,s=s+Math.imul(P,ot)|0,i=i+Math.imul(x,ht)|0,n=(n=n+Math.imul(x,ut)|0)+Math.imul(A,ht)|0,s=s+Math.imul(A,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(k,lt)|0,s=s+Math.imul(k,ct)|0;var It=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;u=((s=s+Math.imul(_,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(U,Q),n=(n=Math.imul(U,tt))+Math.imul(q,Q)|0,s=Math.imul(q,tt),i=i+Math.imul(L,rt)|0,n=(n=n+Math.imul(L,it)|0)+Math.imul(N,rt)|0,s=s+Math.imul(N,it)|0,i=i+Math.imul(R,st)|0,n=(n=n+Math.imul(R,ot)|0)+Math.imul(O,st)|0,s=s+Math.imul(O,ot)|0,i=i+Math.imul(T,ht)|0,n=(n=n+Math.imul(T,ut)|0)+Math.imul(P,ht)|0,s=s+Math.imul(P,ut)|0,i=i+Math.imul(x,lt)|0,n=(n=n+Math.imul(x,ct)|0)+Math.imul(A,lt)|0,s=s+Math.imul(A,ct)|0;var Tt=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(k,pt)|0))<<13)|0;u=((s=s+Math.imul(k,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(U,rt),n=(n=Math.imul(U,it))+Math.imul(q,rt)|0,s=Math.imul(q,it),i=i+Math.imul(L,st)|0,n=(n=n+Math.imul(L,ot)|0)+Math.imul(N,st)|0,s=s+Math.imul(N,ot)|0,i=i+Math.imul(R,ht)|0,n=(n=n+Math.imul(R,ut)|0)+Math.imul(O,ht)|0,s=s+Math.imul(O,ut)|0,i=i+Math.imul(T,lt)|0,n=(n=n+Math.imul(T,ct)|0)+Math.imul(P,lt)|0,s=s+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(x,pt)|0)|0)+((8191&(n=(n=n+Math.imul(x,mt)|0)+Math.imul(A,pt)|0))<<13)|0;u=((s=s+Math.imul(A,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(U,st),n=(n=Math.imul(U,ot))+Math.imul(q,st)|0,s=Math.imul(q,ot),i=i+Math.imul(L,ht)|0,n=(n=n+Math.imul(L,ut)|0)+Math.imul(N,ht)|0,s=s+Math.imul(N,ut)|0,i=i+Math.imul(R,lt)|0,n=(n=n+Math.imul(R,ct)|0)+Math.imul(O,lt)|0,s=s+Math.imul(O,ct)|0;var Ct=(u+(i=i+Math.imul(T,pt)|0)|0)+((8191&(n=(n=n+Math.imul(T,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((s=s+Math.imul(P,mt)|0)+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(U,ht),n=(n=Math.imul(U,ut))+Math.imul(q,ht)|0,s=Math.imul(q,ut),i=i+Math.imul(L,lt)|0,n=(n=n+Math.imul(L,ct)|0)+Math.imul(N,lt)|0,s=s+Math.imul(N,ct)|0;var Rt=(u+(i=i+Math.imul(R,pt)|0)|0)+((8191&(n=(n=n+Math.imul(R,mt)|0)+Math.imul(O,pt)|0))<<13)|0;u=((s=s+Math.imul(O,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(U,lt),n=(n=Math.imul(U,ct))+Math.imul(q,lt)|0,s=Math.imul(q,ct);var Ot=(u+(i=i+Math.imul(L,pt)|0)|0)+((8191&(n=(n=n+Math.imul(L,mt)|0)+Math.imul(N,pt)|0))<<13)|0;u=((s=s+Math.imul(N,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var Bt=(u+(i=Math.imul(U,pt))|0)+((8191&(n=(n=Math.imul(U,mt))+Math.imul(q,pt)|0))<<13)|0;return u=((s=Math.imul(q,mt))+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,h[0]=gt,h[1]=yt,h[2]=bt,h[3]=vt,h[4]=wt,h[5]=_t,h[6]=Mt,h[7]=St,h[8]=kt,h[9]=Et,h[10]=xt,h[11]=At,h[12]=It,h[13]=Tt,h[14]=Pt,h[15]=Ct,h[16]=Rt,h[17]=Ot,h[18]=Bt,0!==u&&(h[19]=u,r.length++),r};function m(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(p=d),s.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?p(this,t,e):i<63?d(this,t,e):i<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,s=0;s>>26)|0)>>>26,o&=67108863}r.words[s]=a,i=o,o=n}return 0!==i?r.words[s]=i:r.length--,r.strip()}(this,t,e):m(this,t,e),r},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=s.prototype._countBits(t)-1,i=0;i>=1;return i},g.prototype.permute=function(t,e,r,i,n,s){for(var o=0;o>>=1)n++;return 1<>>=13,r[2*o+1]=8191&s,s>>>=13;for(o=2*e;o>=26,e+=n/67108864|0,e+=s>>>26,this.words[r]=67108863&s}return 0!==e&&(this.words[r]=e,this.length++),this},s.prototype.muln=function(t){return this.clone().imuln(t)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>n}return e}(t);if(0===e.length)return new s(1);for(var r=this,i=0;i=0);var e,r=t%26,n=(t-r)/26,s=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var s=t%26,o=Math.min((t-s)/26,this.length),a=67108863^67108863>>>s<o)for(this.length-=o,u=0;u=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-s|l>>>s,f=l&a}return h&&0!==f&&(h.words[h.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},s.prototype.shln=function(t){return this.clone().ishln(t)},s.prototype.ushln=function(t){return this.clone().iushln(t)},s.prototype.shrn=function(t){return this.clone().ishrn(t)},s.prototype.ushrn=function(t){return this.clone().iushrn(t)},s.prototype.testn=function(t){i("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},s.prototype.isubn=function(t){if(i("number"==typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(h/67108864|0),this.words[n+r]=67108863&s}for(;n>26,this.words[n+r]=67108863&s;if(0===a)return this.strip();for(i(-1===a),a=0,n=0;n>26,this.words[n]=67108863&s;return this.negative=1,this.strip()},s.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),n=t,o=0|n.words[n.length-1];0!==(r=26-this._countBits(o))&&(n=n.ushln(r),i.iushln(r),o=0|n.words[n.length-1]);var a,h=i.length-n.length;if("mod"!==e){(a=new s(null)).length=h+1,a.words=new Array(a.length);for(var u=0;u=0;l--){var c=67108864*(0|i.words[n.length+l])+(0|i.words[n.length+l-1]);for(c=Math.min(c/o|0,67108863),i._ishlnsubmul(n,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(n,1,l),i.isZero()||(i.negative^=1);a&&(a.words[l]=c)}return a&&a.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:a||null,mod:i}},s.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(n=a.div.neg()),"div"!==e&&(o=a.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:n,mod:o}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(n=a.div.neg()),{div:n,mod:a.mod}):this.negative&t.negative?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(o=a.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:a.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new s(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new s(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new s(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,o,a},s.prototype.div=function(t){return this.divmod(t,"div",!1).div},s.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},s.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},s.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),s=r.cmp(i);return s<0||1===n&&0===s?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},s.prototype.modn=function(t){i(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;n>=0;n--)r=(e*r+(0|this.words[n]))%t;return r},s.prototype.idivn=function(t){i(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},s.prototype.divn=function(t){return this.clone().idivn(t)},s.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n=new s(1),o=new s(0),a=new s(0),h=new s(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var f=r.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;!(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(f),o.isub(l)),n.iushrn(1),o.iushrn(1);for(var p=0,m=1;!(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(a.isOdd()||h.isOdd())&&(a.iadd(f),h.isub(l)),a.iushrn(1),h.iushrn(1);e.cmp(r)>=0?(e.isub(r),n.isub(a),o.isub(h)):(r.isub(e),a.isub(n),h.isub(o))}return{a,b:h,gcd:r.iushln(u)}},s.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n,o=new s(1),a=new s(0),h=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,f=1;!(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)o.isOdd()&&o.iadd(h),o.iushrn(1);for(var l=0,c=1;!(r.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(r.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(h),a.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(a)):(r.isub(e),a.isub(o))}return(n=0===e.cmpn(1)?o:a).cmpn(0)<0&&n.iadd(t),n},s.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var s=e;e=r,r=s}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},s.prototype.invm=function(t){return this.egcd(t).a.umod(t)},s.prototype.isEven=function(){return!(1&this.words[0])},s.prototype.isOdd=function(){return!(1&~this.words[0])},s.prototype.andln=function(t){return this.words[0]&t},s.prototype.bincn=function(t){i("number"==typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,a&=67108863,this.words[o]=a}return 0!==s&&(this.words[o]=s,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},s.prototype.gtn=function(t){return 1===this.cmpn(t)},s.prototype.gt=function(t){return 1===this.cmp(t)},s.prototype.gten=function(t){return this.cmpn(t)>=0},s.prototype.gte=function(t){return this.cmp(t)>=0},s.prototype.ltn=function(t){return-1===this.cmpn(t)},s.prototype.lt=function(t){return-1===this.cmp(t)},s.prototype.lten=function(t){return this.cmpn(t)<=0},s.prototype.lte=function(t){return this.cmp(t)<=0},s.prototype.eqn=function(t){return 0===this.cmpn(t)},s.prototype.eq=function(t){return 0===this.cmp(t)},s.red=function(t){return new S(t)},s.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},s.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(t){return this.red=t,this},s.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},s.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},s.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},s.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},s.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},s.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},s.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},s.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},s.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function b(t,e){this.name=t,this.p=new s(e,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function w(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function S(t){if("string"==typeof t){var e=s._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){S.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var t=new s(null);return t.words=new Array(Math.ceil(this.n/13)),t},b.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},b.prototype.split=function(t,e){t.iushrn(this.n,0,e)},b.prototype.imulK=function(t){return t.imul(this.k)},n(v,b),v.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,s=o}s>>>=22,t.words[n-10]=s,0===s&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},s._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new w;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return y[t]=e,e},S.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},S.prototype._verify2=function(t,e){i(!(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},S.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},S.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},S.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},S.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},S.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},S.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},S.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},S.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},S.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},S.prototype.isqr=function(t){return this.imul(t,t.clone())},S.prototype.sqr=function(t){return this.mul(t,t)},S.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2==1),3===e){var r=this.m.add(new s(1)).iushrn(2);return this.pow(t,r)}for(var n=this.m.subn(1),o=0;!n.isZero()&&0===n.andln(1);)o++,n.iushrn(1);i(!n.isZero());var a=new s(1).toRed(this),h=a.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new s(2*f*f).toRed(this);0!==this.pow(f,u).cmp(h);)f.redIAdd(h);for(var l=this.pow(f,n),c=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=o;0!==d.cmp(a);){for(var m=d,g=0;0!==m.cmp(a);g++)m=m.redSqr();i(g=0;i--){for(var u=e.words[i],f=h-1;f>=0;f--){var l=u>>f&1;n!==r[0]&&(n=this.sqr(n)),0!==l||0!==o?(o<<=1,o|=l,(4===++a||0===i&&0===f)&&(n=this.mul(n,r[o]),a=0,o=0)):a=0}h=26}return n},S.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},S.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},s.mont=function(t){return new k(t)},n(k,S),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),s=n;return n.cmp(this.m)>=0?s=n.isub(this.m):n.cmpn(0)<0&&(s=n.iadd(this.m)),s._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new s(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=r.nmd(t),this)},2802:(t,e,r)=>{var i=t.exports=function(t){t=t.toLowerCase();var e=i[t];if(!e)throw new Error(t+" is not supported (we accept pull requests)");return new e};i.sha=r(7816),i.sha1=r(3737),i.sha224=r(6710),i.sha256=r(4107),i.sha384=r(2827),i.sha512=r(2890)},2808:(t,e,r)=>{var i=r(3349);function n(t){this.options=t,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0,this.padding=!1!==t.padding}t.exports=n,n.prototype._init=function(){},n.prototype.update=function(t){return 0===t.length?[]:"decrypt"===this.type?this._updateDecrypt(t):this._updateEncrypt(t)},n.prototype._buffer=function(t,e){for(var r=Math.min(this.buffer.length-this.bufferOff,t.length-e),i=0;i0;i--)e+=this._buffer(t,e),r+=this._flushBuffer(n,r);return e+=this._buffer(t,e),n},n.prototype.final=function(t){var e,r;return t&&(e=this.update(t)),r="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),e?e.concat(r):r},n.prototype._pad=function(t,e){if(0===e)return!1;for(;e{var i=r(6698),n=r(2890),s=r(392),o=r(2861).Buffer,a=new Array(160);function h(){this.init(),this._w=a,s.call(this,128,112)}i(h,n),h.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},h.prototype._hash=function(){var t=o.allocUnsafe(48);function e(e,r,i){t.writeInt32BE(e,i),t.writeInt32BE(r,i+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),t},t.exports=h},2853:(t,e,r)=>{var i=e;i.der=r(2010),i.pem=r(8903)},2861:(t,e,r)=>{var i=r(8287),n=i.Buffer;function s(t,e){for(var r in t)e[r]=t[r]}function o(t,e,r){return n(t,e,r)}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?t.exports=i:(s(i,e),e.Buffer=o),o.prototype=Object.create(n.prototype),s(n,o),o.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return n(t,e,r)},o.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var i=n(t);return void 0!==e?"string"==typeof r?i.fill(e,r):i.fill(e):i.fill(0),i},o.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n(t)},o.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i.SlowBuffer(t)}},2878:t=>{function e(t,e){return{start:t.start,end:t.end,index:e}}function r(t){return{start:t.start,end:t.end}}function i(t,e){return t.index-e.index}function n(t,e){return t.start-e.start}t.exports=function(t,s,o){if("string"!=typeof s)throw new TypeError("argument str must be a string");var a=s.indexOf("=");if(-1===a)return-2;var h=s.slice(a+1).split(","),u=[];u.type=s.slice(0,a);for(var f=0;ft-1&&(d=t-1),isNaN(c)||isNaN(d)||c>d||c<0||u.push({start:c,end:d})}if(u.length<1)return-1;return o&&o.combine?function(t){for(var s=t.map(e).sort(n),o=0,a=1;au.end+1?s[++o]=h:h.end>u.end&&(u.end=h.end,u.index=Math.min(u.index,h.index))}s.length=o+1;var f=s.sort(i).map(r);return f.type=t.type,f}(u):u}},2884:(t,e,r)=>{var i=r(295);e.encrypt=function(t,e){var r=i(e,t._prev);return t._prev=t._cipher.encryptBlock(r),t._prev},e.decrypt=function(t,e){var r=t._prev;t._prev=e;var n=t._cipher.decryptBlock(e);return i(n,r)}},2890:(t,e,r)=>{var i=r(6698),n=r(392),s=r(2861).Buffer,o=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],a=new Array(160);function h(){this.init(),this._w=a,n.call(this,128,112)}function u(t,e,r){return r^t&(e^r)}function f(t,e,r){return t&e|r&(t|e)}function l(t,e){return(t>>>28|e<<4)^(e>>>2|t<<30)^(e>>>7|t<<25)}function c(t,e){return(t>>>14|e<<18)^(t>>>18|e<<14)^(e>>>9|t<<23)}function d(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^t>>>7}function p(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^(t>>>7|e<<25)}function m(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^t>>>6}function g(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^(t>>>6|e<<26)}function y(t,e){return t>>>0>>0?1:0}i(h,n),h.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},h.prototype._update=function(t){for(var e=this._w,r=0|this._ah,i=0|this._bh,n=0|this._ch,s=0|this._dh,a=0|this._eh,h=0|this._fh,b=0|this._gh,v=0|this._hh,w=0|this._al,_=0|this._bl,M=0|this._cl,S=0|this._dl,k=0|this._el,E=0|this._fl,x=0|this._gl,A=0|this._hl,I=0;I<32;I+=2)e[I]=t.readInt32BE(4*I),e[I+1]=t.readInt32BE(4*I+4);for(;I<160;I+=2){var T=e[I-30],P=e[I-30+1],C=d(T,P),R=p(P,T),O=m(T=e[I-4],P=e[I-4+1]),B=g(P,T),L=e[I-14],N=e[I-14+1],j=e[I-32],U=e[I-32+1],q=R+N|0,D=C+L+y(q,R)|0;D=(D=D+O+y(q=q+B|0,B)|0)+j+y(q=q+U|0,U)|0,e[I]=D,e[I+1]=q}for(var H=0;H<160;H+=2){D=e[H],q=e[H+1];var F=f(r,i,n),z=f(w,_,M),$=l(r,w),W=l(w,r),K=c(a,k),V=c(k,a),Z=o[H],G=o[H+1],Y=u(a,h,b),J=u(k,E,x),X=A+V|0,Q=v+K+y(X,A)|0;Q=(Q=(Q=Q+Y+y(X=X+J|0,J)|0)+Z+y(X=X+G|0,G)|0)+D+y(X=X+q|0,q)|0;var tt=W+z|0,et=$+F+y(tt,W)|0;v=b,A=x,b=h,x=E,h=a,E=k,a=s+Q+y(k=S+X|0,S)|0,s=n,S=M,n=i,M=_,i=r,_=w,r=Q+et+y(w=X+tt|0,X)|0}this._al=this._al+w|0,this._bl=this._bl+_|0,this._cl=this._cl+M|0,this._dl=this._dl+S|0,this._el=this._el+k|0,this._fl=this._fl+E|0,this._gl=this._gl+x|0,this._hl=this._hl+A|0,this._ah=this._ah+r+y(this._al,w)|0,this._bh=this._bh+i+y(this._bl,_)|0,this._ch=this._ch+n+y(this._cl,M)|0,this._dh=this._dh+s+y(this._dl,S)|0,this._eh=this._eh+a+y(this._el,k)|0,this._fh=this._fh+h+y(this._fl,E)|0,this._gh=this._gh+b+y(this._gl,x)|0,this._hh=this._hh+v+y(this._hl,A)|0},h.prototype._hash=function(){var t=s.allocUnsafe(64);function e(e,r,i){t.writeInt32BE(e,i),t.writeInt32BE(r,i+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),e(this._gh,this._gl,48),e(this._hh,this._hl,56),t},t.exports=h},2951:t=>{t.exports=JSON.parse('{"sha224WithRSAEncryption":{"sign":"rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"RSA-SHA224":{"sign":"ecdsa/rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"sha256WithRSAEncryption":{"sign":"rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"RSA-SHA256":{"sign":"ecdsa/rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"sha384WithRSAEncryption":{"sign":"rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"RSA-SHA384":{"sign":"ecdsa/rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"sha512WithRSAEncryption":{"sign":"rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA512":{"sign":"ecdsa/rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA1":{"sign":"rsa","hash":"sha1","id":"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{"sign":"ecdsa","hash":"sha1","id":""},"sha256":{"sign":"ecdsa","hash":"sha256","id":""},"sha224":{"sign":"ecdsa","hash":"sha224","id":""},"sha384":{"sign":"ecdsa","hash":"sha384","id":""},"sha512":{"sign":"ecdsa","hash":"sha512","id":""},"DSA-SHA":{"sign":"dsa","hash":"sha1","id":""},"DSA-SHA1":{"sign":"dsa","hash":"sha1","id":""},"DSA":{"sign":"dsa","hash":"sha1","id":""},"DSA-WITH-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-WITH-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-WITH-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-WITH-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-RIPEMD160":{"sign":"dsa","hash":"rmd160","id":""},"ripemd160WithRSA":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"RSA-RIPEMD160":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"md5WithRSAEncryption":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"},"RSA-MD5":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"}}')},2955:(t,e,r)=>{var i,n=r(717);function s(t,e,r){return(e=function(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,e||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var o=r(6238),a=Symbol("lastResolve"),h=Symbol("lastReject"),u=Symbol("error"),f=Symbol("ended"),l=Symbol("lastPromise"),c=Symbol("handlePromise"),d=Symbol("stream");function p(t,e){return{value:t,done:e}}function m(t){var e=t[a];if(null!==e){var r=t[d].read();null!==r&&(t[l]=null,t[a]=null,t[h]=null,e(p(r,!1)))}}function g(t){n.nextTick(m,t)}var y=Object.getPrototypeOf((function(){})),b=Object.setPrototypeOf((s(i={get stream(){return this[d]},next:function(){var t=this,e=this[u];if(null!==e)return Promise.reject(e);if(this[f])return Promise.resolve(p(void 0,!0));if(this[d].destroyed)return new Promise((function(e,r){n.nextTick((function(){t[u]?r(t[u]):e(p(void 0,!0))}))}));var r,i=this[l];if(i)r=new Promise(function(t,e){return function(r,i){t.then((function(){e[f]?r(p(void 0,!0)):e[c](r,i)}),i)}}(i,this));else{var s=this[d].read();if(null!==s)return Promise.resolve(p(s,!1));r=new Promise(this[c])}return this[l]=r,r}},Symbol.asyncIterator,(function(){return this})),s(i,"return",(function(){var t=this;return new Promise((function(e,r){t[d].destroy(null,(function(t){t?r(t):e(p(void 0,!0))}))}))})),i),y);t.exports=function(t){var e,r=Object.create(b,(s(e={},d,{value:t,writable:!0}),s(e,a,{value:null,writable:!0}),s(e,h,{value:null,writable:!0}),s(e,u,{value:null,writable:!0}),s(e,f,{value:t._readableState.endEmitted,writable:!0}),s(e,c,{value:function(t,e){var i=r[d].read();i?(r[l]=null,r[a]=null,r[h]=null,t(p(i,!1))):(r[a]=t,r[h]=e)},writable:!0}),e));return r[l]=null,o(t,(function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=r[h];return null!==e&&(r[l]=null,r[a]=null,r[h]=null,e(t)),void(r[u]=t)}var i=r[a];null!==i&&(r[l]=null,r[a]=null,r[h]=null,i(p(void 0,!0))),r[f]=!0})),t.on("readable",g.bind(null,r)),r}},3033:(t,e,r)=>{function i(t){return(t>>3)+Number(t%8!=0)}r.d(e,{A:()=>n});class n{get length(){return this.buffer.length<<3}constructor(t=0,e){const r=null==e?void 0:e.grow;this.grow=r?Number.isFinite(r)?i(r):r:0,this.buffer="number"==typeof t?new Uint8Array(i(t)):t}get(t){const e=t>>3;return e>t%8)}set(t,e=!0){const r=t>>3;if(e){if(r>=this.buffer.length){const t=Math.max(r+1,Math.min(2*this.buffer.length,this.grow));if(t<=this.grow){const e=new Uint8Array(t);e.set(this.buffer),this.buffer=e}}this.buffer[r]|=128>>t%8}else r>t%8))}setAll(t,e=0){const r=Math.min(i(e+t.length),this.grow);if(this.buffer.length>3,s=128>>e%8;for(let e=0;e=this.buffer.length)break;s=128}else s>>=1}forEach(t,e=0,r=8*this.buffer.length){let i=e>>3,n=128>>e%8;for(let s=e;s>=1}isEmpty(){for(let t=0;t{var i=r(295),n=r(2861).Buffer,s=r(5122);function o(t){var e=t._cipher.encryptBlockRaw(t._prev);return s(t._prev),e}e.encrypt=function(t,e){var r=Math.ceil(e.length/16),s=t._cache.length;t._cache=n.concat([t._cache,n.allocUnsafe(16*r)]);for(var a=0;a{var i=r(717),n=r(5472),s=r(3085),o=function(t,e,r){this.tokenBucket=new n(t,t,e,null),this.tokenBucket.content=t,this.curIntervalStart=s(),this.tokensThisInterval=0,this.fireImmediately=r};o.prototype={tokenBucket:null,curIntervalStart:0,tokensThisInterval:0,fireImmediately:!1,removeTokens:function(t,e){if(t>this.tokenBucket.bucketSize)return i.nextTick(e.bind(null,"Requested tokens "+t+" exceeds maximum tokens per interval "+this.tokenBucket.bucketSize,null)),!1;var r=this,n=s();if((n=this.tokenBucket.interval)&&(this.curIntervalStart=n,this.tokensThisInterval=0),t>this.tokenBucket.tokensPerInterval-this.tokensThisInterval){if(this.fireImmediately)i.nextTick(e.bind(null,null,-1));else{var o=Math.ceil(this.curIntervalStart+this.tokenBucket.interval-n);setTimeout((function(){r.tokenBucket.removeTokens(t,a)}),o)}return!1}return this.tokenBucket.removeTokens(t,a);function a(i,n){if(i)return e(i,null);r.tokensThisInterval+=t,e(null,n)}},tryRemoveTokens:function(t){if(t>this.tokenBucket.bucketSize)return!1;var e=s();if((e=this.tokenBucket.interval)&&(this.curIntervalStart=e,this.tokensThisInterval=0),t>this.tokenBucket.tokensPerInterval-this.tokensThisInterval)return!1;var r=this.tokenBucket.tryRemoveTokens(t);return r&&(this.tokensThisInterval+=t),r},getTokensRemaining:function(){return this.tokenBucket.drip(),this.tokenBucket.content}},t.exports=o},3085:(t,e,r)=>{var i=r(717);t.exports=function(){if(void 0!==i&&i.hrtime){var t=i.hrtime(),e=t[0],r=t[1];return 1e3*e+Math.floor(r/1e6)}return(new Date).getTime()}},3093:(t,e,r)=>{var i=r(4459);t.exports=function(t){return i(t)||0===t?t:t<0?-1:1}},3126:(t,e,r)=>{var i=r(6743),n=r(9675),s=r(76),o=r(3144);t.exports=function(t){if(t.length<1||"function"!=typeof t[0])throw new n("a function is required");return o(i,s,t)}},3141:(t,e,r)=>{var i=r(2861).Buffer,n=i.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function s(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(i.isEncoding===n||!n(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=h,this.end=u,e=4;break;case"utf8":this.fillLast=a,e=4;break;case"base64":this.text=f,this.end=l,e=3;break;default:return this.write=c,void(this.end=d)}this.lastNeed=0,this.lastTotal=0,this.lastChar=i.allocUnsafe(e)}function o(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function a(t){var e=this.lastTotal-this.lastNeed,r=function(t,e){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function h(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var i=r.charCodeAt(r.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function u(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function f(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function l(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function c(t){return t.toString(this.encoding)}function d(t){return t&&t.length?this.write(t):""}e.I=s,s.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0)return n>0&&(t.lastNeed=n-1),n;if(--i=0)return n>0&&(t.lastNeed=n-2),n;if(--i=0)return n>0&&(2===n?n=0:t.lastNeed=n-3),n;return 0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var i=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)},s.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},3144:(t,e,r)=>{var i=r(6743),n=r(1002),s=r(76),o=r(7119);t.exports=o||i.call(s,n)},3208:()=>{},3209:(t,e,r)=>{var i=r(717),n=65536,s=4294967295;var o=r(2861).Buffer,a=globalThis.crypto||globalThis.msCrypto;a&&a.getRandomValues?t.exports=function(t,e){if(t>s)throw new RangeError("requested too many random bytes");var r=o.allocUnsafe(t);if(t>0)if(t>n)for(var h=0;h{t.exports=JSON.parse('{"aes-128-ecb":{"cipher":"AES","key":128,"iv":0,"mode":"ECB","type":"block"},"aes-192-ecb":{"cipher":"AES","key":192,"iv":0,"mode":"ECB","type":"block"},"aes-256-ecb":{"cipher":"AES","key":256,"iv":0,"mode":"ECB","type":"block"},"aes-128-cbc":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes-192-cbc":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes-256-cbc":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes128":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes192":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes256":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes-128-cfb":{"cipher":"AES","key":128,"iv":16,"mode":"CFB","type":"stream"},"aes-192-cfb":{"cipher":"AES","key":192,"iv":16,"mode":"CFB","type":"stream"},"aes-256-cfb":{"cipher":"AES","key":256,"iv":16,"mode":"CFB","type":"stream"},"aes-128-cfb8":{"cipher":"AES","key":128,"iv":16,"mode":"CFB8","type":"stream"},"aes-192-cfb8":{"cipher":"AES","key":192,"iv":16,"mode":"CFB8","type":"stream"},"aes-256-cfb8":{"cipher":"AES","key":256,"iv":16,"mode":"CFB8","type":"stream"},"aes-128-cfb1":{"cipher":"AES","key":128,"iv":16,"mode":"CFB1","type":"stream"},"aes-192-cfb1":{"cipher":"AES","key":192,"iv":16,"mode":"CFB1","type":"stream"},"aes-256-cfb1":{"cipher":"AES","key":256,"iv":16,"mode":"CFB1","type":"stream"},"aes-128-ofb":{"cipher":"AES","key":128,"iv":16,"mode":"OFB","type":"stream"},"aes-192-ofb":{"cipher":"AES","key":192,"iv":16,"mode":"OFB","type":"stream"},"aes-256-ofb":{"cipher":"AES","key":256,"iv":16,"mode":"OFB","type":"stream"},"aes-128-ctr":{"cipher":"AES","key":128,"iv":16,"mode":"CTR","type":"stream"},"aes-192-ctr":{"cipher":"AES","key":192,"iv":16,"mode":"CTR","type":"stream"},"aes-256-ctr":{"cipher":"AES","key":256,"iv":16,"mode":"CTR","type":"stream"},"aes-128-gcm":{"cipher":"AES","key":128,"iv":12,"mode":"GCM","type":"auth"},"aes-192-gcm":{"cipher":"AES","key":192,"iv":12,"mode":"GCM","type":"auth"},"aes-256-gcm":{"cipher":"AES","key":256,"iv":12,"mode":"GCM","type":"auth"}}')},3225:(t,e,r)=>{var i=r(717);void 0===i||!i.version||0===i.version.indexOf("v0.")||0===i.version.indexOf("v1.")&&0!==i.version.indexOf("v1.8.")?t.exports={nextTick:function(t,e,r,n){if("function"!=typeof t)throw new TypeError('"callback" argument must be a function');var s,o,a=arguments.length;switch(a){case 0:case 1:return i.nextTick(t);case 2:return i.nextTick((function(){t.call(null,e)}));case 3:return i.nextTick((function(){t.call(null,e,r)}));case 4:return i.nextTick((function(){t.call(null,e,r,n)}));default:for(s=new Array(a-1),o=0;o{t.exports=JSON.parse('{"modp1":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},"modp2":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},"modp5":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},"modp14":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},"modp15":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},"modp16":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},"modp17":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},"modp18":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}')},3278:()=>{},3349:t=>{function e(t,e){if(!t)throw new Error(e||"Assertion failed")}t.exports=e,e.equal=function(t,e,r){if(t!=e)throw new Error(r||"Assertion failed: "+t+" != "+e)}},3382:(t,e,r)=>{var i=r(2861).Buffer;t.exports=function(t,e,r){if(i.isBuffer(t))return t;if("string"==typeof t)return i.from(t,e);if(ArrayBuffer.isView(t))return i.from(t.buffer);throw new TypeError(r+" must be a string, a Buffer, a typed array or a DataView")}},3389:(t,e,r)=>{var i=r(3349),n=r(6698),s={};function o(t){i.equal(t.length,8,"Invalid IV length"),this.iv=new Array(8);for(var e=0;e{"undefined"!=typeof ReadableStream&&(ReadableStream.prototype[Symbol.asyncIterator]||(ReadableStream.prototype[Symbol.asyncIterator]=function({preventCancel:t}={}){const e=this.getReader(),r=this;let i=e.read();return{next(){const t=i;return i=e.read(),t},return:async n=>(await i,e.releaseLock(),t||r.cancel(),{done:!0,value:n}),async throw(t){throw await this.return(),t},[Symbol.asyncIterator](){return this}}}),ReadableStream.prototype.getIterator||(ReadableStream.prototype.getIterator=function({preventCancel:t}={}){return this[Symbol.asyncIterator]({preventCancel:t})}))},3507:(t,e,r)=>{var i=r(6698),n=r(1800),s=r(6168),o=r(2861).Buffer,a=r(320),h=r(6011),u=r(2802),f=o.alloc(128);function l(t,e){s.call(this,"digest"),"string"==typeof e&&(e=o.from(e));var r="sha512"===t||"sha384"===t?128:64;(this._alg=t,this._key=e,e.length>r)?e=("rmd160"===t?new h:u(t)).update(e).digest():e.length{var i=r(6587);function n(t){var e=function(){return e.called?e.value:(e.called=!0,e.value=t.apply(this,arguments))};return e.called=!1,e}function s(t){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=t.apply(this,arguments)},r=t.name||"Function wrapped with `once`";return e.onceError=r+" shouldn't be called more than once",e.called=!1,e}t.exports=i(n),t.exports.strict=i(s),n.proto=n((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return n(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return s(this)},configurable:!0})}))},3549:()=>{},3600:(t,e,r)=>{t.exports=n;var i=r(4610);function n(t){if(!(this instanceof n))return new n(t);i.call(this,t)}r(6698)(n,i),n.prototype._transform=function(t,e,r){r(null,t)}},3628:(t,e,r)=>{var i=r(8648),n=r(1064),s=r(7176);t.exports=i?function(t){return i(t)}:n?function(t){if(!t||"object"!=typeof t&&"function"!=typeof t)throw new TypeError("getProto: not an object");return n(t)}:s?function(t){return s(t)}:null},3714:(t,e,r)=>{const i=r(9596);t.exports=class{constructor(t){if(this.store=t,this.chunkLength=t.chunkLength,!this.store||!this.store.get||!this.store.put)throw new Error("First argument must be abstract-chunk-store compliant");this.mem=[]}put(t,e,r=()=>{}){this.mem[t]=e,this.store.put(t,e,(e=>{this.mem[t]=null,r(e)}))}get(t,e,r=()=>{}){if("function"==typeof e)return this.get(t,null,e);let n=this.mem[t];if(!n)return this.store.get(t,e,r);e||(e={});const s=e.offset||0,o=e.length||n.length-s;0===s&&o===n.length||(n=n.slice(s,o+s)),i((()=>r(null,n)))}close(t=()=>{}){this.store.close(t)}destroy(t=()=>{}){this.store.destroy(t)}}},3737:(t,e,r)=>{var i=r(6698),n=r(392),s=r(2861).Buffer,o=[1518500249,1859775393,-1894007588,-899497514],a=new Array(80);function h(){this.init(),this._w=a,n.call(this,64,56)}function u(t){return t<<5|t>>>27}function f(t){return t<<30|t>>>2}function l(t,e,r,i){return 0===t?e&r|~e&i:2===t?e&r|e&i|r&i:e^r^i}i(h,n),h.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},h.prototype._update=function(t){for(var e,r=this._w,i=0|this._a,n=0|this._b,s=0|this._c,a=0|this._d,h=0|this._e,c=0;c<16;++c)r[c]=t.readInt32BE(4*c);for(;c<80;++c)r[c]=(e=r[c-3]^r[c-8]^r[c-14]^r[c-16])<<1|e>>>31;for(var d=0;d<80;++d){var p=~~(d/20),m=u(i)+l(p,n,s,a)+h+r[d]+o[p]|0;h=a,a=s,s=f(n),n=i,i=m}this._a=i+this._a|0,this._b=n+this._b|0,this._c=s+this._c|0,this._d=a+this._d|0,this._e=h+this._e|0},h.prototype._hash=function(){var t=s.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},t.exports=h},3832:(t,e,r)=>{var i,n,s=r(2861).Buffer,o=r(4196),a=r(2455),h=r(681),u=r(3382),f=globalThis.crypto&&globalThis.crypto.subtle,l={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},c=[];function d(){return n||(n=globalThis.process&&globalThis.process.nextTick?globalThis.process.nextTick:globalThis.queueMicrotask?globalThis.queueMicrotask:globalThis.setImmediate?globalThis.setImmediate:globalThis.setTimeout)}function p(t,e,r,i,n){return f.importKey("raw",t,{name:"PBKDF2"},!1,["deriveBits"]).then((function(t){return f.deriveBits({name:"PBKDF2",salt:e,iterations:r,hash:{name:n}},t,i<<3)})).then((function(t){return s.from(t)}))}t.exports=function(t,e,r,n,m,g){"function"==typeof m&&(g=m,m=void 0);var y=l[(m=m||"sha1").toLowerCase()];if(y&&"function"==typeof globalThis.Promise){if(o(r,n),t=u(t,a,"Password"),e=u(e,a,"Salt"),"function"!=typeof g)throw new Error("No callback provided to pbkdf2");!function(t,e){t.then((function(t){d()((function(){e(null,t)}))}),(function(t){d()((function(){e(t)}))}))}(function(t){if(globalThis.process&&!globalThis.process.browser)return Promise.resolve(!1);if(!f||!f.importKey||!f.deriveBits)return Promise.resolve(!1);if(void 0!==c[t])return c[t];var e=p(i=i||s.alloc(8),i,10,128,t).then((function(){return!0})).catch((function(){return!1}));return c[t]=e,e}(y).then((function(i){return i?p(t,e,r,n,y):h(t,e,r,n,m)})),g)}else d()((function(){var i;try{i=h(t,e,r,n,m)}catch(t){return g(t)}g(null,i)}))}},3917:(t,e,r)=>{var i=r(7426),n=r(6166),s=r(6225),o=i.rotl32,a=i.sum32,h=i.sum32_5,u=s.ft_1,f=n.BlockHash,l=[1518500249,1859775393,2400959708,3395469782];function c(){if(!(this instanceof c))return new c;f.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}i.inherits(c,f),t.exports=c,c.blockSize=512,c.outSize=160,c.hmacStrength=80,c.padLength=64,c.prototype._update=function(t,e){for(var r=this.W,i=0;i<16;i++)r[i]=t[e+i];for(;i{const i=r(537),n=r(8310);function s(t){t&&!t._paused&&t.readable&&t.resume()}function o(t){n.Readable.call(this),this._readableState.readingMore=!0,this.socket=t,this.connection=t,this.httpVersionMajor=null,this.httpVersionMinor=null,this.httpVersion=null,this.complete=!1,this.headers={},this.rawHeaders=[],this.trailers={},this.rawTrailers=[],this.readable=!0,this.upgrade=null,this.url="",this.method=null,this.statusCode=null,this.statusMessage=null,this.client=t,this._consuming=!1,this._dumped=!1}e.readStart=s,e.readStop=function(t){t&&t.pause()},i.inherits(o,n.Readable),e.IncomingMessage=o,o.prototype.setTimeout=function(t,e){return e&&this.on("timeout",e),this.socket.setTimeout(t),this},o.prototype.read=function(t){return this._consuming||(this._readableState.readingMore=!1),this._consuming=!0,this.read=n.Readable.prototype.read,this.read(t)},o.prototype._read=function(t){this.socket.readable&&s(this.socket)},o.prototype.destroy=function(t){this.socket&&this.socket.destroy(t)},o.prototype._addHeaderLines=function(t,e){if(t&&t.length){var r,i;this.complete?(r=this.rawTrailers,i=this.trailers):(r=this.rawHeaders,i=this.headers);for(var n=0;n{t.exports={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}},4018:t=>{t.exports=function(){for(var t=navigator.hardwareConcurrency||1,e=[],r=0;r{var i="undefined"!=typeof Symbol&&Symbol,n=r(1333);t.exports=function(){return"function"==typeof i&&("function"==typeof Symbol&&("symbol"==typeof i("foo")&&("symbol"==typeof Symbol("bar")&&n())))}},4050:(t,e,r)=>{var i=r(6168),n=r(9560),s=r(6698),o=r(2861).Buffer,a={"des-ede3-cbc":n.CBC.instantiate(n.EDE),"des-ede3":n.EDE,"des-ede-cbc":n.CBC.instantiate(n.EDE),"des-ede":n.EDE,"des-cbc":n.CBC.instantiate(n.DES),"des-ecb":n.DES};function h(t){i.call(this);var e,r=t.mode.toLowerCase(),n=a[r];e=t.decrypt?"decrypt":"encrypt";var s=t.key;o.isBuffer(s)||(s=o.from(s)),"des-ede"!==r&&"des-ede-cbc"!==r||(s=o.concat([s,s.slice(0,8)]));var h=t.iv;o.isBuffer(h)||(h=o.from(h)),this._des=n.create({key:s,iv:h,type:e})}a.des=a["des-cbc"],a.des3=a["des-ede3-cbc"],t.exports=h,s(h,i),h.prototype._update=function(t){return o.from(this._des.update(t))},h.prototype._final=function(){return o.from(this._des.final())}},4101:(t,e,r)=>{var i=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r+/=]+)[\n\r]+/m,n=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,s=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r+/=]+)-----END \1-----$/m,o=r(8078),a=r(1241),h=r(2861).Buffer;t.exports=function(t,e){var r,u=t.toString(),f=u.match(i);if(f){var l="aes"+f[1],c=h.from(f[2],"hex"),d=h.from(f[3].replace(/[\r\n]/g,""),"base64"),p=o(e,c.slice(0,8),parseInt(f[1],10)).key,m=[],g=a.createDecipheriv(l,p,c);m.push(g.update(d)),m.push(g.final()),r=h.concat(m)}else{var y=u.match(s);r=h.from(y[2].replace(/[\r\n]/g,""),"base64")}return{tag:u.match(n)[1],data:r}}},4107:(t,e,r)=>{var i=r(6698),n=r(392),s=r(2861).Buffer,o=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],a=new Array(64);function h(){this.init(),this._w=a,n.call(this,64,56)}function u(t,e,r){return r^t&(e^r)}function f(t,e,r){return t&e|r&(t|e)}function l(t){return(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10)}function c(t){return(t>>>6|t<<26)^(t>>>11|t<<21)^(t>>>25|t<<7)}function d(t){return(t>>>7|t<<25)^(t>>>18|t<<14)^t>>>3}i(h,n),h.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},h.prototype._update=function(t){for(var e,r=this._w,i=0|this._a,n=0|this._b,s=0|this._c,a=0|this._d,h=0|this._e,p=0|this._f,m=0|this._g,g=0|this._h,y=0;y<16;++y)r[y]=t.readInt32BE(4*y);for(;y<64;++y)r[y]=0|(((e=r[y-2])>>>17|e<<15)^(e>>>19|e<<13)^e>>>10)+r[y-7]+d(r[y-15])+r[y-16];for(var b=0;b<64;++b){var v=g+c(h)+u(h,p,m)+o[b]+r[b]|0,w=l(i)+f(i,n,s)|0;g=m,m=p,p=h,h=a+v|0,a=s,s=n,n=i,i=v+w|0}this._a=i+this._a|0,this._b=n+this._b|0,this._c=s+this._c|0,this._d=a+this._d|0,this._e=h+this._e|0,this._f=p+this._f|0,this._g=m+this._g|0,this._h=g+this._h|0},h.prototype._hash=function(){var t=s.allocUnsafe(32);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t.writeInt32BE(this._h,28),t},t.exports=h},4116:(t,e,r)=>{var i=r(8287),n=i.Buffer;function s(t,e){for(var r in t)e[r]=t[r]}function o(t,e,r){return n(t,e,r)}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?t.exports=i:(s(i,e),e.Buffer=o),s(n,o),o.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return n(t,e,r)},o.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var i=n(t);return void 0!==e?"string"==typeof r?i.fill(e,r):i.fill(e):i.fill(0),i},o.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n(t)},o.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i.SlowBuffer(t)}},4196:t=>{var e=Math.pow(2,30)-1;t.exports=function(t,r){if("number"!=typeof t)throw new TypeError("Iterations not a number");if(t<0)throw new TypeError("Bad iterations");if("number"!=typeof r)throw new TypeError("Key length not a number");if(r<0||r>e||r!=r)throw new TypeError("Bad key length")}},4343:()=>{},4367:(t,e)=>{var r=e;function i(t){return 1===t.length?"0"+t:t}function n(t){for(var e="",r=0;r>8,o=255&n;s?r.push(s,o):r.push(o)}return r},r.zero2=i,r.toHex=n,r.encode=function(t,e){return"hex"===e?n(t):t}},4459:t=>{t.exports=Number.isNaN||function(t){return t!=t}},4497:(t,e,r)=>{const i=r(8454),n=r(9596);t.exports=class{constructor(t,e){if(this.store=t,this.chunkLength=t.chunkLength,this.inProgressGets=new Map,!this.store||!this.store.get||!this.store.put)throw new Error("First argument must be abstract-chunk-store compliant");this.cache=new i(e)}put(t,e,r=()=>{}){if(!this.cache)return n((()=>r(new Error("CacheStore closed"))));this.cache.remove(t),this.store.put(t,e,r)}get(t,e,r=()=>{}){if("function"==typeof e)return this.get(t,null,e);if(!this.cache)return n((()=>r(new Error("CacheStore closed"))));e||(e={});let i=this.cache.get(t);if(i){const t=e.offset||0,s=e.length||i.length-t;return 0===t&&s===i.length||(i=i.slice(t,s+t)),n((()=>r(null,i)))}let s=this.inProgressGets.get(t);const o=!!s;s||(s=[],this.inProgressGets.set(t,s)),s.push({opts:e,cb:r}),o||this.store.get(t,((e,r)=>{e||null==this.cache||this.cache.set(t,r);const i=this.inProgressGets.get(t);this.inProgressGets.delete(t);for(const{opts:t,cb:n}of i)if(e)n(e);else{const e=t.offset||0,i=t.length||r.length-e;let s=r;0===e&&i===r.length||(s=r.slice(e,i+e)),n(null,s)}}))}close(t=()=>{}){if(!this.cache)return n((()=>t(new Error("CacheStore closed"))));this.cache=null,this.store.close(t)}destroy(t=()=>{}){if(!this.cache)return n((()=>t(new Error("CacheStore closed"))));this.cache=null,this.store.destroy(t)}}},4529:(t,e,r)=>{var i=r(1514)();function n(t,e){if(t===e)return 0;for(var r=t.length,i=e.length,n=0,s=Math.min(r,i);n=0;u--)if(f[u]!==l[u])return!1;for(u=f.length-1;u>=0;u--)if(!v(t[a=f[u]],e[a],r,i))return!1;return!0}(t,e,r,i))}return r?t===e:t==e}function w(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function _(t,e){if(!t||!e)return!1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function M(t,e,r,i){var n;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(i=r,r=null),n=function(t){var e;try{t()}catch(t){e=t}return e}(e),i=(r&&r.name?" ("+r.name+").":".")+(i?" "+i:"."),t&&!n&&y(n,r,"Missing expected exception"+i);var s="string"==typeof i,a=!t&&n&&!r;if((!t&&o.isError(n)&&s&&_(n,r)||a)&&y(n,r,"Got unwanted exception"+i),t&&n&&r&&!_(n,r)||!t&&n)throw n}c.AssertionError=function(t){this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=function(t){return m(g(t.actual),128)+" "+t.operator+" "+m(g(t.expected),128)}(this),this.generatedMessage=!0);var e=t.stackStartFunction||y;if(Error.captureStackTrace)Error.captureStackTrace(this,e);else{var r=new Error;if(r.stack){var i=r.stack,n=p(e),s=i.indexOf("\n"+n);if(s>=0){var o=i.indexOf("\n",s+1);i=i.substring(o+1)}this.stack=i}}},o.inherits(c.AssertionError,Error),c.fail=y,c.ok=b,c.equal=function(t,e,r){t!=e&&y(t,e,r,"==",c.equal)},c.notEqual=function(t,e,r){t==e&&y(t,e,r,"!=",c.notEqual)},c.deepEqual=function(t,e,r){v(t,e,!1)||y(t,e,r,"deepEqual",c.deepEqual)},c.deepStrictEqual=function(t,e,r){v(t,e,!0)||y(t,e,r,"deepStrictEqual",c.deepStrictEqual)},c.notDeepEqual=function(t,e,r){v(t,e,!1)&&y(t,e,r,"notDeepEqual",c.notDeepEqual)},c.notDeepStrictEqual=function t(e,r,i){v(e,r,!0)&&y(e,r,i,"notDeepStrictEqual",t)},c.strictEqual=function(t,e,r){t!==e&&y(t,e,r,"===",c.strictEqual)},c.notStrictEqual=function(t,e,r){t===e&&y(t,e,r,"!==",c.notStrictEqual)},c.throws=function(t,e,r){M(!0,t,e,r)},c.doesNotThrow=function(t,e,r){M(!1,t,e,r)},c.ifError=function(t){if(t)throw t},c.strict=i((function t(e,r){e||y(e,!0,r,"==",t)}),c,{equal:c.strictEqual,deepEqual:c.deepStrictEqual,notEqual:c.notStrictEqual,notDeepEqual:c.notDeepStrictEqual}),c.strict.strict=c.strict;var S=Object.keys||function(t){var e=[];for(var r in t)a.call(t,r)&&e.push(r);return e}},4589:t=>{t.exports=JSON.parse('{"1.3.132.0.10":"secp256k1","1.3.132.0.33":"p224","1.2.840.10045.3.1.1":"p192","1.2.840.10045.3.1.7":"p256","1.3.132.0.34":"p384","1.3.132.0.35":"p521"}')},4598:(t,e,r)=>{var i=r(2153);e.tagClass={0:"universal",1:"application",2:"context",3:"private"},e.tagClassByName=i._reverse(e.tagClass),e.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},e.tagByName=i._reverse(e.tag)},4610:(t,e,r)=>{t.exports=f;var i=r(113).F,n=i.ERR_METHOD_NOT_IMPLEMENTED,s=i.ERR_MULTIPLE_CALLBACK,o=i.ERR_TRANSFORM_ALREADY_TRANSFORMING,a=i.ERR_TRANSFORM_WITH_LENGTH_0,h=r(5382);function u(t,e){var r=this._transformState;r.transforming=!1;var i=r.writecb;if(null===i)return this.emit("error",new s);r.writechunk=null,r.writecb=null,null!=e&&this.push(e),i(t);var n=this._readableState;n.reading=!1,(n.needReadable||n.length{const i=r(7042);t.exports=class{constructor(t){this.encoding=t}get remaining(){return 0}decode(t){return i.toString(t,this.encoding)}flush(){return""}}},4643:t=>{function e(t){try{if(!globalThis.localStorage)return!1}catch(t){return!1}var e=globalThis.localStorage[t];return null!=e&&"true"===String(e).toLowerCase()}t.exports=function(t,r){if(e("noDeprecation"))return t;var i=!1;return function(){if(!i){if(e("throwDeprecation"))throw new Error(r);e("traceDeprecation")?console.trace(r):console.warn(r),i=!0}return t.apply(this,arguments)}}},4662:(t,e,r)=>{var i=r(8287).Buffer;function n(t,e,r){let i=0,n=1;for(let s=e;s=48)i=10*i+(r-48);else if(s!==e||43!==r){if(s!==e||45!==r){if(46===r)break;throw new Error("not a number: buffer["+s+"] = "+r)}n=-1}}return i*n}function s(t,e,r,n){return null==t||0===t.length?null:("number"!=typeof e&&null==n&&(n=e,e=void 0),"number"!=typeof r&&null==n&&(n=r,r=void 0),s.position=0,s.encoding=n||null,s.data=i.isBuffer(t)?t.slice(e,r):i.from(t),s.bytes=s.data.length,s.next())}s.bytes=0,s.position=0,s.data=null,s.encoding=null,s.next=function(){switch(s.data[s.position]){case 100:return s.dictionary();case 108:return s.list();case 105:return s.integer();default:return s.buffer()}},s.find=function(t){let e=s.position;const r=s.data.length,i=s.data;for(;e{var i=e;i.der=r(82),i.pem=r(735)},4729:(t,e,r)=>{var i=r(2861).Buffer,n=r(8310).Transform;function s(t){n.call(this),this._block=i.allocUnsafe(t),this._blockSize=t,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}r(6698)(s,n),s.prototype._transform=function(t,e,r){var i=null;try{this.update(t,e)}catch(t){i=t}r(i)},s.prototype._flush=function(t){var e=null;try{this.push(this.digest())}catch(t){e=t}t(e)};var o="undefined"!=typeof Uint8Array,a="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&ArrayBuffer.isView&&(i.prototype instanceof Uint8Array||i.TYPED_ARRAY_SUPPORT);s.prototype.update=function(t,e){if(this._finalized)throw new Error("Digest already called");t=function(t,e){if(t instanceof i)return t;if("string"==typeof t)return i.from(t,e);if(a&&ArrayBuffer.isView(t)){if(0===t.byteLength)return i.alloc(0);var r=i.from(t.buffer,t.byteOffset,t.byteLength);if(r.byteLength===t.byteLength)return r}if(o&&t instanceof Uint8Array)return i.from(t);if(i.isBuffer(t)&&t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t))return i.from(t);throw new TypeError('The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView.')}(t,e);for(var r=this._block,n=0;this._blockOffset+t.length-n>=this._blockSize;){for(var s=this._blockOffset;s0;++h)this._length[h]+=u,(u=this._length[h]/4294967296|0)>0&&(this._length[h]-=4294967296*u);return this},s.prototype._update=function(){throw new Error("_update is not implemented")},s.prototype.digest=function(t){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var e=this._digest();void 0!==t&&(e=e.toString(t)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return e},s.prototype._digest=function(){throw new Error("_digest is not implemented")},t.exports=s},4765:t=>{var e=String.prototype.replace,r=/%20/g,i="RFC1738",n="RFC3986";t.exports={default:n,formatters:{RFC1738:function(t){return e.call(t,r,"+")},RFC3986:function(t){return String(t)}},RFC1738:i,RFC3986:n}},4803:(t,e,r)=>{var i=r(8859),n=r(9675),s=function(t,e,r){for(var i,n=t;null!=(i=n.next);n=i)if(i.key===e)return n.next=i.next,r||(i.next=t.next,t.next=i),i};t.exports=function(){var t,e={assert:function(t){if(!e.has(t))throw new n("Side channel does not contain "+i(t))},delete:function(e){var r=t&&t.next,i=function(t,e){if(t)return s(t,e,!0)}(t,e);return i&&r&&r===i&&(t=void 0),!!i},get:function(e){return function(t,e){if(t){var r=s(t,e);return r&&r.value}}(t,e)},has:function(e){return function(t,e){return!!t&&!!s(t,e)}(t,e)},set:function(e,r){t||(t={next:void 0}),function(t,e,r){var i=s(t,e);i?i.value=r:t.next={key:e,next:t.next,value:r}}(t,e,r)}};return e}},4847:(t,e,r)=>{var i=r(2861).Buffer,n=r(9404),s=r(6729).ec,o=r(8170),a=r(4589);function h(t,e){if(t.cmpn(0)<=0)throw new Error("invalid sig");if(t.cmp(e)>=0)throw new Error("invalid sig")}t.exports=function(t,e,r,u,f){var l=o(r);if("ec"===l.type){if("ecdsa"!==u&&"ecdsa/rsa"!==u)throw new Error("wrong public key type");return function(t,e,r){var i=a[r.data.algorithm.curve.join(".")];if(!i)throw new Error("unknown curve "+r.data.algorithm.curve.join("."));var n=new s(i),o=r.data.subjectPrivateKey.data;return n.verify(e,t,o)}(t,e,l)}if("dsa"===l.type){if("dsa"!==u)throw new Error("wrong public key type");return function(t,e,r){var i=r.data.p,s=r.data.q,a=r.data.g,u=r.data.pub_key,f=o.signature.decode(t,"der"),l=f.s,c=f.r;h(l,s),h(c,s);var d=n.mont(i),p=l.invm(s),m=a.toRed(d).redPow(new n(e).mul(p).mod(s)).fromRed().mul(u.toRed(d).redPow(c.mul(p).mod(s)).fromRed()).mod(i).mod(s);return 0===m.cmp(c)}(t,e,l)}if("rsa"!==u&&"ecdsa/rsa"!==u)throw new Error("wrong public key type");e=i.concat([f,e]);for(var c=l.modulus.byteLength(),d=[1],p=0;e.length+d.length+2{t.exports=n;const i=r(9596);function n(t,e){if(!(this instanceof n))return new n(t,e);if(e||(e={}),this.chunkLength=Number(t),!this.chunkLength)throw new Error("First argument must be a chunk length");this.chunks=[],this.closed=!1,this.length=Number(e.length)||1/0,this.length!==1/0&&(this.lastChunkLength=this.length%this.chunkLength||this.chunkLength,this.lastChunkIndex=Math.ceil(this.length/this.chunkLength)-1)}n.prototype.put=function(t,e,r=()=>{}){if(this.closed)return i((()=>r(new Error("Storage is closed"))));const n=t===this.lastChunkIndex;return n&&e.length!==this.lastChunkLength?i((()=>r(new Error("Last chunk length must be "+this.lastChunkLength)))):n||e.length===this.chunkLength?(this.chunks[t]=e,void i((()=>r(null)))):i((()=>r(new Error("Chunk length must be "+this.chunkLength))))},n.prototype.get=function(t,e,r=()=>{}){if("function"==typeof e)return this.get(t,null,e);if(this.closed)return i((()=>r(new Error("Storage is closed"))));let n=this.chunks[t];if(!n){const t=new Error("Chunk not found");return t.notFound=!0,i((()=>r(t)))}e||(e={});const s=e.offset||0,o=e.length||n.length-s;0===s&&o===n.length||(n=n.slice(s,o+s)),i((()=>r(null,n)))},n.prototype.close=n.prototype.destroy=function(t=()=>{}){if(this.closed)return i((()=>t(new Error("Storage is closed"))));this.closed=!0,this.chunks=null,i((()=>t(null)))}},4910:(t,e,r)=>{var i=r(8287).Buffer,n=r(6473),s=new(r(2244)),o=new n(24),a=new n(11),h=new n(10),u=new n(3),f=new n(7),l=r(4934),c=r(3209);function d(t,e){return e=e||"utf8",i.isBuffer(t)||(t=new i(t,e)),this._pub=new n(t),this}function p(t,e){return e=e||"utf8",i.isBuffer(t)||(t=new i(t,e)),this._priv=new n(t),this}t.exports=g;var m={};function g(t,e,r){this.setGenerator(e),this.__prime=new n(t),this._prime=n.mont(this.__prime),this._primeLen=t.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,r?(this.setPublicKey=d,this.setPrivateKey=p):this._primeCode=8}function y(t,e){var r=new i(t.toArray());return e?r.toString(e):r}Object.defineProperty(g.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!=typeof this._primeCode&&(this._primeCode=function(t,e){var r=e.toString("hex"),i=[r,t.toString(16)].join("_");if(i in m)return m[i];var n,c=0;if(t.isEven()||!l.simpleSieve||!l.fermatTest(t)||!s.test(t))return c+=1,c+="02"===r||"05"===r?8:4,m[i]=c,c;switch(s.test(t.shrn(1))||(c+=2),r){case"02":t.mod(o).cmp(a)&&(c+=8);break;case"05":(n=t.mod(h)).cmp(u)&&n.cmp(f)&&(c+=8);break;default:c+=4}return m[i]=c,c}(this.__prime,this.__gen)),this._primeCode}}),g.prototype.generateKeys=function(){return this._priv||(this._priv=new n(c(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},g.prototype.computeSecret=function(t){var e=(t=(t=new n(t)).toRed(this._prime)).redPow(this._priv).fromRed(),r=new i(e.toArray()),s=this.getPrime();if(r.length{var i=r(3209);t.exports=b,b.simpleSieve=g,b.fermatTest=y;var n=r(6473),s=new n(24),o=new(r(2244)),a=new n(1),h=new n(2),u=new n(5),f=(new n(16),new n(8),new n(10)),l=new n(3),c=(new n(7),new n(11)),d=new n(4),p=(new n(12),null);function m(){if(null!==p)return p;var t=[];t[0]=2;for(var e=1,r=3;r<1048576;r+=2){for(var i=Math.ceil(Math.sqrt(r)),n=0;nt;)r.ishrn(1);if(r.isEven()&&r.iadd(a),r.testn(1)||r.iadd(h),e.cmp(h)){if(!e.cmp(u))for(;r.mod(f).cmp(l);)r.iadd(d)}else for(;r.mod(s).cmp(c);)r.iadd(d);if(g(p=r.shrn(1))&&g(r)&&y(p)&&y(r)&&o.test(p)&&o.test(r))return r}}},4988:(t,e,r)=>{var i=r(717),n=r(8287).Buffer,s=r(7558),o=r(9971),a=r(7007),h=r(3209),u=r(537),f=[{host:"router.bittorrent.com",port:6881},{host:"router.utorrent.com",port:6881},{host:"dht.transmissionbt.com",port:6881}];function l(t){if(!(this instanceof l))return new l(t);t||(t={});var e,r=this;function i(t,e){if(t&&c(t.id,r._idLength)&&!t.id.equals(r.id)){var i=r.nodes.get(t.id);if(i)return void(i.seen=Date.now());r._addNode({id:t.id,host:e.address||e.host,port:e.port,distance:0,seen:Date.now()})}}this._idLength=t.idLength||20,this.id=function(t){if(n.isBuffer(t))return t;if(ArrayBuffer.isView(t))return n.from(t.buffer,t.byteOffset,t.byteLength);if("string"==typeof t)return n.from(t,"hex");throw new Error("Pass a buffer or a string")}(t.id||t.nodeId||h(this._idLength)),this.socket=t.krpcSocket||s(t),this.bootstrap=!1===(e=t.nodes||t.bootstrap)?[]:!0===e?f:[].concat(e||f).map(p),this.concurrency=t.concurrency||16,this.backgroundConcurrency=t.backgroundConcurrency||this.concurrency/4|0,this.k=t.k||20,this.destroyed=!1,this.pending=[],this.nodes=null,this.socket.setMaxListeners(0),this.socket.on("query",(function(t,e){i(t.a,e),r.emit("query",t,e)})),this.socket.on("response",(function(t,e){i(t.r,e)})),this.socket.on("warning",(function(t){r.emit("warning",t)})),this.socket.on("error",(function(t){r.emit("error",t)})),this.socket.on("update",(function(){for(;r.pending.length&&r.socket.inflight=300&&t.code<400&&(a=t):o++,t||n||r&&!1===r(e,h)&&(n=!0),--s||i(o?null:a||new Error("All queries failed"),o)}},l.prototype.query=function(t,e,r){this.socket.inflight>=this.concurrency?this.pending.push([t,e,r]):(e.a||(e.a={}),e.a.id||(e.a.id=this.id),t.token&&(e.a.token=t.token),this.socket.query(t,e,r))},l.prototype.destroy=function(t){this.destroyed=!0,this.socket.destroy(t)},l.prototype.clear=function(){var t=this;this.nodes=new o({localNodeId:this.id,numberOfNodesPerKBucket:this.k,numberOfNodesToPing:this.concurrency}),this.nodes.on("ping",(function(e,r){t.emit("ping",e,(function(e){e&&(e.id&&t.nodes.remove(e.id),t._addNode(r))}))}))},l.prototype.populate=function(t,e,r){this._closest(t,e,!0,null,r)},l.prototype.closest=function(t,e,r,i){this._closest(t,e,!1,r,i)},l.prototype._addNode=function(t){var e=this.nodes.get(t.id);this.nodes.add(t),e||this.emit("node",t)},l.prototype._closest=function(t,e,r,n,s){s||(s=m);var a=this,h=0,u={},f=0,l=!0,p=!1;e.a||(e.a={}),e.a.id||(e.a.id=this.id);var g=new o({localNodeId:t,numberOfNodesPerKBucket:this.k,numberOfNodesToPing:this.concurrency}),y=r?"postupdate":"update";function b(){if(!(a.destroyed||a.socket.inflight>=a.concurrency)){var n=a.pending.length+a.socket.inflight-f;if(!(r&&a.socket.inflight>=a.backgroundConcurrency&&n)){var s=g.closest(t,a.k);(!s.length||s.length=a.concurrency)return;var h=s[o],c=h.host+":"+h.port;u[c]||(u[c]=!0,f++,a.socket.query(h,e,w))}f||(a.socket.removeListener(y,b),i.nextTick(v))}}}function v(){s(null,h)}function w(t,e,r){f--,r&&(u[(r.address||r.host)+":"+r.port]=!0),r&&r.id&&a.nodes.get(r.id)&&(!t||"EUNEXPECTEDNODE"!==t.code&&"ETIMEDOUT"!==t.code||a.nodes.remove(r.id));var i=e&&e.r;if(!i)return b();!t&&c(i.id,a._idLength)&&(h++,_({id:i.id,port:r.port,host:r.host||r.address,distance:0}));for(var s=i.nodes?function(t,e){var r=[];try{for(var i=0;i{var i;function n(t){this.rand=t}if(t.exports=function(t){return i||(i=new n(null)),i.generate(t)},t.exports.Rand=n,n.prototype.generate=function(t){return this._rand(t)},n.prototype._rand=function(t){if(this.rand.getBytes)return this.rand.getBytes(t);for(var e=new Uint8Array(t),r=0;r{t.exports=function(t){for(var e,r=t.length;r--;){if(255!==(e=t.readUInt8(r))){e++,t.writeUInt8(e,r);break}t.writeUInt8(0,r)}}},5185:()=>{},5221:(t,e,r)=>{const{isIPv4:i,isIPv6:n}=r(8957);e.lookup=function t(e,r,s){if("function"==typeof r)return t(e,null,r);chrome.dns.resolve(e,(t=>{if(0!==t.resultCode)return s(new Error("DNS lookup error: "+chrome.runtime.lastError.message));const e=t.address,r=i(e)?4:n(e)?6:0;s(null,e,r)}))}},5242:(t,e,r)=>{t.exports=s;var i=r(1816),n=Object.create(r(5622));function s(t){if(!(this instanceof s))return new s(t);i.call(this,t)}n.inherits=r(6698),n.inherits(s,i),s.prototype._transform=function(t,e,r){r(null,t)}},5264:(t,e,r)=>{var i=r(2861).Buffer;function n(t,e,r){for(var i,n,o=-1,a=0;++o<8;)i=e&1<<7-o?128:0,a+=(128&(n=t._cipher.encryptBlock(t._prev)[0]^i))>>o%8,t._prev=s(t._prev,r?i:n);return a}function s(t,e){var r=t.length,n=-1,s=i.allocUnsafe(t.length);for(t=i.concat([t,i.from([e])]);++n>7;return s}e.encrypt=function(t,e,r){for(var s=e.length,o=i.allocUnsafe(s),a=-1;++a{var i=r(3349),n=r(6698),s=r(2808),o=r(2211);function a(t,e){i.equal(e.length,24,"Invalid key length");var r=e.slice(0,8),n=e.slice(8,16),s=e.slice(16,24);this.ciphers="encrypt"===t?[o.create({type:"encrypt",key:r}),o.create({type:"decrypt",key:n}),o.create({type:"encrypt",key:s})]:[o.create({type:"decrypt",key:s}),o.create({type:"encrypt",key:n}),o.create({type:"decrypt",key:r})]}function h(t){s.call(this,t);var e=new a(this.type,this.options.key);this._edeState=e}n(h,s),t.exports=h,h.create=function(t){return new h(t)},h.prototype._update=function(t,e,r,i){var n=this._edeState;n.ciphers[0]._update(t,e,r,i),n.ciphers[1]._update(r,i,r,i),n.ciphers[2]._update(r,i,r,i)},h.prototype._pad=o.prototype._pad,h.prototype._unpad=o.prototype._unpad},5291:(t,e,r)=>{var i=r(113).F.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(t,e,r,n){var s=function(t,e,r){return null!=t.highWaterMark?t.highWaterMark:e?t[r]:null}(e,n,r);if(null!=s){if(!isFinite(s)||Math.floor(s)!==s||s<0)throw new i(n?r:"highWaterMark",s);return Math.floor(s)}return t.objectMode?16:16384}}},5307:(t,e,r)=>{const i=r(7042);var n=[];function s(){this.list=[],this.map=new Map}function o(){this.records=new Map,this.size=0}function a(t){if(!(this instanceof a))return new a(t);if(t||(t={}),this.maxSize=t.maxSize||1/0,this.maxAge=t.maxAge||0,this._onstale=t.onStale||t.onstale||null,this._fresh=new o,this._stale=new o,this._interval=null,this._gced=!1,this.maxAge&&this.maxAge<1/0){var e=Math.ceil(2/3*this.maxAge);this._interval=setInterval(this._gcAuto.bind(this),e),this._interval.unref&&this._interval.unref()}}function h(t){return i.isBuffer(t)?i.toString(t,"hex"):t}function u(t,e,r){var i=t[e];i.index=r,t[r].index=e,t[e]=t[r],t[r]=i}t.exports=a,s.prototype.add=function(t,e){var r=h(t),i=this.map.get(r);return!i&&(i={index:this.list.length,record:e||t},this.list.push(i),this.map.set(r,i),!0)},s.prototype.remove=function(t){var e=h(t),r=this.map.get(e);return!!r&&(u(this.list,r.index,this.list.length-1),this.list.pop(),this.map.delete(e),!0)},o.prototype.add=function(t,e,r){var i=this.records.get(t);return i||(i=new s,this.records.set(t,i)),!!i.add(e,r)&&(this.size++,!0)},o.prototype.remove=function(t,e,r){var i=this.records.get(t);return!!i&&(!!i.remove(e,r)&&(this.size--,i.map.size||this.records.delete(t),!0))},o.prototype.get=function(t){var e=this.records.get(t);return e?e.list:n},Object.defineProperty(a.prototype,"size",{get:function(){return this._fresh.size+this._stale.size}}),a.prototype.add=function(t,e,r){this._stale.remove(t,e,r),this._fresh.add(t,e,r)&&this._fresh.size>this.maxSize&&this._gc()},a.prototype.remove=function(t,e,r){this._fresh.remove(t,e,r),this._stale.remove(t,e,r)},a.prototype.get=function(t,e){var r=this._fresh.get(t),i=this._stale.get(t),n=r.length,s=i.length,o=n+s;(e>o||!e)&&(e=o);for(var a=new Array(e),h=0;h0&&this._onstale(this._stale),this._stale=this._fresh,this._fresh=new o,this._gced=!0},a.prototype.clear=function(){this._gc(),this._gc()},a.prototype.destroy=function(){this.clear(),clearInterval(this._interval),this._interval=null}},5335:(t,e,r)=>{const i=r(4611),n=r(6045);t.exports=class{constructor(t="utf8"){switch(this.encoding=function(t){switch(t=t.toLowerCase()){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:throw new Error("Unknown encoding: "+t)}}(t),this.encoding){case"utf8":this.decoder=new n;break;case"utf16le":case"base64":throw new Error("Unsupported encoding: "+this.encoding);default:this.decoder=new i(this.encoding)}}get remaining(){return this.decoder.remaining}push(t){return"string"==typeof t?t:this.decoder.decode(t)}write(t){return this.push(t)}end(t){let e="";return t&&(e=this.push(t)),e+=this.decoder.flush(),e}}},5345:t=>{t.exports=URIError},5359:(t,e,r)=>{var i=r(2861).Buffer,n=r(3507),s=r(7332),o=r(6729).ec,a=r(9404),h=r(8170),u=r(4589);function f(t,e,r,s){if((t=i.from(t.toArray())).length0&&r.ishrn(i),r}function c(t,e,r){var s,o;do{for(s=i.alloc(0);8*s.length{t.exports=function(t,e,r){if("number"!=typeof e)throw new Error("second argument must be a Number");let n,s,o,a,h,u,f=!0;Array.isArray(t)?(n=[],o=s=t.length):(a=Object.keys(t),n={},o=s=a.length);function l(t){function e(){r&&r(t,n),r=null}f?i(e):e()}function c(e,r,i){if(n[e]=i,r&&(h=!0),0==--o||r)l(r);else if(!h&&u{var i=r(8636),n=r(2642),s=r(4765);t.exports={formats:s,parse:n,stringify:i}},5380:(t,e,r)=>{var i=r(8287).Buffer,n=r(4934),s=r(3241),o=r(4910);var a={binary:!0,hex:!0,base64:!0};e.DiffieHellmanGroup=e.createDiffieHellmanGroup=e.getDiffieHellman=function(t){var e=new i(s[t].prime,"hex"),r=new i(s[t].gen,"hex");return new o(e,r)},e.createDiffieHellman=e.DiffieHellman=function t(e,r,s,h){return i.isBuffer(r)||void 0===a[r]?t(e,"binary",r,s):(r=r||"binary",h=h||"binary",s=s||new i([2]),i.isBuffer(s)||(s=new i(s,h)),"number"==typeof e?new o(n(e,s),s,!0):(i.isBuffer(e)||(e=new i(e,r)),new o(e,s,!0)))}},5382:(t,e,r)=>{var i=r(717),n=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=f;var s=r(5412),o=r(6708);r(6698)(f,s);for(var a=n(o.prototype),h=0;h{var i,n=r(717);t.exports=E,E.ReadableState=k;r(7007).EventEmitter;var s=function(t,e){return t.listeners(e).length},o=r(1416),a=r(8287).Buffer,h=("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){};var u,f=r(537);u=f&&f.debuglog?f.debuglog("stream"):function(){};var l,c,d,p=r(345),m=r(5896),g=r(5291).getHighWaterMark,y=r(113).F,b=y.ERR_INVALID_ARG_TYPE,v=y.ERR_STREAM_PUSH_AFTER_EOF,w=y.ERR_METHOD_NOT_IMPLEMENTED,_=y.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;r(6698)(E,o);var M=m.errorOrDestroy,S=["error","close","destroy","pause","resume"];function k(t,e,n){i=i||r(5382),t=t||{},"boolean"!=typeof n&&(n=e instanceof i),this.objectMode=!!t.objectMode,n&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=g(this,t,"readableHighWaterMark",n),this.buffer=new p,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(l||(l=r(3141).I),this.decoder=new l(t.encoding),this.encoding=t.encoding)}function E(t){if(i=i||r(5382),!(this instanceof E))return new E(t);var e=this instanceof i;this._readableState=new k(t,this,e),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),o.call(this)}function x(t,e,r,i,n){u("readableAddChunk",e);var s,o=t._readableState;if(null===e)o.reading=!1,function(t,e){if(u("onEofChunk"),e.ended)return;if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?P(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,C(t)))}(t,o);else if(n||(s=function(t,e){var r;i=e,a.isBuffer(i)||i instanceof h||"string"==typeof e||void 0===e||t.objectMode||(r=new b("chunk",["string","Buffer","Uint8Array"],e));var i;return r}(o,e)),s)M(t,s);else if(o.objectMode||e&&e.length>0)if("string"==typeof e||o.objectMode||Object.getPrototypeOf(e)===a.prototype||(e=function(t){return a.from(t)}(e)),i)o.endEmitted?M(t,new _):A(t,o,e,!0);else if(o.ended)M(t,new v);else{if(o.destroyed)return!1;o.reading=!1,o.decoder&&!r?(e=o.decoder.write(e),o.objectMode||0!==e.length?A(t,o,e,!1):R(t,o)):A(t,o,e,!1)}else i||(o.reading=!1,R(t,o));return!o.ended&&(o.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=I?t=I:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function P(t){var e=t._readableState;u("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(u("emitReadable",e.flowing),e.emittedReadable=!0,n.nextTick(C,t))}function C(t){var e=t._readableState;u("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,j(t)}function R(t,e){e.readingMore||(e.readingMore=!0,n.nextTick(O,t,e))}function O(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function L(t){u("readable nexttick read 0"),t.read(0)}function N(t,e){u("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),j(t),e.flowing&&!e.reading&&t.read(0)}function j(t){var e=t._readableState;for(u("flow",e.flowing);e.flowing&&null!==t.read(););}function U(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function q(t){var e=t._readableState;u("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,n.nextTick(D,e,t))}function D(t,e){if(u("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function H(t,e){for(var r=0,i=t.length;r=e.highWaterMark:e.length>0)||e.ended))return u("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?q(this):P(this),null;if(0===(t=T(t,e))&&e.ended)return 0===e.length&&q(this),null;var i,n=e.needReadable;return u("need readable",n),(0===e.length||e.length-t0?U(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&q(this)),null!==i&&this.emit("data",i),i},E.prototype._read=function(t){M(this,new w("_read()"))},E.prototype.pipe=function(t,e){var r=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=t;break;case 1:i.pipes=[i.pipes,t];break;default:i.pipes.push(t)}i.pipesCount+=1,u("pipe count=%d opts=%j",i.pipesCount,e);var o=(!e||!1!==e.end)&&t!==n.stdout&&t!==n.stderr?h:g;function a(e,n){u("onunpipe"),e===r&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,u("cleanup"),t.removeListener("close",p),t.removeListener("finish",m),t.removeListener("drain",f),t.removeListener("error",d),t.removeListener("unpipe",a),r.removeListener("end",h),r.removeListener("end",g),r.removeListener("data",c),l=!0,!i.awaitDrain||t._writableState&&!t._writableState.needDrain||f())}function h(){u("onend"),t.end()}i.endEmitted?n.nextTick(o):r.once("end",o),t.on("unpipe",a);var f=function(t){return function(){var e=t._readableState;u("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&s(t,"data")&&(e.flowing=!0,j(t))}}(r);t.on("drain",f);var l=!1;function c(e){u("ondata");var n=t.write(e);u("dest.write",n),!1===n&&((1===i.pipesCount&&i.pipes===t||i.pipesCount>1&&-1!==H(i.pipes,t))&&!l&&(u("false write response, pause",i.awaitDrain),i.awaitDrain++),r.pause())}function d(e){u("onerror",e),g(),t.removeListener("error",d),0===s(t,"error")&&M(t,e)}function p(){t.removeListener("finish",m),g()}function m(){u("onfinish"),t.removeListener("close",p),g()}function g(){u("unpipe"),r.unpipe(t)}return r.on("data",c),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,"error",d),t.once("close",p),t.once("finish",m),t.emit("pipe",r),i.flowing||(u("pipe resume"),r.resume()),t},E.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s0,!1!==i.flowing&&this.resume()):"readable"===t&&(i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,u("on readable",i.length,i.reading),i.length?P(this):i.reading||n.nextTick(L,this))),r},E.prototype.addListener=E.prototype.on,E.prototype.removeListener=function(t,e){var r=o.prototype.removeListener.call(this,t,e);return"readable"===t&&n.nextTick(B,this),r},E.prototype.removeAllListeners=function(t){var e=o.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||n.nextTick(B,this),e},E.prototype.resume=function(){var t=this._readableState;return t.flowing||(u("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,n.nextTick(N,t,e))}(this,t)),t.paused=!1,this},E.prototype.pause=function(){return u("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(u("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},E.prototype.wrap=function(t){var e=this,r=this._readableState,i=!1;for(var n in t.on("end",(function(){if(u("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(n){(u("wrapped data"),r.decoder&&(n=r.decoder.write(n)),r.objectMode&&null==n)||(r.objectMode||n&&n.length)&&(e.push(n)||(i=!0,t.pause()))})),t)void 0===this[n]&&"function"==typeof t[n]&&(this[n]=function(e){return function(){return t[e].apply(t,arguments)}}(n));for(var s=0;s{var i=r(717),n=function(t,e,r,i){if(this.bucketSize=t,this.tokensPerInterval=e,"string"==typeof r)switch(r){case"sec":case"second":this.interval=1e3;break;case"min":case"minute":this.interval=6e4;break;case"hr":case"hour":this.interval=36e5;break;case"day":this.interval=864e5;break;default:throw new Error("Invaid interval "+r)}else this.interval=r;this.parentBucket=i,this.content=0,this.lastDrip=+new Date};n.prototype={bucketSize:1,tokensPerInterval:1,interval:1e3,parentBucket:null,content:0,lastDrip:0,removeTokens:function(t,e){var r=this;return this.bucketSize?t>this.bucketSize?(i.nextTick(e.bind(null,"Requested tokens "+t+" exceeds bucket size "+this.bucketSize,null)),!1):(this.drip(),t>this.content?n():this.parentBucket?this.parentBucket.removeTokens(t,(function(i,s){return i?e(i,null):t>r.content?n():(r.content-=t,void e(null,Math.min(s,r.content)))})):(this.content-=t,i.nextTick(e.bind(null,null,this.content)),!0)):(i.nextTick(e.bind(null,null,t,Number.POSITIVE_INFINITY)),!0);function n(){var i=Math.ceil((t-r.content)*(r.interval/r.tokensPerInterval));return setTimeout((function(){r.removeTokens(t,e)}),i),!1}},tryRemoveTokens:function(t){return!this.bucketSize||!(t>this.bucketSize)&&(this.drip(),!(t>this.content)&&(!(this.parentBucket&&!this.parentBucket.tryRemoveTokens(t))&&(this.content-=t,!0)))},drip:function(){if(this.tokensPerInterval){var t=+new Date,e=Math.max(t-this.lastDrip,0);this.lastDrip=t;var r=e*(this.tokensPerInterval/this.interval);this.content=Math.min(this.content+r,this.bucketSize)}else this.content=this.bucketSize}},t.exports=n},5488:(t,e,r)=>{var i=r(1565),n=r(4196),s=r(2455),o=r(3382);i.pbkdf2Sync&&-1!==i.pbkdf2Sync.toString().indexOf("keylen, digest")?(e.pbkdf2Sync=function(t,e,r,a,h){return n(r,a),t=o(t,s,"Password"),e=o(e,s,"Salt"),h=h||"sha1",i.pbkdf2Sync(t,e,r,a,h)},e.pbkdf2=function(t,e,r,a,h,u){if(n(r,a),t=o(t,s,"Password"),e=o(e,s,"Salt"),"function"==typeof h&&(u=h,h="sha1"),"function"!=typeof u)throw new Error("No callback provided to pbkdf2");return i.pbkdf2(t,e,r,a,h,u)}):(e.pbkdf2Sync=r(681),e.pbkdf2=r(3832))},5579:t=>{t.exports=JSON.parse('{"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"}')},5622:(t,e,r)=>{var i=r(8287).Buffer;function n(t){return Object.prototype.toString.call(t)}e.isArray=function(t){return Array.isArray?Array.isArray(t):"[object Array]"===n(t)},e.isBoolean=function(t){return"boolean"==typeof t},e.isNull=function(t){return null===t},e.isNullOrUndefined=function(t){return null==t},e.isNumber=function(t){return"number"==typeof t},e.isString=function(t){return"string"==typeof t},e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=function(t){return void 0===t},e.isRegExp=function(t){return"[object RegExp]"===n(t)},e.isObject=function(t){return"object"==typeof t&&null!==t},e.isDate=function(t){return"[object Date]"===n(t)},e.isError=function(t){return"[object Error]"===n(t)||t instanceof Error},e.isFunction=function(t){return"function"==typeof t},e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=i.isBuffer},5658:(t,e,r)=>{r.r(e),r.d(e,{default:()=>g,enableSecure:()=>m});var i=r(7007),n=r(8179),s=r(1314),o=r(7833),a=r(6458);const h="tcpIncoming",u="tcpOutgoing",f="utpIncoming",l="utpOutgoing",c="webSeed",d=o("webtorrent:peer");let p=!1;const m=()=>{p=!0};class g extends i{constructor(t,e){super(),this.id=t,this.type=e,d("new %s Peer %s",e,t),this.addr=null,this.conn=null,this.swarm=null,this.wire=null,this.source=null,this.connected=!1,this.destroyed=!1,this.timeout=null,this.retries=0,this.sentPe1=!1,this.sentPe2=!1,this.sentPe3=!1,this.sentPe4=!1,this.sentHandshake=!1}onConnect(){if(this.destroyed)return;this.connected=!0,d("Peer %s connected",this.id),clearTimeout(this.connectTimeout);const t=this.conn;t.once("end",(()=>{this.destroy()})),t.once("close",(()=>{this.destroy()})),t.once("finish",(()=>{this.destroy()})),t.once("error",(t=>{this.destroy(t)}));const e=this.wire=new a.A(this.type,this.retries,p);e.once("end",(()=>{this.destroy()})),e.once("close",(()=>{this.destroy()})),e.once("finish",(()=>{this.destroy()})),e.once("error",(t=>{this.destroy(t)})),e.once("pe1",(()=>{this.onPe1()})),e.once("pe2",(()=>{this.onPe2()})),e.once("pe3",(()=>{this.onPe3()})),e.once("pe4",(()=>{this.onPe4()})),e.once("handshake",((t,e)=>{this.onHandshake(t,e)})),this.startHandshakeTimeout(),this.setThrottlePipes(),this.swarm&&("tcpOutgoing"===this.type?p&&0===this.retries&&!this.sentPe1?this.sendPe1():this.sentHandshake||this.handshake():"tcpIncoming"===this.type||this.sentHandshake||this.handshake())}sendPe1(){this.wire.sendPe1(),this.sentPe1=!0}onPe1(){this.sendPe2()}sendPe2(){this.wire.sendPe2(),this.sentPe2=!0}onPe2(){this.sendPe3()}sendPe3(){this.wire.sendPe3(this.swarm.infoHash),this.sentPe3=!0}onPe3(t){this.swarm&&(this.swarm.infoHashHash!==t&&this.destroy(new Error("unexpected crypto handshake info hash for this swarm")),this.sendPe4())}sendPe4(){this.wire.sendPe4(this.swarm.infoHash),this.sentPe4=!0}onPe4(){this.sentHandshake||this.handshake()}clearPipes(){this.conn.unpipe(),this.wire.unpipe()}setThrottlePipes(){const t=this;(0,n.pipeline)(this.conn,this.throttleGroups.down.throttle(),new n.Transform({transform(e,r){t.emit("download",e.length),t.destroyed||r(null,e)}}),this.wire,this.throttleGroups.up.throttle(),new n.Transform({transform(e,r){t.emit("upload",e.length),t.destroyed||r(null,e)}}),this.conn)}onHandshake(t,e){if(!this.swarm)return;if(this.destroyed)return;if(this.swarm.destroyed)return this.destroy(new Error("swarm already destroyed"));if(t!==this.swarm.infoHash)return this.destroy(new Error("unexpected handshake info hash for this swarm"));if(e===this.swarm.peerId)return this.destroy(new Error("refusing to connect to ourselves"));d("Peer %s got handshake %s",this.id,t),clearTimeout(this.handshakeTimeout),this.retries=0;let r=this.addr;!r&&this.conn.remoteAddress&&this.conn.remotePort&&(r=`${this.conn.remoteAddress}:${this.conn.remotePort}`),this.swarm._onWire(this.wire,r),this.swarm&&!this.swarm.destroyed&&(this.sentHandshake||this.handshake())}handshake(){const t={dht:!this.swarm.private&&!!this.swarm.client.dht,fast:!0};this.wire.handshake(this.swarm.infoHash,this.swarm.client.peerId,t),this.sentHandshake=!0}startConnectTimeout(){clearTimeout(this.connectTimeout);const t={webrtc:25e3,tcpOutgoing:5e3,utpOutgoing:5e3};this.connectTimeout=setTimeout((()=>{this.destroy(new Error("connect timeout"))}),t[this.type]),this.connectTimeout.unref&&this.connectTimeout.unref()}startHandshakeTimeout(){clearTimeout(this.handshakeTimeout),this.handshakeTimeout=setTimeout((()=>{this.destroy(new Error("handshake timeout"))}),25e3),this.handshakeTimeout.unref&&this.handshakeTimeout.unref()}destroy(t){if(this.destroyed)return;this.destroyed=!0,this.connected=!1,d("destroy %s %s (error: %s)",this.type,this.id,t&&(t.message||t)),clearTimeout(this.connectTimeout),clearTimeout(this.handshakeTimeout);const e=this.swarm,r=this.conn,i=this.wire;this.swarm=null,this.conn=null,this.wire=null,e&&i&&s(e.wires,e.wires.indexOf(i)),r&&(r.on("error",(()=>{})),r.destroy()),i&&i.destroy(),e&&e.removePeer(this.id)}}g.TYPE_TCP_INCOMING=h,g.TYPE_TCP_OUTGOING=u,g.TYPE_UTP_INCOMING=f,g.TYPE_UTP_OUTGOING=l,g.TYPE_WEBRTC="webrtc",g.TYPE_WEBSEED=c,g.SOURCE_MANUAL="manual",g.SOURCE_TRACKER="tracker",g.SOURCE_DHT="dht",g.SOURCE_LSD="lsd",g.SOURCE_UT_PEX="ut_pex",g.createWebRTCPeer=(t,e,r,i=null)=>{const n=new g(t.id,"webrtc");if(n.conn=t,n.swarm=e,n.throttleGroups=r,n.source=i,n.conn.connected)n.onConnect();else{const t=()=>{n.conn.removeListener("connect",e),n.conn.removeListener("error",r)},e=()=>{t(),n.onConnect()},r=e=>{t(),n.destroy(e)};n.conn.once("connect",e),n.conn.once("error",r),n.startConnectTimeout()}return n},g.createTCPIncomingPeer=(t,e)=>g._createIncomingPeer(t,h,e),g.createUTPIncomingPeer=(t,e)=>g._createIncomingPeer(t,f,e),g.createTCPOutgoingPeer=(t,e,r,i)=>g._createOutgoingPeer(t,e,u,r,i),g.createUTPOutgoingPeer=(t,e,r,i)=>g._createOutgoingPeer(t,e,l,r,i),g._createIncomingPeer=(t,e,r)=>{const i=`${t.remoteAddress}:${t.remotePort}`,n=new g(i,e);return n.conn=t,n.addr=i,n.throttleGroups=r,n.onConnect(),n},g._createOutgoingPeer=(t,e,r,i,n=null)=>{const s=new g(t,r);return s.addr=t,s.swarm=e,s.throttleGroups=i,s.source=n,s},g.createWebSeedPeer=(t,e,r,i)=>{const n=new g(e,c);return n.swarm=r,n.conn=t,n.throttleGroups=i,n.onConnect(),n}},5715:(t,e,r)=>{t.exports=r(2951)},5795:(t,e,r)=>{var i=r(6549);if(i)try{i([],"length")}catch(t){i=null}t.exports=i},5799:(t,e,r)=>{var i=r(530),n=r(2356),s=r(2861).Buffer,o=r(650),a=r(6168),h=r(462),u=r(8078);function f(t,e,r){a.call(this),this._cache=new c,this._cipher=new h.AES(e),this._prev=s.from(r),this._mode=t,this._autopadding=!0}r(6698)(f,a),f.prototype._update=function(t){var e,r;this._cache.add(t);for(var i=[];e=this._cache.get();)r=this._mode.encrypt(this,e),i.push(r);return s.concat(i)};var l=s.alloc(16,16);function c(){this.cache=s.allocUnsafe(0)}function d(t,e,r){var a=i[t.toLowerCase()];if(!a)throw new TypeError("invalid suite type");if("string"==typeof e&&(e=s.from(e)),e.length!==a.key/8)throw new TypeError("invalid key length "+e.length);if("string"==typeof r&&(r=s.from(r)),"GCM"!==a.mode&&r.length!==a.iv)throw new TypeError("invalid iv length "+r.length);return"stream"===a.type?new o(a.module,e,r):"auth"===a.type?new n(a.module,e,r):new f(a.module,e,r)}f.prototype._final=function(){var t=this._cache.flush();if(this._autopadding)return t=this._mode.encrypt(this,t),this._cipher.scrub(),t;if(!t.equals(l))throw this._cipher.scrub(),new Error("data not multiple of block length")},f.prototype.setAutoPadding=function(t){return this._autopadding=!!t,this},c.prototype.add=function(t){this.cache=s.concat([this.cache,t])},c.prototype.get=function(){if(this.cache.length>15){var t=this.cache.slice(0,16);return this.cache=this.cache.slice(16),t}return null},c.prototype.flush=function(){for(var t=16-this.cache.length,e=s.allocUnsafe(t),r=-1;++r{t.exports=class{constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}clear(){this.top=this.btm=0,this.next=null,this.buffer.fill(void 0)}push(t){return void 0===this.buffer[this.top]&&(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){const t=this.buffer[this.btm];if(void 0!==t)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}peek(){return this.buffer[this.btm]}isEmpty(){return void 0===this.buffer[this.btm]}}},5880:t=>{t.exports=Math.pow},5892:(t,e,r)=>{var i=r(2861).Buffer,n=i.alloc(16,0);function s(t){var e=i.allocUnsafe(16);return e.writeUInt32BE(t[0]>>>0,0),e.writeUInt32BE(t[1]>>>0,4),e.writeUInt32BE(t[2]>>>0,8),e.writeUInt32BE(t[3]>>>0,12),e}function o(t){this.h=t,this.state=i.alloc(16,0),this.cache=i.allocUnsafe(0)}o.prototype.ghash=function(t){for(var e=-1;++e0;e--)i[e]=i[e]>>>1|(1&i[e-1])<<31;i[0]=i[0]>>>1,r&&(i[0]=i[0]^225<<24)}this.state=s(n)},o.prototype.update=function(t){var e;for(this.cache=i.concat([this.cache,t]);this.cache.length>=16;)e=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(e)},o.prototype.final=function(t,e){return this.cache.length&&this.ghash(i.concat([this.cache,n],16)),this.ghash(s([0,t,0,e])),this.state},t.exports=o},5896:(t,e,r)=>{var i=r(717);function n(t,e){o(t,e),s(t)}function s(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function o(t,e){t.emit("error",e)}t.exports={destroy:function(t,e){var r=this,a=this._readableState&&this._readableState.destroyed,h=this._writableState&&this._writableState.destroyed;return a||h?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,i.nextTick(o,this,t)):i.nextTick(o,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,(function(t){!e&&t?r._writableState?r._writableState.errorEmitted?i.nextTick(s,r):(r._writableState.errorEmitted=!0,i.nextTick(n,r,t)):i.nextTick(n,r,t):e?(i.nextTick(s,r),e(t)):i.nextTick(s,r)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(t,e){var r=t._readableState,i=t._writableState;r&&r.autoDestroy||i&&i.autoDestroy?t.destroy(e):t.emit("error",e)}}},5905:(t,e,r)=>{var i=r(4529);function n(t){i.ok(t===n.REQUEST||t===n.RESPONSE),this.type=t,this.state=t+"_LINE",this.info={headers:[],upgrade:!1},this.trailers=[],this.line="",this.isChunked=!1,this.connection="",this.headerSize=0,this.body_bytes=null,this.isUserCall=!1,this.hadError=!1}e.HTTPParser=n,n.encoding="ascii",n.maxHeaderSize=81920,n.REQUEST="REQUEST",n.RESPONSE="RESPONSE";var s=n.kOnHeaders=0,o=n.kOnHeadersComplete=1,a=n.kOnBody=2,h=n.kOnMessageComplete=3;n.prototype[s]=n.prototype[o]=n.prototype[a]=n.prototype[h]=function(){};var u=!0;Object.defineProperty(n,"kOnExecute",{get:function(){return u=!1,4}});var f=e.methods=n.methods=["DELETE","GET","HEAD","POST","PUT","CONNECT","OPTIONS","TRACE","COPY","LOCK","MKCOL","MOVE","PROPFIND","PROPPATCH","SEARCH","UNLOCK","BIND","REBIND","UNBIND","ACL","REPORT","MKACTIVITY","CHECKOUT","MERGE","M-SEARCH","NOTIFY","SUBSCRIBE","UNSUBSCRIBE","PATCH","PURGE","MKCALENDAR","LINK","UNLINK"],l=f.indexOf("CONNECT");n.prototype.reinitialize=n,n.prototype.close=n.prototype.pause=n.prototype.resume=n.prototype.free=function(){},n.prototype._compatMode0_11=!1,n.prototype.getAsyncId=function(){return 0};var c={REQUEST_LINE:!0,RESPONSE_LINE:!0,HEADER:!0};n.prototype.execute=function(t,e,r){if(!(this instanceof n))throw new TypeError("not a HTTPParser");e=e||0,r="number"==typeof r?r:t.length,this.chunk=t,this.offset=e;var i=this.end=e+r;try{for(;this.offsetn.maxHeaderSize)?new Error("max header size exceeded"):r};var d={REQUEST_LINE:!0,RESPONSE_LINE:!0,BODY_RAW:!0};n.prototype.finish=function(){if(!this.hadError)return d[this.state]?void("BODY_RAW"===this.state&&this.userCall()(this[h]())):new Error("invalid state for EOF")},n.prototype.consume=n.prototype.unconsume=n.prototype.getCurrentBuffer=function(){},n.prototype.userCall=function(){this.isUserCall=!0;var t=this;return function(e){return t.isUserCall=!1,e}},n.prototype.nextRequest=function(){this.userCall()(this[h]()),this.reinitialize(this.type)},n.prototype.consumeLine=function(){for(var t=this.end,e=this.chunk,r=this.offset;r0&&this.info.versionMinor>0){if(-1!==this.connection.indexOf("close"))return!1}else if(-1===this.connection.indexOf("keep-alive"))return!1;return!(null===this.body_bytes&&!this.isChunked)},n.prototype.HEADER=function(){var t=this.consumeLine();if(void 0!==t){var e=this.info;if(t)this.parseHeader(t,e.headers);else{for(var r,i,s=e.headers,a=!1,h=!1,f=0;f{var i=r(717);const n=r(537),s=r(8957),o=r(8835),a=r(5905).HTTPParser,h=r(4529).ok,u=r(2728),f=u.httpSocketSetup,l=u.parsers,c=u.freeParser,d=u.debug,p=r(8419).OutgoingMessage,m=r(8748),g=r(8287).Buffer;function y(t,e){var r=this;if(p.call(r),"string"==typeof t){if(!(t=o.parse(t)).hostname)throw new Error("Unable to determine the domain name")}else t=n._extend({},t);var a=t.agent,h=t._defaultAgent||m.globalAgent;!1===a?a=new h.constructor:null==a&&"function"!=typeof t.createConnection&&(a=h),r.agent=a;var f=t.protocol||h.protocol,l=h.protocol;if(r.agent&&r.agent.protocol&&(l=r.agent.protocol),t.path&&/ /.test(t.path))throw new TypeError("Request path contains unescaped characters");if(f!==l)throw new Error('Protocol "'+f+'" not supported. Expected "'+l+'"');const c=t.defaultPort||r.agent&&r.agent.defaultPort;var y=t.port=t.port||c||80,b=t.host=t.hostname||t.host||"localhost";if(void 0===t.setHost)var v=!0;r.socketPath=t.socketPath;var w=r.method=(t.method||"GET").toUpperCase();if(!u._checkIsHttpToken(w))throw new TypeError("Method must be a valid HTTP token");if(r.path=t.path||"/",e&&r.once("response",e),!Array.isArray(t.headers)){if(t.headers)for(var _=Object.keys(t.headers),M=0,S=_.length;M0?(r.upgradeOrConnect=!0,e.emit("agentRemove"),e.removeListener("close",w),e.removeListener("error",_),e._readableState.flowing=null,r.emit(u,o,e,a),r.emit("close")):e.destroy(),c(i,r,e)}else i.incoming&&i.incoming.complete&&100!==i.incoming.statusCode&&(e.removeListener("data",k),e.removeListener("end",S),c(i,r,e))}function E(t,e){var r=this.socket,i=r._httpMessage;if(i.domain&&!t.domain&&(d('setting "res.domain"'),t.domain=i.domain),d("AGENT incoming response!"),!i.res){if(i.res=t,"CONNECT"===i.method)return t.upgrade=!0,2;var n="HEAD"===i.method;return d("AGENT isHeadResponse",n),100===t.statusCode?(delete i.res,i.emit("continue"),!0):(!i.shouldKeepAlive||e||i.upgradeOrConnect||(i.shouldKeepAlive=!1),i.res=t,t.req=i,t.on("end",A),i.on("prefinish",I),i.emit("response",t)||t._dump(),n)}r.destroy()}function x(t,e){var r=e.socket;e.shouldKeepAlive?(d("AGENT socket keep-alive"),e.timeoutCb&&(r.setTimeout(0,e.timeoutCb),e.timeoutCb=null),r.removeListener("close",w),r.removeListener("error",_),r.once("error",M),i.nextTick(T,r)):(r.writable&&(d("AGENT socket.destroySoon()"),r.destroySoon()),h(!r.writable))}function A(){const t=this.req;t._ended=!0,t.shouldKeepAlive&&!t.finished||x(0,t)}function I(){const t=this;this.res;t.shouldKeepAlive&&t._ended&&x(0,t)}function T(t){t.emit("free")}function P(t,e){t.aborted?e.emit("free"):function(t,e){var r=l.alloc();t.socket=e,t.connection=e,r.reinitialize(a.RESPONSE),r.socket=e,r.incoming=null,r.outgoing=t,t.parser=r,e.parser=r,e._httpMessage=t,f(e),"number"==typeof t.maxHeadersCount?r.maxHeaderPairs=t.maxHeadersCount<<1:r.maxHeaderPairs=2e3,r.onIncoming=E,e.removeListener("error",M),e.on("error",_),e.on("data",k),e.on("end",S),e.on("close",w),t.emit("socket",e)}(t,e)}n.inherits(y,p),e.ClientRequest=y,y.prototype.aborted=void 0,y.prototype._finish=function(){p.prototype._finish.call(this)},y.prototype._implicitHeader=function(){this._storeHeader(this.method+" "+this.path+" HTTP/1.1\r\n",this._renderHeaders())},y.prototype.abort=function(){void 0===this.aborted&&i.nextTick(b,this),this.aborted=Date.now(),this.res?this.res._dump():this.once("response",(function(t){t._dump()})),this.socket&&this.socket.destroy()},y.prototype.onSocket=function(t){i.nextTick(P,this,t)},y.prototype._deferToConnect=function(t,e,r){var i=this;function n(){t&&i.socket[t].apply(i.socket,e),"function"==typeof r&&r()}var s=function(){i.socket.writable?n():i.socket.once("connect",n)};i.socket?s():i.once("socket",s)},y.prototype.setTimeout=function(t,e){e&&this.once("timeout",e);var r=this;function i(){r.emit("timeout")}if(this.socket&&this.socket.writable)return this.timeoutCb&&this.socket.setTimeout(0,this.timeoutCb),this.timeoutCb=i,this.socket.setTimeout(t,i),this;if(this.timeoutCb=i,this.socket){var n=this.socket;return this.socket.once("connect",(function(){n.setTimeout(t,i)})),this}return this.once("socket",(function(e){e.setTimeout(t,i)})),this},y.prototype.setNoDelay=function(){const t=arguments.length,e=new Array(t);for(var r=0;r{var i=r(8287).Buffer,n=r(6698),s=r(4729),o=new Array(16),a=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],h=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],u=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],f=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],l=[0,1518500249,1859775393,2400959708,2840853838],c=[1352829926,1548603684,1836072691,2053994217,0];function d(){s.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function p(t,e){return t<>>32-e}function m(t,e,r,i,n,s,o,a){return p(t+(e^r^i)+s+o|0,a)+n|0}function g(t,e,r,i,n,s,o,a){return p(t+(e&r|~e&i)+s+o|0,a)+n|0}function y(t,e,r,i,n,s,o,a){return p(t+((e|~r)^i)+s+o|0,a)+n|0}function b(t,e,r,i,n,s,o,a){return p(t+(e&i|r&~i)+s+o|0,a)+n|0}function v(t,e,r,i,n,s,o,a){return p(t+(e^(r|~i))+s+o|0,a)+n|0}n(d,s),d.prototype._update=function(){for(var t=o,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);for(var r=0|this._a,i=0|this._b,n=0|this._c,s=0|this._d,d=0|this._e,w=0|this._a,_=0|this._b,M=0|this._c,S=0|this._d,k=0|this._e,E=0;E<80;E+=1){var x,A;E<16?(x=m(r,i,n,s,d,t[a[E]],l[0],u[E]),A=v(w,_,M,S,k,t[h[E]],c[0],f[E])):E<32?(x=g(r,i,n,s,d,t[a[E]],l[1],u[E]),A=b(w,_,M,S,k,t[h[E]],c[1],f[E])):E<48?(x=y(r,i,n,s,d,t[a[E]],l[2],u[E]),A=y(w,_,M,S,k,t[h[E]],c[2],f[E])):E<64?(x=b(r,i,n,s,d,t[a[E]],l[3],u[E]),A=g(w,_,M,S,k,t[h[E]],c[3],f[E])):(x=v(r,i,n,s,d,t[a[E]],l[4],u[E]),A=m(w,_,M,S,k,t[h[E]],c[4],f[E])),r=d,d=s,s=p(n,10),n=i,i=x,w=k,k=S,S=p(M,10),M=_,_=A}var I=this._b+n+S|0;this._b=this._c+s+k|0,this._c=this._d+d+w|0,this._d=this._e+r+_|0,this._e=this._a+i+M|0,this._a=I},d.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=i.alloc?i.alloc(20):new i(20);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t.writeInt32LE(this._e,16),t},t.exports=d},6045:(t,e,r)=>{const i=r(7042);t.exports=class{constructor(){this.codePoint=0,this.bytesSeen=0,this.bytesNeeded=0,this.lowerBoundary=128,this.upperBoundary=191}get remaining(){return this.bytesSeen}decode(t){if(0===this.bytesNeeded){let e=!0;for(let r=Math.max(0,t.byteLength-4),i=t.byteLength;rthis.upperBoundary?(this.codePoint=0,this.bytesNeeded=0,this.bytesSeen=0,this.lowerBoundary=128,this.upperBoundary=191,e+="�"):(this.lowerBoundary=128,this.upperBoundary=191,this.codePoint=this.codePoint<<6|63&i,this.bytesSeen++,this.bytesSeen===this.bytesNeeded&&(e+=String.fromCodePoint(this.codePoint),this.codePoint=0,this.bytesNeeded=0,this.bytesSeen=0)):i<=127?e+=String.fromCharCode(i):(this.bytesSeen=1,i>=194&&i<=223?(this.bytesNeeded=2,this.codePoint=31&i):i>=224&&i<=239?(224===i?this.lowerBoundary=160:237===i&&(this.upperBoundary=159),this.bytesNeeded=3,this.codePoint=15&i):i>=240&&i<=244?(240===i&&(this.lowerBoundary=144),244===i&&(this.upperBoundary=143),this.bytesNeeded=4,this.codePoint=7&i):e+="�")}return e}flush(){const t=this.bytesNeeded>0?"�":"";return this.codePoint=0,this.bytesNeeded=0,this.bytesSeen=0,this.lowerBoundary=128,this.upperBoundary=191,t}}},6080:(t,e,r)=>{const i=r(5809);t.exports=class{constructor(t){this.hwm=t||16,this.head=new i(this.hwm),this.tail=this.head,this.length=0}clear(){this.head=this.tail,this.head.clear(),this.length=0}push(t){if(this.length++,!this.head.push(t)){const e=this.head;this.head=e.next=new i(2*this.head.buffer.length),this.head.push(t)}}shift(){0!==this.length&&this.length--;const t=this.tail.shift();if(void 0===t&&this.tail.next){const t=this.tail.next;return this.tail.next=null,this.tail=t,this.tail.shift()}return t}peek(){const t=this.tail.peek();return void 0===t&&this.tail.next?this.tail.next.peek():t}isEmpty(){return 0===this.length}}},6166:(t,e,r)=>{var i=r(7426),n=r(3349);function s(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}e.BlockHash=s,s.prototype.update=function(t,e){if(t=i.toArray(t,e),this.pending?this.pending=this.pending.concat(t):this.pending=t,this.pendingTotal+=t.length,this.pending.length>=this._delta8){var r=(t=this.pending).length%this._delta8;this.pending=t.slice(t.length-r,t.length),0===this.pending.length&&(this.pending=null),t=i.join32(t,0,t.length-r,this.endian);for(var n=0;n>>24&255,i[n++]=t>>>16&255,i[n++]=t>>>8&255,i[n++]=255&t}else for(i[n++]=255&t,i[n++]=t>>>8&255,i[n++]=t>>>16&255,i[n++]=t>>>24&255,i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=0,s=8;s{var i=r(2861).Buffer,n=r(8310).Transform,s=r(3141).I;function o(t){n.call(this),this.hashMode="string"==typeof t,this.hashMode?this[t]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}r(6698)(o,n);var a="undefined"!=typeof Uint8Array,h="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&ArrayBuffer.isView&&(i.prototype instanceof Uint8Array||i.TYPED_ARRAY_SUPPORT);o.prototype.update=function(t,e,r){var n=function(t,e){if(t instanceof i)return t;if("string"==typeof t)return i.from(t,e);if(h&&ArrayBuffer.isView(t)){if(0===t.byteLength)return i.alloc(0);var r=i.from(t.buffer,t.byteOffset,t.byteLength);if(r.byteLength===t.byteLength)return r}if(a&&t instanceof Uint8Array)return i.from(t);if(i.isBuffer(t)&&t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t))return i.from(t);throw new TypeError('The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView.')}(t,e),s=this._update(n);return this.hashMode?this:(r&&(s=this._toString(s,r)),s)},o.prototype.setAutoPadding=function(){},o.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},o.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},o.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},o.prototype._transform=function(t,e,r){var i;try{this.hashMode?this._update(t):this.push(this._update(t))}catch(t){i=t}finally{r(i)}},o.prototype._flush=function(t){var e;try{this.push(this.__final())}catch(t){e=t}t(e)},o.prototype._finalOrDigest=function(t){var e=this.__final()||i.alloc(0);return t&&(e=this._toString(e,t,!0)),e},o.prototype._toString=function(t,e,r){if(this._decoder||(this._decoder=new s(e),this._encoding=e),this._encoding!==e)throw new Error("can’t switch encodings");var i=this._decoder.write(t);return r&&(i+=this._decoder.end()),i},t.exports=o},6171:(t,e,r)=>{var i=r(2356),n=r(2861).Buffer,s=r(530),o=r(650),a=r(6168),h=r(462),u=r(8078);function f(t,e,r){a.call(this),this._cache=new l,this._last=void 0,this._cipher=new h.AES(e),this._prev=n.from(r),this._mode=t,this._autopadding=!0}function l(){this.cache=n.allocUnsafe(0)}function c(t,e,r){var a=s[t.toLowerCase()];if(!a)throw new TypeError("invalid suite type");if("string"==typeof r&&(r=n.from(r)),"GCM"!==a.mode&&r.length!==a.iv)throw new TypeError("invalid iv length "+r.length);if("string"==typeof e&&(e=n.from(e)),e.length!==a.key/8)throw new TypeError("invalid key length "+e.length);return"stream"===a.type?new o(a.module,e,r,!0):"auth"===a.type?new i(a.module,e,r,!0):new f(a.module,e,r)}r(6698)(f,a),f.prototype._update=function(t){var e,r;this._cache.add(t);for(var i=[];e=this._cache.get(this._autopadding);)r=this._mode.decrypt(this,e),i.push(r);return n.concat(i)},f.prototype._final=function(){var t=this._cache.flush();if(this._autopadding)return function(t){var e=t[15];if(e<1||e>16)throw new Error("unable to decrypt data");var r=-1;for(;++r16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e}else if(this.cache.length>=16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e;return null},l.prototype.flush=function(){if(this.cache.length)return this.cache},e.createDecipher=function(t,e){var r=s[t.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var i=u(e,!1,r.key,r.iv);return c(t,i.key,i.iv)},e.createDecipheriv=c},6188:t=>{t.exports=Math.max},6225:(t,e,r)=>{var i=r(7426).rotr32;function n(t,e,r){return t&e^~t&r}function s(t,e,r){return t&e^t&r^e&r}function o(t,e,r){return t^e^r}e.ft_1=function(t,e,r,i){return 0===t?n(e,r,i):1===t||3===t?o(e,r,i):2===t?s(e,r,i):void 0},e.ch32=n,e.maj32=s,e.p32=o,e.s0_256=function(t){return i(t,2)^i(t,13)^i(t,22)},e.s1_256=function(t){return i(t,6)^i(t,11)^i(t,25)},e.g0_256=function(t){return i(t,7)^i(t,18)^t>>>3},e.g1_256=function(t){return i(t,17)^i(t,19)^t>>>10}},6229:(t,e,r)=>{e.sha1=r(3917),e.sha224=r(7714),e.sha256=r(2287),e.sha384=r(1911),e.sha512=r(7766)},6238:(t,e,r)=>{var i=r(113).F.ERR_STREAM_PREMATURE_CLOSE;function n(){}t.exports=function t(e,r,s){if("function"==typeof r)return t(e,null,r);r||(r={}),s=function(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,i=new Array(r),n=0;n{var i=r(3225),n=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=l;var s=Object.create(r(5622));s.inherits=r(6698);var o=r(206),a=r(7314);s.inherits(l,o);for(var h=n(a.prototype),u=0;u{var i=r(3225);function n(t,e){t.emit("error",e)}t.exports={destroy:function(t,e){var r=this,s=this._readableState&&this._readableState.destroyed,o=this._writableState&&this._writableState.destroyed;return s||o?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,i.nextTick(n,this,t)):i.nextTick(n,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,(function(t){!e&&t?r._writableState?r._writableState.errorEmitted||(r._writableState.errorEmitted=!0,i.nextTick(n,r,t)):i.nextTick(n,r,t):e&&e(t)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},6310:t=>{function e(t,e){for(const r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}t.exports=function(t,r,i){if(!t||"string"==typeof t)throw new TypeError("Please pass an Error to err-code");i||(i={}),"object"==typeof r&&(i=r,r=""),r&&(i.code=r);try{return e(t,i)}catch(r){i.message=t.message,i.stack=t.stack;const n=function(){};n.prototype=Object.create(Object.getPrototypeOf(t));return e(new n,i)}}},6383:(t,e,r)=>{var i=r(2861).Buffer,n=r(295);function s(t,e,r){var s=e.length,o=n(e,t._cache);return t._cache=t._cache.slice(s),t._prev=i.concat([t._prev,r?e:o]),o}e.encrypt=function(t,e,r){for(var n,o=i.allocUnsafe(0);e.length;){if(0===t._cache.length&&(t._cache=t._cipher.encryptBlock(t._prev),t._prev=i.allocUnsafe(0)),!(t._cache.length<=e.length)){o=i.concat([o,s(t,e,r)]);break}n=t._cache.length,o=i.concat([o,s(t,e.slice(0,n),r)]),e=e.slice(n)}return o}},6413:(t,e,r)=>{var i=r(7568),n=i.define("Time",(function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})})),s=i.define("AttributeTypeValue",(function(){this.seq().obj(this.key("type").objid(),this.key("value").any())})),o=i.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional(),this.key("curve").objid().optional())})),a=i.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(o),this.key("subjectPublicKey").bitstr())})),h=i.define("RelativeDistinguishedName",(function(){this.setof(s)})),u=i.define("RDNSequence",(function(){this.seqof(h)})),f=i.define("Name",(function(){this.choice({rdnSequence:this.use(u)})})),l=i.define("Validity",(function(){this.seq().obj(this.key("notBefore").use(n),this.key("notAfter").use(n))})),c=i.define("Extension",(function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())})),d=i.define("TBSCertificate",(function(){this.seq().obj(this.key("version").explicit(0).int().optional(),this.key("serialNumber").int(),this.key("signature").use(o),this.key("issuer").use(f),this.key("validity").use(l),this.key("subject").use(f),this.key("subjectPublicKeyInfo").use(a),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof(c).optional())})),p=i.define("X509Certificate",(function(){this.seq().obj(this.key("tbsCertificate").use(d),this.key("signatureAlgorithm").use(o),this.key("signatureValue").bitstr())}));t.exports=p},6427:(t,e,r)=>{var i=r(8393).Buffer,n=i.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function s(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(i.isEncoding===n||!n(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=h,this.end=u,e=4;break;case"utf8":this.fillLast=a,e=4;break;case"base64":this.text=f,this.end=l,e=3;break;default:return this.write=c,void(this.end=d)}this.lastNeed=0,this.lastTotal=0,this.lastChar=i.allocUnsafe(e)}function o(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function a(t){var e=this.lastTotal-this.lastNeed,r=function(t,e){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function h(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var i=r.charCodeAt(r.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function u(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function f(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function l(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function c(t){return t.toString(this.encoding)}function d(t){return t&&t.length?this.write(t):""}e.I=s,s.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0)return n>0&&(t.lastNeed=n-1),n;if(--i=0)return n>0&&(t.lastNeed=n-2),n;if(--i=0)return n>0&&(2===n?n=0:t.lastNeed=n-3),n;return 0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var i=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)},s.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},6458:(t,e,r)=>{r.d(e,{A:()=>P});var i=r(988),n=r(3033),s=r(1565),o=r(7833),a=r(8727),h=r(8179),u=r(9639),f=r(1035),l=r(1314);const c=o("bittorrent-protocol"),d=(0,u.L0)("BitTorrent protocol"),p=new Uint8Array([0,0,0,0]),m=new Uint8Array([0,0,0,1,0]),g=new Uint8Array([0,0,0,1,1]),y=new Uint8Array([0,0,0,1,2]),b=new Uint8Array([0,0,0,1,3]),v=[0,0,0,0,0,0,0,0],w=[0,0,0,3,9,0,0],_=new Uint8Array([0,0,0,1,14]),M=new Uint8Array([0,0,0,1,15]),S=new Uint8Array([0,0,0,0,0,0,0,0]),k=new Uint8Array([0,0,1,2]),E=new Uint8Array([0,0,0,2]);function x(t,e){for(let r=t.length;r--;)t[r]^=e[r];return t}class A{constructor(t,e,r,i){this.piece=t,this.offset=e,this.length=r,this.callback=i}}class I{constructor(){this.buffer=new Uint8Array}get(t){return!0}set(t){}}class T extends h.Duplex{constructor(t=null,e=0,r=!1){super(),this._debugId=(0,u.V5)((0,u.po)(4)),this._debug("new wire"),this.peerId=null,this.peerIdBuffer=null,this.type=t,this.amChoking=!0,this.amInterested=!1,this.peerChoking=!0,this.peerInterested=!1,this.peerPieces=new n.A(0,{grow:4e5}),this.extensions={},this.peerExtensions={},this.requests=[],this.peerRequests=[],this.extendedMapping={},this.peerExtendedMapping={},this.extendedHandshake={},this.peerExtendedHandshake={},this.hasFast=!1,this.allowedFastSet=[],this.peerAllowedFastSet=[],this._ext={},this._nextExt=1,this.uploaded=0,this.downloaded=0,this.uploadSpeed=f(),this.downloadSpeed=f(),this._keepAliveInterval=null,this._timeout=null,this._timeoutMs=0,this._timeoutExpiresAt=null,this._finished=!1,this._parserSize=0,this._parser=null,this._buffer=[],this._bufferSize=0,this._peEnabled=r,r?(this._dh=s.createDiffieHellman("ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a36210000000000090563","hex",2),this._myPubKey=this._dh.generateKeys("hex")):this._myPubKey=null,this._peerPubKey=null,this._sharedSecret=null,this._peerCryptoProvide=[],this._cryptoHandshakeDone=!1,this._cryptoSyncPattern=null,this._waitMaxBytes=null,this._encryptionMethod=null,this._encryptGenerator=null,this._decryptGenerator=null,this._setGenerators=!1,this.once("finish",(()=>this._onFinish())),this.on("finish",this._onFinish),this._debug("type:",this.type),"tcpIncoming"===this.type&&this._peEnabled?this._determineHandshakeType():"tcpOutgoing"===this.type&&this._peEnabled&&0===e?this._parsePe2():this._parseHandshake(null)}setKeepAlive(t){this._debug("setKeepAlive %s",t),clearInterval(this._keepAliveInterval),!1!==t&&(this._keepAliveInterval=setInterval((()=>{this.keepAlive()}),55e3))}setTimeout(t,e){this._debug("setTimeout ms=%d unref=%s",t,e),this._timeoutMs=t,this._timeoutUnref=!!e,this._resetTimeout(!0)}destroy(){if(!this.destroyed)return this._debug("destroy"),this.end(),this}end(t){if(!this.destroyed&&!this.destroying)return this._debug("end"),this._onUninterested(),this._onChoke(),super.end(t)}use(t){const e=t.prototype.name;if(!e)throw new Error('Extension class requires a "name" property on the prototype');this._debug("use extension.name=%s",e);const r=this._nextExt,i=new t(this);function n(){}"function"!=typeof i.onHandshake&&(i.onHandshake=n),"function"!=typeof i.onExtendedHandshake&&(i.onExtendedHandshake=n),"function"!=typeof i.onMessage&&(i.onMessage=n),this.extendedMapping[r]=e,this._ext[e]=i,this[e]=i,this._nextExt+=1}keepAlive(){this._debug("keep-alive"),this._push(p)}sendPe1(){if(this._peEnabled){const t=Math.floor(513*Math.random()),e=(0,u.po)(t);this._push((0,u.xW)([(0,u.fk)(this._myPubKey),e]))}}sendPe2(){const t=Math.floor(513*Math.random()),e=(0,u.po)(t);this._push((0,u.xW)([(0,u.fk)(this._myPubKey),e]))}async sendPe3(t){await this.setEncrypt(this._sharedSecret,t);const e=await(0,u.tW)((0,u.fk)(this._utfToHex("req1")+this._sharedSecret)),r=x(await(0,u.tW)((0,u.fk)(this._utfToHex("req2")+t)),await(0,u.tW)((0,u.fk)(this._utfToHex("req3")+this._sharedSecret))),i=new DataView((0,u.po)(2).buffer).getUint16(0)%512,n=(0,u.po)(i);let s=new Uint8Array(14+i+2);s.set(S),s.set(k,8);const o=new DataView(s.buffer);o.setInt16(12,i),n.copy(s,14),o.setInt16(14+i,0),s=this._encryptHandshake(s),this._push((0,u.xW)([e,r,s]))}async sendPe4(t){await this.setEncrypt(this._sharedSecret,t);const e=new DataView((0,u.po)(2).buffer).getUint16(0)%512,r=(0,u.po)(e);let i=new Uint8Array(14+e);const n=new DataView(i.buffer);i.set(S),i.set(E,8),n.setInt16(12,e),i.set(r,14),i=this._encryptHandshake(i),this._push(i),this._cryptoHandshakeDone=!0,this._debug("completed crypto handshake")}handshake(t,e,r){let i,n;if("string"==typeof t?(t=t.toLowerCase(),i=(0,u.fk)(t)):(i=t,t=(0,u.V5)(i)),"string"==typeof e?n=(0,u.fk)(e):(n=e,e=(0,u.V5)(n)),this._infoHash=i,20!==i.length||20!==n.length)throw new Error("infoHash and peerId MUST have length 20");this._debug("handshake i=%s p=%s exts=%o",t,e,r);const s=new Uint8Array(v);this.extensions={extended:!0,dht:!(!r||!r.dht),fast:!(!r||!r.fast)},s[5]|=16,this.extensions.dht&&(s[7]|=1),this.extensions.fast&&(s[7]|=4),this.extensions.fast&&this.peerExtensions.fast&&(this._debug("fast extension is enabled"),this.hasFast=!0),this._push((0,u.xW)([d,s,i,n])),this._handshakeSent=!0,this.peerExtensions.extended&&!this._extendedHandshakeSent&&this._sendExtendedHandshake()}_sendExtendedHandshake(){const t=Object.assign({},this.extendedHandshake);t.m={};for(const e in this.extendedMapping){const r=this.extendedMapping[e];t.m[r]=Number(e)}this.extended(0,i.A.encode(t)),this._extendedHandshakeSent=!0}choke(){if(!this.amChoking)if(this.amChoking=!0,this._debug("choke"),this._push(m),this.hasFast){let t=0;for(;this.peerRequests.length>t;){const e=this.peerRequests[t];this.allowedFastSet.includes(e.piece)?++t:this.reject(e.piece,e.offset,e.length)}}else for(;this.peerRequests.length;)this.peerRequests.pop()}unchoke(){this.amChoking&&(this.amChoking=!1,this._debug("unchoke"),this._push(g))}interested(){this.amInterested||(this.amInterested=!0,this._debug("interested"),this._push(y))}uninterested(){this.amInterested&&(this.amInterested=!1,this._debug("uninterested"),this._push(b))}have(t){this._debug("have %d",t),this._message(4,[t],null)}bitfield(t){this._debug("bitfield"),ArrayBuffer.isView(t)||(t=t.buffer),this._message(5,[],t)}request(t,e,r,i){return i||(i=()=>{}),this._finished?i(new Error("wire is closed")):!this.peerChoking||this.hasFast&&this.peerAllowedFastSet.includes(t)?(this._debug("request index=%d offset=%d length=%d",t,e,r),this.requests.push(new A(t,e,r,i)),this._timeout||this._resetTimeout(!0),void this._message(6,[t,e,r],null)):i(new Error("peer is choking"))}piece(t,e,r){this._debug("piece index=%d offset=%d",t,e),this._message(7,[t,e],r),this.uploaded+=r.length,this.uploadSpeed(r.length),this.emit("upload",r.length)}cancel(t,e,r){this._debug("cancel index=%d offset=%d length=%d",t,e,r),this._callback(this._pull(this.requests,t,e,r),new Error("request was cancelled"),null),this._message(8,[t,e,r],null)}port(t){this._debug("port %d",t);const e=new Uint8Array(w);new DataView(e.buffer).setUint16(5,t),this._push(e)}suggest(t){if(!this.hasFast)throw Error("fast extension is disabled");this._debug("suggest %d",t),this._message(13,[t],null)}haveAll(){if(!this.hasFast)throw Error("fast extension is disabled");this._debug("have-all"),this._push(_)}haveNone(){if(!this.hasFast)throw Error("fast extension is disabled");this._debug("have-none"),this._push(M)}reject(t,e,r){if(!this.hasFast)throw Error("fast extension is disabled");this._debug("reject index=%d offset=%d length=%d",t,e,r),this._pull(this.peerRequests,t,e,r),this._message(16,[t,e,r],null)}allowedFast(t){if(!this.hasFast)throw Error("fast extension is disabled");this._debug("allowed-fast %d",t),this.allowedFastSet.includes(t)||this.allowedFastSet.push(t),this._message(17,[t],null)}extended(t,e){if(this._debug("extended ext=%s",t),"string"==typeof t&&this.peerExtendedMapping[t]&&(t=this.peerExtendedMapping[t]),"number"!=typeof t)throw new Error(`Unrecognized extension: ${t}`);{const r=new Uint8Array([t]),n=ArrayBuffer.isView(e)?e:i.A.encode(e);this._message(20,[],(0,u.xW)([r,n]))}}async setEncrypt(t,e){let r,i,n,s;switch(this.type){case"tcpIncoming":r=await(0,u.tW)((0,u.fk)(this._utfToHex("keyB")+t+e)),n=await(0,u.tW)((0,u.fk)(this._utfToHex("keyA")+t+e)),i=[];for(const t of r.values())i.push(t);s=[];for(const t of n.values())s.push(t);this._encryptGenerator=new a(i),this._decryptGenerator=new a(s);break;case"tcpOutgoing":r=await(0,u.tW)((0,u.fk)(this._utfToHex("keyA")+t+e)),n=await(0,u.tW)((0,u.fk)(this._utfToHex("keyB")+t+e)),i=[];for(const t of r.values())i.push(t);s=[];for(const t of n.values())s.push(t);this._encryptGenerator=new a(i),this._decryptGenerator=new a(s);break;default:return!1}for(let t=0;t<1024;t++)this._encryptGenerator.randomByte(),this._decryptGenerator.randomByte();return this._setGenerators=!0,!0}_message(t,e,r){const i=r?r.length:0,n=new Uint8Array(5+4*e.length),s=new DataView(n.buffer);s.setUint32(0,n.length+i-4),n[4]=t;for(let t=0;t{if(n===this._pull(this.peerRequests,t,e,r))return i?(this._debug("error satisfying request index=%d offset=%d length=%d (%s)",t,e,r,i.message),void(this.hasFast&&this.reject(t,e,r))):void this.piece(t,e,s)},n=new A(t,e,r,i);this.peerRequests.push(n),this.emit("request",t,e,r,i)}_onPiece(t,e,r){this._debug("got piece index=%d offset=%d",t,e),this._callback(this._pull(this.requests,t,e,r.length),null,r),this.downloaded+=r.length,this.downloadSpeed(r.length),this.emit("download",r.length),this.emit("piece",t,e,r)}_onCancel(t,e,r){this._debug("got cancel index=%d offset=%d length=%d",t,e,r),this._pull(this.peerRequests,t,e,r),this.emit("cancel",t,e,r)}_onPort(t){this._debug("got port %d",t),this.emit("port",t)}_onSuggest(t){if(!this.hasFast)return this._debug("Error: got suggest whereas fast extension is disabled"),void this.destroy();this._debug("got suggest %d",t),this.emit("suggest",t)}_onHaveAll(){if(!this.hasFast)return this._debug("Error: got have-all whereas fast extension is disabled"),void this.destroy();this._debug("got have-all"),this.peerPieces=new I,this.emit("have-all")}_onHaveNone(){if(!this.hasFast)return this._debug("Error: got have-none whereas fast extension is disabled"),void this.destroy();this._debug("got have-none"),this.emit("have-none")}_onReject(t,e,r){if(!this.hasFast)return this._debug("Error: got reject whereas fast extension is disabled"),void this.destroy();this._debug("got reject index=%d offset=%d length=%d",t,e,r),this._callback(this._pull(this.requests,t,e,r),new Error("request was rejected"),null),this.emit("reject",t,e,r)}_onAllowedFast(t){if(!this.hasFast)return this._debug("Error: got allowed-fast whereas fast extension is disabled"),void this.destroy();this._debug("got allowed-fast %d",t),this.peerAllowedFastSet.includes(t)||this.peerAllowedFastSet.push(t),this.peerAllowedFastSet.length>100&&this.peerAllowedFastSet.shift(),this.emit("allowed-fast",t)}_onExtended(t,e){if(0===t){let t;try{t=i.A.decode(e)}catch(t){this._debug("ignoring invalid extended handshake: %s",t.message||t)}if(!t)return;if(this.peerExtendedHandshake=t,"object"==typeof t.m)for(const e in t.m)this.peerExtendedMapping[e]=Number(t.m[e].toString());for(const t in this._ext)this.peerExtendedMapping[t]&&this._ext[t].onExtendedHandshake(this.peerExtendedHandshake);this._debug("got extended handshake"),this.emit("extended","handshake",this.peerExtendedHandshake)}else this.extendedMapping[t]&&(t=this.extendedMapping[t],this._ext[t]&&this._ext[t].onMessage(e)),this._debug("got extended message ext=%s",t),this.emit("extended",t,e)}_onTimeout(){this._debug("request timed out"),this._callback(this.requests.shift(),new Error("request has timed out"),null),this.emit("timeout")}_write(t,e){if(2===this._encryptionMethod&&this._cryptoHandshakeDone&&(t=this._decrypt(t)),this._bufferSize+=t.length,this._buffer.push(t),this._buffer.length>1&&(this._buffer=[(0,u.xW)(this._buffer,this._bufferSize)]),this._cryptoSyncPattern){const e=this._buffer[0].indexOf(this._cryptoSyncPattern);if(-1!==e)this._buffer[0]=this._buffer[0].slice(e+this._cryptoSyncPattern.length),this._bufferSize-=e+this._cryptoSyncPattern.length,this._cryptoSyncPattern=null;else if(this._bufferSize+t.length>this._waitMaxBytes+this._cryptoSyncPattern.length)return this._debug("Error: could not resynchronize"),void this.destroy()}for(;this._bufferSize>=this._parserSize&&!this._cryptoSyncPattern;)if(0===this._parserSize)this._parser(new Uint8Array);else{const t=this._buffer[0];this._bufferSize-=this._parserSize,this._buffer=this._bufferSize?[t.slice(this._parserSize)]:[],this._parser(t.slice(0,this._parserSize))}e(null)}_callback(t,e,r){t&&(this._resetTimeout(!this.peerChoking&&!this._finished),t.callback(e,r))}_resetTimeout(t){if(!t||!this._timeoutMs||!this.requests.length)return clearTimeout(this._timeout),this._timeout=null,void(this._timeoutExpiresAt=null);const e=Date.now()+this._timeoutMs;if(this._timeout){if(e-this._timeoutExpiresAt<.05*this._timeoutMs)return;clearTimeout(this._timeout)}this._timeoutExpiresAt=e,this._timeout=setTimeout((()=>this._onTimeout()),this._timeoutMs),this._timeoutUnref&&this._timeout.unref&&this._timeout.unref()}_parse(t,e){this._parserSize=t,this._parser=e}_parseUntil(t,e){this._cryptoSyncPattern=t,this._waitMaxBytes=e}_onMessageLength(t){const e=new DataView(t.buffer,t.byteOffset,t.byteLength).getUint32(0);e>0?this._parse(e,this._onMessage):(this._onKeepAlive(),this._parse(4,this._onMessageLength))}_onMessage(t){this._parse(4,this._onMessageLength);const e=new DataView(t.buffer,t.byteOffset,t.byteLength);switch(t[0]){case 0:return this._onChoke();case 1:return this._onUnchoke();case 2:return this._onInterested();case 3:return this._onUninterested();case 4:return this._onHave(e.getUint32(1));case 5:return this._onBitField(t.slice(1));case 6:return this._onRequest(e.getUint32(1),e.getUint32(5),e.getUint32(9));case 7:return this._onPiece(e.getUint32(1),e.getUint32(5),t.slice(9));case 8:return this._onCancel(e.getUint32(1),e.getUint32(5),e.getUint32(9));case 9:return this._onPort(e.getUint16(1));case 13:return this._onSuggest(e.getUint32(1));case 14:return this._onHaveAll();case 15:return this._onHaveNone();case 16:return this._onReject(e.getUint32(1),e.getUint32(5),e.getUint32(9));case 17:return this._onAllowedFast(e.getUint32(1));case 20:return this._onExtended(t[1],t.slice(2));default:return this._debug("got unknown message"),this.emit("unknownmessage",t)}}_determineHandshakeType(){this._parse(1,(t=>{const e=t[0];19===e?this._parse(e+48,this._onHandshakeBuffer):this._parsePe1(t)}))}_parsePe1(t){this._parse(95,(e=>{this._onPe1((0,u.xW)([t,e])),this._parsePe3()}))}_parsePe2(){this._parse(96,(t=>{for(this._onPe2(t);!this._setGenerators;);this._parsePe4()}))}async _parsePe3(){const t=await(0,u.tW)((0,u.fk)(this._utfToHex("req1")+this._sharedSecret));this._parseUntil(t,512),this._parse(20,(t=>{for(this._onPe3(t);!this._setGenerators;);this._parsePe3Encrypted()}))}_parsePe3Encrypted(){this._parse(14,(t=>{const e=this._decryptHandshake(t.slice(0,8)),r=this._decryptHandshake(t.slice(8,12)),i=new DataView(this._decryptHandshake(t.slice(12,14)).buffer).getUint16(0);this._parse(i,(t=>{t=this._decryptHandshake(t),this._parse(2,(i=>{const n=new DataView(this._decryptHandshake(i).buffer).getUint16(0);this._parse(n,(i=>{i=this._decryptHandshake(i),this._onPe3Encrypted(e,r,t,i);const s=n?i[0]:null,o=n?i.slice(1,20):null;19===s&&"BitTorrent protocol"===(0,u.dU)(o)?this._onHandshakeBuffer(i.slice(1)):this._parseHandshake()}))}))}))}))}_parsePe4(){const t=this._decryptHandshake(S);this._parseUntil(t,512),this._parse(6,(t=>{const e=this._decryptHandshake(t.slice(0,4)),r=new DataView(this._decryptHandshake(t.slice(4,6)).buffer).getUint16(0);this._parse(r,(t=>{this._decryptHandshake(t),this._onPe4(e),this._parseHandshake(null)}))}))}_parseHandshake(){this._parse(1,(t=>{const e=t[0];if(19!==e)return this._debug("Error: wire not speaking BitTorrent protocol (%s)",e.toString()),void this.end();this._parse(e+48,this._onHandshakeBuffer)}))}_onHandshakeBuffer(t){const e=t.slice(0,19);if("BitTorrent protocol"!==(0,u.dU)(e))return this._debug("Error: wire not speaking BitTorrent protocol (%s)",(0,u.dU)(e)),void this.end();t=t.slice(19),this._onHandshake(t.slice(8,28),t.slice(28,48),{dht:!!(1&t[7]),fast:!!(4&t[7]),extended:!!(16&t[5])}),this._parse(4,this._onMessageLength)}_onFinish(){for(this._finished=!0,this.push(null);this.read(););for(clearInterval(this._keepAliveInterval),this._parse(Number.MAX_VALUE,(()=>{}));this.peerRequests.length;)this.peerRequests.pop();for(;this.requests.length;)this._callback(this.requests.pop(),new Error("wire was closed"),null)}_debug(...t){t[0]=`[${this._debugId}] ${t[0]}`,c(...t)}_pull(t,e,r,i){for(let n=0;n=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function h(t,e,r){var i=a(t,r);return r-1>=e&&(i|=a(t,r-1)<<4),i}function u(t,e,r,i){for(var n=0,s=Math.min(t.length,r),o=e;o=49?a-49+10:a>=17?a-17+10:a}return n}s.isBN=function(t){return t instanceof s||null!==t&&"object"==typeof t&&t.constructor.wordSize===s.wordSize&&Array.isArray(t.words)},s.max=function(t,e){return t.cmp(e)>0?t:e},s.min=function(t,e){return t.cmp(e)<0?t:e},s.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),i(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n=0;n-=3)o=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[s]|=o<>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);else if("le"===r)for(n=0,s=0;n>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);return this.strip()},s.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i=e;i-=2)n=h(t,e,i)<=18?(s-=18,o+=1,this.words[o]|=n>>>26):s+=8;else for(i=(t.length-e)%2==0?e+1:e;i=18?(s-=18,o+=1,this.words[o]|=n>>>26):s+=8;this.strip()},s.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var s=t.length-r,o=s%i,a=Math.min(s,s-o)+r,h=0,f=r;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var f=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],c=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],s=0|e.words[0],o=n*s,a=67108863&o,h=o/67108864|0;r.words[0]=a;for(var u=1;u>>26,l=67108863&h,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(o=(n=0|t.words[p])*(s=0|e.words[d])+l)/67108864|0,l=67108863&o}r.words[u]=0|l,h=0|f}return 0!==h?r.words[u]=0|h:r.length--,r.strip()}s.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var n=0,s=0,o=0;o>>24-n&16777215,(n+=2)>=26&&(n-=26,o--),r=0!==s||o!==this.length-1?f[6-h.length]+h+r:h+r}for(0!==s&&(r=s.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var u=l[t],d=c[t];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);r=(p=p.idivn(d)).isZero()?m+r:f[u-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(t,e){return i(void 0!==o),this.toArrayLike(o,t,e)},s.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},s.prototype.toArrayLike=function(t,e,r){var n=this.byteLength(),s=r||Math.max(1,n);i(n<=s,"byte array longer than desired length"),i(s>0,"Requested array length <= 0"),this.strip();var o,a,h="le"===e,u=new t(s),f=this.clone();if(h){for(a=0;!f.isZero();a++)o=f.andln(255),f.iushrn(8),u[a]=o;for(;a=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},s.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 8191&e||(r+=13,e>>>=13),127&e||(r+=7,e>>>=7),15&e||(r+=4,e>>>=4),3&e||(r+=2,e>>>=2),1&e||r++,r},s.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},s.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},s.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},s.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},s.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},s.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},s.prototype.inotn=function(t){i("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},s.prototype.notn=function(t){return this.clone().inotn(t)},s.prototype.setn=function(t,e){i("number"==typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,s=0;s>>26;for(;0!==n&&s>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;st.length?this.clone().iadd(t):t.clone().iadd(this)},s.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var s=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==s&&o>26,this.words[o]=67108863&e;if(0===s&&o>>13,d=0|o[1],p=8191&d,m=d>>>13,g=0|o[2],y=8191&g,b=g>>>13,v=0|o[3],w=8191&v,_=v>>>13,M=0|o[4],S=8191&M,k=M>>>13,E=0|o[5],x=8191&E,A=E>>>13,I=0|o[6],T=8191&I,P=I>>>13,C=0|o[7],R=8191&C,O=C>>>13,B=0|o[8],L=8191&B,N=B>>>13,j=0|o[9],U=8191&j,q=j>>>13,D=0|a[0],H=8191&D,F=D>>>13,z=0|a[1],$=8191&z,W=z>>>13,K=0|a[2],V=8191&K,Z=K>>>13,G=0|a[3],Y=8191&G,J=G>>>13,X=0|a[4],Q=8191&X,tt=X>>>13,et=0|a[5],rt=8191&et,it=et>>>13,nt=0|a[6],st=8191&nt,ot=nt>>>13,at=0|a[7],ht=8191&at,ut=at>>>13,ft=0|a[8],lt=8191&ft,ct=ft>>>13,dt=0|a[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,H))|0)+((8191&(n=(n=Math.imul(l,F))+Math.imul(c,H)|0))<<13)|0;u=((s=Math.imul(c,F))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,H),n=(n=Math.imul(p,F))+Math.imul(m,H)|0,s=Math.imul(m,F);var yt=(u+(i=i+Math.imul(l,$)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,$)|0))<<13)|0;u=((s=s+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,H),n=(n=Math.imul(y,F))+Math.imul(b,H)|0,s=Math.imul(b,F),i=i+Math.imul(p,$)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,$)|0,s=s+Math.imul(m,W)|0;var bt=(u+(i=i+Math.imul(l,V)|0)|0)+((8191&(n=(n=n+Math.imul(l,Z)|0)+Math.imul(c,V)|0))<<13)|0;u=((s=s+Math.imul(c,Z)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(w,H),n=(n=Math.imul(w,F))+Math.imul(_,H)|0,s=Math.imul(_,F),i=i+Math.imul(y,$)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(b,$)|0,s=s+Math.imul(b,W)|0,i=i+Math.imul(p,V)|0,n=(n=n+Math.imul(p,Z)|0)+Math.imul(m,V)|0,s=s+Math.imul(m,Z)|0;var vt=(u+(i=i+Math.imul(l,Y)|0)|0)+((8191&(n=(n=n+Math.imul(l,J)|0)+Math.imul(c,Y)|0))<<13)|0;u=((s=s+Math.imul(c,J)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(S,H),n=(n=Math.imul(S,F))+Math.imul(k,H)|0,s=Math.imul(k,F),i=i+Math.imul(w,$)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(_,$)|0,s=s+Math.imul(_,W)|0,i=i+Math.imul(y,V)|0,n=(n=n+Math.imul(y,Z)|0)+Math.imul(b,V)|0,s=s+Math.imul(b,Z)|0,i=i+Math.imul(p,Y)|0,n=(n=n+Math.imul(p,J)|0)+Math.imul(m,Y)|0,s=s+Math.imul(m,J)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((s=s+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(x,H),n=(n=Math.imul(x,F))+Math.imul(A,H)|0,s=Math.imul(A,F),i=i+Math.imul(S,$)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(k,$)|0,s=s+Math.imul(k,W)|0,i=i+Math.imul(w,V)|0,n=(n=n+Math.imul(w,Z)|0)+Math.imul(_,V)|0,s=s+Math.imul(_,Z)|0,i=i+Math.imul(y,Y)|0,n=(n=n+Math.imul(y,J)|0)+Math.imul(b,Y)|0,s=s+Math.imul(b,J)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,s=s+Math.imul(m,tt)|0;var _t=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((s=s+Math.imul(c,it)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(T,H),n=(n=Math.imul(T,F))+Math.imul(P,H)|0,s=Math.imul(P,F),i=i+Math.imul(x,$)|0,n=(n=n+Math.imul(x,W)|0)+Math.imul(A,$)|0,s=s+Math.imul(A,W)|0,i=i+Math.imul(S,V)|0,n=(n=n+Math.imul(S,Z)|0)+Math.imul(k,V)|0,s=s+Math.imul(k,Z)|0,i=i+Math.imul(w,Y)|0,n=(n=n+Math.imul(w,J)|0)+Math.imul(_,Y)|0,s=s+Math.imul(_,J)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(b,Q)|0,s=s+Math.imul(b,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,s=s+Math.imul(m,it)|0;var Mt=(u+(i=i+Math.imul(l,st)|0)|0)+((8191&(n=(n=n+Math.imul(l,ot)|0)+Math.imul(c,st)|0))<<13)|0;u=((s=s+Math.imul(c,ot)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(R,H),n=(n=Math.imul(R,F))+Math.imul(O,H)|0,s=Math.imul(O,F),i=i+Math.imul(T,$)|0,n=(n=n+Math.imul(T,W)|0)+Math.imul(P,$)|0,s=s+Math.imul(P,W)|0,i=i+Math.imul(x,V)|0,n=(n=n+Math.imul(x,Z)|0)+Math.imul(A,V)|0,s=s+Math.imul(A,Z)|0,i=i+Math.imul(S,Y)|0,n=(n=n+Math.imul(S,J)|0)+Math.imul(k,Y)|0,s=s+Math.imul(k,J)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,s=s+Math.imul(_,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(b,rt)|0,s=s+Math.imul(b,it)|0,i=i+Math.imul(p,st)|0,n=(n=n+Math.imul(p,ot)|0)+Math.imul(m,st)|0,s=s+Math.imul(m,ot)|0;var St=(u+(i=i+Math.imul(l,ht)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,ht)|0))<<13)|0;u=((s=s+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(L,H),n=(n=Math.imul(L,F))+Math.imul(N,H)|0,s=Math.imul(N,F),i=i+Math.imul(R,$)|0,n=(n=n+Math.imul(R,W)|0)+Math.imul(O,$)|0,s=s+Math.imul(O,W)|0,i=i+Math.imul(T,V)|0,n=(n=n+Math.imul(T,Z)|0)+Math.imul(P,V)|0,s=s+Math.imul(P,Z)|0,i=i+Math.imul(x,Y)|0,n=(n=n+Math.imul(x,J)|0)+Math.imul(A,Y)|0,s=s+Math.imul(A,J)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(k,Q)|0,s=s+Math.imul(k,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(_,rt)|0,s=s+Math.imul(_,it)|0,i=i+Math.imul(y,st)|0,n=(n=n+Math.imul(y,ot)|0)+Math.imul(b,st)|0,s=s+Math.imul(b,ot)|0,i=i+Math.imul(p,ht)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,ht)|0,s=s+Math.imul(m,ut)|0;var kt=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((s=s+Math.imul(c,ct)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(U,H),n=(n=Math.imul(U,F))+Math.imul(q,H)|0,s=Math.imul(q,F),i=i+Math.imul(L,$)|0,n=(n=n+Math.imul(L,W)|0)+Math.imul(N,$)|0,s=s+Math.imul(N,W)|0,i=i+Math.imul(R,V)|0,n=(n=n+Math.imul(R,Z)|0)+Math.imul(O,V)|0,s=s+Math.imul(O,Z)|0,i=i+Math.imul(T,Y)|0,n=(n=n+Math.imul(T,J)|0)+Math.imul(P,Y)|0,s=s+Math.imul(P,J)|0,i=i+Math.imul(x,Q)|0,n=(n=n+Math.imul(x,tt)|0)+Math.imul(A,Q)|0,s=s+Math.imul(A,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(k,rt)|0,s=s+Math.imul(k,it)|0,i=i+Math.imul(w,st)|0,n=(n=n+Math.imul(w,ot)|0)+Math.imul(_,st)|0,s=s+Math.imul(_,ot)|0,i=i+Math.imul(y,ht)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(b,ht)|0,s=s+Math.imul(b,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,s=s+Math.imul(m,ct)|0;var Et=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((s=s+Math.imul(c,mt)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(U,$),n=(n=Math.imul(U,W))+Math.imul(q,$)|0,s=Math.imul(q,W),i=i+Math.imul(L,V)|0,n=(n=n+Math.imul(L,Z)|0)+Math.imul(N,V)|0,s=s+Math.imul(N,Z)|0,i=i+Math.imul(R,Y)|0,n=(n=n+Math.imul(R,J)|0)+Math.imul(O,Y)|0,s=s+Math.imul(O,J)|0,i=i+Math.imul(T,Q)|0,n=(n=n+Math.imul(T,tt)|0)+Math.imul(P,Q)|0,s=s+Math.imul(P,tt)|0,i=i+Math.imul(x,rt)|0,n=(n=n+Math.imul(x,it)|0)+Math.imul(A,rt)|0,s=s+Math.imul(A,it)|0,i=i+Math.imul(S,st)|0,n=(n=n+Math.imul(S,ot)|0)+Math.imul(k,st)|0,s=s+Math.imul(k,ot)|0,i=i+Math.imul(w,ht)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(_,ht)|0,s=s+Math.imul(_,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(b,lt)|0,s=s+Math.imul(b,ct)|0;var xt=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((s=s+Math.imul(m,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(U,V),n=(n=Math.imul(U,Z))+Math.imul(q,V)|0,s=Math.imul(q,Z),i=i+Math.imul(L,Y)|0,n=(n=n+Math.imul(L,J)|0)+Math.imul(N,Y)|0,s=s+Math.imul(N,J)|0,i=i+Math.imul(R,Q)|0,n=(n=n+Math.imul(R,tt)|0)+Math.imul(O,Q)|0,s=s+Math.imul(O,tt)|0,i=i+Math.imul(T,rt)|0,n=(n=n+Math.imul(T,it)|0)+Math.imul(P,rt)|0,s=s+Math.imul(P,it)|0,i=i+Math.imul(x,st)|0,n=(n=n+Math.imul(x,ot)|0)+Math.imul(A,st)|0,s=s+Math.imul(A,ot)|0,i=i+Math.imul(S,ht)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(k,ht)|0,s=s+Math.imul(k,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(_,lt)|0,s=s+Math.imul(_,ct)|0;var At=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(b,pt)|0))<<13)|0;u=((s=s+Math.imul(b,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(U,Y),n=(n=Math.imul(U,J))+Math.imul(q,Y)|0,s=Math.imul(q,J),i=i+Math.imul(L,Q)|0,n=(n=n+Math.imul(L,tt)|0)+Math.imul(N,Q)|0,s=s+Math.imul(N,tt)|0,i=i+Math.imul(R,rt)|0,n=(n=n+Math.imul(R,it)|0)+Math.imul(O,rt)|0,s=s+Math.imul(O,it)|0,i=i+Math.imul(T,st)|0,n=(n=n+Math.imul(T,ot)|0)+Math.imul(P,st)|0,s=s+Math.imul(P,ot)|0,i=i+Math.imul(x,ht)|0,n=(n=n+Math.imul(x,ut)|0)+Math.imul(A,ht)|0,s=s+Math.imul(A,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(k,lt)|0,s=s+Math.imul(k,ct)|0;var It=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;u=((s=s+Math.imul(_,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(U,Q),n=(n=Math.imul(U,tt))+Math.imul(q,Q)|0,s=Math.imul(q,tt),i=i+Math.imul(L,rt)|0,n=(n=n+Math.imul(L,it)|0)+Math.imul(N,rt)|0,s=s+Math.imul(N,it)|0,i=i+Math.imul(R,st)|0,n=(n=n+Math.imul(R,ot)|0)+Math.imul(O,st)|0,s=s+Math.imul(O,ot)|0,i=i+Math.imul(T,ht)|0,n=(n=n+Math.imul(T,ut)|0)+Math.imul(P,ht)|0,s=s+Math.imul(P,ut)|0,i=i+Math.imul(x,lt)|0,n=(n=n+Math.imul(x,ct)|0)+Math.imul(A,lt)|0,s=s+Math.imul(A,ct)|0;var Tt=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(k,pt)|0))<<13)|0;u=((s=s+Math.imul(k,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(U,rt),n=(n=Math.imul(U,it))+Math.imul(q,rt)|0,s=Math.imul(q,it),i=i+Math.imul(L,st)|0,n=(n=n+Math.imul(L,ot)|0)+Math.imul(N,st)|0,s=s+Math.imul(N,ot)|0,i=i+Math.imul(R,ht)|0,n=(n=n+Math.imul(R,ut)|0)+Math.imul(O,ht)|0,s=s+Math.imul(O,ut)|0,i=i+Math.imul(T,lt)|0,n=(n=n+Math.imul(T,ct)|0)+Math.imul(P,lt)|0,s=s+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(x,pt)|0)|0)+((8191&(n=(n=n+Math.imul(x,mt)|0)+Math.imul(A,pt)|0))<<13)|0;u=((s=s+Math.imul(A,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(U,st),n=(n=Math.imul(U,ot))+Math.imul(q,st)|0,s=Math.imul(q,ot),i=i+Math.imul(L,ht)|0,n=(n=n+Math.imul(L,ut)|0)+Math.imul(N,ht)|0,s=s+Math.imul(N,ut)|0,i=i+Math.imul(R,lt)|0,n=(n=n+Math.imul(R,ct)|0)+Math.imul(O,lt)|0,s=s+Math.imul(O,ct)|0;var Ct=(u+(i=i+Math.imul(T,pt)|0)|0)+((8191&(n=(n=n+Math.imul(T,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((s=s+Math.imul(P,mt)|0)+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(U,ht),n=(n=Math.imul(U,ut))+Math.imul(q,ht)|0,s=Math.imul(q,ut),i=i+Math.imul(L,lt)|0,n=(n=n+Math.imul(L,ct)|0)+Math.imul(N,lt)|0,s=s+Math.imul(N,ct)|0;var Rt=(u+(i=i+Math.imul(R,pt)|0)|0)+((8191&(n=(n=n+Math.imul(R,mt)|0)+Math.imul(O,pt)|0))<<13)|0;u=((s=s+Math.imul(O,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(U,lt),n=(n=Math.imul(U,ct))+Math.imul(q,lt)|0,s=Math.imul(q,ct);var Ot=(u+(i=i+Math.imul(L,pt)|0)|0)+((8191&(n=(n=n+Math.imul(L,mt)|0)+Math.imul(N,pt)|0))<<13)|0;u=((s=s+Math.imul(N,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var Bt=(u+(i=Math.imul(U,pt))|0)+((8191&(n=(n=Math.imul(U,mt))+Math.imul(q,pt)|0))<<13)|0;return u=((s=Math.imul(q,mt))+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,h[0]=gt,h[1]=yt,h[2]=bt,h[3]=vt,h[4]=wt,h[5]=_t,h[6]=Mt,h[7]=St,h[8]=kt,h[9]=Et,h[10]=xt,h[11]=At,h[12]=It,h[13]=Tt,h[14]=Pt,h[15]=Ct,h[16]=Rt,h[17]=Ot,h[18]=Bt,0!==u&&(h[19]=u,r.length++),r};function m(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(p=d),s.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?p(this,t,e):i<63?d(this,t,e):i<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,s=0;s>>26)|0)>>>26,o&=67108863}r.words[s]=a,i=o,o=n}return 0!==i?r.words[s]=i:r.length--,r.strip()}(this,t,e):m(this,t,e),r},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=s.prototype._countBits(t)-1,i=0;i>=1;return i},g.prototype.permute=function(t,e,r,i,n,s){for(var o=0;o>>=1)n++;return 1<>>=13,r[2*o+1]=8191&s,s>>>=13;for(o=2*e;o>=26,e+=n/67108864|0,e+=s>>>26,this.words[r]=67108863&s}return 0!==e&&(this.words[r]=e,this.length++),this},s.prototype.muln=function(t){return this.clone().imuln(t)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>n}return e}(t);if(0===e.length)return new s(1);for(var r=this,i=0;i=0);var e,r=t%26,n=(t-r)/26,s=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var s=t%26,o=Math.min((t-s)/26,this.length),a=67108863^67108863>>>s<o)for(this.length-=o,u=0;u=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-s|l>>>s,f=l&a}return h&&0!==f&&(h.words[h.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},s.prototype.shln=function(t){return this.clone().ishln(t)},s.prototype.ushln=function(t){return this.clone().iushln(t)},s.prototype.shrn=function(t){return this.clone().ishrn(t)},s.prototype.ushrn=function(t){return this.clone().iushrn(t)},s.prototype.testn=function(t){i("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},s.prototype.isubn=function(t){if(i("number"==typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(h/67108864|0),this.words[n+r]=67108863&s}for(;n>26,this.words[n+r]=67108863&s;if(0===a)return this.strip();for(i(-1===a),a=0,n=0;n>26,this.words[n]=67108863&s;return this.negative=1,this.strip()},s.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),n=t,o=0|n.words[n.length-1];0!==(r=26-this._countBits(o))&&(n=n.ushln(r),i.iushln(r),o=0|n.words[n.length-1]);var a,h=i.length-n.length;if("mod"!==e){(a=new s(null)).length=h+1,a.words=new Array(a.length);for(var u=0;u=0;l--){var c=67108864*(0|i.words[n.length+l])+(0|i.words[n.length+l-1]);for(c=Math.min(c/o|0,67108863),i._ishlnsubmul(n,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(n,1,l),i.isZero()||(i.negative^=1);a&&(a.words[l]=c)}return a&&a.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:a||null,mod:i}},s.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(n=a.div.neg()),"div"!==e&&(o=a.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:n,mod:o}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(n=a.div.neg()),{div:n,mod:a.mod}):this.negative&t.negative?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(o=a.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:a.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new s(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new s(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new s(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,o,a},s.prototype.div=function(t){return this.divmod(t,"div",!1).div},s.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},s.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},s.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),s=r.cmp(i);return s<0||1===n&&0===s?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},s.prototype.modn=function(t){i(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;n>=0;n--)r=(e*r+(0|this.words[n]))%t;return r},s.prototype.idivn=function(t){i(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},s.prototype.divn=function(t){return this.clone().idivn(t)},s.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n=new s(1),o=new s(0),a=new s(0),h=new s(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var f=r.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;!(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(f),o.isub(l)),n.iushrn(1),o.iushrn(1);for(var p=0,m=1;!(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(a.isOdd()||h.isOdd())&&(a.iadd(f),h.isub(l)),a.iushrn(1),h.iushrn(1);e.cmp(r)>=0?(e.isub(r),n.isub(a),o.isub(h)):(r.isub(e),a.isub(n),h.isub(o))}return{a,b:h,gcd:r.iushln(u)}},s.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n,o=new s(1),a=new s(0),h=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,f=1;!(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)o.isOdd()&&o.iadd(h),o.iushrn(1);for(var l=0,c=1;!(r.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(r.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(h),a.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(a)):(r.isub(e),a.isub(o))}return(n=0===e.cmpn(1)?o:a).cmpn(0)<0&&n.iadd(t),n},s.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var s=e;e=r,r=s}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},s.prototype.invm=function(t){return this.egcd(t).a.umod(t)},s.prototype.isEven=function(){return!(1&this.words[0])},s.prototype.isOdd=function(){return!(1&~this.words[0])},s.prototype.andln=function(t){return this.words[0]&t},s.prototype.bincn=function(t){i("number"==typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,a&=67108863,this.words[o]=a}return 0!==s&&(this.words[o]=s,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},s.prototype.gtn=function(t){return 1===this.cmpn(t)},s.prototype.gt=function(t){return 1===this.cmp(t)},s.prototype.gten=function(t){return this.cmpn(t)>=0},s.prototype.gte=function(t){return this.cmp(t)>=0},s.prototype.ltn=function(t){return-1===this.cmpn(t)},s.prototype.lt=function(t){return-1===this.cmp(t)},s.prototype.lten=function(t){return this.cmpn(t)<=0},s.prototype.lte=function(t){return this.cmp(t)<=0},s.prototype.eqn=function(t){return 0===this.cmpn(t)},s.prototype.eq=function(t){return 0===this.cmp(t)},s.red=function(t){return new S(t)},s.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},s.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(t){return this.red=t,this},s.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},s.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},s.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},s.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},s.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},s.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},s.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},s.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},s.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function b(t,e){this.name=t,this.p=new s(e,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function w(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function S(t){if("string"==typeof t){var e=s._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){S.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var t=new s(null);return t.words=new Array(Math.ceil(this.n/13)),t},b.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},b.prototype.split=function(t,e){t.iushrn(this.n,0,e)},b.prototype.imulK=function(t){return t.imul(this.k)},n(v,b),v.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,s=o}s>>>=22,t.words[n-10]=s,0===s&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},s._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new w;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return y[t]=e,e},S.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},S.prototype._verify2=function(t,e){i(!(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},S.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},S.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},S.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},S.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},S.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},S.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},S.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},S.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},S.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},S.prototype.isqr=function(t){return this.imul(t,t.clone())},S.prototype.sqr=function(t){return this.mul(t,t)},S.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2==1),3===e){var r=this.m.add(new s(1)).iushrn(2);return this.pow(t,r)}for(var n=this.m.subn(1),o=0;!n.isZero()&&0===n.andln(1);)o++,n.iushrn(1);i(!n.isZero());var a=new s(1).toRed(this),h=a.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new s(2*f*f).toRed(this);0!==this.pow(f,u).cmp(h);)f.redIAdd(h);for(var l=this.pow(f,n),c=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=o;0!==d.cmp(a);){for(var m=d,g=0;0!==m.cmp(a);g++)m=m.redSqr();i(g=0;i--){for(var u=e.words[i],f=h-1;f>=0;f--){var l=u>>f&1;n!==r[0]&&(n=this.sqr(n)),0!==l||0!==o?(o<<=1,o|=l,(4===++a||0===i&&0===f)&&(n=this.mul(n,r[o]),a=0,o=0)):a=0}h=26}return n},S.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},S.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},s.mont=function(t){return new k(t)},n(k,S),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),s=n;return n.cmp(this.m)>=0?s=n.isub(this.m):n.cmpn(0)<0&&(s=n.iadd(this.m)),s._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new s(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=r.nmd(t),this)},6532:(t,e,r)=>{function i(t,e,r,i,n,s,o){try{var a=t[s](o),h=a.value}catch(t){return void r(t)}a.done?e(h):Promise.resolve(h).then(i,n)}function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,i)}return r}function s(t,e,r){return(e=function(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,e||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var o=r(113).F.ERR_INVALID_ARG_TYPE;t.exports=function(t,e,r){var a;if(e&&"function"==typeof e.next)a=e;else if(e&&e[Symbol.asyncIterator])a=e[Symbol.asyncIterator]();else{if(!e||!e[Symbol.iterator])throw new o("iterable",["Iterable"],e);a=e[Symbol.iterator]()}var h=new t(function(t){for(var e=1;e{t.exports=Object.getOwnPropertyDescriptor},6556:(t,e,r)=>{var i=r(453),n=r(3126),s=n([i("%String.prototype.indexOf%")]);t.exports=function(t,e){var r=i(t,!!e);return"function"==typeof r&&s(t,".prototype.")>-1?n([r]):r}},6585:t=>{var e=1e3,r=60*e,i=60*r,n=24*i,s=7*n,o=365.25*n;function a(t,e,r,i){var n=e>=1.5*r;return Math.round(t/r)+" "+i+(n?"s":"")}t.exports=function(t,h){h=h||{};var u=typeof t;if("string"===u&&t.length>0)return function(t){if((t=String(t)).length>100)return;var a=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(!a)return;var h=parseFloat(a[1]);switch((a[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return h*o;case"weeks":case"week":case"w":return h*s;case"days":case"day":case"d":return h*n;case"hours":case"hour":case"hrs":case"hr":case"h":return h*i;case"minutes":case"minute":case"mins":case"min":case"m":return h*r;case"seconds":case"second":case"secs":case"sec":case"s":return h*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return h;default:return}}(t);if("number"===u&&isFinite(t))return h.long?function(t){var s=Math.abs(t);if(s>=n)return a(t,s,n,"day");if(s>=i)return a(t,s,i,"hour");if(s>=r)return a(t,s,r,"minute");if(s>=e)return a(t,s,e,"second");return t+" ms"}(t):function(t){var s=Math.abs(t);if(s>=n)return Math.round(t/n)+"d";if(s>=i)return Math.round(t/i)+"h";if(s>=r)return Math.round(t/r)+"m";if(s>=e)return Math.round(t/e)+"s";return t+"ms"}(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))}},6587:t=>{t.exports=function t(e,r){if(e&&r)return t(e)(r);if("function"!=typeof e)throw new TypeError("need wrapper function");return Object.keys(e).forEach((function(t){i[t]=e[t]})),i;function i(){for(var t=new Array(arguments.length),r=0;r{var i=r(717),n=r(3519),s=function(){},o=function(t,e,r){if("function"==typeof e)return o(t,null,e);e||(e={}),r=n(r||s);var a=t._writableState,h=t._readableState,u=e.readable||!1!==e.readable&&t.readable,f=e.writable||!1!==e.writable&&t.writable,l=!1,c=function(){t.writable||d()},d=function(){f=!1,u||r.call(t)},p=function(){u=!1,f||r.call(t)},m=function(e){r.call(t,e?new Error("exited with error code: "+e):null)},g=function(e){r.call(t,e)},y=function(){i.nextTick(b)},b=function(){if(!l)return(!u||h&&h.ended&&!h.destroyed)&&(!f||a&&a.ended&&!a.destroyed)?void 0:r.call(t,new Error("premature close"))},v=function(){t.req.on("finish",d)};return!function(t){return t.setHeader&&"function"==typeof t.abort}(t)?f&&!a&&(t.on("end",c),t.on("close",c)):(t.on("complete",d),t.on("abort",y),t.req?v():t.on("request",v)),function(t){return t.stdio&&Array.isArray(t.stdio)&&3===t.stdio.length}(t)&&t.on("exit",m),t.on("end",p),t.on("finish",d),!1!==e.error&&t.on("error",g),t.on("close",y),function(){l=!0,t.removeListener("complete",d),t.removeListener("abort",y),t.removeListener("request",v),t.req&&t.req.removeListener("finish",d),t.removeListener("end",c),t.removeListener("close",c),t.removeListener("finish",d),t.removeListener("exit",m),t.removeListener("end",p),t.removeListener("error",g),t.removeListener("close",y)}};t.exports=o},6622:t=>{"function"==typeof Object.create?t.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:t.exports=function(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}},6661:(t,e,r)=>{var i=r(7011),n=i.assert,s=i.parseBytes,o=i.cachedProperty;function a(t,e){this.eddsa=t,this._secret=s(e.secret),t.isPoint(e.pub)?this._pub=e.pub:this._pubBytes=s(e.pub)}a.fromPublic=function(t,e){return e instanceof a?e:new a(t,{pub:e})},a.fromSecret=function(t,e){return e instanceof a?e:new a(t,{secret:e})},a.prototype.secret=function(){return this._secret},o(a,"pubBytes",(function(){return this.eddsa.encodePoint(this.pub())})),o(a,"pub",(function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())})),o(a,"privBytes",(function(){var t=this.eddsa,e=this.hash(),r=t.encodingLength-1,i=e.slice(0,t.encodingLength);return i[0]&=248,i[r]&=127,i[r]|=64,i})),o(a,"priv",(function(){return this.eddsa.decodeInt(this.privBytes())})),o(a,"hash",(function(){return this.eddsa.hash().update(this.secret()).digest()})),o(a,"messagePrefix",(function(){return this.hash().slice(this.eddsa.encodingLength)})),a.prototype.sign=function(t){return n(this._secret,"KeyPair can only verify"),this.eddsa.sign(t,this)},a.prototype.verify=function(t,e){return this.eddsa.verify(t,e,this)},a.prototype.getSecret=function(t){return n(this._secret,"KeyPair is public only"),i.encode(this.secret(),t)},a.prototype.getPublic=function(t){return i.encode(this.pubBytes(),t)},t.exports=a},6677:(t,e,r)=>{var i=r(8490),n=r(7011),s=n.getNAF,o=n.getJSF,a=n.assert;function h(t,e){this.type=t,this.p=new i(e.p,16),this.red=e.prime?i.red(e.prime):i.mont(this.p),this.zero=new i(0).toRed(this.red),this.one=new i(1).toRed(this.red),this.two=new i(2).toRed(this.red),this.n=e.n&&new i(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function u(t,e){this.curve=t,this.type=e,this.precomputed=null}t.exports=h,h.prototype.point=function(){throw new Error("Not implemented")},h.prototype.validate=function(){throw new Error("Not implemented")},h.prototype._fixedNafMul=function(t,e){a(t.precomputed);var r=t._getDoubles(),i=s(e,1,this._bitLength),n=(1<=o;f--)h=(h<<1)+i[f];u.push(h)}for(var l=this.jpoint(null,null,null),c=this.jpoint(null,null,null),d=n;d>0;d--){for(o=0;o=0;u--){for(var f=0;u>=0&&0===o[u];u--)f++;if(u>=0&&f++,h=h.dblp(f),u<0)break;var l=o[u];a(0!==l),h="affine"===t.type?l>0?h.mixedAdd(n[l-1>>1]):h.mixedAdd(n[-l-1>>1].neg()):l>0?h.add(n[l-1>>1]):h.add(n[-l-1>>1].neg())}return"affine"===t.type?h.toP():h},h.prototype._wnafMulAdd=function(t,e,r,i,n){var a,h,u,f=this._wnafT1,l=this._wnafT2,c=this._wnafT3,d=0;for(a=0;a=1;a-=2){var m=a-1,g=a;if(1===f[m]&&1===f[g]){var y=[e[m],null,null,e[g]];0===e[m].y.cmp(e[g].y)?(y[1]=e[m].add(e[g]),y[2]=e[m].toJ().mixedAdd(e[g].neg())):0===e[m].y.cmp(e[g].y.redNeg())?(y[1]=e[m].toJ().mixedAdd(e[g]),y[2]=e[m].add(e[g].neg())):(y[1]=e[m].toJ().mixedAdd(e[g]),y[2]=e[m].toJ().mixedAdd(e[g].neg()));var b=[-3,-1,-5,-7,0,7,5,1,3],v=o(r[m],r[g]);for(d=Math.max(v[0].length,d),c[m]=new Array(d),c[g]=new Array(d),h=0;h=0;a--){for(var k=0;a>=0;){var E=!0;for(h=0;h=0&&k++,M=M.dblp(k),a<0)break;for(h=0;h0?u=l[h][x-1>>1]:x<0&&(u=l[h][-x-1>>1].neg()),M="affine"===u.type?M.mixedAdd(u):M.add(u))}}for(a=0;a=Math.ceil((t.bitLength()+1)/e.step)},u.prototype._getDoubles=function(t,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],i=this,n=0;n{},6698:t=>{"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}}},6708:(t,e,r)=>{var i,n=r(717);function s(t){var e=this;this.next=null,this.entry=null,this.finish=function(){!function(t,e,r){var i=t.entry;t.entry=null;for(;i;){var n=i.callback;e.pendingcb--,n(r),i=i.next}e.corkedRequestsFree.next=t}(e,t)}}t.exports=E,E.WritableState=k;var o={deprecate:r(4643)},a=r(1416),h=r(8287).Buffer,u=("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){};var f,l=r(5896),c=r(5291).getHighWaterMark,d=r(113).F,p=d.ERR_INVALID_ARG_TYPE,m=d.ERR_METHOD_NOT_IMPLEMENTED,g=d.ERR_MULTIPLE_CALLBACK,y=d.ERR_STREAM_CANNOT_PIPE,b=d.ERR_STREAM_DESTROYED,v=d.ERR_STREAM_NULL_VALUES,w=d.ERR_STREAM_WRITE_AFTER_END,_=d.ERR_UNKNOWN_ENCODING,M=l.errorOrDestroy;function S(){}function k(t,e,o){i=i||r(5382),t=t||{},"boolean"!=typeof o&&(o=e instanceof i),this.objectMode=!!t.objectMode,o&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=c(this,t,"writableHighWaterMark",o),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var a=!1===t.decodeStrings;this.decodeStrings=!a,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var r=t._writableState,i=r.sync,s=r.writecb;if("function"!=typeof s)throw new g;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(r),e)!function(t,e,r,i,s){--e.pendingcb,r?(n.nextTick(s,i),n.nextTick(C,t,e),t._writableState.errorEmitted=!0,M(t,i)):(s(i),t._writableState.errorEmitted=!0,M(t,i),C(t,e))}(t,r,i,e,s);else{var o=T(r)||t.destroyed;o||r.corked||r.bufferProcessing||!r.bufferedRequest||I(t,r),i?n.nextTick(A,t,r,o,s):A(t,r,o,s)}}(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new s(this)}function E(t){var e=this instanceof(i=i||r(5382));if(!e&&!f.call(E,this))return new E(t);this._writableState=new k(t,this,e),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),a.call(this)}function x(t,e,r,i,n,s,o){e.writelen=i,e.writecb=o,e.writing=!0,e.sync=!0,e.destroyed?e.onwrite(new b("write")):r?t._writev(n,e.onwrite):t._write(n,s,e.onwrite),e.sync=!1}function A(t,e,r,i){r||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}(t,e),e.pendingcb--,i(),C(t,e)}function I(t,e){e.bufferProcessing=!0;var r=e.bufferedRequest;if(t._writev&&r&&r.next){var i=e.bufferedRequestCount,n=new Array(i),o=e.corkedRequestsFree;o.entry=r;for(var a=0,h=!0;r;)n[a]=r,r.isBuf||(h=!1),r=r.next,a+=1;n.allBuffers=h,x(t,e,!0,e.length,n,"",o.finish),e.pendingcb++,e.lastBufferedRequest=null,o.next?(e.corkedRequestsFree=o.next,o.next=null):e.corkedRequestsFree=new s(e),e.bufferedRequestCount=0}else{for(;r;){var u=r.chunk,f=r.encoding,l=r.callback;if(x(t,e,!1,e.objectMode?1:u.length,u,f,l),r=r.next,e.bufferedRequestCount--,e.writing)break}null===r&&(e.lastBufferedRequest=null)}e.bufferedRequest=r,e.bufferProcessing=!1}function T(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function P(t,e){t._final((function(r){e.pendingcb--,r&&M(t,r),e.prefinished=!0,t.emit("prefinish"),C(t,e)}))}function C(t,e){var r=T(e);if(r&&(function(t,e){e.prefinished||e.finalCalled||("function"!=typeof t._final||e.destroyed?(e.prefinished=!0,t.emit("prefinish")):(e.pendingcb++,e.finalCalled=!0,n.nextTick(P,t,e)))}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"),e.autoDestroy))){var i=t._readableState;(!i||i.autoDestroy&&i.endEmitted)&&t.destroy()}return r}r(6698)(E,a),k.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(k.prototype,"buffer",{get:o.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(f=Function.prototype[Symbol.hasInstance],Object.defineProperty(E,Symbol.hasInstance,{value:function(t){return!!f.call(this,t)||this===E&&(t&&t._writableState instanceof k)}})):f=function(t){return t instanceof this},E.prototype.pipe=function(){M(this,new y)},E.prototype.write=function(t,e,r){var i,s=this._writableState,o=!1,a=!s.objectMode&&(i=t,h.isBuffer(i)||i instanceof u);return a&&!h.isBuffer(t)&&(t=function(t){return h.from(t)}(t)),"function"==typeof e&&(r=e,e=null),a?e="buffer":e||(e=s.defaultEncoding),"function"!=typeof r&&(r=S),s.ending?function(t,e){var r=new w;M(t,r),n.nextTick(e,r)}(this,r):(a||function(t,e,r,i){var s;return null===r?s=new v:"string"==typeof r||e.objectMode||(s=new p("chunk",["string","Buffer"],r)),!s||(M(t,s),n.nextTick(i,s),!1)}(this,s,t,r))&&(s.pendingcb++,o=function(t,e,r,i,n,s){if(!r){var o=function(t,e,r){t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=h.from(e,r));return e}(e,i,n);i!==o&&(r=!0,n="buffer",i=o)}var a=e.objectMode?1:i.length;e.length+=a;var u=e.length-1))throw new _(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(E.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(E.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),E.prototype._write=function(t,e,r){r(new m("_write()"))},E.prototype._writev=null,E.prototype.end=function(t,e,r){var i=this._writableState;return"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),i.corked&&(i.corked=1,this.uncork()),i.ending||function(t,e,r){e.ending=!0,C(t,e),r&&(e.finished?n.nextTick(r):t.once("finish",r));e.ended=!0,t.writable=!1}(this,i,r),this},Object.defineProperty(E.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(E.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),E.prototype.destroy=l.destroy,E.prototype._undestroy=l.undestroy,E.prototype._destroy=function(t,e){e(t)}},6710:(t,e,r)=>{var i=r(6698),n=r(4107),s=r(392),o=r(2861).Buffer,a=new Array(64);function h(){this.init(),this._w=a,s.call(this,64,56)}i(h,n),h.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},h.prototype._hash=function(){var t=o.allocUnsafe(28);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t},t.exports=h},6729:(t,e,r)=>{var i=e;i.version=r(1636).rE,i.utils=r(7011),i.rand=r(5037),i.curve=r(894),i.curves=r(480),i.ec=r(7447),i.eddsa=r(8650)},6743:(t,e,r)=>{var i=r(9353);t.exports=Function.prototype.bind||i},6784:(t,e,r)=>{var i=r(7426),n=r(6166),s=i.rotl32,o=i.sum32,a=i.sum32_3,h=i.sum32_4,u=n.BlockHash;function f(){if(!(this instanceof f))return new f;u.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function l(t,e,r,i){return t<=15?e^r^i:t<=31?e&r|~e&i:t<=47?(e|~r)^i:t<=63?e&i|r&~i:e^(r|~i)}function c(t){return t<=15?0:t<=31?1518500249:t<=47?1859775393:t<=63?2400959708:2840853838}function d(t){return t<=15?1352829926:t<=31?1548603684:t<=47?1836072691:t<=63?2053994217:0}i.inherits(f,u),e.ripemd160=f,f.blockSize=512,f.outSize=160,f.hmacStrength=192,f.padLength=64,f.prototype._update=function(t,e){for(var r=this.h[0],i=this.h[1],n=this.h[2],u=this.h[3],f=this.h[4],b=r,v=i,w=n,_=u,M=f,S=0;S<80;S++){var k=o(s(h(r,l(S,i,n,u),t[p[S]+e],c(S)),g[S]),f);r=f,f=u,u=s(n,10),n=i,i=k,k=o(s(h(b,l(79-S,v,w,_),t[m[S]+e],d(S)),y[S]),M),b=M,M=_,_=s(w,10),w=v,v=k}k=a(this.h[1],n,_),this.h[1]=a(this.h[2],u,M),this.h[2]=a(this.h[3],f,b),this.h[3]=a(this.h[4],r,v),this.h[4]=a(this.h[0],i,w),this.h[0]=k},f.prototype._digest=function(t){return"hex"===t?i.toHex32(this.h,"little"):i.split32(this.h,"little")};var p=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],m=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],g=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],y=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},6814:(t,e,r)=>{var i=r(8287).Buffer;const{digitCount:n,getType:s}=r(7972);function o(t){if(null==t)return 0;const e=s(t);switch(e){case"buffer":return n(t.length)+1+t.length;case"arraybufferview":return function(t){const e=t.byteLength-t.byteOffset;return n(e)+1+e}(t);case"string":return function(t){const e=i.byteLength(t);return n(e)+1+e}(t);case"array":case"set":return function(t){let e=2;for(const r of t)e+=o(r);return e}(t);case"number":return 1+n(Math.floor(t))+1;case"bigint":return 1+t.toString().length+1;case"object":return function(t){let e=2;const r=Object.keys(t);for(let s=0;s{t.exports=r(8330).version},6843:(t,e,r)=>{var i=r(8287).Buffer,n=r(295);function s(t){return t._prev=t._cipher.encryptBlock(t._prev),t._prev}e.encrypt=function(t,e){for(;t._cache.length{},6975:(t,e,r)=>{var i=r(2861).Buffer;function n(t,e,r){var n=t._cipher.encryptBlock(t._prev)[0]^e;return t._prev=i.concat([t._prev.slice(1),i.from([r?e:n])]),n}e.encrypt=function(t,e,r){for(var s=e.length,o=i.allocUnsafe(s),a=-1;++a{var i=r(717);function n(){throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}var s=r(2861),o=r(3209),a=s.Buffer,h=s.kMaxLength,u=globalThis.crypto||globalThis.msCrypto,f=Math.pow(2,32)-1;function l(t,e){if("number"!=typeof t||t!=t)throw new TypeError("offset must be a number");if(t>f||t<0)throw new TypeError("offset must be a uint32");if(t>h||t>e)throw new RangeError("offset out of range")}function c(t,e,r){if("number"!=typeof t||t!=t)throw new TypeError("size must be a number");if(t>f||t<0)throw new TypeError("size must be a uint32");if(t+e>r||t>h)throw new RangeError("buffer too small")}function d(t,e,r,n){if(i.browser){var s=t.buffer,a=new Uint8Array(s,e,r);return u.getRandomValues(a),n?void i.nextTick((function(){n(null,t)})):t}if(!n)return o(r).copy(t,e),t;o(r,(function(r,i){if(r)return n(r);i.copy(t,e),n(null,t)}))}u&&u.getRandomValues||!i.browser?(e.randomFill=function(t,e,r,i){if(!(a.isBuffer(t)||t instanceof globalThis.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"==typeof e)i=e,e=0,r=t.length;else if("function"==typeof r)i=r,r=t.length-e;else if("function"!=typeof i)throw new TypeError('"cb" argument must be a function');return l(e,t.length),c(r,e,t.length),d(t,e,r,i)},e.randomFillSync=function(t,e,r){void 0===e&&(e=0);if(!(a.isBuffer(t)||t instanceof globalThis.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');l(e,t.length),void 0===r&&(r=t.length-e);return c(r,e,t.length),d(t,e,r)}):(e.randomFill=n,e.randomFillSync=n)},7007:t=>{var e=Object.create||function(t){var e=function(){};return e.prototype=t,new e},r=Object.keys||function(t){var e=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.push(r);return r},i=Function.prototype.bind||function(t){var e=this;return function(){return e.apply(t,arguments)}};function n(){this._events&&Object.prototype.hasOwnProperty.call(this,"_events")||(this._events=e(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0}t.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0;var s,o=10;try{var a={};Object.defineProperty&&Object.defineProperty(a,"x",{value:0}),s=0===a.x}catch(t){s=!1}function h(t){return void 0===t._maxListeners?n.defaultMaxListeners:t._maxListeners}function u(t,r,i,n){var s,o,a;if("function"!=typeof i)throw new TypeError('"listener" argument must be a function');if((o=t._events)?(o.newListener&&(t.emit("newListener",r,i.listener?i.listener:i),o=t._events),a=o[r]):(o=t._events=e(null),t._eventsCount=0),a){if("function"==typeof a?a=o[r]=n?[i,a]:[a,i]:n?a.unshift(i):a.push(i),!a.warned&&(s=h(t))&&s>0&&a.length>s){a.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+a.length+' "'+String(r)+'" listeners added. Use emitter.setMaxListeners() to increase limit.');u.name="MaxListenersExceededWarning",u.emitter=t,u.type=r,u.count=a.length,"object"==typeof console&&console.warn&&console.warn("%s: %s",u.name,u.message)}}else a=o[r]=i,++t._eventsCount;return t}function f(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var t=new Array(arguments.length),e=0;e1&&(e=arguments[1]),e instanceof Error)throw e;var h=new Error('Unhandled "error" event. ('+e+")");throw h.context=e,h}if(!(r=o[t]))return!1;var u="function"==typeof r;switch(i=arguments.length){case 1:!function(t,e,r){if(e)t.call(r);else for(var i=t.length,n=p(t,i),s=0;s=0;o--)if(i[o]===r||i[o].listener===r){a=i[o].listener,s=o;break}if(s<0)return this;0===s?i.shift():function(t,e){for(var r=e,i=r+1,n=t.length;i=0;s--)this.removeListener(t,i[s]);return this},n.prototype.listeners=function(t){return c(this,t,!0)},n.prototype.rawListeners=function(t){return c(this,t,!1)},n.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):d.call(t,e)},n.prototype.listenerCount=d,n.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]}},7011:(t,e,r)=>{var i=e,n=r(8490),s=r(3349),o=r(4367);i.assert=s,i.toArray=o.toArray,i.zero2=o.zero2,i.toHex=o.toHex,i.encode=o.encode,i.getNAF=function(t,e,r){var i,n=new Array(Math.max(t.bitLength(),r)+1);for(i=0;i(s>>1)-1?(s>>1)-h:h,o.isubn(a)):a=0,n[i]=a,o.iushrn(1)}return n},i.getJSF=function(t,e){var r=[[],[]];t=t.clone(),e=e.clone();for(var i,n=0,s=0;t.cmpn(-n)>0||e.cmpn(-s)>0;){var o,a,h=t.andln(3)+n&3,u=e.andln(3)+s&3;3===h&&(h=-1),3===u&&(u=-1),o=1&h?3!==(i=t.andln(7)+n&7)&&5!==i||2!==u?h:-h:0,r[0].push(o),a=1&u?3!==(i=e.andln(7)+s&7)&&5!==i||2!==h?u:-u:0,r[1].push(a),2*n===o+1&&(n=1-n),2*s===a+1&&(s=1-s),t.iushrn(1),e.iushrn(1)}return r},i.cachedProperty=function(t,e,r){var i="_"+e;t.prototype[e]=function(){return void 0!==this[i]?this[i]:this[i]=r.call(this)}},i.parseBytes=function(t){return"string"==typeof t?i.toArray(t,"hex"):t},i.intFromLE=function(t){return new n(t,"hex","le")}},7042:(t,e,r)=>{var i=r(8287).Buffer;function n(t){return i.isBuffer(t)?t:i.from(t.buffer,t.byteOffset,t.byteLength)}t.exports={isBuffer:function(t){return i.isBuffer(t)||t instanceof Uint8Array},isEncoding:function(t){return i.isEncoding(t)},alloc:function(t,e,r){return i.alloc(t,e,r)},allocUnsafe:function(t){return i.allocUnsafe(t)},allocUnsafeSlow:function(t){return i.allocUnsafeSlow(t)},byteLength:function(t,e){return i.byteLength(t,e)},compare:function(t,e){return i.compare(t,e)},concat:function(t,e){return i.concat(t,e)},copy:function(t,e,r,i,s){return n(t).copy(e,r,i,s)},equals:function(t,e){return n(t).equals(e)},fill:function(t,e,r,i,s){return n(t).fill(e,r,i,s)},from:function(t,e,r){return i.from(t,e,r)},includes:function(t,e,r,i){return n(t).includes(e,r,i)},indexOf:function(t,e,r,i){return n(t).indexOf(e,r,i)},lastIndexOf:function(t,e,r,i){return n(t).lastIndexOf(e,r,i)},swap16:function(t){return n(t).swap16()},swap32:function(t){return n(t).swap32()},swap64:function(t){return n(t).swap64()},toBuffer:n,toString:function(t,e,r,i){return n(t).toString(e,r,i)},write:function(t,e,r,i,s){return n(t).write(e,r,i,s)},writeDoubleLE:function(t,e,r){return n(t).writeDoubleLE(e,r)},writeFloatLE:function(t,e,r){return n(t).writeFloatLE(e,r)},writeUInt32LE:function(t,e,r){return n(t).writeUInt32LE(e,r)},writeInt32LE:function(t,e,r){return n(t).writeInt32LE(e,r)},readDoubleLE:function(t,e){return n(t).readDoubleLE(e)},readFloatLE:function(t,e){return n(t).readFloatLE(e)},readUInt32LE:function(t,e){return n(t).readUInt32LE(e)},readInt32LE:function(t,e){return n(t).readInt32LE(e)},writeDoubleBE:function(t,e,r){return n(t).writeDoubleBE(e,r)},writeFloatBE:function(t,e,r){return n(t).writeFloatBE(e,r)},writeUInt32BE:function(t,e,r){return n(t).writeUInt32BE(e,r)},writeInt32BE:function(t,e,r){return n(t).writeInt32BE(e,r)},readDoubleBE:function(t,e){return n(t).readDoubleBE(e)},readFloatBE:function(t,e){return n(t).readFloatBE(e)},readUInt32BE:function(t,e){return n(t).readUInt32BE(e)},readInt32BE:function(t,e){return n(t).readInt32BE(e)}}},7103:function(t,e,r){var i="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||window,n=Function.prototype.apply;function s(t,e){this._id=t,this._clearFn=e}e.setTimeout=function(){return new s(n.call(setTimeout,i,arguments),clearTimeout)},e.setInterval=function(){return new s(n.call(setInterval,i,arguments),clearInterval)},e.clearTimeout=e.clearInterval=function(t){t&&t.close()},s.prototype.unref=s.prototype.ref=function(){},s.prototype.close=function(){this._clearFn.call(i,this._id)},e.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},e.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},e._unrefActive=e.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout((function(){t._onTimeout&&t._onTimeout()}),e))},r(2791),e.setImmediate="undefined"!=typeof self&&self.setImmediate||"undefined"!=typeof globalThis&&globalThis.setImmediate||this&&this.setImmediate,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||"undefined"!=typeof globalThis&&globalThis.clearImmediate||this&&this.clearImmediate},7108:(t,e,r)=>{var i=r(6698),n=r(8276),s=r(6011),o=r(2802),a=r(6168);function h(t){a.call(this,"digest"),this._hash=t}i(h,a),h.prototype._update=function(t){this._hash.update(t)},h.prototype._final=function(){return this._hash.digest()},t.exports=function(t){return"md5"===(t=t.toLowerCase())?new n:"rmd160"===t||"ripemd160"===t?new s:new h(o(t))}},7119:t=>{t.exports="undefined"!=typeof Reflect&&Reflect&&Reflect.apply},7168:(t,e,r)=>{e.publicEncrypt=r(8902),e.privateDecrypt=r(7362),e.privateEncrypt=function(t,r){return e.publicEncrypt(t,r,!0)},e.publicDecrypt=function(t,r){return e.privateDecrypt(t,r,!0)}},7176:(t,e,r)=>{var i,n=r(3126),s=r(5795);try{i=[].__proto__===Array.prototype}catch(t){if(!t||"object"!=typeof t||!("code"in t)||"ERR_PROTO_ACCESS"!==t.code)throw t}var o=!!i&&s&&s(Object.prototype,"__proto__"),a=Object,h=a.getPrototypeOf;t.exports=o&&"function"==typeof o.get?n([o.get]):"function"==typeof h&&function(t){return h(null==t?t:a(t))}},7180:t=>{function e(t){}t.exports=function(t){var r=null,i=null,n=null,s=null;return function(t,r){s=t,o(r||e)};function o(e){if(i)return r||(r=[]),void r.push(e);var n=s;s=null,i=e,t(n,a)}function a(t){var s=i,a=n;if(n=null,i=null,r&&(n=r,r=null,o(e)),a)for(var h=0;h{e.decode=e.parse=r(1630),e.encode=e.stringify=r(9106)},7227:(t,e,r)=>{var i=r(6698),n=r(9673).Reporter,s=r(8287).Buffer;function o(t,e){n.call(this,e),s.isBuffer(t)?(this.base=t,this.offset=0,this.length=t.length):this.error("Input not Buffer")}function a(t,e){if(Array.isArray(t))this.length=0,this.value=t.map((function(t){return t instanceof a||(t=new a(t,e)),this.length+=t.length,t}),this);else if("number"==typeof t){if(!(0<=t&&t<=255))return e.error("non-byte EncoderBuffer value");this.value=t,this.length=1}else if("string"==typeof t)this.value=t,this.length=s.byteLength(t);else{if(!s.isBuffer(t))return e.error("Unsupported type: "+typeof t);this.value=t,this.length=t.length}}i(o,n),e.t=o,o.prototype.save=function(){return{offset:this.offset,reporter:n.prototype.save.call(this)}},o.prototype.restore=function(t){var e=new o(this.base);return e.offset=t.offset,e.length=this.offset,this.offset=t.offset,n.prototype.restore.call(this,t.reporter),e},o.prototype.isEmpty=function(){return this.offset===this.length},o.prototype.readUInt8=function(t){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(t||"DecoderBuffer overrun")},o.prototype.skip=function(t,e){if(!(this.offset+t<=this.length))return this.error(e||"DecoderBuffer overrun");var r=new o(this.base);return r._reporterState=this._reporterState,r.offset=this.offset,r.length=this.offset+t,this.offset+=t,r},o.prototype.raw=function(t){return this.base.slice(t?t.offset:this.offset,this.length)},e.d=a,a.prototype.join=function(t,e){return t||(t=new s(this.length)),e||(e=0),0===this.length||(Array.isArray(this.value)?this.value.forEach((function(r){r.join(t,e),e+=r.length})):("number"==typeof this.value?t[e]=this.value:"string"==typeof this.value?t.write(this.value,e):s.isBuffer(this.value)&&this.value.copy(t,e),e+=this.length)),t}},7266:(t,e,r)=>{var i=r(3549);function n(t){return i.existsSync(t)&&i.statSync(t).isFile()}t.exports=function(t,e){if(!e)return n(t);i.stat(t,(function(t,r){return t?e(t):e(null,r.isFile())}))},t.exports.sync=n},7314:(t,e,r)=>{var i=r(717),n=r(3225);function s(t){var e=this;this.next=null,this.entry=null,this.finish=function(){!function(t,e,r){var i=t.entry;t.entry=null;for(;i;){var n=i.callback;e.pendingcb--,n(r),i=i.next}e.corkedRequestsFree.next=t}(e,t)}}t.exports=y;var o,a=!i.browser&&["v0.10","v0.9."].indexOf(i.version.slice(0,5))>-1?setImmediate:n.nextTick;y.WritableState=g;var h=Object.create(r(5622));h.inherits=r(6698);var u={deprecate:r(4643)},f=r(1862),l=r(4116).Buffer,c=("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){};var d,p=r(6278);function m(){}function g(t,e){o=o||r(6248),t=t||{};var i=e instanceof o;this.objectMode=!!t.objectMode,i&&(this.objectMode=this.objectMode||!!t.writableObjectMode);var h=t.highWaterMark,u=t.writableHighWaterMark,f=this.objectMode?16:16384;this.highWaterMark=h||0===h?h:i&&(u||0===u)?u:f,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var l=!1===t.decodeStrings;this.decodeStrings=!l,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var r=t._writableState,i=r.sync,s=r.writecb;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(r),e)!function(t,e,r,i,s){--e.pendingcb,r?(n.nextTick(s,i),n.nextTick(S,t,e),t._writableState.errorEmitted=!0,t.emit("error",i)):(s(i),t._writableState.errorEmitted=!0,t.emit("error",i),S(t,e))}(t,r,i,e,s);else{var o=_(r);o||r.corked||r.bufferProcessing||!r.bufferedRequest||w(t,r),i?a(v,t,r,o,s):v(t,r,o,s)}}(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new s(this)}function y(t){if(o=o||r(6248),!(d.call(y,this)||this instanceof o))return new y(t);this._writableState=new g(t,this),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),f.call(this)}function b(t,e,r,i,n,s,o){e.writelen=i,e.writecb=o,e.writing=!0,e.sync=!0,r?t._writev(n,e.onwrite):t._write(n,s,e.onwrite),e.sync=!1}function v(t,e,r,i){r||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}(t,e),e.pendingcb--,i(),S(t,e)}function w(t,e){e.bufferProcessing=!0;var r=e.bufferedRequest;if(t._writev&&r&&r.next){var i=e.bufferedRequestCount,n=new Array(i),o=e.corkedRequestsFree;o.entry=r;for(var a=0,h=!0;r;)n[a]=r,r.isBuf||(h=!1),r=r.next,a+=1;n.allBuffers=h,b(t,e,!0,e.length,n,"",o.finish),e.pendingcb++,e.lastBufferedRequest=null,o.next?(e.corkedRequestsFree=o.next,o.next=null):e.corkedRequestsFree=new s(e),e.bufferedRequestCount=0}else{for(;r;){var u=r.chunk,f=r.encoding,l=r.callback;if(b(t,e,!1,e.objectMode?1:u.length,u,f,l),r=r.next,e.bufferedRequestCount--,e.writing)break}null===r&&(e.lastBufferedRequest=null)}e.bufferedRequest=r,e.bufferProcessing=!1}function _(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function M(t,e){t._final((function(r){e.pendingcb--,r&&t.emit("error",r),e.prefinished=!0,t.emit("prefinish"),S(t,e)}))}function S(t,e){var r=_(e);return r&&(!function(t,e){e.prefinished||e.finalCalled||("function"==typeof t._final?(e.pendingcb++,e.finalCalled=!0,n.nextTick(M,t,e)):(e.prefinished=!0,t.emit("prefinish")))}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"))),r}h.inherits(y,f),g.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(g.prototype,"buffer",{get:u.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(d=Function.prototype[Symbol.hasInstance],Object.defineProperty(y,Symbol.hasInstance,{value:function(t){return!!d.call(this,t)||this===y&&(t&&t._writableState instanceof g)}})):d=function(t){return t instanceof this},y.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},y.prototype.write=function(t,e,r){var i,s=this._writableState,o=!1,a=!s.objectMode&&(i=t,l.isBuffer(i)||i instanceof c);return a&&!l.isBuffer(t)&&(t=function(t){return l.from(t)}(t)),"function"==typeof e&&(r=e,e=null),a?e="buffer":e||(e=s.defaultEncoding),"function"!=typeof r&&(r=m),s.ended?function(t,e){var r=new Error("write after end");t.emit("error",r),n.nextTick(e,r)}(this,r):(a||function(t,e,r,i){var s=!0,o=!1;return null===r?o=new TypeError("May not write null values to stream"):"string"==typeof r||void 0===r||e.objectMode||(o=new TypeError("Invalid non-string/buffer chunk")),o&&(t.emit("error",o),n.nextTick(i,o),s=!1),s}(this,s,t,r))&&(s.pendingcb++,o=function(t,e,r,i,n,s){if(!r){var o=function(t,e,r){t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=l.from(e,r));return e}(e,i,n);i!==o&&(r=!0,n="buffer",i=o)}var a=e.objectMode?1:i.length;e.length+=a;var h=e.length-1))throw new TypeError("Unknown encoding: "+t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(y.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),y.prototype._write=function(t,e,r){r(new Error("_write() is not implemented"))},y.prototype._writev=null,y.prototype.end=function(t,e,r){var i=this._writableState;"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),i.corked&&(i.corked=1,this.uncork()),i.ending||function(t,e,r){e.ending=!0,S(t,e),r&&(e.finished?n.nextTick(r):t.once("finish",r));e.ended=!0,t.writable=!1}(this,i,r)},Object.defineProperty(y.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),y.prototype.destroy=p.destroy,y.prototype._undestroy=p.undestroy,y.prototype._destroy=function(t,e){this.end(),e(t)}},7332:(t,e,r)=>{var i=r(9404),n=r(3209),s=r(2861).Buffer;function o(t){var e,r=t.modulus.byteLength();do{e=new i(n(r))}while(e.cmp(t.modulus)>=0||!e.umod(t.prime1)||!e.umod(t.prime2));return e}function a(t,e){var r=function(t){var e=o(t);return{blinder:e.toRed(i.mont(t.modulus)).redPow(new i(t.publicExponent)).fromRed(),unblinder:e.invm(t.modulus)}}(e),n=e.modulus.byteLength(),a=new i(t).mul(r.blinder).umod(e.modulus),h=a.toRed(i.mont(e.prime1)),u=a.toRed(i.mont(e.prime2)),f=e.coefficient,l=e.prime1,c=e.prime2,d=h.redPow(e.exponent1).fromRed(),p=u.redPow(e.exponent2).fromRed(),m=d.isub(p).imul(f).umod(l).imul(c);return p.iadd(m).imul(r.unblinder).umod(e.modulus).toArrayLike(s,"be",n)}a.getr=o,t.exports=a},7362:(t,e,r)=>{var i=r(8170),n=r(8206),s=r(2061),o=r(2509),a=r(7332),h=r(7108),u=r(9247),f=r(2861).Buffer;t.exports=function(t,e,r){var l;l=t.padding?t.padding:r?1:4;var c,d=i(t),p=d.modulus.byteLength();if(e.length>p||new o(e).cmp(d.modulus)>=0)throw new Error("decryption error");c=r?u(new o(e),d):a(e,d);var m=f.alloc(p-c.length);if(c=f.concat([m,c],p),4===l)return function(t,e){var r=t.modulus.byteLength(),i=h("sha1").update(f.alloc(0)).digest(),o=i.length;if(0!==e[0])throw new Error("decryption error");var a=e.slice(1,o+1),u=e.slice(o+1),l=s(a,n(u,o)),c=s(u,n(l,r-o-1));if(function(t,e){t=f.from(t),e=f.from(e);var r=0,i=t.length;t.length!==e.length&&(r++,i=Math.min(t.length,e.length));var n=-1;for(;++n=e.length){s++;break}var o=e.slice(2,n-1);("0002"!==i.toString("hex")&&!r||"0001"!==i.toString("hex")&&r)&&s++;o.length<8&&s++;if(s)throw new Error("decryption error");return e.slice(n)}(0,c,r);if(3===l)return c;throw new Error("unknown padding")}},7363:(t,e,r)=>{var i=r(7568),n=r(6698);function s(t,e){this.name=t,this.body=e,this.decoders={},this.encoders={}}e.define=function(t,e){return new s(t,e)},s.prototype._createNamed=function(t){var e;try{e=Object(function(){var t=new Error("Cannot find module 'vm'");throw t.code="MODULE_NOT_FOUND",t}())("(function "+this.name+"(entity) {\n this._initNamed(entity);\n})")}catch(t){e=function(t){this._initNamed(t)}}return n(e,t),e.prototype._initNamed=function(e){t.call(this,e)},new e(this)},s.prototype._getDecoder=function(t){return t=t||"der",this.decoders.hasOwnProperty(t)||(this.decoders[t]=this._createNamed(i.decoders[t])),this.decoders[t]},s.prototype.decode=function(t,e,r){return this._getDecoder(e).decode(t,r)},s.prototype._getEncoder=function(t){return t=t||"der",this.encoders.hasOwnProperty(t)||(this.encoders[t]=this._createNamed(i.encoders[t])),this.encoders[t]},s.prototype.encode=function(t,e,r){return this._getEncoder(e).encode(t,r)}},7373:t=>{t.exports=function(t){var e=0;return function(){if(e===t.length)return null;var r=t.length-e,i=Math.random()*r|0,n=t[e+i],s=t[e];return t[e]=n,t[e+i]=s,e++,n}}},7426:(t,e,r)=>{var i=r(3349),n=r(6698);function s(t,e){return 55296==(64512&t.charCodeAt(e))&&(!(e<0||e+1>=t.length)&&56320==(64512&t.charCodeAt(e+1)))}function o(t){return(t>>>24|t>>>8&65280|t<<8&16711680|(255&t)<<24)>>>0}function a(t){return 1===t.length?"0"+t:t}function h(t){return 7===t.length?"0"+t:6===t.length?"00"+t:5===t.length?"000"+t:4===t.length?"0000"+t:3===t.length?"00000"+t:2===t.length?"000000"+t:1===t.length?"0000000"+t:t}e.inherits=n,e.toArray=function(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if("string"==typeof t)if(e){if("hex"===e)for((t=t.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(t="0"+t),n=0;n>6|192,r[i++]=63&o|128):s(t,n)?(o=65536+((1023&o)<<10)+(1023&t.charCodeAt(++n)),r[i++]=o>>18|240,r[i++]=o>>12&63|128,r[i++]=o>>6&63|128,r[i++]=63&o|128):(r[i++]=o>>12|224,r[i++]=o>>6&63|128,r[i++]=63&o|128)}else for(n=0;n>>0}return o},e.split32=function(t,e){for(var r=new Array(4*t.length),i=0,n=0;i>>24,r[n+1]=s>>>16&255,r[n+2]=s>>>8&255,r[n+3]=255&s):(r[n+3]=s>>>24,r[n+2]=s>>>16&255,r[n+1]=s>>>8&255,r[n]=255&s)}return r},e.rotr32=function(t,e){return t>>>e|t<<32-e},e.rotl32=function(t,e){return t<>>32-e},e.sum32=function(t,e){return t+e>>>0},e.sum32_3=function(t,e,r){return t+e+r>>>0},e.sum32_4=function(t,e,r,i){return t+e+r+i>>>0},e.sum32_5=function(t,e,r,i,n){return t+e+r+i+n>>>0},e.sum64=function(t,e,r,i){var n=t[e],s=i+t[e+1]>>>0,o=(s>>0,t[e+1]=s},e.sum64_hi=function(t,e,r,i){return(e+i>>>0>>0},e.sum64_lo=function(t,e,r,i){return e+i>>>0},e.sum64_4_hi=function(t,e,r,i,n,s,o,a){var h=0,u=e;return h+=(u=u+i>>>0)>>0)>>0)>>0},e.sum64_4_lo=function(t,e,r,i,n,s,o,a){return e+i+s+a>>>0},e.sum64_5_hi=function(t,e,r,i,n,s,o,a,h,u){var f=0,l=e;return f+=(l=l+i>>>0)>>0)>>0)>>0)>>0},e.sum64_5_lo=function(t,e,r,i,n,s,o,a,h,u){return e+i+s+a+u>>>0},e.rotr64_hi=function(t,e,r){return(e<<32-r|t>>>r)>>>0},e.rotr64_lo=function(t,e,r){return(t<<32-r|e>>>r)>>>0},e.shr64_hi=function(t,e,r){return t>>>r},e.shr64_lo=function(t,e,r){return(t<<32-r|e>>>r)>>>0}},7447:(t,e,r)=>{var i=r(8490),n=r(2723),s=r(7011),o=r(480),a=r(5037),h=s.assert,u=r(1200),f=r(8545);function l(t){if(!(this instanceof l))return new l(t);"string"==typeof t&&(h(Object.prototype.hasOwnProperty.call(o,t),"Unknown curve "+t),t=o[t]),t instanceof o.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}t.exports=l,l.prototype.keyPair=function(t){return new u(this,t)},l.prototype.keyFromPrivate=function(t,e){return u.fromPrivate(this,t,e)},l.prototype.keyFromPublic=function(t,e){return u.fromPublic(this,t,e)},l.prototype.genKeyPair=function(t){t||(t={});for(var e=new n({hash:this.hash,pers:t.pers,persEnc:t.persEnc||"utf8",entropy:t.entropy||a(this.hash.hmacStrength),entropyEnc:t.entropy&&t.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),s=this.n.sub(new i(2));;){var o=new i(e.generate(r));if(!(o.cmp(s)>0))return o.iaddn(1),this.keyFromPrivate(o)}},l.prototype._truncateToN=function(t,e,r){var n;if(i.isBN(t)||"number"==typeof t)n=(t=new i(t,16)).byteLength();else if("object"==typeof t)n=t.length,t=new i(t,16);else{var s=t.toString();n=s.length+1>>>1,t=new i(s,16)}"number"!=typeof r&&(r=8*n);var o=r-this.n.bitLength();return o>0&&(t=t.ushrn(o)),!e&&t.cmp(this.n)>=0?t.sub(this.n):t},l.prototype.sign=function(t,e,r,s){if("object"==typeof r&&(s=r,r=null),s||(s={}),"string"!=typeof t&&"number"!=typeof t&&!i.isBN(t)){h("object"==typeof t&&t&&"number"==typeof t.length,"Expected message to be an array-like, a hex string, or a BN instance"),h(t.length>>>0===t.length);for(var o=0;o=0)){var g=this.g.mul(m);if(!g.isInfinity()){var y=g.getX(),b=y.umod(this.n);if(0!==b.cmpn(0)){var v=m.invm(this.n).mul(b.mul(e.getPrivate()).iadd(t));if(0!==(v=v.umod(this.n)).cmpn(0)){var w=(g.getY().isOdd()?1:0)|(0!==y.cmp(b)?2:0);return s.canonical&&v.cmp(this.nh)>0&&(v=this.n.sub(v),w^=1),new f({r:b,s:v,recoveryParam:w})}}}}}},l.prototype.verify=function(t,e,r,i,n){n||(n={}),t=this._truncateToN(t,!1,n.msgBitLength),r=this.keyFromPublic(r,i);var s=(e=new f(e,"hex")).r,o=e.s;if(s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;var a,h=o.invm(this.n),u=h.mul(t).umod(this.n),l=h.mul(s).umod(this.n);return this.curve._maxwellTrick?!(a=this.g.jmulAdd(u,r.getPublic(),l)).isInfinity()&&a.eqXToP(s):!(a=this.g.mulAdd(u,r.getPublic(),l)).isInfinity()&&0===a.getX().umod(this.n).cmp(s)},l.prototype.recoverPubKey=function(t,e,r,n){h((3&r)===r,"The recovery param is more than two bits"),e=new f(e,n);var s=this.n,o=new i(t),a=e.r,u=e.s,l=1&r,c=r>>1;if(a.cmp(this.curve.p.umod(this.curve.n))>=0&&c)throw new Error("Unable to find sencond key candinate");a=c?this.curve.pointFromX(a.add(this.curve.n),l):this.curve.pointFromX(a,l);var d=e.r.invm(s),p=s.sub(o).mul(d).umod(s),m=u.mul(d).umod(s);return this.g.mulAdd(p,a,m)},l.prototype.getKeyRecoveryParam=function(t,e,r,i){if(null!==(e=new f(e,i)).recoveryParam)return e.recoveryParam;for(var n=0;n<4;n++){var s;try{s=this.recoverPubKey(t,e,n)}catch(t){continue}if(s.eq(r))return n}throw new Error("Unable to find valid recovery factor")}},7526:(t,e)=>{e.byteLength=function(t){var e=a(t),r=e[0],i=e[1];return 3*(r+i)/4-i},e.toByteArray=function(t){var e,r,s=a(t),o=s[0],h=s[1],u=new n(function(t,e,r){return 3*(e+r)/4-r}(0,o,h)),f=0,l=h>0?o-4:o;for(r=0;r>16&255,u[f++]=e>>8&255,u[f++]=255&e;2===h&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,u[f++]=255&e);1===h&&(e=i[t.charCodeAt(r)]<<10|i[t.charCodeAt(r+1)]<<4|i[t.charCodeAt(r+2)]>>2,u[f++]=e>>8&255,u[f++]=255&e);return u},e.fromByteArray=function(t){for(var e,i=t.length,n=i%3,s=[],o=16383,a=0,u=i-n;au?u:a+o));1===n?(e=t[i-1],s.push(r[e>>2]+r[e<<4&63]+"==")):2===n&&(e=(t[i-2]<<8)+t[i-1],s.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"="));return s.join("")};for(var r=[],i=[],n="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)r[o]=s[o],i[s.charCodeAt(o)]=o;function a(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function h(t,e,i){for(var n,s,o=[],a=e;a>18&63]+r[s>>12&63]+r[s>>6&63]+r[63&s]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},7541:(t,e,r)=>{const i=r(8765),n=r(8499);t.exports={Throttle:i,ThrottleGroup:n}},7558:(t,e,r)=>{var i=r(8287).Buffer,n=r(7861),s=r(8394),o=r(8957).isIP,a=r(5221),h=r(537),u=r(7007),f=new Error("Query timed out");f.code="ETIMEDOUT";var l=new Error("Unexpected node id");function c(t){if(!(this instanceof c))return new c(t);t||(t={});var e=this;this.timeout=t.timeout||2e3,this.inflight=0,this.destroyed=!1,this.isIP=t.isIP||o,this.socket=t.socket||n.createSocket("udp4"),this.socket.on("message",(function(t,r){if(e.destroyed)return;if(!r.port)return;try{var n=s.decode(t)}catch(t){return e.emit("warning",t)}var o=n&&n.y&&n.y.toString();if("r"===o||"e"===o){if(!i.isBuffer(n.t))return;try{var a=n.t.readUInt16BE(0)}catch(c){return e.emit("warning",c)}var h=e._ids.indexOf(a);if(-1===h||0===a)return e.emit("response",n,r),void e.emit("warning",new Error("Unexpected transaction id: "+a));var u=e._reqs[h];if(u.peer.host!==r.address)return e.emit("response",n,r),void e.emit("warning",new Error("Out of order response"));if(e._ids[h]=0,e._reqs[h]=null,e.inflight--,"e"===o){var f=Array.isArray(n.e),c=new Error(f?n.e.join(" "):"Unknown error");return c.code=f&&n.e.length&&"number"==typeof n.e[0]?n.e[0]:0,u.callback(c,n,r,u.message),e.emit("update"),void e.emit("postupdate")}var d=n.r&&n.r.id;if(u.peer&&u.peer.id&&d&&!u.peer.id.equals(d))return u.callback(l,null,r),e.emit("update"),void e.emit("postupdate");u.callback(null,n,r,u.message),e.emit("update"),e.emit("postupdate"),e.emit("response",n,r)}else"q"===o?e.emit("query",n,r):e.emit("warning",new Error("Unknown type: "+o))})),this.socket.on("error",(function(t){"EACCES"===t.code||"EADDRINUSE"===t.code?e.emit("error",t):e.emit("warning",t)})),this.socket.on("listening",(function(){e.emit("listening")})),this._tick=0,this._ids=[],this._reqs=[],this._timer=setInterval((function(){var t=e.inflight;if(!t)return;for(var r=0;r-1&&this._cancel(r,e)},c.prototype._cancel=function(t,e){var r=this._reqs[t];this._ids[t]=0,this._reqs[t]=null,r&&(this.inflight--,r.callback(e||new Error("Query was cancelled"),null,r.peer),this.emit("update"),this.emit("postupdate"))},c.prototype._resolveAndQuery=function(t,e,r){var i=this;a.lookup(t.host,(function(n,s){return n?r(n):i.destroyed?r(new Error("k-rpc-socket is destroyed")):void i.query({host:s,port:t.port},e,r)}))}},7568:(t,e,r)=>{var i=e;i.bignum=r(2344),i.define=r(7363).define,i.base=r(9673),i.constants=r(2153),i.decoders=r(2853),i.encoders=r(4669)},7626:(t,e)=>{e.readUInt32BE=function(t,e){return(t[0+e]<<24|t[1+e]<<16|t[2+e]<<8|t[3+e])>>>0},e.writeUInt32BE=function(t,e,r){t[0+r]=e>>>24,t[1+r]=e>>>16&255,t[2+r]=e>>>8&255,t[3+r]=255&e},e.ip=function(t,e,r,i){for(var n=0,s=0,o=6;o>=0;o-=2){for(var a=0;a<=24;a+=8)n<<=1,n|=e>>>a+o&1;for(a=0;a<=24;a+=8)n<<=1,n|=t>>>a+o&1}for(o=6;o>=0;o-=2){for(a=1;a<=25;a+=8)s<<=1,s|=e>>>a+o&1;for(a=1;a<=25;a+=8)s<<=1,s|=t>>>a+o&1}r[i+0]=n>>>0,r[i+1]=s>>>0},e.rip=function(t,e,r,i){for(var n=0,s=0,o=0;o<4;o++)for(var a=24;a>=0;a-=8)n<<=1,n|=e>>>a+o&1,n<<=1,n|=t>>>a+o&1;for(o=4;o<8;o++)for(a=24;a>=0;a-=8)s<<=1,s|=e>>>a+o&1,s<<=1,s|=t>>>a+o&1;r[i+0]=n>>>0,r[i+1]=s>>>0},e.pc1=function(t,e,r,i){for(var n=0,s=0,o=7;o>=5;o--){for(var a=0;a<=24;a+=8)n<<=1,n|=e>>a+o&1;for(a=0;a<=24;a+=8)n<<=1,n|=t>>a+o&1}for(a=0;a<=24;a+=8)n<<=1,n|=e>>a+o&1;for(o=1;o<=3;o++){for(a=0;a<=24;a+=8)s<<=1,s|=e>>a+o&1;for(a=0;a<=24;a+=8)s<<=1,s|=t>>a+o&1}for(a=0;a<=24;a+=8)s<<=1,s|=t>>a+o&1;r[i+0]=n>>>0,r[i+1]=s>>>0},e.r28shl=function(t,e){return t<>>28-e};var r=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];e.pc2=function(t,e,i,n){for(var s=0,o=0,a=r.length>>>1,h=0;h>>r[h]&1;for(h=a;h>>r[h]&1;i[n+0]=s>>>0,i[n+1]=o>>>0},e.expand=function(t,e,r){var i=0,n=0;i=(1&t)<<5|t>>>27;for(var s=23;s>=15;s-=4)i<<=6,i|=t>>>s&63;for(s=11;s>=3;s-=4)n|=t>>>s&63,n<<=6;n|=(31&t)<<1|t>>>31,e[r+0]=i>>>0,e[r+1]=n>>>0};var i=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];e.substitute=function(t,e){for(var r=0,n=0;n<4;n++){r<<=4,r|=i[64*n+(t>>>18-6*n&63)]}for(n=0;n<4;n++){r<<=4,r|=i[256+64*n+(e>>>18-6*n&63)]}return r>>>0};var n=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];e.permute=function(t){for(var e=0,r=0;r>>n[r]&1;return e>>>0},e.padSplit=function(t,e,r){for(var i=t.toString(2);i.length{var i=r(7426),n=r(2287);function s(){if(!(this instanceof s))return new s;n.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}i.inherits(s,n),t.exports=s,s.blockSize=512,s.outSize=224,s.hmacStrength=192,s.padLength=64,s.prototype._digest=function(t){return"hex"===t?i.toHex32(this.h.slice(0,7),"big"):i.split32(this.h.slice(0,7),"big")}},7720:(t,e,r)=>{var i=r(4765),n=Object.prototype.hasOwnProperty,s=Array.isArray,o=function(){for(var t=[],e=0;e<256;++e)t.push("%"+((e<16?"0":"")+e.toString(16)).toUpperCase());return t}(),a=function(t,e){for(var r=e&&e.plainObjects?Object.create(null):{},i=0;i1;){var e=t.pop(),r=e.obj[e.prop];if(s(r)){for(var i=[],n=0;n=h?a.slice(f,f+h):a,c=[],d=0;d=48&&p<=57||p>=65&&p<=90||p>=97&&p<=122||s===i.RFC1738&&(40===p||41===p)?c[c.length]=l.charAt(d):p<128?c[c.length]=o[p]:p<2048?c[c.length]=o[192|p>>6]+o[128|63&p]:p<55296||p>=57344?c[c.length]=o[224|p>>12]+o[128|p>>6&63]+o[128|63&p]:(d+=1,p=65536+((1023&p)<<10|1023&l.charCodeAt(d)),c[c.length]=o[240|p>>18]+o[128|p>>12&63]+o[128|p>>6&63]+o[128|63&p])}u+=c.join("")}return u},isBuffer:function(t){return!(!t||"object"!=typeof t)&&!!(t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer(t))},isRegExp:function(t){return"[object RegExp]"===Object.prototype.toString.call(t)},maybeMap:function(t,e){if(s(t)){for(var r=[],i=0;i{var i;var n=r(113).F,s=n.ERR_MISSING_ARGS,o=n.ERR_STREAM_DESTROYED;function a(t){if(t)throw t}function h(t){t()}function u(t,e){return t.pipe(e)}t.exports=function(){for(var t=arguments.length,e=new Array(t),n=0;n0,(function(t){f||(f=t),t&&c.forEach(h),s||(c.forEach(h),l(f))}))}));return e.reduce(u)}},7766:(t,e,r)=>{var i=r(7426),n=r(6166),s=r(3349),o=i.rotr64_hi,a=i.rotr64_lo,h=i.shr64_hi,u=i.shr64_lo,f=i.sum64,l=i.sum64_hi,c=i.sum64_lo,d=i.sum64_4_hi,p=i.sum64_4_lo,m=i.sum64_5_hi,g=i.sum64_5_lo,y=n.BlockHash,b=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function v(){if(!(this instanceof v))return new v;y.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=b,this.W=new Array(160)}function w(t,e,r,i,n){var s=t&r^~t&n;return s<0&&(s+=4294967296),s}function _(t,e,r,i,n,s){var o=e&i^~e&s;return o<0&&(o+=4294967296),o}function M(t,e,r,i,n){var s=t&r^t&n^r&n;return s<0&&(s+=4294967296),s}function S(t,e,r,i,n,s){var o=e&i^e&s^i&s;return o<0&&(o+=4294967296),o}function k(t,e){var r=o(t,e,28)^o(e,t,2)^o(e,t,7);return r<0&&(r+=4294967296),r}function E(t,e){var r=a(t,e,28)^a(e,t,2)^a(e,t,7);return r<0&&(r+=4294967296),r}function x(t,e){var r=o(t,e,14)^o(t,e,18)^o(e,t,9);return r<0&&(r+=4294967296),r}function A(t,e){var r=a(t,e,14)^a(t,e,18)^a(e,t,9);return r<0&&(r+=4294967296),r}function I(t,e){var r=o(t,e,1)^o(t,e,8)^h(t,e,7);return r<0&&(r+=4294967296),r}function T(t,e){var r=a(t,e,1)^a(t,e,8)^u(t,e,7);return r<0&&(r+=4294967296),r}function P(t,e){var r=o(t,e,19)^o(e,t,29)^h(t,e,6);return r<0&&(r+=4294967296),r}function C(t,e){var r=a(t,e,19)^a(e,t,29)^u(t,e,6);return r<0&&(r+=4294967296),r}i.inherits(v,y),t.exports=v,v.blockSize=1024,v.outSize=512,v.hmacStrength=192,v.padLength=128,v.prototype._prepareBlock=function(t,e){for(var r=this.W,i=0;i<32;i++)r[i]=t[e+i];for(;i{var i=r(6698),n=r(392),s=r(2861).Buffer,o=[1518500249,1859775393,-1894007588,-899497514],a=new Array(80);function h(){this.init(),this._w=a,n.call(this,64,56)}function u(t){return t<<30|t>>>2}function f(t,e,r,i){return 0===t?e&r|~e&i:2===t?e&r|e&i|r&i:e^r^i}i(h,n),h.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},h.prototype._update=function(t){for(var e,r=this._w,i=0|this._a,n=0|this._b,s=0|this._c,a=0|this._d,h=0|this._e,l=0;l<16;++l)r[l]=t.readInt32BE(4*l);for(;l<80;++l)r[l]=r[l-3]^r[l-8]^r[l-14]^r[l-16];for(var c=0;c<80;++c){var d=~~(c/20),p=0|((e=i)<<5|e>>>27)+f(d,n,s,a)+h+r[c]+o[d];h=a,a=s,s=u(n),n=i,i=p}this._a=i+this._a|0,this._b=n+this._b|0,this._c=s+this._c|0,this._d=a+this._d|0,this._e=h+this._e|0},h.prototype._hash=function(){var t=s.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},t.exports=h},7833:(t,e,r)=>{var i=r(717);e.formatArgs=function(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+t.exports.humanize(this.diff),!this.useColors)return;const r="color: "+this.color;e.splice(1,0,r,"color: inherit");let i=0,n=0;e[0].replace(/%[a-zA-Z%]/g,(t=>{"%%"!==t&&(i++,"%c"===t&&(n=i))})),e.splice(n,0,r)},e.save=function(t){try{t?e.storage.setItem("debug",t):e.storage.removeItem("debug")}catch(t){}},e.load=function(){let t;try{t=e.storage.getItem("debug")}catch(t){}!t&&void 0!==i&&"env"in i&&(t=i.env.DEBUG);return t},e.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let t;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&(t=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(t[1],10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},e.storage=function(){try{return localStorage}catch(t){}}(),e.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),e.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],e.log=console.debug||console.log||(()=>{}),t.exports=r(736)(e);const{formatters:n}=t.exports;n.j=function(t){try{return JSON.stringify(t)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}},7861:(t,e,r)=>{var i=r(8287).Buffer;e.Socket=u;var n=r(7007).EventEmitter,s=r(6698),o=r(1672),a=0,h={};function u(t,e){var r=this;if(n.call(r),"string"==typeof t&&(t={type:t}),"udp4"!==t.type)throw new Error("Bad socket type specified. Valid types are: udp4");"function"==typeof e&&r.on("message",e),r._destroyed=!1,r._bindState=a,r._bindTasks=[]}"object"==typeof chrome&&"object"==typeof chrome.runtime&&"string"==typeof chrome.runtime.id&&"object"==typeof chrome.sockets&&"object"==typeof chrome.sockets.udp&&(chrome.sockets.udp.onReceive.addListener((function(t){t.socketId in h?h[t.socketId]._onReceive(t):console.error("Unknown socket id: "+t.socketId)})),chrome.sockets.udp.onReceiveError.addListener((function(t){t.socketId in h?h[t.socketId]._onReceiveError(t.resultCode):console.error("Unknown socket id: "+t.socketId)}))),e.createSocket=function(t,e){return new u(t,e)},s(u,n),u.prototype.bind=function(t,e,r){var i=this;if("function"==typeof e&&(r=e,e=void 0),e||(e="0.0.0.0"),t||(t=0),i._bindState!==a)throw new Error("Socket is already bound");i._bindState=1,"function"==typeof r&&i.once("listening",r),chrome.sockets.udp.create((function(r){i.id=r.socketId,h[i.id]=i;var n=i._bindTasks.map((function(t){return t.fn}));o(n,(function(r){if(r)return i.emit("error",r);chrome.sockets.udp.bind(i.id,e,t,(function(t){t<0?i.emit("error",new Error("Socket "+i.id+" failed to bind. "+chrome.runtime.lastError.message)):chrome.sockets.udp.getInfo(i.id,(function(t){t.localPort&&t.localAddress?(i._port=t.localPort,i._address=t.localAddress,i._bindState=2,i.emit("listening"),i._bindTasks.map((function(t){t.callback()}))):i.emit("error",new Error("Cannot get local port/address for Socket "+i.id))}))}))}))}))},u.prototype._onReceive=function(t){var e=i.from(new Uint8Array(t.data)),r={address:t.remoteAddress,family:"IPv4",port:t.remotePort,size:e.length};this.emit("message",e,r)},u.prototype._onReceiveError=function(t){this.emit("error",new Error("Socket "+this.id+" receive error "+t))},u.prototype.send=function(t,e,r,n,s,o){var h,u=this;if(s||n&&"function"!=typeof n?t=function(t,e,r){if("string"==typeof t)t=i.from(t);else if(!(t instanceof i))throw new TypeError("First argument must be a buffer or string");e>>>=0,r>>>=0;var n=t.buffer;(t.byteOffset||t.byteLength!==n.byteLength)&&(n=n.slice(t.byteOffset,t.byteOffset+t.byteLength));(e||r!==t.length)&&(n=n.slice(e,r));return i.from(n)}(t,e,r):(o=n,n=e,s=r),Array.isArray(t)){if(!(h=function(t){for(var e=new Array(t.length),r=0,n=t.length;r>>=0)||n>65535)throw new RangeError("Port should be > 0 and < 65536");if("function"!=typeof o&&(o=function(){}),u._bindState===a&&u.bind(0),2!==u._bindState)return u._sendQueue||(u._sendQueue=[],u.once("listening",(function(){for(var t=0;t{},7952:(t,e,r)=>{var i=e;i.utils=r(7426),i.common=r(6166),i.sha=r(6229),i.ripemd=r(6784),i.hmac=r(8948),i.sha1=i.sha.sha1,i.sha256=i.sha.sha256,i.sha224=i.sha.sha224,i.sha384=i.sha.sha384,i.sha512=i.sha.sha512,i.ripemd160=i.ripemd.ripemd160},7972:(t,e,r)=>{var i=r(8287).Buffer;const n=t.exports;n.digitCount=function(t){const e=t<0?1:0;return t=Math.abs(Number(t||1)),Math.floor(Math.log10(t))+1+e},n.getType=function(t){return i.isBuffer(t)?"buffer":ArrayBuffer.isView(t)?"arraybufferview":Array.isArray(t)?"array":t instanceof Number?"number":t instanceof Boolean?"boolean":t instanceof Set?"set":t instanceof Map?"map":t instanceof String?"string":t instanceof ArrayBuffer?"arraybuffer":typeof t}},8002:t=>{t.exports=Math.min},8068:t=>{t.exports=SyntaxError},8078:(t,e,r)=>{var i=r(2861).Buffer,n=r(8276);t.exports=function(t,e,r,s){if(i.isBuffer(t)||(t=i.from(t,"binary")),e&&(i.isBuffer(e)||(e=i.from(e,"binary")),8!==e.length))throw new RangeError("salt should be Buffer with 8 byte length");for(var o=r/8,a=i.alloc(o),h=i.alloc(s||0),u=i.alloc(0);o>0||s>0;){var f=new n;f.update(u),f.update(t),e&&f.update(e),u=f.digest();var l=0;if(o>0){var c=a.length-o;l=Math.min(o,u.length),u.copy(a,c,0,l),o-=l}if(l0){var d=h.length-s,p=Math.min(s,u.length-l);u.copy(h,d,l,l+p),s-=p}}return u.fill(0),{key:a,iv:h}}},8093:(t,e,r)=>{t.exports=r(537).inspect},8170:(t,e,r)=>{var i=r(1137),n=r(5579),s=r(4101),o=r(1241),a=r(5488),h=r(2861).Buffer;function u(t){var e;"object"!=typeof t||h.isBuffer(t)||(e=t.passphrase,t=t.key),"string"==typeof t&&(t=h.from(t));var r,u,f=s(t,e),l=f.tag,c=f.data;switch(l){case"CERTIFICATE":u=i.certificate.decode(c,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(u||(u=i.PublicKey.decode(c,"der")),r=u.algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return i.RSAPublicKey.decode(u.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return u.subjectPrivateKey=u.subjectPublicKey,{type:"ec",data:u};case"1.2.840.10040.4.1":return u.algorithm.params.pub_key=i.DSAparam.decode(u.subjectPublicKey.data,"der"),{type:"dsa",data:u.algorithm.params};default:throw new Error("unknown key id "+r)}case"ENCRYPTED PRIVATE KEY":c=function(t,e){var r=t.algorithm.decrypt.kde.kdeparams.salt,i=parseInt(t.algorithm.decrypt.kde.kdeparams.iters.toString(),10),s=n[t.algorithm.decrypt.cipher.algo.join(".")],u=t.algorithm.decrypt.cipher.iv,f=t.subjectPrivateKey,l=parseInt(s.split("-")[1],10)/8,c=a.pbkdf2Sync(e,r,i,l,"sha1"),d=o.createDecipheriv(s,c,u),p=[];return p.push(d.update(f)),p.push(d.final()),h.concat(p)}(c=i.EncryptedPrivateKey.decode(c,"der"),e);case"PRIVATE KEY":switch(r=(u=i.PrivateKey.decode(c,"der")).algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return i.RSAPrivateKey.decode(u.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:u.algorithm.curve,privateKey:i.ECPrivateKey.decode(u.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return u.algorithm.params.priv_key=i.DSAparam.decode(u.subjectPrivateKey,"der"),{type:"dsa",params:u.algorithm.params};default:throw new Error("unknown key id "+r)}case"RSA PUBLIC KEY":return i.RSAPublicKey.decode(c,"der");case"RSA PRIVATE KEY":return i.RSAPrivateKey.decode(c,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:i.DSAPrivateKey.decode(c,"der")};case"EC PRIVATE KEY":return{curve:(c=i.ECPrivateKey.decode(c,"der")).parameters.value,privateKey:c.privateKey};default:throw new Error("unknown key type "+l)}}u.signature=i.signature,t.exports=u},8179:(t,e,r)=>{const{EventEmitter:i}=r(7007),n=new Error("Stream was destroyed"),s=new Error("Premature close"),o=r(6080),a=r(5335),h=536870911,u=1^h,f=2^h,l=32,c=64,d=128,p=256,m=1024,g=2048,y=4096,b=8192,v=16384,w=32768,_=131072,M=131328,S=16^h,k=536805375,E=768^h,x=536838143,A=536739839,I=1<<18,T=2<<18,P=4<<18,C=8<<18,R=16<<18,O=32<<18,B=64<<18,L=128<<18,N=256<<18,j=512<<18,U=1024<<18,q=535822335,D=503316479,H=268435455,F=262160,z=536608751,$=8404992,W=14,K=15,V=8405006,Z=33587200,G=33587215,Y=2359296,J=270794767,X=Symbol.asyncIterator||Symbol("asyncIterator");class Q{constructor(t,{highWaterMark:e=16384,map:r=null,mapWritable:i,byteLength:n,byteLengthWritable:s}={}){this.stream=t,this.queue=new o,this.highWaterMark=e,this.buffered=0,this.error=null,this.pipeline=null,this.drains=null,this.byteLength=s||n||St,this.map=i||r,this.afterWrite=ot.bind(this),this.afterUpdateNextTick=ut.bind(this)}get ended(){return!!(this.stream._duplexState&O)}push(t){return!(142606350&this.stream._duplexState)&&(null!==this.map&&(t=this.map(t)),this.buffered+=this.byteLength(t),this.queue.push(t),this.buffered0,this.error=null,this.pipeline=null,this.byteLength=s||n||St,this.map=i||r,this.pipeTo=null,this.afterRead=at.bind(this),this.afterUpdateNextTick=ht.bind(this)}get ended(){return!!(this.stream._duplexState&v)}pipe(t,e){if(null!==this.pipeTo)throw new Error("Can only pipe to one destination");if("function"!=typeof e&&(e=null),this.stream._duplexState|=512,this.pipeTo=t,this.pipeline=new rt(this.stream,t,e),e&&this.stream.on("error",kt),Mt(t))t._writableState.pipeline=this.pipeline,e&&t.on("error",kt),t.on("finish",this.pipeline.finished.bind(this.pipeline));else{const e=this.pipeline.done.bind(this.pipeline,t),r=this.pipeline.done.bind(this.pipeline,t,null);t.on("error",e),t.on("close",r),t.on("finish",this.pipeline.finished.bind(this.pipeline))}t.on("drain",it.bind(this)),this.stream.emit("piping",t),t.emit("pipe",this.stream)}push(t){const e=this.stream;return null===t?(this.highWaterMark=0,e._duplexState=536805311&e._duplexState|1024,!1):null!==this.map&&null===(t=this.map(t))?(e._duplexState&=k,this.buffered0;)e.push(this.shift());for(let t=0;t0;)i.drains.shift().resolve(!1);null!==i.pipeline&&i.pipeline.done(e,t)}}function ot(t){const e=this.stream;t&&e.destroy(t),e._duplexState&=469499903,null!==this.drains&&function(t){for(let e=0;e0)?null:r(i)},this}_read(t){t(null)}pipe(t,e){return this._readableState.updateNextTick(),this._readableState.pipe(t,e),t}read(){return this._readableState.updateNextTick(),this._readableState.read()}push(t){return this._readableState.updateNextTickIfOpen(),this._readableState.push(t)}unshift(t){return this._readableState.updateNextTickIfOpen(),this._readableState.unshift(t)}resume(){return this._duplexState|=M,this._readableState.updateNextTick(),this}pause(){return this._duplexState&=!1===this._readableState.readAhead?536739583:536870655,this}static _fromAsyncIterator(t,e){let r;const i=new pt({...e,read(e){t.next().then(n).then(e.bind(null,null)).catch(e)},predestroy(){r=t.return()},destroy(t){if(!r)return t(null);r.then(t.bind(null,null)).catch(t)}});return i;function n(t){t.done?i.push(null):i.push(t.value)}}static from(t,e){if(Mt(r=t)&&r.readable)return t;var r;if(t[X])return this._fromAsyncIterator(t[X](),e);Array.isArray(t)||(t=void 0===t?[]:[t]);let i=0;return new pt({...e,read(e){this.push(i===t.length?null:t[i++]),e(null)}})}static isBackpressured(t){return!!(17422&t._duplexState)||t._readableState.buffered>=t._readableState.highWaterMark}static isPaused(t){return!(t._duplexState&p)}[X](){const t=this;let e=null,r=null,i=null;return this.on("error",(t=>{e=t})),this.on("readable",(function(){null!==r&&s(t.read())})),this.on("close",(function(){null!==r&&s(null)})),{[X](){return this},next:()=>new Promise((function(e,n){r=e,i=n;const o=t.read();null!==o?s(o):8&t._duplexState&&s(null)})),return:()=>o(null),throw:t=>o(t)};function s(s){null!==i&&(e?i(e):null!==s||t._duplexState&v?r({value:s,done:null===s}):i(n),i=r=null)}function o(e){return t.destroy(e),new Promise(((r,i)=>{if(8&t._duplexState)return r({value:void 0,done:!0});t.once("close",(function(){e?i(e):r({value:void 0,done:!0})}))}))}}}class mt extends dt{constructor(t){super(t),this._duplexState|=16385,this._writableState=new Q(this,t),t&&(t.writev&&(this._writev=t.writev),t.write&&(this._write=t.write),t.final&&(this._final=t.final),t.eagerOpen&&this._writableState.updateNextTick())}cork(){this._duplexState|=U}uncork(){this._duplexState&=H,this._writableState.updateNextTick()}_writev(t,e){e(null)}_write(t,e){this._writableState.autoBatch(t,e)}_final(t){t(null)}static isBackpressured(t){return!!(146800654&t._duplexState)}static drained(t){if(t.destroyed)return Promise.resolve(!1);const e=t._writableState;var r;const i=((r=t)._writev!==mt.prototype._writev&&r._writev!==gt.prototype._writev?Math.min(1,e.queue.length):e.queue.length)+(t._duplexState&N?1:0);return 0===i?Promise.resolve(!0):(null===e.drains&&(e.drains=[]),new Promise((t=>{e.drains.push({writes:i,resolve:t})})))}write(t){return this._writableState.updateNextTick(),this._writableState.push(t)}end(t){return this._writableState.updateNextTick(),this._writableState.end(t),this}}class gt extends pt{constructor(t){super(t),this._duplexState=1|this._duplexState&_,this._writableState=new Q(this,t),t&&(t.writev&&(this._writev=t.writev),t.write&&(this._write=t.write),t.final&&(this._final=t.final))}cork(){this._duplexState|=U}uncork(){this._duplexState&=H,this._writableState.updateNextTick()}_writev(t,e){e(null)}_write(t,e){this._writableState.autoBatch(t,e)}_final(t){t(null)}write(t){return this._writableState.updateNextTick(),this._writableState.push(t)}end(t){return this._writableState.updateNextTick(),this._writableState.end(t),this}}class yt extends gt{constructor(t){super(t),this._transformState=new et(this),t&&(t.transform&&(this._transform=t.transform),t.flush&&(this._flush=t.flush))}_write(t,e){this._readableState.buffered>=this._readableState.highWaterMark?this._transformState.data=t:this._transform(t,this._transformState.afterTransform)}_read(t){if(null!==this._transformState.data){const e=this._transformState.data;this._transformState.data=null,t(null),this._transform(e,this._transformState.afterTransform)}else t(null)}destroy(t){super.destroy(t),null!==this._transformState.data&&(this._transformState.data=null,this._transformState.afterTransform())}_transform(t,e){e(null,t)}_flush(t){t(null)}_final(t){this._transformState.afterFinal=t,this._flush(bt.bind(this))}}function bt(t,e){const r=this._transformState.afterFinal;if(t)return r(t);null!=e&&this.push(e),this.push(null),r(null)}function vt(t,...e){const r=Array.isArray(t)?[...t,...e]:[t,...e],i=r.length&&"function"==typeof r[r.length-1]?r.pop():null;if(r.length<2)throw new Error("Pipeline requires at least 2 streams");let n=r[0],o=null,a=null;for(let t=1;t1,u),n.pipe(o)),n=o;if(i){let t=!1;const e=Mt(o)||!(!o._writableState||!o._writableState.autoDestroy);o.on("error",(t=>{null===a&&(a=t)})),o.on("finish",(()=>{t=!0,e||i(a)})),e&&o.on("close",(()=>i(a||(t?null:s))))}return o;function h(t,e,r,i){t.on("error",i),t.on("close",(function(){if(e&&t._readableState&&!t._readableState.ended)return i(s);if(r&&t._writableState&&!t._writableState.ended)return i(s)}))}function u(t){if(t&&!a){a=t;for(const e of r)e.destroy(t)}}}function wt(t){return t}function _t(t){return!!t._readableState||!!t._writableState}function Mt(t){return"number"==typeof t._duplexState&&_t(t)}function St(t){return function(t){return"object"==typeof t&&null!==t&&"number"==typeof t.byteLength}(t)?t.byteLength:1024}function kt(){}function Et(){this.destroy(new Error("Stream aborted."))}t.exports={pipeline:vt,pipelinePromise:function(...t){return new Promise(((e,r)=>vt(...t,(t=>{if(t)return r(t);e()}))))},isStream:_t,isStreamx:Mt,isEnded:function(t){return!!t._readableState&&t._readableState.ended},isFinished:function(t){return!!t._writableState&&t._writableState.ended},isDisturbed:function(t){return!!(1&~t._duplexState)||!!(t._duplexState&Z)},getStreamError:function(t,e={}){const r=t._readableState&&t._readableState.error||t._writableState&&t._writableState.error;return e.all||r!==n?r:null},Stream:dt,Writable:mt,Readable:pt,Duplex:gt,Transform:yt,PassThrough:class extends yt{}}},8190:(t,e,r)=>{t.exports=function(t,e){let r,n,s,o=!0;Array.isArray(t)?(r=[],n=t.length):(s=Object.keys(t),r={},n=s.length);function a(t){function n(){e&&e(t,r),e=null}o?i(n):n()}function h(t,e,i){r[t]=i,(0==--n||e)&&a(e)}n?s?s.forEach((function(e){t[e]((function(t,r){h(e,t,r)}))})):t.forEach((function(t,e){t((function(t,r){h(e,t,r)}))})):a(null);o=!1};const i=r(9596)},8206:(t,e,r)=>{var i=r(7108),n=r(2861).Buffer;function s(t){var e=n.allocUnsafe(4);return e.writeUInt32BE(t,0),e}t.exports=function(t,e){for(var r,o=n.alloc(0),a=0;o.length{var i=r(6698),n=r(4729),s=r(2861).Buffer,o=new Array(16);function a(){n.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function h(t,e){return t<>>32-e}function u(t,e,r,i,n,s,o){return h(t+(e&r|~e&i)+n+s|0,o)+e|0}function f(t,e,r,i,n,s,o){return h(t+(e&i|r&~i)+n+s|0,o)+e|0}function l(t,e,r,i,n,s,o){return h(t+(e^r^i)+n+s|0,o)+e|0}function c(t,e,r,i,n,s,o){return h(t+(r^(e|~i))+n+s|0,o)+e|0}i(a,n),a.prototype._update=function(){for(var t=o,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);var r=this._a,i=this._b,n=this._c,s=this._d;r=u(r,i,n,s,t[0],3614090360,7),s=u(s,r,i,n,t[1],3905402710,12),n=u(n,s,r,i,t[2],606105819,17),i=u(i,n,s,r,t[3],3250441966,22),r=u(r,i,n,s,t[4],4118548399,7),s=u(s,r,i,n,t[5],1200080426,12),n=u(n,s,r,i,t[6],2821735955,17),i=u(i,n,s,r,t[7],4249261313,22),r=u(r,i,n,s,t[8],1770035416,7),s=u(s,r,i,n,t[9],2336552879,12),n=u(n,s,r,i,t[10],4294925233,17),i=u(i,n,s,r,t[11],2304563134,22),r=u(r,i,n,s,t[12],1804603682,7),s=u(s,r,i,n,t[13],4254626195,12),n=u(n,s,r,i,t[14],2792965006,17),r=f(r,i=u(i,n,s,r,t[15],1236535329,22),n,s,t[1],4129170786,5),s=f(s,r,i,n,t[6],3225465664,9),n=f(n,s,r,i,t[11],643717713,14),i=f(i,n,s,r,t[0],3921069994,20),r=f(r,i,n,s,t[5],3593408605,5),s=f(s,r,i,n,t[10],38016083,9),n=f(n,s,r,i,t[15],3634488961,14),i=f(i,n,s,r,t[4],3889429448,20),r=f(r,i,n,s,t[9],568446438,5),s=f(s,r,i,n,t[14],3275163606,9),n=f(n,s,r,i,t[3],4107603335,14),i=f(i,n,s,r,t[8],1163531501,20),r=f(r,i,n,s,t[13],2850285829,5),s=f(s,r,i,n,t[2],4243563512,9),n=f(n,s,r,i,t[7],1735328473,14),r=l(r,i=f(i,n,s,r,t[12],2368359562,20),n,s,t[5],4294588738,4),s=l(s,r,i,n,t[8],2272392833,11),n=l(n,s,r,i,t[11],1839030562,16),i=l(i,n,s,r,t[14],4259657740,23),r=l(r,i,n,s,t[1],2763975236,4),s=l(s,r,i,n,t[4],1272893353,11),n=l(n,s,r,i,t[7],4139469664,16),i=l(i,n,s,r,t[10],3200236656,23),r=l(r,i,n,s,t[13],681279174,4),s=l(s,r,i,n,t[0],3936430074,11),n=l(n,s,r,i,t[3],3572445317,16),i=l(i,n,s,r,t[6],76029189,23),r=l(r,i,n,s,t[9],3654602809,4),s=l(s,r,i,n,t[12],3873151461,11),n=l(n,s,r,i,t[15],530742520,16),r=c(r,i=l(i,n,s,r,t[2],3299628645,23),n,s,t[0],4096336452,6),s=c(s,r,i,n,t[7],1126891415,10),n=c(n,s,r,i,t[14],2878612391,15),i=c(i,n,s,r,t[5],4237533241,21),r=c(r,i,n,s,t[12],1700485571,6),s=c(s,r,i,n,t[3],2399980690,10),n=c(n,s,r,i,t[10],4293915773,15),i=c(i,n,s,r,t[1],2240044497,21),r=c(r,i,n,s,t[8],1873313359,6),s=c(s,r,i,n,t[15],4264355552,10),n=c(n,s,r,i,t[6],2734768916,15),i=c(i,n,s,r,t[13],1309151649,21),r=c(r,i,n,s,t[4],4149444226,6),s=c(s,r,i,n,t[11],3174756917,10),n=c(n,s,r,i,t[2],718787259,15),i=c(i,n,s,r,t[9],3951481745,21),this._a=this._a+r|0,this._b=this._b+i|0,this._c=this._c+n|0,this._d=this._d+s|0},a.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=s.allocUnsafe(16);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t},t.exports=a},8287:(t,e,r)=>{const i=r(7526),n=r(251),s="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=h,e.SlowBuffer=function(t){+t!=t&&(t=0);return h.alloc(+t)},e.INSPECT_MAX_BYTES=50;const o=2147483647;function a(t){if(t>o)throw new RangeError('The value "'+t+'" is invalid for option "size"');const e=new Uint8Array(t);return Object.setPrototypeOf(e,h.prototype),e}function h(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return l(t)}return u(t,e,r)}function u(t,e,r){if("string"==typeof t)return function(t,e){"string"==typeof e&&""!==e||(e="utf8");if(!h.isEncoding(e))throw new TypeError("Unknown encoding: "+e);const r=0|m(t,e);let i=a(r);const n=i.write(t,e);n!==r&&(i=i.slice(0,n));return i}(t,e);if(ArrayBuffer.isView(t))return function(t){if(G(t,Uint8Array)){const e=new Uint8Array(t);return d(e.buffer,e.byteOffset,e.byteLength)}return c(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(G(t,ArrayBuffer)||t&&G(t.buffer,ArrayBuffer))return d(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(G(t,SharedArrayBuffer)||t&&G(t.buffer,SharedArrayBuffer)))return d(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');const i=t.valueOf&&t.valueOf();if(null!=i&&i!==t)return h.from(i,e,r);const n=function(t){if(h.isBuffer(t)){const e=0|p(t.length),r=a(e);return 0===r.length||t.copy(r,0,0,e),r}if(void 0!==t.length)return"number"!=typeof t.length||Y(t.length)?a(0):c(t);if("Buffer"===t.type&&Array.isArray(t.data))return c(t.data)}(t);if(n)return n;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return h.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function f(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function l(t){return f(t),a(t<0?0:0|p(t))}function c(t){const e=t.length<0?0:0|p(t.length),r=a(e);for(let i=0;i=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return 0|t}function m(t,e){if(h.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||G(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);const r=t.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===r)return 0;let n=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return K(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return V(t).length;default:if(n)return i?-1:K(t).length;e=(""+e).toLowerCase(),n=!0}}function g(t,e,r){let i=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return P(this,e,r);case"utf8":case"utf-8":return x(this,e,r);case"ascii":return I(this,e,r);case"latin1":case"binary":return T(this,e,r);case"base64":return E(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,e,r);default:if(i)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),i=!0}}function y(t,e,r){const i=t[e];t[e]=t[r],t[r]=i}function b(t,e,r,i,n){if(0===t.length)return-1;if("string"==typeof r?(i=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),Y(r=+r)&&(r=n?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(n)return-1;r=t.length-1}else if(r<0){if(!n)return-1;r=0}if("string"==typeof e&&(e=h.from(e,i)),h.isBuffer(e))return 0===e.length?-1:v(t,e,r,i,n);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?n?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):v(t,[e],r,i,n);throw new TypeError("val must be string, number or Buffer")}function v(t,e,r,i,n){let s,o=1,a=t.length,h=e.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(t.length<2||e.length<2)return-1;o=2,a/=2,h/=2,r/=2}function u(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(n){let i=-1;for(s=r;sa&&(r=a-h),s=r;s>=0;s--){let r=!0;for(let i=0;in&&(i=n):i=n;const s=e.length;let o;for(i>s/2&&(i=s/2),o=0;o>8,n=r%256,s.push(n),s.push(i);return s}(e,t.length-r),t,r,i)}function E(t,e,r){return 0===e&&r===t.length?i.fromByteArray(t):i.fromByteArray(t.slice(e,r))}function x(t,e,r){r=Math.min(t.length,r);const i=[];let n=e;for(;n239?4:e>223?3:e>191?2:1;if(n+o<=r){let r,i,a,h;switch(o){case 1:e<128&&(s=e);break;case 2:r=t[n+1],128==(192&r)&&(h=(31&e)<<6|63&r,h>127&&(s=h));break;case 3:r=t[n+1],i=t[n+2],128==(192&r)&&128==(192&i)&&(h=(15&e)<<12|(63&r)<<6|63&i,h>2047&&(h<55296||h>57343)&&(s=h));break;case 4:r=t[n+1],i=t[n+2],a=t[n+3],128==(192&r)&&128==(192&i)&&128==(192&a)&&(h=(15&e)<<18|(63&r)<<12|(63&i)<<6|63&a,h>65535&&h<1114112&&(s=h))}}null===s?(s=65533,o=1):s>65535&&(s-=65536,i.push(s>>>10&1023|55296),s=56320|1023&s),i.push(s),n+=o}return function(t){const e=t.length;if(e<=A)return String.fromCharCode.apply(String,t);let r="",i=0;for(;ii.length?(h.isBuffer(e)||(e=h.from(e)),e.copy(i,n)):Uint8Array.prototype.set.call(i,e,n);else{if(!h.isBuffer(e))throw new TypeError('"list" argument must be an Array of Buffers');e.copy(i,n)}n+=e.length}return i},h.byteLength=m,h.prototype._isBuffer=!0,h.prototype.swap16=function(){const t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let e=0;er&&(t+=" ... "),""},s&&(h.prototype[s]=h.prototype.inspect),h.prototype.compare=function(t,e,r,i,n){if(G(t,Uint8Array)&&(t=h.from(t,t.offset,t.byteLength)),!h.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===i&&(i=0),void 0===n&&(n=this.length),e<0||r>t.length||i<0||n>this.length)throw new RangeError("out of range index");if(i>=n&&e>=r)return 0;if(i>=n)return-1;if(e>=r)return 1;if(this===t)return 0;let s=(n>>>=0)-(i>>>=0),o=(r>>>=0)-(e>>>=0);const a=Math.min(s,o),u=this.slice(i,n),f=t.slice(e,r);for(let t=0;t>>=0,isFinite(r)?(r>>>=0,void 0===i&&(i="utf8")):(i=r,r=void 0)}const n=this.length-e;if((void 0===r||r>n)&&(r=n),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let s=!1;for(;;)switch(i){case"hex":return w(this,t,e,r);case"utf8":case"utf-8":return _(this,t,e,r);case"ascii":case"latin1":case"binary":return M(this,t,e,r);case"base64":return S(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,t,e,r);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}},h.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const A=4096;function I(t,e,r){let i="";r=Math.min(t.length,r);for(let n=e;ni)&&(r=i);let n="";for(let i=e;ir)throw new RangeError("Trying to access beyond buffer length")}function O(t,e,r,i,n,s){if(!h.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>n||et.length)throw new RangeError("Index out of range")}function B(t,e,r,i,n){F(e,i,n,t,r,7);let s=Number(e&BigInt(4294967295));t[r++]=s,s>>=8,t[r++]=s,s>>=8,t[r++]=s,s>>=8,t[r++]=s;let o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,r}function L(t,e,r,i,n){F(e,i,n,t,r,7);let s=Number(e&BigInt(4294967295));t[r+7]=s,s>>=8,t[r+6]=s,s>>=8,t[r+5]=s,s>>=8,t[r+4]=s;let o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=o,o>>=8,t[r+2]=o,o>>=8,t[r+1]=o,o>>=8,t[r]=o,r+8}function N(t,e,r,i,n,s){if(r+i>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function j(t,e,r,i,s){return e=+e,r>>>=0,s||N(t,0,r,4),n.write(t,e,r,i,23,4),r+4}function U(t,e,r,i,s){return e=+e,r>>>=0,s||N(t,0,r,8),n.write(t,e,r,i,52,8),r+8}h.prototype.slice=function(t,e){const r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||R(t,e,this.length);let i=this[t],n=1,s=0;for(;++s>>=0,e>>>=0,r||R(t,e,this.length);let i=this[t+--e],n=1;for(;e>0&&(n*=256);)i+=this[t+--e]*n;return i},h.prototype.readUint8=h.prototype.readUInt8=function(t,e){return t>>>=0,e||R(t,1,this.length),this[t]},h.prototype.readUint16LE=h.prototype.readUInt16LE=function(t,e){return t>>>=0,e||R(t,2,this.length),this[t]|this[t+1]<<8},h.prototype.readUint16BE=h.prototype.readUInt16BE=function(t,e){return t>>>=0,e||R(t,2,this.length),this[t]<<8|this[t+1]},h.prototype.readUint32LE=h.prototype.readUInt32LE=function(t,e){return t>>>=0,e||R(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},h.prototype.readUint32BE=h.prototype.readUInt32BE=function(t,e){return t>>>=0,e||R(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},h.prototype.readBigUInt64LE=X((function(t){z(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||$(t,this.length-8);const i=e+256*this[++t]+65536*this[++t]+this[++t]*2**24,n=this[++t]+256*this[++t]+65536*this[++t]+r*2**24;return BigInt(i)+(BigInt(n)<>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||$(t,this.length-8);const i=e*2**24+65536*this[++t]+256*this[++t]+this[++t],n=this[++t]*2**24+65536*this[++t]+256*this[++t]+r;return(BigInt(i)<>>=0,e>>>=0,r||R(t,e,this.length);let i=this[t],n=1,s=0;for(;++s=n&&(i-=Math.pow(2,8*e)),i},h.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||R(t,e,this.length);let i=e,n=1,s=this[t+--i];for(;i>0&&(n*=256);)s+=this[t+--i]*n;return n*=128,s>=n&&(s-=Math.pow(2,8*e)),s},h.prototype.readInt8=function(t,e){return t>>>=0,e||R(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},h.prototype.readInt16LE=function(t,e){t>>>=0,e||R(t,2,this.length);const r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},h.prototype.readInt16BE=function(t,e){t>>>=0,e||R(t,2,this.length);const r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},h.prototype.readInt32LE=function(t,e){return t>>>=0,e||R(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},h.prototype.readInt32BE=function(t,e){return t>>>=0,e||R(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},h.prototype.readBigInt64LE=X((function(t){z(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||$(t,this.length-8);const i=this[t+4]+256*this[t+5]+65536*this[t+6]+(r<<24);return(BigInt(i)<>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||$(t,this.length-8);const i=(e<<24)+65536*this[++t]+256*this[++t]+this[++t];return(BigInt(i)<>>=0,e||R(t,4,this.length),n.read(this,t,!0,23,4)},h.prototype.readFloatBE=function(t,e){return t>>>=0,e||R(t,4,this.length),n.read(this,t,!1,23,4)},h.prototype.readDoubleLE=function(t,e){return t>>>=0,e||R(t,8,this.length),n.read(this,t,!0,52,8)},h.prototype.readDoubleBE=function(t,e){return t>>>=0,e||R(t,8,this.length),n.read(this,t,!1,52,8)},h.prototype.writeUintLE=h.prototype.writeUIntLE=function(t,e,r,i){if(t=+t,e>>>=0,r>>>=0,!i){O(this,t,e,r,Math.pow(2,8*r)-1,0)}let n=1,s=0;for(this[e]=255&t;++s>>=0,r>>>=0,!i){O(this,t,e,r,Math.pow(2,8*r)-1,0)}let n=r-1,s=1;for(this[e+n]=255&t;--n>=0&&(s*=256);)this[e+n]=t/s&255;return e+r},h.prototype.writeUint8=h.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||O(this,t,e,1,255,0),this[e]=255&t,e+1},h.prototype.writeUint16LE=h.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||O(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},h.prototype.writeUint16BE=h.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||O(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},h.prototype.writeUint32LE=h.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||O(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},h.prototype.writeUint32BE=h.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||O(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},h.prototype.writeBigUInt64LE=X((function(t,e=0){return B(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),h.prototype.writeBigUInt64BE=X((function(t,e=0){return L(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),h.prototype.writeIntLE=function(t,e,r,i){if(t=+t,e>>>=0,!i){const i=Math.pow(2,8*r-1);O(this,t,e,r,i-1,-i)}let n=0,s=1,o=0;for(this[e]=255&t;++n>>=0,!i){const i=Math.pow(2,8*r-1);O(this,t,e,r,i-1,-i)}let n=r-1,s=1,o=0;for(this[e+n]=255&t;--n>=0&&(s*=256);)t<0&&0===o&&0!==this[e+n+1]&&(o=1),this[e+n]=(t/s|0)-o&255;return e+r},h.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||O(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},h.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||O(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},h.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||O(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},h.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||O(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},h.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||O(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},h.prototype.writeBigInt64LE=X((function(t,e=0){return B(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),h.prototype.writeBigInt64BE=X((function(t,e=0){return L(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),h.prototype.writeFloatLE=function(t,e,r){return j(this,t,e,!0,r)},h.prototype.writeFloatBE=function(t,e,r){return j(this,t,e,!1,r)},h.prototype.writeDoubleLE=function(t,e,r){return U(this,t,e,!0,r)},h.prototype.writeDoubleBE=function(t,e,r){return U(this,t,e,!1,r)},h.prototype.copy=function(t,e,r,i){if(!h.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),i||0===i||(i=this.length),e>=t.length&&(e=t.length),e||(e=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(n=e;n=i+4;r-=3)e=`_${t.slice(r-3,r)}${e}`;return`${t.slice(0,r)}${e}`}function F(t,e,r,i,n,s){if(t>r||t3?0===e||e===BigInt(0)?`>= 0${i} and < 2${i} ** ${8*(s+1)}${i}`:`>= -(2${i} ** ${8*(s+1)-1}${i}) and < 2 ** ${8*(s+1)-1}${i}`:`>= ${e}${i} and <= ${r}${i}`,new q.ERR_OUT_OF_RANGE("value",n,t)}!function(t,e,r){z(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||$(e,t.length-(r+1))}(i,n,s)}function z(t,e){if("number"!=typeof t)throw new q.ERR_INVALID_ARG_TYPE(e,"number",t)}function $(t,e,r){if(Math.floor(t)!==t)throw z(t,r),new q.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new q.ERR_BUFFER_OUT_OF_BOUNDS;throw new q.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${e}`,t)}D("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?`${t} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),D("ERR_INVALID_ARG_TYPE",(function(t,e){return`The "${t}" argument must be of type number. Received type ${typeof e}`}),TypeError),D("ERR_OUT_OF_RANGE",(function(t,e,r){let i=`The value of "${t}" is out of range.`,n=r;return Number.isInteger(r)&&Math.abs(r)>2**32?n=H(String(r)):"bigint"==typeof r&&(n=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(n=H(n)),n+="n"),i+=` It must be ${e}. Received ${n}`,i}),RangeError);const W=/[^+/0-9A-Za-z-_]/g;function K(t,e){let r;e=e||1/0;const i=t.length;let n=null;const s=[];for(let o=0;o55295&&r<57344){if(!n){if(r>56319){(e-=3)>-1&&s.push(239,191,189);continue}if(o+1===i){(e-=3)>-1&&s.push(239,191,189);continue}n=r;continue}if(r<56320){(e-=3)>-1&&s.push(239,191,189),n=r;continue}r=65536+(n-55296<<10|r-56320)}else n&&(e-=3)>-1&&s.push(239,191,189);if(n=null,r<128){if((e-=1)<0)break;s.push(r)}else if(r<2048){if((e-=2)<0)break;s.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;s.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return s}function V(t){return i.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(W,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function Z(t,e,r,i){let n;for(n=0;n=e.length||n>=t.length);++n)e[n+r]=t[n];return n}function G(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function Y(t){return t!=t}const J=function(){const t="0123456789abcdef",e=new Array(256);for(let r=0;r<16;++r){const i=16*r;for(let n=0;n<16;++n)e[i+n]=t[r]+t[n]}return e}();function X(t){return"undefined"==typeof BigInt?Q:t}function Q(){throw new Error("BigInt not supported")}},8310:(t,e,r)=>{t.exports=n;var i=r(7007).EventEmitter;function n(){i.call(this)}r(6698)(n,i),n.Readable=r(5412),n.Writable=r(6708),n.Duplex=r(5382),n.Transform=r(4610),n.PassThrough=r(3600),n.finished=r(6238),n.pipeline=r(7758),n.Stream=n,n.prototype.pipe=function(t,e){var r=this;function n(e){t.writable&&!1===t.write(e)&&r.pause&&r.pause()}function s(){r.readable&&r.resume&&r.resume()}r.on("data",n),t.on("drain",s),t._isStdio||e&&!1===e.end||(r.on("end",a),r.on("close",h));var o=!1;function a(){o||(o=!0,t.end())}function h(){o||(o=!0,"function"==typeof t.destroy&&t.destroy())}function u(t){if(f(),0===i.listenerCount(this,"error"))throw t}function f(){r.removeListener("data",n),t.removeListener("drain",s),r.removeListener("end",a),r.removeListener("close",h),r.removeListener("error",u),t.removeListener("error",u),r.removeListener("end",f),r.removeListener("close",f),t.removeListener("close",f)}return r.on("error",u),t.on("error",u),r.on("end",f),r.on("close",f),t.on("close",f),t.emit("pipe",r),t}},8330:t=>{t.exports={version:"2.5.19"}},8393:(t,e,r)=>{var i=r(8287),n=i.Buffer;function s(t,e){for(var r in t)e[r]=t[r]}function o(t,e,r){return n(t,e,r)}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?t.exports=i:(s(i,e),e.Buffer=o),s(n,o),o.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return n(t,e,r)},o.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var i=n(t);return void 0!==e?"string"==typeof r?i.fill(e,r):i.fill(e):i.fill(0),i},o.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n(t)},o.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i.SlowBuffer(t)}},8394:(t,e,r)=>{const i=t.exports;i.encode=r(8746),i.decode=r(4662),i.byteLength=i.encodingLength=r(6814)},8403:(t,e,r)=>{var i=r(1189),n=r(1333)(),s=r(6556),o=r(9612),a=s("Array.prototype.push"),h=s("Object.prototype.propertyIsEnumerable"),u=n?o.getOwnPropertySymbols:null;t.exports=function(t,e){if(null==t)throw new TypeError("target must be an object");var r=o(t);if(1===arguments.length)return r;for(var s=1;s{var i=r(717);const n=r(4529).ok,s=r(8310),o=r(7103),a=r(537),h=a,u=r(8287).Buffer,f=r(2728),l=f.CRLF,c=f.chunkExpression,d=f.debug,p=/^Connection$/i,m=/^Transfer-Encoding$/i,g=/close/i,y=/^Content-Length$/i,b=/^Date$/i,v=/^Expect$/i,w=/^Trailer$/i,_={connection:!0,"content-length":!0,"transfer-encoding":!0,date:!0};var M;function S(){if(!M){var t=new Date;M=t.toUTCString(),o.enroll(S,1e3-t.getMilliseconds()),o._unrefActive(S)}return M}function k(){s.call(this),this.output=[],this.outputEncodings=[],this.outputCallbacks=[],this.outputSize=0,this.writable=!0,this._last=!1,this.chunkedEncoding=!1,this.shouldKeepAlive=!0,this.useChunkedEncodingByDefault=!0,this.sendDate=!1,this._removedHeader={},this._contentLength=null,this._hasBody=!0,this._trailer="",this.finished=!1,this._headerSent=!1,this.socket=null,this.connection=null,this._header=null,this._headers=null,this._headerNames={},this._onPendingData=null}function E(t,e,r,i){if(!f._checkIsHttpToken(r))throw new TypeError('Header name must be a valid HTTP Token ["'+r+'"]');if(!0===f._checkInvalidHeaderChar(i))throw new TypeError("The header content contains invalid characters");e.messageHeader+=r+": "+I(i)+l,p.test(r)?(e.sentConnectionHeader=!0,g.test(i)?t._last=!0:t.shouldKeepAlive=!0):m.test(r)?(e.sentTransferEncodingHeader=!0,c.test(i)&&(t.chunkedEncoding=!0)):y.test(r)?e.sentContentLengthHeader=!0:b.test(r)?e.sentDateHeader=!0:v.test(r)?e.sentExpect=!0:w.test(r)&&(e.sentTrailer=!0)}function x(t,e,r){t.emit("error",e),r&&r(e)}function A(t){t.uncork()}function I(t){return/[\r\n]/.test(t)?t.replace(/[\r\n]+[ \t]*/g,""):t}S._onTimeout=function(){M=void 0},a.inherits(k,s),e.OutgoingMessage=k,k.prototype.setTimeout=function(t,e){return e&&this.on("timeout",e),this.socket?this.socket.setTimeout(t):this.once("socket",(function(e){e.setTimeout(t)})),this},k.prototype.destroy=function(t){this.socket?this.socket.destroy(t):this.once("socket",(function(e){e.destroy(t)}))},k.prototype._send=function(t,e,r){return this._headerSent||("string"==typeof t&&"hex"!==e&&"base64"!==e?t=this._header+t:(this.output.unshift(this._header),this.outputEncodings.unshift("binary"),this.outputCallbacks.unshift(null),this.outputSize+=this._header.length,"function"==typeof this._onPendingData&&this._onPendingData(this._header.length)),this._headerSent=!0),this._writeRaw(t,e,r)},k.prototype._writeRaw=function(t,e,r){"function"==typeof e&&(r=e,e=null);var n=this.connection;if(n&&n._httpMessage===this&&n.writable&&!n.destroyed){if(this.output.length>0)this._flushOutput(n);else if(0===t.length)return"function"==typeof r&&i.nextTick(r),!0;return n.write(t,e,r)}return(!n||!n.destroyed)&&this._buffer(t,e,r)},k.prototype._buffer=function(t,e,r){return this.output.push(t),this.outputEncodings.push(e),this.outputCallbacks.push(r),this.outputSize+=t.length,"function"==typeof this._onPendingData&&this._onPendingData(t.length),!1},k.prototype._storeHeader=function(t,e){var r={sentConnectionHeader:!1,sentContentLengthHeader:!1,sentTransferEncodingHeader:!1,sentDateHeader:!1,sentExpect:!1,sentTrailer:!1,messageHeader:t};if(e)for(var i,n,s=Object.keys(e),o=Array.isArray(e),a=0,h=s.length;a{this.emit("finish")};return i=this._hasBody&&this.chunkedEncoding?this._send("0\r\n"+this._trailer+"\r\n","binary",n):this._send("","binary",n),this.connection&&t&&this.connection.uncork(),this.finished=!0,d("outgoing message end."),0===this.output.length&&this.connection&&this.connection._httpMessage===this&&this._finish(),i},k.prototype._finish=function(){n(this.connection),this.emit("prefinish")},k.prototype._flush=function(){var t,e=this.socket;e&&e.writable&&(t=this._flushOutput(e),this.finished?this._finish():t&&this.emit("drain"))},k.prototype._flushOutput=function(t){var e,r=this.output.length;if(r<=0)return e;var i=this.output,n=this.outputEncodings,s=this.outputCallbacks;t.cork();for(var o=0;o{t.exports=function(t){return Math.max(16384,1<{t.exports={"application/andrew-inset":["ez"],"application/applixware":["aw"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomdeleted+xml":["atomdeleted"],"application/atomsvc+xml":["atomsvc"],"application/atsc-dwd+xml":["dwd"],"application/atsc-held+xml":["held"],"application/atsc-rsat+xml":["rsat"],"application/bdoc":["bdoc"],"application/calendar+xml":["xcs"],"application/ccxml+xml":["ccxml"],"application/cdfx+xml":["cdfx"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cu-seeme":["cu"],"application/dash+xml":["mpd"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["es","ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"application/fdt+xml":["fdt"],"application/font-tdpfr":["pfr"],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hjson":["hjson"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/its+xml":["its"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["js","mjs"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lgr+xml":["lgr"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mmt-aei+xml":["maei"],"application/mmt-usd+xml":["musd"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["mp4s","m4p"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/n-quads":["nq"],"application/n-triples":["nt"],"application/node":["cjs"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg"],"application/oxps":["oxps"],"application/p2p-overlay+xml":["relo"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-signature":["asc","sig"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/provenance+xml":["provx"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf","owl"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/route-apd+xml":["rapd"],"application/route-s-tsid+xml":["sls"],"application/route-usd+xml":["rusd"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/senml+xml":["senmlx"],"application/sensml+xml":["sensmlx"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/sieve":["siv","sieve"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/swid+xml":["swidtag"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/toml":["toml"],"application/trig":["trig"],"application/ttml+xml":["ttml"],"application/ubjson":["ubj"],"application/urc-ressheet+xml":["rsheet"],"application/urc-targetdesc+xml":["td"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/xaml+xml":["xaml"],"application/xcap-att+xml":["xav"],"application/xcap-caps+xml":["xca"],"application/xcap-diff+xml":["xdf"],"application/xcap-el+xml":["xel"],"application/xcap-ns+xml":["xns"],"application/xenc+xml":["xenc"],"application/xhtml+xml":["xhtml","xht"],"application/xliff+xml":["xlf"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["*xsl","xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"audio/3gpp":["*3gpp"],"audio/adpcm":["adp"],"audio/amr":["amr"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mobile-xmf":["mxmf"],"audio/mp3":["*mp3"],"audio/mp4":["m4a","mp4a"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx","opus"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/wav":["wav"],"audio/wave":["*wav"],"audio/webm":["weba"],"audio/xm":["xm"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/aces":["exr"],"image/apng":["apng"],"image/avif":["avif"],"image/bmp":["bmp"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"image/emf":["emf"],"image/fits":["fits"],"image/g3fax":["g3"],"image/gif":["gif"],"image/heic":["heic"],"image/heic-sequence":["heics"],"image/heif":["heif"],"image/heif-sequence":["heifs"],"image/hej2k":["hej2"],"image/hsj2":["hsj2"],"image/ief":["ief"],"image/jls":["jls"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpeg","jpg","jpe"],"image/jph":["jph"],"image/jphc":["jhc"],"image/jpm":["jpm"],"image/jpx":["jpx","jpf"],"image/jxr":["jxr"],"image/jxra":["jxra"],"image/jxrs":["jxrs"],"image/jxs":["jxs"],"image/jxsc":["jxsc"],"image/jxsi":["jxsi"],"image/jxss":["jxss"],"image/ktx":["ktx"],"image/ktx2":["ktx2"],"image/png":["png"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/t38":["t38"],"image/tiff":["tif","tiff"],"image/tiff-fx":["tfx"],"image/webp":["webp"],"image/wmf":["wmf"],"message/disposition-notification":["disposition-notification"],"message/global":["u8msg"],"message/global-delivery-status":["u8dsn"],"message/global-disposition-notification":["u8mdn"],"message/global-headers":["u8hdr"],"message/rfc822":["eml","mime"],"model/3mf":["3mf"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["*x3db","x3dbz"],"model/x3d+fastinfoset":["x3db"],"model/x3d+vrml":["*x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"model/x3d-vrml":["x3dv"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["markdown","md"],"text/mathml":["mml"],"text/mdx":["mdx"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/richtext":["rtx"],"text/rtf":["*rtf"],"text/sgml":["sgml","sgm"],"text/shex":["shex"],"text/slim":["slim","slm"],"text/spdx":["spdx"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vtt":["vtt"],"text/xml":["*xml"],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/iso.segment":["m4s"],"video/jpeg":["jpgv"],"video/jpm":["*jpm","jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/webm":["webm"]}},8454:(t,e,r)=>{var i=r(7007),n=r(6698);function s(t){if(!(this instanceof s))return new s(t);"number"==typeof t&&(t={max:t}),t||(t={}),i.EventEmitter.call(this),this.cache={},this.head=this.tail=null,this.length=0,this.max=t.max||1e3,this.maxAge=t.maxAge||0}t.exports=s,n(s,i.EventEmitter),Object.defineProperty(s.prototype,"keys",{get:function(){return Object.keys(this.cache)}}),s.prototype.clear=function(){this.cache={},this.head=this.tail=null,this.length=0},s.prototype.remove=function(t){if("string"!=typeof t&&(t=""+t),this.cache.hasOwnProperty(t)){var e=this.cache[t];return delete this.cache[t],this._unlink(t,e.prev,e.next),e.value}},s.prototype._unlink=function(t,e,r){this.length--,0===this.length?this.head=this.tail=null:this.head===t?(this.head=e,this.cache[this.head].next=null):this.tail===t?(this.tail=r,this.cache[this.tail].prev=null):(this.cache[e].next=r,this.cache[r].prev=e)},s.prototype.peek=function(t){if(this.cache.hasOwnProperty(t)){var e=this.cache[t];if(this._checkAge(t,e))return e.value}},s.prototype.set=function(t,e){var r;if("string"!=typeof t&&(t=""+t),this.cache.hasOwnProperty(t)){if((r=this.cache[t]).value=e,this.maxAge&&(r.modified=Date.now()),t===this.head)return e;this._unlink(t,r.prev,r.next)}else r={value:e,modified:0,next:null,prev:null},this.maxAge&&(r.modified=Date.now()),this.cache[t]=r,this.length===this.max&&this.evict();return this.length++,r.next=null,r.prev=this.head,this.head&&(this.cache[this.head].next=t),this.head=t,this.tail||(this.tail=t),e},s.prototype._checkAge=function(t,e){return!(this.maxAge&&Date.now()-e.modified>this.maxAge)||(this.remove(t),this.emit("evict",{key:t,value:e.value}),!1)},s.prototype.get=function(t){if("string"!=typeof t&&(t=""+t),this.cache.hasOwnProperty(t)){var e=this.cache[t];if(this._checkAge(t,e))return this.head!==t&&(t===this.tail?(this.tail=e.next,this.cache[this.tail].prev=null):this.cache[e.prev].next=e.next,this.cache[e.next].prev=e.prev,this.cache[this.head].next=t,e.prev=this.head,e.next=null,this.head=t),e.value}},s.prototype.evict=function(){if(this.tail){var t=this.tail,e=this.remove(this.tail);this.emit("evict",{key:t,value:e})}}},8490:function(t,e,r){!function(t,e){function i(t,e){if(!t)throw new Error(e||"Assertion failed")}function n(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function s(t,e,r){if(s.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=s:e.BN=s,s.BN=s,s.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(8287).Buffer}catch(t){}function a(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function h(t,e,r){var i=a(t,r);return r-1>=e&&(i|=a(t,r-1)<<4),i}function u(t,e,r,i){for(var n=0,s=Math.min(t.length,r),o=e;o=49?a-49+10:a>=17?a-17+10:a}return n}s.isBN=function(t){return t instanceof s||null!==t&&"object"==typeof t&&t.constructor.wordSize===s.wordSize&&Array.isArray(t.words)},s.max=function(t,e){return t.cmp(e)>0?t:e},s.min=function(t,e){return t.cmp(e)<0?t:e},s.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),i(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n=0;n-=3)o=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[s]|=o<>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);else if("le"===r)for(n=0,s=0;n>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);return this.strip()},s.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i=e;i-=2)n=h(t,e,i)<=18?(s-=18,o+=1,this.words[o]|=n>>>26):s+=8;else for(i=(t.length-e)%2==0?e+1:e;i=18?(s-=18,o+=1,this.words[o]|=n>>>26):s+=8;this.strip()},s.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var s=t.length-r,o=s%i,a=Math.min(s,s-o)+r,h=0,f=r;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var f=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],c=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],s=0|e.words[0],o=n*s,a=67108863&o,h=o/67108864|0;r.words[0]=a;for(var u=1;u>>26,l=67108863&h,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(o=(n=0|t.words[p])*(s=0|e.words[d])+l)/67108864|0,l=67108863&o}r.words[u]=0|l,h=0|f}return 0!==h?r.words[u]=0|h:r.length--,r.strip()}s.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var n=0,s=0,o=0;o>>24-n&16777215,(n+=2)>=26&&(n-=26,o--),r=0!==s||o!==this.length-1?f[6-h.length]+h+r:h+r}for(0!==s&&(r=s.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var u=l[t],d=c[t];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);r=(p=p.idivn(d)).isZero()?m+r:f[u-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(t,e){return i(void 0!==o),this.toArrayLike(o,t,e)},s.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},s.prototype.toArrayLike=function(t,e,r){var n=this.byteLength(),s=r||Math.max(1,n);i(n<=s,"byte array longer than desired length"),i(s>0,"Requested array length <= 0"),this.strip();var o,a,h="le"===e,u=new t(s),f=this.clone();if(h){for(a=0;!f.isZero();a++)o=f.andln(255),f.iushrn(8),u[a]=o;for(;a=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},s.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 8191&e||(r+=13,e>>>=13),127&e||(r+=7,e>>>=7),15&e||(r+=4,e>>>=4),3&e||(r+=2,e>>>=2),1&e||r++,r},s.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},s.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},s.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},s.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},s.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},s.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},s.prototype.inotn=function(t){i("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},s.prototype.notn=function(t){return this.clone().inotn(t)},s.prototype.setn=function(t,e){i("number"==typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,s=0;s>>26;for(;0!==n&&s>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;st.length?this.clone().iadd(t):t.clone().iadd(this)},s.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var s=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==s&&o>26,this.words[o]=67108863&e;if(0===s&&o>>13,d=0|o[1],p=8191&d,m=d>>>13,g=0|o[2],y=8191&g,b=g>>>13,v=0|o[3],w=8191&v,_=v>>>13,M=0|o[4],S=8191&M,k=M>>>13,E=0|o[5],x=8191&E,A=E>>>13,I=0|o[6],T=8191&I,P=I>>>13,C=0|o[7],R=8191&C,O=C>>>13,B=0|o[8],L=8191&B,N=B>>>13,j=0|o[9],U=8191&j,q=j>>>13,D=0|a[0],H=8191&D,F=D>>>13,z=0|a[1],$=8191&z,W=z>>>13,K=0|a[2],V=8191&K,Z=K>>>13,G=0|a[3],Y=8191&G,J=G>>>13,X=0|a[4],Q=8191&X,tt=X>>>13,et=0|a[5],rt=8191&et,it=et>>>13,nt=0|a[6],st=8191&nt,ot=nt>>>13,at=0|a[7],ht=8191&at,ut=at>>>13,ft=0|a[8],lt=8191&ft,ct=ft>>>13,dt=0|a[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,H))|0)+((8191&(n=(n=Math.imul(l,F))+Math.imul(c,H)|0))<<13)|0;u=((s=Math.imul(c,F))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,H),n=(n=Math.imul(p,F))+Math.imul(m,H)|0,s=Math.imul(m,F);var yt=(u+(i=i+Math.imul(l,$)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,$)|0))<<13)|0;u=((s=s+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,H),n=(n=Math.imul(y,F))+Math.imul(b,H)|0,s=Math.imul(b,F),i=i+Math.imul(p,$)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,$)|0,s=s+Math.imul(m,W)|0;var bt=(u+(i=i+Math.imul(l,V)|0)|0)+((8191&(n=(n=n+Math.imul(l,Z)|0)+Math.imul(c,V)|0))<<13)|0;u=((s=s+Math.imul(c,Z)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(w,H),n=(n=Math.imul(w,F))+Math.imul(_,H)|0,s=Math.imul(_,F),i=i+Math.imul(y,$)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(b,$)|0,s=s+Math.imul(b,W)|0,i=i+Math.imul(p,V)|0,n=(n=n+Math.imul(p,Z)|0)+Math.imul(m,V)|0,s=s+Math.imul(m,Z)|0;var vt=(u+(i=i+Math.imul(l,Y)|0)|0)+((8191&(n=(n=n+Math.imul(l,J)|0)+Math.imul(c,Y)|0))<<13)|0;u=((s=s+Math.imul(c,J)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(S,H),n=(n=Math.imul(S,F))+Math.imul(k,H)|0,s=Math.imul(k,F),i=i+Math.imul(w,$)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(_,$)|0,s=s+Math.imul(_,W)|0,i=i+Math.imul(y,V)|0,n=(n=n+Math.imul(y,Z)|0)+Math.imul(b,V)|0,s=s+Math.imul(b,Z)|0,i=i+Math.imul(p,Y)|0,n=(n=n+Math.imul(p,J)|0)+Math.imul(m,Y)|0,s=s+Math.imul(m,J)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((s=s+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(x,H),n=(n=Math.imul(x,F))+Math.imul(A,H)|0,s=Math.imul(A,F),i=i+Math.imul(S,$)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(k,$)|0,s=s+Math.imul(k,W)|0,i=i+Math.imul(w,V)|0,n=(n=n+Math.imul(w,Z)|0)+Math.imul(_,V)|0,s=s+Math.imul(_,Z)|0,i=i+Math.imul(y,Y)|0,n=(n=n+Math.imul(y,J)|0)+Math.imul(b,Y)|0,s=s+Math.imul(b,J)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,s=s+Math.imul(m,tt)|0;var _t=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((s=s+Math.imul(c,it)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(T,H),n=(n=Math.imul(T,F))+Math.imul(P,H)|0,s=Math.imul(P,F),i=i+Math.imul(x,$)|0,n=(n=n+Math.imul(x,W)|0)+Math.imul(A,$)|0,s=s+Math.imul(A,W)|0,i=i+Math.imul(S,V)|0,n=(n=n+Math.imul(S,Z)|0)+Math.imul(k,V)|0,s=s+Math.imul(k,Z)|0,i=i+Math.imul(w,Y)|0,n=(n=n+Math.imul(w,J)|0)+Math.imul(_,Y)|0,s=s+Math.imul(_,J)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(b,Q)|0,s=s+Math.imul(b,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,s=s+Math.imul(m,it)|0;var Mt=(u+(i=i+Math.imul(l,st)|0)|0)+((8191&(n=(n=n+Math.imul(l,ot)|0)+Math.imul(c,st)|0))<<13)|0;u=((s=s+Math.imul(c,ot)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(R,H),n=(n=Math.imul(R,F))+Math.imul(O,H)|0,s=Math.imul(O,F),i=i+Math.imul(T,$)|0,n=(n=n+Math.imul(T,W)|0)+Math.imul(P,$)|0,s=s+Math.imul(P,W)|0,i=i+Math.imul(x,V)|0,n=(n=n+Math.imul(x,Z)|0)+Math.imul(A,V)|0,s=s+Math.imul(A,Z)|0,i=i+Math.imul(S,Y)|0,n=(n=n+Math.imul(S,J)|0)+Math.imul(k,Y)|0,s=s+Math.imul(k,J)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,s=s+Math.imul(_,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(b,rt)|0,s=s+Math.imul(b,it)|0,i=i+Math.imul(p,st)|0,n=(n=n+Math.imul(p,ot)|0)+Math.imul(m,st)|0,s=s+Math.imul(m,ot)|0;var St=(u+(i=i+Math.imul(l,ht)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,ht)|0))<<13)|0;u=((s=s+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(L,H),n=(n=Math.imul(L,F))+Math.imul(N,H)|0,s=Math.imul(N,F),i=i+Math.imul(R,$)|0,n=(n=n+Math.imul(R,W)|0)+Math.imul(O,$)|0,s=s+Math.imul(O,W)|0,i=i+Math.imul(T,V)|0,n=(n=n+Math.imul(T,Z)|0)+Math.imul(P,V)|0,s=s+Math.imul(P,Z)|0,i=i+Math.imul(x,Y)|0,n=(n=n+Math.imul(x,J)|0)+Math.imul(A,Y)|0,s=s+Math.imul(A,J)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(k,Q)|0,s=s+Math.imul(k,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(_,rt)|0,s=s+Math.imul(_,it)|0,i=i+Math.imul(y,st)|0,n=(n=n+Math.imul(y,ot)|0)+Math.imul(b,st)|0,s=s+Math.imul(b,ot)|0,i=i+Math.imul(p,ht)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,ht)|0,s=s+Math.imul(m,ut)|0;var kt=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((s=s+Math.imul(c,ct)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(U,H),n=(n=Math.imul(U,F))+Math.imul(q,H)|0,s=Math.imul(q,F),i=i+Math.imul(L,$)|0,n=(n=n+Math.imul(L,W)|0)+Math.imul(N,$)|0,s=s+Math.imul(N,W)|0,i=i+Math.imul(R,V)|0,n=(n=n+Math.imul(R,Z)|0)+Math.imul(O,V)|0,s=s+Math.imul(O,Z)|0,i=i+Math.imul(T,Y)|0,n=(n=n+Math.imul(T,J)|0)+Math.imul(P,Y)|0,s=s+Math.imul(P,J)|0,i=i+Math.imul(x,Q)|0,n=(n=n+Math.imul(x,tt)|0)+Math.imul(A,Q)|0,s=s+Math.imul(A,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(k,rt)|0,s=s+Math.imul(k,it)|0,i=i+Math.imul(w,st)|0,n=(n=n+Math.imul(w,ot)|0)+Math.imul(_,st)|0,s=s+Math.imul(_,ot)|0,i=i+Math.imul(y,ht)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(b,ht)|0,s=s+Math.imul(b,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,s=s+Math.imul(m,ct)|0;var Et=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((s=s+Math.imul(c,mt)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(U,$),n=(n=Math.imul(U,W))+Math.imul(q,$)|0,s=Math.imul(q,W),i=i+Math.imul(L,V)|0,n=(n=n+Math.imul(L,Z)|0)+Math.imul(N,V)|0,s=s+Math.imul(N,Z)|0,i=i+Math.imul(R,Y)|0,n=(n=n+Math.imul(R,J)|0)+Math.imul(O,Y)|0,s=s+Math.imul(O,J)|0,i=i+Math.imul(T,Q)|0,n=(n=n+Math.imul(T,tt)|0)+Math.imul(P,Q)|0,s=s+Math.imul(P,tt)|0,i=i+Math.imul(x,rt)|0,n=(n=n+Math.imul(x,it)|0)+Math.imul(A,rt)|0,s=s+Math.imul(A,it)|0,i=i+Math.imul(S,st)|0,n=(n=n+Math.imul(S,ot)|0)+Math.imul(k,st)|0,s=s+Math.imul(k,ot)|0,i=i+Math.imul(w,ht)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(_,ht)|0,s=s+Math.imul(_,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(b,lt)|0,s=s+Math.imul(b,ct)|0;var xt=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((s=s+Math.imul(m,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(U,V),n=(n=Math.imul(U,Z))+Math.imul(q,V)|0,s=Math.imul(q,Z),i=i+Math.imul(L,Y)|0,n=(n=n+Math.imul(L,J)|0)+Math.imul(N,Y)|0,s=s+Math.imul(N,J)|0,i=i+Math.imul(R,Q)|0,n=(n=n+Math.imul(R,tt)|0)+Math.imul(O,Q)|0,s=s+Math.imul(O,tt)|0,i=i+Math.imul(T,rt)|0,n=(n=n+Math.imul(T,it)|0)+Math.imul(P,rt)|0,s=s+Math.imul(P,it)|0,i=i+Math.imul(x,st)|0,n=(n=n+Math.imul(x,ot)|0)+Math.imul(A,st)|0,s=s+Math.imul(A,ot)|0,i=i+Math.imul(S,ht)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(k,ht)|0,s=s+Math.imul(k,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(_,lt)|0,s=s+Math.imul(_,ct)|0;var At=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(b,pt)|0))<<13)|0;u=((s=s+Math.imul(b,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(U,Y),n=(n=Math.imul(U,J))+Math.imul(q,Y)|0,s=Math.imul(q,J),i=i+Math.imul(L,Q)|0,n=(n=n+Math.imul(L,tt)|0)+Math.imul(N,Q)|0,s=s+Math.imul(N,tt)|0,i=i+Math.imul(R,rt)|0,n=(n=n+Math.imul(R,it)|0)+Math.imul(O,rt)|0,s=s+Math.imul(O,it)|0,i=i+Math.imul(T,st)|0,n=(n=n+Math.imul(T,ot)|0)+Math.imul(P,st)|0,s=s+Math.imul(P,ot)|0,i=i+Math.imul(x,ht)|0,n=(n=n+Math.imul(x,ut)|0)+Math.imul(A,ht)|0,s=s+Math.imul(A,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(k,lt)|0,s=s+Math.imul(k,ct)|0;var It=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;u=((s=s+Math.imul(_,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(U,Q),n=(n=Math.imul(U,tt))+Math.imul(q,Q)|0,s=Math.imul(q,tt),i=i+Math.imul(L,rt)|0,n=(n=n+Math.imul(L,it)|0)+Math.imul(N,rt)|0,s=s+Math.imul(N,it)|0,i=i+Math.imul(R,st)|0,n=(n=n+Math.imul(R,ot)|0)+Math.imul(O,st)|0,s=s+Math.imul(O,ot)|0,i=i+Math.imul(T,ht)|0,n=(n=n+Math.imul(T,ut)|0)+Math.imul(P,ht)|0,s=s+Math.imul(P,ut)|0,i=i+Math.imul(x,lt)|0,n=(n=n+Math.imul(x,ct)|0)+Math.imul(A,lt)|0,s=s+Math.imul(A,ct)|0;var Tt=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(k,pt)|0))<<13)|0;u=((s=s+Math.imul(k,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(U,rt),n=(n=Math.imul(U,it))+Math.imul(q,rt)|0,s=Math.imul(q,it),i=i+Math.imul(L,st)|0,n=(n=n+Math.imul(L,ot)|0)+Math.imul(N,st)|0,s=s+Math.imul(N,ot)|0,i=i+Math.imul(R,ht)|0,n=(n=n+Math.imul(R,ut)|0)+Math.imul(O,ht)|0,s=s+Math.imul(O,ut)|0,i=i+Math.imul(T,lt)|0,n=(n=n+Math.imul(T,ct)|0)+Math.imul(P,lt)|0,s=s+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(x,pt)|0)|0)+((8191&(n=(n=n+Math.imul(x,mt)|0)+Math.imul(A,pt)|0))<<13)|0;u=((s=s+Math.imul(A,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(U,st),n=(n=Math.imul(U,ot))+Math.imul(q,st)|0,s=Math.imul(q,ot),i=i+Math.imul(L,ht)|0,n=(n=n+Math.imul(L,ut)|0)+Math.imul(N,ht)|0,s=s+Math.imul(N,ut)|0,i=i+Math.imul(R,lt)|0,n=(n=n+Math.imul(R,ct)|0)+Math.imul(O,lt)|0,s=s+Math.imul(O,ct)|0;var Ct=(u+(i=i+Math.imul(T,pt)|0)|0)+((8191&(n=(n=n+Math.imul(T,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((s=s+Math.imul(P,mt)|0)+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(U,ht),n=(n=Math.imul(U,ut))+Math.imul(q,ht)|0,s=Math.imul(q,ut),i=i+Math.imul(L,lt)|0,n=(n=n+Math.imul(L,ct)|0)+Math.imul(N,lt)|0,s=s+Math.imul(N,ct)|0;var Rt=(u+(i=i+Math.imul(R,pt)|0)|0)+((8191&(n=(n=n+Math.imul(R,mt)|0)+Math.imul(O,pt)|0))<<13)|0;u=((s=s+Math.imul(O,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(U,lt),n=(n=Math.imul(U,ct))+Math.imul(q,lt)|0,s=Math.imul(q,ct);var Ot=(u+(i=i+Math.imul(L,pt)|0)|0)+((8191&(n=(n=n+Math.imul(L,mt)|0)+Math.imul(N,pt)|0))<<13)|0;u=((s=s+Math.imul(N,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var Bt=(u+(i=Math.imul(U,pt))|0)+((8191&(n=(n=Math.imul(U,mt))+Math.imul(q,pt)|0))<<13)|0;return u=((s=Math.imul(q,mt))+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,h[0]=gt,h[1]=yt,h[2]=bt,h[3]=vt,h[4]=wt,h[5]=_t,h[6]=Mt,h[7]=St,h[8]=kt,h[9]=Et,h[10]=xt,h[11]=At,h[12]=It,h[13]=Tt,h[14]=Pt,h[15]=Ct,h[16]=Rt,h[17]=Ot,h[18]=Bt,0!==u&&(h[19]=u,r.length++),r};function m(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(p=d),s.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?p(this,t,e):i<63?d(this,t,e):i<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,s=0;s>>26)|0)>>>26,o&=67108863}r.words[s]=a,i=o,o=n}return 0!==i?r.words[s]=i:r.length--,r.strip()}(this,t,e):m(this,t,e),r},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=s.prototype._countBits(t)-1,i=0;i>=1;return i},g.prototype.permute=function(t,e,r,i,n,s){for(var o=0;o>>=1)n++;return 1<>>=13,r[2*o+1]=8191&s,s>>>=13;for(o=2*e;o>=26,e+=n/67108864|0,e+=s>>>26,this.words[r]=67108863&s}return 0!==e&&(this.words[r]=e,this.length++),this},s.prototype.muln=function(t){return this.clone().imuln(t)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>n}return e}(t);if(0===e.length)return new s(1);for(var r=this,i=0;i=0);var e,r=t%26,n=(t-r)/26,s=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var s=t%26,o=Math.min((t-s)/26,this.length),a=67108863^67108863>>>s<o)for(this.length-=o,u=0;u=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-s|l>>>s,f=l&a}return h&&0!==f&&(h.words[h.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},s.prototype.shln=function(t){return this.clone().ishln(t)},s.prototype.ushln=function(t){return this.clone().iushln(t)},s.prototype.shrn=function(t){return this.clone().ishrn(t)},s.prototype.ushrn=function(t){return this.clone().iushrn(t)},s.prototype.testn=function(t){i("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},s.prototype.isubn=function(t){if(i("number"==typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(h/67108864|0),this.words[n+r]=67108863&s}for(;n>26,this.words[n+r]=67108863&s;if(0===a)return this.strip();for(i(-1===a),a=0,n=0;n>26,this.words[n]=67108863&s;return this.negative=1,this.strip()},s.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),n=t,o=0|n.words[n.length-1];0!==(r=26-this._countBits(o))&&(n=n.ushln(r),i.iushln(r),o=0|n.words[n.length-1]);var a,h=i.length-n.length;if("mod"!==e){(a=new s(null)).length=h+1,a.words=new Array(a.length);for(var u=0;u=0;l--){var c=67108864*(0|i.words[n.length+l])+(0|i.words[n.length+l-1]);for(c=Math.min(c/o|0,67108863),i._ishlnsubmul(n,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(n,1,l),i.isZero()||(i.negative^=1);a&&(a.words[l]=c)}return a&&a.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:a||null,mod:i}},s.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(n=a.div.neg()),"div"!==e&&(o=a.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:n,mod:o}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(n=a.div.neg()),{div:n,mod:a.mod}):this.negative&t.negative?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(o=a.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:a.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new s(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new s(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new s(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,o,a},s.prototype.div=function(t){return this.divmod(t,"div",!1).div},s.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},s.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},s.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),s=r.cmp(i);return s<0||1===n&&0===s?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},s.prototype.modn=function(t){i(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;n>=0;n--)r=(e*r+(0|this.words[n]))%t;return r},s.prototype.idivn=function(t){i(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},s.prototype.divn=function(t){return this.clone().idivn(t)},s.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n=new s(1),o=new s(0),a=new s(0),h=new s(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var f=r.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;!(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(f),o.isub(l)),n.iushrn(1),o.iushrn(1);for(var p=0,m=1;!(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(a.isOdd()||h.isOdd())&&(a.iadd(f),h.isub(l)),a.iushrn(1),h.iushrn(1);e.cmp(r)>=0?(e.isub(r),n.isub(a),o.isub(h)):(r.isub(e),a.isub(n),h.isub(o))}return{a,b:h,gcd:r.iushln(u)}},s.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n,o=new s(1),a=new s(0),h=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,f=1;!(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)o.isOdd()&&o.iadd(h),o.iushrn(1);for(var l=0,c=1;!(r.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(r.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(h),a.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(a)):(r.isub(e),a.isub(o))}return(n=0===e.cmpn(1)?o:a).cmpn(0)<0&&n.iadd(t),n},s.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var s=e;e=r,r=s}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},s.prototype.invm=function(t){return this.egcd(t).a.umod(t)},s.prototype.isEven=function(){return!(1&this.words[0])},s.prototype.isOdd=function(){return!(1&~this.words[0])},s.prototype.andln=function(t){return this.words[0]&t},s.prototype.bincn=function(t){i("number"==typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,a&=67108863,this.words[o]=a}return 0!==s&&(this.words[o]=s,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},s.prototype.gtn=function(t){return 1===this.cmpn(t)},s.prototype.gt=function(t){return 1===this.cmp(t)},s.prototype.gten=function(t){return this.cmpn(t)>=0},s.prototype.gte=function(t){return this.cmp(t)>=0},s.prototype.ltn=function(t){return-1===this.cmpn(t)},s.prototype.lt=function(t){return-1===this.cmp(t)},s.prototype.lten=function(t){return this.cmpn(t)<=0},s.prototype.lte=function(t){return this.cmp(t)<=0},s.prototype.eqn=function(t){return 0===this.cmpn(t)},s.prototype.eq=function(t){return 0===this.cmp(t)},s.red=function(t){return new S(t)},s.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},s.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(t){return this.red=t,this},s.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},s.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},s.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},s.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},s.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},s.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},s.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},s.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},s.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function b(t,e){this.name=t,this.p=new s(e,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function w(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function S(t){if("string"==typeof t){var e=s._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){S.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var t=new s(null);return t.words=new Array(Math.ceil(this.n/13)),t},b.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},b.prototype.split=function(t,e){t.iushrn(this.n,0,e)},b.prototype.imulK=function(t){return t.imul(this.k)},n(v,b),v.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,s=o}s>>>=22,t.words[n-10]=s,0===s&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},s._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new w;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return y[t]=e,e},S.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},S.prototype._verify2=function(t,e){i(!(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},S.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},S.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},S.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},S.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},S.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},S.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},S.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},S.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},S.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},S.prototype.isqr=function(t){return this.imul(t,t.clone())},S.prototype.sqr=function(t){return this.mul(t,t)},S.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2==1),3===e){var r=this.m.add(new s(1)).iushrn(2);return this.pow(t,r)}for(var n=this.m.subn(1),o=0;!n.isZero()&&0===n.andln(1);)o++,n.iushrn(1);i(!n.isZero());var a=new s(1).toRed(this),h=a.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new s(2*f*f).toRed(this);0!==this.pow(f,u).cmp(h);)f.redIAdd(h);for(var l=this.pow(f,n),c=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=o;0!==d.cmp(a);){for(var m=d,g=0;0!==m.cmp(a);g++)m=m.redSqr();i(g=0;i--){for(var u=e.words[i],f=h-1;f>=0;f--){var l=u>>f&1;n!==r[0]&&(n=this.sqr(n)),0!==l||0!==o?(o<<=1,o|=l,(4===++a||0===i&&0===f)&&(n=this.mul(n,r[o]),a=0,o=0)):a=0}h=26}return n},S.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},S.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},s.mont=function(t){return new k(t)},n(k,S),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),s=n;return n.cmp(this.m)>=0?s=n.isub(this.m):n.cmpn(0)<0&&(s=n.iadd(this.m)),s._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new s(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=r.nmd(t),this)},8499:(t,e,r)=>{const{TokenBucket:i}=r(9439),n=r(8765);t.exports=class{constructor(t={}){if("object"!=typeof t)throw new Error("Options must be an object");this.throttles=[],this.setEnabled(t.enabled),this.setRate(t.rate,t.chunksize)}getEnabled(){return this._enabled}getRate(){return this.bucket.tokensPerInterval}getChunksize(){return this.chunksize}setEnabled(t=!0){if("boolean"!=typeof t)throw new Error("Enabled must be a boolean");this._enabled=t;for(const e of this.throttles)e.setEnabled(t)}setRate(t,e=null){if(!Number.isInteger(t)||t<0)throw new Error("Rate must be an integer bigger than zero");if(t=parseInt(t),e&&("number"!=typeof e||e<=0))throw new Error("Chunksize must be bigger than zero");if(e=e||Math.max(parseInt(t/10),1),e=parseInt(e),t>0&&e>t)throw new Error("Chunk size must be smaller than rate");this.bucket||(this.bucket=new i(t,t,"second",null)),this.bucket.bucketSize=t,this.bucket.tokensPerInterval=t,this.chunksize=e}setChunksize(t){if(!Number.isInteger(t)||t<=0)throw new Error("Chunk size must be an integer bigger than zero");const e=this.getRate();if(t=parseInt(t),e>0&&t>e)throw new Error("Chunk size must be smaller than rate");this.chunksize=t}throttle(t={}){if("object"!=typeof t)throw new Error("Options must be an object");return new n({...t,group:this})}destroy(){for(const t of this.throttles)t.destroy();this.throttles=[]}_addThrottle(t){if(!(t instanceof n))throw new Error("Throttle must be an instance of Throttle");this.throttles.push(t)}_removeThrottle(t){const e=this.throttles.indexOf(t);e>-1&&this.throttles.splice(e,1)}}},8545:(t,e,r)=>{var i=r(8490),n=r(7011),s=n.assert;function o(t,e){if(t instanceof o)return t;this._importDER(t,e)||(s(t.r&&t.s,"Signature without r or s"),this.r=new i(t.r,16),this.s=new i(t.s,16),void 0===t.recoveryParam?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}function a(){this.place=0}function h(t,e){var r=t[e.place++];if(!(128&r))return r;var i=15&r;if(0===i||i>4)return!1;if(0===t[e.place])return!1;for(var n=0,s=0,o=e.place;s>>=0;return!(n<=127)&&(e.place=o,n)}function u(t){for(var e=0,r=t.length-1;!t[e]&&!(128&t[e+1])&&e>>3);for(t.push(128|r);--r;)t.push(e>>>(r<<3)&255);t.push(e)}}t.exports=o,o.prototype._importDER=function(t,e){t=n.toArray(t,e);var r=new a;if(48!==t[r.place++])return!1;var s=h(t,r);if(!1===s)return!1;if(s+r.place!==t.length)return!1;if(2!==t[r.place++])return!1;var o=h(t,r);if(!1===o)return!1;if(128&t[r.place])return!1;var u=t.slice(r.place,o+r.place);if(r.place+=o,2!==t[r.place++])return!1;var f=h(t,r);if(!1===f)return!1;if(t.length!==f+r.place)return!1;if(128&t[r.place])return!1;var l=t.slice(r.place,f+r.place);if(0===u[0]){if(!(128&u[1]))return!1;u=u.slice(1)}if(0===l[0]){if(!(128&l[1]))return!1;l=l.slice(1)}return this.r=new i(u),this.s=new i(l),this.recoveryParam=null,!0},o.prototype.toDER=function(t){var e=this.r.toArray(),r=this.s.toArray();for(128&e[0]&&(e=[0].concat(e)),128&r[0]&&(r=[0].concat(r)),e=u(e),r=u(r);!(r[0]||128&r[1]);)r=r.slice(1);var i=[2];f(i,e.length),(i=i.concat(e)).push(2),f(i,r.length);var s=i.concat(r),o=[48];return f(o,s.length),o=o.concat(s),n.encode(o,t)}},8636:(t,e,r)=>{var i=r(920),n=r(7720),s=r(4765),o=Object.prototype.hasOwnProperty,a={brackets:function(t){return t+"[]"},comma:"comma",indices:function(t,e){return t+"["+e+"]"},repeat:function(t){return t}},h=Array.isArray,u=Array.prototype.push,f=function(t,e){u.apply(t,h(e)?e:[e])},l=Date.prototype.toISOString,c=s.default,d={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:n.encode,encodeValuesOnly:!1,format:c,formatter:s.formatters[c],indices:!1,serializeDate:function(t){return l.call(t)},skipNulls:!1,strictNullHandling:!1},p={},m=function t(e,r,s,o,a,u,l,c,m,g,y,b,v,w,_,M,S,k){for(var E,x=e,A=k,I=0,T=!1;void 0!==(A=A.get(p))&&!T;){var P=A.get(e);if(I+=1,void 0!==P){if(P===I)throw new RangeError("Cyclic object value");T=!0}void 0===A.get(p)&&(I=0)}if("function"==typeof g?x=g(r,x):x instanceof Date?x=v(x):"comma"===s&&h(x)&&(x=n.maybeMap(x,(function(t){return t instanceof Date?v(t):t}))),null===x){if(u)return m&&!M?m(r,d.encoder,S,"key",w):r;x=""}if("string"==typeof(E=x)||"number"==typeof E||"boolean"==typeof E||"symbol"==typeof E||"bigint"==typeof E||n.isBuffer(x))return m?[_(M?r:m(r,d.encoder,S,"key",w))+"="+_(m(x,d.encoder,S,"value",w))]:[_(r)+"="+_(String(x))];var C,R=[];if(void 0===x)return R;if("comma"===s&&h(x))M&&m&&(x=n.maybeMap(x,m)),C=[{value:x.length>0?x.join(",")||null:void 0}];else if(h(g))C=g;else{var O=Object.keys(x);C=y?O.sort(y):O}var B=c?r.replace(/\./g,"%2E"):r,L=o&&h(x)&&1===x.length?B+"[]":B;if(a&&h(x)&&0===x.length)return L+"[]";for(var N=0;N0?w+v:""}},8648:t=>{t.exports="undefined"!=typeof Reflect&&Reflect.getPrototypeOf||null},8650:(t,e,r)=>{var i=r(7952),n=r(480),s=r(7011),o=s.assert,a=s.parseBytes,h=r(6661),u=r(220);function f(t){if(o("ed25519"===t,"only tested with ed25519 so far"),!(this instanceof f))return new f(t);t=n[t].curve,this.curve=t,this.g=t.g,this.g.precompute(t.n.bitLength()+1),this.pointClass=t.point().constructor,this.encodingLength=Math.ceil(t.n.bitLength()/8),this.hash=i.sha512}t.exports=f,f.prototype.sign=function(t,e){t=a(t);var r=this.keyFromSecret(e),i=this.hashInt(r.messagePrefix(),t),n=this.g.mul(i),s=this.encodePoint(n),o=this.hashInt(s,r.pubBytes(),t).mul(r.priv()),h=i.add(o).umod(this.curve.n);return this.makeSignature({R:n,S:h,Rencoded:s})},f.prototype.verify=function(t,e,r){if(t=a(t),(e=this.makeSignature(e)).S().gte(e.eddsa.curve.n)||e.S().isNeg())return!1;var i=this.keyFromPublic(r),n=this.hashInt(e.Rencoded(),i.pubBytes(),t),s=this.g.mul(e.S());return e.R().add(i.pub().mul(n)).eq(s)},f.prototype.hashInt=function(){for(var t=this.hash(),e=0;e{function e(){this._types=Object.create(null),this._extensions=Object.create(null);for(let t=0;t{function e(t){return parseInt(t,10)===t}function r(t){function r(e){if(void 0===e){e=new Array(t);for(var r=0;r{var i=r(8287).Buffer;const{getType:n}=r(7972);function s(t,e,r){const n=[];let o=null;return s._encode(n,t),o=i.concat(n),s.bytes=o.length,i.isBuffer(e)?(o.copy(e,r),e):o}s.bytes=-1,s._floatConversionDetected=!1,s._encode=function(t,e){if(null!=e)switch(n(e)){case"buffer":s.buffer(t,e);break;case"object":s.dict(t,e);break;case"map":s.dictMap(t,e);break;case"array":s.list(t,e);break;case"set":s.listSet(t,e);break;case"string":s.string(t,e);break;case"number":case"boolean":s.number(t,e);break;case"arraybufferview":s.buffer(t,i.from(e.buffer,e.byteOffset,e.byteLength));break;case"arraybuffer":s.buffer(t,i.from(e))}};const o=i.from("e"),a=i.from("d"),h=i.from("l");s.buffer=function(t,e){t.push(i.from(e.length+":"),e)},s.string=function(t,e){t.push(i.from(i.byteLength(e)+":"+e))},s.number=function(t,e){const r=2147483648,n=(e/r|0)*r+(e%r|0);t.push(i.from("i"+n+"e")),n===e||s._floatConversionDetected||(s._floatConversionDetected=!0,console.warn('WARNING: Possible data corruption detected with value "'+e+'":','Bencoding only defines support for integers, value was converted to "'+n+'"'),console.trace())},s.dict=function(t,e){t.push(a);let r,i=0;const n=Object.keys(e).sort(),h=n.length;for(;i{var i=r(717);const n=r(8957),s=r(537),o=r(7007),a=s.debuglog("http");function h(t){if(!(this instanceof h))return new h(t);o.call(this);var e=this;e.defaultPort=80,e.protocol="http:",e.options=s._extend({},t),e.options.path=null,e.requests={},e.sockets={},e.freeSockets={},e.keepAliveMsecs=e.options.keepAliveMsecs||1e3,e.keepAlive=e.options.keepAlive||!1,e.maxSockets=e.options.maxSockets||h.defaultMaxSockets,e.maxFreeSockets=e.options.maxFreeSockets||256,e.on("free",(function(t,r){var i=e.getName(r);if(a("agent.on(free)",i),t.writable&&e.requests[i]&&e.requests[i].length)e.requests[i].shift().onSocket(t),0===e.requests[i].length&&delete e.requests[i];else{var n=t._httpMessage;if(n&&n.shouldKeepAlive&&t.writable&&e.keepAlive){var s=e.freeSockets[i],o=s?s.length:0,h=o;e.sockets[i]&&(h+=e.sockets[i].length),h>e.maxSockets||o>=e.maxFreeSockets?t.destroy():(s=s||[],e.freeSockets[i]=s,t.setKeepAlive(!0,e.keepAliveMsecs),t.unref(),t._httpMessage=null,e.removeSocket(t,r),s.push(t))}else t.destroy()}}))}s.inherits(h,o),e.Agent=h,h.defaultMaxSockets=1/0,h.prototype.createConnection=n.createConnection,h.prototype.getName=function(t){var e=t.host||"localhost";return e+=":",t.port&&(e+=t.port),e+=":",t.localAddress&&(e+=t.localAddress),4!==t.family&&6!==t.family||(e+=":"+t.family),e},h.prototype.addRequest=function(t,e){"string"==typeof e&&(e={host:e,port:arguments[2],localAddress:arguments[3]}),e=s._extend({},e),e=s._extend(e,this.options);var r=this.getName(e);this.sockets[r]||(this.sockets[r]=[]);var n=this.freeSockets[r]?this.freeSockets[r].length:0,o=n+this.sockets[r].length;if(n){var h=this.freeSockets[r].shift();a("have free socket"),this.freeSockets[r].length||delete this.freeSockets[r],h.ref(),t.onSocket(h),this.sockets[r].push(h)}else o{const{EventEmitter:i}=r(7007),{Transform:n}=r(8179),{wait:s}=r(2072);t.exports=class extends n{constructor(t={}){if(super(),"object"!=typeof t)throw new Error("Options must be an object");const e=Object.assign({},t);if(e.group&&!(e.group instanceof o))throw new Error("Group must be an instanece of ThrottleGroup");e.group||(e.group=new o(e)),this._setEnabled(e.enabled||e.group.enabled),this._group=e.group,this._emitter=new i,this._destroyed=!1,this._group._addThrottle(this)}getEnabled(){return this._enabled}getGroup(){return this._group}_setEnabled(t=!0){if("boolean"!=typeof t)throw new Error("Enabled must be a boolean");this._enabled=t}setEnabled(t){this._setEnabled(t),this._enabled?this._emitter.emit("enabled"):this._emitter.emit("disabled")}_transform(t,e){this._processChunk(t,e)}async _waitForTokens(t){return new Promise(((e,r)=>{let i=!1;const n=this;function s(t){if(n._emitter.removeListener("disabled",s),n._emitter.removeListener("destroyed",s),!i){if(i=!0,t)return r(t);e()}}this._emitter.once("disabled",s),this._emitter.once("destroyed",s),this._group.bucket.removeTokens(t,s)}))}_areBothEnabled(){return this._enabled&&this._group.getEnabled()}async _processChunk(t,e){if(!this._areBothEnabled())return e(null,t);let r=0,i=this._group.getChunksize(),n=t.slice(r,r+i);for(;n.length>0;){if(this._areBothEnabled())try{for(;0===this._group.getRate()&&!this._destroyed&&this._areBothEnabled();)if(await s(1e3),this._destroyed)return;if(this._areBothEnabled()&&!this._group.bucket.tryRemoveTokens(n.length)&&(await this._waitForTokens(n.length),this._destroyed))return}catch(t){return e(t)}this.push(n),r+=i,i=this._areBothEnabled()?this._group.getChunksize():t.length-r,n=t.slice(r,r+i)}return e()}destroy(...t){this._group._removeThrottle(this),this._destroyed=!0,this._emitter.emit("destroyed"),super.destroy(...t)}};const o=r(8499)},8835:(t,e,r)=>{var i=r(9655);function n(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}var s=/^([a-z0-9.+-]+:)/i,o=/:[0-9]*$/,a=/^(\/\/?(?!\/)[^?\s]*)(\?[^\s]*)?$/,h=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),u=["'"].concat(h),f=["%","/","?",";","#"].concat(u),l=["/","?","#"],c=/^[+a-z0-9A-Z_-]{0,63}$/,d=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,p={javascript:!0,"javascript:":!0},m={javascript:!0,"javascript:":!0},g={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},y=r(5373);function b(t,e,r){if(t&&"object"==typeof t&&t instanceof n)return t;var i=new n;return i.parse(t,e,r),i}n.prototype.parse=function(t,e,r){if("string"!=typeof t)throw new TypeError("Parameter 'url' must be a string, not "+typeof t);var n=t.indexOf("?"),o=-1!==n&&n127?R+="x":R+=C[O];if(!R.match(c)){var L=T.slice(0,x),N=T.slice(x+1),j=C.match(d);j&&(L.push(j[1]),N.unshift(j[2])),N.length&&(b="/"+N.join(".")+b),this.hostname=L.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),I||(this.hostname=i.toASCII(this.hostname));var U=this.port?":"+this.port:"",q=this.hostname||"";this.host=q+U,this.href+=this.host,I&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==b[0]&&(b="/"+b))}if(!p[_])for(x=0,P=u.length;x0)&&r.host.split("@"))&&(r.auth=I.shift(),r.hostname=I.shift(),r.host=r.hostname);return r.search=t.search,r.query=t.query,null===r.pathname&&null===r.search||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.href=r.format(),r}if(!M.length)return r.pathname=null,r.search?r.path="/"+r.search:r.path=null,r.href=r.format(),r;for(var k=M.slice(-1)[0],E=(r.host||t.host||M.length>1)&&("."===k||".."===k)||""===k,x=0,A=M.length;A>=0;A--)"."===(k=M[A])?M.splice(A,1):".."===k?(M.splice(A,1),x++):x&&(M.splice(A,1),x--);if(!w&&!_)for(;x--;x)M.unshift("..");!w||""===M[0]||M[0]&&"/"===M[0].charAt(0)||M.unshift(""),E&&"/"!==M.join("/").substr(-1)&&M.push("");var I,T=""===M[0]||M[0]&&"/"===M[0].charAt(0);S&&(r.hostname=T?"":M.length?M.shift():"",r.host=r.hostname,(I=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@"))&&(r.auth=I.shift(),r.hostname=I.shift(),r.host=r.hostname));return(w=w||r.host&&M.length)&&!T&&M.unshift(""),M.length>0?r.pathname=M.join("/"):(r.pathname=null,r.path=null),null===r.pathname&&null===r.search||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.auth=t.auth||r.auth,r.slashes=r.slashes||t.slashes,r.href=r.format(),r},n.prototype.parseHost=function(){var t=this.host,e=o.exec(t);e&&(":"!==(e=e[0])&&(this.port=e.substr(1)),t=t.substr(0,t.length-e.length)),t&&(this.hostname=t)},e.parse=b,e.resolve=function(t,e){return b(t,!1,!0).resolve(e)},e.resolveObject=function(t,e){return t?b(t,!1,!0).resolveObject(e):e},e.format=function(t){return"string"==typeof t&&(t=b(t)),t instanceof n?t.format():n.prototype.format.call(t)},e.Url=n},8859:(t,e,r)=>{var i="function"==typeof Map&&Map.prototype,n=Object.getOwnPropertyDescriptor&&i?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,s=i&&n&&"function"==typeof n.get?n.get:null,o=i&&Map.prototype.forEach,a="function"==typeof Set&&Set.prototype,h=Object.getOwnPropertyDescriptor&&a?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,u=a&&h&&"function"==typeof h.get?h.get:null,f=a&&Set.prototype.forEach,l="function"==typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,c="function"==typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,d="function"==typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,p=Boolean.prototype.valueOf,m=Object.prototype.toString,g=Function.prototype.toString,y=String.prototype.match,b=String.prototype.slice,v=String.prototype.replace,w=String.prototype.toUpperCase,_=String.prototype.toLowerCase,M=RegExp.prototype.test,S=Array.prototype.concat,k=Array.prototype.join,E=Array.prototype.slice,x=Math.floor,A="function"==typeof BigInt?BigInt.prototype.valueOf:null,I=Object.getOwnPropertySymbols,T="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol.prototype.toString:null,P="function"==typeof Symbol&&"object"==typeof Symbol.iterator,C="function"==typeof Symbol&&Symbol.toStringTag&&(typeof Symbol.toStringTag===P||"symbol")?Symbol.toStringTag:null,R=Object.prototype.propertyIsEnumerable,O=("function"==typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(t){return t.__proto__}:null);function B(t,e){if(t===1/0||t===-1/0||t!=t||t&&t>-1e3&&t<1e3||M.call(/e/,e))return e;var r=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"==typeof t){var i=t<0?-x(-t):x(t);if(i!==t){var n=String(i),s=b.call(e,n.length+1);return v.call(n,r,"$&_")+"."+v.call(v.call(s,/([0-9]{3})/g,"$&_"),/_$/,"")}}return v.call(e,r,"$&_")}var L=r(8093),N=L.custom,j=W(N)?N:null,U={__proto__:null,double:'"',single:"'"},q={__proto__:null,double:/(["\\])/g,single:/(['\\])/g};function D(t,e,r){var i=r.quoteStyle||e,n=U[i];return n+t+n}function H(t){return v.call(String(t),/"/g,""")}function F(t){return!C||!("object"==typeof t&&(C in t||void 0!==t[C]))}function z(t){return"[object Array]"===Z(t)&&F(t)}function $(t){return"[object RegExp]"===Z(t)&&F(t)}function W(t){if(P)return t&&"object"==typeof t&&t instanceof Symbol;if("symbol"==typeof t)return!0;if(!t||"object"!=typeof t||!T)return!1;try{return T.call(t),!0}catch(t){}return!1}t.exports=function t(e,r,i,n){var a=r||{};if(V(a,"quoteStyle")&&!V(U,a.quoteStyle))throw new TypeError('option "quoteStyle" must be "single" or "double"');if(V(a,"maxStringLength")&&("number"==typeof a.maxStringLength?a.maxStringLength<0&&a.maxStringLength!==1/0:null!==a.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var h=!V(a,"customInspect")||a.customInspect;if("boolean"!=typeof h&&"symbol"!==h)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(V(a,"indent")&&null!==a.indent&&"\t"!==a.indent&&!(parseInt(a.indent,10)===a.indent&&a.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(V(a,"numericSeparator")&&"boolean"!=typeof a.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var m=a.numericSeparator;if(void 0===e)return"undefined";if(null===e)return"null";if("boolean"==typeof e)return e?"true":"false";if("string"==typeof e)return Y(e,a);if("number"==typeof e){if(0===e)return 1/0/e>0?"0":"-0";var w=String(e);return m?B(e,w):w}if("bigint"==typeof e){var M=String(e)+"n";return m?B(e,M):M}var x=void 0===a.depth?5:a.depth;if(void 0===i&&(i=0),i>=x&&x>0&&"object"==typeof e)return z(e)?"[Array]":"[Object]";var I=function(t,e){var r;if("\t"===t.indent)r="\t";else{if(!("number"==typeof t.indent&&t.indent>0))return null;r=k.call(Array(t.indent+1)," ")}return{base:r,prev:k.call(Array(e+1),r)}}(a,i);if(void 0===n)n=[];else if(G(n,e)>=0)return"[Circular]";function N(e,r,s){if(r&&(n=E.call(n)).push(r),s){var o={depth:a.depth};return V(a,"quoteStyle")&&(o.quoteStyle=a.quoteStyle),t(e,o,i+1,n)}return t(e,a,i+1,n)}if("function"==typeof e&&!$(e)){var q=function(t){if(t.name)return t.name;var e=y.call(g.call(t),/^function\s*([\w$]+)/);if(e)return e[1];return null}(e),K=rt(e,N);return"[Function"+(q?": "+q:" (anonymous)")+"]"+(K.length>0?" { "+k.call(K,", ")+" }":"")}if(W(e)){var J=P?v.call(String(e),/^(Symbol\(.*\))_[^)]*$/,"$1"):T.call(e);return"object"!=typeof e||P?J:X(J)}if(function(t){if(!t||"object"!=typeof t)return!1;if("undefined"!=typeof HTMLElement&&t instanceof HTMLElement)return!0;return"string"==typeof t.nodeName&&"function"==typeof t.getAttribute}(e)){for(var it="<"+_.call(String(e.nodeName)),nt=e.attributes||[],st=0;st"}if(z(e)){if(0===e.length)return"[]";var ot=rt(e,N);return I&&!function(t){for(var e=0;e=0)return!1;return!0}(ot)?"["+et(ot,I)+"]":"[ "+k.call(ot,", ")+" ]"}if(function(t){return"[object Error]"===Z(t)&&F(t)}(e)){var at=rt(e,N);return"cause"in Error.prototype||!("cause"in e)||R.call(e,"cause")?0===at.length?"["+String(e)+"]":"{ ["+String(e)+"] "+k.call(at,", ")+" }":"{ ["+String(e)+"] "+k.call(S.call("[cause]: "+N(e.cause),at),", ")+" }"}if("object"==typeof e&&h){if(j&&"function"==typeof e[j]&&L)return L(e,{depth:x-i});if("symbol"!==h&&"function"==typeof e.inspect)return e.inspect()}if(function(t){if(!s||!t||"object"!=typeof t)return!1;try{s.call(t);try{u.call(t)}catch(t){return!0}return t instanceof Map}catch(t){}return!1}(e)){var ht=[];return o&&o.call(e,(function(t,r){ht.push(N(r,e,!0)+" => "+N(t,e))})),tt("Map",s.call(e),ht,I)}if(function(t){if(!u||!t||"object"!=typeof t)return!1;try{u.call(t);try{s.call(t)}catch(t){return!0}return t instanceof Set}catch(t){}return!1}(e)){var ut=[];return f&&f.call(e,(function(t){ut.push(N(t,e))})),tt("Set",u.call(e),ut,I)}if(function(t){if(!l||!t||"object"!=typeof t)return!1;try{l.call(t,l);try{c.call(t,c)}catch(t){return!0}return t instanceof WeakMap}catch(t){}return!1}(e))return Q("WeakMap");if(function(t){if(!c||!t||"object"!=typeof t)return!1;try{c.call(t,c);try{l.call(t,l)}catch(t){return!0}return t instanceof WeakSet}catch(t){}return!1}(e))return Q("WeakSet");if(function(t){if(!d||!t||"object"!=typeof t)return!1;try{return d.call(t),!0}catch(t){}return!1}(e))return Q("WeakRef");if(function(t){return"[object Number]"===Z(t)&&F(t)}(e))return X(N(Number(e)));if(function(t){if(!t||"object"!=typeof t||!A)return!1;try{return A.call(t),!0}catch(t){}return!1}(e))return X(N(A.call(e)));if(function(t){return"[object Boolean]"===Z(t)&&F(t)}(e))return X(p.call(e));if(function(t){return"[object String]"===Z(t)&&F(t)}(e))return X(N(String(e)));if("undefined"!=typeof window&&e===window)return"{ [object Window] }";if("undefined"!=typeof globalThis&&e===globalThis||"undefined"!=typeof globalThis&&e===globalThis)return"{ [object globalThis] }";if(!function(t){return"[object Date]"===Z(t)&&F(t)}(e)&&!$(e)){var ft=rt(e,N),lt=O?O(e)===Object.prototype:e instanceof Object||e.constructor===Object,ct=e instanceof Object?"":"null prototype",dt=!lt&&C&&Object(e)===e&&C in e?b.call(Z(e),8,-1):ct?"Object":"",pt=(lt||"function"!=typeof e.constructor?"":e.constructor.name?e.constructor.name+" ":"")+(dt||ct?"["+k.call(S.call([],dt||[],ct||[]),": ")+"] ":"");return 0===ft.length?pt+"{}":I?pt+"{"+et(ft,I)+"}":pt+"{ "+k.call(ft,", ")+" }"}return String(e)};var K=Object.prototype.hasOwnProperty||function(t){return t in this};function V(t,e){return K.call(t,e)}function Z(t){return m.call(t)}function G(t,e){if(t.indexOf)return t.indexOf(e);for(var r=0,i=t.length;re.maxStringLength){var r=t.length-e.maxStringLength,i="... "+r+" more character"+(r>1?"s":"");return Y(b.call(t,0,e.maxStringLength),e)+i}var n=q[e.quoteStyle||"single"];return n.lastIndex=0,D(v.call(v.call(t,n,"\\$1"),/[\x00-\x1f]/g,J),"single",e)}function J(t){var e=t.charCodeAt(0),r={8:"b",9:"t",10:"n",12:"f",13:"r"}[e];return r?"\\"+r:"\\x"+(e<16?"0":"")+w.call(e.toString(16))}function X(t){return"Object("+t+")"}function Q(t){return t+" { ? }"}function tt(t,e,r,i){return t+" ("+e+") {"+(i?et(r,i):k.call(r,", "))+"}"}function et(t,e){if(0===t.length)return"";var r="\n"+e.prev+e.base;return r+k.call(t,","+r)+"\n"+e.prev}function rt(t,e){var r=z(t),i=[];if(r){i.length=t.length;for(var n=0;n{var i;if(!Object.keys){var n=Object.prototype.hasOwnProperty,s=Object.prototype.toString,o=r(1093),a=Object.prototype.propertyIsEnumerable,h=!a.call({toString:null},"toString"),u=a.call((function(){}),"prototype"),f=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],l=function(t){var e=t.constructor;return e&&e.prototype===t},c={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},d=function(){if("undefined"==typeof window)return!1;for(var t in window)try{if(!c["$"+t]&&n.call(window,t)&&null!==window[t]&&"object"==typeof window[t])try{l(window[t])}catch(t){return!0}}catch(t){return!0}return!1}();i=function(t){var e=null!==t&&"object"==typeof t,r="[object Function]"===s.call(t),i=o(t),a=e&&"[object String]"===s.call(t),c=[];if(!e&&!r&&!i)throw new TypeError("Object.keys called on a non-object");var p=u&&r;if(a&&t.length>0&&!n.call(t,0))for(var m=0;m0)for(var g=0;g{var i=r(8170),n=r(3209),s=r(7108),o=r(8206),a=r(2061),h=r(2509),u=r(9247),f=r(7332),l=r(2861).Buffer;t.exports=function(t,e,r){var c;c=t.padding?t.padding:r?1:4;var d,p=i(t);if(4===c)d=function(t,e){var r=t.modulus.byteLength(),i=e.length,u=s("sha1").update(l.alloc(0)).digest(),f=u.length,c=2*f;if(i>r-c-2)throw new Error("message too long");var d=l.alloc(r-i-c-2),p=r-f-1,m=n(f),g=a(l.concat([u,d,l.alloc(1,1),e],p),o(m,p)),y=a(m,o(g,f));return new h(l.concat([l.alloc(1),y,g],r))}(p,e);else if(1===c)d=function(t,e,r){var i,s=e.length,o=t.modulus.byteLength();if(s>o-11)throw new Error("message too long");i=r?l.alloc(o-s-3,255):function(t){var e,r=l.allocUnsafe(t),i=0,s=n(2*t),o=0;for(;i=0)throw new Error("data too long for modulus")}return r?f(d,p):u(d,p)}},8903:(t,e,r)=>{var i=r(6698),n=r(8287).Buffer,s=r(2010);function o(t){s.call(this,t),this.enc="pem"}i(o,s),t.exports=o,o.prototype.decode=function(t,e){for(var r=t.toString().split(/[\r\n]+/g),i=e.label.toUpperCase(),o=/^-----(BEGIN|END) ([^-]+)-----$/,a=-1,h=-1,u=0;u{var i=r(7426),n=r(3349);function s(t,e,r){if(!(this instanceof s))return new s(t,e,r);this.Hash=t,this.blockSize=t.blockSize/8,this.outSize=t.outSize/8,this.inner=null,this.outer=null,this._init(i.toArray(e,r))}t.exports=s,s.prototype._init=function(t){t.length>this.blockSize&&(t=(new this.Hash).update(t).digest()),n(t.length<=this.blockSize);for(var e=t.length;e{var i,n,s=r(717),o=r(7007),a=r(6698),h=r(8310),u=r(537).deprecate,f=r(7103),l=r(8287).Buffer,c={},d={};function p(t,e){if(!(this instanceof p))return new p(t,e);if(o.call(this),"function"==typeof t)e=t,t={},this.on("connection",e);else{if(null!=t&&"object"!=typeof t)throw new TypeError("options must be an object");t=t||{},"function"==typeof e&&this.on("connection",e)}this._connections=0,Object.defineProperty(this,"connections",{get:u((()=>this._connections),"Server.connections property is deprecated. Use Server.getConnections method instead."),set:u((t=>this._connections=t),"Server.connections property is deprecated."),configurable:!0,enumerable:!1}),this.id=null,this.connecting=!1,this.allowHalfOpen=t.allowHalfOpen||!1,this.pauseOnConnect=!!t.pauseOnConnect,this._address=null,this._host=null,this._port=null,this._backlog=null}function m(t){t.id||t.connecting||t._connections||t.emit("close")}function g(t){if(!(this instanceof g))return new g(t);if("number"==typeof t?t={fd:t}:void 0===t&&(t={}),t.handle)throw new Error("handle is not supported in Chrome Apps.");if(void 0!==t.fd)throw new Error("fd is not supported in Chrome Apps.");t.decodeStrings=!0,t.objectMode=!1,h.Duplex.call(this,t),this.destroyed=!1,this._hadError=!1,this.id=null,this._parent=null,this._host=null,this._port=null,this._pendingData=null,this.ondata=null,this.onend=null,this._init(),this._reset(),this.allowHalfOpen=t.allowHalfOpen||!1,this.on("finish",this.destroy),t.server&&(this.server=this._server=t.server,this.id=t.id,d[this.id]=this,t.pauseOnCreate&&(this._readableState.flowing=!1),this.connecting=!0,this.writable=!0,this._onConnect())}"object"==typeof chrome&&"object"==typeof chrome.runtime&&"string"==typeof chrome.runtime.id&&"object"==typeof chrome.sockets&&"object"==typeof chrome.sockets.tcpServer&&"object"==typeof chrome.sockets.tcp&&(chrome.sockets.tcpServer.onAccept.addListener((function(t){t.socketId in c?c[t.socketId]._onAccept(t.clientSocketId):console.error("Unknown server socket id: "+t.socketId)})),chrome.sockets.tcpServer.onAcceptError.addListener((function(t){t.socketId in c?c[t.socketId]._onAcceptError(t.resultCode):console.error("Unknown server socket id: "+t.socketId)})),chrome.sockets.tcp.onReceive.addListener((function(t){t.socketId in d?d[t.socketId]._onReceive(t.data):console.error("Unknown socket id: "+t.socketId)})),chrome.sockets.tcp.onReceiveError.addListener((function(t){if(t.socketId in d)d[t.socketId]._onReceiveError(t.resultCode);else{if(-100===t.resultCode)return;console.error("Unknown socket id: "+t.socketId)}}))),e.createServer=function(t,e){return new p(t,e)},e.connect=e.createConnection=function(){const t=arguments.length;for(var e=new Array(t),r=0;r=0)throw new Error("fd is not supported in Chrome Apps.");if(n.backlog&&(i=n.backlog),!("number"==typeof n.port||"string"==typeof n.port||void 0===n.port&&"port"in n))throw n.path&&_(n.path)?new Error("Pipes are not supported in Chrome Apps."):new Error("Invalid listen argument: "+n);e=n.host||null,r=n.port}else{if(_(arguments[0]))throw new Error("Pipes are not supported in Chrome Apps.");e=void 0===arguments[1]||"function"==typeof arguments[1]||"number"==typeof arguments[1]?null:arguments[1]}this.id&&this.close(),function(t){if(void 0!==t&&!M(t))throw new RangeError('"port" argument must be >= 0 and < 65536')}(r),this._port=0|r,this._host=e;var s=!this._host;return s&&(this._host="::"),this._backlog="number"==typeof i?i:void 0,this.connecting=!0,chrome.sockets.tcpServer.create((t=>{if(!this.connecting||this.id)return S(),void chrome.sockets.tcpServer.close(t.socketId);if(chrome.runtime.lastError)this.emit("error",new Error(chrome.runtime.lastError.message));else{var e=this.id=t.socketId;c[this.id]=this;var r=()=>chrome.sockets.tcpServer.listen(this.id,this._host,this._port,this._backlog,(t=>{if(this.id===e)return 0!==t&&s?(S(),this._host="0.0.0.0",s=!1,r()):void this._onListen(t);S()}));r()}})),this},p.prototype._onListen=function(t){if(this.connecting=!1,0===t){var e=this.id;chrome.sockets.tcpServer.getInfo(this.id,(t=>{this.id===e?chrome.runtime.lastError?this._onListen(-2):(this._address={port:t.localPort,family:t.localAddress&&-1!==t.localAddress.indexOf(":")?"IPv6":"IPv4",address:t.localAddress},this.emit("listening")):S()}))}else this.emit("error",I(t,"listen",this._host,this._port)),this.id&&(chrome.sockets.tcpServer.close(this.id),delete c[this.id],this.id=null)},p.prototype._onAccept=function(t){if(this.maxConnections&&this._connections>=this.maxConnections)return chrome.sockets.tcp.close(t),void console.warn("Rejected connection - hit `maxConnections` limit");this._connections+=1;var e=new g({server:this,id:t,allowHalfOpen:this.allowHalfOpen,pauseOnCreate:this.pauseOnConnect});e.on("connect",(()=>this.emit("connection",e)))},p.prototype._onAcceptError=function(t){this.emit("error",A(t,"accept")),this.close()},p.prototype.close=function(t){return"function"==typeof t&&(this.id?this.once("close",t):this.once("close",(()=>t(new Error("Not running"))))),this.id&&(chrome.sockets.tcpServer.close(this.id),delete c[this.id],this.id=null),this._address=null,this.connecting=!1,this._emitCloseIfDrained(),this},p.prototype._emitCloseIfDrained=function(){this.id||this.connecting||this._connections||s.nextTick(m,this)},Object.defineProperty(p.prototype,"listening",{get:function(){return!!this._address},configurable:!0,enumerable:!0}),p.prototype.address=function(){return this._address},p.prototype.unref=p.prototype.ref=function(){return this},p.prototype.getConnections=function(t){s.nextTick(t,null,this._connections)},a(g,h.Duplex),e.Socket=g,g.prototype._init=function(){this.bytesRead=0,this._bytesDispatched=0,this.server=null,this._server=null},g.prototype._reset=function(){this.remoteAddress=this.remotePort=this.localAddress=this.localPort=null,this.remoteFamily="IPv4",this.readable=this.writable=!1,this.connecting=!1},g.prototype.connect=function(){const t=arguments.length;for(var e=new Array(t),r=0;r= 0 and < 65536: '+this._port)}return this._port|=0,this._init(),this._unrefTimer(),"function"==typeof n&&this.once("connect",n),chrome.sockets.tcp.create((t=>{if(!this.connecting||this.id)return S(),void chrome.sockets.tcp.close(t.socketId);chrome.runtime.lastError?this.destroy(new Error(chrome.runtime.lastError.message)):(this.id=t.socketId,d[this.id]=this,chrome.sockets.tcp.setPaused(this.id,!0),chrome.sockets.tcp.connect(this.id,this._host,this._port,(e=>{this.id===t.socketId?0===e?(this._unrefTimer(),this._onConnect()):this.destroy(I(e,"connect",this._host,this._port)):S()})))})),this},g.prototype._onConnect=function(){var t=this.id;chrome.sockets.tcp.getInfo(this.id,(e=>{this.id===t?chrome.runtime.lastError?this.destroy(new Error(chrome.runtime.lastError.message)):(this.remoteAddress=e.peerAddress,this.remoteFamily=e.peerAddress&&-1!==e.peerAddress.indexOf(":")?"IPv6":"IPv4",this.remotePort=e.peerPort,this.localAddress=e.localAddress,this.localPort=e.localPort,this.connecting=!1,this.readable=!0,this.emit("connect"),this.isPaused()||this.read(0)):S()}))},Object.defineProperty(g.prototype,"bufferSize",{get:function(){if(this.id){var t=this._writableState.length;return this._pendingData&&(t+=this._pendingData.length),t}}}),g.prototype.end=function(t,e){h.Duplex.prototype.end.call(this,t,e),this.writable=!1},g.prototype._write=function(t,e,r){if(r||(r=()=>{}),this.connecting)return this._pendingData=t,void this.once("connect",(()=>this._write(t,e,r)));if(this._pendingData=null,this.id){var i=t.buffer;t.byteLength!==i.byteLength&&(i=i.slice(t.byteOffset,t.byteOffset+t.byteLength));var n=this.id;chrome.sockets.tcp.send(this.id,i,(t=>{this.id===n?t.resultCode<0?this._destroy(I(t.resultCode,"write",this.remoteAddress,this.remotePort),r):(this._unrefTimer(),r(null)):S()})),this._bytesDispatched+=t.length}else r(new Error("This socket is closed"))},g.prototype._read=function(t){if(!this.connecting&&this.id){chrome.sockets.tcp.setPaused(this.id,!1);var e=this.id;chrome.sockets.tcp.getInfo(this.id,(t=>{this.id===e?!chrome.runtime.lastError&&t.connected||this._onReceiveError(-15):S()}))}else this.once("connect",(()=>this._read(t)))},g.prototype._onReceive=function(t){var e=l.from(t),r=this.bytesRead;this.bytesRead+=e.length,this._unrefTimer(),this.ondata&&(console.error("socket.ondata = func is non-standard, use socket.on('data', func)"),this.ondata(e,r,this.bytesRead)),this.push(e)||chrome.sockets.tcp.setPaused(this.id,!0)},g.prototype._onReceiveError=function(t){-100===t?(this.onend&&(console.error("socket.onend = func is non-standard, use socket.on('end', func)"),this.once("end",this.onend)),this.push(null),this.destroy()):t<0&&this.destroy(A(t,"read"))},i="bytesWritten",n=function(){if(this.id)return this._bytesDispatched+this.bufferSize},Object.defineProperty(g.prototype,i,{configurable:!1,enumerable:!0,get:n}),g.prototype.destroy=function(t){this._destroy(t)},g.prototype._destroy=function(t,e){var r=()=>{e&&e(t),t&&!this._writableState.errorEmitted&&(s.nextTick(E,this,t),this._writableState.errorEmitted=!0)};if(this.destroyed)r();else{this._server&&(this._server._connections-=1,this._server._emitCloseIfDrained&&this._server._emitCloseIfDrained()),this._reset();for(var i=this;null!==i;i=i._parent)f.unenroll(i);this.destroyed=!0,this.id&&(delete d[this.id],chrome.sockets.tcp.close(this.id,(()=>{this.destroyed&&this.emit("close",!!t)})),this.id=null),r()}},g.prototype.destroySoon=function(){this.writable&&this.end(),this._writableState.finished&&this.destroy()},g.prototype.setTimeout=function(t,e){return 0===t?(f.unenroll(this),e&&this.removeListener("timeout",e)):(f.enroll(this,t),f._unrefActive(this),e&&this.once("timeout",e)),this},g.prototype._onTimeout=function(){this.emit("timeout")},g.prototype._unrefTimer=function(){for(var t=this;null!==t;t=t._parent)f._unrefActive(t)},g.prototype.setNoDelay=function(t,e){return this.id?(t=void 0===t||!!t,chrome.sockets.tcp.setNoDelay(this.id,t,k(e)),this):(this.once("connect",(()=>this.setNoDelay(t,e))),this)},g.prototype.setKeepAlive=function(t,e,r){return this.id?(chrome.sockets.tcp.setKeepAlive(this.id,!!t,~~(e/1e3),k(r)),this):(this.once("connect",(()=>this.setKeepAlive(t,e,r))),this)},g.prototype.address=function(){return{address:this.localAddress,port:this.localPort,family:this.localAddress&&-1!==this.localAddress.indexOf(":")?"IPv6":"IPv4"}},Object.defineProperty(g.prototype,"_connecting",{get:function(){return this.connecting}}),Object.defineProperty(g.prototype,"readyState",{get:function(){return this.connecting?"opening":this.readable&&this.writable?"open":"closed"}}),g.prototype.unref=g.prototype.ref=function(){return this};var y=/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,b=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/;function v(t){var e={};if(null!==t[0]&&"object"==typeof t[0])e=t[0];else{if(_(t[0]))throw new Error("Pipes are not supported in Chrome Apps.");e.port=t[0],"string"==typeof t[1]&&(e.host=t[1])}var r=t[t.length-1];return"function"==typeof r?[e,r]:[e]}function w(t){return(t=Number(t))>=0&&t}function _(t){return"string"==typeof t&&!1===w(t)}function M(t){return!("number"!=typeof t&&"string"!=typeof t||"string"==typeof t&&0===t.trim().length)&&(+t==+t>>>0&&t<=65535)}function S(){chrome.runtime.lastError}function k(t){return()=>{var e;chrome.runtime.lastError&&(console.error(chrome.runtime.lastError.message),e=new Error(chrome.runtime.lastError.message)),t&&t(e)}}function E(t,e){t.emit("error",e)}e.isIPv4=y.test.bind(y),e.isIPv6=b.test.bind(b),e.isIP=function(t){return e.isIPv4(t)?4:e.isIPv6(t)?6:0};var x={"-10":"EACCES","-22":"EACCES","-138":"EACCES","-147":"EADDRINUSE","-108":"EADDRNOTAVAIL","-103":"ECONNABORTED","-102":"ECONNREFUSED","-101":"ECONNRESET","-16":"EEXIST","-8":"EFBIG","-109":"EHOSTUNREACH","-4":"EINVAL","-23":"EISCONN","-6":"ENOENT","-13":"ENOMEM","-106":"ENONET","-18":"ENOSPC","-11":"ENOSYS","-15":"ENOTCONN","-105":"ENOTFOUND","-118":"ETIMEDOUT","-100":"EOF"};function A(t,e,r){var i=x[t]||"UNKNOWN",n=e+" "+t+" "+r;chrome.runtime.lastError&&(n+=" "+chrome.runtime.lastError.message),n+=" (mapped uv code: "+i+")";var s=new Error(n);return s.code=s.errno=i,s.syscall=e,s}function I(t,e,r,i,n){var s;s=i&&i>0?r+":"+i:r,n&&(s+=" - Local ("+n+")");var o=A(t,e,s);return o.address=r,i&&(o.port=i),o}},8968:t=>{t.exports=Math.floor},9106:t=>{var e=function(t){switch(typeof t){case"string":return t;case"boolean":return t?"true":"false";case"number":return isFinite(t)?t:"";default:return""}};t.exports=function(t,r,i,n){return r=r||"&",i=i||"=",null===t&&(t=void 0),"object"==typeof t?Object.keys(t).map((function(n){var s=encodeURIComponent(e(n))+i;return Array.isArray(t[n])?t[n].map((function(t){return s+encodeURIComponent(e(t))})).join(r):s+encodeURIComponent(e(t[n]))})).filter(Boolean).join(r):n?encodeURIComponent(e(n))+i+encodeURIComponent(e(t)):""}},9133:t=>{t.exports=Math.abs},9188:(t,e,r)=>{var i=r(7011),n=r(8490),s=r(6698),o=r(6677),a=i.assert;function h(t){o.call(this,"short",t),this.a=new n(t.a,16).toRed(this.red),this.b=new n(t.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(t),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function u(t,e,r,i){o.BasePoint.call(this,t,"affine"),null===e&&null===r?(this.x=null,this.y=null,this.inf=!0):(this.x=new n(e,16),this.y=new n(r,16),i&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function f(t,e,r,i){o.BasePoint.call(this,t,"jacobian"),null===e&&null===r&&null===i?(this.x=this.curve.one,this.y=this.curve.one,this.z=new n(0)):(this.x=new n(e,16),this.y=new n(r,16),this.z=new n(i,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}s(h,o),t.exports=h,h.prototype._getEndomorphism=function(t){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var e,r;if(t.beta)e=new n(t.beta,16).toRed(this.red);else{var i=this._getEndoRoots(this.p);e=(e=i[0].cmp(i[1])<0?i[0]:i[1]).toRed(this.red)}if(t.lambda)r=new n(t.lambda,16);else{var s=this._getEndoRoots(this.n);0===this.g.mul(s[0]).x.cmp(this.g.x.redMul(e))?r=s[0]:(r=s[1],a(0===this.g.mul(r).x.cmp(this.g.x.redMul(e))))}return{beta:e,lambda:r,basis:t.basis?t.basis.map((function(t){return{a:new n(t.a,16),b:new n(t.b,16)}})):this._getEndoBasis(r)}}},h.prototype._getEndoRoots=function(t){var e=t===this.p?this.red:n.mont(t),r=new n(2).toRed(e).redInvm(),i=r.redNeg(),s=new n(3).toRed(e).redNeg().redSqrt().redMul(r);return[i.redAdd(s).fromRed(),i.redSub(s).fromRed()]},h.prototype._getEndoBasis=function(t){for(var e,r,i,s,o,a,h,u,f,l=this.n.ushrn(Math.floor(this.n.bitLength()/2)),c=t,d=this.n.clone(),p=new n(1),m=new n(0),g=new n(0),y=new n(1),b=0;0!==c.cmpn(0);){var v=d.div(c);u=d.sub(v.mul(c)),f=g.sub(v.mul(p));var w=y.sub(v.mul(m));if(!i&&u.cmp(l)<0)e=h.neg(),r=p,i=u.neg(),s=f;else if(i&&2==++b)break;h=u,d=c,c=u,g=p,p=f,y=m,m=w}o=u.neg(),a=f;var _=i.sqr().add(s.sqr());return o.sqr().add(a.sqr()).cmp(_)>=0&&(o=e,a=r),i.negative&&(i=i.neg(),s=s.neg()),o.negative&&(o=o.neg(),a=a.neg()),[{a:i,b:s},{a:o,b:a}]},h.prototype._endoSplit=function(t){var e=this.endo.basis,r=e[0],i=e[1],n=i.b.mul(t).divRound(this.n),s=r.b.neg().mul(t).divRound(this.n),o=n.mul(r.a),a=s.mul(i.a),h=n.mul(r.b),u=s.mul(i.b);return{k1:t.sub(o).sub(a),k2:h.add(u).neg()}},h.prototype.pointFromX=function(t,e){(t=new n(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b),i=r.redSqrt();if(0!==i.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var s=i.fromRed().isOdd();return(e&&!s||!e&&s)&&(i=i.redNeg()),this.point(t,i)},h.prototype.validate=function(t){if(t.inf)return!0;var e=t.x,r=t.y,i=this.a.redMul(e),n=e.redSqr().redMul(e).redIAdd(i).redIAdd(this.b);return 0===r.redSqr().redISub(n).cmpn(0)},h.prototype._endoWnafMulAdd=function(t,e,r){for(var i=this._endoWnafT1,n=this._endoWnafT2,s=0;s":""},u.prototype.isInfinity=function(){return this.inf},u.prototype.add=function(t){if(this.inf)return t;if(t.inf)return this;if(this.eq(t))return this.dbl();if(this.neg().eq(t))return this.curve.point(null,null);if(0===this.x.cmp(t.x))return this.curve.point(null,null);var e=this.y.redSub(t.y);0!==e.cmpn(0)&&(e=e.redMul(this.x.redSub(t.x).redInvm()));var r=e.redSqr().redISub(this.x).redISub(t.x),i=e.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,i)},u.prototype.dbl=function(){if(this.inf)return this;var t=this.y.redAdd(this.y);if(0===t.cmpn(0))return this.curve.point(null,null);var e=this.curve.a,r=this.x.redSqr(),i=t.redInvm(),n=r.redAdd(r).redIAdd(r).redIAdd(e).redMul(i),s=n.redSqr().redISub(this.x.redAdd(this.x)),o=n.redMul(this.x.redSub(s)).redISub(this.y);return this.curve.point(s,o)},u.prototype.getX=function(){return this.x.fromRed()},u.prototype.getY=function(){return this.y.fromRed()},u.prototype.mul=function(t){return t=new n(t,16),this.isInfinity()?this:this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve.endo?this.curve._endoWnafMulAdd([this],[t]):this.curve._wnafMul(this,t)},u.prototype.mulAdd=function(t,e,r){var i=[this,e],n=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(i,n):this.curve._wnafMulAdd(1,i,n,2)},u.prototype.jmulAdd=function(t,e,r){var i=[this,e],n=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(i,n,!0):this.curve._wnafMulAdd(1,i,n,2,!0)},u.prototype.eq=function(t){return this===t||this.inf===t.inf&&(this.inf||0===this.x.cmp(t.x)&&0===this.y.cmp(t.y))},u.prototype.neg=function(t){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(t&&this.precomputed){var r=this.precomputed,i=function(t){return t.neg()};e.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(i)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(i)}}}return e},u.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},s(f,o.BasePoint),h.prototype.jpoint=function(t,e,r){return new f(this,t,e,r)},f.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var t=this.z.redInvm(),e=t.redSqr(),r=this.x.redMul(e),i=this.y.redMul(e).redMul(t);return this.curve.point(r,i)},f.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},f.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.z.redSqr(),r=this.z.redSqr(),i=this.x.redMul(e),n=t.x.redMul(r),s=this.y.redMul(e.redMul(t.z)),o=t.y.redMul(r.redMul(this.z)),a=i.redSub(n),h=s.redSub(o);if(0===a.cmpn(0))return 0!==h.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=a.redSqr(),f=u.redMul(a),l=i.redMul(u),c=h.redSqr().redIAdd(f).redISub(l).redISub(l),d=h.redMul(l.redISub(c)).redISub(s.redMul(f)),p=this.z.redMul(t.z).redMul(a);return this.curve.jpoint(c,d,p)},f.prototype.mixedAdd=function(t){if(this.isInfinity())return t.toJ();if(t.isInfinity())return this;var e=this.z.redSqr(),r=this.x,i=t.x.redMul(e),n=this.y,s=t.y.redMul(e).redMul(this.z),o=r.redSub(i),a=n.redSub(s);if(0===o.cmpn(0))return 0!==a.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var h=o.redSqr(),u=h.redMul(o),f=r.redMul(h),l=a.redSqr().redIAdd(u).redISub(f).redISub(f),c=a.redMul(f.redISub(l)).redISub(n.redMul(u)),d=this.z.redMul(o);return this.curve.jpoint(l,c,d)},f.prototype.dblp=function(t){if(0===t)return this;if(this.isInfinity())return this;if(!t)return this.dbl();var e;if(this.curve.zeroA||this.curve.threeA){var r=this;for(e=0;e=0)return!1;if(r.redIAdd(n),0===this.x.cmp(r))return!0}},f.prototype.inspect=function(){return this.isInfinity()?"":""},f.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},9220:(t,e,r)=>{var i=r(6698);function n(t){this._reporterState={obj:null,path:[],options:t||{},errors:[]}}function s(t,e){this.path=t,this.rethrow(e)}e.a=n,n.prototype.isError=function(t){return t instanceof s},n.prototype.save=function(){var t=this._reporterState;return{obj:t.obj,pathLen:t.path.length}},n.prototype.restore=function(t){var e=this._reporterState;e.obj=t.obj,e.path=e.path.slice(0,t.pathLen)},n.prototype.enterKey=function(t){return this._reporterState.path.push(t)},n.prototype.exitKey=function(t){var e=this._reporterState;e.path=e.path.slice(0,t-1)},n.prototype.leaveKey=function(t,e,r){var i=this._reporterState;this.exitKey(t),null!==i.obj&&(i.obj[e]=r)},n.prototype.path=function(){return this._reporterState.path.join("/")},n.prototype.enterObject=function(){var t=this._reporterState,e=t.obj;return t.obj={},e},n.prototype.leaveObject=function(t){var e=this._reporterState,r=e.obj;return e.obj=t,r},n.prototype.error=function(t){var e,r=this._reporterState,i=t instanceof s;if(e=i?t:new s(r.path.map((function(t){return"["+JSON.stringify(t)+"]"})).join(""),t.message||t,t.stack),!r.options.partial)throw e;return i||r.errors.push(e),e},n.prototype.wrapResult=function(t){var e=this._reporterState;return e.options.partial?{result:this.isError(t)?null:t,errors:e.errors}:t},i(s,Error),s.prototype.rethrow=function(t){if(this.message=t+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,s),!this.stack)try{throw new Error(this.message)}catch(t){this.stack=t.stack}return this}},9247:(t,e,r)=>{var i=r(2509),n=r(2861).Buffer;t.exports=function(t,e){return n.from(t.toRed(i.mont(e.modulus)).redPow(new i(e.publicExponent)).fromRed().toArray())}},9290:t=>{t.exports=RangeError},9353:t=>{var e=Object.prototype.toString,r=Math.max,i=function(t,e){for(var r=[],i=0;i{t.exports=Error},9404:function(t,e,r){!function(t,e){function i(t,e){if(!t)throw new Error(e||"Assertion failed")}function n(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function s(t,e,r){if(s.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=s:e.BN=s,s.BN=s,s.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(8287).Buffer}catch(t){}function a(t,e){var r=t.charCodeAt(e);return r>=48&&r<=57?r-48:r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:void i(!1,"Invalid character in "+t)}function h(t,e,r){var i=a(t,r);return r-1>=e&&(i|=a(t,r-1)<<4),i}function u(t,e,r,n){for(var s=0,o=0,a=Math.min(t.length,r),h=e;h=49?u-49+10:u>=17?u-17+10:u,i(u>=0&&o0?t:e},s.min=function(t,e){return t.cmp(e)<0?t:e},s.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),i(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n=0;n-=3)o=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[s]|=o<>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);else if("le"===r)for(n=0,s=0;n>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);return this._strip()},s.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i=e;i-=2)n=h(t,e,i)<=18?(s-=18,o+=1,this.words[o]|=n>>>26):s+=8;else for(i=(t.length-e)%2==0?e+1:e;i=18?(s-=18,o+=1,this.words[o]|=n>>>26):s+=8;this._strip()},s.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var s=t.length-r,o=s%i,a=Math.min(s,s-o)+r,h=0,f=r;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{s.prototype[Symbol.for("nodejs.util.inspect.custom")]=l}catch(t){s.prototype.inspect=l}else s.prototype.inspect=l;function l(){return(this.red?""}var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],d=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],p=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];s.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var n=0,s=0,o=0;o>>24-n&16777215,(n+=2)>=26&&(n-=26,o--),r=0!==s||o!==this.length-1?c[6-h.length]+h+r:h+r}for(0!==s&&(r=s.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var u=d[t],f=p[t];r="";var l=this.clone();for(l.negative=0;!l.isZero();){var m=l.modrn(f).toString(t);r=(l=l.idivn(f)).isZero()?m+r:c[u-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},s.prototype.toJSON=function(){return this.toString(16,2)},o&&(s.prototype.toBuffer=function(t,e){return this.toArrayLike(o,t,e)}),s.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)};function m(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],s=0|e.words[0],o=n*s,a=67108863&o,h=o/67108864|0;r.words[0]=a;for(var u=1;u>>26,l=67108863&h,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(o=(n=0|t.words[p])*(s=0|e.words[d])+l)/67108864|0,l=67108863&o}r.words[u]=0|l,h=0|f}return 0!==h?r.words[u]=0|h:r.length--,r._strip()}s.prototype.toArrayLike=function(t,e,r){this._strip();var n=this.byteLength(),s=r||Math.max(1,n);i(n<=s,"byte array longer than desired length"),i(s>0,"Requested array length <= 0");var o=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,s);return this["_toArrayLike"+("le"===e?"LE":"BE")](o,n),o},s.prototype._toArrayLikeLE=function(t,e){for(var r=0,i=0,n=0,s=0;n>8&255),r>16&255),6===s?(r>24&255),i=0,s=0):(i=o>>>24,s+=2)}if(r=0&&(t[r--]=o>>8&255),r>=0&&(t[r--]=o>>16&255),6===s?(r>=0&&(t[r--]=o>>24&255),i=0,s=0):(i=o>>>24,s+=2)}if(r>=0)for(t[r--]=i;r>=0;)t[r--]=0},Math.clz32?s.prototype._countBits=function(t){return 32-Math.clz32(t)}:s.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},s.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 8191&e||(r+=13,e>>>=13),127&e||(r+=7,e>>>=7),15&e||(r+=4,e>>>=4),3&e||(r+=2,e>>>=2),1&e||r++,r},s.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},s.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},s.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},s.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},s.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},s.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},s.prototype.inotn=function(t){i("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this._strip()},s.prototype.notn=function(t){return this.clone().inotn(t)},s.prototype.setn=function(t,e){i("number"==typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,s=0;s>>26;for(;0!==n&&s>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;st.length?this.clone().iadd(t):t.clone().iadd(this)},s.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var s=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==s&&o>26,this.words[o]=67108863&e;if(0===s&&o>>13,d=0|o[1],p=8191&d,m=d>>>13,g=0|o[2],y=8191&g,b=g>>>13,v=0|o[3],w=8191&v,_=v>>>13,M=0|o[4],S=8191&M,k=M>>>13,E=0|o[5],x=8191&E,A=E>>>13,I=0|o[6],T=8191&I,P=I>>>13,C=0|o[7],R=8191&C,O=C>>>13,B=0|o[8],L=8191&B,N=B>>>13,j=0|o[9],U=8191&j,q=j>>>13,D=0|a[0],H=8191&D,F=D>>>13,z=0|a[1],$=8191&z,W=z>>>13,K=0|a[2],V=8191&K,Z=K>>>13,G=0|a[3],Y=8191&G,J=G>>>13,X=0|a[4],Q=8191&X,tt=X>>>13,et=0|a[5],rt=8191&et,it=et>>>13,nt=0|a[6],st=8191&nt,ot=nt>>>13,at=0|a[7],ht=8191&at,ut=at>>>13,ft=0|a[8],lt=8191&ft,ct=ft>>>13,dt=0|a[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,H))|0)+((8191&(n=(n=Math.imul(l,F))+Math.imul(c,H)|0))<<13)|0;u=((s=Math.imul(c,F))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,H),n=(n=Math.imul(p,F))+Math.imul(m,H)|0,s=Math.imul(m,F);var yt=(u+(i=i+Math.imul(l,$)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,$)|0))<<13)|0;u=((s=s+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,H),n=(n=Math.imul(y,F))+Math.imul(b,H)|0,s=Math.imul(b,F),i=i+Math.imul(p,$)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,$)|0,s=s+Math.imul(m,W)|0;var bt=(u+(i=i+Math.imul(l,V)|0)|0)+((8191&(n=(n=n+Math.imul(l,Z)|0)+Math.imul(c,V)|0))<<13)|0;u=((s=s+Math.imul(c,Z)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(w,H),n=(n=Math.imul(w,F))+Math.imul(_,H)|0,s=Math.imul(_,F),i=i+Math.imul(y,$)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(b,$)|0,s=s+Math.imul(b,W)|0,i=i+Math.imul(p,V)|0,n=(n=n+Math.imul(p,Z)|0)+Math.imul(m,V)|0,s=s+Math.imul(m,Z)|0;var vt=(u+(i=i+Math.imul(l,Y)|0)|0)+((8191&(n=(n=n+Math.imul(l,J)|0)+Math.imul(c,Y)|0))<<13)|0;u=((s=s+Math.imul(c,J)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(S,H),n=(n=Math.imul(S,F))+Math.imul(k,H)|0,s=Math.imul(k,F),i=i+Math.imul(w,$)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(_,$)|0,s=s+Math.imul(_,W)|0,i=i+Math.imul(y,V)|0,n=(n=n+Math.imul(y,Z)|0)+Math.imul(b,V)|0,s=s+Math.imul(b,Z)|0,i=i+Math.imul(p,Y)|0,n=(n=n+Math.imul(p,J)|0)+Math.imul(m,Y)|0,s=s+Math.imul(m,J)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((s=s+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(x,H),n=(n=Math.imul(x,F))+Math.imul(A,H)|0,s=Math.imul(A,F),i=i+Math.imul(S,$)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(k,$)|0,s=s+Math.imul(k,W)|0,i=i+Math.imul(w,V)|0,n=(n=n+Math.imul(w,Z)|0)+Math.imul(_,V)|0,s=s+Math.imul(_,Z)|0,i=i+Math.imul(y,Y)|0,n=(n=n+Math.imul(y,J)|0)+Math.imul(b,Y)|0,s=s+Math.imul(b,J)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,s=s+Math.imul(m,tt)|0;var _t=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((s=s+Math.imul(c,it)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(T,H),n=(n=Math.imul(T,F))+Math.imul(P,H)|0,s=Math.imul(P,F),i=i+Math.imul(x,$)|0,n=(n=n+Math.imul(x,W)|0)+Math.imul(A,$)|0,s=s+Math.imul(A,W)|0,i=i+Math.imul(S,V)|0,n=(n=n+Math.imul(S,Z)|0)+Math.imul(k,V)|0,s=s+Math.imul(k,Z)|0,i=i+Math.imul(w,Y)|0,n=(n=n+Math.imul(w,J)|0)+Math.imul(_,Y)|0,s=s+Math.imul(_,J)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(b,Q)|0,s=s+Math.imul(b,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,s=s+Math.imul(m,it)|0;var Mt=(u+(i=i+Math.imul(l,st)|0)|0)+((8191&(n=(n=n+Math.imul(l,ot)|0)+Math.imul(c,st)|0))<<13)|0;u=((s=s+Math.imul(c,ot)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(R,H),n=(n=Math.imul(R,F))+Math.imul(O,H)|0,s=Math.imul(O,F),i=i+Math.imul(T,$)|0,n=(n=n+Math.imul(T,W)|0)+Math.imul(P,$)|0,s=s+Math.imul(P,W)|0,i=i+Math.imul(x,V)|0,n=(n=n+Math.imul(x,Z)|0)+Math.imul(A,V)|0,s=s+Math.imul(A,Z)|0,i=i+Math.imul(S,Y)|0,n=(n=n+Math.imul(S,J)|0)+Math.imul(k,Y)|0,s=s+Math.imul(k,J)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,s=s+Math.imul(_,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(b,rt)|0,s=s+Math.imul(b,it)|0,i=i+Math.imul(p,st)|0,n=(n=n+Math.imul(p,ot)|0)+Math.imul(m,st)|0,s=s+Math.imul(m,ot)|0;var St=(u+(i=i+Math.imul(l,ht)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,ht)|0))<<13)|0;u=((s=s+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(L,H),n=(n=Math.imul(L,F))+Math.imul(N,H)|0,s=Math.imul(N,F),i=i+Math.imul(R,$)|0,n=(n=n+Math.imul(R,W)|0)+Math.imul(O,$)|0,s=s+Math.imul(O,W)|0,i=i+Math.imul(T,V)|0,n=(n=n+Math.imul(T,Z)|0)+Math.imul(P,V)|0,s=s+Math.imul(P,Z)|0,i=i+Math.imul(x,Y)|0,n=(n=n+Math.imul(x,J)|0)+Math.imul(A,Y)|0,s=s+Math.imul(A,J)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(k,Q)|0,s=s+Math.imul(k,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(_,rt)|0,s=s+Math.imul(_,it)|0,i=i+Math.imul(y,st)|0,n=(n=n+Math.imul(y,ot)|0)+Math.imul(b,st)|0,s=s+Math.imul(b,ot)|0,i=i+Math.imul(p,ht)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,ht)|0,s=s+Math.imul(m,ut)|0;var kt=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((s=s+Math.imul(c,ct)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(U,H),n=(n=Math.imul(U,F))+Math.imul(q,H)|0,s=Math.imul(q,F),i=i+Math.imul(L,$)|0,n=(n=n+Math.imul(L,W)|0)+Math.imul(N,$)|0,s=s+Math.imul(N,W)|0,i=i+Math.imul(R,V)|0,n=(n=n+Math.imul(R,Z)|0)+Math.imul(O,V)|0,s=s+Math.imul(O,Z)|0,i=i+Math.imul(T,Y)|0,n=(n=n+Math.imul(T,J)|0)+Math.imul(P,Y)|0,s=s+Math.imul(P,J)|0,i=i+Math.imul(x,Q)|0,n=(n=n+Math.imul(x,tt)|0)+Math.imul(A,Q)|0,s=s+Math.imul(A,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(k,rt)|0,s=s+Math.imul(k,it)|0,i=i+Math.imul(w,st)|0,n=(n=n+Math.imul(w,ot)|0)+Math.imul(_,st)|0,s=s+Math.imul(_,ot)|0,i=i+Math.imul(y,ht)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(b,ht)|0,s=s+Math.imul(b,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,s=s+Math.imul(m,ct)|0;var Et=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((s=s+Math.imul(c,mt)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(U,$),n=(n=Math.imul(U,W))+Math.imul(q,$)|0,s=Math.imul(q,W),i=i+Math.imul(L,V)|0,n=(n=n+Math.imul(L,Z)|0)+Math.imul(N,V)|0,s=s+Math.imul(N,Z)|0,i=i+Math.imul(R,Y)|0,n=(n=n+Math.imul(R,J)|0)+Math.imul(O,Y)|0,s=s+Math.imul(O,J)|0,i=i+Math.imul(T,Q)|0,n=(n=n+Math.imul(T,tt)|0)+Math.imul(P,Q)|0,s=s+Math.imul(P,tt)|0,i=i+Math.imul(x,rt)|0,n=(n=n+Math.imul(x,it)|0)+Math.imul(A,rt)|0,s=s+Math.imul(A,it)|0,i=i+Math.imul(S,st)|0,n=(n=n+Math.imul(S,ot)|0)+Math.imul(k,st)|0,s=s+Math.imul(k,ot)|0,i=i+Math.imul(w,ht)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(_,ht)|0,s=s+Math.imul(_,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(b,lt)|0,s=s+Math.imul(b,ct)|0;var xt=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((s=s+Math.imul(m,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(U,V),n=(n=Math.imul(U,Z))+Math.imul(q,V)|0,s=Math.imul(q,Z),i=i+Math.imul(L,Y)|0,n=(n=n+Math.imul(L,J)|0)+Math.imul(N,Y)|0,s=s+Math.imul(N,J)|0,i=i+Math.imul(R,Q)|0,n=(n=n+Math.imul(R,tt)|0)+Math.imul(O,Q)|0,s=s+Math.imul(O,tt)|0,i=i+Math.imul(T,rt)|0,n=(n=n+Math.imul(T,it)|0)+Math.imul(P,rt)|0,s=s+Math.imul(P,it)|0,i=i+Math.imul(x,st)|0,n=(n=n+Math.imul(x,ot)|0)+Math.imul(A,st)|0,s=s+Math.imul(A,ot)|0,i=i+Math.imul(S,ht)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(k,ht)|0,s=s+Math.imul(k,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(_,lt)|0,s=s+Math.imul(_,ct)|0;var At=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(b,pt)|0))<<13)|0;u=((s=s+Math.imul(b,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(U,Y),n=(n=Math.imul(U,J))+Math.imul(q,Y)|0,s=Math.imul(q,J),i=i+Math.imul(L,Q)|0,n=(n=n+Math.imul(L,tt)|0)+Math.imul(N,Q)|0,s=s+Math.imul(N,tt)|0,i=i+Math.imul(R,rt)|0,n=(n=n+Math.imul(R,it)|0)+Math.imul(O,rt)|0,s=s+Math.imul(O,it)|0,i=i+Math.imul(T,st)|0,n=(n=n+Math.imul(T,ot)|0)+Math.imul(P,st)|0,s=s+Math.imul(P,ot)|0,i=i+Math.imul(x,ht)|0,n=(n=n+Math.imul(x,ut)|0)+Math.imul(A,ht)|0,s=s+Math.imul(A,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(k,lt)|0,s=s+Math.imul(k,ct)|0;var It=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;u=((s=s+Math.imul(_,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(U,Q),n=(n=Math.imul(U,tt))+Math.imul(q,Q)|0,s=Math.imul(q,tt),i=i+Math.imul(L,rt)|0,n=(n=n+Math.imul(L,it)|0)+Math.imul(N,rt)|0,s=s+Math.imul(N,it)|0,i=i+Math.imul(R,st)|0,n=(n=n+Math.imul(R,ot)|0)+Math.imul(O,st)|0,s=s+Math.imul(O,ot)|0,i=i+Math.imul(T,ht)|0,n=(n=n+Math.imul(T,ut)|0)+Math.imul(P,ht)|0,s=s+Math.imul(P,ut)|0,i=i+Math.imul(x,lt)|0,n=(n=n+Math.imul(x,ct)|0)+Math.imul(A,lt)|0,s=s+Math.imul(A,ct)|0;var Tt=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(k,pt)|0))<<13)|0;u=((s=s+Math.imul(k,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(U,rt),n=(n=Math.imul(U,it))+Math.imul(q,rt)|0,s=Math.imul(q,it),i=i+Math.imul(L,st)|0,n=(n=n+Math.imul(L,ot)|0)+Math.imul(N,st)|0,s=s+Math.imul(N,ot)|0,i=i+Math.imul(R,ht)|0,n=(n=n+Math.imul(R,ut)|0)+Math.imul(O,ht)|0,s=s+Math.imul(O,ut)|0,i=i+Math.imul(T,lt)|0,n=(n=n+Math.imul(T,ct)|0)+Math.imul(P,lt)|0,s=s+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(x,pt)|0)|0)+((8191&(n=(n=n+Math.imul(x,mt)|0)+Math.imul(A,pt)|0))<<13)|0;u=((s=s+Math.imul(A,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(U,st),n=(n=Math.imul(U,ot))+Math.imul(q,st)|0,s=Math.imul(q,ot),i=i+Math.imul(L,ht)|0,n=(n=n+Math.imul(L,ut)|0)+Math.imul(N,ht)|0,s=s+Math.imul(N,ut)|0,i=i+Math.imul(R,lt)|0,n=(n=n+Math.imul(R,ct)|0)+Math.imul(O,lt)|0,s=s+Math.imul(O,ct)|0;var Ct=(u+(i=i+Math.imul(T,pt)|0)|0)+((8191&(n=(n=n+Math.imul(T,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((s=s+Math.imul(P,mt)|0)+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(U,ht),n=(n=Math.imul(U,ut))+Math.imul(q,ht)|0,s=Math.imul(q,ut),i=i+Math.imul(L,lt)|0,n=(n=n+Math.imul(L,ct)|0)+Math.imul(N,lt)|0,s=s+Math.imul(N,ct)|0;var Rt=(u+(i=i+Math.imul(R,pt)|0)|0)+((8191&(n=(n=n+Math.imul(R,mt)|0)+Math.imul(O,pt)|0))<<13)|0;u=((s=s+Math.imul(O,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(U,lt),n=(n=Math.imul(U,ct))+Math.imul(q,lt)|0,s=Math.imul(q,ct);var Ot=(u+(i=i+Math.imul(L,pt)|0)|0)+((8191&(n=(n=n+Math.imul(L,mt)|0)+Math.imul(N,pt)|0))<<13)|0;u=((s=s+Math.imul(N,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var Bt=(u+(i=Math.imul(U,pt))|0)+((8191&(n=(n=Math.imul(U,mt))+Math.imul(q,pt)|0))<<13)|0;return u=((s=Math.imul(q,mt))+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,h[0]=gt,h[1]=yt,h[2]=bt,h[3]=vt,h[4]=wt,h[5]=_t,h[6]=Mt,h[7]=St,h[8]=kt,h[9]=Et,h[10]=xt,h[11]=At,h[12]=It,h[13]=Tt,h[14]=Pt,h[15]=Ct,h[16]=Rt,h[17]=Ot,h[18]=Bt,0!==u&&(h[19]=u,r.length++),r};function y(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,s=0;s>>26)|0)>>>26,o&=67108863}r.words[s]=a,i=o,o=n}return 0!==i?r.words[s]=i:r.length--,r._strip()}function b(t,e,r){return y(t,e,r)}function v(t,e){this.x=t,this.y=e}Math.imul||(g=m),s.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?g(this,t,e):r<63?m(this,t,e):r<1024?y(this,t,e):b(this,t,e)},v.prototype.makeRBT=function(t){for(var e=new Array(t),r=s.prototype._countBits(t)-1,i=0;i>=1;return i},v.prototype.permute=function(t,e,r,i,n,s){for(var o=0;o>>=1)n++;return 1<>>=13,r[2*o+1]=8191&s,s>>>=13;for(o=2*e;o>=26,r+=s/67108864|0,r+=o>>>26,this.words[n]=67108863&o}return 0!==r&&(this.words[n]=r,this.length++),e?this.ineg():this},s.prototype.muln=function(t){return this.clone().imuln(t)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>n&1}return e}(t);if(0===e.length)return new s(1);for(var r=this,i=0;i=0);var e,r=t%26,n=(t-r)/26,s=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var s=t%26,o=Math.min((t-s)/26,this.length),a=67108863^67108863>>>s<o)for(this.length-=o,u=0;u=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-s|l>>>s,f=l&a}return h&&0!==f&&(h.words[h.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},s.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},s.prototype.shln=function(t){return this.clone().ishln(t)},s.prototype.ushln=function(t){return this.clone().iushln(t)},s.prototype.shrn=function(t){return this.clone().ishrn(t)},s.prototype.ushrn=function(t){return this.clone().iushrn(t)},s.prototype.testn=function(t){i("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},s.prototype.isubn=function(t){if(i("number"==typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(h/67108864|0),this.words[n+r]=67108863&s}for(;n>26,this.words[n+r]=67108863&s;if(0===a)return this._strip();for(i(-1===a),a=0,n=0;n>26,this.words[n]=67108863&s;return this.negative=1,this._strip()},s.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),n=t,o=0|n.words[n.length-1];0!==(r=26-this._countBits(o))&&(n=n.ushln(r),i.iushln(r),o=0|n.words[n.length-1]);var a,h=i.length-n.length;if("mod"!==e){(a=new s(null)).length=h+1,a.words=new Array(a.length);for(var u=0;u=0;l--){var c=67108864*(0|i.words[n.length+l])+(0|i.words[n.length+l-1]);for(c=Math.min(c/o|0,67108863),i._ishlnsubmul(n,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(n,1,l),i.isZero()||(i.negative^=1);a&&(a.words[l]=c)}return a&&a._strip(),i._strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:a||null,mod:i}},s.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(n=a.div.neg()),"div"!==e&&(o=a.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:n,mod:o}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(n=a.div.neg()),{div:n,mod:a.mod}):this.negative&t.negative?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(o=a.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:a.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new s(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new s(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new s(this.modrn(t.words[0]))}:this._wordDiv(t,e);var n,o,a},s.prototype.div=function(t){return this.divmod(t,"div",!1).div},s.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},s.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},s.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),s=r.cmp(i);return s<0||1===n&&0===s?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},s.prototype.modrn=function(t){var e=t<0;e&&(t=-t),i(t<=67108863);for(var r=(1<<26)%t,n=0,s=this.length-1;s>=0;s--)n=(r*n+(0|this.words[s]))%t;return e?-n:n},s.prototype.modn=function(t){return this.modrn(t)},s.prototype.idivn=function(t){var e=t<0;e&&(t=-t),i(t<=67108863);for(var r=0,n=this.length-1;n>=0;n--){var s=(0|this.words[n])+67108864*r;this.words[n]=s/t|0,r=s%t}return this._strip(),e?this.ineg():this},s.prototype.divn=function(t){return this.clone().idivn(t)},s.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n=new s(1),o=new s(0),a=new s(0),h=new s(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var f=r.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;!(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(f),o.isub(l)),n.iushrn(1),o.iushrn(1);for(var p=0,m=1;!(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(a.isOdd()||h.isOdd())&&(a.iadd(f),h.isub(l)),a.iushrn(1),h.iushrn(1);e.cmp(r)>=0?(e.isub(r),n.isub(a),o.isub(h)):(r.isub(e),a.isub(n),h.isub(o))}return{a,b:h,gcd:r.iushln(u)}},s.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n,o=new s(1),a=new s(0),h=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,f=1;!(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)o.isOdd()&&o.iadd(h),o.iushrn(1);for(var l=0,c=1;!(r.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(r.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(h),a.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(a)):(r.isub(e),a.isub(o))}return(n=0===e.cmpn(1)?o:a).cmpn(0)<0&&n.iadd(t),n},s.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var s=e;e=r,r=s}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},s.prototype.invm=function(t){return this.egcd(t).a.umod(t)},s.prototype.isEven=function(){return!(1&this.words[0])},s.prototype.isOdd=function(){return!(1&~this.words[0])},s.prototype.andln=function(t){return this.words[0]&t},s.prototype.bincn=function(t){i("number"==typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,a&=67108863,this.words[o]=a}return 0!==s&&(this.words[o]=s,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this._strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},s.prototype.gtn=function(t){return 1===this.cmpn(t)},s.prototype.gt=function(t){return 1===this.cmp(t)},s.prototype.gten=function(t){return this.cmpn(t)>=0},s.prototype.gte=function(t){return this.cmp(t)>=0},s.prototype.ltn=function(t){return-1===this.cmpn(t)},s.prototype.lt=function(t){return-1===this.cmp(t)},s.prototype.lten=function(t){return this.cmpn(t)<=0},s.prototype.lte=function(t){return this.cmp(t)<=0},s.prototype.eqn=function(t){return 0===this.cmpn(t)},s.prototype.eq=function(t){return 0===this.cmp(t)},s.red=function(t){return new x(t)},s.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},s.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(t){return this.red=t,this},s.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},s.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},s.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},s.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},s.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},s.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},s.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},s.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},s.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var w={k256:null,p224:null,p192:null,p25519:null};function _(t,e){this.name=t,this.p=new s(e,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function M(){_.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function S(){_.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function k(){_.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function E(){_.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function x(t){if("string"==typeof t){var e=s._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){x.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}_.prototype._tmp=function(){var t=new s(null);return t.words=new Array(Math.ceil(this.n/13)),t},_.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},_.prototype.split=function(t,e){t.iushrn(this.n,0,e)},_.prototype.imulK=function(t){return t.imul(this.k)},n(M,_),M.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,s=o}s>>>=22,t.words[n-10]=s,0===s&&t.length>10?t.length-=10:t.length-=9},M.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},s._prime=function(t){if(w[t])return w[t];var e;if("k256"===t)e=new M;else if("p224"===t)e=new S;else if("p192"===t)e=new k;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new E}return w[t]=e,e},x.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},x.prototype._verify2=function(t,e){i(!(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},x.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(f(t,t.umod(this.m)._forceRed(this)),t)},x.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},x.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},x.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},x.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},x.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},x.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},x.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},x.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},x.prototype.isqr=function(t){return this.imul(t,t.clone())},x.prototype.sqr=function(t){return this.mul(t,t)},x.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2==1),3===e){var r=this.m.add(new s(1)).iushrn(2);return this.pow(t,r)}for(var n=this.m.subn(1),o=0;!n.isZero()&&0===n.andln(1);)o++,n.iushrn(1);i(!n.isZero());var a=new s(1).toRed(this),h=a.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new s(2*f*f).toRed(this);0!==this.pow(f,u).cmp(h);)f.redIAdd(h);for(var l=this.pow(f,n),c=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=o;0!==d.cmp(a);){for(var m=d,g=0;0!==m.cmp(a);g++)m=m.redSqr();i(g=0;i--){for(var u=e.words[i],f=h-1;f>=0;f--){var l=u>>f&1;n!==r[0]&&(n=this.sqr(n)),0!==l||0!==o?(o<<=1,o|=l,(4===++a||0===i&&0===f)&&(n=this.mul(n,r[o]),a=0,o=0)):a=0}h=26}return n},x.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},x.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},s.mont=function(t){return new A(t)},n(A,x),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),s=n;return n.cmp(this.m)>=0?s=n.isub(this.m):n.cmpn(0)<0&&(s=n.iadd(this.m)),s._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new s(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},A.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=r.nmd(t),this)},9439:(t,e,r)=>{e.RateLimiter=r(3065),e.TokenBucket=r(5472)},9538:t=>{t.exports=ReferenceError},9560:(t,e,r)=>{e.utils=r(7626),e.Cipher=r(2808),e.DES=r(2211),e.CBC=r(3389),e.EDE=r(5279)},9596:t=>{let e;t.exports="function"==typeof queueMicrotask?queueMicrotask.bind("undefined"!=typeof window?window:globalThis):t=>(e||(e=Promise.resolve())).then(t).catch((t=>setTimeout((()=>{throw t}),0)))},9612:t=>{t.exports=Object},9639:(t,e,r)=>{r.d(e,{NJ:()=>y,V5:()=>o,dU:()=>p,HB:()=>b,xW:()=>h,LC:()=>u,tW:()=>k,fk:()=>a,Ht:()=>v,po:()=>E,L0:()=>g});const i="0123456789abcdef",n=[],s=[];for(let t=0;t<256;t++)n[t]=i[t>>4&15]+i[15&t],t<16&&(t<10?s[48+t]=t:s[87+t]=t);const o=t=>{const e=t.length;let r="",i=0;for(;i{const e=t.length>>1,r=e<<1,i=new Uint8Array(e);let n=0,o=0;for(;o{const r=t.length||0;if(!e){let i=r;for(;i--;)e+=t[i].length}const i=new Uint8Array(e);let n=e,s=r;for(;s--;)n-=t[s].length,i.set(t[s],n);return i},u=(t,e)=>{if(t.length!==e.length)return!1;for(let r=t.length;r>-1;r-=1)if(t[r]!==e[r])return!1;return!0};for(var f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",l="undefined"==typeof Uint8Array?[]:new Uint8Array(256),c=0;c<64;c++)l[f.charCodeAt(c)]=c;const d=new TextDecoder,p=(t,e)=>{if(!e)return d.decode(t);return new TextDecoder(e).decode(t)},m=new TextEncoder,g=t=>m.encode(t),y=t=>function(t){var e,r=new Uint8Array(t),i=r.length,n="";for(e=0;e>2],n+=f[(3&r[e])<<4|r[e+1]>>4],n+=f[(15&r[e+1])<<2|r[e+2]>>6],n+=f[63&r[e+2]];return i%3==2?n=n.substring(0,n.length-1)+"=":i%3==1&&(n=n.substring(0,n.length-2)+"=="),n}(t),b=t=>{let e,r="",n=0;const s=t.length;for(;n>4]+i[15&e];return r},v=t=>{const e=a(t);if(e.length<=65536)return String.fromCharCode(...e);let r="",i=0;for(;i{if(!M)throw new Error("no web crypto support");"string"==typeof t&&(t=g(t));const i=new Uint8Array(await M.digest(r,t));return e?S[e](i):i},E=t=>{const e=new Uint8Array(t);return _.getRandomValues(e)}},9655:function(t,e,r){var i;t=r.nmd(t),function(){e&&e.nodeType,t&&t.nodeType;var n="object"==typeof globalThis&&globalThis;n.global!==n&&n.window!==n&&n.self;var s,o=2147483647,a=36,h=/^xn--/,u=/[^\x20-\x7E]/,f=/[\x2E\u3002\uFF0E\uFF61]/g,l={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},c=Math.floor,d=String.fromCharCode;function p(t){throw new RangeError(l[t])}function m(t,e){for(var r=t.length,i=[];r--;)i[r]=e(t[r]);return i}function g(t,e){var r=t.split("@"),i="";return r.length>1&&(i=r[0]+"@",t=r[1]),i+m((t=t.replace(f,".")).split("."),e).join(".")}function y(t){for(var e,r,i=[],n=0,s=t.length;n=55296&&e<=56319&&n65535&&(e+=d((t-=65536)>>>10&1023|55296),t=56320|1023&t),e+=d(t)})).join("")}function v(t,e){return t+22+75*(t<26)-((0!=e)<<5)}function w(t,e,r){var i=0;for(t=r?c(t/700):t>>1,t+=c(t/e);t>455;i+=a)t=c(t/35);return c(i+36*t/(t+38))}function _(t){var e,r,i,n,s,h,u,f,l,d,m,g=[],y=t.length,v=0,_=128,M=72;for((r=t.lastIndexOf("-"))<0&&(r=0),i=0;i=128&&p("not-basic"),g.push(t.charCodeAt(i));for(n=r>0?r+1:0;n=y&&p("invalid-input"),((f=(m=t.charCodeAt(n++))-48<10?m-22:m-65<26?m-65:m-97<26?m-97:a)>=a||f>c((o-v)/h))&&p("overflow"),v+=f*h,!(f<(l=u<=M?1:u>=M+26?26:u-M));u+=a)h>c(o/(d=a-l))&&p("overflow"),h*=d;M=w(v-s,e=g.length+1,0==s),c(v/e)>o-_&&p("overflow"),_+=c(v/e),v%=e,g.splice(v++,0,_)}return b(g)}function M(t){var e,r,i,n,s,h,u,f,l,m,g,b,_,M,S,k=[];for(b=(t=y(t)).length,e=128,r=0,s=72,h=0;h=e&&gc((o-r)/(_=i+1))&&p("overflow"),r+=(u-e)*_,e=u,h=0;ho&&p("overflow"),g==e){for(f=r,l=a;!(f<(m=l<=s?1:l>=s+26?26:l-s));l+=a)S=f-m,M=a-m,k.push(d(v(m+S%M,0))),f=c(S/M);k.push(d(v(f,0))),s=w(r,_,i==n),r=0,++i}++r,++e}return k.join("")}s={version:"1.4.1",ucs2:{decode:y,encode:b},decode:_,encode:M,toASCII:function(t){return g(t,(function(t){return u.test(t)?"xn--"+M(t):t}))},toUnicode:function(t){return g(t,(function(t){return h.test(t)?_(t.slice(4).toLowerCase()):t}))}},void 0===(i=function(){return s}.call(e,r,e,t))||(t.exports=i)}()},9673:(t,e,r)=>{var i=e;i.Reporter=r(9220).a,i.DecoderBuffer=r(7227).t,i.EncoderBuffer=r(7227).d,i.Node=r(993)},9675:t=>{t.exports=TypeError},9957:(t,e,r)=>{var i=Function.prototype.call,n=Object.prototype.hasOwnProperty,s=r(6743);t.exports=s.call(i,n)},9971:(t,e,r)=>{const i=r(3209),{EventEmitter:n}=r(7007);function s(t,e){if(t===e)return!0;if(t.length!==e.length)return!1;for(let r=0,i=t.length;re.vectorClock?t:e}static distance(t,e){let r=0,i=0;const n=Math.min(t.length,e.length),s=Math.max(t.length,e.length);for(;i=0?(this._update(r,i,t),this):r.contacts.length0&&r.length[this.distance(e.id,t),e])).sort(((t,e)=>t[0]-e[0])).slice(0,e).map((t=>t[1]))}count(){let t=0;for(const e=[this.root];e.length>0;){const r=e.pop();null===r.contacts?e.push(r.right,r.left):t+=r.contacts.length}return t}_determineNode(t,e,r){const i=r>>3,n=r%8;if(e.length<=i&&0!==n)return t.left;return e[i]&1<<7-n?t.right:t.left}get(t){o("id",t);let e=0,r=this.root;for(;null===r.contacts;)r=this._determineNode(r,t,e++);const i=this._indexOf(r,t);return i>=0?r.contacts[i]:null}_indexOf(t,e){for(let r=0;r=0){const t=r.contacts.splice(i,1)[0];this.emit("removed",t)}return this}_split(t,e){t.left={contacts:[],dontSplit:!1,left:null,right:null},t.right={contacts:[],dontSplit:!1,left:null,right:null};for(const r of t.contacts)this._determineNode(t,r.id,e).contacts.push(r);t.contacts=null;const r=this._determineNode(t,this.localNodeId,e);(t.left===r?t.right:t.left).dontSplit=!0}toArray(){let t=[];for(const e=[this.root];e.length>0;){const r=e.pop();null===r.contacts?e.push(r.right,r.left):t=t.concat(r.contacts)}return t}*toIterable(){for(const t=[this.root];t.length>0;){const e=t.pop();null===e.contacts?t.push(e.right,e.left):yield*e.contacts}}_update(t,e,r){if(!s(t.contacts[e].id,r.id))throw new Error("wrong index for _update");const i=t.contacts[e],n=this.arbiter(i,r);n===i&&i!==r||(t.contacts.splice(e,1),t.contacts.push(n),this.emit("updated",i,n))}}t.exports=a}},e={};function r(i){var n=e[i];if(void 0!==n)return n.exports;var s=e[i]={id:i,loaded:!1,exports:{}};return t[i].call(s.exports,s,s.exports,r),s.loaded=!0,s.exports}r.d=(t,e)=>{for(var i in e)r.o(e,i)&&!r.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.nmd=t=>(t.paths=[],t.children||(t.children=[]),t);var i={};r.d(i,{A:()=>Yr});var n={};r.r(n),r.d(n,{ACTIONS:()=>Jt,CONNECTION_ID:()=>Yt,DESTROY_TIMEOUT:()=>re,EVENTS:()=>Xt,EVENT_IDS:()=>Qt,EVENT_NAMES:()=>te,IPV4_RE:()=>Vt,IPV6_RE:()=>Zt,REMOVE_IPV4_MAPPED_IPV6_RE:()=>Gt,REQUEST_TIMEOUT:()=>ee,querystringParse:()=>ne,querystringStringify:()=>se,toUInt32:()=>ie});var s=r(7007);function o(t){if("string"!=typeof t)throw new TypeError("Path must be a string. Received "+JSON.stringify(t))}function a(t,e){let r,i="",n=0,s=-1,o=0;for(let a=0;a<=t.length;++a){if(a2){const t=i.lastIndexOf("/");if(t!==i.length-1){-1===t?(i="",n=0):(i=i.slice(0,t),n=i.length-1-i.lastIndexOf("/")),s=a,o=0;continue}}else if(2===i.length||1===i.length){i="",n=0,s=a,o=0;continue}e&&(i.length>0?i+="/..":i="..",n=2)}else i.length>0?i+="/"+t.slice(s+1,a):i=t.slice(s+1,a),n=a-s-1;s=a,o=0}else 46===r&&-1!==o?++o:o=-1}return i}function h(t){if(o(t),0===t.length)return".";const e=47===t.charCodeAt(0),r=47===t.charCodeAt(t.length-1);return 0!==(t=a(t,!e)).length||e||(t="."),t.length>0&&r&&(t+="/"),e?"/"+t:t}function u(){if(0===arguments.length)return".";let t;for(let e=0;e0&&(void 0===t?t=r:t+="/"+r)}return void 0===t?".":h(t)}r(717);const f="/";var l=r(988),c=r(1467),d=r(8444),p=r(7266);const m=new RegExp(["^npm-debug\\.log$","^\\..*\\.swp$","^\\.DS_Store$","^\\.AppleDouble$","^\\.LSOverride$","^Icon\\r$","^\\._.*","^\\.Spotlight-V100(?:$|\\/)","\\.Trashes","^__MACOSX$","~$","^Thumbs\\.db$","^ehthumbs\\.db$","^[Dd]esktop\\.ini$","@eaDir$"].join("|"));function g(t){return m.test(t)}function y(t){return!g(t)}var b=r(405),v=r(8190),w=r(9596),_=r(9639),M=(r(3468),r(5185)),S=r(3519);function k(t){return"."!==t[0]}function E(t,e,r){M.stat(t,((i,n)=>{if(i)return r(i);n.isDirectory()?M.readdir(t,((i,n)=>{if(i)return r(i);v(n.filter(k).filter(y).map((r=>i=>{E(u(t,r),e,i)})),r)})):n.isFile()&&e(t,r)}))}function x(t,e,r){E(t,A,((i,n)=>{if(i)return r(i);n=Array.isArray(n)?n.flat(1/0):[n],t=h(t),e&&(t=t.slice(0,t.lastIndexOf(f)+1)),t[t.length-1]!==f&&(t+=f),n.forEach((e=>{e.getStream=function(t){return()=>M.createReadStream(t)}(e.path),e.path=e.path.replace(t,"").split(f)})),r(null,n)}))}function A(t,e){e=S(e),M.stat(t,((r,i)=>{if(r)return e(r);const n={length:i.size,path:t};e(null,n)}))}const I=[["udp://tracker.leechers-paradise.org:6969"],["udp://tracker.coppersurfer.tk:6969"],["udp://tracker.opentrackr.org:1337"],["udp://explodie.org:6969"],["udp://tracker.empire-js.us:1337"],["wss://tracker.btorrent.xyz"],["wss://tracker.openwebtorrent.com"],["wss://tracker.webtorrent.dev"]];const T=Symbol("itemPath");function P(t,e,r){var i;if(i=t,"undefined"!=typeof FileList&&i instanceof FileList&&(t=Array.from(t)),Array.isArray(t)||(t=[t]),0===t.length)throw new Error("invalid input type");t.forEach((t=>{if(null==t)throw new Error(`invalid input type: ${t}`)})),1!==(t=t.map((t=>O(t)&&"string"==typeof t.path?t.path:t))).length||"string"==typeof t[0]||t[0].name||(t[0].name=e.name);let n=null;t.forEach(((e,r)=>{if("string"==typeof e)return;let i=e.fullPath||e.name;i||(i=`Unknown File ${r+1}`,e.unknownName=!0),e[T]=i.split("/"),e[T][0]||e[T].shift(),e[T].length<2?n=null:0===r&&t.length>1?n=e[T][0]:e[T][0]!==n&&(n=null)}));(void 0===e.filterJunkFiles||e.filterJunkFiles)&&(t=t.filter((t=>"string"==typeof t||!function(t){const e=t[t.length-1];return"."===e[0]&&g(e)}(t[T])))),n&&t.forEach((t=>{const e=(ArrayBuffer.isView(t)||B(t))&&!t[T];"string"==typeof t||e||t[T].shift()})),!e.name&&n&&(e.name=n),e.name||t.some((t=>"string"==typeof t?(e.name=function(t,e){if(void 0!==e&&"string"!=typeof e)throw new TypeError('"ext" argument must be a string');o(t);let r,i=0,n=-1,s=!0;if(void 0!==e&&e.length>0&&e.length<=t.length){if(e.length===t.length&&e===t)return"";let o=e.length-1,a=-1;for(r=t.length-1;r>=0;--r){const h=t.charCodeAt(r);if(47===h){if(!s){i=r+1;break}}else-1===a&&(s=!1,a=r+1),o>=0&&(h===e.charCodeAt(o)?-1==--o&&(n=r):(o=-1,n=a))}return i===n?n=a:-1===n&&(n=t.length),t.slice(i,n)}for(r=t.length-1;r>=0;--r)if(47===t.charCodeAt(r)){if(!s){i=r+1;break}}else-1===n&&(s=!1,n=r+1);return-1===n?"":t.slice(i,n)}(t),!0):!t.unknownName&&(e.name=t[T][t[T].length-1],!0))),e.name||(e.name=`Unnamed Torrent ${Date.now()}`),e.maxPieceLength||(e.maxPieceLength=4194304);const s=t.reduce(((t,e)=>t+Number("string"==typeof e)),0);let a=1===t.length;function h(){v(t.map((t=>e=>{const r={};if(O(t))r.getStream=t.stream(),r.length=t.size;else if(ArrayBuffer.isView(t))r.getStream=[t],r.length=t.length;else{if(!B(t)){if("string"==typeof t){0;return void x(t,s>1||a,e)}throw new Error("invalid input type")}r.getStream=async function*(t,e){for await(const r of t)e.length+=r.length,yield r}(t,r),r.length=0}r.path=t[T],e(null,r)})),((t,e)=>{if(t)return r(t);e=e.flat(),r(null,e,a)}))}1===t.length&&"string"==typeof t[0]?p(t[0],((t,e)=>{if(t)return r(t);a=e,h()})):w(h)}const C=5;function R(t,e){return t+e.length}function O(t){return"undefined"!=typeof Blob&&t instanceof Blob}function B(t){return"object"==typeof t&&null!=t&&"function"==typeof t.pipe}const L=function(t,e,r){"function"==typeof e&&([e,r]=[r,e]),P(t,e=e?Object.assign({},e):{},((t,i,n)=>{if(t)return r(t);e.singleFileTorrent=n,function(t,e,r){let i=e.announceList;i||("string"==typeof e.announce?i=[[e.announce]]:Array.isArray(e.announce)&&(i=e.announce.map((t=>[t]))));i||(i=[]);globalThis.WEBTORRENT_ANNOUNCE&&("string"==typeof globalThis.WEBTORRENT_ANNOUNCE?i.push([[globalThis.WEBTORRENT_ANNOUNCE]]):Array.isArray(globalThis.WEBTORRENT_ANNOUNCE)&&(i=i.concat(globalThis.WEBTORRENT_ANNOUNCE.map((t=>[t])))));void 0===e.announce&&void 0===e.announceList&&(i=i.concat(I));"string"==typeof e.urlList&&(e.urlList=[e.urlList]);const n={info:{name:e.name},"creation date":Math.ceil((Number(e.creationDate)||Date.now())/1e3),encoding:"UTF-8"};0!==i.length&&(n.announce=i[0][0],n["announce-list"]=i);void 0!==e.comment&&(n.comment=e.comment);void 0!==e.createdBy&&(n["created by"]=e.createdBy);void 0!==e.private&&(n.info.private=Number(e.private));void 0!==e.info&&Object.assign(n.info,e.info);void 0!==e.sslCert&&(n.info["ssl-cert"]=e.sslCert);void 0!==e.urlList&&(n["url-list"]=e.urlList);const s=t.reduce(R,0),o=e.pieceLength||Math.min(d(s),e.maxPieceLength);n.info["piece length"]=o,async function(t,e,r,i,n){const s=[];let o=0,a=0;const h=t.map((t=>t.getStream)),u=i.onProgress;let f=0,l=0,d=!1;const p=c(b(h),e,{zeroPadding:!1});try{for await(const t of p)await new Promise((e=>{o+=t.length;const i=l;++l,++f{s[i]=h,--f,a+=t.length,u&&u(a,r),e(),d&&0===f&&n(null,(0,_.fk)(s.join("")),o)}))}));if(0===f)return n(null,(0,_.fk)(s.join("")),o);d=!0}catch(t){n(t)}}(t,o,s,e,((i,s,o)=>{if(i)return r(i);n.info.pieces=s,t.forEach((t=>{delete t.getStream})),e.singleFileTorrent?n.info.length=o:n.info.files=t,r(null,l.A.encode(n))}))}(i,e,r)}))};var N=r(7833),j=r(9971),U=r(4988),q=r(7180),D=r(8454),H=r(3209),F=r(5307),z=r(1565),$=r(8287).Buffer,W=r(717);const K=N("bittorrent-dht"),V=3e5;class Z extends s.EventEmitter{constructor(t={}){super(),this._tables=new D({maxAge:V,max:t.maxTables||1e3}),this._values=new D(t.maxValues||1e3),this._peers=F({maxAge:t.maxAge||0,maxSize:t.maxPeers||1e4}),this._secrets=null,this._hash=t.hash||Y,this._hashLength=this._hash($.from("")).length,this._rpc=t.krpc||U(Object.assign({idLength:this._hashLength},t)),this._rpc.on("query",(function(t,e){r._onquery(t,e)})),this._rpc.on("node",(function(t){r.emit("node",t)})),this._rpc.on("warning",(function(t){r.emit("warning",t)})),this._rpc.on("error",(function(t){r.emit("error",t)})),this._rpc.on("listening",(function(){r.listening=!0,r._debug("listening %d",r.address().port),r.updateBucketTimestamp(),r._setBucketCheckInterval(),r.emit("listening")})),this._rotateSecrets(),this._verify=t.verify||null,this._host=t.host||null,this._interval=setInterval((function(){r._rotateSecrets()}),V),this._runningBucketCheck=!1,this._bucketCheckTimeout=null,this._bucketOutdatedTimeSpan=t.timeBucketOutdated||9e5,this.listening=!1,this.destroyed=!1,this.nodeId=this._rpc.id,this.nodes=this._rpc.nodes;const e=q((function(t,e){const i=t.older,n=t.swap;r._debug("received ping",i),r._checkNodes(i,!1,((t,i)=>{if(i)return r._debug("swaping dead node with newer",i),n(i),e();r._debug("no node added, all other nodes ok"),e()}))}));this._rpc.on("ping",((t,r)=>{e({older:t,swap:r})})),W.nextTick((function(){r.destroyed||r._bootstrap(!1!==t.bootstrap)})),this._debug("new DHT %s",this.nodeId);const r=this}_setBucketCheckInterval(){const t=this;function e(){if(Date.now()-t._rpc.nodes.metadata.lastChange{t.destroyed||(t.nodes.toArray().length<1&&t._bootstrap(!0),r())}))}function r(){if(!t._runningBucketCheck||t.destroyed)return;const r=Math.floor(6e4*Math.random()+3e4);t._bucketCheckTimeout=setTimeout(e,r)}this._runningBucketCheck=!0,r()}_pingAll(t){this._checkAndRemoveNodes(this.nodes.toArray(),t)}removeBucketCheckInterval(){this._runningBucketCheck=!1,clearTimeout(this._bucketCheckTimeout)}updateBucketTimestamp(){this._rpc.nodes.metadata.lastChange=Date.now()}_checkAndRemoveNodes(t,e){const r=this;this._checkNodes(t,!0,((t,i)=>{i&&r.removeNode(i.id),e(null,i)}))}_checkNodes(t,e,r){const i=this;!function t(n){let s=null;for(;n.length&&(s=n.pop(),s.id&&!e)&&!(Date.now()-(s.seen||0)>1e4);)s=null;if(!s)return r(null);i._sendPing(s,(e=>{if(!e)return i.updateBucketTimestamp(),t(n);r(null,s)}))}(t)}addNode(t){const e=this;if(t.id){t.id=et(t.id);const e=!!this._rpc.nodes.get(t.id);return this._rpc.nodes.add(t),void(e||(this.emit("node",t),this.updateBucketTimestamp()))}this._sendPing(t,((t,r)=>{r&&e.addNode(r)}))}removeNode(t){this._rpc.nodes.remove(et(t))}_sendPing(t,e){const r=this,i=t.id;this._rpc.query(t,{q:"ping"},((t,n,s)=>t?e(t):n.r&&n.r.id&&$.isBuffer(n.r.id)&&n.r.id.length===r._hashLength?$.isBuffer(i)&&!i.equals(n.r.id)?e(new Error("Unexpected node id")):(r.updateBucketTimestamp(),void e(null,{id:n.r.id,host:s.host||s.address,port:s.port})):e(new Error("Bad reply"))))}toJSON(){const t=this,e={};return Object.keys(this._values.cache).forEach((r=>{const i=t._values.cache[r].value;e[r]={v:i.v.toString("hex"),id:i.id.toString("hex")},null!=i.seq&&(e[r].seq=i.seq),null!=i.sig&&(e[r].sig=i.sig.toString("hex")),null!=i.k&&(e[r].k=i.k.toString("hex"))})),{nodes:this._rpc.nodes.toArray().map(tt),values:e}}put(t,e){($.isBuffer(t)||"string"==typeof t)&&(t={v:t});const r=!!t.k;if(void 0===t.v)throw new Error("opts.v not given");if(t.v.length>=1e3)throw new Error("v must be less than 1000 bytes in put()");if(r&&void 0!==t.cas&&"number"!=typeof t.cas)throw new Error("opts.cas must be an integer if provided");if(r&&32!==t.k.length)throw new Error("opts.k ed25519 public key must be 32 bytes");if(r&&"function"!=typeof t.sign&&!$.isBuffer(t.sig))throw new Error("opts.sign function or options.sig signature is required for mutable put");if(r&&t.salt&&t.salt.length>64)throw new Error("opts.salt is > 64 bytes long");if(r&&void 0===t.seq)throw new Error("opts.seq not provided for a mutable update");if(r&&"number"!=typeof t.seq)throw new Error("opts.seq not an integer");return this._put(t,e)}_put(t,e){e||(e=G);const r=!!t.k,i="string"==typeof t.v?$.from(t.v):t.v,n=r?this._hash(t.salt?$.concat([t.k,t.salt]):t.k):this._hash(l.A.encode(i)),s=this._tables.get(n.toString("hex"));if(!s)return this._preput(n,t,e);const o={q:"put",a:{id:this._rpc.id,token:null,v:i}};return r?("number"==typeof t.cas&&(o.a.cas=t.cas),t.salt&&(o.a.salt=t.salt),o.a.k=t.k,o.a.seq=t.seq,"function"==typeof t.sign?o.a.sig=t.sign(Q(o.a)):$.isBuffer(t.sig)&&(o.a.sig=t.sig)):this._values.set(n.toString("hex"),o.a),this._rpc.queryAll(s.closest(n),o,null,((t,r)=>{if(t)return e(t,n,r);e(null,n,r)})),n}_preput(t,e,r){const i=this;return this._closest(t,{q:"get",a:{id:this._rpc.id,target:t}},null,((t,n)=>{if(t)return r(t);i.put(e,r)})),t}get(t,e,r){t=et(t),"function"==typeof e&&(r=e,e=null),e||(e={});const i=e.verify||this._verify,n=this._hash;let s=this._values.get(t.toString("hex"))||null;if(s&&!1!==e.cache)return s=J(this._rpc.id,null,s),W.nextTick(o);function o(t){if(t)return r(t);r(null,s)}this._closest(t,{q:"get",a:{id:this._rpc.id,target:t}},(function(r){const o=r.r;if(!o||!o.v)return!0;const a=o.k||o.sig;e.salt&&(o.salt=$.from(e.salt));if(a){if(!i||!o.sig||!o.k)return!0;if(!i(o.sig,Q(o),o.k))return!0;n(o.salt?$.concat([o.k,o.salt]):o.k).equals(t)&&(!s||o.seq>s.seq)&&(s=o)}else if(n(l.A.encode(o.v)).equals(t))return s=o,!1;return!0}),o)}announce(t,e,r){if("function"==typeof e)return this.announce(t,0,e);t=et(t),r||(r=G);const i=this._tables.get(t.toString("hex"));if(!i)return this._preannounce(t,e,r);if(this._host){const r=this.listening?this.address().port:0;this._addPeer({host:this._host,port:e||r},t,{host:this._host,port:r})}const n={q:"announce_peer",a:{id:this._rpc.id,token:null,info_hash:t,port:e,implied_port:e?0:1}};this._debug("announce %s %d",t,e),this._rpc.queryAll(i.closest(t),n,null,r)}_preannounce(t,e,r){const i=this;this.lookup(t,(n=>i.destroyed?r(new Error("dht is destroyed")):n?r(n):void i.announce(t,e,r)))}lookup(t,e){t=et(t),e||(e=G);const r=this;let i=!1;function n(e,i){e||(e=r._peers.get(t.toString("hex"),100));const n=function(t){const e=[];try{for(let r=0;r{e.emit("close"),t&&t()}))}_onquery(t,e){if(void 0===t.q||null===t.q)return;const r=t.q.toString();if(this._debug("received %s query from %s:%d",r,e.address,e.port),t.a)switch(r){case"ping":return this._rpc.response(e,t,{id:this._rpc.id});case"find_node":return this._onfindnode(t,e);case"get_peers":return this._ongetpeers(t,e);case"announce_peer":return this._onannouncepeer(t,e);case"get":return this._onget(t,e);case"put":return this._onput(t,e)}}_onfindnode(t,e){const r=t.a.target;if(!r)return this._rpc.error(e,t,[203,"`find_node` missing required `a.target` field"]);this.emit("find_node",r);const i=this._rpc.nodes.closest(r);this._rpc.response(e,t,{id:this._rpc.id},i)}_ongetpeers(t,e){const r=e.address||e.host,i=t.a.info_hash;if(!i)return this._rpc.error(e,t,[203,"`get_peers` missing required `a.info_hash` field"]);this.emit("get_peers",i);const n={id:this._rpc.id,token:this._generateToken(r)},s=this._peers.get(i.toString("hex"));s.length?(n.values=s,this._rpc.response(e,t,n)):this._rpc.response(e,t,n,this._rpc.nodes.closest(i))}_onannouncepeer(t,e){const r=e.address||e.host,i=t.a.implied_port?e.port:t.a.port;if(!i||"number"!=typeof i||i<=0||i>65535)return;const n=t.a.info_hash,s=t.a.token;if(n&&s){if(!this._validateToken(r,s))return this._rpc.error(e,t,[203,"cannot `announce_peer` with bad token"]);this.emit("announce_peer",n,{host:r,port:e.port}),this._addPeer({host:r,port:i},n,{host:r,port:e.port}),this._rpc.response(e,t,{id:this._rpc.id})}}_addPeer(t,e,r){this._peers.add(e.toString("hex"),function(t,e){const r=$.allocUnsafe(6),i=t.split(".");for(let t=0;t<4;t++)r[t]=parseInt(i[t]||0,10);return r.writeUInt16BE(e,4),r}(t.host,t.port)),this.emit("announce",t,e,r)}_onget(t,e){const r=e.address||e.host,i=t.a.target;if(!i)return;const n=this._generateToken(r),s=this._values.get(i.toString("hex"));if(this.emit("get",i,s),s)this._rpc.response(e,t,J(this._rpc.id,n,s));else{const r=this._rpc.nodes.closest(i);this._rpc.response(e,t,{id:this._rpc.id,token:n},r)}}_onput(t,e){const r=e.address||e.host,i=t.a;if(!i)return;const n=t.a.v;if(!n)return;const s=t.a.id;if(!s)return;const o=i.token;if(!o)return;if(!this._validateToken(r,o))return this._rpc.error(e,t,[203,"cannot `put` with bad token"]);if(n.length>1e3)return this._rpc.error(e,t,[205,"data payload too large"]);const a=!(!i.k&&!i.sig);if(a&&!i.k&&!i.sig)return;const h=a?this._hash(i.salt?$.concat([i.k,i.salt]):i.k):this._hash(l.A.encode(n)),u=h.toString("hex");if(this.emit("put",h,n),a){if(!this._verify)return this._rpc.error(e,t,[400,"verification not supported"]);if(!this._verify(i.sig,Q(i),i.k))return;const r=this._values.get(u);if(r&&"number"==typeof i.cas&&r.seq!==i.cas)return this._rpc.error(e,t,[301,"CAS mismatch, re-read and try again"]);if(r&&"number"==typeof r.seq&&!(i.seq>r.seq))return this._rpc.error(e,t,[302,"sequence number less than current"]);this._values.set(u,{v:n,k:i.k,salt:i.salt,sig:i.sig,seq:i.seq,id:s})}else this._values.set(u,{v:n,id:s});this._rpc.response(e,t,{id:this._rpc.id})}_bootstrap(t){const e=this;if(!t)return W.nextTick(r);function r(){e.ready||(e._debug("emit ready"),e.ready=!0,e.emit("ready"))}this._rpc.populate(e._rpc.id,{q:"find_node",a:{id:e._rpc.id,target:e._rpc.id}},r)}_closest(t,e,r,i){const n=this,s=new j({localNodeId:t,numberOfNodesPerKBucket:this._rpc.k});this._rpc.closest(t,e,(function(e,i){if(!e.r)return!0;e.r.token&&e.r.id&&$.isBuffer(e.r.id)&&e.r.id.length===n._hashLength&&(n._debug("found node %s (target: %s)",e.r.id,t),s.add({id:e.r.id,host:i.host||i.address,port:i.port,token:e.r.token}));return!r||r(e,i)}),(function(e,r){if(e)return i(e);n._tables.set(t.toString("hex"),s),n._debug("visited %d nodes",r),i(null,r)}))}_debug(){if(!K.enabled)return;const t=[].slice.call(arguments);t[0]=`[${this.nodeId.toString("hex").substring(0,7)}] ${t[0]}`;for(let e=1;e{throw new Error("global fetch is not available!")}),ot=[255,255,26,27,28,29,30,31,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,255,255,255,255,255];const at=function(t){if(!ArrayBuffer.isView(t)&&"string"!=typeof t)throw new TypeError("base32.decode only takes Buffer or string as parameter");let e,r=0,i=0,n=0;ArrayBuffer.isView(t)||(t=(0,_.L0)(t));const s=new Uint8Array(Math.ceil(5*t.length/8));for(let o=0;o>>r,s[n]=e,n++,e=255&i<<8-r)}return s.subarray(0,n)};function ht(t){return t.reduce(((t,e,r,i)=>{const n=e.split("-").map((t=>parseInt(t)));return t.concat(((t,e=t)=>Array.from({length:e-t+1},((e,r)=>r+t)))(...n))}),[])}const ut=function(t){const e={},r=t.split("magnet:?")[1];let i;if((r&&r.length>=0?r.split("&"):[]).forEach((t=>{const r=t.split("=");if(2!==r.length)return;const i=r[0];let n=r[1];"dn"===i&&(n=decodeURIComponent(n).replace(/\+/g," ")),"tr"!==i&&"xs"!==i&&"as"!==i&&"ws"!==i||(n=decodeURIComponent(n)),"kt"===i&&(n=decodeURIComponent(n).split("+")),"ix"===i&&(n=Number(n)),"so"===i&&(n=ht(decodeURIComponent(n).split(","))),e[i]?(Array.isArray(e[i])||(e[i]=[e[i]]),e[i].push(n)):e[i]=n})),e.xt){(Array.isArray(e.xt)?e.xt:[e.xt]).forEach((t=>{(i=t.match(/^urn:btih:(.{40})/))?e.infoHash=i[1].toLowerCase():(i=t.match(/^urn:btih:(.{32})/))?e.infoHash=(0,_.V5)(at(i[1])):(i=t.match(/^urn:btmh:1220(.{64})/))&&(e.infoHashV2=i[1].toLowerCase())}))}if(e.xs){(Array.isArray(e.xs)?e.xs:[e.xs]).forEach((t=>{(i=t.match(/^urn:btpk:(.{64})/))&&(e.publicKey=i[1].toLowerCase())}))}return e.infoHash&&(e.infoHashBuffer=(0,_.fk)(e.infoHash)),e.infoHashV2&&(e.infoHashV2Buffer=(0,_.fk)(e.infoHashV2)),e.publicKey&&(e.publicKeyBuffer=(0,_.fk)(e.publicKey)),e.dn&&(e.name=e.dn),e.kt&&(e.keywords=e.kt),e.announce=[],("string"==typeof e.tr||Array.isArray(e.tr))&&(e.announce=e.announce.concat(e.tr)),e.urlList=[],("string"==typeof e.as||Array.isArray(e.as))&&(e.urlList=e.urlList.concat(e.as)),("string"==typeof e.ws||Array.isArray(e.ws))&&(e.urlList=e.urlList.concat(e.ws)),e.peerAddresses=[],("string"==typeof e["x.pe"]||Array.isArray(e["x.pe"]))&&(e.peerAddresses=e.peerAddresses.concat(e["x.pe"])),e.announce=Array.from(new Set(e.announce)),e.urlList=Array.from(new Set(e.urlList)),e.peerAddresses=Array.from(new Set(e.peerAddresses)),e};async function ft(t){if("string"==typeof t&&/^(stream-)?magnet:/.test(t)){const e=ut(t);if(!e.infoHash)throw new Error("Invalid torrent identifier");return e}if("string"==typeof t&&(/^[a-f0-9]{40}$/i.test(t)||/^[a-z2-7]{32}$/i.test(t)))return ut(`magnet:?xt=urn:btih:${t}`);if(ArrayBuffer.isView(t)&&20===t.length)return ut(`magnet:?xt=urn:btih:${(0,_.V5)(t)}`);if(ArrayBuffer.isView(t))return await async function(t){ArrayBuffer.isView(t)&&(t=l.A.decode(t));dt(t.info,"info"),dt(t.info["name.utf-8"]||t.info.name,"info.name"),dt(t.info["piece length"],"info['piece length']"),dt(t.info.pieces,"info.pieces"),t.info.files?t.info.files.forEach((t=>{dt("number"==typeof t.length,"info.files[0].length"),dt(t["path.utf-8"]||t.path,"info.files[0].path")})):dt("number"==typeof t.info.length,"info.length");const e={info:t.info,infoBuffer:l.A.encode(t.info),name:(0,_.dU)(t.info["name.utf-8"]||t.info.name),announce:[]};e.infoHashBuffer=await(0,_.tW)(e.infoBuffer),e.infoHash=(0,_.V5)(e.infoHashBuffer),void 0!==t.info.private&&(e.private=!!t.info.private);t["creation date"]&&(e.created=new Date(1e3*t["creation date"]));t["created by"]&&(e.createdBy=(0,_.dU)(t["created by"]));ArrayBuffer.isView(t.comment)&&(e.comment=(0,_.dU)(t.comment));Array.isArray(t["announce-list"])&&t["announce-list"].length>0?t["announce-list"].forEach((t=>{t.forEach((t=>{e.announce.push((0,_.dU)(t))}))})):t.announce&&e.announce.push((0,_.dU)(t.announce));ArrayBuffer.isView(t["url-list"])&&(t["url-list"]=t["url-list"].length>0?[t["url-list"]]:[]);e.urlList=(t["url-list"]||[]).map((t=>(0,_.dU)(t))),e.announce=Array.from(new Set(e.announce)),e.urlList=Array.from(new Set(e.urlList));const r=t.info.files||[t.info];e.files=r.map(((t,i)=>{const n=[].concat(e.name,t["path.utf-8"]||t.path||[]).map((t=>ArrayBuffer.isView(t)?(0,_.dU)(t):t));return{path:u.apply(null,[f].concat(n)).slice(1),name:n[n.length-1],length:t.length,offset:r.slice(0,i).reduce(ct,0)}})),e.length=r.reduce(ct,0);const i=e.files[e.files.length-1];return e.pieceLength=t.info["piece length"],e.lastPieceLength=(i.offset+i.length)%e.pieceLength||e.pieceLength,e.pieces=function(t){const e=[];for(let r=0;r{r(null,i)}));else if(n=t,"undefined"!=typeof Blob&&n instanceof Blob)try{s(new Uint8Array(await t.arrayBuffer()))}catch(t){return r(new Error(`Error converting Blob: ${t.message}`))}else if(/^https?:/.test(t))try{const r=await st(t,{headers:{"user-agent":"WebTorrent (https://webtorrent.io)"},signal:AbortSignal.timeout(3e4),...e});s(new Uint8Array(await r.arrayBuffer()))}catch(t){return r(new Error(`Error downloading torrent: ${t.message}`))}else"function"==typeof nt.readFile&&"string"==typeof t?nt.readFile(t,((t,e)=>{if(t)return r(new Error("Invalid torrent identifier"));s(e)})):w((()=>{r(new Error("Invalid torrent identifier"))}));var n;async function s(t){try{i=await ft(t)}catch(t){return r(t)}i&&i.infoHash?r(null,i):r(new Error("Invalid torrent identifier"))}}function ct(t,e){return t+e.length}function dt(t,e){if(!t)throw new Error(`Torrent is missing required field: ${e}`)}const pt=ft,mt=function(t){t=Object.assign({},t);let e=new Set;t.xt&&"string"==typeof t.xt&&e.add(t.xt),t.xt&&Array.isArray(t.xt)&&(e=new Set(t.xt)),t.infoHashBuffer&&e.add(`urn:btih:${(0,_.V5)(t.infoHashBuffer)}`),t.infoHash&&e.add(`urn:btih:${t.infoHash}`),t.infoHashV2Buffer&&e.add(t.xt=`urn:btmh:1220${(0,_.V5)(t.infoHashV2Buffer)}`),t.infoHashV2&&e.add(`urn:btmh:1220${t.infoHashV2}`);const r=Array.from(e);1===r.length&&(t.xt=r[0]),r.length>1&&(t.xt=r),t.publicKeyBuffer&&(t.xs=`urn:btpk:${(0,_.V5)(t.publicKeyBuffer)}`),t.publicKey&&(t.xs=`urn:btpk:${t.publicKey}`),t.name&&(t.dn=t.name),t.keywords&&(t.kt=t.keywords),t.announce&&(t.tr=t.announce),t.urlList&&(t.ws=t.urlList,delete t.as),t.peerAddresses&&(t["x.pe"]=t.peerAddresses);let i="magnet:?";return Object.keys(t).filter((t=>2===t.length||"x.pe"===t)).forEach(((e,r)=>{const n=Array.isArray(t[e])?t[e]:[t[e]];var s;n.forEach(((t,n)=>{(r>0||n>0)&&("kt"!==e&&"so"!==e||0===n)&&(i+="&"),"dn"===e&&(t=encodeURIComponent(t).replace(/%20/g,"+")),"tr"!==e&&"as"!==e&&"ws"!==e||(t=encodeURIComponent(t)),"xs"!==e||t.startsWith("urn:btpk:")||(t=encodeURIComponent(t)),"kt"===e&&(t=encodeURIComponent(t)),"so"!==e&&(i+="kt"===e&&n>0?`+${t}`:`${e}=${t}`)})),"so"===e&&(i+=`${e}=${s=n,s.reduce(((t,e,r,i)=>(0!==r&&e===i[r-1]+1||t.push([]),t[t.length-1].push(e),t)),[]).map((t=>t.length>1?`${t[0]}-${t[t.length-1]}`:`${t[0]}`))}`)})),i},gt="undefined"!=typeof window?window:self,yt=gt.RTCPeerConnection||gt.mozRTCPeerConnection||gt.webkitRTCPeerConnection,bt=gt.RTCSessionDescription||gt.mozRTCSessionDescription||gt.webkitRTCSessionDescription,vt=gt.RTCIceCandidate||gt.mozRTCIceCandidate||gt.webkitRTCIceCandidate;gt.RTCIceTransport,gt.RTCDataChannel,gt.RTCSctpTransport,gt.RTCDtlsTransport,gt.RTCCertificate,gt.MediaStream,gt.MediaStreamTrack,gt.MediaStreamTrackEvent,gt.RTCPeerConnectionIceEvent,gt.RTCDataChannelEvent,gt.RTCTrackEvent,gt.RTCError,gt.RTCErrorEvent,gt.RTCRtpTransceiver,gt.RTCRtpReceiver,gt.RTCRtpSender;var wt=r(8179),_t=r(6310);const Mt=N("simple-peer"),St=65536;function kt(t){return t.replace(/a=ice-options:trickle\s\n/g,"")}class Et extends wt.Duplex{_pc;constructor(t){if(super(t=Object.assign({allowHalfOpen:!1},t)),this.__objectMode=!!t.objectMode,this._id=(0,_.V5)((0,_.po)(4)).slice(0,7),this._debug("new peer %o",t),this.channelName=t.initiator?t.channelName||(0,_.V5)((0,_.po)(20)):null,this.initiator=t.initiator||!1,this.channelConfig=t.channelConfig||Et.channelConfig,this.channelNegotiated=this.channelConfig.negotiated,this.config=Object.assign({},Et.config,t.config),this.offerOptions=t.offerOptions||{},this.answerOptions=t.answerOptions||{},this.sdpTransform=t.sdpTransform||(t=>t),this.trickle=void 0===t.trickle||t.trickle,this.allowHalfTrickle=void 0!==t.allowHalfTrickle&&t.allowHalfTrickle,this.iceCompleteTimeout=t.iceCompleteTimeout||5e3,this._destroying=!1,this._connected=!1,this.remoteAddress=void 0,this.remoteFamily=void 0,this.remotePort=void 0,this.localAddress=void 0,this.localFamily=void 0,this.localPort=void 0,!yt)throw"undefined"==typeof window?_t(new Error("No WebRTC support: Specify `opts.wrtc` option in this environment"),"ERR_WEBRTC_SUPPORT"):_t(new Error("No WebRTC support: Not a supported browser"),"ERR_WEBRTC_SUPPORT");this._pcReady=!1,this._channelReady=!1,this._iceComplete=!1,this._iceCompleteTimer=null,this._channel=null,this._pendingCandidates=[],this._isNegotiating=!1,this._firstNegotiation=!0,this._batchedNegotiation=!1,this._queuedNegotiation=!1,this._sendersAwaitingStable=[],this._closingInterval=null,this._remoteTracks=[],this._remoteStreams=[],this._chunk=null,this._cb=null,this._interval=null;try{this._pc=new yt(this.config)}catch(t){return void this.__destroy(_t(t,"ERR_PC_CONSTRUCTOR"))}this._isReactNativeWebrtc="number"==typeof this._pc._peerConnectionId,this._pc.oniceconnectionstatechange=()=>{this._onIceStateChange()},this._pc.onicegatheringstatechange=()=>{this._onIceStateChange()},this._pc.onconnectionstatechange=()=>{this._onConnectionStateChange()},this._pc.onsignalingstatechange=()=>{this._onSignalingStateChange()},this._pc.onicecandidate=t=>{this._onIceCandidate(t)},"object"==typeof this._pc.peerIdentity&&this._pc.peerIdentity.catch((t=>{this.__destroy(_t(t,"ERR_PC_PEER_IDENTITY"))})),this.initiator||this.channelNegotiated?this._setupData({channel:this._pc.createDataChannel(this.channelName,this.channelConfig)}):this._pc.ondatachannel=t=>{this._setupData(t)},this._debug("initial negotiation"),this._needsNegotiation(),this._onFinishBound=()=>{this._onFinish()},this.once("finish",this._onFinishBound)}get bufferSize(){return this._channel&&this._channel.bufferedAmount||0}get connected(){return this._connected&&"open"===this._channel.readyState}address(){return{port:this.localPort,family:this.localFamily,address:this.localAddress}}signal(t){if(!this._destroying){if(this.destroyed)throw _t(new Error("cannot signal after peer is destroyed"),"ERR_DESTROYED");if("string"==typeof t)try{t=JSON.parse(t)}catch(e){t={}}this._debug("signal()"),t.renegotiate&&this.initiator&&(this._debug("got request to renegotiate"),this._needsNegotiation()),t.transceiverRequest&&this.initiator&&(this._debug("got request for transceiver"),this.addTransceiver(t.transceiverRequest.kind,t.transceiverRequest.init)),t.candidate&&(this._pc.remoteDescription&&this._pc.remoteDescription.type?this._addIceCandidate(t.candidate):this._pendingCandidates.push(t.candidate)),t.sdp&&this._pc.setRemoteDescription(new bt(t)).then((()=>{this.destroyed||(this._pendingCandidates.forEach((t=>{this._addIceCandidate(t)})),this._pendingCandidates=[],"offer"===this._pc.remoteDescription.type&&this._createAnswer())})).catch((t=>{this.__destroy(_t(t,"ERR_SET_REMOTE_DESCRIPTION"))})),t.sdp||t.candidate||t.renegotiate||t.transceiverRequest||this.__destroy(_t(new Error("signal() called with invalid signal data"),"ERR_SIGNALING"))}}_addIceCandidate(t){const e=new vt(t);this._pc.addIceCandidate(e).catch((t=>{var r;!e.address||e.address.endsWith(".local")?(r="Ignoring unsupported ICE candidate.",console.warn(r)):this.__destroy(_t(t,"ERR_ADD_ICE_CANDIDATE"))}))}send(t){if(!this._destroying){if(this.destroyed)throw _t(new Error("cannot send after peer is destroyed"),"ERR_DESTROYED");this._channel.send(t)}}_needsNegotiation(){this._debug("_needsNegotiation"),this._batchedNegotiation||(this._batchedNegotiation=!0,queueMicrotask((()=>{this._batchedNegotiation=!1,this.initiator||!this._firstNegotiation?(this._debug("starting batched negotiation"),this.negotiate()):this._debug("non-initiator initial negotiation request discarded"),this._firstNegotiation=!1})))}negotiate(){if(!this._destroying){if(this.destroyed)throw _t(new Error("cannot negotiate after peer is destroyed"),"ERR_DESTROYED");this.initiator?this._isNegotiating?(this._queuedNegotiation=!0,this._debug("already negotiating, queueing")):(this._debug("start negotiation"),setTimeout((()=>{this._createOffer()}),0)):this._isNegotiating?(this._queuedNegotiation=!0,this._debug("already negotiating, queueing")):(this._debug("requesting negotiation from initiator"),this.emit("signal",{type:"renegotiate",renegotiate:!0})),this._isNegotiating=!0}}_final(t){this._readableState.ended||this.push(null),t(null)}__destroy(t){this.end(),this._destroy((()=>{}),t)}_destroy(t,e){this.destroyed||this._destroying||(this._destroying=!0,this._debug("destroying (error: %s)",e&&(e.message||e)),setTimeout((()=>{if(this._connected=!1,this._pcReady=!1,this._channelReady=!1,this._remoteTracks=null,this._remoteStreams=null,this._senderMap=null,clearInterval(this._closingInterval),this._closingInterval=null,clearInterval(this._interval),this._interval=null,this._chunk=null,this._cb=null,this._onFinishBound&&this.removeListener("finish",this._onFinishBound),this._onFinishBound=null,this._channel){try{this._channel.close()}catch(t){}this._channel.onmessage=null,this._channel.onopen=null,this._channel.onclose=null,this._channel.onerror=null}if(this._pc){try{this._pc.close()}catch(t){}this._pc.oniceconnectionstatechange=null,this._pc.onicegatheringstatechange=null,this._pc.onsignalingstatechange=null,this._pc.onicecandidate=null,this._pc.ontrack=null,this._pc.ondatachannel=null}this._pc=null,this._channel=null,e&&this.emit("error",e),t()}),0))}_setupData(t){if(!t.channel)return this.__destroy(_t(new Error("Data channel event is missing `channel` property"),"ERR_DATA_CHANNEL"));this._channel=t.channel,this._channel.binaryType="arraybuffer","number"==typeof this._channel.bufferedAmountLowThreshold&&(this._channel.bufferedAmountLowThreshold=St),this.channelName=this._channel.label,this._channel.onmessage=t=>{this._onChannelMessage(t)},this._channel.onbufferedamountlow=()=>{this._onChannelBufferedAmountLow()},this._channel.onopen=()=>{this._onChannelOpen()},this._channel.onclose=()=>{this._onChannelClose()},this._channel.onerror=t=>{const e=t.error instanceof Error?t.error:new Error(`Datachannel error: ${t.message} ${t.filename}:${t.lineno}:${t.colno}`);this.__destroy(_t(e,"ERR_DATA_CHANNEL"))};let e=!1;this._closingInterval=setInterval((()=>{this._channel&&"closing"===this._channel.readyState?(e&&this._onChannelClose(),e=!0):e=!1}),5e3)}_write(t,e){if(this.destroyed)return e(_t(new Error("cannot write after peer is destroyed"),"ERR_DATA_CHANNEL"));if(this._connected){try{this.send(t)}catch(t){return this.__destroy(_t(t,"ERR_DATA_CHANNEL"))}this._channel.bufferedAmount>St?(this._debug("start backpressure: bufferedAmount %d",this._channel.bufferedAmount),this._cb=e):e(null)}else this._debug("write before connect"),this._chunk=t,this._cb=e}_onFinish(){if(this.destroyed)return;const t=()=>{setTimeout((()=>this.__destroy()),1e3)};this._connected?t():this.once("connect",t)}_startIceCompleteTimeout(){this.destroyed||this._iceCompleteTimer||(this._debug("started iceComplete timeout"),this._iceCompleteTimer=setTimeout((()=>{this._iceComplete||(this._iceComplete=!0,this._debug("iceComplete timeout completed"),this.emit("iceTimeout"),this.emit("_iceComplete"))}),this.iceCompleteTimeout))}_createOffer(){this.destroyed||this._pc.createOffer(this.offerOptions).then((t=>{if(this.destroyed)return;this.trickle||this.allowHalfTrickle||(t.sdp=kt(t.sdp)),t.sdp=this.sdpTransform(t.sdp);const e=()=>{if(this.destroyed)return;const e=this._pc.localDescription||t;this._debug("signal"),this.emit("signal",{type:e.type,sdp:e.sdp})};this._pc.setLocalDescription(t).then((()=>{this._debug("createOffer success"),this.destroyed||(this.trickle||this._iceComplete?e():this.once("_iceComplete",e))})).catch((t=>{this.__destroy(_t(t,"ERR_SET_LOCAL_DESCRIPTION"))}))})).catch((t=>{this.__destroy(_t(t,"ERR_CREATE_OFFER"))}))}_createAnswer(){this.destroyed||this._pc.createAnswer(this.answerOptions).then((t=>{if(this.destroyed)return;this.trickle||this.allowHalfTrickle||(t.sdp=kt(t.sdp)),t.sdp=this.sdpTransform(t.sdp);const e=()=>{if(this.destroyed)return;const e=this._pc.localDescription||t;this._debug("signal"),this.emit("signal",{type:e.type,sdp:e.sdp}),this.initiator||this._requestMissingTransceivers?.()};this._pc.setLocalDescription(t).then((()=>{this.destroyed||(this.trickle||this._iceComplete?e():this.once("_iceComplete",e))})).catch((t=>{this.__destroy(_t(t,"ERR_SET_LOCAL_DESCRIPTION"))}))})).catch((t=>{this.__destroy(_t(t,"ERR_CREATE_ANSWER"))}))}_onConnectionStateChange(){this.destroyed||this._destroying||"failed"===this._pc.connectionState&&this.__destroy(_t(new Error("Connection failed."),"ERR_CONNECTION_FAILURE"))}_onIceStateChange(){if(this.destroyed)return;const t=this._pc.iceConnectionState,e=this._pc.iceGatheringState;this._debug("iceStateChange (connection: %s) (gathering: %s)",t,e),this.emit("iceStateChange",t,e),"connected"!==t&&"completed"!==t||(this._pcReady=!0,this._maybeReady()),"failed"===t&&this.__destroy(_t(new Error("Ice connection failed."),"ERR_ICE_CONNECTION_FAILURE")),"closed"===t&&this.__destroy(_t(new Error("Ice connection closed."),"ERR_ICE_CONNECTION_CLOSED"))}getStats(t){const e=t=>("[object Array]"===Object.prototype.toString.call(t.values)&&t.values.forEach((e=>{Object.assign(t,e)})),t);0===this._pc.getStats.length||this._isReactNativeWebrtc?this._pc.getStats().then((r=>{const i=[];r.forEach((t=>{i.push(e(t))})),t(null,i)}),(e=>t(e))):this._pc.getStats.length>0?this._pc.getStats((r=>{if(this.destroyed)return;const i=[];r.result().forEach((t=>{const r={};t.names().forEach((e=>{r[e]=t.stat(e)})),r.id=t.id,r.type=t.type,r.timestamp=t.timestamp,i.push(e(r))})),t(null,i)}),(e=>t(e))):t(null,[])}_maybeReady(){if(this._debug("maybeReady pc %s channel %s",this._pcReady,this._channelReady),this._connected||this._connecting||!this._pcReady||!this._channelReady)return;this._connecting=!0;const t=()=>{this.destroyed||this._destroying||this.getStats(((e,r)=>{if(this.destroyed||this._destroying)return;e&&(r=[]);const i={},n={},s={};let o=!1;r.forEach((t=>{"remotecandidate"!==t.type&&"remote-candidate"!==t.type||(i[t.id]=t),"localcandidate"!==t.type&&"local-candidate"!==t.type||(n[t.id]=t),"candidatepair"!==t.type&&"candidate-pair"!==t.type||(s[t.id]=t)}));const a=t=>{o=!0;let e=n[t.localCandidateId];e&&(e.ip||e.address)?(this.localAddress=e.ip||e.address,this.localPort=Number(e.port)):e&&e.ipAddress?(this.localAddress=e.ipAddress,this.localPort=Number(e.portNumber)):"string"==typeof t.googLocalAddress&&(e=t.googLocalAddress.split(":"),this.localAddress=e[0],this.localPort=Number(e[1])),this.localAddress&&(this.localFamily=this.localAddress.includes(":")?"IPv6":"IPv4");let r=i[t.remoteCandidateId];r&&(r.ip||r.address)?(this.remoteAddress=r.ip||r.address,this.remotePort=Number(r.port)):r&&r.ipAddress?(this.remoteAddress=r.ipAddress,this.remotePort=Number(r.portNumber)):"string"==typeof t.googRemoteAddress&&(r=t.googRemoteAddress.split(":"),this.remoteAddress=r[0],this.remotePort=Number(r[1])),this.remoteAddress&&(this.remoteFamily=this.remoteAddress.includes(":")?"IPv6":"IPv4"),this._debug("connect local: %s:%s remote: %s:%s",this.localAddress,this.localPort,this.remoteAddress,this.remotePort)};if(r.forEach((t=>{"transport"===t.type&&t.selectedCandidatePairId&&a(s[t.selectedCandidatePairId]),("googCandidatePair"===t.type&&"true"===t.googActiveConnection||("candidatepair"===t.type||"candidate-pair"===t.type)&&t.selected)&&a(t)})),o||Object.keys(s).length&&!Object.keys(n).length){if(this._connecting=!1,this._connected=!0,this._chunk){try{this.send(this._chunk)}catch(e){return this.__destroy(_t(e,"ERR_DATA_CHANNEL"))}this._chunk=null,this._debug('sent chunk from "write before connect"');const t=this._cb;this._cb=null,t(null)}"number"!=typeof this._channel.bufferedAmountLowThreshold&&(this._interval=setInterval((()=>this._onInterval()),150),this._interval.unref&&this._interval.unref()),this._debug("connect"),this.emit("connect")}else setTimeout(t,100)}))};t()}_onInterval(){!this._cb||!this._channel||this._channel.bufferedAmount>St||this._onChannelBufferedAmountLow()}_onSignalingStateChange(){this.destroyed||("stable"===this._pc.signalingState&&(this._isNegotiating=!1,this._debug("flushing sender queue",this._sendersAwaitingStable),this._sendersAwaitingStable.forEach((t=>{this._pc.removeTrack(t),this._queuedNegotiation=!0})),this._sendersAwaitingStable=[],this._queuedNegotiation?(this._debug("flushing negotiation queue"),this._queuedNegotiation=!1,this._needsNegotiation()):(this._debug("negotiated"),this.emit("negotiated"))),this._debug("signalingStateChange %s",this._pc.signalingState),this.emit("signalingStateChange",this._pc.signalingState))}_onIceCandidate(t){this.destroyed||(t.candidate&&this.trickle?this.emit("signal",{type:"candidate",candidate:{candidate:t.candidate.candidate,sdpMLineIndex:t.candidate.sdpMLineIndex,sdpMid:t.candidate.sdpMid}}):t.candidate||this._iceComplete||(this._iceComplete=!0,this.emit("_iceComplete")),t.candidate&&this._startIceCompleteTimeout())}_onChannelMessage(t){if(this.destroyed)return;let e=t.data;e instanceof ArrayBuffer?e=new Uint8Array(e):!1===this.__objectMode&&(e=(0,_.L0)(e)),this.push(e)}_onChannelBufferedAmountLow(){if(this.destroyed||!this._cb)return;this._debug("ending backpressure: bufferedAmount %d",this._channel.bufferedAmount);const t=this._cb;this._cb=null,t(null)}_onChannelOpen(){this._connected||this.destroyed||(this._debug("on channel open"),this._channelReady=!0,this._maybeReady())}_onChannelClose(){this.destroyed||(this._debug("on channel close"),this.__destroy())}_debug(){const t=[].slice.call(arguments);t[0]="["+this._id+"] "+t[0],Mt.apply(null,t)}}Et.WEBRTC_SUPPORT=!!yt,Et.config={iceServers:[{urls:["stun:stun.l.google.com:19302","stun:global.stun.twilio.com:3478"]}],sdpSemantics:"unified-plan"},Et.channelConfig={};const xt=Et;var At=r(1035),It=r(7541),Tt=r(3278),Pt=r(8957),Ct=r(5658),Rt=r(4343);const Ot=N("webtorrent:conn-pool");class Bt{constructor(t){Ot("create pool (port %s)",t.torrentPort),this._client=t,this._pendingConns=new Set,this._onTCPConnectionBound=t=>{this._onConnection(t,"tcp")},this._onUTPConnectionBound=t=>{this._onConnection(t,"utp")},this._onListening=()=>{this._client._onListening()},this._onTCPError=t=>{this._client._destroy(t)},this._onUTPError=t=>{this._client.utp=!1,this._client.emit("error",t),this._client.listening||this._onListening()},this.tcpServer=Pt.createServer(),this.tcpServer.on("connection",this._onTCPConnectionBound),this.tcpServer.on("error",this._onTCPError),this.tcpServer.listen(t.torrentPort,(()=>{Ot("creating tcpServer in port %s",this.tcpServer.address().port),this._client.utp?(this.utpServer=Rt.createServer(),this.utpServer.on("connection",this._onUTPConnectionBound),this.utpServer.on("listening",this._onListening),this.utpServer.on("error",this._onUTPError),Ot("creating utpServer in port %s",this.tcpServer.address().port),this.utpServer.listen(this.tcpServer.address().port)):this._onListening()}))}destroy(t){if(Ot("destroy conn pool"),this.utpServer&&(this.utpServer.removeListener("connection",this._onUTPConnectionBound),this.utpServer.removeListener("listening",this._onListening),this.utpServer.removeListener("error",this._onUTPError)),this.tcpServer.removeListener("connection",this._onTCPConnectionBound),this.tcpServer.removeListener("error",this._onTCPError),this._pendingConns.forEach((t=>{t.on("error",Lt),t.destroy()})),this.utpServer)try{this.utpServer.close(t)}catch(e){t&&w(t)}try{this.tcpServer.close(t)}catch(e){t&&w(t)}this.tcpServer=null,this.utpServer=null,this._client=null,this._pendingConns=null}_onConnection(t,e){const r=this;if(!t.remoteAddress)return t.on("error",Lt),void t.destroy();r._pendingConns.add(t),t.once("close",o);const i="utp"===e?Ct.default.createUTPIncomingPeer(t,this._client.throttleGroups):Ct.default.createTCPIncomingPeer(t,this._client.throttleGroups),n=i.wire;async function s(t,e){o();const n=await r._client.get(t);if(n)i.swarm||(i.swarm=n,n._addIncomingPeer(i)),i.onHandshake(t,e);else{const e=new Error(`Unexpected info hash ${t} from incoming peer ${i.id}`);i.destroy(e)}}function o(){t.removeListener("close",o),n.removeListener("handshake",s),r._pendingConns&&r._pendingConns.delete(t)}n.once("pe3",(async function(t){const e=await r._client._getByHash(t);e?(i.swarm=e,e._addIncomingPeer(i),i.onPe3(t)):i.destroy(new Error(`Unexpected info hash hash ${t} from incoming peer ${i.id}`))})),n.once("handshake",s)}}function Lt(){}Bt.UTP_SUPPORT=Object.keys(Rt).length>0;var Nt=r(6686),jt=r(6889);const Ut=/^\[?([^\]]+)]?:(\d+)$/;let qt=new Map;function Dt(t){if(1e5===qt.size&&qt.clear(),!qt.has(t)){const e=Ut.exec(t);if(!e)throw new Error(`invalid addr: ${t}`);qt.set(t,[e[1],Number(e[2])])}return qt.get(t)}var Ht=r(3033),Ft=r(4497);async function*zt(t,e={}){if(t?.[Symbol.asyncIterator])return void(yield*t[Symbol.asyncIterator](e.offset));if(!t?.get)throw new Error("First argument must be an abstract-chunk-store compliant store");const r=e.chunkLength||t.chunkLength;if(!r)throw new Error("missing required `chunkLength` property");let i=e.length||t.length;if(!Number.isFinite(i))throw new Error("missing required `length` property");const n=e.offset||0,s=(e,r,i)=>new Promise(((n,s)=>{t.get(e,{offset:i,length:r},((t,e)=>{t&&s(t),n(e)}))}));let o=Math.floor(n/r);const a=n%r;if(n){const t=Math.min(i,r-a);i-=t,yield s(o++,t,a)}for(let t=i;t>0;++o,t-=r)yield s(o,Math.min(t,r))}async function $t(t,e,r={}){if(!t?.put)throw new Error("First argument must be an abstract-chunk-store compliant store");const i=r.chunkLength||t.chunkLength;if(!i)throw new Error("missing required `chunkLength` property");const n=r.storeMaxOutstandingPuts||16;let s=0,o=0,a=()=>{},h=!1;for await(const u of c(e,i,{zeroPadding:r.zeroPadding||!1}))await new Promise(((e,r)=>{s++<=n&&e(),t.put(o++,u,(t=>{if(t)return r(t);--s,e(),h&&0===s&&a()}))}));0!==s&&(h=new Promise((t=>{a=t})),await h)}var Wt=r(4018),Kt=r(7186);const Vt=/^[\d.]+$/,Zt=/^[\da-fA-F:]+$/,Gt=/^::ffff:/,Yt=(0,_.xW)([ie(1047),ie(655366528)]),Jt={CONNECT:0,ANNOUNCE:1,SCRAPE:2,ERROR:3},Xt={update:0,completed:1,started:2,stopped:3,paused:4},Qt={0:"update",1:"completed",2:"started",3:"stopped",4:"paused"},te={update:"update",completed:"complete",started:"start",stopped:"stop",paused:"pause"},ee=15e3,re=1e3;function ie(t){const e=new Uint8Array(4);return new DataView(e.buffer).setUint32(0,t),e}const ne=t=>Kt.parse(t,null,null,{decodeURIComponent:unescape}),se=t=>{let e=Kt.stringify(t,null,null,{encodeURIComponent:escape});return e=e.replace(/[@*/+]/g,(t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`)),e},oe={DEFAULT_ANNOUNCE_PEERS:50,MAX_ANNOUNCE_PEERS:82,parseUrl:t=>{const e=new URL(t.replace(/^udp:/,"http:"));return t.match(/^udp:/)&&Object.defineProperties(e,{href:{value:e.href.replace(/^http/,"udp")},protocol:{value:e.protocol.replace(/^http/,"udp")},origin:{value:e.origin.replace(/^http/,"udp")}}),e},...n};var ae=r(1314);const he=class extends s{constructor(t,e){super(),this.client=t,this.announceUrl=e,this.interval=null,this.destroyed=!1}setInterval(t){null==t&&(t=this.DEFAULT_ANNOUNCE_INTERVAL),clearInterval(this.interval),t&&(this.interval=setInterval((()=>{this.announce(this.client._defaultAnnounceOpts())}),t),this.interval.unref&&this.interval.unref())}};var ue=r(2085),fe=r(8287).Buffer;const le=N("bittorrent-tracker:http-tracker"),ce=/\/(announce)[^/]*$/;class de extends he{constructor(t,e){super(t,e),le("new http tracker %s",e),this.scrapeUrl=null;const r=this.announceUrl.match(ce);if(r){const t=this.announceUrl.slice(0,r.index),e=this.announceUrl.slice(r.index+9);this.scrapeUrl=`${t}/scrape${e}`}this.cleanupFns=[],this.maybeDestroyCleanup=null}announce(t){if(this.destroyed)return;const e=Object.assign({},t,{compact:null==t.compact?1:t.compact,info_hash:this.client._infoHashBinary,peer_id:this.client._peerIdBinary,port:this.client._port});0===e.left||e.left||(e.left=16384),this._trackerId&&(e.trackerid=this._trackerId),this._request(this.announceUrl,e,((t,e)=>{if(t)return this.client.emit("warning",t);this._onAnnounceResponse(e)}))}scrape(t){if(this.destroyed)return;if(!this.scrapeUrl)return void this.client.emit("error",new Error(`scrape not supported ${this.announceUrl}`));const e={info_hash:Array.isArray(t.infoHash)&&t.infoHash.length>0?t.infoHash.map((t=>(0,_.Ht)(t))):t.infoHash&&(0,_.Ht)(t.infoHash)||this.client._infoHashBinary};this._request(this.scrapeUrl,e,((t,e)=>{if(t)return this.client.emit("warning",t);this._onScrapeResponse(e)}))}destroy(t){const e=this;if(this.destroyed)return t(null);let r;if(this.destroyed=!0,clearInterval(this.interval),0===this.cleanupFns.length)return i();function i(){r&&(clearTimeout(r),r=null),e.maybeDestroyCleanup=null,e.cleanupFns.slice(0).forEach((t=>{t()})),e.cleanupFns=[],t(null)}r=setTimeout(i,oe.DESTROY_TIMEOUT),this.maybeDestroyCleanup=()=>{0===this.cleanupFns.length&&i()}}async _request(t,e,r){const i=new URL(t+(-1===t.indexOf("?")?"?":"&")+oe.querystringStringify(e));let n;this.client._proxyOpts&&(n="https:"===i.protocol?this.client._proxyOpts.httpsAgent:this.client._proxyOpts.httpAgent,!n&&this.client._proxyOpts.socksProxy&&(n=this.client._proxyOpts.socksProxy));const s=()=>{a.signal.aborted||(ae(this.cleanupFns,this.cleanupFns.indexOf(s)),a.abort(),a=null),this.maybeDestroyCleanup&&this.maybeDestroyCleanup()};let o;this.cleanupFns.push(s);let a=function(t){const e=new AbortController;return setTimeout((()=>{e.abort()}),t).unref?.(),e}(oe.REQUEST_TIMEOUT);try{o=await st(i.toString(),{agent:n,signal:a.signal,dispatcher:n,headers:{"user-agent":this.client._userAgent||""}}),o.body.on&&o.body.on("error",r)}catch(t){if(t)return r(t)}let h=new Uint8Array(await o.arrayBuffer());if(s(),this.destroyed)return;if(200!==o.status)return r(new Error(`Non-200 response code ${o.status} from ${this.announceUrl}`));if(!h||0===h.length)return r(new Error(`Invalid tracker response from${this.announceUrl}`));try{h=l.A.decode(h)}catch(t){return r(new Error(`Error decoding tracker response: ${t.message}`))}const u=h["failure reason"]&&(0,_.dU)(h["failure reason"]);if(u)return le(`failure from ${t} (${u})`),r(new Error(u));const f=h["warning message"]&&(0,_.dU)(h["warning message"]);f&&(le(`warning from ${t} (${f})`),this.client.emit("warning",new Error(f))),le(`response from ${t}`),r(null,h)}_onAnnounceResponse(t){const e=t.interval||t["min interval"];e&&this.setInterval(1e3*e);const r=t["tracker id"];r&&(this._trackerId=r);const i=Object.assign({},t,{announce:this.announceUrl,infoHash:(0,_.HB)(t.info_hash||String(t.info_hash))});let n;if(this.client.emit("update",i),ArrayBuffer.isView(t.peers)){try{n=ue.multi(fe.from(t.peers))}catch(t){return this.client.emit("warning",t)}n.forEach((t=>{this.client.emit("peer",t)}))}else Array.isArray(t.peers)&&t.peers.forEach((t=>{this.client.emit("peer",`${t.ip}:${t.port}`)}));if(ArrayBuffer.isView(t.peers6)){try{n=ue.multi6(fe.from(t.peers6))}catch(t){return this.client.emit("warning",t)}n.forEach((t=>{this.client.emit("peer",t)}))}else Array.isArray(t.peers6)&&t.peers6.forEach((t=>{const e=/^\[/.test(t.ip)||!/:/.test(t.ip)?t.ip:`[${t.ip}]`;this.client.emit("peer",`${e}:${t.port}`)}))}_onScrapeResponse(t){t=t.files||t.host||{};const e=Object.keys(t);0!==e.length?e.forEach((e=>{const r=20!==e.length?(0,_.V5)((0,_.L0)(e)):(0,_.HB)(e),i=Object.assign(t[e],{announce:this.announceUrl,infoHash:r});this.client.emit("scrape",i)})):this.client.emit("warning",new Error("invalid scrape response"))}}de.prototype.DEFAULT_ANNOUNCE_INTERVAL=18e5;const pe=de;var me=r(7861),ge=r(1220);const ye=N("bittorrent-tracker:udp-tracker");class be extends he{constructor(t,e){super(t,e),ye("new udp tracker %s",e),this.cleanupFns=[],this.maybeDestroyCleanup=null}announce(t){this.destroyed||this._request(t)}scrape(t){this.destroyed||(t._scrape=!0,this._request(t))}destroy(t){const e=this;if(this.destroyed)return t(null);let r;if(this.destroyed=!0,clearInterval(this.interval),0===this.cleanupFns.length)return i();function i(){r&&(clearTimeout(r),r=null),e.maybeDestroyCleanup=null,e.cleanupFns.slice(0).forEach((t=>{t()})),e.cleanupFns=[],t(null)}r=setTimeout(i,oe.DESTROY_TIMEOUT),this.maybeDestroyCleanup=()=>{0===this.cleanupFns.length&&i()}}_request(t){const e=this;t||(t={});let r,i,n,s,{hostname:o,port:a}=oe.parseUrl(this.announceUrl);""===a&&(a=80);let h=ve();const u=this.client._proxyOpts&&(f=this.client._proxyOpts.socksProxy,JSON.parse(JSON.stringify(f)));var f;function l(e,o,a){if(e)return d(e);i=o,n=me.createSocket("udp4"),s=a,r=setTimeout((()=>{"stopped"===t.event?c():d(new Error(`tracker request timed out (${t.event})`)),r=null}),oe.REQUEST_TIMEOUT),r.unref&&r.unref(),m((0,_.xW)([oe.CONNECTION_ID,oe.toUInt32(oe.ACTIONS.CONNECT),h]),s),n.once("error",d),n.on("message",p)}function c(){if(r&&(clearTimeout(r),r=null),n){ae(e.cleanupFns,e.cleanupFns.indexOf(c)),n.removeListener("error",d),n.removeListener("message",p),n.on("error",Se);try{n.close()}catch(t){}if(n=null,i){try{i.close()}catch(t){}i=null}}e.maybeDestroyCleanup&&e.maybeDestroyCleanup()}function d(t){if(c(),!e.destroyed){try{t.message&&(t.message+=` (${e.announceUrl})`)}catch(t){}e.client.emit("warning",t)}}function p(r){i&&(r=r.slice(10));const n=new DataView(h.buffer);if(r.length<8||r.readUInt32BE(4)!==n.getUint32(0))return d(new Error("tracker sent invalid transaction id"));const o=r.readUInt32BE(0);switch(ye("UDP response %s, action %s",e.announceUrl,o),o){case 0:if(r.length<16)return d(new Error("invalid udp handshake"));t._scrape?function(r){h=ve();const i=Array.isArray(t.infoHash)&&t.infoHash.length>0?(0,_.xW)(t.infoHash):t.infoHash||e.client._infoHashBuffer;m((0,_.xW)([r,oe.toUInt32(oe.ACTIONS.SCRAPE),h,i]),s)}(r.slice(8,16)):function(t,r){h=ve(),m((0,_.xW)([t,oe.toUInt32(oe.ACTIONS.ANNOUNCE),h,e.client._infoHashBuffer,e.client._peerIdBuffer,Me(r.downloaded),null!=r.left?Me(r.left):(0,_.fk)("ffffffffffffffff"),Me(r.uploaded),oe.toUInt32(oe.EVENTS[r.event]||0),oe.toUInt32(0),oe.toUInt32(0),oe.toUInt32(r.numwant),we(e.client._port)]),s)}(r.slice(8,16),t);break;case 1:{if(c(),e.destroyed)return;if(r.length<20)return d(new Error("invalid announce message"));const t=r.readUInt32BE(8);let i;t&&e.setInterval(1e3*t),e.client.emit("update",{announce:e.announceUrl,complete:r.readUInt32BE(16),incomplete:r.readUInt32BE(12)});try{i=ue.multi(r.slice(20))}catch(t){return e.client.emit("warning",t)}i.forEach((t=>{e.client.emit("peer",t)}));break}case 2:{if(c(),e.destroyed)return;if(r.length<20||(r.length-8)%12!=0)return d(new Error("invalid scrape message"));const i=Array.isArray(t.infoHash)&&t.infoHash.length>0?t.infoHash.map((t=>t.toString("hex"))):[t.infoHash&&t.infoHash.toString("hex")||e.client.infoHash];for(let t=0,n=(r.length-8)/12;t_e||"string"==typeof t){const e=new Uint8Array(8);return new DataView(e.buffer).setBigUint64(0,BigInt(t)),e}return(0,_.xW)([new Uint8Array(4),oe.toUInt32(t)])}function Se(){}const ke=be;var Ee=r(1591);const xe=N("simple-websocket"),Ae="function"!=typeof Ee?WebSocket:Ee;class Ie extends wt.Duplex{constructor(t={}){if("string"==typeof t&&(t={url:t}),super(t=Object.assign({allowHalfOpen:!1},t)),this.__objectMode=!!t.objectMode,null!=t.objectMode&&delete t.objectMode,null==t.url&&null==t.socket)throw new Error("Missing required `url` or `socket` option");if(null!=t.url&&null!=t.socket)throw new Error("Must specify either `url` or `socket` option, not both");if(this._id=(0,_.V5)((0,_.po)(4)).slice(0,7),this._debug("new websocket: %o",t),this.connected=!1,this._chunk=null,this._cb=null,this._interval=null,t.socket)this.url=t.socket.url,this._ws=t.socket,this.connected=t.socket.readyState===Ae.OPEN;else{this.url=t.url;try{this._ws="function"==typeof Ee?new Ae(t.url,{...t,encoding:void 0}):new Ae(t.url)}catch(t){return void w((()=>this.destroy(t)))}}this._ws.binaryType="arraybuffer",t.socket&&this.connected?w((()=>this._handleOpen())):this._ws.onopen=()=>this._handleOpen(),this._ws.onmessage=t=>this._handleMessage(t),this._ws.onclose=()=>this._handleClose(),this._ws.onerror=t=>this._handleError(t),this._handleFinishBound=()=>this._handleFinish(),this.once("finish",this._handleFinishBound)}send(t){this._ws.send(t)}_final(t){this._readableState.ended||this.push(null),t(null)}_destroy(t){if(!this.destroyed){if(this._writableState.ended||this.end(),this.connected=!1,clearInterval(this._interval),this._interval=null,this._chunk=null,this._cb=null,this._handleFinishBound&&this.removeListener("finish",this._handleFinishBound),this._handleFinishBound=null,this._ws){const t=this._ws,e=()=>{t.onclose=null};if(t.readyState===Ae.CLOSED)e();else try{t.onclose=e,t.close()}catch(t){e()}t.onopen=null,t.onmessage=null,t.onerror=()=>{}}this._ws=null,t()}}_write(t,e){if(this.destroyed)return e(new Error("cannot write after socket is destroyed"));if(this.connected){try{this.send(t)}catch(t){return this.destroy(t)}"function"!=typeof Ee&&this._ws.bufferedAmount>65536?(this._debug("start backpressure: bufferedAmount %d",this._ws.bufferedAmount),this._cb=e):e(null)}else this._debug("write before connect"),this._chunk=t,this._cb=e}_handleOpen(){if(!this.connected&&!this.destroyed){if(this.connected=!0,this._chunk){try{this.send(this._chunk)}catch(t){return this.destroy(t)}this._chunk=null,this._debug('sent chunk from "write before connect"');const t=this._cb;this._cb=null,t(null)}"function"!=typeof Ee&&(this._interval=setInterval((()=>this._onInterval()),150),this._interval.unref&&this._interval.unref()),this._debug("connect"),this.emit("connect")}}_handleMessage(t){if(this.destroyed)return;let e=t.data;e instanceof ArrayBuffer&&(e=new Uint8Array(e)),!1===this.__objectMode&&(e=(0,_.L0)(e)),this.push(e)}_handleClose(){this.destroyed||(this._debug("on close"),this.destroy())}_handleError(t){this.destroy(new Error(`Error connecting to ${this.url}`))}_handleFinish(){if(this.destroyed)return;const t=()=>{setTimeout((()=>this.destroy()),1e3)};this.connected?t():this.once("connect",t)}_onInterval(){if(!this._cb||!this._ws||this._ws.bufferedAmount>65536)return;this._debug("ending backpressure: bufferedAmount %d",this._ws.bufferedAmount);const t=this._cb;this._cb=null,t(null)}_debug(){const t=[].slice.call(arguments);t[0]="["+this._id+"] "+t[0],xe.apply(null,t)}}Ie.WEBSOCKET_SUPPORT=!!Ae;const Te=N("bittorrent-tracker:websocket-tracker"),Pe={};class Ce extends he{constructor(t,e){super(t,e),Te("new websocket tracker %s",e),this.peers={},this.socket=null,this.reconnecting=!1,this.retries=0,this.reconnectTimer=null,this.expectingResponse=!1,this._openSocket()}announce(t){if(this.destroyed||this.reconnecting)return;if(!this.socket.connected)return void this.socket.once("connect",(()=>{this.announce(t)}));const e=Object.assign({},t,{action:"announce",info_hash:this.client._infoHashBinary,peer_id:this.client._peerIdBinary});if(this._trackerId&&(e.trackerid=this._trackerId),"stopped"===t.event||"completed"===t.event)this._send(e);else{const r=Math.min(t.numwant,5);this._generateOffers(r,(t=>{e.numwant=r,e.offers=t,this._send(e)}))}}scrape(t){if(this.destroyed||this.reconnecting)return;if(!this.socket.connected)return void this.socket.once("connect",(()=>{this.scrape(t)}));const e={action:"scrape",info_hash:Array.isArray(t.infoHash)&&t.infoHash.length>0?t.infoHash.map((t=>(0,_.Ht)(t))):t.infoHash&&(0,_.Ht)(t.infoHash)||this.client._infoHashBinary};this._send(e)}destroy(t=Re){if(this.destroyed)return t(null);this.destroyed=!0,clearInterval(this.interval),clearTimeout(this.reconnectTimer);for(const t in this.peers){const e=this.peers[t];clearTimeout(e.trackerTimeout),e.destroy()}if(this.peers=null,this.socket&&(this.socket.removeListener("connect",this._onSocketConnectBound),this.socket.removeListener("data",this._onSocketDataBound),this.socket.removeListener("close",this._onSocketCloseBound),this.socket.removeListener("error",this._onSocketErrorBound),this.socket=null),this._onSocketConnectBound=null,this._onSocketErrorBound=null,this._onSocketDataBound=null,this._onSocketCloseBound=null,Pe[this.announceUrl]&&(Pe[this.announceUrl].consumers-=1),Pe[this.announceUrl].consumers>0)return t();let e,r=Pe[this.announceUrl];if(delete Pe[this.announceUrl],r.on("error",Re),r.once("close",t),!this.expectingResponse)return i();function i(){e&&(clearTimeout(e),e=null),r.removeListener("data",i),r.destroy(),r=null}e=setTimeout(i,oe.DESTROY_TIMEOUT),r.once("data",i)}_openSocket(){if(this.destroyed=!1,this.peers||(this.peers={}),this._onSocketConnectBound=()=>{this._onSocketConnect()},this._onSocketErrorBound=t=>{this._onSocketError(t)},this._onSocketDataBound=t=>{this._onSocketData(t)},this._onSocketCloseBound=()=>{this._onSocketClose()},this.socket=Pe[this.announceUrl],this.socket)Pe[this.announceUrl].consumers+=1,this.socket.connected&&this._onSocketConnectBound();else{const t=new URL(this.announceUrl);let e;this.client._proxyOpts&&(e="wss:"===t.protocol?this.client._proxyOpts.httpsAgent:this.client._proxyOpts.httpAgent,!e&&this.client._proxyOpts.socksProxy&&(e=this.client._proxyOpts.socksProxy)),this.socket=Pe[this.announceUrl]=new Ie({url:this.announceUrl,agent:e}),this.socket.consumers=1,this.socket.once("connect",this._onSocketConnectBound)}this.socket.on("data",this._onSocketDataBound),this.socket.once("close",this._onSocketCloseBound),this.socket.once("error",this._onSocketErrorBound)}_onSocketConnect(){this.destroyed||this.reconnecting&&(this.reconnecting=!1,this.retries=0,this.announce(this.client._defaultAnnounceOpts()))}_onSocketData(t){if(!this.destroyed){this.expectingResponse=!1;try{t=JSON.parse((0,_.dU)(t))}catch(t){return void this.client.emit("warning",new Error("Invalid tracker response"))}"announce"===t.action?this._onAnnounceResponse(t):"scrape"===t.action?this._onScrapeResponse(t):this._onSocketError(new Error(`invalid action in WS response: ${t.action}`))}}_onAnnounceResponse(t){if(t.info_hash!==this.client._infoHashBinary)return void Te("ignoring websocket data from %s for %s (looking for %s: reused socket)",this.announceUrl,(0,_.HB)(t.info_hash),this.client.infoHash);if(t.peer_id&&t.peer_id===this.client._peerIdBinary)return;Te("received %s from %s for %s",JSON.stringify(t),this.announceUrl,this.client.infoHash);const e=t["failure reason"];if(e)return this.client.emit("warning",new Error(e));const r=t["warning message"];r&&this.client.emit("warning",new Error(r));const i=t.interval||t["min interval"];i&&this.setInterval(1e3*i);const n=t["tracker id"];if(n&&(this._trackerId=n),null!=t.complete){const e=Object.assign({},t,{announce:this.announceUrl,infoHash:(0,_.HB)(t.info_hash)});this.client.emit("update",e)}let s;if(t.offer&&t.peer_id&&(Te("creating peer (from remote offer)"),s=this._createPeer(),s.id=(0,_.HB)(t.peer_id),s.once("signal",(e=>{const r={action:"announce",info_hash:this.client._infoHashBinary,peer_id:this.client._peerIdBinary,to_peer_id:t.peer_id,answer:e,offer_id:t.offer_id};this._trackerId&&(r.trackerid=this._trackerId),this._send(r)})),this.client.emit("peer",s),s.signal(t.offer)),t.answer&&t.peer_id){const e=(0,_.HB)(t.offer_id);s=this.peers[e],s?(s.id=(0,_.HB)(t.peer_id),this.client.emit("peer",s),s.signal(t.answer),clearTimeout(s.trackerTimeout),s.trackerTimeout=null,delete this.peers[e]):Te(`got unexpected answer: ${JSON.stringify(t.answer)}`)}}_onScrapeResponse(t){t=t.files||{};const e=Object.keys(t);0!==e.length?e.forEach((e=>{const r=Object.assign(t[e],{announce:this.announceUrl,infoHash:(0,_.HB)(e)});this.client.emit("scrape",r)})):this.client.emit("warning",new Error("invalid scrape response"))}_onSocketClose(){this.destroyed||(this.destroy(),this._startReconnectTimer())}_onSocketError(t){this.destroyed||(this.destroy(),this.client.emit("warning",t),this._startReconnectTimer())}_startReconnectTimer(){const t=Math.floor(3e5*Math.random())+Math.min(1e4*Math.pow(2,this.retries),36e5);this.reconnecting=!0,clearTimeout(this.reconnectTimer),this.reconnectTimer=setTimeout((()=>{this.retries++,this._openSocket()}),t),this.reconnectTimer.unref&&this.reconnectTimer.unref(),Te("reconnecting socket in %s ms",t)}_send(t){if(this.destroyed)return;this.expectingResponse=!0;const e=JSON.stringify(t);Te("send %s",e),this.socket.send(e)}_generateOffers(t,e){const r=this,i=[];Te("generating %s offers",t);for(let e=0;e{i.push({offer:e,offer_id:(0,_.Ht)(t)}),s()})),e.trackerTimeout=setTimeout((()=>{Te("tracker timeout: destroying peer"),e.trackerTimeout=null,delete r.peers[t],e.destroy()}),5e4),e.trackerTimeout.unref&&e.trackerTimeout.unref()}function s(){i.length===t&&(Te("generated %s offers",t),e(i))}s()}_createPeer(t){const e=this;t=Object.assign({trickle:!1,config:e.client._rtcConfig,wrtc:e.client._wrtc},t);const r=new xt(t);return r.once("error",i),r.once("connect",(function t(){r.removeListener("error",i),r.removeListener("connect",t)})),r;function i(t){e.client.emit("warning",new Error(`Connection error: ${t.message}`)),r.destroy()}}}function Re(){}Ce.prototype.DEFAULT_ANNOUNCE_INTERVAL=3e4,Ce._socketPool=Pe;const Oe=Ce;var Be=r(717);const Le=N("bittorrent-tracker:client");class Ne extends s{constructor(t={}){if(super(),!t.peerId)throw new Error("Option `peerId` is required");if(!t.infoHash)throw new Error("Option `infoHash` is required");if(!t.announce)throw new Error("Option `announce` is required");if(!Be.browser&&!t.port)throw new Error("Option `port` is required");this.peerId="string"==typeof t.peerId?t.peerId:(0,_.V5)(t.peerId),this._peerIdBuffer=(0,_.fk)(this.peerId),this._peerIdBinary=(0,_.Ht)(this.peerId),this.infoHash="string"==typeof t.infoHash?t.infoHash.toLowerCase():(0,_.V5)(t.infoHash),this._infoHashBuffer=(0,_.fk)(this.infoHash),this._infoHashBinary=(0,_.Ht)(this.infoHash),Le("new client %s",this.infoHash),this.destroyed=!1,this._port=t.port,this._getAnnounceOpts=t.getAnnounceOpts,this._rtcConfig=t.rtcConfig,this._userAgent=t.userAgent,this._proxyOpts=t.proxyOpts,this._wrtc="function"==typeof t.wrtc?t.wrtc():t.wrtc;let e="string"==typeof t.announce?[t.announce]:null==t.announce?[]:t.announce;e=e.map((t=>(ArrayBuffer.isView(t)&&(t=(0,_.dU)(t)),"/"===t[t.length-1]&&(t=t.substring(0,t.length-1)),t))),e=Array.from(new Set(e));const r=!1!==this._wrtc&&(!!this._wrtc||xt.WEBRTC_SUPPORT),i=t=>{w((()=>{this.emit("warning",t)}))};this._trackers=e.map((t=>{let e;try{e=oe.parseUrl(t)}catch(e){return i(new Error(`Invalid tracker URL: ${t}`)),null}const n=e.port;if(n<0||n>65535)return i(new Error(`Invalid tracker port: ${t}`)),null;const s=e.protocol;return"http:"!==s&&"https:"!==s||"function"!=typeof pe?"udp:"===s&&"function"==typeof ke?new ke(this,t):"ws:"!==s&&"wss:"!==s||!r||"ws:"===s&&"undefined"!=typeof window&&"https:"===window.location.protocol?(i(new Error(`Unsupported tracker protocol: ${t}`)),null):new Oe(this,t):new pe(this,t)})).filter(Boolean)}start(t){(t=this._defaultAnnounceOpts(t)).event="started",Le("send `start` %o",t),this._announce(t),this._trackers.forEach((t=>{t.setInterval()}))}stop(t){(t=this._defaultAnnounceOpts(t)).event="stopped",Le("send `stop` %o",t),this._announce(t)}complete(t){t||(t={}),(t=this._defaultAnnounceOpts(t)).event="completed",Le("send `complete` %o",t),this._announce(t)}update(t){(t=this._defaultAnnounceOpts(t)).event&&delete t.event,Le("send `update` %o",t),this._announce(t)}_announce(t){this._trackers.forEach((e=>{e.announce(t)}))}scrape(t){Le("send `scrape`"),t||(t={}),this._trackers.forEach((e=>{e.scrape(t)}))}setInterval(t){Le("setInterval %d",t),this._trackers.forEach((e=>{e.setInterval(t)}))}destroy(t){if(this.destroyed)return;this.destroyed=!0,Le("destroy");const e=this._trackers.map((t=>e=>{t.destroy(e)}));v(e,t),this._trackers=[],this._getAnnounceOpts=null}_defaultAnnounceOpts(t={}){return null==t.numwant&&(t.numwant=oe.DEFAULT_ANNOUNCE_PEERS),null==t.uploaded&&(t.uploaded=0),null==t.downloaded&&(t.downloaded=0),this._getAnnounceOpts&&(t=Object.assign({},t,this._getAnnounceOpts())),t}}Ne.scrape=(t,e)=>{if(e=S(e),!t.infoHash)throw new Error("Option `infoHash` is required");if(!t.announce)throw new Error("Option `announce` is required");const r=Object.assign({},t,{infoHash:Array.isArray(t.infoHash)?t.infoHash[0]:t.infoHash,peerId:(0,_.L0)("01234567890123456789"),port:6881}),i=new Ne(r);i.once("error",e),i.once("warning",e);let n=Array.isArray(t.infoHash)?t.infoHash.length:1;const s={};return i.on("scrape",(t=>{if(n-=1,s[t.infoHash]=t,0===n){i.destroy();const t=Object.keys(s);1===t.length?e(null,s[t[0]]):e(null,s)}})),i.scrape({infoHash:t.infoHash}),i};const je=Ne;r(7936);const Ue=N("bittorrent-lsd"),qe="239.192.152.143",De=6771;class He extends s.EventEmitter{constructor(t={}){if(super(),!t.peerId)throw new Error("Option `peerId` is required");if(!t.infoHash)throw new Error("Option `infoHash` is required");if(!t.port)throw new Error("Option `port` is required");this.peerId="string"==typeof t.peerId?t.peerId:t.peerId.toString("hex"),this.infoHash="string"==typeof t.infoHash?t.infoHash.toLowerCase():t.infoHash.toString("hex"),this.port="string"==typeof t.port?t.port:t.port.toString(),this.cookie=`bittorrent-lsd-${this.peerId}`,this.destroyed=!1,this.annouceIntervalId=null,this.server=me.createSocket({type:"udp4",reuseAddr:!0});this.server.on("listening",(()=>{Ue("listening");try{this.server.addMembership(qe)}catch(t){this.emit("warning",t)}})),this.server.on("message",((t,e)=>{Ue("message",t.toString(),`${e.address}:${e.port}`);const r=this._parseAnnounce(t.toString());null!==r&&r.cookie!==this.cookie&&r.infoHash.forEach((t=>{this.emit("peer",`${e.address}:${r.port}`,t)}))})),this.server.on("error",(t=>{this.emit("error",t)}))}_parseAnnounce(t){Ue("parse announce",t);const e=t.split("\r\n");if("BT-SEARCH * HTTP/1.1"!==e[0])return this.emit("warning","Invalid LSD announce (header)"),null;const r=e[1].split("Host: ")[1];if(!(t=>/^(239.192.152.143|\[ff15::efc0:988f]):6771$/.test(t))(r))return this.emit("warning","Invalid LSD announce (host)"),null;const i=e[2].split("Port: ")[1];if(!(t=>/^\d+$/.test(t))(i))return this.emit("warning","Invalid LSD announce (port)"),null;const n=e.filter((t=>t.includes("Infohash: "))).map((t=>t.split("Infohash: ")[1])).filter((t=>(t=>/^[0-9a-fA-F]{40}$/.test(t))(t)));if(0===n.length)return this.emit("warning","Invalid LSD announce (infoHash)"),null;return{host:r,port:i,infoHash:n,cookie:e.filter((t=>t.includes("cookie: "))).map((t=>t.split("cookie: ")[1])).reduce(((t,e)=>e),null)}}destroy(t){this.destroyed||(this.destroyed=!0,Ue("destroy"),clearInterval(this.annouceIntervalId),this.server.close(t))}start(){Ue("start"),this.server.bind(De),this._announce(),this.annouceIntervalId=setInterval((()=>{this._announce()}),3e5)}_announce(){Ue("send announce");const t=`BT-SEARCH * HTTP/1.1\r\nHost: ${`${qe}:6771`}\r\nPort: ${this.port}\r\nInfohash: ${this.infoHash}\r\ncookie: ${this.cookie}\r\n\r\n\r\n`;this.server.send(t,De,qe)}}const Fe=He;var ze=r(717);const $e=N("torrent-discovery");class We extends s.EventEmitter{constructor(t){if(super(),!t.peerId)throw new Error("Option `peerId` is required");if(!t.infoHash)throw new Error("Option `infoHash` is required");if(!ze.browser&&!t.port)throw new Error("Option `port` is required");this.peerId="string"==typeof t.peerId?t.peerId:t.peerId.toString("hex"),this.infoHash="string"==typeof t.infoHash?t.infoHash.toLowerCase():t.infoHash.toString("hex"),this._port=t.port,this._userAgent=t.userAgent,this.destroyed=!1,this._announce=t.announce||[],this._intervalMs=t.intervalMs||9e5,this._trackerOpts=null,this._dhtAnnouncing=!1,this._dhtTimeout=!1,this._internalDHT=!1,this._onWarning=t=>{this.emit("warning",t)},this._onError=t=>{this.emit("error",t)},this._onDHTPeer=(t,e)=>{e.toString("hex")===this.infoHash&&this.emit("peer",`${t.host}:${t.port}`,"dht")},this._onTrackerPeer=t=>{this.emit("peer",t,"tracker")},this._onTrackerAnnounce=()=>{this.emit("trackerAnnounce")},this._onLSDPeer=(t,e)=>{this.emit("peer",t,"lsd")};const e=(t,e)=>{const r=new rt(e);return r.on("warning",this._onWarning),r.on("error",this._onError),r.listen(t),this._internalDHT=!0,r};!1===t.tracker?this.tracker=null:t.tracker&&"object"==typeof t.tracker?(this._trackerOpts=Object.assign({},t.tracker),this.tracker=this._createTracker()):this.tracker=this._createTracker(),!1===t.dht||"function"!=typeof rt?this.dht=null:t.dht&&"function"==typeof t.dht.addNode?this.dht=t.dht:t.dht&&"object"==typeof t.dht?this.dht=e(t.dhtPort,t.dht):this.dht=e(t.dhtPort),this.dht&&(this.dht.on("peer",this._onDHTPeer),this._dhtAnnounce()),!1===t.lsd||"function"!=typeof Fe?this.lsd=null:this.lsd=this._createLSD()}updatePort(t){t!==this._port&&(this._port=t,this.dht&&this._dhtAnnounce(),this.tracker&&(this.tracker.stop(),this.tracker.destroy((()=>{this.tracker=this._createTracker()}))))}complete(t){this.tracker&&this.tracker.complete(t)}destroy(t){if(this.destroyed)return;this.destroyed=!0,clearTimeout(this._dhtTimeout);const e=[];this.tracker&&(this.tracker.stop(),this.tracker.removeListener("warning",this._onWarning),this.tracker.removeListener("error",this._onError),this.tracker.removeListener("peer",this._onTrackerPeer),this.tracker.removeListener("update",this._onTrackerAnnounce),e.push((t=>{this.tracker.destroy(t)}))),this.dht&&this.dht.removeListener("peer",this._onDHTPeer),this._internalDHT&&(this.dht.removeListener("warning",this._onWarning),this.dht.removeListener("error",this._onError),e.push((t=>{this.dht.destroy(t)}))),this.lsd&&(this.lsd.removeListener("warning",this._onWarning),this.lsd.removeListener("error",this._onError),this.lsd.removeListener("peer",this._onLSDPeer),e.push((t=>{this.lsd.destroy(t)}))),v(e,t),this.dht=null,this.tracker=null,this.lsd=null,this._announce=null}_createTracker(){const t=Object.assign({},this._trackerOpts,{infoHash:this.infoHash,announce:this._announce,peerId:this.peerId,port:this._port,userAgent:this._userAgent}),e=new je(t);return e.on("warning",this._onWarning),e.on("error",this._onError),e.on("peer",this._onTrackerPeer),e.on("update",this._onTrackerAnnounce),e.setInterval(this._intervalMs),e.start(),e}_dhtAnnounce(){this._dhtAnnouncing||($e("dht announce"),this._dhtAnnouncing=!0,clearTimeout(this._dhtTimeout),this.dht.announce(this.infoHash,this._port,(t=>{this._dhtAnnouncing=!1,$e("dht announce complete"),t&&this.emit("warning",t),this.emit("dhtAnnounce"),this.destroyed||(this._dhtTimeout=setTimeout((()=>{this._dhtAnnounce()}),this._intervalMs+Math.floor(Math.random()*this._intervalMs/5)),this._dhtTimeout.unref&&this._dhtTimeout.unref())})))}_createLSD(){const t=Object.assign({},{infoHash:this.infoHash,peerId:this.peerId,port:this._port}),e=new Fe(t);return e.on("warning",this._onWarning),e.on("error",this._onError),e.on("peer",this._onLSDPeer),e.start(),e}}const Ke=We;var Ve=r(4862),Ze=r(3714);const Ge=N("lt_donthave"),Ye=()=>{class t extends s.EventEmitter{constructor(t){super(),this._peerSupports=!1,this._wire=t}onExtendedHandshake(){this._peerSupports=!0}onMessage(t){let e;try{e=new DataView(t.buffer).getUint32(0)}catch(t){return}this._wire.peerPieces.get(e)&&(Ge("got donthave %d",e),this._wire.peerPieces.set(e,!1),this.emit("donthave",e),this._failRequests(e))}donthave(t){if(!this._peerSupports)return;Ge("donthave %d",t);const e=new Uint8Array(4);new DataView(e.buffer).setUint32(0,t),this._wire.extended("lt_donthave",e)}_failRequests(t){const e=this._wire.requests;for(let r=0;r{class e extends s.EventEmitter{constructor(e){super(),this._wire=e,this._fetching=!1,this._metadataComplete=!1,this._metadataSize=null,this._remainingRejects=null,this._bitfield=new Ht.A(0,{grow:1e3}),ArrayBuffer.isView(t)&&this.setMetadata(t)}onHandshake(t,e,r){this._infoHash=t}onExtendedHandshake(t){return t.m&&t.m.ut_metadata?t.metadata_size?"number"!=typeof t.metadata_size||1e7this._metadataSize&&(r=this._metadataSize);const i=this.metadata.slice(e,r);this._data(t,i,this._metadataSize)}_onData(t,e,r){e.length>rr||!this._fetching||(this.metadata.set(e,t*rr),this._bitfield.set(t),this._checkDone())}_onReject(t){this._remainingRejects>0&&this._fetching?(this._request(t),this._remainingRejects-=1):this.emit("warning",new Error('Peer sent "reject" too much'))}_requestPieces(){if(this._fetching){this.metadata=new Uint8Array(this._metadataSize);for(let t=0;t0?this._requestPieces():this.emit("warning",new Error("Peer sent invalid metadata"))}}return e.prototype.name="ut_metadata",e};var nr=r(640),sr=r(8287).Buffer;const or=t=>("string"==typeof t&&(t=[t]),sr.concat(t.map((t=>{const e=Dt(t);if(2!==e.length)throw new Error("invalid address format, expecting: 10.10.10.5:128");const r=nr.parse(e[0]),i=sr.from(r.toByteArray()),n=e[1],s=sr.allocUnsafe(2);return s.writeUInt16BE(n,0),sr.concat([i,s])}))));var ar=r(8287).Buffer;const hr={prefersEncryption:1,isSender:2,supportsUtp:4,supportsUtHolepunch:8,isReachable:16},ur=()=>{class t extends s.EventEmitter{constructor(t){super(),this._wire=t,this._intervalId=null,this._lastMessageTimestamp=0,this.reset()}start(){clearInterval(this._intervalId),this._intervalId=setInterval((()=>this._sendMessage()),65e3),this._intervalId.unref&&this._intervalId.unref()}stop(){clearInterval(this._intervalId),this._intervalId=null}reset(){this._remoteAddedPeers={},this._remoteDroppedPeers={},this._localAddedPeers={},this._localDroppedPeers={},this.stop()}addPeer(t,e={}){this._addPeer(t,this._encodeFlags(e),4)}addPeer6(t,e={}){this._addPeer(t,this._encodeFlags(e),6)}_addPeer(t,e,r){t.includes(":")&&(t in this._remoteAddedPeers||(t in this._localDroppedPeers&&delete this._localDroppedPeers[t],this._localAddedPeers[t]={ip:r,flags:e}))}dropPeer(t){this._dropPeer(t,4)}dropPeer6(t){this._dropPeer(t,6)}_dropPeer(t,e){t.includes(":")&&(t in this._remoteDroppedPeers||(t in this._localAddedPeers&&delete this._localAddedPeers[t],this._localDroppedPeers[t]={ip:e}))}onExtendedHandshake(t){if(!t.m||!t.m.ut_pex)return this.emit("warning",new Error("Peer does not support ut_pex"))}onMessage(t){const e=Date.now();if(e-this._lastMessageTimestamp<6e4)return this.reset(),this._wire.destroy(),this.emit("warning",new Error("Peer disconnected for sending PEX messages too frequently"));let r;this._lastMessageTimestamp=e;try{r=l.A.decode(t),r.added&&ue.multi(ar.from(r.added)).forEach(((t,e)=>{if(delete this._remoteDroppedPeers[t],!(t in this._remoteAddedPeers)){const i=r["added.f"][e];this._remoteAddedPeers[t]={ip:4,flags:i},this.emit("peer",t,this._decodeFlags(i))}})),r.added6&&ue.multi6(ar.from(r.added6)).forEach(((t,e)=>{if(delete this._remoteDroppedPeers[t],!(t in this._remoteAddedPeers)){const i=r["added6.f"][e];this._remoteAddedPeers[t]={ip:6,flags:i},this.emit("peer",t,this._decodeFlags(i))}})),r.dropped&&ue.multi(ar.from(r.dropped)).forEach((t=>{delete this._remoteAddedPeers[t],t in this._remoteDroppedPeers||(this._remoteDroppedPeers[t]={ip:4},this.emit("dropped",t))})),r.dropped6&&ue.multi6(ar.from(r.dropped6)).forEach((t=>{delete this._remoteAddedPeers[t],t in this._remoteDroppedPeers||(this._remoteDroppedPeers[t]={ip:6},this.emit("dropped",t))}))}catch(t){}}_decodeFlags(t){return{prefersEncryption:!!(t&hr.prefersEncryption),isSender:!!(t&hr.isSender),supportsUtp:!!(t&hr.supportsUtp),supportsUtHolepunch:!!(t&hr.supportsUtHolepunch),isReachable:!!(t&hr.isReachable)}}_encodeFlags(t){return Object.keys(t).reduce(((e,r)=>!0===t[r]?e|hr[r]:e),0)}_sendMessage(){const t=Object.keys(this._localAddedPeers).slice(0,50),e=Object.keys(this._localDroppedPeers).slice(0,50),r=(t,e)=>4===t[e].ip,i=(t,e)=>6===t[e].ip,n=(t,e)=>t[e].flags,s=or(t.filter((t=>r(this._localAddedPeers,t)))),o=or(t.filter((t=>i(this._localAddedPeers,t)))),a=or(e.filter((t=>r(this._localDroppedPeers,t)))),h=or(e.filter((t=>i(this._localDroppedPeers,t)))),u=ar.from(t.filter((t=>r(this._localAddedPeers,t))).map((t=>n(this._localAddedPeers,t)))),f=ar.from(t.filter((t=>i(this._localAddedPeers,t))).map((t=>n(this._localAddedPeers,t))));t.forEach((t=>delete this._localAddedPeers[t])),e.forEach((t=>delete this._localDroppedPeers[t])),this._wire.extended("ut_pex",{added:s,"added.f":u,dropped:a,added6:o,"added6.f":f,dropped6:h})}}return t.prototype.name="ut_pex",t};var fr=r(1133);const lr=N("webtorrent:file-iterator");class cr extends s{constructor(t,{start:e,end:r}){super(),this._torrent=t._torrent,this._pieceLength=t._torrent.pieceLength,this._startPiece=(e+t.offset)/this._pieceLength|0,this._endPiece=(r+t.offset)/this._pieceLength|0,this._piece=this._startPiece,this._offset=e+t.offset-this._startPiece*this._pieceLength,this._missing=r-e+1,this._criticalLength=Math.min(1048576/this._pieceLength|0,2),this._torrent._select(this._startPiece,this._endPiece,1,null,!0),this.destroyed=!1}[Symbol.asyncIterator](){return this}next(){return new Promise(((t,e)=>{if(0===this._missing||this.destroyed)return t({done:!0}),this.destroy();const r=(i,n)=>{if(!this._torrent.bitfield.get(i)){const t=e=>{(e===i||this.destroyed)&&(this._torrent.removeListener("verified",t),r(i,n))};return this._torrent.on("verified",t),this._torrent.critical(i,i+this._criticalLength)}if(this._torrent.destroyed)return e(new Error("Torrent removed"));this._torrent.store.get(i,n,((r,n)=>this.destroyed?t({done:!0}):(lr("read %s and yielding (length %s) (err %s)",i,n?.length,r?.message),r?e(r):void t({value:n,done:!1}))))},i=Math.min(this._missing,this._pieceLength-this._offset);r(this._piece++,{length:i,offset:this._offset}),this._missing-=i,this._offset=0}))}async return(){return this.destroy(),{done:!0}}async throw(t){throw t}destroy(t=()=>{},e){this.destroyed||(this.destroyed=!0,this._torrent.destroyed||this._torrent._deselect(this._startPiece,this._endPiece,!0),this.emit("return"),t(e))}}class dr extends s{constructor(t,e){super(),this._torrent=t,this._destroyed=!1,this._fileStreams=new Set,this._iterators=new Set,this.name=e.name,this.path=e.path,this.length=e.length,this.size=e.length,this.type=fr.getType(this.name)||"application/octet-stream",this.offset=e.offset,this.done=!1;const r=e.offset,i=r+e.length-1;this._startPiece=r/this._torrent.pieceLength|0,this._endPiece=i/this._torrent.pieceLength|0,0===this.length&&(this.done=!0,this.emit("done")),this._client=t.client}get downloaded(){if(this._destroyed||!this._torrent.bitfield)return 0;const{pieces:t,bitfield:e,pieceLength:r,lastPieceLength:i}=this._torrent,{_startPiece:n,_endPiece:s}=this,o=n=>{const s=n===t.length-1?i:r;return e.get(n)?s:s-t[n].missing};let a=0;for(let e=n;e<=s;e+=1){const h=o(e);if(a+=h,e===n){const t=this.offset%r;a-=Math.min(t,h)}if(e===s){const e=(s===t.length-1?i:r)-(this.offset+this.length)%r;a-=Math.min(e,h)}}return a}get progress(){return this.length?this.downloaded/this.length:0}select(t){0!==this.length&&this._torrent.select(this._startPiece,this._endPiece,t)}deselect(){0!==this.length&&this._torrent.deselect(this._startPiece,this._endPiece)}[Symbol.asyncIterator](t={}){if(0===this.length)return async function*(){}();const{start:e=0}=t??{},r=t?.end&&t.end{this._iterators.delete(i)})),i}createReadStream(t){const e=this[Symbol.asyncIterator](t),r=wt.Readable.from(e);return this._fileStreams.add(r),r.once("close",(()=>{this._fileStreams.delete(r)})),r}async arrayBuffer(t={}){const{start:e=0}=t,r=t?.end&&t.end{e=this[Symbol.asyncIterator](t)},async pull(t){const{value:r,done:i}=await e.next();i?t.close():t.enqueue(r)},cancel(){e.return()}})}get streamURL(){if(!this._client._server)throw new Error("No server created");return`${this._client._server.pathname}/${this._torrent.infoHash}/${this.path}`}streamTo(t){return t.src=this.streamURL,t}includes(t){return this._startPiece<=t&&this._endPiece>=t}_destroy(){this._destroyed=!0,this._torrent=null;for(const t of this._fileStreams)t.destroy();this._fileStreams.clear();for(const t of this._iterators)t.destroy();this._iterators.clear()}}class pr{constructor(t){this._torrent=t,this._numPieces=t.pieces.length,this._pieces=new Array(this._numPieces),this._onWire=t=>{this.recalculate(),this._initWire(t)},this._onWireHave=t=>{this._pieces[t]+=1},this._onWireBitfield=()=>{this.recalculate()},this._torrent.wires.forEach((t=>{this._initWire(t)})),this._torrent.on("wire",this._onWire),this.recalculate()}getRarestPiece(t){let e=[],r=1/0;for(let i=0;i{this._cleanupWireEvents(t)})),this._torrent=null,this._pieces=null,this._onWire=null,this._onWireHave=null,this._onWireBitfield=null}_initWire(t){t._onClose=()=>{this._cleanupWireEvents(t);for(let e=0;e{const i=await(0,_.tW)(t,"hex");if(this.destroyed)return;this.handshake(e,i);const n=this._torrent.pieces.length,s=new Ht.A(n);for(let t=0;t<=n;t++)s.set(t,!0);this.bitfield(s)})),this.once("interested",(()=>{yr("interested"),this.unchoke()})),this.on("uninterested",(()=>{yr("uninterested")})),this.on("choke",(()=>{yr("choke")})),this.on("unchoke",(()=>{yr("unchoke")})),this.on("bitfield",(()=>{yr("bitfield")})),this.lt_donthave.on("donthave",(()=>{yr("donthave")})),this.on("request",((t,e,r,i)=>{yr("request pieceIndex=%d offset=%d length=%d",t,e,r),this.httpRequest(t,e,r,((e,r)=>{if(e){this.lt_donthave.donthave(t);const e=setTimeout((()=>{this.destroyed||this.have(t)}),1e4);e.unref&&e.unref()}i(e,r)}))}))}async httpRequest(t,e,r,i){i=S(i);const n=t*this._torrent.pieceLength+e,s=n+r-1,o=this._torrent.files;let a,h;if(o.length<=1)a=[{url:this.url,start:n,end:s}];else{const t=o.filter((t=>t.offset<=s&&t.offset+t.length>n));if(t.length<1)return i(new Error("Could not find file corresponding to web seed range request"));a=t.map((t=>{const e=t.offset+t.length-1;return{url:this.url+("/"===this.url[this.url.length-1]?"":"/")+t.path.replace(this._torrent.path,""),fileOffsetInRange:Math.max(t.offset-n,0),start:Math.max(n-t.offset,0),end:Math.min(e,s-t.offset)}}))}try{h=await Promise.all(a.map((async({start:i,end:n,url:s})=>{yr("Requesting url=%s pieceIndex=%d offset=%d length=%d start=%d end=%d",s,t,e,r,i,n);const o=await st(s,{cache:"no-store",method:"GET",headers:{"Cache-Control":"no-store","user-agent":`WebTorrent/${gr} (https://webtorrent.io)`,range:`bytes=${i}-${n}`},signal:AbortSignal.timeout(6e4)});if(!o.ok)throw new Error(`Unexpected HTTP status code ${o.status}`);const a=new Uint8Array(await o.arrayBuffer());return yr("Got data of length %d",a.length),a})))}catch(t){return i(t)}i(null,(0,_.xW)(h))}destroy(){super.destroy(),this._torrent=null}}class vr{_items=[];remove(t){for(let e=0;e=0&&0!==t.from&&i.push(n);const s={...r,from:t.to+1};s.to-s.from>=0&&i.push(s),this._items.splice(e,1,...i),e=e-1+i.length}else Sr(t,r)&&(this._items.splice(e,1),e--)}}insert(t){if(t.from>t.to)throw new Error("Invalid interval");if(!t.isStreamSelection){const{notify:e}=t,r=[];for(const e of this._items)e.notify&&kr(t,e)&&r.push(e.notify);r.length>0&&(t.notify=()=>{r.forEach((t=>t())),e?.()}),this.remove(t)}this._items.push(t)}sort(t=(t,e)=>t.from-e.from){this._items.sort(t)}get length(){return this._items.length}get(t){return this._items[t]}swap(t,e){const r=this._items[t];this._items[t]=this._items[e],this._items[e]=r}clear(){this._items.length=0}*[Symbol.iterator](){for(let t=0;t{this._items.splice(t,1),t--},yield e,delete e.remove}}}function wr(t,e){return t.from<=e.to&&t.from>e.from&&t.to>e.to}function _r(t,e){return t.to>=e.from&&t.to=e.from&&t.to<=e.to&&i=e.to}const kr=(t,e)=>()=>wr(t,e)||_r(t,e)||Mr(t,e)||Sr(t,e);var Er=r(717);const xr=N("webtorrent:torrent"),Ar=5e3,Ir=3*Qe.BLOCK_LENGTH,Tr=Er.browser?Wt().length:2,Pr=[1e3,5e3,15e3],Cr=`WebTorrent/${gr} (https://webtorrent.io)`,Rr=(globalThis.navigator?.storage?.getDirectory&&globalThis.FileSystemFileHandle,Er.browser,Ve);let Or;try{Or=u(Nt.statSync("/tmp")&&"/tmp","webtorrent")}catch(t){Or=u("function"==typeof jt.tmpdir?jt.tmpdir():"/","webtorrent")}const Br="undefined"!=typeof window&&"function"==typeof window.requestIdleCallback&&window.requestIdleCallback;class Lr extends s{constructor(t,e,r){super(),this._debugId="unknown infohash",this.client=e,this.announce=r.announce,this.urlList=r.urlList,this.path=r.path||Or,this.addUID=r.addUID||!1,this.rootDir=r.rootDir||null,this.skipVerify=!!r.skipVerify,this._startupBitfield=r.bitfield,this._store=r.store||Rr,this._preloadedStore=r.preloadedStore||null,this._storeCacheSlots=void 0!==r.storeCacheSlots?r.storeCacheSlots:20,this._destroyStoreOnDestroy=r.destroyStoreOnDestroy||!1,this.store=null,this.storeOpts=r.storeOpts,this.alwaysChokeSeeders=r.alwaysChokeSeeders??!0,this._getAnnounceOpts=r.getAnnounceOpts,"boolean"==typeof r.private&&(this.private=r.private),this.strategy=r.strategy||"sequential",this.maxWebConns=r.maxWebConns||4,this._rechokeNumSlots=!1===r.uploads||0===r.uploads?0:+r.uploads||10,this._rechokeOptimisticWire=null,this._rechokeOptimisticTime=0,this._rechokeIntervalId=null,this._noPeersIntervalId=null,this._noPeersIntervalTime=r.noPeersIntervalTime?1e3*r.noPeersIntervalTime:3e4,this._startAsDeselected=r.deselect||!1,this.ready=!1,this.destroyed=!1,this.paused=r.paused||!1,this.done=!1,this.metadata=null,this.files=[],this.pieces=[],this._amInterested=!1,this._selections=new vr,this._critical=[],this.wires=[],this._queue=[],this._peers={},this._peersLength=0,this.received=0,this.uploaded=0,this._downloadSpeed=At(),this._uploadSpeed=At(),this._servers=[],this._xsRequests=[],this._fileModtimes=r.fileModtimes,null!==t&&this._onTorrentId(t),this._debug("new torrent")}get timeRemaining(){return this.done?0:0===this.downloadSpeed?1/0:(this.length-this.downloaded)/this.downloadSpeed*1e3}get downloaded(){if(!this.bitfield)return 0;let t=0;for(let e=0,r=this.pieces.length;e{this.destroyed||this._onParsedTorrent(e)}))):lt(t,((t,e)=>{if(!this.destroyed)return t?this._destroy(t):void this._onParsedTorrent(e)}))}_onParsedTorrent(t){if(!this.destroyed){if(this._processParsedTorrent(t),!this.infoHash)return this._destroy(new Error("Malformed torrent data: No info hash"));this._rechokeIntervalId=setInterval((()=>{this._rechoke()}),1e4),this._rechokeIntervalId.unref&&this._rechokeIntervalId.unref(),this.emit("_infoHash",this.infoHash),this.destroyed||(this.emit("infoHash",this.infoHash),this.destroyed||(this.client.listening?this._onListening():this.client.once("listening",(()=>{this._onListening()}))))}}_processParsedTorrent(t){this._debugId=(0,_.V5)(t.infoHash).substring(0,7),void 0!==this.private&&(t.private=this.private),Array.isArray(this.announce)&&(t.announce=t.announce.concat(this.announce)),this.client.tracker&&Array.isArray(this.client.tracker.announce)&&!t.private&&(t.announce=t.announce.concat(this.client.tracker.announce)),this.client.tracker&&globalThis.WEBTORRENT_ANNOUNCE&&!t.private&&(t.announce=t.announce.concat(globalThis.WEBTORRENT_ANNOUNCE)),this.urlList&&(t.urlList=t.urlList.concat(this.urlList)),t.announce=Array.from(new Set(t.announce)),t.urlList=Array.from(new Set(t.urlList)),Object.assign(this,t),this.magnetURI=mt(t),this.torrentFile=function(t){const e={info:t.info};return e["announce-list"]=(t.announce||[]).map((t=>(e.announce||(e.announce=t),[t=(0,_.L0)(t)]))),e["url-list"]=t.urlList||[],void 0!==t.private&&(e.private=Number(t.private)),t.created&&(e["creation date"]=t.created.getTime()/1e3|0),t.createdBy&&(e["created by"]=t.createdBy),t.comment&&(e.comment=t.comment),l.A.encode(e)}(t)}_onListening(){this.destroyed||(this.info?this._onMetadata(this):(this.xs&&this._getMetadataFromServer(),this._startDiscovery()))}_startDiscovery(){if(this.discovery||this.destroyed)return;let t=this.client.tracker;t&&(t=Object.assign({},this.client.tracker,{getAnnounceOpts:()=>{if(this.destroyed)return;const t={uploaded:this.uploaded,downloaded:this.downloaded,left:Math.max(this.length-this.downloaded,0)};return this.client.tracker.getAnnounceOpts&&Object.assign(t,this.client.tracker.getAnnounceOpts()),this._getAnnounceOpts&&Object.assign(t,this._getAnnounceOpts()),t}})),this.peerAddresses&&this.peerAddresses.forEach((t=>this.addPeer(t,Ct.default.SOURCE_MANUAL))),this.discovery=new Ke({infoHash:this.infoHash,announce:this.announce,peerId:this.client.peerId,dht:!this.private&&this.client.dht,tracker:t,port:this.client.torrentPort,userAgent:Cr,lsd:this.client.lsd}),this.discovery.on("error",(t=>{this._destroy(t)})),this.discovery.on("peer",((t,e)=>{this._debug("peer %s discovered via %s",t,e),this.client.seedOutgoingConnections||!this.done?this.addPeer(t,e):this._debug("discovery ignoring peer %s: torrent is done and seedOutgoingConnections is false",t)})),this.discovery.on("trackerAnnounce",(()=>{this.emit("trackerAnnounce")})),this.discovery.on("dhtAnnounce",(()=>{this.emit("dhtAnnounce")})),this.discovery.on("warning",(t=>{this.emit("warning",t)})),this._noPeersIntervalId=setInterval((()=>{if(this.destroyed)return;const t={[Ct.default.SOURCE_TRACKER]:{enabled:!!this.client.tracker,numPeers:0},[Ct.default.SOURCE_DHT]:{enabled:!!this.client.dht,numPeers:0},[Ct.default.SOURCE_LSD]:{enabled:!!this.client.lsd,numPeers:0},[Ct.default.SOURCE_UT_PEX]:{enabled:this.client.utPex&&!0,numPeers:0}};for(const e of Object.values(this._peers)){const r=t[e.source];void 0!==r&&r.numPeers++}for(const e of Object.keys(t)){const r=t[e];r.enabled&&0===r.numPeers&&this.emit("noPeers",e)}}),this._noPeersIntervalTime),this._noPeersIntervalId.unref&&this._noPeersIntervalId.unref()}_getMetadataFromServer(){const t=this,e=Array.isArray(this.xs)?this.xs:[this.xs];t._xsRequestsController=new AbortController;const r=t._xsRequestsController.signal,i=e.map((e=>i=>{!async function(e,i){if(0!==e.indexOf("http://")&&0!==e.indexOf("https://"))return t.emit("warning",new Error(`skipping non-http xs param: ${e}`)),i(null);const n={method:"GET",headers:{"user-agent":Cr},signal:r};let s,o,a;try{s=await st(e,n)}catch(r){return t.emit("warning",new Error(`http error from xs param: ${e}`)),i(null)}if(t.destroyed)return i(null);if(t.metadata)return i(null);if(200!==s.status)return t.emit("warning",new Error(`non-200 status code ${s.status} from xs param: ${e}`)),i(null);try{o=new Uint8Array(await s.arrayBuffer())}catch(e){return t.emit("warning",e),i(null)}try{a=await pt(o)}catch(t){}if(!a)return t.emit("warning",new Error(`got invalid torrent file from xs param: ${e}`)),i(null);if(a.infoHash!==t.infoHash)return t.emit("warning",new Error(`got torrent file with incorrect info hash from xs param: ${e}`)),i(null);t._onMetadata(a),i(null)}(e,i)}));v(i)}async _onMetadata(t){if(this.metadata||this.destroyed)return;let e;if(this._debug("got metadata"),this._xsRequestsController?.abort(),this._xsRequestsController=null,t&&t.infoHash)e=t;else try{e=await pt(t)}catch(t){return this._destroy(t)}this._processParsedTorrent(e),this.metadata=this.torrentFile,this.client.enableWebSeeds&&this.urlList.forEach((t=>{this.addWebSeed(t)})),this._rarityMap=new pr(this),this.files=this.files.map((t=>new dr(this,t)));let r=this._preloadedStore;if(r||(r=new this._store(this.pieceLength,{...this.storeOpts,torrent:this,path:this.path,files:this.files,length:this.length,name:this.name+" - "+this.infoHash.slice(0,8),addUID:this.addUID,rootDir:this.rootDir,max:this._storeCacheSlots})),this._storeCacheSlots>0&&!(r instanceof Ve)&&(r=new Ft(r,{max:this._storeCacheSlots})),this.store=new Ze(r),this.so&&!this._startAsDeselected?this.files.forEach(((t,e)=>{this.so.includes(e)&&this.files[e].select()})):0===this.pieces.length||this._startAsDeselected||this.select(0,this.pieces.length-1,0),this._hashes=this.pieces,this._hasStartupBitfield=this._startupBitfield&&this._startupBitfield.length===Math.ceil(this.pieces.length/8)&&!this.skipVerify,this.bitfield=new Ht.A(this._hasStartupBitfield?new Uint8Array(this._startupBitfield):this.pieces.length),this._reservations=this._hasStartupBitfield?this.pieces.map(((t,e)=>this.bitfield.get(e)?null:[])):this.pieces.map((()=>[])),this.pieces=this.pieces.map(((t,e)=>{if(this._hasStartupBitfield&&this.bitfield.get(e))return null;const r=e===this.pieces.length-1?this.lastPieceLength:this.pieceLength;return new Qe(r)})),this.emit("metadata"),!this.destroyed)if(this.skipVerify)this._markAllVerified(),this._onStore();else{const t=t=>{if(t)return this._destroy(t);this._debug("done verifying"),this._onStore()};this._debug("verifying existing torrent data"),this._fileModtimes&&this._store===Ve?this.getFileModtimes(((e,r)=>{if(e)return this._destroy(e);this.files.map(((t,e)=>r[e]===this._fileModtimes[e])).every((t=>t))?(this._markAllVerified(),this._onStore()):this._verifyPieces(t)})):this._verifyPieces(t)}}getFileModtimes(t){const e=[];Je(this.files.map(((t,r)=>i=>{const n=this.addUID?u(this.name+" - "+this.infoHash.slice(0,8)):u(this.path,t.path);Nt.stat(n,((t,n)=>{if(t&&"ENOENT"!==t.code)return i(t);e[r]=n&&n.mtime.getTime(),i(null)}))})),Tr,(r=>{this._debug("done getting file modtimes"),t(r,e)}))}_verifyPiece(t,e){if(this.destroyed)return e(new Error("torrent is destroyed"));const r={};t===this.pieces.length-1&&(r.length=this.lastPieceLength),this.store.get(t,r,(async(r,i)=>{if(this.destroyed)return e(new Error("torrent is destroyed"));if(r)return w((()=>e(null,!1)));const n=await(0,_.tW)(i,"hex");if(this.destroyed)return e(new Error("torrent is destroyed"));e(null,n===this._hashes[t])}))}_verifyPiecesUsingBitfield(t){const e=new Set,r=new Map;for(const t of this.files){let i=2,n=null;for(let e=t._startPiece;e<=t._endPiece;++e)this.bitfield.get(e)&&(i&&(n=e,i--),r.has(e)||r.set(e,[]),r.get(e).push(t));null!==n&&e.add(n)}this._verifyPiecesUsingHash([...e],(i=>{if(i)return t(i);const n=new Set;for(const t of e)if(!this.bitfield.get(t)){const e=r.get(t);for(const t of e)n.add(t)}if(n.size){const e=[];for(const t of n)for(let r=t._startPiece;r<=t._endPiece;++r)-1===e.indexOf(r)&&e.push(r);return this._verifyPiecesUsingHash(e,t)}t(null)}))}_verifyPiecesUsingHash(t,e){Je(t.map(((t,e)=>r=>{const i=Number.isInteger(t)?t:e;this._verifyPiece(i,((t,e)=>{if(t)return r(t);e?(this._debug("piece verified %s",i),this._markVerified(i)):(this._markUnverified(i),this._debug("piece invalid %s",i)),r(null)}))})),Tr,e)}_verifyPieces(t){if(this._hasStartupBitfield)return this._verifyPiecesUsingBitfield(t);this._verifyPiecesUsingHash(this.pieces,t)}rescanFiles(t){if(this.destroyed)throw new Error("torrent is destroyed");t||(t=jr),this._verifyPiecesUsingHash(this.pieces,(e=>{if(e)return this._destroy(e),t(e);this._checkDone(),t(null)}))}_markAllVerified(){for(let t=0;tt))return!0;return!1}_onStore(){this.destroyed||(this._debug("on store"),this._startDiscovery(),this.ready=!0,this.emit("ready"),this._checkDone(),this._updateSelections(),this.wires.forEach((t=>{t.ut_metadata&&t.ut_metadata.setMetadata(this.metadata),this._onWireWithMetadata(t)})))}destroy(t,e){if("function"==typeof t)return this.destroy(null,t);this._destroy(null,t,e)}_destroy(t,e,r){if("function"==typeof e)return this._destroy(t,null,e);if(this.destroyed)return;this.destroyed=!0,this._debug("destroy"),this.client._remove(this),this._selections.clear(),clearInterval(this._rechokeIntervalId),clearInterval(this._noPeersIntervalId),this._xsRequestsController?.abort(),this._rarityMap&&this._rarityMap.destroy();for(const t in this._peers)this.removePeer(t);for(const t of this.files)t instanceof dr&&t._destroy();const i=this._servers.map((t=>e=>{t.destroy(e)}));if(this.discovery&&i.push((t=>{this.discovery.destroy(t)})),this.store){let t=this._destroyStoreOnDestroy;e&&void 0!==e.destroyStore&&(t=e.destroyStore),i.push((e=>{t?this.store.destroy(e):this.store.close(e)}))}v(i,r),t&&(0===this.listenerCount("error")?this.client.emit("error",t):this.emit("error",t)),this.emit("close"),this.client=null,this.files=[],this.discovery=null,this.store=null,this._rarityMap=null,this._peers=null,this._servers=null,this._xsRequests=null,this._queue=null}addPeer(t,e){if(this.destroyed)throw new Error("torrent is destroyed");if(!this.infoHash)throw new Error("addPeer() must not be called before the `infoHash` event");let r;if("string"==typeof t){let e;try{e=Dt(t)}catch(e){return this._debug("ignoring peer: invalid %s",t),this.emit("invalidPeer",t),!1}r=e[0]}else"string"==typeof t.remoteAddress&&(r=t.remoteAddress);if(this.client.blocked&&r&&this.client.blocked.contains(r))return this._debug("ignoring peer: blocked %s",t),"string"!=typeof t&&t.destroy(),this.emit("blockedPeer",t),!1;const i=this.client.utp&&this._isIPv4(r)?"utp":"tcp",n=!!this._addPeer(t,i,e);return n?this.emit("peer",t):this.emit("invalidPeer",t),n}_addPeer(t,e,r){if(this.destroyed)return"string"!=typeof t&&t.destroy(),null;if("string"==typeof t&&!this._validAddr(t))return this._debug("ignoring peer: invalid %s",t),null;const i=t&&t.id||t;if(this._peers[i])return this._debug("ignoring peer: duplicate (%s)",i),"string"!=typeof t&&t.destroy(),null;if(this.paused)return this._debug("ignoring peer: torrent is paused"),"string"!=typeof t&&t.destroy(),null;let n;return this._debug("add peer %s",i),n="string"==typeof t?"utp"===e?Ct.default.createUTPOutgoingPeer(t,this,this.client.throttleGroups,r):Ct.default.createTCPOutgoingPeer(t,this,this.client.throttleGroups,r):Ct.default.createWebRTCPeer(t,this,this.client.throttleGroups,r),this._registerPeer(n),"string"==typeof t&&(this._queue.push(n),this._drain()),n}addWebSeed(t){if(this.destroyed)throw new Error("torrent is destroyed");let e,r;if("string"==typeof t){if(e=t,!/^https?:\/\/.+/.test(e))return this.emit("warning",new Error(`ignoring invalid web seed: ${e}`)),void this.emit("invalidPeer",e);if(this._peers[e])return this.emit("warning",new Error(`ignoring duplicate web seed: ${e}`)),void this.emit("invalidPeer",e);r=new br(e,this)}else{if(!t||"string"!=typeof t.connId)return void this.emit("warning",new Error("addWebSeed must be passed a string or connection object with id property"));if(r=t,e=r.connId,this._peers[e])return this.emit("warning",new Error(`ignoring duplicate web seed: ${e}`)),void this.emit("invalidPeer",e)}this._debug("add web seed %s",e);const i=Ct.default.createWebSeedPeer(r,e,this,this.client.throttleGroups);this._registerPeer(i),this.emit("peer",e)}_addIncomingPeer(t){return this.destroyed?t.destroy(new Error("torrent is destroyed")):this.paused?t.destroy(new Error("torrent is paused")):(this._debug("add incoming peer %s",t.id),void this._registerPeer(t))}_registerPeer(t){t.on("download",(t=>{this.destroyed||(this.received+=t,this._downloadSpeed(t),this.client._downloadSpeed(t),this.emit("download",t),this.destroyed||this.client.emit("download",t))})),t.on("upload",(t=>{this.destroyed||(this.uploaded+=t,this._uploadSpeed(t),this.client._uploadSpeed(t),this.emit("upload",t),this.destroyed||this.client.emit("upload",t))})),this._peers[t.id]=t,this._peersLength+=1}removePeer(t){const e=t?.id||t;t&&!t.id&&(t=this._peers?.[e]),t&&(t.destroy(),this.destroyed||(this._debug("removePeer %s",e),delete this._peers[e],this._peersLength-=1,this._drain()))}_select(t=0,e=this.pieces.length-1,r,i,n=!1){if(this.destroyed)throw new Error("torrent is destroyed");if(t<0||ee.priority-t.priority)),this._updateSelections()}select(t,e,r,i){this._select(t,e,r,i,!1)}_deselect(t,e,r=!1){if(this.destroyed)throw new Error("torrent is destroyed");this._debug("deselect %s-%s",t,e),this._selections.remove({from:t,to:e,isStreamSelection:r}),this._updateSelections()}deselect(t,e){this._deselect(t,e,!1)}critical(t,e){if(this.destroyed)throw new Error("torrent is destroyed");this._debug("critical %s-%s",t,e);for(let r=t;r<=e;++r)this._critical[r]=!0;this._updateSelections()}_onWire(t,e){if(this._debug("got wire %s (%s)",t._debugId,e||"Unknown"),this.wires.push(t),e){const r=Dt(e);t.remoteAddress=r[0],t.remotePort=r[1]}this.client.dht&&this.client.dht.listening&&t.on("port",(r=>{if(!this.destroyed&&!this.client.dht.destroyed){if(!t.remoteAddress)return this._debug("ignoring PORT from peer with no address");if(0===r||r>65536)return this._debug("ignoring invalid PORT from peer");this._debug("port: %s (from %s)",r,e),this.client.dht.addNode({host:t.remoteAddress,port:r})}})),t.on("timeout",(()=>{this._debug("wire timeout (%s)",e),t.destroy()})),"webSeed"!==t.type&&t.setTimeout(3e4,!0),t.setKeepAlive(!0),t.use(ir(this.metadata)),t.ut_metadata.on("warning",(t=>{this._debug("ut_metadata warning: %s",t.message)})),this.metadata||(t.ut_metadata.on("metadata",(t=>{this._debug("got metadata via ut_metadata"),this._onMetadata(t)})),t.ut_metadata.fetch()),this.client.utPex&&!this.private&&(t.use(ur()),t.ut_pex.on("peer",(t=>{this.client.seedOutgoingConnections||!this.done?(this._debug("ut_pex: got peer: %s (from %s)",t,e),this.addPeer(t,Ct.default.SOURCE_UT_PEX)):this._debug("ut_pex ignoring peer %s: torrent is done and seedOutgoingConnections is false",t)})),t.ut_pex.on("dropped",(t=>{const r=this._peers[t];r&&!r.connected&&(this._debug("ut_pex: dropped peer: %s (from %s)",t,e),this.removePeer(t))})),t.once("close",(()=>{t.ut_pex.reset()}))),t.use(Ye()),this.emit("wire",t,e),this.ready&&w((()=>{this._onWireWithMetadata(t)}))}_onWireWithMetadata(t){let e=null;const r=()=>{this.destroyed||t.destroyed||(this._numQueued>2*(this._numConns-this.numPeers)&&t.amInterested?t.destroy():(e=setTimeout(r,Ar),e.unref&&e.unref()))};let i;const n=()=>{if(t.peerPieces.buffer.length===this.bitfield.buffer.length){for(i=0;i{n(),this._update(),this._updateWireInterest(t)})),t.on("have",(()=>{n(),this._update(),this._updateWireInterest(t)})),t.lt_donthave.on("donthave",(()=>{n(),this._update(),this._updateWireInterest(t)})),t.on("have-all",(()=>{t.isSeeder=!0,this.alwaysChokeSeeders&&t.choke(),this._update(),this._updateWireInterest(t)})),t.on("have-none",(()=>{t.isSeeder=!1,this._update(),this._updateWireInterest(t)})),t.on("allowed-fast",(t=>{this._update()})),t.once("interested",(()=>{t.unchoke()})),t.once("close",(()=>{clearTimeout(e)})),t.on("choke",(()=>{clearTimeout(e),e=setTimeout(r,Ar),e.unref&&e.unref()})),t.on("unchoke",(()=>{clearTimeout(e),this._update()})),t.on("request",((e,r,i,n)=>{if(i>131072)return t.destroy();this.pieces[e]||this.store.get(e,{offset:r,length:i},n)})),t.hasFast&&this._hasAllPieces()?t.haveAll():t.hasFast&&this._hasNoPieces()?t.haveNone():t.bitfield(this.bitfield),this._updateWireInterest(t),t.peerExtensions.dht&&this.client.dht&&this.client.dht.listening&&t.port(this.client.dht.address().port),"webSeed"!==t.type&&(e=setTimeout(r,Ar),e.unref&&e.unref()),t.isSeeder=!1,n()}_updateSelections(){this.ready&&!this.destroyed&&(w((()=>{this._gcSelections()})),this._updateInterest(),this._update())}_gcSelections(){for(const t of this._selections){const e=t.offset;for(;this.bitfield.get(t.from+t.offset)&&t.from+t.offsetthis._updateWireInterest(t))),t!==this._amInterested&&(this._amInterested?this.emit("interested"):this.emit("uninterested"))}_updateWireInterest(t){let e=!1;for(let r=0;rthis._updateWireWrapper()),{timeout:250}):this._updateWireWrapper()}_updateWireWrapper(){if(this.destroyed)return;const t=tr(this.wires);let e;for(;e=t();)this._updateWire(e)}_updateWire(t){if(t.destroyed)return!1;const e=this,r=Nr(t,.5);if(t.requests.length>=r)return;const i=Nr(t,1);if(t.peerChoking)t.hasFast&&t.peerAllowedFastSet.length>0&&!this._hasMorePieces(t.peerAllowedFastSet.length-1)&&function(){if(t.requests.length>=i)return!1;for(const r of t.peerAllowedFastSet){if(t.peerPieces.get(r)&&!e.bitfield.get(r))for(;e._request(t,r,!1)&&t.requests.length=i.from+i.offset;--s)if(t.peerPieces.get(s)&&e._request(t,s,!1))return}}();o(!1)||o(!0)}function n(e,r,i,n){return s=>s>=e&&s<=r&&!(s in i)&&t.peerPieces.get(s)&&(!n||n(s))}function s(t){let r=t;for(let i=t;i=i)return!0;const o=function(){const r=t.downloadSpeed()||1;if(r>Ir)return()=>!0;const i=Math.max(1,t.requests.length)*Qe.BLOCK_LENGTH/r;let n=10,s=0;return t=>{if(!n||e.bitfield.get(t))return!0;let o=e.pieces[t].missing;for(;s0))return n--,!1}return!0}}();for(let a=0;a({wire:t,random:Math.random()}))).sort(((t,e)=>{const r=t.wire,i=e.wire;return r.downloadSpeed()!==i.downloadSpeed()?r.downloadSpeed()-i.downloadSpeed():r.uploadSpeed()!==i.uploadSpeed()?r.uploadSpeed()-i.uploadSpeed():r.amChoking!==i.amChoking?r.amChoking?-1:1:t.random-e.random})).map((t=>t.wire));this._rechokeOptimisticTime<=0?this._rechokeOptimisticWire=null:this._rechokeOptimisticTime-=1;let e=0;for(;t.length>0&&e0){const e=t.filter((t=>t.peerInterested));if(e.length>0){const t=e[(r=e.length,Math.random()*r|0)];t.unchoke(),this._rechokeOptimisticWire=t,this._rechokeOptimisticTime=2}}var r;t.filter((t=>t!==this._rechokeOptimisticWire)).forEach((t=>t.choke()))}_hotswap(t,e){const r=t.downloadSpeed();if(r=Ir||(2*a>r||a>o||(n=e,o=a))}if(!n)return!1;for(s=0;s=o)return!1;const a=i.pieces[e];let h=s?a.reserveRemaining():a.reserve();if(-1===h&&r&&i._hotswap(t,e)&&(h=s?a.reserveRemaining():a.reserve()),-1===h)return!1;let u=i._reservations[e];u||(u=i._reservations[e]=[]);let f=u.indexOf(null);-1===f&&(f=u.length),u[f]=t;const l=a.chunkOffset(h),c=s?a.chunkLengthRemaining(h):a.chunkLength(h);function d(){w((()=>{i._update()}))}return t.request(e,l,c,(async function r(n,o){if(i.destroyed)return;if(!i.ready)return i.once("ready",(()=>{r(n,o)}));if(u[f]===t&&(u[f]=null),a!==i.pieces[e])return d();if(n)return i._debug("error getting piece %s (offset: %s length: %s) from %s: %s",e,l,c,`${t.remoteAddress}:${t.remotePort}`,n.message),s?a.cancelRemaining(h):a.cancel(h),void d();if(i._debug("got piece %s (offset: %s length: %s) from %s",e,l,c,`${t.remoteAddress}:${t.remotePort}`),!a.set(h,o,t))return d();const p=a.flush(),m=await(0,_.tW)(p,"hex");i.destroyed||(m===i._hashes[e]?(i._debug("piece verified %s",e),i.store.put(e,p,(t=>{t?i._destroy(t):(i.pieces[e]=null,i._markVerified(e),i.wires.forEach((t=>{t.have(e)})),i._checkDone(),d())}))):(i.pieces[e]=new Qe(a.length),i.emit("warning",new Error(`Piece ${e} failed verification`)),d()))})),!0}_checkDone(){if(this.destroyed)return;this.files.forEach((t=>{if(!t.done){for(let e=t._startPiece;e<=t._endPiece;++e)if(!this.bitfield.get(e))return;t.done=!0,t.emit("done"),this._debug(`file done: ${t.name}`)}}));const t=this.files.every((t=>t.done));return!this.done&&t?(this.done=!0,this._debug(`torrent done: ${this.infoHash}`),this.emit("done"),this.destroyed||this.discovery.complete()):this.done&&!t&&(this.done=!1,this.discovery.tracker?.start()),this._gcSelections(),t}async load(t,e){if(this.destroyed)throw new Error("torrent is destroyed");if(!this.ready)return this.once("ready",(()=>{this.load(t,e)}));Array.isArray(t)||(t=[t]),e||(e=jr);try{await $t(this.store,b(t),{chunkLength:this.pieceLength}),this._markAllVerified(),this._checkDone(),e(null)}catch(t){return e(t),t}}pause(){this.destroyed||(this._debug("pause"),this.paused=!0)}resume(){this.destroyed||(this._debug("resume"),this.paused=!1,this._drain())}_debug(){const t=[].slice.call(arguments);t[0]=`[${this.client?this.client._debugId:"No Client"}] [${this._debugId}] ${t[0]}`,xr(...t)}_drain(){if(this._debug("_drain numConns %s maxConns %s",this._numConns,this.client.maxConns),"function"!=typeof Pt.connect||this.destroyed||this.paused||this._numConns>=this.client.maxConns)return;this._debug("drain (%s queued, %s/%s peers)",this._numQueued,this.numPeers,this.client.maxConns);const t=this._queue.shift();if(!t)return;this._debug("%s connect attempt to %s",t.type,t.addr);const e=Dt(t.addr),r={host:e[0],port:e[1]};this.client.utp&&t.type===Ct.default.TYPE_UTP_OUTGOING?t.conn=Rt.connect(r.port,r.host):t.conn=Pt.connect(r);const i=t.conn;i.once("connect",(()=>{this.destroyed||t.onConnect()})),i.once("error",(e=>{t.destroy(e)})),t.startConnectTimeout(),i.on("close",(()=>{if(this.destroyed)return;if(t.retries>=Pr.length){if(this.client.utp){const e=this._addPeer(t.addr,"tcp",t.source);e&&(e.retries=0)}else this._debug("conn %s closed: will not re-add (max %s attempts)",t.addr,Pr.length);return}const e=Pr[t.retries];this._debug("conn %s closed: will re-add to queue in %sms (attempt %s)",t.addr,e,t.retries+1);const r=setTimeout((()=>{if(this.destroyed)return;const e=Dt(t.addr)[0],r=this.client.utp&&this._isIPv4(e)?"utp":"tcp",i=this._addPeer(t.addr,r,t.source);i&&(i.retries=t.retries+1)}),e);r.unref&&r.unref()}))}_validAddr(t){let e;try{e=Dt(t)}catch(t){return!1}const r=e[0],i=e[1];return i>0&&i<65535&&!("127.0.0.1"===r&&i===this.client.torrentPort)}_isIPv4(t){return/^((?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$/.test(t)}}function Nr(t,e){let r=2+Math.ceil(e*t.downloadSpeed()/Qe.BLOCK_LENGTH);if(t.peerExtendedHandshake){const e=t.peerExtendedHandshake.reqq;"number"==typeof e&&e>0&&(r=Math.min(r,e))}return r}function jr(){}var Ur=r(2195),qr=r(580),Dr=r(815),Hr=r(2878);class Fr{constructor(t,e={}){this.client=t,e.origin||(e.origin="*"),this.opts=e,this.pendingReady=new Set}static serveIndexPage(t,e,r){const i=e.map((t=>`
  • \n \n ${qr(t.name)}\n \n (${qr(t.length)} bytes)\n
  • `)).join("
    ");return t.status=200,t.headers["Content-Type"]="text/html",t.body=Wr("WebTorrent",`

    WebTorrent

    \n
      ${i}
    `),t}isOriginAllowed(t){return!1!==this.opts.origin&&("*"===this.opts.origin||t.headers.origin===this.opts.origin)}static serveMethodNotAllowed(t){return t.status=405,t.headers["Content-Type"]="text/html",t.body=Wr("405 - Method Not Allowed","

    405 - Method Not Allowed

    "),t}static serve404Page(t){return t.status=404,t.headers["Content-Type"]="text/html",t.body=Wr("404 - Not Found","

    404 - Not Found

    "),t}static serveTorrentPage(t,e,r){const i=t.files.map((e=>`
  • \n \n ${qr(e.path)}\n \n (${qr(e.length)} bytes)\n
  • `)).join("
    ");return e.status=200,e.headers["Content-Type"]="text/html",e.body=Wr(`${qr(t.name)} - WebTorrent`,`

    ${qr(t.name)}

    \n
      ${i}
    `),e}static serveOptionsRequest(t,e){return e.status=204,e.headers["Access-Control-Max-Age"]="600",e.headers["Access-Control-Allow-Methods"]="GET,HEAD",t.headers["access-control-request-headers"]&&(e.headers["Access-Control-Allow-Headers"]=t.headers["access-control-request-headers"]),e}static serveFile(t,e,r){r.status=200,r.headers.Expires="0",r.headers["Cache-Control"]="no-cache, no-store, must-revalidate, max-age=0",r.headers["Accept-Ranges"]="bytes",r.headers["Content-Type"]=t.type,r.headers["transferMode.dlna.org"]="Streaming",r.headers["contentFeatures.dlna.org"]="DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000","document"===e.destination?(r.headers["Content-Type"]="application/octet-stream",r.headers["Content-Disposition"]=`attachment; filename*=UTF-8''${Kr(t.name)}`,r.body="DOWNLOAD"):r.headers["Content-Disposition"]=`inline; filename*=UTF-8''${Kr(t.name)}`;let i=Hr(t.length,e.headers.range||"");if(Array.isArray(i)?(r.status=206,i=i[0],r.headers["Content-Range"]=`bytes ${i.start}-${i.end}/${t.length}`,r.headers["Content-Length"]=i.end-i.start+1):(r.statusCode=200,i=null,r.headers["Content-Length"]=t.length),"GET"===e.method){const n=t[Symbol.asyncIterator](i);let s=null;t.emit("iterator",{iterator:n,req:e,file:t},(t=>{s=t}));const o=wt.Readable.from(s||n);let a=null;t.emit("stream",{stream:o,req:e,file:t},(t=>{a=Dr(o,t)})),r.body=a||o}else r.body=!1;return r}async onRequest(t,e){let r=new URL(t.url,"http://example.com").pathname;r=r.slice(r.indexOf(this.pathname)+this.pathname.length+1);const i={headers:{"X-Content-Type-Options":"nosniff","Content-Security-Policy":"base-uri 'none'; frame-ancestors 'none'; form-action 'none';"}};if(this.isOriginAllowed(t)&&(i.headers["Access-Control-Allow-Origin"]="*"===this.opts.origin?"*":t.headers.origin),"favicon.ico"===r)return e(Fr.serve404Page(i));if("OPTIONS"===t.method)return this.isOriginAllowed(t)?e(Fr.serveOptionsRequest(t,i)):e(Fr.serveMethodNotAllowed(i));const n=async()=>{this.pendingReady.delete(n);const t=await s();e(t)},s=async()=>{if(""===r)return Fr.serveIndexPage(i,this.client.torrents,this.pathname);let[e,...n]=r.split("/");n=decodeURI(n.join("/"));const s=await this.client.get(e);if(!e||!s)return Fr.serve404Page(i);if(!n)return Fr.serveTorrentPage(s,i,this.pathname);const o=s.files.find((t=>t.path.replace(/\\/g,"/")===n));return o?Fr.serveFile(o,t,i):Fr.serve404Page(i)};if("GET"===t.method||"HEAD"===t.method){if(this.client.ready){const t=await s();return e(t)}return this.pendingReady.add(n),void this.client.once("ready",n)}return e(Fr.serveMethodNotAllowed(i))}close(t=()=>{}){this.closed=!0,this.pendingReady.forEach((t=>{this.client.removeListener("ready",t)})),this.pendingReady.clear(),w(t)}destroy(t=()=>{}){this.closed?w(t):this.close(t),this.client=null}}class zr extends Fr{constructor(t,e){super(t,e),this.server=Ur.createServer(),this._listen=this.server.listen,this.server.listen=this.listen.bind(this),this._close=this.server.close,this.server.close=this.close.bind(this),this.sockets=new Set,this.closed=!1,this.pathname=e?.pathname||"/webtorrent"}wrapRequest(t,e){return this.opts.hostname&&t.headers.host!==`${this.opts.hostname}:${this.server.address().port}`?t.destroy():new URL(t.url,"http://example.com").pathname.startsWith(this.pathname)?void this.onRequest(t,(({status:t,headers:r,body:i})=>{e.writeHead(t,r),i._readableState||i._writableState?Dr(i,e):e.end(i)})):t.destroy()}onConnection(t){t.setTimeout(36e6),this.sockets.add(t),t.once("close",(()=>{this.sockets.delete(t)}))}address(){return this.server.address()}listen(...t){return this.closed=!1,this.server.on("connection",this.onConnection.bind(this)),this.server.on("request",this.wrapRequest.bind(this)),this._listen.apply(this.server,t)}close(t=()=>{}){this.server.removeAllListeners("connection"),this.server.removeAllListeners("request"),this.server.removeAllListeners("listening"),super.close(),this._close.call(this.server,t)}destroy(t){this.sockets.forEach((t=>{t.destroy()})),super.destroy(t)}}class $r extends Fr{constructor(t,e){super(t,e),this.registration=e.controller,this.workerKeepAliveInterval=null,this.workerPortCount=0;const r=new URL(e.controller.scope);this.pathname=r.pathname+"webtorrent",this._address={port:r.port,family:"IPv4",address:r.hostname},this.boundHandler=this.wrapRequest.bind(this),navigator.serviceWorker.addEventListener("message",this.boundHandler),fetch(`${this.pathname}/cancel/`).then((t=>{t.body.cancel()}))}wrapRequest(t){const e=t.data;if("webtorrent"===!e?.type||!e.url)return null;const[r]=t.ports;this.onRequest(e,(({status:t,headers:e,body:i})=>{const n=i[Symbol.asyncIterator]?.(),s=()=>{r.onmessage=null,i?.destroy&&i.destroy(),this.workerPortCount--,this.workerPortCount||(clearInterval(this.workerKeepAliveInterval),this.workerKeepAliveInterval=null)};r.onmessage=async t=>{if(t.data){let t;try{t=(await n.next()).value}catch(t){}r.postMessage(t),t||s(),this.workerKeepAliveInterval||(this.workerKeepAliveInterval=setInterval((()=>fetch(`${this.pathname}/keepalive/`)),2e4))}else s()},this.workerPortCount++,r.postMessage({status:t,headers:e,body:n?"STREAM":i})}))}listen(t,e){e()}address(){return this._address}close(t){navigator.serviceWorker.removeEventListener("message",this.boundHandler),super.close(t)}destroy(t){super.destroy(t)}}function Wr(t,e){return`\n \n \n \n \n ${t}\n \n \n ${e}\n \n \n `}function Kr(t){return encodeURIComponent(t).replace(/['()]/g,escape).replace(/\*/g,"%2A").replace(/%(?:7C|60|5E)/g,unescape)}const Vr=N("webtorrent"),Zr=gr.replace(/\d*./g,(t=>("0"+t%100).slice(-2))).slice(0,4),Gr=`-WW${Zr}-`;class Yr extends s{constructor(t={}){super(),"string"==typeof t.peerId?this.peerId=t.peerId:ArrayBuffer.isView(t.peerId)?this.peerId=(0,_.V5)(t.peerId):this.peerId=(0,_.V5)((0,_.L0)(Gr+(0,_.NJ)((0,_.po)(9)))),this.peerIdBuffer=(0,_.fk)(this.peerId),"string"==typeof t.nodeId?this.nodeId=t.nodeId:ArrayBuffer.isView(t.nodeId)?this.nodeId=(0,_.V5)(t.nodeId):this.nodeId=(0,_.V5)((0,_.po)(20)),this.nodeIdBuffer=(0,_.fk)(this.nodeId),this._debugId=this.peerId.substring(0,7),this.destroyed=!1,this.listening=!1,this.torrentPort=t.torrentPort||0,this.dhtPort=t.dhtPort||0,this.tracker=void 0!==t.tracker?t.tracker:{},this.lsd=!1!==t.lsd,this.utPex=!1!==t.utPex,this.natUpnp=t.natUpnp??!0,this.natPmp=t.natPmp??!0,this.torrents=[],this.maxConns=Number(t.maxConns)||55,this.utp=Yr.UTP_SUPPORT&&!1!==t.utp,this.seedOutgoingConnections=t.seedOutgoingConnections??!0,this._downloadLimit=Math.max("number"==typeof t.downloadLimit?t.downloadLimit:-1,-1),this._uploadLimit=Math.max("number"==typeof t.uploadLimit?t.uploadLimit:-1,-1),(this.natUpnp||this.natPmp)&&"function"==typeof Tt&&(this.natTraversal=new Tt({enableUPNP:this.natUpnp,enablePMP:this.natPmp,upnpPermanentFallback:"permanent"===t.natUpnp})),!0===t.secure&&Promise.resolve().then(r.bind(r,5658)).then((({enableSecure:t})=>t())),this._debug("new webtorrent (peerId %s, nodeId %s, port %s)",this.peerId,this.nodeId,this.torrentPort),this.throttleGroups={down:new It.ThrottleGroup({rate:Math.max(this._downloadLimit,0),enabled:this._downloadLimit>=0}),up:new It.ThrottleGroup({rate:Math.max(this._uploadLimit,0),enabled:this._uploadLimit>=0})},this.tracker&&("object"!=typeof this.tracker&&(this.tracker={}),globalThis.WRTC&&!this.tracker.wrtc&&(this.tracker.wrtc=globalThis.WRTC)),"function"==typeof Bt?this._connPool=new Bt(this):w((()=>{this._onListening()})),this._downloadSpeed=At(),this._uploadSpeed=At(),!1!==t.dht&&"function"==typeof rt?(this.dht=new rt(Object.assign({},{nodeId:this.nodeId},t.dht)),this.dht.once("error",(t=>{this._destroy(t)})),this.dht.once("listening",(()=>{const t=this.dht.address();t&&(this.dhtPort=t.port,this.natTraversal&&this.natTraversal.map({publicPort:this.dhtPort,privatePort:this.dhtPort,protocol:"udp",description:"WebTorrent DHT"}).catch((t=>{Vr("error mapping DHT port via UPnP/PMP: %o",t)})))})),this.dht.setMaxListeners(0),this.dht.listen(this.dhtPort)):this.dht=!1,this.enableWebSeeds=!1!==t.webSeeds;const e=()=>{this.destroyed||(this.ready=!0,this.emit("ready"))};"function"==typeof it&&null!=t.blocklist?it(t.blocklist,{headers:{"user-agent":`WebTorrent/${gr} (https://webtorrent.io)`}},((t,r)=>{if(t)return console.error(`Failed to load blocklist: ${t.message}`);this.blocked=r,e()})):w(e)}createServer(t,e){if(this.destroyed)throw new Error("torrent is destroyed");if(this._server)throw new Error("server already created");if("undefined"!=typeof window&&"node"!==e||"browser"===e){if(!(t?.controller instanceof ServiceWorkerRegistration))throw new Error("Invalid worker registration");if("activated"!==t.controller.active.state)throw new Error("Worker isn't activated");return this._server=new $r(this,t),this._server}return this._server=new zr(this,t),this._server}get downloadSpeed(){return this._downloadSpeed()}get uploadSpeed(){return this._uploadSpeed()}get progress(){const t=this.torrents.filter((t=>1!==t.progress));return t.reduce(((t,e)=>t+e.downloaded),0)/(t.reduce(((t,e)=>t+(e.length||0)),0)||1)}get ratio(){return this.torrents.reduce(((t,e)=>t+e.uploaded),0)/(this.torrents.reduce(((t,e)=>t+e.received),0)||1)}async get(t){if(t instanceof Lr){if(this.torrents.includes(t))return t}else{const e=this.torrents;let r;try{r=await pt(t)}catch(t){}if(!r)return null;if(!r.infoHash)throw new Error("Invalid torrent identifier");for(const t of e)if(t.infoHash===r.infoHash)return t}return null}add(t,e={},r=()=>{}){if(this.destroyed)throw new Error("client is destroyed");"function"==typeof e&&([e,r]=[{},e]);const i=()=>{if(!this.destroyed)for(const t of this.torrents)if(t.infoHash===s.infoHash&&t!==s)return s._destroy(new Error(`Cannot add duplicate torrent ${s.infoHash}`)),void r(t)},n=()=>{this.destroyed||(r(s),this.emit("torrent",s))};this._debug("add"),e=e?Object.assign({},e):{};const s=new Lr(t,this,e);return this.torrents.push(s),s.once("_infoHash",i),s.once("ready",n),s.once("close",(function t(){s.removeListener("_infoHash",i),s.removeListener("ready",n),s.removeListener("close",t)})),this.emit("add",s),s}seed(t,e,r){if(this.destroyed)throw new Error("client is destroyed");"function"==typeof e&&([e,r]=[{},e]),this._debug("seed"),(e=e?Object.assign({},e):{}).skipVerify=!0;const i="string"==typeof t;i&&(e.path=function(t){if(o(t),0===t.length)return".";let e=t.charCodeAt(0);const r=47===e;let i=-1,n=!0;for(let r=t.length-1;r>=1;--r)if(e=t.charCodeAt(r),47===e){if(!n){i=r;break}}else n=!1;return-1===i?r?"/":".":r&&1===i?"//":t.slice(0,i)}(t)),e.createdBy||(e.createdBy=`WebTorrent/${Zr}`);const n=t=>{this._debug("on seed"),"function"==typeof r&&r(t),t.emit("seed"),this.emit("seed",t)},s=this.add(null,e,(t=>{const r=[r=>{if(i||e.preloadedStore)return r();t.load(a,r)}];this.dht&&r.push((e=>{t.once("dhtAnnounce",e)})),v(r,(e=>{if(!this.destroyed)return e?t._destroy(e):void n(t)}))}));let a;var h;return h=t,"undefined"!=typeof FileList&&h instanceof FileList?t=Array.from(t):Array.isArray(t)||(t=[t]),v(t.map((t=>async r=>{if(!e.preloadedStore&&function(t){return"object"==typeof t&&null!=t&&"function"==typeof t.pipe}(t)){const e=[];try{for await(const r of t)e.push(r)}catch(t){return r(t)}const i=(0,_.xW)(e);i.name=t.name,r(null,i)}else r(null,t)})),((t,i)=>{if(!this.destroyed)return t?s._destroy(t):void function(t,e,r){"function"==typeof e&&([e,r]=[r,e]),P(t,e=e?Object.assign({},e):{},r)}(i,e,((t,n)=>{if(!this.destroyed){if(t)return s._destroy(t);a=n.map((t=>t.getStream)),L(i,e,(async(t,e)=>{if(this.destroyed)return;if(t)return s._destroy(t);const i=await this.get(e);i?(console.warn("A torrent with the same id is already being seeded"),s._destroy(),"function"==typeof r&&r(i)):s._onTorrentId(e)}))}}))})),s}async remove(t,e,r){if("function"==typeof e)return this.remove(t,null,e);this._debug("remove");const i=await this.get(t);if(!i)throw new Error(`No torrent with id ${t}`);this._remove(i,e,r)}_remove(t,e,r){if(!t)return;if("function"==typeof e)return this._remove(t,null,e);const i=this.torrents.indexOf(t);-1!==i&&(this.torrents.splice(i,1),t.destroy(e,r),this.dht&&this.dht._tables.remove(t.infoHash),this.emit("remove",t))}address(){return this.listening?this._connPool?this._connPool.tcpServer.address():{address:"0.0.0.0",family:"IPv4",port:0}:null}throttleDownload(t){return t=Number(t),!(isNaN(t)||!isFinite(t)||t<-1)&&(this._downloadLimit=t,this._downloadLimit<0?this.throttleGroups.down.setEnabled(!1):(this.throttleGroups.down.setEnabled(!0),void this.throttleGroups.down.setRate(this._downloadLimit)))}throttleUpload(t){return t=Number(t),!(isNaN(t)||!isFinite(t)||t<-1)&&(this._uploadLimit=t,this._uploadLimit<0?this.throttleGroups.up.setEnabled(!1):(this.throttleGroups.up.setEnabled(!0),void this.throttleGroups.up.setRate(this._uploadLimit)))}destroy(t){if(this.destroyed)throw new Error("client already destroyed");this._destroy(null,t)}_destroy(t,e){this._debug("client destroy"),this.destroyed=!0;const r=this.torrents.map((t=>e=>{t.destroy(e)}));this._connPool&&r.push((t=>{this._connPool.destroy(t)})),this.dht&&r.push((t=>{this.dht.destroy(t)})),this._server&&r.push((t=>{this._server.destroy(t)})),this.natTraversal&&r.push((t=>{this.natTraversal.destroy().then((()=>t()))})),v(r,e),t&&this.emit("error",t),this.torrents=[],this._connPool=null,this.dht=null,this.throttleGroups.down.destroy(),this.throttleGroups.up.destroy()}_onListening(){if(this._debug("listening"),this.listening=!0,this._connPool){const t=this._connPool.tcpServer.address();t&&(this.torrentPort=t.port,this.natTraversal&&this.natTraversal.map({publicPort:this.torrentPort,privatePort:this.torrentPort,protocol:this.utp?null:"tcp",description:"WebTorrent Torrent"}).catch((t=>{Vr("error mapping WebTorrent port via UPnP/PMP: %o",t)})))}this.emit("listening")}_debug(){const t=[].slice.call(arguments);t[0]=`[${this._debugId}] ${t[0]}`,Vr(...t)}async _getByHash(t){for(const e of this.torrents)if(e.infoHashHash||(e.infoHashHash=await(0,_.tW)((0,_.fk)("72657132"+e.infoHash),"hex")),t===e.infoHashHash)return e;return null}}Yr.WEBRTC_SUPPORT=xt.WEBRTC_SUPPORT,Yr.UTP_SUPPORT=Bt.UTP_SUPPORT,Yr.VERSION=gr;var Jr=i.A;export{Jr as default}; +var t={20:(t,e,r)=>{var i=r(2861).Buffer,n=r(7108),s=r(96),o=r(6698),a=r(5359),h=r(4847),u=r(2951);function f(t){s.Writable.call(this);var e=u[t];if(!e)throw new Error("Unknown message digest");this._hashType=e.hash,this._hash=n(e.hash),this._tag=e.id,this._signType=e.sign}function l(t){s.Writable.call(this);var e=u[t];if(!e)throw new Error("Unknown message digest");this._hash=n(e.hash),this._tag=e.id,this._signType=e.sign}function c(t){return new f(t)}function d(t){return new l(t)}Object.keys(u).forEach((function(t){u[t].id=i.from(u[t].id,"hex"),u[t.toLowerCase()]=u[t]})),o(f,s.Writable),f.prototype._write=function(t,e,r){this._hash.update(t),r()},f.prototype.update=function(t,e){return this._hash.update("string"==typeof t?i.from(t,e):t),this},f.prototype.sign=function(t,e){this.end();var r=this._hash.digest(),i=a(r,t,this._hashType,this._signType,this._tag);return e?i.toString(e):i},o(l,s.Writable),l.prototype._write=function(t,e,r){this._hash.update(t),r()},l.prototype.update=function(t,e){return this._hash.update("string"==typeof t?i.from(t,e):t),this},l.prototype.verify=function(t,e,r){var n="string"==typeof e?i.from(e,r):e;this.end();var s=this._hash.digest();return h(n,s,t,this._signType,this._tag)},t.exports={Sign:c,Verify:d,createSign:c,createVerify:d}},76:t=>{t.exports=Function.prototype.call},82:(t,e,r)=>{var i=r(6698),n=r(8287).Buffer,s=r(7568),o=s.base,a=s.constants.der;function h(t){this.enc="der",this.name=t.name,this.entity=t,this.tree=new u,this.tree._init(t.body)}function u(t){o.Node.call(this,"der",t)}function f(t){return t<10?"0"+t:t}t.exports=h,h.prototype.encode=function(t,e){return this.tree._encode(t,e).join()},i(u,o.Node),u.prototype._encodeComposite=function(t,e,r,i){var s,o=function(t,e,r,i){var n;"seqof"===t?t="seq":"setof"===t&&(t="set");if(a.tagByName.hasOwnProperty(t))n=a.tagByName[t];else{if("number"!=typeof t||(0|t)!==t)return i.error("Unknown tag: "+t);n=t}if(n>=31)return i.error("Multi-octet tag encoding unsupported");e||(n|=32);return n|=a.tagClassByName[r||"universal"]<<6,n}(t,e,r,this.reporter);if(i.length<128)return(s=new n(2))[0]=o,s[1]=i.length,this._createEncoderBuffer([s,i]);for(var h=1,u=i.length;u>=256;u>>=8)h++;(s=new n(2+h))[0]=o,s[1]=128|h;u=1+h;for(var f=i.length;f>0;u--,f>>=8)s[u]=255&f;return this._createEncoderBuffer([s,i])},u.prototype._encodeStr=function(t,e){if("bitstr"===e)return this._createEncoderBuffer([0|t.unused,t.data]);if("bmpstr"===e){for(var r=new n(2*t.length),i=0;i=40)return this.reporter.error("Second objid identifier OOB");t.splice(0,2,40*t[0]+t[1])}var s=0;for(i=0;i=128;o>>=7)s++}var a=new n(s),h=a.length-1;for(i=t.length-1;i>=0;i--){o=t[i];for(a[h--]=127&o;(o>>=7)>0;)a[h--]=128|127&o}return this._createEncoderBuffer(a)},u.prototype._encodeTime=function(t,e){var r,i=new Date(t);return"gentime"===e?r=[f(i.getFullYear()),f(i.getUTCMonth()+1),f(i.getUTCDate()),f(i.getUTCHours()),f(i.getUTCMinutes()),f(i.getUTCSeconds()),"Z"].join(""):"utctime"===e?r=[f(i.getFullYear()%100),f(i.getUTCMonth()+1),f(i.getUTCDate()),f(i.getUTCHours()),f(i.getUTCMinutes()),f(i.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+e+" time is not supported yet"),this._encodeStr(r,"octstr")},u.prototype._encodeNull=function(){return this._createEncoderBuffer("")},u.prototype._encodeInt=function(t,e){if("string"==typeof t){if(!e)return this.reporter.error("String int or enum given, but no values map");if(!e.hasOwnProperty(t))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(t));t=e[t]}if("number"!=typeof t&&!n.isBuffer(t)){var r=t.toArray();!t.sign&&128&r[0]&&r.unshift(0),t=new n(r)}if(n.isBuffer(t)){var i=t.length;0===t.length&&i++;var s=new n(i);return t.copy(s),0===t.length&&(s[0]=0),this._createEncoderBuffer(s)}if(t<128)return this._createEncoderBuffer(t);if(t<256)return this._createEncoderBuffer([0,t]);i=1;for(var o=t;o>=256;o>>=8)i++;for(o=(s=new Array(i)).length-1;o>=0;o--)s[o]=255&t,t>>=8;return 128&s[0]&&s.unshift(0),this._createEncoderBuffer(new n(s))},u.prototype._encodeBool=function(t){return this._createEncoderBuffer(t?255:0)},u.prototype._use=function(t,e){return"function"==typeof t&&(t=t(e)),t._getEncoder("der").tree},u.prototype._skipDefault=function(t,e,r){var i,n=this._baseState;if(null===n.default)return!1;var s=t.join();if(void 0===n.defaultBuffer&&(n.defaultBuffer=this._encodeValue(n.default,e,r).join()),s.length!==n.defaultBuffer.length)return!1;for(i=0;i{var i=r(717),n=r(8310);"disable"===i.env.READABLE_STREAM&&n?(t.exports=n,(e=t.exports=n.Readable).Readable=n.Readable,e.Writable=n.Writable,e.Duplex=n.Duplex,e.Transform=n.Transform,e.PassThrough=n.PassThrough,e.Stream=n):((e=t.exports=r(206)).Stream=n||e,e.Readable=e,e.Writable=r(7314),e.Duplex=r(6248),e.Transform=r(1816),e.PassThrough=r(5242))},113:t=>{const e={};function r(t,r,i){i||(i=Error);class n extends i{constructor(t,e,i){super(function(t,e,i){return"string"==typeof r?r:r(t,e,i)}(t,e,i))}}n.prototype.name=i.name,n.prototype.code=t,e[t]=n}function i(t,e){if(Array.isArray(t)){const r=t.length;return t=t.map((t=>String(t))),r>2?`one of ${e} ${t.slice(0,r-1).join(", ")}, or `+t[r-1]:2===r?`one of ${e} ${t[0]} or ${t[1]}`:`of ${e} ${t[0]}`}return`of ${e} ${String(t)}`}r("ERR_INVALID_OPT_VALUE",(function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),r("ERR_INVALID_ARG_TYPE",(function(t,e,r){let n;var s,o;let a;if("string"==typeof e&&(s="not ",e.substr(!o||o<0?0:+o,s.length)===s)?(n="must not be",e=e.replace(/^not /,"")):n="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}(t," argument"))a=`The ${t} ${n} ${i(e,"type")}`;else{const r=function(t,e,r){return"number"!=typeof r&&(r=0),!(r+e.length>t.length)&&-1!==t.indexOf(e,r)}(t,".")?"property":"argument";a=`The "${t}" ${r} ${n} ${i(e,"type")}`}return a+=". Received type "+typeof r,a}),TypeError),r("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),r("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return"The "+t+" method is not implemented"})),r("ERR_STREAM_PREMATURE_CLOSE","Premature close"),r("ERR_STREAM_DESTROYED",(function(t){return"Cannot call "+t+" after a stream was destroyed"})),r("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),r("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),r("ERR_STREAM_WRITE_AFTER_END","write after end"),r("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),r("ERR_UNKNOWN_ENCODING",(function(t){return"Unknown encoding: "+t}),TypeError),r("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.F=e},125:(t,e,r)=>{var i=r(4050),n=r(1241),s=r(530),o=r(2438),a=r(8078);function h(t,e,r){if(t=t.toLowerCase(),s[t])return n.createCipheriv(t,e,r);if(o[t])return new i({key:e,iv:r,mode:t});throw new TypeError("invalid suite type")}function u(t,e,r){if(t=t.toLowerCase(),s[t])return n.createDecipheriv(t,e,r);if(o[t])return new i({key:e,iv:r,mode:t,decrypt:!0});throw new TypeError("invalid suite type")}e.createCipher=e.Cipher=function(t,e){var r,i;if(t=t.toLowerCase(),s[t])r=s[t].key,i=s[t].iv;else{if(!o[t])throw new TypeError("invalid suite type");r=8*o[t].key,i=o[t].iv}var n=a(e,!1,r,i);return h(t,n.key,n.iv)},e.createCipheriv=e.Cipheriv=h,e.createDecipher=e.Decipher=function(t,e){var r,i;if(t=t.toLowerCase(),s[t])r=s[t].key,i=s[t].iv;else{if(!o[t])throw new TypeError("invalid suite type");r=8*o[t].key,i=o[t].iv}var n=a(e,!1,r,i);return u(t,n.key,n.iv)},e.createDecipheriv=e.Decipheriv=u,e.listCiphers=e.getCiphers=function(){return Object.keys(o).concat(n.getCiphers())}},206:(t,e,r)=>{var i=r(717),n=r(3225);t.exports=v;var s,o=r(2240);v.ReadableState=b;r(7007).EventEmitter;var a=function(t,e){return t.listeners(e).length},h=r(1862),u=r(4116).Buffer,f=("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){};var l=Object.create(r(5622));l.inherits=r(6698);var c=r(537),d=void 0;d=c&&c.debuglog?c.debuglog("stream"):function(){};var p,m=r(672),g=r(6278);l.inherits(v,h);var y=["error","close","destroy","pause","resume"];function b(t,e){t=t||{};var i=e instanceof(s=s||r(6248));this.objectMode=!!t.objectMode,i&&(this.objectMode=this.objectMode||!!t.readableObjectMode);var n=t.highWaterMark,o=t.readableHighWaterMark,a=this.objectMode?16:16384;this.highWaterMark=n||0===n?n:i&&(o||0===o)?o:a,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new m,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(p||(p=r(6427).I),this.decoder=new p(t.encoding),this.encoding=t.encoding)}function v(t){if(s=s||r(6248),!(this instanceof v))return new v(t);this._readableState=new b(t,this),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),h.call(this)}function w(t,e,r,i,n){var s,o=t._readableState;null===e?(o.reading=!1,function(t,e){if(e.ended)return;if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,k(t)}(t,o)):(n||(s=function(t,e){var r;i=e,u.isBuffer(i)||i instanceof f||"string"==typeof e||void 0===e||t.objectMode||(r=new TypeError("Invalid non-string/buffer chunk"));var i;return r}(o,e)),s?t.emit("error",s):o.objectMode||e&&e.length>0?("string"==typeof e||o.objectMode||Object.getPrototypeOf(e)===u.prototype||(e=function(t){return u.from(t)}(e)),i?o.endEmitted?t.emit("error",new Error("stream.unshift() after end event")):_(t,o,e,!0):o.ended?t.emit("error",new Error("stream.push() after EOF")):(o.reading=!1,o.decoder&&!r?(e=o.decoder.write(e),o.objectMode||0!==e.length?_(t,o,e,!1):x(t,o)):_(t,o,e,!1))):i||(o.reading=!1));return function(t){return!t.ended&&(t.needReadable||t.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=M?t=M:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function k(t){var e=t._readableState;e.needReadable=!1,e.emittedReadable||(d("emitReadable",e.flowing),e.emittedReadable=!0,e.sync?n.nextTick(E,t):E(t))}function E(t){d("emit readable"),t.emit("readable"),P(t)}function x(t,e){e.readingMore||(e.readingMore=!0,n.nextTick(A,t,e))}function A(t,e){for(var r=e.length;!e.reading&&!e.flowing&&!e.ended&&e.length=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.head.data:e.buffer.concat(e.length),e.buffer.clear()):r=function(t,e,r){var i;ts.length?s.length:t;if(o===s.length?n+=s:n+=s.slice(0,t),0===(t-=o)){o===s.length?(++i,r.next?e.head=r.next:e.head=e.tail=null):(e.head=r,r.data=s.slice(o));break}++i}return e.length-=i,n}(t,e):function(t,e){var r=u.allocUnsafe(t),i=e.head,n=1;i.data.copy(r),t-=i.data.length;for(;i=i.next;){var s=i.data,o=t>s.length?s.length:t;if(s.copy(r,r.length-t,0,o),0===(t-=o)){o===s.length?(++n,i.next?e.head=i.next:e.head=e.tail=null):(e.head=i,i.data=s.slice(o));break}++n}return e.length-=n,r}(t,e);return i}(t,e.buffer,e.decoder),r);var r}function R(t){var e=t._readableState;if(e.length>0)throw new Error('"endReadable()" called on non-empty stream');e.endEmitted||(e.ended=!0,n.nextTick(O,e,t))}function O(t,e){t.endEmitted||0!==t.length||(t.endEmitted=!0,e.readable=!1,e.emit("end"))}function B(t,e){for(var r=0,i=t.length;r=e.highWaterMark||e.ended))return d("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?R(this):k(this),null;if(0===(t=S(t,e))&&e.ended)return 0===e.length&&R(this),null;var i,n=e.needReadable;return d("need readable",n),(0===e.length||e.length-t0?C(t,e):null)?(e.needReadable=!0,t=0):e.length-=t,0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&R(this)),null!==i&&this.emit("data",i),i},v.prototype._read=function(t){this.emit("error",new Error("_read() is not implemented"))},v.prototype.pipe=function(t,e){var r=this,s=this._readableState;switch(s.pipesCount){case 0:s.pipes=t;break;case 1:s.pipes=[s.pipes,t];break;default:s.pipes.push(t)}s.pipesCount+=1,d("pipe count=%d opts=%j",s.pipesCount,e);var h=(!e||!1!==e.end)&&t!==i.stdout&&t!==i.stderr?f:v;function u(e,i){d("onunpipe"),e===r&&i&&!1===i.hasUnpiped&&(i.hasUnpiped=!0,d("cleanup"),t.removeListener("close",y),t.removeListener("finish",b),t.removeListener("drain",l),t.removeListener("error",g),t.removeListener("unpipe",u),r.removeListener("end",f),r.removeListener("end",v),r.removeListener("data",m),c=!0,!s.awaitDrain||t._writableState&&!t._writableState.needDrain||l())}function f(){d("onend"),t.end()}s.endEmitted?n.nextTick(h):r.once("end",h),t.on("unpipe",u);var l=function(t){return function(){var e=t._readableState;d("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&a(t,"data")&&(e.flowing=!0,P(t))}}(r);t.on("drain",l);var c=!1;var p=!1;function m(e){d("ondata"),p=!1,!1!==t.write(e)||p||((1===s.pipesCount&&s.pipes===t||s.pipesCount>1&&-1!==B(s.pipes,t))&&!c&&(d("false write response, pause",s.awaitDrain),s.awaitDrain++,p=!0),r.pause())}function g(e){d("onerror",e),v(),t.removeListener("error",g),0===a(t,"error")&&t.emit("error",e)}function y(){t.removeListener("finish",b),v()}function b(){d("onfinish"),t.removeListener("close",y),v()}function v(){d("unpipe"),r.unpipe(t)}return r.on("data",m),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?o(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,"error",g),t.once("close",y),t.once("finish",b),t.emit("pipe",r),s.flowing||(d("pipe resume"),r.resume()),t},v.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s{var i=r(8490),n=r(7011),s=n.assert,o=n.cachedProperty,a=n.parseBytes;function h(t,e){this.eddsa=t,"object"!=typeof e&&(e=a(e)),Array.isArray(e)&&(s(e.length===2*t.encodingLength,"Signature has invalid size"),e={R:e.slice(0,t.encodingLength),S:e.slice(t.encodingLength)}),s(e.R&&e.S,"Signature without R or S"),t.isPoint(e.R)&&(this._R=e.R),e.S instanceof i&&(this._S=e.S),this._Rencoded=Array.isArray(e.R)?e.R:e.Rencoded,this._Sencoded=Array.isArray(e.S)?e.S:e.Sencoded}o(h,"S",(function(){return this.eddsa.decodeInt(this.Sencoded())})),o(h,"R",(function(){return this.eddsa.decodePoint(this.Rencoded())})),o(h,"Rencoded",(function(){return this.eddsa.encodePoint(this.R())})),o(h,"Sencoded",(function(){return this.eddsa.encodeInt(this.S())})),h.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},h.prototype.toHex=function(){return n.encode(this.toBytes(),"hex").toUpperCase()},t.exports=h},251:(t,e)=>{e.read=function(t,e,r,i,n){var s,o,a=8*n-i-1,h=(1<>1,f=-7,l=r?n-1:0,c=r?-1:1,d=t[e+l];for(l+=c,s=d&(1<<-f)-1,d>>=-f,f+=a;f>0;s=256*s+t[e+l],l+=c,f-=8);for(o=s&(1<<-f)-1,s>>=-f,f+=i;f>0;o=256*o+t[e+l],l+=c,f-=8);if(0===s)s=1-u;else{if(s===h)return o?NaN:1/0*(d?-1:1);o+=Math.pow(2,i),s-=u}return(d?-1:1)*o*Math.pow(2,s-i)},e.write=function(t,e,r,i,n,s){var o,a,h,u=8*s-n-1,f=(1<>1,c=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,d=i?0:s-1,p=i?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=f):(o=Math.floor(Math.log(e)/Math.LN2),e*(h=Math.pow(2,-o))<1&&(o--,h*=2),(e+=o+l>=1?c/h:c*Math.pow(2,1-l))*h>=2&&(o++,h/=2),o+l>=f?(a=0,o=f):o+l>=1?(a=(e*h-1)*Math.pow(2,n),o+=l):(a=e*Math.pow(2,l-1)*Math.pow(2,n),o=0));n>=8;t[r+d]=255&a,d+=p,a/=256,n-=8);for(o=o<0;t[r+d]=255&o,d+=p,o/=256,u-=8);t[r+d-p]|=128*m}},295:(t,e,r)=>{var i=r(8287).Buffer;t.exports=function(t,e){for(var r=Math.min(t.length,e.length),n=new i(r),s=0;s{var i=r(8276);t.exports=function(t){return(new i).update(t).digest()}},345:(t,e,r)=>{function i(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,i)}return r}function n(t){for(var e=1;e0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r}},{key:"concat",value:function(t){if(0===this.length)return h.alloc(0);for(var e,r,i,n=h.allocUnsafe(t>>>0),s=this.head,o=0;s;)e=s.data,r=n,i=o,h.prototype.copy.call(e,r,i),o+=s.data.length,s=s.next;return n}},{key:"consume",value:function(t,e){var r;return tn.length?n.length:t;if(s===n.length?i+=n:i+=n.slice(0,t),0==(t-=s)){s===n.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=n.slice(s));break}++r}return this.length-=r,i}},{key:"_getBuffer",value:function(t){var e=h.allocUnsafe(t),r=this.head,i=1;for(r.data.copy(e),t-=r.data.length;r=r.next;){var n=r.data,s=t>n.length?n.length:t;if(n.copy(e,e.length-t,0,s),0==(t-=s)){s===n.length?(++i,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=n.slice(s));break}++i}return this.length-=i,e}},{key:f,value:function(t,e){return u(this,n(n({},e),{},{depth:0,customInspect:!1}))}}])&&o(e.prototype,r),i&&o(e,i),Object.defineProperty(e,"prototype",{writable:!1}),t}()},370:(t,e,r)=>{var i=r(8490),n=r(6698),s=r(6677),o=r(7011);function a(t){s.call(this,"mont",t),this.a=new i(t.a,16).toRed(this.red),this.b=new i(t.b,16).toRed(this.red),this.i4=new i(4).toRed(this.red).redInvm(),this.two=new i(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function h(t,e,r){s.BasePoint.call(this,t,"projective"),null===e&&null===r?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new i(e,16),this.z=new i(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}n(a,s),t.exports=a,a.prototype.validate=function(t){var e=t.normalize().x,r=e.redSqr(),i=r.redMul(e).redAdd(r.redMul(this.a)).redAdd(e);return 0===i.redSqrt().redSqr().cmp(i)},n(h,s.BasePoint),a.prototype.decodePoint=function(t,e){return this.point(o.toArray(t,e),1)},a.prototype.point=function(t,e){return new h(this,t,e)},a.prototype.pointFromJSON=function(t){return h.fromJSON(this,t)},h.prototype.precompute=function(){},h.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},h.fromJSON=function(t,e){return new h(t,e[0],e[1]||t.one)},h.prototype.inspect=function(){return this.isInfinity()?"":""},h.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},h.prototype.dbl=function(){var t=this.x.redAdd(this.z).redSqr(),e=this.x.redSub(this.z).redSqr(),r=t.redSub(e),i=t.redMul(e),n=r.redMul(e.redAdd(this.curve.a24.redMul(r)));return this.curve.point(i,n)},h.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},h.prototype.diffAdd=function(t,e){var r=this.x.redAdd(this.z),i=this.x.redSub(this.z),n=t.x.redAdd(t.z),s=t.x.redSub(t.z).redMul(r),o=n.redMul(i),a=e.z.redMul(s.redAdd(o).redSqr()),h=e.x.redMul(s.redISub(o).redSqr());return this.curve.point(a,h)},h.prototype.mul=function(t){for(var e=t.clone(),r=this,i=this.curve.point(null,null),n=[];0!==e.cmpn(0);e.iushrn(1))n.push(e.andln(1));for(var s=n.length-1;s>=0;s--)0===n[s]?(r=r.diffAdd(i,this),i=i.dbl()):(i=r.diffAdd(i,this),r=r.dbl());return i},h.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},h.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},h.prototype.eq=function(t){return 0===this.getX().cmp(t.getX())},h.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},h.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},392:(t,e,r)=>{var i=r(2861).Buffer;function n(t,e){this._block=i.alloc(t),this._finalSize=e,this._blockSize=t,this._len=0}n.prototype.update=function(t,e){"string"==typeof t&&(e=e||"utf8",t=i.from(t,e));for(var r=this._block,n=this._blockSize,s=t.length,o=this._len,a=0;a=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=8*this._len;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var i=(4294967295&r)>>>0,n=(r-i)/4294967296;this._block.writeUInt32BE(n,this._blockSize-8),this._block.writeUInt32BE(i,this._blockSize-4)}this._update(this._block);var s=this._hash();return t?s.toString(t):s},n.prototype._update=function(){throw new Error("_update must be implemented by subclass")},t.exports=n},405:t=>{t.exports=async function*(t){for(let e of t)"function"==typeof e&&(e=e()),yield*e}},414:t=>{t.exports=Math.round},453:(t,e,r)=>{var i,n=r(9612),s=r(9383),o=r(1237),a=r(9290),h=r(9538),u=r(8068),f=r(9675),l=r(5345),c=r(9133),d=r(8968),p=r(6188),m=r(8002),g=r(5880),y=r(414),b=r(3093),v=Function,w=function(t){try{return v('"use strict"; return ('+t+").constructor;")()}catch(t){}},_=r(5795),M=r(655),S=function(){throw new f},k=_?function(){try{return S}catch(t){try{return _(arguments,"callee").get}catch(t){return S}}}():S,E=r(4039)(),x=r(3628),A=r(1064),I=r(8648),T=r(1002),P=r(76),C={},R="undefined"!=typeof Uint8Array&&x?x(Uint8Array):i,O={__proto__:null,"%AggregateError%":"undefined"==typeof AggregateError?i:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?i:ArrayBuffer,"%ArrayIteratorPrototype%":E&&x?x([][Symbol.iterator]()):i,"%AsyncFromSyncIteratorPrototype%":i,"%AsyncFunction%":C,"%AsyncGenerator%":C,"%AsyncGeneratorFunction%":C,"%AsyncIteratorPrototype%":C,"%Atomics%":"undefined"==typeof Atomics?i:Atomics,"%BigInt%":"undefined"==typeof BigInt?i:BigInt,"%BigInt64Array%":"undefined"==typeof BigInt64Array?i:BigInt64Array,"%BigUint64Array%":"undefined"==typeof BigUint64Array?i:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?i:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":s,"%eval%":eval,"%EvalError%":o,"%Float16Array%":"undefined"==typeof Float16Array?i:Float16Array,"%Float32Array%":"undefined"==typeof Float32Array?i:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?i:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?i:FinalizationRegistry,"%Function%":v,"%GeneratorFunction%":C,"%Int8Array%":"undefined"==typeof Int8Array?i:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?i:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?i:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":E&&x?x(x([][Symbol.iterator]())):i,"%JSON%":"object"==typeof JSON?JSON:i,"%Map%":"undefined"==typeof Map?i:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&E&&x?x((new Map)[Symbol.iterator]()):i,"%Math%":Math,"%Number%":Number,"%Object%":n,"%Object.getOwnPropertyDescriptor%":_,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?i:Promise,"%Proxy%":"undefined"==typeof Proxy?i:Proxy,"%RangeError%":a,"%ReferenceError%":h,"%Reflect%":"undefined"==typeof Reflect?i:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?i:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&E&&x?x((new Set)[Symbol.iterator]()):i,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?i:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":E&&x?x(""[Symbol.iterator]()):i,"%Symbol%":E?Symbol:i,"%SyntaxError%":u,"%ThrowTypeError%":k,"%TypedArray%":R,"%TypeError%":f,"%Uint8Array%":"undefined"==typeof Uint8Array?i:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?i:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?i:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?i:Uint32Array,"%URIError%":l,"%WeakMap%":"undefined"==typeof WeakMap?i:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?i:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?i:WeakSet,"%Function.prototype.call%":P,"%Function.prototype.apply%":T,"%Object.defineProperty%":M,"%Object.getPrototypeOf%":A,"%Math.abs%":c,"%Math.floor%":d,"%Math.max%":p,"%Math.min%":m,"%Math.pow%":g,"%Math.round%":y,"%Math.sign%":b,"%Reflect.getPrototypeOf%":I};if(x)try{null.error}catch(t){var B=x(x(t));O["%Error.prototype%"]=B}var L=function t(e){var r;if("%AsyncFunction%"===e)r=w("async function () {}");else if("%GeneratorFunction%"===e)r=w("function* () {}");else if("%AsyncGeneratorFunction%"===e)r=w("async function* () {}");else if("%AsyncGenerator%"===e){var i=t("%AsyncGeneratorFunction%");i&&(r=i.prototype)}else if("%AsyncIteratorPrototype%"===e){var n=t("%AsyncGenerator%");n&&x&&(r=x(n.prototype))}return O[e]=r,r},N={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},j=r(6743),U=r(9957),q=j.call(P,Array.prototype.concat),D=j.call(T,Array.prototype.splice),H=j.call(P,String.prototype.replace),F=j.call(P,String.prototype.slice),z=j.call(P,RegExp.prototype.exec),$=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,W=/\\(\\)?/g,K=function(t,e){var r,i=t;if(U(N,i)&&(i="%"+(r=N[i])[0]+"%"),U(O,i)){var n=O[i];if(n===C&&(n=L(i)),void 0===n&&!e)throw new f("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:r,name:i,value:n}}throw new u("intrinsic "+t+" does not exist!")};t.exports=function(t,e){if("string"!=typeof t||0===t.length)throw new f("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof e)throw new f('"allowMissing" argument must be a boolean');if(null===z(/^%?[^%]*%?$/,t))throw new u("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=function(t){var e=F(t,0,1),r=F(t,-1);if("%"===e&&"%"!==r)throw new u("invalid intrinsic syntax, expected closing `%`");if("%"===r&&"%"!==e)throw new u("invalid intrinsic syntax, expected opening `%`");var i=[];return H(t,$,(function(t,e,r,n){i[i.length]=r?H(n,W,"$1"):e||t})),i}(t),i=r.length>0?r[0]:"",n=K("%"+i+"%",e),s=n.name,o=n.value,a=!1,h=n.alias;h&&(i=h[0],D(r,q([0,1],h)));for(var l=1,c=!0;l=r.length){var g=_(o,d);o=(c=!!g)&&"get"in g&&!("originalValue"in g.get)?g.get:o[d]}else c=U(o,d),o=o[d];c&&!a&&(O[s]=o)}}return o}},462:(t,e,r)=>{var i=r(2861).Buffer;function n(t){i.isBuffer(t)||(t=i.from(t));for(var e=t.length/4|0,r=new Array(e),n=0;n>>24]^f[p>>>16&255]^l[m>>>8&255]^c[255&g]^e[y++],o=u[p>>>24]^f[m>>>16&255]^l[g>>>8&255]^c[255&d]^e[y++],a=u[m>>>24]^f[g>>>16&255]^l[d>>>8&255]^c[255&p]^e[y++],h=u[g>>>24]^f[d>>>16&255]^l[p>>>8&255]^c[255&m]^e[y++],d=s,p=o,m=a,g=h;return s=(i[d>>>24]<<24|i[p>>>16&255]<<16|i[m>>>8&255]<<8|i[255&g])^e[y++],o=(i[p>>>24]<<24|i[m>>>16&255]<<16|i[g>>>8&255]<<8|i[255&d])^e[y++],a=(i[m>>>24]<<24|i[g>>>16&255]<<16|i[d>>>8&255]<<8|i[255&p])^e[y++],h=(i[g>>>24]<<24|i[d>>>16&255]<<16|i[p>>>8&255]<<8|i[255&m])^e[y++],[s>>>=0,o>>>=0,a>>>=0,h>>>=0]}var a=[0,1,2,4,8,16,32,64,128,27,54],h=function(){for(var t=new Array(256),e=0;e<256;e++)t[e]=e<128?e<<1:e<<1^283;for(var r=[],i=[],n=[[],[],[],[]],s=[[],[],[],[]],o=0,a=0,h=0;h<256;++h){var u=a^a<<1^a<<2^a<<3^a<<4;u=u>>>8^255&u^99,r[o]=u,i[u]=o;var f=t[o],l=t[f],c=t[l],d=257*t[u]^16843008*u;n[0][o]=d<<24|d>>>8,n[1][o]=d<<16|d>>>16,n[2][o]=d<<8|d>>>24,n[3][o]=d,d=16843009*c^65537*l^257*f^16843008*o,s[0][u]=d<<24|d>>>8,s[1][u]=d<<16|d>>>16,s[2][u]=d<<8|d>>>24,s[3][u]=d,0===o?o=a=1:(o=f^t[t[t[c^f]]],a^=t[t[a]])}return{SBOX:r,INV_SBOX:i,SUB_MIX:n,INV_SUB_MIX:s}}();function u(t){this._key=n(t),this._reset()}u.blockSize=16,u.keySize=32,u.prototype.blockSize=u.blockSize,u.prototype.keySize=u.keySize,u.prototype._reset=function(){for(var t=this._key,e=t.length,r=e+6,i=4*(r+1),n=[],s=0;s>>24,o=h.SBOX[o>>>24]<<24|h.SBOX[o>>>16&255]<<16|h.SBOX[o>>>8&255]<<8|h.SBOX[255&o],o^=a[s/e|0]<<24):e>6&&s%e==4&&(o=h.SBOX[o>>>24]<<24|h.SBOX[o>>>16&255]<<16|h.SBOX[o>>>8&255]<<8|h.SBOX[255&o]),n[s]=n[s-e]^o}for(var u=[],f=0;f>>24]]^h.INV_SUB_MIX[1][h.SBOX[c>>>16&255]]^h.INV_SUB_MIX[2][h.SBOX[c>>>8&255]]^h.INV_SUB_MIX[3][h.SBOX[255&c]]}this._nRounds=r,this._keySchedule=n,this._invKeySchedule=u},u.prototype.encryptBlockRaw=function(t){return o(t=n(t),this._keySchedule,h.SUB_MIX,h.SBOX,this._nRounds)},u.prototype.encryptBlock=function(t){var e=this.encryptBlockRaw(t),r=i.allocUnsafe(16);return r.writeUInt32BE(e[0],0),r.writeUInt32BE(e[1],4),r.writeUInt32BE(e[2],8),r.writeUInt32BE(e[3],12),r},u.prototype.decryptBlock=function(t){var e=(t=n(t))[1];t[1]=t[3],t[3]=e;var r=o(t,this._invKeySchedule,h.INV_SUB_MIX,h.INV_SBOX,this._nRounds),s=i.allocUnsafe(16);return s.writeUInt32BE(r[0],0),s.writeUInt32BE(r[3],4),s.writeUInt32BE(r[2],8),s.writeUInt32BE(r[1],12),s},u.prototype.scrub=function(){s(this._keySchedule),s(this._invKeySchedule),s(this._key)},t.exports.AES=u},480:(t,e,r)=>{var i,n=e,s=r(7952),o=r(894),a=r(7011).assert;function h(t){"short"===t.type?this.curve=new o.short(t):"edwards"===t.type?this.curve=new o.edwards(t):this.curve=new o.mont(t),this.g=this.curve.g,this.n=this.curve.n,this.hash=t.hash,a(this.g.validate(),"Invalid curve"),a(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function u(t,e){Object.defineProperty(n,t,{configurable:!0,enumerable:!0,get:function(){var r=new h(e);return Object.defineProperty(n,t,{configurable:!0,enumerable:!0,value:r}),r}})}n.PresetCurve=h,u("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:s.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),u("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:s.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),u("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:s.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),u("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:s.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),u("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:s.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),u("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:s.sha256,gRed:!1,g:["9"]}),u("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:s.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{i=r(4011)}catch(t){i=void 0}u("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:s.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",i]})},507:(t,e,r)=>{var i=r(453),n=r(6556),s=r(8859),o=r(9675),a=i("%Map%",!0),h=n("Map.prototype.get",!0),u=n("Map.prototype.set",!0),f=n("Map.prototype.has",!0),l=n("Map.prototype.delete",!0),c=n("Map.prototype.size",!0);t.exports=!!a&&function(){var t,e={assert:function(t){if(!e.has(t))throw new o("Side channel does not contain "+s(t))},delete:function(e){if(t){var r=l(t,e);return 0===c(t)&&(t=void 0),r}return!1},get:function(e){if(t)return h(t,e)},has:function(e){return!!t&&f(t,e)},set:function(e,r){t||(t=new a),u(t,e,r)}};return e}},530:(t,e,r)=>{var i={ECB:r(2632),CBC:r(2884),CFB:r(6383),CFB8:r(6975),CFB1:r(5264),OFB:r(6843),CTR:r(3053),GCM:r(3053)},n=r(3219);for(var s in n)n[s].module=i[n[s].mode];t.exports=n},537:(t,e,r)=>{var i=r(717),n=/%[sdj%]/g;e.format=function(t){if(!y(t)){for(var e=[],r=0;r=s)return t;switch(t){case"%s":return String(i[r++]);case"%d":return Number(i[r++]);case"%j":try{return JSON.stringify(i[r++])}catch(t){return"[Circular]"}default:return t}})),h=i[r];r=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),p(r)?i.showHidden=r:r&&e._extend(i,r),b(i.showHidden)&&(i.showHidden=!1),b(i.depth)&&(i.depth=2),b(i.colors)&&(i.colors=!1),b(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=h),f(i,t,i.depth)}function h(t,e){var r=a.styles[e];return r?"["+a.colors[r][0]+"m"+t+"["+a.colors[r][1]+"m":t}function u(t,e){return t}function f(t,r,i){if(t.customInspect&&r&&S(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var n=r.inspect(i,t);return y(n)||(n=f(t,n,i)),n}var s=function(t,e){if(b(e))return t.stylize("undefined","undefined");if(y(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(g(e))return t.stylize(""+e,"number");if(p(e))return t.stylize(""+e,"boolean");if(m(e))return t.stylize("null","null")}(t,r);if(s)return s;var o=Object.keys(r),a=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(r)),M(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return l(r);if(0===o.length){if(S(r)){var h=r.name?": "+r.name:"";return t.stylize("[Function"+h+"]","special")}if(v(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(_(r))return t.stylize(Date.prototype.toString.call(r),"date");if(M(r))return l(r)}var u,w="",k=!1,E=["{","}"];(d(r)&&(k=!0,E=["[","]"]),S(r))&&(w=" [Function"+(r.name?": "+r.name:"")+"]");return v(r)&&(w=" "+RegExp.prototype.toString.call(r)),_(r)&&(w=" "+Date.prototype.toUTCString.call(r)),M(r)&&(w=" "+l(r)),0!==o.length||k&&0!=r.length?i<0?v(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),u=k?function(t,e,r,i,n){for(var s=[],o=0,a=e.length;o=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1}),0);if(i>60)return r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1];return r[0]+e+" "+t.join(", ")+" "+r[1]}(u,w,E)):E[0]+w+E[1]}function l(t){return"["+Error.prototype.toString.call(t)+"]"}function c(t,e,r,i,n,s){var o,a,h;if((h=Object.getOwnPropertyDescriptor(e,n)||{value:e[n]}).get?a=h.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):h.set&&(a=t.stylize("[Setter]","special")),A(i,n)||(o="["+n+"]"),a||(t.seen.indexOf(h.value)<0?(a=m(r)?f(t,h.value,null):f(t,h.value,r-1)).indexOf("\n")>-1&&(a=s?a.split("\n").map((function(t){return" "+t})).join("\n").substr(2):"\n"+a.split("\n").map((function(t){return" "+t})).join("\n")):a=t.stylize("[Circular]","special")),b(o)){if(s&&n.match(/^\d+$/))return a;(o=JSON.stringify(""+n)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+a}function d(t){return Array.isArray(t)}function p(t){return"boolean"==typeof t}function m(t){return null===t}function g(t){return"number"==typeof t}function y(t){return"string"==typeof t}function b(t){return void 0===t}function v(t){return w(t)&&"[object RegExp]"===k(t)}function w(t){return"object"==typeof t&&null!==t}function _(t){return w(t)&&"[object Date]"===k(t)}function M(t){return w(t)&&("[object Error]"===k(t)||t instanceof Error)}function S(t){return"function"==typeof t}function k(t){return Object.prototype.toString.call(t)}function E(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(t){if(b(s)&&(s=i.env.NODE_DEBUG||""),t=t.toUpperCase(),!o[t])if(new RegExp("\\b"+t+"\\b","i").test(s)){var r=i.pid;o[t]=function(){var i=e.format.apply(e,arguments);console.error("%s %d: %s",t,r,i)}}else o[t]=function(){};return o[t]},e.inspect=a,a.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},a.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=d,e.isBoolean=p,e.isNull=m,e.isNullOrUndefined=function(t){return null==t},e.isNumber=g,e.isString=y,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=b,e.isRegExp=v,e.isObject=w,e.isDate=_,e.isError=M,e.isFunction=S,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=r(2503);var x=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function A(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){var t,r;console.log("%s - %s",(t=new Date,r=[E(t.getHours()),E(t.getMinutes()),E(t.getSeconds())].join(":"),[t.getDate(),x[t.getMonth()],r].join(" ")),e.format.apply(e,arguments))},e.inherits=r(6622),e._extend=function(t,e){if(!e||!w(e))return t;for(var r=Object.keys(e),i=r.length;i--;)t[r[i]]=e[r[i]];return t}},580:t=>{var e=/["'&<>]/;t.exports=function(t){var r,i=""+t,n=e.exec(i);if(!n)return i;var s="",o=0,a=0;for(o=n.index;o=0;)n++;if("::"===t.substr(0,2)&&n--,"::"===t.substr(-2,2)&&n--,n>e)return null;for(i=e-n,r=":";i--;)r+="0:";return":"===(t=t.replace("::",r))[0]&&(t=t.slice(1)),":"===t[t.length-1]&&(t=t.slice(0,-1)),{parts:e=function(){const e=t.split(":"),r=[];for(let t=0;t0;){if(n=r-i,n<0&&(n=0),t[s]>>n!=e[s]>>n)return!1;i-=r,s+=1}return!0}function l(t){if(s.test(t))return parseInt(t,16);if("0"===t[0]&&!isNaN(parseInt(t[1],10))){if(n.test(t))return parseInt(t,8);throw new Error(`ipaddr: cannot parse ${t} as octal`)}return parseInt(t,10)}function c(t,e){for(;t.length=0;i-=1){if(n=this.octets[i],!(n in r))return null;if(s=r[n],e&&0!==s)return null;8!==s&&(e=!0),t+=s}return 32-t},t.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},t.prototype.toByteArray=function(){return this.octets.slice(0)},t.prototype.toIPv4MappedAddress=function(){return d.IPv6.parse(`::ffff:${this.toString()}`)},t.prototype.toNormalizedString=function(){return this.toString()},t.prototype.toString=function(){return this.octets.join(".")},t}(),d.IPv4.broadcastAddressFromCIDR=function(t){try{const e=this.parseCIDR(t),r=e[0].toByteArray(),i=this.subnetMaskFromPrefixLength(e[1]).toByteArray(),n=[];let s=0;for(;s<4;)n.push(parseInt(r[s],10)|255^parseInt(i[s],10)),s++;return new this(n)}catch(t){throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.isIPv4=function(t){return null!==this.parser(t)},d.IPv4.isValid=function(t){try{return new this(this.parser(t)),!0}catch(t){return!1}},d.IPv4.isValidCIDR=function(t){try{return this.parseCIDR(t),!0}catch(t){return!1}},d.IPv4.isValidFourPartDecimal=function(t){return!(!d.IPv4.isValid(t)||!t.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},d.IPv4.networkAddressFromCIDR=function(t){let e,r,i,n,s;try{for(e=this.parseCIDR(t),i=e[0].toByteArray(),s=this.subnetMaskFromPrefixLength(e[1]).toByteArray(),n=[],r=0;r<4;)n.push(parseInt(i[r],10)&parseInt(s[r],10)),r++;return new this(n)}catch(t){throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.parse=function(t){const e=this.parser(t);if(null===e)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(e)},d.IPv4.parseCIDR=function(t){let e;if(e=t.match(/^(.+)\/(\d+)$/)){const t=parseInt(e[2]);if(t>=0&&t<=32){const r=[this.parse(e[1]),t];return Object.defineProperty(r,"toString",{value:function(){return this.join("/")}}),r}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},d.IPv4.parser=function(t){let e,r,n;if(e=t.match(i.fourOctet))return function(){const t=e.slice(1,6),i=[];for(let e=0;e4294967295||n<0)throw new Error("ipaddr: address outside defined range");return function(){const t=[];let e;for(e=0;e<=24;e+=8)t.push(n>>e&255);return t}().reverse()}return(e=t.match(i.twoOctet))?function(){const t=e.slice(1,4),r=[];if(n=l(t[1]),n>16777215||n<0)throw new Error("ipaddr: address outside defined range");return r.push(l(t[0])),r.push(n>>16&255),r.push(n>>8&255),r.push(255&n),r}():(e=t.match(i.threeOctet))?function(){const t=e.slice(1,5),r=[];if(n=l(t[2]),n>65535||n<0)throw new Error("ipaddr: address outside defined range");return r.push(l(t[0])),r.push(l(t[1])),r.push(n>>8&255),r.push(255&n),r}():null},d.IPv4.subnetMaskFromPrefixLength=function(t){if((t=parseInt(t))<0||t>32)throw new Error("ipaddr: invalid IPv4 prefix length");const e=[0,0,0,0];let r=0;const i=Math.floor(t/8);for(;r=0;s-=1){if(i=this.parts[s],!(i in r))return null;if(n=r[i],e&&0!==n)return null;16!==n&&(e=!0),t+=n}return 128-t},t.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},t.prototype.toByteArray=function(){let t;const e=[],r=this.parts;for(let i=0;i>8),e.push(255&t);return e},t.prototype.toFixedLengthString=function(){const t=function(){const t=[];for(let e=0;e>8,255&e,r>>8,255&r])},t.prototype.toNormalizedString=function(){const t=function(){const t=[];for(let e=0;en&&(i=r.index,n=r[0].length);return n<0?e:`${e.substring(0,i)}::${e.substring(i+n)}`},t.prototype.toString=function(){return this.toRFC5952String()},t}(),d.IPv6.broadcastAddressFromCIDR=function(t){try{const e=this.parseCIDR(t),r=e[0].toByteArray(),i=this.subnetMaskFromPrefixLength(e[1]).toByteArray(),n=[];let s=0;for(;s<16;)n.push(parseInt(r[s],10)|255^parseInt(i[s],10)),s++;return new this(n)}catch(t){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${t})`)}},d.IPv6.isIPv6=function(t){return null!==this.parser(t)},d.IPv6.isValid=function(t){if("string"==typeof t&&-1===t.indexOf(":"))return!1;try{const e=this.parser(t);return new this(e.parts,e.zoneId),!0}catch(t){return!1}},d.IPv6.isValidCIDR=function(t){if("string"==typeof t&&-1===t.indexOf(":"))return!1;try{return this.parseCIDR(t),!0}catch(t){return!1}},d.IPv6.networkAddressFromCIDR=function(t){let e,r,i,n,s;try{for(e=this.parseCIDR(t),i=e[0].toByteArray(),s=this.subnetMaskFromPrefixLength(e[1]).toByteArray(),n=[],r=0;r<16;)n.push(parseInt(i[r],10)&parseInt(s[r],10)),r++;return new this(n)}catch(t){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${t})`)}},d.IPv6.parse=function(t){const e=this.parser(t);if(null===e.parts)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(e.parts,e.zoneId)},d.IPv6.parseCIDR=function(t){let e,r,i;if((r=t.match(/^(.+)\/(\d+)$/))&&(e=parseInt(r[2]),e>=0&&e<=128))return i=[this.parse(r[1]),e],Object.defineProperty(i,"toString",{value:function(){return this.join("/")}}),i;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},d.IPv6.parser=function(t){let e,r,i,n,s,o;if(i=t.match(h.deprecatedTransitional))return this.parser(`::ffff:${i[1]}`);if(h.native.test(t))return u(t,8);if((i=t.match(h.transitional))&&(o=i[6]||"",e=i[1],i[1].endsWith("::")||(e=e.slice(0,-1)),e=u(e+o,6),e.parts)){for(s=[parseInt(i[2]),parseInt(i[3]),parseInt(i[4]),parseInt(i[5])],r=0;r128)throw new Error("ipaddr: invalid IPv6 prefix length");const e=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];let r=0;const i=Math.floor(t/8);for(;r{var i=r(462),n=r(2861).Buffer,s=r(6168);function o(t,e,r,o){s.call(this),this._cipher=new i.AES(e),this._prev=n.from(r),this._cache=n.allocUnsafe(0),this._secCache=n.allocUnsafe(0),this._decrypt=o,this._mode=t}r(6698)(o,s),o.prototype._update=function(t){return this._mode.encrypt(this,t,this._decrypt)},o.prototype._final=function(){this._cipher.scrub()},t.exports=o},655:t=>{var e=Object.defineProperty||!1;if(e)try{e({},"a",{value:1})}catch(t){e=!1}t.exports=e},672:(t,e,r)=>{var i=r(4116).Buffer,n=r(537);t.exports=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.head=null,this.tail=null,this.length=0}return t.prototype.push=function(t){var e={data:t,next:null};this.length>0?this.tail.next=e:this.head=e,this.tail=e,++this.length},t.prototype.unshift=function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length},t.prototype.shift=function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}},t.prototype.clear=function(){this.head=this.tail=null,this.length=0},t.prototype.join=function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r},t.prototype.concat=function(t){if(0===this.length)return i.alloc(0);for(var e,r,n,s=i.allocUnsafe(t>>>0),o=this.head,a=0;o;)e=o.data,r=s,n=a,e.copy(r,n),a+=o.data.length,o=o.next;return s},t}(),n&&n.inspect&&n.inspect.custom&&(t.exports.prototype[n.inspect.custom]=function(){var t=n.inspect({length:this.length});return this.constructor.name+" "+t})},681:(t,e,r)=>{var i={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20},n=r(3507),s=r(2861).Buffer,o=r(4196),a=r(2455),h=r(3382);t.exports=function(t,e,r,u,f){o(r,u),t=h(t,a,"Password"),e=h(e,a,"Salt"),f=f||"sha1";var l=s.allocUnsafe(u),c=s.allocUnsafe(e.length+4);e.copy(c,0,0,e.length);for(var d=0,p=i[f],m=Math.ceil(u/p),g=1;g<=m;g++){c.writeUInt32BE(g,e.length);for(var y=n(f,t).update(c).digest(),b=y,v=1;v{r.r(e),r.d(e,{addListener:()=>c,argv:()=>a,binding:()=>k,browser:()=>s,chdir:()=>E,cwd:()=>M,emit:()=>y,env:()=>o,listeners:()=>_,nextTick:()=>w,off:()=>p,on:()=>l,once:()=>d,prependListener:()=>b,prependOnceListener:()=>v,removeAllListeners:()=>g,removeListener:()=>m,title:()=>n,umask:()=>S,version:()=>h,versions:()=>u});var i=r(9596);const n="browser",s=!0,o={},a=[],h="",u={};function f(){}const l=f,c=f,d=f,p=f,m=f,g=f,y=f,b=f,v=f,w=(t,...e)=>i((()=>t(...e))),_=t=>[],M=()=>"/",S=()=>0,k=t=>{throw new Error("process.binding is not supported")},E=t=>{throw new Error("process.chdir is not supported")}},735:(t,e,r)=>{var i=r(6698),n=r(82);function s(t){n.call(this,t),this.enc="pem"}i(s,n),t.exports=s,s.prototype.encode=function(t,e){for(var r=n.prototype.encode.call(this,t).toString("base64"),i=["-----BEGIN "+e.label+"-----"],s=0;s{t.exports=function(t){function e(t){let r,n,s,o=null;function a(...t){if(!a.enabled)return;const i=a,n=Number(new Date),s=n-(r||n);i.diff=s,i.prev=r,i.curr=n,r=n,t[0]=e.coerce(t[0]),"string"!=typeof t[0]&&t.unshift("%O");let o=0;t[0]=t[0].replace(/%([a-zA-Z%])/g,((r,n)=>{if("%%"===r)return"%";o++;const s=e.formatters[n];if("function"==typeof s){const e=t[o];r=s.call(i,e),t.splice(o,1),o--}return r})),e.formatArgs.call(i,t);(i.log||e.log).apply(i,t)}return a.namespace=t,a.useColors=e.useColors(),a.color=e.selectColor(t),a.extend=i,a.destroy=e.destroy,Object.defineProperty(a,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==o?o:(n!==e.namespaces&&(n=e.namespaces,s=e.enabled(t)),s),set:t=>{o=t}}),"function"==typeof e.init&&e.init(a),a}function i(t,r){const i=e(this.namespace+(void 0===r?":":r)+t);return i.log=this.log,i}function n(t,e){let r=0,i=0,n=-1,s=0;for(;r"-"+t))].join(",");return e.enable(""),t},e.enable=function(t){e.save(t),e.namespaces=t,e.names=[],e.skips=[];const r=("string"==typeof t?t:"").trim().replace(" ",",").split(",").filter(Boolean);for(const t of r)"-"===t[0]?e.skips.push(t.slice(1)):e.names.push(t)},e.enabled=function(t){for(const r of e.skips)if(n(t,r))return!1;for(const r of e.names)if(n(t,r))return!0;return!1},e.humanize=r(6585),e.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(t).forEach((r=>{e[r]=t[r]})),e.names=[],e.skips=[],e.formatters={},e.selectColor=function(t){let r=0;for(let e=0;e{var i,n=r(717),s=r(3519),o=r(6611);try{i=r(2376)}catch(t){}var a=function(){},h=/^v?\.0/.test(n.version),u=function(t){return"function"==typeof t},f=function(t,e,r,n){n=s(n);var f=!1;t.on("close",(function(){f=!0})),o(t,{readable:e,writable:r},(function(t){if(t)return n(t);f=!0,n()}));var l=!1;return function(e){if(!f&&!l)return l=!0,function(t){return!!h&&!!i&&(t instanceof(i.ReadStream||a)||t instanceof(i.WriteStream||a))&&u(t.close)}(t)?t.close(a):function(t){return t.setHeader&&u(t.abort)}(t)?t.abort():u(t.destroy)?t.destroy():void n(e||new Error("stream was destroyed"))}},l=function(t){t()},c=function(t,e){return t.pipe(e)};t.exports=function(){var t,e=Array.prototype.slice.call(arguments),r=u(e[e.length-1]||a)&&e.pop()||a;if(Array.isArray(e[0])&&(e=e[0]),e.length<2)throw new Error("pump requires two streams per minimum");var i=e.map((function(n,s){var o=s0,(function(e){t||(t=e),e&&i.forEach(l),o||(i.forEach(l),r(t))}))}));return e.reduce(c)}},894:(t,e,r)=>{var i=e;i.base=r(6677),i.short=r(9188),i.mont=r(370),i.edwards=r(1298)},920:(t,e,r)=>{var i=r(9675),n=r(8859),s=r(4803),o=r(507),a=r(2271)||o||s;t.exports=function(){var t,e={assert:function(t){if(!e.has(t))throw new i("Side channel does not contain "+n(t))},delete:function(e){return!!t&&t.delete(e)},get:function(e){return t&&t.get(e)},has:function(e){return!!t&&t.has(e)},set:function(e,r){t||(t=a()),t.set(e,r)}};return e}},975:t=>{var e=function(){function t(t,e,r){this.name=t,this.max=e,this.constructor=null!=r?r:function(){},this.list=[]}return t.prototype.alloc=function(){return this.list.length?this.list.shift():this.constructor.apply(this,arguments)},t.prototype.free=function(t){return this.list.length{r.d(e,{A:()=>p});var i=r(9639);function n(t){const e=t<0?1:0;return t=Math.abs(Number(t||1)),Math.floor(Math.log10(t))+1+e}function s(t){return ArrayBuffer.isView(t)?"arraybufferview":Array.isArray(t)?"array":t instanceof Number?"number":t instanceof Boolean?"boolean":t instanceof Set?"set":t instanceof Map?"map":t instanceof String?"string":t instanceof ArrayBuffer?"arraybuffer":typeof t}function o(t,e,r){const n=[];let s=null;return o._encode(n,t),s=(0,i.xW)(n),o.bytes=s.length,ArrayBuffer.isView(e)?(e.set(s,r),e):s}o.bytes=-1,o._floatConversionDetected=!1,o._encode=function(t,e){if(null!=e)switch(s(e)){case"object":o.dict(t,e);break;case"map":o.dictMap(t,e);break;case"array":o.list(t,e);break;case"set":o.listSet(t,e);break;case"string":o.string(t,e);break;case"number":case"boolean":o.number(t,e);break;case"arraybufferview":o.buffer(t,new Uint8Array(e.buffer,e.byteOffset,e.byteLength));break;case"arraybuffer":o.buffer(t,new Uint8Array(e))}};const a=new Uint8Array([101]),h=new Uint8Array([100]),u=new Uint8Array([108]);o.buffer=function(t,e){t.push((0,i.L0)(e.length+":"),e)},o.string=function(t,e){t.push((0,i.L0)((0,i.L0)(e).byteLength+":"+e))},o.number=function(t,e){if(Number.isInteger(e))return t.push((0,i.L0)("i"+BigInt(e)+"e"));const r=2147483648,n=(e/r|0)*r+(e%r|0);t.push((0,i.L0)("i"+n+"e")),n===e||o._floatConversionDetected||(o._floatConversionDetected=!0,console.warn('WARNING: Possible data corruption detected with value "'+e+'":','Bencoding only defines support for integers, value was converted to "'+n+'"'),console.trace())},o.dict=function(t,e){t.push(h);let r,i=0;const n=Object.keys(e).sort(),s=n.length;for(;i=48)i=10*i+(r-48);else if(s!==e||43!==r){if(s!==e||45!==r){if(46===r)break;throw new Error("not a number: buffer["+s+"] = "+r)}n=-1}}return i*n}function c(t,e,r,n){return null==t||0===t.length?null:("number"!=typeof e&&null==n&&(n=e,e=void 0),"number"!=typeof r&&null==n&&(n=r,r=void 0),c.position=0,c.encoding=n||null,c.data=ArrayBuffer.isView(t)?new Uint8Array(t.slice(e,r)):(0,i.L0)(t),c.bytes=c.data.length,c.next())}c.bytes=0,c.position=0,c.data=null,c.encoding=null,c.next=function(){switch(c.data[c.position]){case 100:return c.dictionary();case 108:return c.list();case 105:return c.integer();default:return c.buffer()}},c.find=function(t){let e=c.position;const r=c.data.length,i=c.data;for(;e{var i=r(9673).Reporter,n=r(9673).EncoderBuffer,s=r(9673).DecoderBuffer,o=r(3349),a=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],h=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(a);function u(t,e){var r={};this._baseState=r,r.enc=t,r.parent=e||null,r.children=null,r.tag=null,r.args=null,r.reverseArgs=null,r.choice=null,r.optional=!1,r.any=!1,r.obj=!1,r.use=null,r.useDecoder=null,r.key=null,r.default=null,r.explicit=null,r.implicit=null,r.contains=null,r.parent||(r.children=[],this._wrap())}t.exports=u;var f=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];u.prototype.clone=function(){var t=this._baseState,e={};f.forEach((function(r){e[r]=t[r]}));var r=new this.constructor(e.parent);return r._baseState=e,r},u.prototype._wrap=function(){var t=this._baseState;h.forEach((function(e){this[e]=function(){var r=new this.constructor(this);return t.children.push(r),r[e].apply(r,arguments)}}),this)},u.prototype._init=function(t){var e=this._baseState;o(null===e.parent),t.call(this),e.children=e.children.filter((function(t){return t._baseState.parent===this}),this),o.equal(e.children.length,1,"Root node can have only one child")},u.prototype._useArgs=function(t){var e=this._baseState,r=t.filter((function(t){return t instanceof this.constructor}),this);t=t.filter((function(t){return!(t instanceof this.constructor)}),this),0!==r.length&&(o(null===e.children),e.children=r,r.forEach((function(t){t._baseState.parent=this}),this)),0!==t.length&&(o(null===e.args),e.args=t,e.reverseArgs=t.map((function(t){if("object"!=typeof t||t.constructor!==Object)return t;var e={};return Object.keys(t).forEach((function(r){r==(0|r)&&(r|=0);var i=t[r];e[i]=r})),e})))},["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"].forEach((function(t){u.prototype[t]=function(){var e=this._baseState;throw new Error(t+" not implemented for encoding: "+e.enc)}})),a.forEach((function(t){u.prototype[t]=function(){var e=this._baseState,r=Array.prototype.slice.call(arguments);return o(null===e.tag),e.tag=t,this._useArgs(r),this}})),u.prototype.use=function(t){o(t);var e=this._baseState;return o(null===e.use),e.use=t,this},u.prototype.optional=function(){return this._baseState.optional=!0,this},u.prototype.def=function(t){var e=this._baseState;return o(null===e.default),e.default=t,e.optional=!0,this},u.prototype.explicit=function(t){var e=this._baseState;return o(null===e.explicit&&null===e.implicit),e.explicit=t,this},u.prototype.implicit=function(t){var e=this._baseState;return o(null===e.explicit&&null===e.implicit),e.implicit=t,this},u.prototype.obj=function(){var t=this._baseState,e=Array.prototype.slice.call(arguments);return t.obj=!0,0!==e.length&&this._useArgs(e),this},u.prototype.key=function(t){var e=this._baseState;return o(null===e.key),e.key=t,this},u.prototype.any=function(){return this._baseState.any=!0,this},u.prototype.choice=function(t){var e=this._baseState;return o(null===e.choice),e.choice=t,this._useArgs(Object.keys(t).map((function(e){return t[e]}))),this},u.prototype.contains=function(t){var e=this._baseState;return o(null===e.use),e.contains=t,this},u.prototype._decode=function(t,e){var r=this._baseState;if(null===r.parent)return t.wrapResult(r.children[0]._decode(t,e));var i,n=r.default,o=!0,a=null;if(null!==r.key&&(a=t.enterKey(r.key)),r.optional){var h=null;if(null!==r.explicit?h=r.explicit:null!==r.implicit?h=r.implicit:null!==r.tag&&(h=r.tag),null!==h||r.any){if(o=this._peekTag(t,h,r.any),t.isError(o))return o}else{var u=t.save();try{null===r.choice?this._decodeGeneric(r.tag,t,e):this._decodeChoice(t,e),o=!0}catch(t){o=!1}t.restore(u)}}if(r.obj&&o&&(i=t.enterObject()),o){if(null!==r.explicit){var f=this._decodeTag(t,r.explicit);if(t.isError(f))return f;t=f}var l=t.offset;if(null===r.use&&null===r.choice){if(r.any)u=t.save();var c=this._decodeTag(t,null!==r.implicit?r.implicit:r.tag,r.any);if(t.isError(c))return c;r.any?n=t.raw(u):t=c}if(e&&e.track&&null!==r.tag&&e.track(t.path(),l,t.length,"tagged"),e&&e.track&&null!==r.tag&&e.track(t.path(),t.offset,t.length,"content"),r.any||(n=null===r.choice?this._decodeGeneric(r.tag,t,e):this._decodeChoice(t,e)),t.isError(n))return n;if(r.any||null!==r.choice||null===r.children||r.children.forEach((function(r){r._decode(t,e)})),r.contains&&("octstr"===r.tag||"bitstr"===r.tag)){var d=new s(n);n=this._getUse(r.contains,t._reporterState.obj)._decode(d,e)}}return r.obj&&o&&(n=t.leaveObject(i)),null===r.key||null===n&&!0!==o?null!==a&&t.exitKey(a):t.leaveKey(a,r.key,n),n},u.prototype._decodeGeneric=function(t,e,r){var i=this._baseState;return"seq"===t||"set"===t?null:"seqof"===t||"setof"===t?this._decodeList(e,t,i.args[0],r):/str$/.test(t)?this._decodeStr(e,t,r):"objid"===t&&i.args?this._decodeObjid(e,i.args[0],i.args[1],r):"objid"===t?this._decodeObjid(e,null,null,r):"gentime"===t||"utctime"===t?this._decodeTime(e,t,r):"null_"===t?this._decodeNull(e,r):"bool"===t?this._decodeBool(e,r):"objDesc"===t?this._decodeStr(e,t,r):"int"===t||"enum"===t?this._decodeInt(e,i.args&&i.args[0],r):null!==i.use?this._getUse(i.use,e._reporterState.obj)._decode(e,r):e.error("unknown tag: "+t)},u.prototype._getUse=function(t,e){var r=this._baseState;return r.useDecoder=this._use(t,e),o(null===r.useDecoder._baseState.parent),r.useDecoder=r.useDecoder._baseState.children[0],r.implicit!==r.useDecoder._baseState.implicit&&(r.useDecoder=r.useDecoder.clone(),r.useDecoder._baseState.implicit=r.implicit),r.useDecoder},u.prototype._decodeChoice=function(t,e){var r=this._baseState,i=null,n=!1;return Object.keys(r.choice).some((function(s){var o=t.save(),a=r.choice[s];try{var h=a._decode(t,e);if(t.isError(h))return!1;i={type:s,value:h},n=!0}catch(e){return t.restore(o),!1}return!0}),this),n?i:t.error("Choice not matched")},u.prototype._createEncoderBuffer=function(t){return new n(t,this.reporter)},u.prototype._encode=function(t,e,r){var i=this._baseState;if(null===i.default||i.default!==t){var n=this._encodeValue(t,e,r);if(void 0!==n&&!this._skipDefault(n,e,r))return n}},u.prototype._encodeValue=function(t,e,r){var n=this._baseState;if(null===n.parent)return n.children[0]._encode(t,e||new i);var s=null;if(this.reporter=e,n.optional&&void 0===t){if(null===n.default)return;t=n.default}var o=null,a=!1;if(n.any)s=this._createEncoderBuffer(t);else if(n.choice)s=this._encodeChoice(t,e);else if(n.contains)o=this._getUse(n.contains,r)._encode(t,e),a=!0;else if(n.children)o=n.children.map((function(r){if("null_"===r._baseState.tag)return r._encode(null,e,t);if(null===r._baseState.key)return e.error("Child should have a key");var i=e.enterKey(r._baseState.key);if("object"!=typeof t)return e.error("Child expected, but input is not object");var n=r._encode(t[r._baseState.key],e,t);return e.leaveKey(i),n}),this).filter((function(t){return t})),o=this._createEncoderBuffer(o);else if("seqof"===n.tag||"setof"===n.tag){if(!n.args||1!==n.args.length)return e.error("Too many args for : "+n.tag);if(!Array.isArray(t))return e.error("seqof/setof, but data is not Array");var h=this.clone();h._baseState.implicit=null,o=this._createEncoderBuffer(t.map((function(r){var i=this._baseState;return this._getUse(i.args[0],t)._encode(r,e)}),h))}else null!==n.use?s=this._getUse(n.use,r)._encode(t,e):(o=this._encodePrimitive(n.tag,t),a=!0);if(!n.any&&null===n.choice){var u=null!==n.implicit?n.implicit:n.tag,f=null===n.implicit?"universal":"context";null===u?null===n.use&&e.error("Tag could be omitted only for .use()"):null===n.use&&(s=this._encodeComposite(u,a,f,o))}return null!==n.explicit&&(s=this._encodeComposite(n.explicit,!1,"context",s)),s},u.prototype._encodeChoice=function(t,e){var r=this._baseState,i=r.choice[t.type];return i||o(!1,t.type+" not found in "+JSON.stringify(Object.keys(r.choice))),i._encode(t.value,e)},u.prototype._encodePrimitive=function(t,e){var r=this._baseState;if(/str$/.test(t))return this._encodeStr(e,t);if("objid"===t&&r.args)return this._encodeObjid(e,r.reverseArgs[0],r.args[1]);if("objid"===t)return this._encodeObjid(e,null,null);if("gentime"===t||"utctime"===t)return this._encodeTime(e,t);if("null_"===t)return this._encodeNull();if("int"===t||"enum"===t)return this._encodeInt(e,r.args&&r.reverseArgs[0]);if("bool"===t)return this._encodeBool(e);if("objDesc"===t)return this._encodeStr(e,t);throw new Error("Unsupported tag: "+t)},u.prototype._isNumstr=function(t){return/^[0-9 ]*$/.test(t)},u.prototype._isPrintstr=function(t){return/^[A-Za-z0-9 '\(\)\+,\-\.\/:=\?]*$/.test(t)}},1002:t=>{t.exports=Function.prototype.apply},1035:t=>{function e(t){return(+Date.now()-t)/100&65535}t.exports=function(t){const r=+Date.now(),i=10*(t||5),n=[0];let s=1,o=e(r)-1&65535;return function(t){const a=e(r);let h=a-o&65535;for(h>i&&(h=i),o=a;h--;)s===i&&(s=0),n[s]=n[0===s?i-1:s-1],s++;t&&(n[s-1]+=t);const u=n[s-1],f=n.length{var i=r(9612);t.exports=i.getPrototypeOf||null},1093:t=>{var e=Object.prototype.toString;t.exports=function(t){var r=e.call(t),i="[object Arguments]"===r;return i||(i="[object Array]"!==r&&null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&"[object Function]"===e.call(t.callee)),i}},1133:(t,e,r)=>{let i=r(8673);t.exports=new i(r(8446))},1137:(t,e,r)=>{var i=r(7568);e.certificate=r(6413);var n=i.define("RSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())}));e.RSAPrivateKey=n;var s=i.define("RSAPublicKey",(function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())}));e.RSAPublicKey=s;var o=i.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())})),a=i.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(o),this.key("subjectPublicKey").bitstr())}));e.PublicKey=a;var h=i.define("PrivateKeyInfo",(function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(o),this.key("subjectPrivateKey").octstr())}));e.PrivateKey=h;var u=i.define("EncryptedPrivateKeyInfo",(function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())}));e.EncryptedPrivateKey=u;var f=i.define("DSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())}));e.DSAPrivateKey=f,e.DSAparam=i.define("DSAparam",(function(){this.int()}));var l=i.define("ECParameters",(function(){this.choice({namedCurve:this.objid()})})),c=i.define("ECPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(l),this.key("publicKey").optional().explicit(1).bitstr())}));e.ECPrivateKey=c,e.signature=i.define("signature",(function(){this.seq().obj(this.key("r").int(),this.key("s").int())}))},1158:function(t,e,r){!function(t,e){function i(t,e){if(!t)throw new Error(e||"Assertion failed")}function n(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function s(t,e,r){if(s.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=s:e.BN=s,s.BN=s,s.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(8287).Buffer}catch(t){}function a(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function h(t,e,r){var i=a(t,r);return r-1>=e&&(i|=a(t,r-1)<<4),i}function u(t,e,r,i){for(var n=0,s=Math.min(t.length,r),o=e;o=49?a-49+10:a>=17?a-17+10:a}return n}s.isBN=function(t){return t instanceof s||null!==t&&"object"==typeof t&&t.constructor.wordSize===s.wordSize&&Array.isArray(t.words)},s.max=function(t,e){return t.cmp(e)>0?t:e},s.min=function(t,e){return t.cmp(e)<0?t:e},s.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),i(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n=0;n-=3)o=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[s]|=o<>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);else if("le"===r)for(n=0,s=0;n>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);return this.strip()},s.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i=e;i-=2)n=h(t,e,i)<=18?(s-=18,o+=1,this.words[o]|=n>>>26):s+=8;else for(i=(t.length-e)%2==0?e+1:e;i=18?(s-=18,o+=1,this.words[o]|=n>>>26):s+=8;this.strip()},s.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var s=t.length-r,o=s%i,a=Math.min(s,s-o)+r,h=0,f=r;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var f=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],c=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],s=0|e.words[0],o=n*s,a=67108863&o,h=o/67108864|0;r.words[0]=a;for(var u=1;u>>26,l=67108863&h,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(o=(n=0|t.words[p])*(s=0|e.words[d])+l)/67108864|0,l=67108863&o}r.words[u]=0|l,h=0|f}return 0!==h?r.words[u]=0|h:r.length--,r.strip()}s.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var n=0,s=0,o=0;o>>24-n&16777215,(n+=2)>=26&&(n-=26,o--),r=0!==s||o!==this.length-1?f[6-h.length]+h+r:h+r}for(0!==s&&(r=s.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var u=l[t],d=c[t];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);r=(p=p.idivn(d)).isZero()?m+r:f[u-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(t,e){return i(void 0!==o),this.toArrayLike(o,t,e)},s.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},s.prototype.toArrayLike=function(t,e,r){var n=this.byteLength(),s=r||Math.max(1,n);i(n<=s,"byte array longer than desired length"),i(s>0,"Requested array length <= 0"),this.strip();var o,a,h="le"===e,u=new t(s),f=this.clone();if(h){for(a=0;!f.isZero();a++)o=f.andln(255),f.iushrn(8),u[a]=o;for(;a=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},s.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 8191&e||(r+=13,e>>>=13),127&e||(r+=7,e>>>=7),15&e||(r+=4,e>>>=4),3&e||(r+=2,e>>>=2),1&e||r++,r},s.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},s.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},s.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},s.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},s.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},s.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},s.prototype.inotn=function(t){i("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},s.prototype.notn=function(t){return this.clone().inotn(t)},s.prototype.setn=function(t,e){i("number"==typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,s=0;s>>26;for(;0!==n&&s>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;st.length?this.clone().iadd(t):t.clone().iadd(this)},s.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var s=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==s&&o>26,this.words[o]=67108863&e;if(0===s&&o>>13,d=0|o[1],p=8191&d,m=d>>>13,g=0|o[2],y=8191&g,b=g>>>13,v=0|o[3],w=8191&v,_=v>>>13,M=0|o[4],S=8191&M,k=M>>>13,E=0|o[5],x=8191&E,A=E>>>13,I=0|o[6],T=8191&I,P=I>>>13,C=0|o[7],R=8191&C,O=C>>>13,B=0|o[8],L=8191&B,N=B>>>13,j=0|o[9],U=8191&j,q=j>>>13,D=0|a[0],H=8191&D,F=D>>>13,z=0|a[1],$=8191&z,W=z>>>13,K=0|a[2],V=8191&K,Z=K>>>13,G=0|a[3],Y=8191&G,J=G>>>13,X=0|a[4],Q=8191&X,tt=X>>>13,et=0|a[5],rt=8191&et,it=et>>>13,nt=0|a[6],st=8191&nt,ot=nt>>>13,at=0|a[7],ht=8191&at,ut=at>>>13,ft=0|a[8],lt=8191&ft,ct=ft>>>13,dt=0|a[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,H))|0)+((8191&(n=(n=Math.imul(l,F))+Math.imul(c,H)|0))<<13)|0;u=((s=Math.imul(c,F))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,H),n=(n=Math.imul(p,F))+Math.imul(m,H)|0,s=Math.imul(m,F);var yt=(u+(i=i+Math.imul(l,$)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,$)|0))<<13)|0;u=((s=s+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,H),n=(n=Math.imul(y,F))+Math.imul(b,H)|0,s=Math.imul(b,F),i=i+Math.imul(p,$)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,$)|0,s=s+Math.imul(m,W)|0;var bt=(u+(i=i+Math.imul(l,V)|0)|0)+((8191&(n=(n=n+Math.imul(l,Z)|0)+Math.imul(c,V)|0))<<13)|0;u=((s=s+Math.imul(c,Z)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(w,H),n=(n=Math.imul(w,F))+Math.imul(_,H)|0,s=Math.imul(_,F),i=i+Math.imul(y,$)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(b,$)|0,s=s+Math.imul(b,W)|0,i=i+Math.imul(p,V)|0,n=(n=n+Math.imul(p,Z)|0)+Math.imul(m,V)|0,s=s+Math.imul(m,Z)|0;var vt=(u+(i=i+Math.imul(l,Y)|0)|0)+((8191&(n=(n=n+Math.imul(l,J)|0)+Math.imul(c,Y)|0))<<13)|0;u=((s=s+Math.imul(c,J)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(S,H),n=(n=Math.imul(S,F))+Math.imul(k,H)|0,s=Math.imul(k,F),i=i+Math.imul(w,$)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(_,$)|0,s=s+Math.imul(_,W)|0,i=i+Math.imul(y,V)|0,n=(n=n+Math.imul(y,Z)|0)+Math.imul(b,V)|0,s=s+Math.imul(b,Z)|0,i=i+Math.imul(p,Y)|0,n=(n=n+Math.imul(p,J)|0)+Math.imul(m,Y)|0,s=s+Math.imul(m,J)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((s=s+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(x,H),n=(n=Math.imul(x,F))+Math.imul(A,H)|0,s=Math.imul(A,F),i=i+Math.imul(S,$)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(k,$)|0,s=s+Math.imul(k,W)|0,i=i+Math.imul(w,V)|0,n=(n=n+Math.imul(w,Z)|0)+Math.imul(_,V)|0,s=s+Math.imul(_,Z)|0,i=i+Math.imul(y,Y)|0,n=(n=n+Math.imul(y,J)|0)+Math.imul(b,Y)|0,s=s+Math.imul(b,J)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,s=s+Math.imul(m,tt)|0;var _t=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((s=s+Math.imul(c,it)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(T,H),n=(n=Math.imul(T,F))+Math.imul(P,H)|0,s=Math.imul(P,F),i=i+Math.imul(x,$)|0,n=(n=n+Math.imul(x,W)|0)+Math.imul(A,$)|0,s=s+Math.imul(A,W)|0,i=i+Math.imul(S,V)|0,n=(n=n+Math.imul(S,Z)|0)+Math.imul(k,V)|0,s=s+Math.imul(k,Z)|0,i=i+Math.imul(w,Y)|0,n=(n=n+Math.imul(w,J)|0)+Math.imul(_,Y)|0,s=s+Math.imul(_,J)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(b,Q)|0,s=s+Math.imul(b,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,s=s+Math.imul(m,it)|0;var Mt=(u+(i=i+Math.imul(l,st)|0)|0)+((8191&(n=(n=n+Math.imul(l,ot)|0)+Math.imul(c,st)|0))<<13)|0;u=((s=s+Math.imul(c,ot)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(R,H),n=(n=Math.imul(R,F))+Math.imul(O,H)|0,s=Math.imul(O,F),i=i+Math.imul(T,$)|0,n=(n=n+Math.imul(T,W)|0)+Math.imul(P,$)|0,s=s+Math.imul(P,W)|0,i=i+Math.imul(x,V)|0,n=(n=n+Math.imul(x,Z)|0)+Math.imul(A,V)|0,s=s+Math.imul(A,Z)|0,i=i+Math.imul(S,Y)|0,n=(n=n+Math.imul(S,J)|0)+Math.imul(k,Y)|0,s=s+Math.imul(k,J)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,s=s+Math.imul(_,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(b,rt)|0,s=s+Math.imul(b,it)|0,i=i+Math.imul(p,st)|0,n=(n=n+Math.imul(p,ot)|0)+Math.imul(m,st)|0,s=s+Math.imul(m,ot)|0;var St=(u+(i=i+Math.imul(l,ht)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,ht)|0))<<13)|0;u=((s=s+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(L,H),n=(n=Math.imul(L,F))+Math.imul(N,H)|0,s=Math.imul(N,F),i=i+Math.imul(R,$)|0,n=(n=n+Math.imul(R,W)|0)+Math.imul(O,$)|0,s=s+Math.imul(O,W)|0,i=i+Math.imul(T,V)|0,n=(n=n+Math.imul(T,Z)|0)+Math.imul(P,V)|0,s=s+Math.imul(P,Z)|0,i=i+Math.imul(x,Y)|0,n=(n=n+Math.imul(x,J)|0)+Math.imul(A,Y)|0,s=s+Math.imul(A,J)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(k,Q)|0,s=s+Math.imul(k,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(_,rt)|0,s=s+Math.imul(_,it)|0,i=i+Math.imul(y,st)|0,n=(n=n+Math.imul(y,ot)|0)+Math.imul(b,st)|0,s=s+Math.imul(b,ot)|0,i=i+Math.imul(p,ht)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,ht)|0,s=s+Math.imul(m,ut)|0;var kt=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((s=s+Math.imul(c,ct)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(U,H),n=(n=Math.imul(U,F))+Math.imul(q,H)|0,s=Math.imul(q,F),i=i+Math.imul(L,$)|0,n=(n=n+Math.imul(L,W)|0)+Math.imul(N,$)|0,s=s+Math.imul(N,W)|0,i=i+Math.imul(R,V)|0,n=(n=n+Math.imul(R,Z)|0)+Math.imul(O,V)|0,s=s+Math.imul(O,Z)|0,i=i+Math.imul(T,Y)|0,n=(n=n+Math.imul(T,J)|0)+Math.imul(P,Y)|0,s=s+Math.imul(P,J)|0,i=i+Math.imul(x,Q)|0,n=(n=n+Math.imul(x,tt)|0)+Math.imul(A,Q)|0,s=s+Math.imul(A,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(k,rt)|0,s=s+Math.imul(k,it)|0,i=i+Math.imul(w,st)|0,n=(n=n+Math.imul(w,ot)|0)+Math.imul(_,st)|0,s=s+Math.imul(_,ot)|0,i=i+Math.imul(y,ht)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(b,ht)|0,s=s+Math.imul(b,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,s=s+Math.imul(m,ct)|0;var Et=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((s=s+Math.imul(c,mt)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(U,$),n=(n=Math.imul(U,W))+Math.imul(q,$)|0,s=Math.imul(q,W),i=i+Math.imul(L,V)|0,n=(n=n+Math.imul(L,Z)|0)+Math.imul(N,V)|0,s=s+Math.imul(N,Z)|0,i=i+Math.imul(R,Y)|0,n=(n=n+Math.imul(R,J)|0)+Math.imul(O,Y)|0,s=s+Math.imul(O,J)|0,i=i+Math.imul(T,Q)|0,n=(n=n+Math.imul(T,tt)|0)+Math.imul(P,Q)|0,s=s+Math.imul(P,tt)|0,i=i+Math.imul(x,rt)|0,n=(n=n+Math.imul(x,it)|0)+Math.imul(A,rt)|0,s=s+Math.imul(A,it)|0,i=i+Math.imul(S,st)|0,n=(n=n+Math.imul(S,ot)|0)+Math.imul(k,st)|0,s=s+Math.imul(k,ot)|0,i=i+Math.imul(w,ht)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(_,ht)|0,s=s+Math.imul(_,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(b,lt)|0,s=s+Math.imul(b,ct)|0;var xt=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((s=s+Math.imul(m,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(U,V),n=(n=Math.imul(U,Z))+Math.imul(q,V)|0,s=Math.imul(q,Z),i=i+Math.imul(L,Y)|0,n=(n=n+Math.imul(L,J)|0)+Math.imul(N,Y)|0,s=s+Math.imul(N,J)|0,i=i+Math.imul(R,Q)|0,n=(n=n+Math.imul(R,tt)|0)+Math.imul(O,Q)|0,s=s+Math.imul(O,tt)|0,i=i+Math.imul(T,rt)|0,n=(n=n+Math.imul(T,it)|0)+Math.imul(P,rt)|0,s=s+Math.imul(P,it)|0,i=i+Math.imul(x,st)|0,n=(n=n+Math.imul(x,ot)|0)+Math.imul(A,st)|0,s=s+Math.imul(A,ot)|0,i=i+Math.imul(S,ht)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(k,ht)|0,s=s+Math.imul(k,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(_,lt)|0,s=s+Math.imul(_,ct)|0;var At=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(b,pt)|0))<<13)|0;u=((s=s+Math.imul(b,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(U,Y),n=(n=Math.imul(U,J))+Math.imul(q,Y)|0,s=Math.imul(q,J),i=i+Math.imul(L,Q)|0,n=(n=n+Math.imul(L,tt)|0)+Math.imul(N,Q)|0,s=s+Math.imul(N,tt)|0,i=i+Math.imul(R,rt)|0,n=(n=n+Math.imul(R,it)|0)+Math.imul(O,rt)|0,s=s+Math.imul(O,it)|0,i=i+Math.imul(T,st)|0,n=(n=n+Math.imul(T,ot)|0)+Math.imul(P,st)|0,s=s+Math.imul(P,ot)|0,i=i+Math.imul(x,ht)|0,n=(n=n+Math.imul(x,ut)|0)+Math.imul(A,ht)|0,s=s+Math.imul(A,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(k,lt)|0,s=s+Math.imul(k,ct)|0;var It=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;u=((s=s+Math.imul(_,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(U,Q),n=(n=Math.imul(U,tt))+Math.imul(q,Q)|0,s=Math.imul(q,tt),i=i+Math.imul(L,rt)|0,n=(n=n+Math.imul(L,it)|0)+Math.imul(N,rt)|0,s=s+Math.imul(N,it)|0,i=i+Math.imul(R,st)|0,n=(n=n+Math.imul(R,ot)|0)+Math.imul(O,st)|0,s=s+Math.imul(O,ot)|0,i=i+Math.imul(T,ht)|0,n=(n=n+Math.imul(T,ut)|0)+Math.imul(P,ht)|0,s=s+Math.imul(P,ut)|0,i=i+Math.imul(x,lt)|0,n=(n=n+Math.imul(x,ct)|0)+Math.imul(A,lt)|0,s=s+Math.imul(A,ct)|0;var Tt=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(k,pt)|0))<<13)|0;u=((s=s+Math.imul(k,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(U,rt),n=(n=Math.imul(U,it))+Math.imul(q,rt)|0,s=Math.imul(q,it),i=i+Math.imul(L,st)|0,n=(n=n+Math.imul(L,ot)|0)+Math.imul(N,st)|0,s=s+Math.imul(N,ot)|0,i=i+Math.imul(R,ht)|0,n=(n=n+Math.imul(R,ut)|0)+Math.imul(O,ht)|0,s=s+Math.imul(O,ut)|0,i=i+Math.imul(T,lt)|0,n=(n=n+Math.imul(T,ct)|0)+Math.imul(P,lt)|0,s=s+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(x,pt)|0)|0)+((8191&(n=(n=n+Math.imul(x,mt)|0)+Math.imul(A,pt)|0))<<13)|0;u=((s=s+Math.imul(A,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(U,st),n=(n=Math.imul(U,ot))+Math.imul(q,st)|0,s=Math.imul(q,ot),i=i+Math.imul(L,ht)|0,n=(n=n+Math.imul(L,ut)|0)+Math.imul(N,ht)|0,s=s+Math.imul(N,ut)|0,i=i+Math.imul(R,lt)|0,n=(n=n+Math.imul(R,ct)|0)+Math.imul(O,lt)|0,s=s+Math.imul(O,ct)|0;var Ct=(u+(i=i+Math.imul(T,pt)|0)|0)+((8191&(n=(n=n+Math.imul(T,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((s=s+Math.imul(P,mt)|0)+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(U,ht),n=(n=Math.imul(U,ut))+Math.imul(q,ht)|0,s=Math.imul(q,ut),i=i+Math.imul(L,lt)|0,n=(n=n+Math.imul(L,ct)|0)+Math.imul(N,lt)|0,s=s+Math.imul(N,ct)|0;var Rt=(u+(i=i+Math.imul(R,pt)|0)|0)+((8191&(n=(n=n+Math.imul(R,mt)|0)+Math.imul(O,pt)|0))<<13)|0;u=((s=s+Math.imul(O,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(U,lt),n=(n=Math.imul(U,ct))+Math.imul(q,lt)|0,s=Math.imul(q,ct);var Ot=(u+(i=i+Math.imul(L,pt)|0)|0)+((8191&(n=(n=n+Math.imul(L,mt)|0)+Math.imul(N,pt)|0))<<13)|0;u=((s=s+Math.imul(N,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var Bt=(u+(i=Math.imul(U,pt))|0)+((8191&(n=(n=Math.imul(U,mt))+Math.imul(q,pt)|0))<<13)|0;return u=((s=Math.imul(q,mt))+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,h[0]=gt,h[1]=yt,h[2]=bt,h[3]=vt,h[4]=wt,h[5]=_t,h[6]=Mt,h[7]=St,h[8]=kt,h[9]=Et,h[10]=xt,h[11]=At,h[12]=It,h[13]=Tt,h[14]=Pt,h[15]=Ct,h[16]=Rt,h[17]=Ot,h[18]=Bt,0!==u&&(h[19]=u,r.length++),r};function m(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(p=d),s.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?p(this,t,e):i<63?d(this,t,e):i<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,s=0;s>>26)|0)>>>26,o&=67108863}r.words[s]=a,i=o,o=n}return 0!==i?r.words[s]=i:r.length--,r.strip()}(this,t,e):m(this,t,e),r},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=s.prototype._countBits(t)-1,i=0;i>=1;return i},g.prototype.permute=function(t,e,r,i,n,s){for(var o=0;o>>=1)n++;return 1<>>=13,r[2*o+1]=8191&s,s>>>=13;for(o=2*e;o>=26,e+=n/67108864|0,e+=s>>>26,this.words[r]=67108863&s}return 0!==e&&(this.words[r]=e,this.length++),this},s.prototype.muln=function(t){return this.clone().imuln(t)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>n}return e}(t);if(0===e.length)return new s(1);for(var r=this,i=0;i=0);var e,r=t%26,n=(t-r)/26,s=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var s=t%26,o=Math.min((t-s)/26,this.length),a=67108863^67108863>>>s<o)for(this.length-=o,u=0;u=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-s|l>>>s,f=l&a}return h&&0!==f&&(h.words[h.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},s.prototype.shln=function(t){return this.clone().ishln(t)},s.prototype.ushln=function(t){return this.clone().iushln(t)},s.prototype.shrn=function(t){return this.clone().ishrn(t)},s.prototype.ushrn=function(t){return this.clone().iushrn(t)},s.prototype.testn=function(t){i("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},s.prototype.isubn=function(t){if(i("number"==typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(h/67108864|0),this.words[n+r]=67108863&s}for(;n>26,this.words[n+r]=67108863&s;if(0===a)return this.strip();for(i(-1===a),a=0,n=0;n>26,this.words[n]=67108863&s;return this.negative=1,this.strip()},s.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),n=t,o=0|n.words[n.length-1];0!==(r=26-this._countBits(o))&&(n=n.ushln(r),i.iushln(r),o=0|n.words[n.length-1]);var a,h=i.length-n.length;if("mod"!==e){(a=new s(null)).length=h+1,a.words=new Array(a.length);for(var u=0;u=0;l--){var c=67108864*(0|i.words[n.length+l])+(0|i.words[n.length+l-1]);for(c=Math.min(c/o|0,67108863),i._ishlnsubmul(n,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(n,1,l),i.isZero()||(i.negative^=1);a&&(a.words[l]=c)}return a&&a.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:a||null,mod:i}},s.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(n=a.div.neg()),"div"!==e&&(o=a.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:n,mod:o}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(n=a.div.neg()),{div:n,mod:a.mod}):this.negative&t.negative?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(o=a.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:a.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new s(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new s(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new s(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,o,a},s.prototype.div=function(t){return this.divmod(t,"div",!1).div},s.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},s.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},s.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),s=r.cmp(i);return s<0||1===n&&0===s?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},s.prototype.modn=function(t){i(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;n>=0;n--)r=(e*r+(0|this.words[n]))%t;return r},s.prototype.idivn=function(t){i(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},s.prototype.divn=function(t){return this.clone().idivn(t)},s.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n=new s(1),o=new s(0),a=new s(0),h=new s(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var f=r.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;!(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(f),o.isub(l)),n.iushrn(1),o.iushrn(1);for(var p=0,m=1;!(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(a.isOdd()||h.isOdd())&&(a.iadd(f),h.isub(l)),a.iushrn(1),h.iushrn(1);e.cmp(r)>=0?(e.isub(r),n.isub(a),o.isub(h)):(r.isub(e),a.isub(n),h.isub(o))}return{a,b:h,gcd:r.iushln(u)}},s.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n,o=new s(1),a=new s(0),h=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,f=1;!(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)o.isOdd()&&o.iadd(h),o.iushrn(1);for(var l=0,c=1;!(r.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(r.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(h),a.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(a)):(r.isub(e),a.isub(o))}return(n=0===e.cmpn(1)?o:a).cmpn(0)<0&&n.iadd(t),n},s.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var s=e;e=r,r=s}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},s.prototype.invm=function(t){return this.egcd(t).a.umod(t)},s.prototype.isEven=function(){return!(1&this.words[0])},s.prototype.isOdd=function(){return!(1&~this.words[0])},s.prototype.andln=function(t){return this.words[0]&t},s.prototype.bincn=function(t){i("number"==typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,a&=67108863,this.words[o]=a}return 0!==s&&(this.words[o]=s,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},s.prototype.gtn=function(t){return 1===this.cmpn(t)},s.prototype.gt=function(t){return 1===this.cmp(t)},s.prototype.gten=function(t){return this.cmpn(t)>=0},s.prototype.gte=function(t){return this.cmp(t)>=0},s.prototype.ltn=function(t){return-1===this.cmpn(t)},s.prototype.lt=function(t){return-1===this.cmp(t)},s.prototype.lten=function(t){return this.cmpn(t)<=0},s.prototype.lte=function(t){return this.cmp(t)<=0},s.prototype.eqn=function(t){return 0===this.cmpn(t)},s.prototype.eq=function(t){return 0===this.cmp(t)},s.red=function(t){return new S(t)},s.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},s.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(t){return this.red=t,this},s.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},s.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},s.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},s.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},s.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},s.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},s.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},s.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},s.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function b(t,e){this.name=t,this.p=new s(e,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function w(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function S(t){if("string"==typeof t){var e=s._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){S.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var t=new s(null);return t.words=new Array(Math.ceil(this.n/13)),t},b.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},b.prototype.split=function(t,e){t.iushrn(this.n,0,e)},b.prototype.imulK=function(t){return t.imul(this.k)},n(v,b),v.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,s=o}s>>>=22,t.words[n-10]=s,0===s&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},s._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new w;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return y[t]=e,e},S.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},S.prototype._verify2=function(t,e){i(!(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},S.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},S.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},S.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},S.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},S.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},S.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},S.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},S.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},S.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},S.prototype.isqr=function(t){return this.imul(t,t.clone())},S.prototype.sqr=function(t){return this.mul(t,t)},S.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2==1),3===e){var r=this.m.add(new s(1)).iushrn(2);return this.pow(t,r)}for(var n=this.m.subn(1),o=0;!n.isZero()&&0===n.andln(1);)o++,n.iushrn(1);i(!n.isZero());var a=new s(1).toRed(this),h=a.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new s(2*f*f).toRed(this);0!==this.pow(f,u).cmp(h);)f.redIAdd(h);for(var l=this.pow(f,n),c=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=o;0!==d.cmp(a);){for(var m=d,g=0;0!==m.cmp(a);g++)m=m.redSqr();i(g=0;i--){for(var u=e.words[i],f=h-1;f>=0;f--){var l=u>>f&1;n!==r[0]&&(n=this.sqr(n)),0!==l||0!==o?(o<<=1,o|=l,(4===++a||0===i&&0===f)&&(n=this.mul(n,r[o]),a=0,o=0)):a=0}h=26}return n},S.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},S.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},s.mont=function(t){return new k(t)},n(k,S),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),s=n;return n.cmp(this.m)>=0?s=n.isub(this.m):n.cmpn(0)<0&&(s=n.iadd(this.m)),s._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new s(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=r.nmd(t),this)},1189:(t,e,r)=>{var i=Array.prototype.slice,n=r(1093),s=Object.keys,o=s?function(t){return s(t)}:r(8875),a=Object.keys;o.shim=function(){if(Object.keys){var t=function(){var t=Object.keys(arguments);return t&&t.length===arguments.length}(1,2);t||(Object.keys=function(t){return n(t)?a(i.call(t)):a(t)})}else Object.keys=o;return Object.keys||o},t.exports=o},1200:(t,e,r)=>{var i=r(8490),n=r(7011).assert;function s(t,e){this.ec=t,this.priv=null,this.pub=null,e.priv&&this._importPrivate(e.priv,e.privEnc),e.pub&&this._importPublic(e.pub,e.pubEnc)}t.exports=s,s.fromPublic=function(t,e,r){return e instanceof s?e:new s(t,{pub:e,pubEnc:r})},s.fromPrivate=function(t,e,r){return e instanceof s?e:new s(t,{priv:e,privEnc:r})},s.prototype.validate=function(){var t=this.getPublic();return t.isInfinity()?{result:!1,reason:"Invalid public key"}:t.validate()?t.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},s.prototype.getPublic=function(t,e){return"string"==typeof t&&(e=t,t=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),e?this.pub.encode(e,t):this.pub},s.prototype.getPrivate=function(t){return"hex"===t?this.priv.toString(16,2):this.priv},s.prototype._importPrivate=function(t,e){this.priv=new i(t,e||16),this.priv=this.priv.umod(this.ec.curve.n)},s.prototype._importPublic=function(t,e){if(t.x||t.y)return"mont"===this.ec.curve.type?n(t.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||n(t.x&&t.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(t.x,t.y));this.pub=this.ec.curve.decodePoint(t,e)},s.prototype.derive=function(t){return t.validate()||n(t.validate(),"public point not validated"),t.mul(this.priv).getX()},s.prototype.sign=function(t,e,r){return this.ec.sign(t,this,e,r)},s.prototype.verify=function(t,e,r){return this.ec.verify(t,e,this,void 0,r)},s.prototype.inspect=function(){return""}},1220:()=>{},1237:t=>{t.exports=EvalError},1241:(t,e,r)=>{var i=r(5799),n=r(6171),s=r(3219);e.createCipher=e.Cipher=i.createCipher,e.createCipheriv=e.Cipheriv=i.createCipheriv,e.createDecipher=e.Decipher=n.createDecipher,e.createDecipheriv=e.Decipheriv=n.createDecipheriv,e.listCiphers=e.getCiphers=function(){return Object.keys(s)}},1298:(t,e,r)=>{var i=r(7011),n=r(8490),s=r(6698),o=r(6677),a=i.assert;function h(t){this.twisted=1!=(0|t.a),this.mOneA=this.twisted&&-1==(0|t.a),this.extended=this.mOneA,o.call(this,"edwards",t),this.a=new n(t.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new n(t.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new n(t.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),a(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|t.c)}function u(t,e,r,i,s){o.BasePoint.call(this,t,"projective"),null===e&&null===r&&null===i?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new n(e,16),this.y=new n(r,16),this.z=i?new n(i,16):this.curve.one,this.t=s&&new n(s,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}s(h,o),t.exports=h,h.prototype._mulA=function(t){return this.mOneA?t.redNeg():this.a.redMul(t)},h.prototype._mulC=function(t){return this.oneC?t:this.c.redMul(t)},h.prototype.jpoint=function(t,e,r,i){return this.point(t,e,r,i)},h.prototype.pointFromX=function(t,e){(t=new n(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr(),i=this.c2.redSub(this.a.redMul(r)),s=this.one.redSub(this.c2.redMul(this.d).redMul(r)),o=i.redMul(s.redInvm()),a=o.redSqrt();if(0!==a.redSqr().redSub(o).cmp(this.zero))throw new Error("invalid point");var h=a.fromRed().isOdd();return(e&&!h||!e&&h)&&(a=a.redNeg()),this.point(t,a)},h.prototype.pointFromY=function(t,e){(t=new n(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr(),i=r.redSub(this.c2),s=r.redMul(this.d).redMul(this.c2).redSub(this.a),o=i.redMul(s.redInvm());if(0===o.cmp(this.zero)){if(e)throw new Error("invalid point");return this.point(this.zero,t)}var a=o.redSqrt();if(0!==a.redSqr().redSub(o).cmp(this.zero))throw new Error("invalid point");return a.fromRed().isOdd()!==e&&(a=a.redNeg()),this.point(a,t)},h.prototype.validate=function(t){if(t.isInfinity())return!0;t.normalize();var e=t.x.redSqr(),r=t.y.redSqr(),i=e.redMul(this.a).redAdd(r),n=this.c2.redMul(this.one.redAdd(this.d.redMul(e).redMul(r)));return 0===i.cmp(n)},s(u,o.BasePoint),h.prototype.pointFromJSON=function(t){return u.fromJSON(this,t)},h.prototype.point=function(t,e,r,i){return new u(this,t,e,r,i)},u.fromJSON=function(t,e){return new u(t,e[0],e[1],e[2])},u.prototype.inspect=function(){return this.isInfinity()?"":""},u.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},u.prototype._extDbl=function(){var t=this.x.redSqr(),e=this.y.redSqr(),r=this.z.redSqr();r=r.redIAdd(r);var i=this.curve._mulA(t),n=this.x.redAdd(this.y).redSqr().redISub(t).redISub(e),s=i.redAdd(e),o=s.redSub(r),a=i.redSub(e),h=n.redMul(o),u=s.redMul(a),f=n.redMul(a),l=o.redMul(s);return this.curve.point(h,u,l,f)},u.prototype._projDbl=function(){var t,e,r,i,n,s,o=this.x.redAdd(this.y).redSqr(),a=this.x.redSqr(),h=this.y.redSqr();if(this.curve.twisted){var u=(i=this.curve._mulA(a)).redAdd(h);this.zOne?(t=o.redSub(a).redSub(h).redMul(u.redSub(this.curve.two)),e=u.redMul(i.redSub(h)),r=u.redSqr().redSub(u).redSub(u)):(n=this.z.redSqr(),s=u.redSub(n).redISub(n),t=o.redSub(a).redISub(h).redMul(s),e=u.redMul(i.redSub(h)),r=u.redMul(s))}else i=a.redAdd(h),n=this.curve._mulC(this.z).redSqr(),s=i.redSub(n).redSub(n),t=this.curve._mulC(o.redISub(i)).redMul(s),e=this.curve._mulC(i).redMul(a.redISub(h)),r=i.redMul(s);return this.curve.point(t,e,r)},u.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},u.prototype._extAdd=function(t){var e=this.y.redSub(this.x).redMul(t.y.redSub(t.x)),r=this.y.redAdd(this.x).redMul(t.y.redAdd(t.x)),i=this.t.redMul(this.curve.dd).redMul(t.t),n=this.z.redMul(t.z.redAdd(t.z)),s=r.redSub(e),o=n.redSub(i),a=n.redAdd(i),h=r.redAdd(e),u=s.redMul(o),f=a.redMul(h),l=s.redMul(h),c=o.redMul(a);return this.curve.point(u,f,c,l)},u.prototype._projAdd=function(t){var e,r,i=this.z.redMul(t.z),n=i.redSqr(),s=this.x.redMul(t.x),o=this.y.redMul(t.y),a=this.curve.d.redMul(s).redMul(o),h=n.redSub(a),u=n.redAdd(a),f=this.x.redAdd(this.y).redMul(t.x.redAdd(t.y)).redISub(s).redISub(o),l=i.redMul(h).redMul(f);return this.curve.twisted?(e=i.redMul(u).redMul(o.redSub(this.curve._mulA(s))),r=h.redMul(u)):(e=i.redMul(u).redMul(o.redSub(s)),r=this.curve._mulC(h).redMul(u)),this.curve.point(l,e,r)},u.prototype.add=function(t){return this.isInfinity()?t:t.isInfinity()?this:this.curve.extended?this._extAdd(t):this._projAdd(t)},u.prototype.mul=function(t){return this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve._wnafMul(this,t)},u.prototype.mulAdd=function(t,e,r){return this.curve._wnafMulAdd(1,[this,e],[t,r],2,!1)},u.prototype.jmulAdd=function(t,e,r){return this.curve._wnafMulAdd(1,[this,e],[t,r],2,!0)},u.prototype.normalize=function(){if(this.zOne)return this;var t=this.z.redInvm();return this.x=this.x.redMul(t),this.y=this.y.redMul(t),this.t&&(this.t=this.t.redMul(t)),this.z=this.curve.one,this.zOne=!0,this},u.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},u.prototype.getX=function(){return this.normalize(),this.x.fromRed()},u.prototype.getY=function(){return this.normalize(),this.y.fromRed()},u.prototype.eq=function(t){return this===t||0===this.getX().cmp(t.getX())&&0===this.getY().cmp(t.getY())},u.prototype.eqXToP=function(t){var e=t.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(e))return!0;for(var r=t.clone(),i=this.curve.redN.redMul(this.z);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(e.redIAdd(i),0===this.x.cmp(e))return!0}},u.prototype.toP=u.prototype.normalize,u.prototype.mixedAdd=u.prototype.add},1314:t=>{t.exports=function(t,e){if(e>=t.length||e<0)return;var r=t.pop();if(e{var i=r(8287).Buffer,n=r(6729),s=r(2801);t.exports=function(t){return new a(t)};var o={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};function a(t){this.curveType=o[t],this.curveType||(this.curveType={name:t}),this.curve=new n.ec(this.curveType.name),this.keys=void 0}function h(t,e,r){Array.isArray(t)||(t=t.toArray());var n=new i(t);if(r&&n.length{t.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var t={},e=Symbol("test"),r=Object(e);if("string"==typeof e)return!1;if("[object Symbol]"!==Object.prototype.toString.call(e))return!1;if("[object Symbol]"!==Object.prototype.toString.call(r))return!1;for(var i in t[e]=42,t)return!1;if("function"==typeof Object.keys&&0!==Object.keys(t).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(t).length)return!1;var n=Object.getOwnPropertySymbols(t);if(1!==n.length||n[0]!==e)return!1;if(!Object.prototype.propertyIsEnumerable.call(t,e))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var s=Object.getOwnPropertyDescriptor(t,e);if(42!==s.value||!0!==s.enumerable)return!1}return!0}},1416:(t,e,r)=>{t.exports=r(8310)},1467:t=>{function e(t,e){if("string"==typeof t[0])return t.join("");if("number"==typeof t[0])return new Uint8Array(t);const r=new Uint8Array(e);let i=0;for(let e=0,n=t.length;e=r){const t=e(o,a);let i=0;for(;a>=r;)yield t.slice(i,i+r),a-=r,i+=r;o=[t.slice(i,t.length)]}a&&(yield e(o,s?r:a))}},1514:(t,e,r)=>{var i=r(8403);t.exports=function(){return Object.assign?function(){if(!Object.assign)return!1;for(var t="abcdefghijklmnopqrst",e=t.split(""),r={},i=0;i{e.randomBytes=e.rng=e.pseudoRandomBytes=e.prng=r(3209),e.createHash=e.Hash=r(7108),e.createHmac=e.Hmac=r(3507);var i=r(5715),n=Object.keys(i),s=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(n);e.getHashes=function(){return s};var o=r(5488);e.pbkdf2=o.pbkdf2,e.pbkdf2Sync=o.pbkdf2Sync;var a=r(125);e.Cipher=a.Cipher,e.createCipher=a.createCipher,e.Cipheriv=a.Cipheriv,e.createCipheriv=a.createCipheriv,e.Decipher=a.Decipher,e.createDecipher=a.createDecipher,e.Decipheriv=a.Decipheriv,e.createDecipheriv=a.createDecipheriv,e.getCiphers=a.getCiphers,e.listCiphers=a.listCiphers;var h=r(5380);e.DiffieHellmanGroup=h.DiffieHellmanGroup,e.createDiffieHellmanGroup=h.createDiffieHellmanGroup,e.getDiffieHellman=h.getDiffieHellman,e.createDiffieHellman=h.createDiffieHellman,e.DiffieHellman=h.DiffieHellman;var u=r(20);e.createSign=u.createSign,e.Sign=u.Sign,e.createVerify=u.createVerify,e.Verify=u.Verify,e.createECDH=r(1324);var f=r(7168);e.publicEncrypt=f.publicEncrypt,e.privateEncrypt=f.privateEncrypt,e.publicDecrypt=f.publicDecrypt,e.privateDecrypt=f.privateDecrypt;var l=r(6983);e.randomFill=l.randomFill,e.randomFillSync=l.randomFillSync,e.createCredentials=function(){throw new Error("sorry, createCredentials is not implemented yet\nwe accept pull requests\nhttps://github.com/browserify/crypto-browserify")},e.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}},1591:t=>{t.exports=function(){throw new Error("ws does not work in the browser. Browser clients must use the native WebSocket object")}},1630:t=>{function e(t,e){return Object.prototype.hasOwnProperty.call(t,e)}t.exports=function(t,r,i,n){r=r||"&",i=i||"=";var s={};if("string"!=typeof t||0===t.length)return s;var o=/\+/g;t=t.split(r);var a=1e3;n&&"number"==typeof n.maxKeys&&(a=n.maxKeys);var h=t.length;a>0&&h>a&&(h=a);for(var u=0;u=0?(f=p.substr(0,m),l=p.substr(m+1)):(f=p,l=""),c=decodeURIComponent(f),d=decodeURIComponent(l),e(s,c)?Array.isArray(s[c])?s[c].push(d):s[c]=[s[c],d]:s[c]=d}return s}},1636:t=>{t.exports={rE:"6.6.1"}},1672:(t,e,r)=>{var i=r(717);t.exports=function(t,e){var r=0,n=[],s=!0;function o(t){function r(){e&&e(t,n)}s?i.nextTick(r):r()}t.length>0?t[0]((function e(i,s){n.push(s),++r>=t.length||i?o(i):t[r](e)})):o(null);s=!1}},1678:(t,e,r)=>{const i=r(537),n=r(8957),s=r(5905).HTTPParser,o=r(4529).ok,a=r(2728),h=a.parsers,u=a.freeParser,f=a.debug,l=a.CRLF,c=a.continueExpression,d=a.chunkExpression,p=a.httpSocketSetup,m=r(8419).OutgoingMessage,g=e.STATUS_CODES={100:"Continue",101:"Switching Protocols",102:"Processing",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Unordered Collection",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"},y=0|s.kOnExecute;function b(t){m.call(this),"HEAD"===t.method&&(this._hasBody=!1),this.sendDate=!0,(t.httpVersionMajor<1||t.httpVersionMinor<1)&&(this.useChunkedEncodingByDefault=d.test(t.headers.te),this.shouldKeepAlive=!1)}function v(){this._httpMessage&&this._httpMessage.emit("close")}function w(t){if(!(this instanceof w))return new w(t);n.Server.call(this,{allowHalfOpen:!0}),t&&this.addListener("request",t),this.httpAllowHalfOpen=!1,this.addListener("connection",_),this.timeout=12e4,this._pendingResponseData=0}function _(t){var e=this,r=[],i=[],n=0;function a(e){if(n+=e,t._paused&&n=t._writableState.highWaterMark)&&(t._paused=!0,t.pause())}var u=new b(s);u._onPendingData=a,u.shouldKeepAlive=h,t._httpMessage?r.push(u):u.assignSocket(t);u.on("finish",(function(){o(0===i.length||i[0]===s),i.shift(),s._consuming||s._readableState.resumeScheduled||s._dump();if(u.detachSocket(t),u._last)t.destroySoon();else{var e=r.shift();e&&e.assignSocket(t)}})),void 0!==s.headers.expect&&1==s.httpVersionMajor&&1==s.httpVersionMinor?c.test(s.headers.expect)?(u._expect_continue=!0,e.listenerCount("checkContinue")>0?e.emit("checkContinue",s,u):(u.writeContinue(),e.emit("request",s,u))):e.listenerCount("checkExpectation")>0?e.emit("checkExpectation",s,u):(u.writeHead(417),u.end()):e.emit("request",s,u);return!1},t.on("end",x),t.on("data",w),t.on("resume",M),t.on("pause",S),t.on("drain",A),t.on=E;var g=t._handle&&t._handle._externalStream;function v(t){this.removeListener("error",v),this.on("error",(()=>{})),e.emit("clientError",t,this)||this.destroy(t)}function w(e){o(!t._paused),f("SERVER socketOnData %d",e.length),_(m.execute(e),e)}function _(r,i){if(r instanceof Error)f("parse error"),v.call(t,r);else if(m.incoming&&m.incoming.upgrade){var n=r,s=m.incoming;f("SERVER upgrade or connect",s.method),i||(i=m.getCurrentBuffer()),t.removeListener("data",w),t.removeListener("end",x),t.removeListener("close",d),k(m,t),m.finish(),u(m,s,null),m=null;var o="CONNECT"===s.method?"connect":"upgrade";if(e.listenerCount(o)>0){f("SERVER have listener for %s",o);var a=i.slice(n,i.length);t._readableState.flowing=null,e.emit(o,s,t,a)}else t.destroy()}t._paused&&t.parser&&(f("pause parser"),t.parser.pause())}function x(){var t=this,i=m.finish();if(i instanceof Error)return f("parse error"),void v.call(t,i);e.httpAllowHalfOpen?r.length?r[r.length-1]._last=!0:t._httpMessage?t._httpMessage._last=!0:t.writable&&t.end():(l(),t.writable&&t.end())}function A(){var e=n>t._writableState.highWaterMark;t._paused&&!e&&(t._paused=!1,t.parser&&t.parser.resume(),t.resume())}g&&(m._consumed=!0,m.consume(g)),g=null,m[y]=function(e,r){t._unrefTimer(),f("SERVER socketOnParserExecute %d",e),_(e,void 0)},t._paused=!1}function M(){this._paused?this.pause():this._handle&&!this._handle.reading&&(this._handle.reading=!0,this._handle.readStart())}function S(){this._handle&&this._handle.reading&&(this._handle.reading=!1,this._handle.readStop())}function k(t,e){e._handle&&(t._consumed&&t.unconsume(e._handle._externalStream),t._consumed=!1,e.removeListener("pause",S),e.removeListener("resume",M))}function E(t,e){var r=n.Socket.prototype.on.call(this,t,e);return this.parser?("data"!==t&&"readable"!==t||k(this.parser,this),r):(this.on=n.Socket.prototype.on,r)}i.inherits(b,m),b.prototype._finish=function(){m.prototype._finish.call(this)},e.ServerResponse=b,b.prototype.statusCode=200,b.prototype.statusMessage=void 0,b.prototype.assignSocket=function(t){o(!t._httpMessage),t._httpMessage=this,t.on("close",v),this.socket=t,this.connection=t,this.emit("socket",t),this._flush()},b.prototype.detachSocket=function(t){o(t._httpMessage===this),t.removeListener("close",v),t._httpMessage=null,this.socket=this.connection=null},b.prototype.writeContinue=function(t){this._writeRaw("HTTP/1.1 100 Continue"+l+l,"ascii",t),this._sent100=!0},b.prototype._implicitHeader=function(){this.writeHead(this.statusCode)},b.prototype.writeHead=function(t,e,r){var i;if("string"==typeof e?this.statusMessage=e:(this.statusMessage=this.statusMessage||g[t]||"unknown",r=e),this.statusCode=t,this._headers){if(r)for(var n=Object.keys(r),s=0;s999)throw new RangeError(`Invalid status code: ${t}`);var a="HTTP/1.1 "+t.toString()+" "+this.statusMessage+l;(204===t||304===t||100<=t&&t<=199)&&(this._hasBody=!1),this._expect_continue&&!this._sent100&&(this.shouldKeepAlive=!1),this._storeHeader(a,i)},b.prototype.writeHeader=function(){this.writeHead.apply(this,arguments)},i.inherits(w,n.Server),w.prototype.setTimeout=function(t,e){return this.timeout=t,e&&this.on("timeout",e),this},e.Server=w,e._connectionListener=_},1800:(t,e,r)=>{var i=r(6698),n=r(2861).Buffer,s=r(6168),o=n.alloc(128),a=64;function h(t,e){s.call(this,"digest"),"string"==typeof e&&(e=n.from(e)),this._alg=t,this._key=e,e.length>a?e=t(e):e.length{t.exports=o;var i=r(6248),n=Object.create(r(5622));function s(t,e){var r=this._transformState;r.transforming=!1;var i=r.writecb;if(!i)return this.emit("error",new Error("write callback called multiple times"));r.writechunk=null,r.writecb=null,null!=e&&this.push(e),i(t);var n=this._readableState;n.reading=!1,(n.needReadable||n.length{},1862:(t,e,r)=>{t.exports=r(8310)},1911:(t,e,r)=>{var i=r(7426),n=r(7766);function s(){if(!(this instanceof s))return new s;n.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}i.inherits(s,n),t.exports=s,s.blockSize=1024,s.outSize=384,s.hmacStrength=192,s.padLength=128,s.prototype._digest=function(t){return"hex"===t?i.toHex32(this.h.slice(0,12),"big"):i.split32(this.h.slice(0,12),"big")}},2010:(t,e,r)=>{var i=r(6698),n=r(7568),s=n.base,o=n.bignum,a=n.constants.der;function h(t){this.enc="der",this.name=t.name,this.entity=t,this.tree=new u,this.tree._init(t.body)}function u(t){s.Node.call(this,"der",t)}function f(t,e){var r=t.readUInt8(e);if(t.isError(r))return r;var i=a.tagClass[r>>6],n=!(32&r);if(31&~r)r&=31;else{var s=r;for(r=0;!(128&~s);){if(s=t.readUInt8(e),t.isError(s))return s;r<<=7,r|=127&s}}return{cls:i,primitive:n,tag:r,tagStr:a.tag[r]}}function l(t,e,r){var i=t.readUInt8(r);if(t.isError(i))return i;if(!e&&128===i)return null;if(!(128&i))return i;var n=127&i;if(n>4)return t.error("length octect is too long");i=0;for(var s=0;s{t.exports=function(t,e){for(var r=t.length,i=-1;++i{t.exports={wait:function(t){return new Promise((e=>setTimeout(e,t)))}}},2085:(t,e,r)=>{var i=r(640),n=function(t){switch(t.length){case 6:return t[0]+"."+t[1]+"."+t[2]+"."+t[3]+":"+t.readUInt16BE(4);case 18:for(var e=[],r=0;r<8;r++)e.push(t.readUInt16BE(2*r).toString(16));return"["+i.parse(e.join(":")).toString()+"]:"+t.readUInt16BE(16);default:throw new Error("Invalid Compact IP/PORT, It should contain 6 or 18 bytes")}};n.multi=function(t){if(t.length%6!=0)throw new Error("buf length isn't multiple of compact IP/PORTs (6 bytes)");for(var e=[],r=0;r<=t.length-1;r+=6)e.push(n(t.slice(r,r+6)));return e},n.multi6=function(t){if(t.length%18!=0)throw new Error("buf length isn't multiple of compact IP6/PORTs (18 bytes)");for(var e=[],r=0;r<=t.length-1;r+=18)e.push(n(t.slice(r,r+18)));return e},t.exports=n},2153:(t,e,r)=>{var i=e;i._reverse=function(t){var e={};return Object.keys(t).forEach((function(r){(0|r)==r&&(r|=0);var i=t[r];e[i]=r})),e},i.der=r(4598)},2195:(t,e,r)=>{const i=r(537),n=i,s=r(7007);e.IncomingMessage=r(3989).IncomingMessage;const o=r(2728);e.METHODS=o.methods.slice().sort(),e.OutgoingMessage=r(8419).OutgoingMessage;const a=r(1678);e.ServerResponse=a.ServerResponse,e.STATUS_CODES=a.STATUS_CODES;const h=r(8748),u=e.Agent=h.Agent;e.globalAgent=h.globalAgent;const f=r(5930),l=e.ClientRequest=f.ClientRequest;e.request=function(t,e){return new l(t,e)},e.get=function(t,r){var i=e.request(t,r);return i.end(),i},e._connectionListener=a._connectionListener;const c=e.Server=a.Server;function d(t,e){if(!(this instanceof d))return new d(t,e);s.call(this),e=e||"localhost",t=t||80,this.host=e,this.port=t,this.agent=new u({host:e,port:t,maxSockets:1})}e.createServer=function(t){return new c(t)},i.inherits(d,s),d.prototype.request=function(t,e,r){var i=this,n={};n.host=i.host,n.port=i.port,"/"===t[0]&&(r=e,e=t,t="GET"),n.method=t,n.path=e,n.headers=r,n.agent=i.agent;var s=new l(n);return s.on("error",(function(t){i.emit("error",t)})),s.on("socket",(function(t){t.on("end",(function(){if(i._decoder){var t=i._decoder.end();t&&i.emit("data",t)}i.emit("end")}))})),s},e.Client=n.deprecate(d,"http.Client is deprecated."),e.createClient=n.deprecate((function(t,e){return new d(t,e)}),"http.createClient is deprecated. Use http.request instead.")},2211:(t,e,r)=>{var i=r(3349),n=r(6698),s=r(7626),o=r(2808);function a(){this.tmp=new Array(2),this.keys=null}function h(t){o.call(this,t);var e=new a;this._desState=e,this.deriveKeys(e,t.key)}n(h,o),t.exports=h,h.create=function(t){return new h(t)};var u=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];h.prototype.deriveKeys=function(t,e){t.keys=new Array(32),i.equal(e.length,this.blockSize,"Invalid key length");var r=s.readUInt32BE(e,0),n=s.readUInt32BE(e,4);s.pc1(r,n,t.tmp,0),r=t.tmp[0],n=t.tmp[1];for(var o=0;o>>1];r=s.r28shl(r,a),n=s.r28shl(n,a),s.pc2(r,n,t.keys,o)}},h.prototype._update=function(t,e,r,i){var n=this._desState,o=s.readUInt32BE(t,e),a=s.readUInt32BE(t,e+4);s.ip(o,a,n.tmp,0),o=n.tmp[0],a=n.tmp[1],"encrypt"===this.type?this._encrypt(n,o,a,n.tmp,0):this._decrypt(n,o,a,n.tmp,0),o=n.tmp[0],a=n.tmp[1],s.writeUInt32BE(r,o,i),s.writeUInt32BE(r,a,i+4)},h.prototype._pad=function(t,e){if(!1===this.padding)return!1;for(var r=t.length-e,i=e;i>>0,o=c}s.rip(a,o,i,n)},h.prototype._decrypt=function(t,e,r,i,n){for(var o=r,a=e,h=t.keys.length-2;h>=0;h-=2){var u=t.keys[h],f=t.keys[h+1];s.expand(o,t.tmp,0),u^=t.tmp[0],f^=t.tmp[1];var l=s.substitute(u,f),c=o;o=(a^s.permute(l))>>>0,a=c}s.rip(o,a,i,n)}},2240:t=>{var e={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==e.call(t)}},2244:(t,e,r)=>{var i=r(1158),n=r(5037);function s(t){this.rand=t||new n.Rand}t.exports=s,s.create=function(t){return new s(t)},s.prototype._randbelow=function(t){var e=t.bitLength(),r=Math.ceil(e/8);do{var n=new i(this.rand.generate(r))}while(n.cmp(t)>=0);return n},s.prototype._randrange=function(t,e){var r=e.sub(t);return t.add(this._randbelow(r))},s.prototype.test=function(t,e,r){var n=t.bitLength(),s=i.mont(t),o=new i(1).toRed(s);e||(e=Math.max(1,n/48|0));for(var a=t.subn(1),h=0;!a.testn(h);h++);for(var u=t.shrn(h),f=a.toRed(s);e>0;e--){var l=this._randrange(new i(2),a);r&&r(l);var c=l.toRed(s).redPow(u);if(0!==c.cmp(o)&&0!==c.cmp(f)){for(var d=1;d0;e--){var f=this._randrange(new i(2),o),l=t.gcd(f);if(0!==l.cmpn(1))return l;var c=f.toRed(n).redPow(h);if(0!==c.cmp(s)&&0!==c.cmp(u)){for(var d=1;d{var i=r(453),n=r(6556),s=r(8859),o=r(507),a=r(9675),h=i("%WeakMap%",!0),u=n("WeakMap.prototype.get",!0),f=n("WeakMap.prototype.set",!0),l=n("WeakMap.prototype.has",!0),c=n("WeakMap.prototype.delete",!0);t.exports=h?function(){var t,e,r={assert:function(t){if(!r.has(t))throw new a("Side channel does not contain "+s(t))},delete:function(r){if(h&&r&&("object"==typeof r||"function"==typeof r)){if(t)return c(t,r)}else if(o&&e)return e.delete(r);return!1},get:function(r){return h&&r&&("object"==typeof r||"function"==typeof r)&&t?u(t,r):e&&e.get(r)},has:function(r){return h&&r&&("object"==typeof r||"function"==typeof r)&&t?l(t,r):!!e&&e.has(r)},set:function(r,i){h&&r&&("object"==typeof r||"function"==typeof r)?(t||(t=new h),f(t,r,i)):o&&(e||(e=o()),e.set(r,i))}};return r}:o},2287:(t,e,r)=>{var i=r(7426),n=r(6166),s=r(6225),o=r(3349),a=i.sum32,h=i.sum32_4,u=i.sum32_5,f=s.ch32,l=s.maj32,c=s.s0_256,d=s.s1_256,p=s.g0_256,m=s.g1_256,g=n.BlockHash,y=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function b(){if(!(this instanceof b))return new b;g.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=y,this.W=new Array(64)}i.inherits(b,g),t.exports=b,b.blockSize=512,b.outSize=256,b.hmacStrength=192,b.padLength=64,b.prototype._update=function(t,e){for(var r=this.W,i=0;i<16;i++)r[i]=t[e+i];for(;i=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function h(t,e,r){var i=a(t,r);return r-1>=e&&(i|=a(t,r-1)<<4),i}function u(t,e,r,i){for(var n=0,s=Math.min(t.length,r),o=e;o=49?a-49+10:a>=17?a-17+10:a}return n}s.isBN=function(t){return t instanceof s||null!==t&&"object"==typeof t&&t.constructor.wordSize===s.wordSize&&Array.isArray(t.words)},s.max=function(t,e){return t.cmp(e)>0?t:e},s.min=function(t,e){return t.cmp(e)<0?t:e},s.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),i(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n=0;n-=3)o=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[s]|=o<>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);else if("le"===r)for(n=0,s=0;n>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);return this.strip()},s.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i=e;i-=2)n=h(t,e,i)<=18?(s-=18,o+=1,this.words[o]|=n>>>26):s+=8;else for(i=(t.length-e)%2==0?e+1:e;i=18?(s-=18,o+=1,this.words[o]|=n>>>26):s+=8;this.strip()},s.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var s=t.length-r,o=s%i,a=Math.min(s,s-o)+r,h=0,f=r;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var f=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],c=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],s=0|e.words[0],o=n*s,a=67108863&o,h=o/67108864|0;r.words[0]=a;for(var u=1;u>>26,l=67108863&h,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(o=(n=0|t.words[p])*(s=0|e.words[d])+l)/67108864|0,l=67108863&o}r.words[u]=0|l,h=0|f}return 0!==h?r.words[u]=0|h:r.length--,r.strip()}s.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var n=0,s=0,o=0;o>>24-n&16777215,(n+=2)>=26&&(n-=26,o--),r=0!==s||o!==this.length-1?f[6-h.length]+h+r:h+r}for(0!==s&&(r=s.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var u=l[t],d=c[t];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);r=(p=p.idivn(d)).isZero()?m+r:f[u-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(t,e){return i(void 0!==o),this.toArrayLike(o,t,e)},s.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},s.prototype.toArrayLike=function(t,e,r){var n=this.byteLength(),s=r||Math.max(1,n);i(n<=s,"byte array longer than desired length"),i(s>0,"Requested array length <= 0"),this.strip();var o,a,h="le"===e,u=new t(s),f=this.clone();if(h){for(a=0;!f.isZero();a++)o=f.andln(255),f.iushrn(8),u[a]=o;for(;a=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},s.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 8191&e||(r+=13,e>>>=13),127&e||(r+=7,e>>>=7),15&e||(r+=4,e>>>=4),3&e||(r+=2,e>>>=2),1&e||r++,r},s.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},s.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},s.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},s.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},s.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},s.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},s.prototype.inotn=function(t){i("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},s.prototype.notn=function(t){return this.clone().inotn(t)},s.prototype.setn=function(t,e){i("number"==typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,s=0;s>>26;for(;0!==n&&s>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;st.length?this.clone().iadd(t):t.clone().iadd(this)},s.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var s=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==s&&o>26,this.words[o]=67108863&e;if(0===s&&o>>13,d=0|o[1],p=8191&d,m=d>>>13,g=0|o[2],y=8191&g,b=g>>>13,v=0|o[3],w=8191&v,_=v>>>13,M=0|o[4],S=8191&M,k=M>>>13,E=0|o[5],x=8191&E,A=E>>>13,I=0|o[6],T=8191&I,P=I>>>13,C=0|o[7],R=8191&C,O=C>>>13,B=0|o[8],L=8191&B,N=B>>>13,j=0|o[9],U=8191&j,q=j>>>13,D=0|a[0],H=8191&D,F=D>>>13,z=0|a[1],$=8191&z,W=z>>>13,K=0|a[2],V=8191&K,Z=K>>>13,G=0|a[3],Y=8191&G,J=G>>>13,X=0|a[4],Q=8191&X,tt=X>>>13,et=0|a[5],rt=8191&et,it=et>>>13,nt=0|a[6],st=8191&nt,ot=nt>>>13,at=0|a[7],ht=8191&at,ut=at>>>13,ft=0|a[8],lt=8191&ft,ct=ft>>>13,dt=0|a[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,H))|0)+((8191&(n=(n=Math.imul(l,F))+Math.imul(c,H)|0))<<13)|0;u=((s=Math.imul(c,F))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,H),n=(n=Math.imul(p,F))+Math.imul(m,H)|0,s=Math.imul(m,F);var yt=(u+(i=i+Math.imul(l,$)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,$)|0))<<13)|0;u=((s=s+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,H),n=(n=Math.imul(y,F))+Math.imul(b,H)|0,s=Math.imul(b,F),i=i+Math.imul(p,$)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,$)|0,s=s+Math.imul(m,W)|0;var bt=(u+(i=i+Math.imul(l,V)|0)|0)+((8191&(n=(n=n+Math.imul(l,Z)|0)+Math.imul(c,V)|0))<<13)|0;u=((s=s+Math.imul(c,Z)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(w,H),n=(n=Math.imul(w,F))+Math.imul(_,H)|0,s=Math.imul(_,F),i=i+Math.imul(y,$)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(b,$)|0,s=s+Math.imul(b,W)|0,i=i+Math.imul(p,V)|0,n=(n=n+Math.imul(p,Z)|0)+Math.imul(m,V)|0,s=s+Math.imul(m,Z)|0;var vt=(u+(i=i+Math.imul(l,Y)|0)|0)+((8191&(n=(n=n+Math.imul(l,J)|0)+Math.imul(c,Y)|0))<<13)|0;u=((s=s+Math.imul(c,J)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(S,H),n=(n=Math.imul(S,F))+Math.imul(k,H)|0,s=Math.imul(k,F),i=i+Math.imul(w,$)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(_,$)|0,s=s+Math.imul(_,W)|0,i=i+Math.imul(y,V)|0,n=(n=n+Math.imul(y,Z)|0)+Math.imul(b,V)|0,s=s+Math.imul(b,Z)|0,i=i+Math.imul(p,Y)|0,n=(n=n+Math.imul(p,J)|0)+Math.imul(m,Y)|0,s=s+Math.imul(m,J)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((s=s+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(x,H),n=(n=Math.imul(x,F))+Math.imul(A,H)|0,s=Math.imul(A,F),i=i+Math.imul(S,$)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(k,$)|0,s=s+Math.imul(k,W)|0,i=i+Math.imul(w,V)|0,n=(n=n+Math.imul(w,Z)|0)+Math.imul(_,V)|0,s=s+Math.imul(_,Z)|0,i=i+Math.imul(y,Y)|0,n=(n=n+Math.imul(y,J)|0)+Math.imul(b,Y)|0,s=s+Math.imul(b,J)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,s=s+Math.imul(m,tt)|0;var _t=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((s=s+Math.imul(c,it)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(T,H),n=(n=Math.imul(T,F))+Math.imul(P,H)|0,s=Math.imul(P,F),i=i+Math.imul(x,$)|0,n=(n=n+Math.imul(x,W)|0)+Math.imul(A,$)|0,s=s+Math.imul(A,W)|0,i=i+Math.imul(S,V)|0,n=(n=n+Math.imul(S,Z)|0)+Math.imul(k,V)|0,s=s+Math.imul(k,Z)|0,i=i+Math.imul(w,Y)|0,n=(n=n+Math.imul(w,J)|0)+Math.imul(_,Y)|0,s=s+Math.imul(_,J)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(b,Q)|0,s=s+Math.imul(b,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,s=s+Math.imul(m,it)|0;var Mt=(u+(i=i+Math.imul(l,st)|0)|0)+((8191&(n=(n=n+Math.imul(l,ot)|0)+Math.imul(c,st)|0))<<13)|0;u=((s=s+Math.imul(c,ot)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(R,H),n=(n=Math.imul(R,F))+Math.imul(O,H)|0,s=Math.imul(O,F),i=i+Math.imul(T,$)|0,n=(n=n+Math.imul(T,W)|0)+Math.imul(P,$)|0,s=s+Math.imul(P,W)|0,i=i+Math.imul(x,V)|0,n=(n=n+Math.imul(x,Z)|0)+Math.imul(A,V)|0,s=s+Math.imul(A,Z)|0,i=i+Math.imul(S,Y)|0,n=(n=n+Math.imul(S,J)|0)+Math.imul(k,Y)|0,s=s+Math.imul(k,J)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,s=s+Math.imul(_,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(b,rt)|0,s=s+Math.imul(b,it)|0,i=i+Math.imul(p,st)|0,n=(n=n+Math.imul(p,ot)|0)+Math.imul(m,st)|0,s=s+Math.imul(m,ot)|0;var St=(u+(i=i+Math.imul(l,ht)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,ht)|0))<<13)|0;u=((s=s+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(L,H),n=(n=Math.imul(L,F))+Math.imul(N,H)|0,s=Math.imul(N,F),i=i+Math.imul(R,$)|0,n=(n=n+Math.imul(R,W)|0)+Math.imul(O,$)|0,s=s+Math.imul(O,W)|0,i=i+Math.imul(T,V)|0,n=(n=n+Math.imul(T,Z)|0)+Math.imul(P,V)|0,s=s+Math.imul(P,Z)|0,i=i+Math.imul(x,Y)|0,n=(n=n+Math.imul(x,J)|0)+Math.imul(A,Y)|0,s=s+Math.imul(A,J)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(k,Q)|0,s=s+Math.imul(k,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(_,rt)|0,s=s+Math.imul(_,it)|0,i=i+Math.imul(y,st)|0,n=(n=n+Math.imul(y,ot)|0)+Math.imul(b,st)|0,s=s+Math.imul(b,ot)|0,i=i+Math.imul(p,ht)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,ht)|0,s=s+Math.imul(m,ut)|0;var kt=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((s=s+Math.imul(c,ct)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(U,H),n=(n=Math.imul(U,F))+Math.imul(q,H)|0,s=Math.imul(q,F),i=i+Math.imul(L,$)|0,n=(n=n+Math.imul(L,W)|0)+Math.imul(N,$)|0,s=s+Math.imul(N,W)|0,i=i+Math.imul(R,V)|0,n=(n=n+Math.imul(R,Z)|0)+Math.imul(O,V)|0,s=s+Math.imul(O,Z)|0,i=i+Math.imul(T,Y)|0,n=(n=n+Math.imul(T,J)|0)+Math.imul(P,Y)|0,s=s+Math.imul(P,J)|0,i=i+Math.imul(x,Q)|0,n=(n=n+Math.imul(x,tt)|0)+Math.imul(A,Q)|0,s=s+Math.imul(A,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(k,rt)|0,s=s+Math.imul(k,it)|0,i=i+Math.imul(w,st)|0,n=(n=n+Math.imul(w,ot)|0)+Math.imul(_,st)|0,s=s+Math.imul(_,ot)|0,i=i+Math.imul(y,ht)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(b,ht)|0,s=s+Math.imul(b,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,s=s+Math.imul(m,ct)|0;var Et=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((s=s+Math.imul(c,mt)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(U,$),n=(n=Math.imul(U,W))+Math.imul(q,$)|0,s=Math.imul(q,W),i=i+Math.imul(L,V)|0,n=(n=n+Math.imul(L,Z)|0)+Math.imul(N,V)|0,s=s+Math.imul(N,Z)|0,i=i+Math.imul(R,Y)|0,n=(n=n+Math.imul(R,J)|0)+Math.imul(O,Y)|0,s=s+Math.imul(O,J)|0,i=i+Math.imul(T,Q)|0,n=(n=n+Math.imul(T,tt)|0)+Math.imul(P,Q)|0,s=s+Math.imul(P,tt)|0,i=i+Math.imul(x,rt)|0,n=(n=n+Math.imul(x,it)|0)+Math.imul(A,rt)|0,s=s+Math.imul(A,it)|0,i=i+Math.imul(S,st)|0,n=(n=n+Math.imul(S,ot)|0)+Math.imul(k,st)|0,s=s+Math.imul(k,ot)|0,i=i+Math.imul(w,ht)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(_,ht)|0,s=s+Math.imul(_,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(b,lt)|0,s=s+Math.imul(b,ct)|0;var xt=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((s=s+Math.imul(m,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(U,V),n=(n=Math.imul(U,Z))+Math.imul(q,V)|0,s=Math.imul(q,Z),i=i+Math.imul(L,Y)|0,n=(n=n+Math.imul(L,J)|0)+Math.imul(N,Y)|0,s=s+Math.imul(N,J)|0,i=i+Math.imul(R,Q)|0,n=(n=n+Math.imul(R,tt)|0)+Math.imul(O,Q)|0,s=s+Math.imul(O,tt)|0,i=i+Math.imul(T,rt)|0,n=(n=n+Math.imul(T,it)|0)+Math.imul(P,rt)|0,s=s+Math.imul(P,it)|0,i=i+Math.imul(x,st)|0,n=(n=n+Math.imul(x,ot)|0)+Math.imul(A,st)|0,s=s+Math.imul(A,ot)|0,i=i+Math.imul(S,ht)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(k,ht)|0,s=s+Math.imul(k,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(_,lt)|0,s=s+Math.imul(_,ct)|0;var At=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(b,pt)|0))<<13)|0;u=((s=s+Math.imul(b,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(U,Y),n=(n=Math.imul(U,J))+Math.imul(q,Y)|0,s=Math.imul(q,J),i=i+Math.imul(L,Q)|0,n=(n=n+Math.imul(L,tt)|0)+Math.imul(N,Q)|0,s=s+Math.imul(N,tt)|0,i=i+Math.imul(R,rt)|0,n=(n=n+Math.imul(R,it)|0)+Math.imul(O,rt)|0,s=s+Math.imul(O,it)|0,i=i+Math.imul(T,st)|0,n=(n=n+Math.imul(T,ot)|0)+Math.imul(P,st)|0,s=s+Math.imul(P,ot)|0,i=i+Math.imul(x,ht)|0,n=(n=n+Math.imul(x,ut)|0)+Math.imul(A,ht)|0,s=s+Math.imul(A,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(k,lt)|0,s=s+Math.imul(k,ct)|0;var It=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;u=((s=s+Math.imul(_,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(U,Q),n=(n=Math.imul(U,tt))+Math.imul(q,Q)|0,s=Math.imul(q,tt),i=i+Math.imul(L,rt)|0,n=(n=n+Math.imul(L,it)|0)+Math.imul(N,rt)|0,s=s+Math.imul(N,it)|0,i=i+Math.imul(R,st)|0,n=(n=n+Math.imul(R,ot)|0)+Math.imul(O,st)|0,s=s+Math.imul(O,ot)|0,i=i+Math.imul(T,ht)|0,n=(n=n+Math.imul(T,ut)|0)+Math.imul(P,ht)|0,s=s+Math.imul(P,ut)|0,i=i+Math.imul(x,lt)|0,n=(n=n+Math.imul(x,ct)|0)+Math.imul(A,lt)|0,s=s+Math.imul(A,ct)|0;var Tt=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(k,pt)|0))<<13)|0;u=((s=s+Math.imul(k,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(U,rt),n=(n=Math.imul(U,it))+Math.imul(q,rt)|0,s=Math.imul(q,it),i=i+Math.imul(L,st)|0,n=(n=n+Math.imul(L,ot)|0)+Math.imul(N,st)|0,s=s+Math.imul(N,ot)|0,i=i+Math.imul(R,ht)|0,n=(n=n+Math.imul(R,ut)|0)+Math.imul(O,ht)|0,s=s+Math.imul(O,ut)|0,i=i+Math.imul(T,lt)|0,n=(n=n+Math.imul(T,ct)|0)+Math.imul(P,lt)|0,s=s+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(x,pt)|0)|0)+((8191&(n=(n=n+Math.imul(x,mt)|0)+Math.imul(A,pt)|0))<<13)|0;u=((s=s+Math.imul(A,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(U,st),n=(n=Math.imul(U,ot))+Math.imul(q,st)|0,s=Math.imul(q,ot),i=i+Math.imul(L,ht)|0,n=(n=n+Math.imul(L,ut)|0)+Math.imul(N,ht)|0,s=s+Math.imul(N,ut)|0,i=i+Math.imul(R,lt)|0,n=(n=n+Math.imul(R,ct)|0)+Math.imul(O,lt)|0,s=s+Math.imul(O,ct)|0;var Ct=(u+(i=i+Math.imul(T,pt)|0)|0)+((8191&(n=(n=n+Math.imul(T,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((s=s+Math.imul(P,mt)|0)+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(U,ht),n=(n=Math.imul(U,ut))+Math.imul(q,ht)|0,s=Math.imul(q,ut),i=i+Math.imul(L,lt)|0,n=(n=n+Math.imul(L,ct)|0)+Math.imul(N,lt)|0,s=s+Math.imul(N,ct)|0;var Rt=(u+(i=i+Math.imul(R,pt)|0)|0)+((8191&(n=(n=n+Math.imul(R,mt)|0)+Math.imul(O,pt)|0))<<13)|0;u=((s=s+Math.imul(O,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(U,lt),n=(n=Math.imul(U,ct))+Math.imul(q,lt)|0,s=Math.imul(q,ct);var Ot=(u+(i=i+Math.imul(L,pt)|0)|0)+((8191&(n=(n=n+Math.imul(L,mt)|0)+Math.imul(N,pt)|0))<<13)|0;u=((s=s+Math.imul(N,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var Bt=(u+(i=Math.imul(U,pt))|0)+((8191&(n=(n=Math.imul(U,mt))+Math.imul(q,pt)|0))<<13)|0;return u=((s=Math.imul(q,mt))+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,h[0]=gt,h[1]=yt,h[2]=bt,h[3]=vt,h[4]=wt,h[5]=_t,h[6]=Mt,h[7]=St,h[8]=kt,h[9]=Et,h[10]=xt,h[11]=At,h[12]=It,h[13]=Tt,h[14]=Pt,h[15]=Ct,h[16]=Rt,h[17]=Ot,h[18]=Bt,0!==u&&(h[19]=u,r.length++),r};function m(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(p=d),s.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?p(this,t,e):i<63?d(this,t,e):i<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,s=0;s>>26)|0)>>>26,o&=67108863}r.words[s]=a,i=o,o=n}return 0!==i?r.words[s]=i:r.length--,r.strip()}(this,t,e):m(this,t,e),r},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=s.prototype._countBits(t)-1,i=0;i>=1;return i},g.prototype.permute=function(t,e,r,i,n,s){for(var o=0;o>>=1)n++;return 1<>>=13,r[2*o+1]=8191&s,s>>>=13;for(o=2*e;o>=26,e+=n/67108864|0,e+=s>>>26,this.words[r]=67108863&s}return 0!==e&&(this.words[r]=e,this.length++),this},s.prototype.muln=function(t){return this.clone().imuln(t)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>n}return e}(t);if(0===e.length)return new s(1);for(var r=this,i=0;i=0);var e,r=t%26,n=(t-r)/26,s=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var s=t%26,o=Math.min((t-s)/26,this.length),a=67108863^67108863>>>s<o)for(this.length-=o,u=0;u=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-s|l>>>s,f=l&a}return h&&0!==f&&(h.words[h.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},s.prototype.shln=function(t){return this.clone().ishln(t)},s.prototype.ushln=function(t){return this.clone().iushln(t)},s.prototype.shrn=function(t){return this.clone().ishrn(t)},s.prototype.ushrn=function(t){return this.clone().iushrn(t)},s.prototype.testn=function(t){i("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},s.prototype.isubn=function(t){if(i("number"==typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(h/67108864|0),this.words[n+r]=67108863&s}for(;n>26,this.words[n+r]=67108863&s;if(0===a)return this.strip();for(i(-1===a),a=0,n=0;n>26,this.words[n]=67108863&s;return this.negative=1,this.strip()},s.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),n=t,o=0|n.words[n.length-1];0!==(r=26-this._countBits(o))&&(n=n.ushln(r),i.iushln(r),o=0|n.words[n.length-1]);var a,h=i.length-n.length;if("mod"!==e){(a=new s(null)).length=h+1,a.words=new Array(a.length);for(var u=0;u=0;l--){var c=67108864*(0|i.words[n.length+l])+(0|i.words[n.length+l-1]);for(c=Math.min(c/o|0,67108863),i._ishlnsubmul(n,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(n,1,l),i.isZero()||(i.negative^=1);a&&(a.words[l]=c)}return a&&a.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:a||null,mod:i}},s.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(n=a.div.neg()),"div"!==e&&(o=a.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:n,mod:o}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(n=a.div.neg()),{div:n,mod:a.mod}):this.negative&t.negative?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(o=a.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:a.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new s(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new s(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new s(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,o,a},s.prototype.div=function(t){return this.divmod(t,"div",!1).div},s.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},s.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},s.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),s=r.cmp(i);return s<0||1===n&&0===s?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},s.prototype.modn=function(t){i(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;n>=0;n--)r=(e*r+(0|this.words[n]))%t;return r},s.prototype.idivn=function(t){i(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},s.prototype.divn=function(t){return this.clone().idivn(t)},s.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n=new s(1),o=new s(0),a=new s(0),h=new s(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var f=r.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;!(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(f),o.isub(l)),n.iushrn(1),o.iushrn(1);for(var p=0,m=1;!(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(a.isOdd()||h.isOdd())&&(a.iadd(f),h.isub(l)),a.iushrn(1),h.iushrn(1);e.cmp(r)>=0?(e.isub(r),n.isub(a),o.isub(h)):(r.isub(e),a.isub(n),h.isub(o))}return{a,b:h,gcd:r.iushln(u)}},s.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n,o=new s(1),a=new s(0),h=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,f=1;!(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)o.isOdd()&&o.iadd(h),o.iushrn(1);for(var l=0,c=1;!(r.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(r.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(h),a.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(a)):(r.isub(e),a.isub(o))}return(n=0===e.cmpn(1)?o:a).cmpn(0)<0&&n.iadd(t),n},s.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var s=e;e=r,r=s}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},s.prototype.invm=function(t){return this.egcd(t).a.umod(t)},s.prototype.isEven=function(){return!(1&this.words[0])},s.prototype.isOdd=function(){return!(1&~this.words[0])},s.prototype.andln=function(t){return this.words[0]&t},s.prototype.bincn=function(t){i("number"==typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,a&=67108863,this.words[o]=a}return 0!==s&&(this.words[o]=s,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},s.prototype.gtn=function(t){return 1===this.cmpn(t)},s.prototype.gt=function(t){return 1===this.cmp(t)},s.prototype.gten=function(t){return this.cmpn(t)>=0},s.prototype.gte=function(t){return this.cmp(t)>=0},s.prototype.ltn=function(t){return-1===this.cmpn(t)},s.prototype.lt=function(t){return-1===this.cmp(t)},s.prototype.lten=function(t){return this.cmpn(t)<=0},s.prototype.lte=function(t){return this.cmp(t)<=0},s.prototype.eqn=function(t){return 0===this.cmpn(t)},s.prototype.eq=function(t){return 0===this.cmp(t)},s.red=function(t){return new S(t)},s.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},s.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(t){return this.red=t,this},s.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},s.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},s.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},s.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},s.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},s.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},s.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},s.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},s.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function b(t,e){this.name=t,this.p=new s(e,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function w(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function S(t){if("string"==typeof t){var e=s._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){S.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var t=new s(null);return t.words=new Array(Math.ceil(this.n/13)),t},b.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},b.prototype.split=function(t,e){t.iushrn(this.n,0,e)},b.prototype.imulK=function(t){return t.imul(this.k)},n(v,b),v.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,s=o}s>>>=22,t.words[n-10]=s,0===s&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},s._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new w;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return y[t]=e,e},S.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},S.prototype._verify2=function(t,e){i(!(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},S.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},S.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},S.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},S.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},S.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},S.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},S.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},S.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},S.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},S.prototype.isqr=function(t){return this.imul(t,t.clone())},S.prototype.sqr=function(t){return this.mul(t,t)},S.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2==1),3===e){var r=this.m.add(new s(1)).iushrn(2);return this.pow(t,r)}for(var n=this.m.subn(1),o=0;!n.isZero()&&0===n.andln(1);)o++,n.iushrn(1);i(!n.isZero());var a=new s(1).toRed(this),h=a.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new s(2*f*f).toRed(this);0!==this.pow(f,u).cmp(h);)f.redIAdd(h);for(var l=this.pow(f,n),c=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=o;0!==d.cmp(a);){for(var m=d,g=0;0!==m.cmp(a);g++)m=m.redSqr();i(g=0;i--){for(var u=e.words[i],f=h-1;f>=0;f--){var l=u>>f&1;n!==r[0]&&(n=this.sqr(n)),0!==l||0!==o?(o<<=1,o|=l,(4===++a||0===i&&0===f)&&(n=this.mul(n,r[o]),a=0,o=0)):a=0}h=26}return n},S.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},S.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},s.mont=function(t){return new k(t)},n(k,S),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),s=n;return n.cmp(this.m)>=0?s=n.isub(this.m):n.cmpn(0)<0&&(s=n.iadd(this.m)),s._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new s(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=r.nmd(t),this)},2356:(t,e,r)=>{var i=r(462),n=r(2861).Buffer,s=r(6168),o=r(6698),a=r(5892),h=r(295),u=r(5122);function f(t,e,r,o){s.call(this);var h=n.alloc(4,0);this._cipher=new i.AES(e);var f=this._cipher.encryptBlock(h);this._ghash=new a(f),r=function(t,e,r){if(12===e.length)return t._finID=n.concat([e,n.from([0,0,0,1])]),n.concat([e,n.from([0,0,0,2])]);var i=new a(r),s=e.length,o=s%16;i.update(e),o&&(o=16-o,i.update(n.alloc(o,0))),i.update(n.alloc(8,0));var h=8*s,f=n.alloc(8);f.writeUIntBE(h,0,8),i.update(f),t._finID=i.state;var l=n.from(t._finID);return u(l),l}(this,r,f),this._prev=n.from(r),this._cache=n.allocUnsafe(0),this._secCache=n.allocUnsafe(0),this._decrypt=o,this._alen=0,this._len=0,this._mode=t,this._authTag=null,this._called=!1}o(f,s),f.prototype._update=function(t){if(!this._called&&this._alen){var e=16-this._alen%16;e<16&&(e=n.alloc(e,0),this._ghash.update(e))}this._called=!0;var r=this._mode.encrypt(this,t);return this._decrypt?this._ghash.update(t):this._ghash.update(r),this._len+=t.length,r},f.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var t=h(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function(t,e){var r=0;t.length!==e.length&&r++;for(var i=Math.min(t.length,e.length),n=0;n{},2438:(t,e)=>{e["des-ecb"]={key:8,iv:0},e["des-cbc"]=e.des={key:8,iv:8},e["des-ede3-cbc"]=e.des3={key:24,iv:8},e["des-ede3"]={key:24,iv:0},e["des-ede-cbc"]={key:16,iv:8},e["des-ede"]={key:16,iv:0}},2455:(t,e,r)=>{var i,n=r(717);if(globalThis.process&&globalThis.process.browser)i="utf-8";else if(globalThis.process&&globalThis.process.version){i=parseInt(n.version.split(".")[0].slice(1),10)>=6?"utf-8":"binary"}else i="utf-8";t.exports=i},2503:(t,e,r)=>{var i=r(8287).Buffer;t.exports=function(t){return t instanceof i}},2509:function(t,e,r){!function(t,e){function i(t,e){if(!t)throw new Error(e||"Assertion failed")}function n(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function s(t,e,r){if(s.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=s:e.BN=s,s.BN=s,s.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(8287).Buffer}catch(t){}function a(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function h(t,e,r){var i=a(t,r);return r-1>=e&&(i|=a(t,r-1)<<4),i}function u(t,e,r,i){for(var n=0,s=Math.min(t.length,r),o=e;o=49?a-49+10:a>=17?a-17+10:a}return n}s.isBN=function(t){return t instanceof s||null!==t&&"object"==typeof t&&t.constructor.wordSize===s.wordSize&&Array.isArray(t.words)},s.max=function(t,e){return t.cmp(e)>0?t:e},s.min=function(t,e){return t.cmp(e)<0?t:e},s.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),i(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n=0;n-=3)o=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[s]|=o<>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);else if("le"===r)for(n=0,s=0;n>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);return this.strip()},s.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i=e;i-=2)n=h(t,e,i)<=18?(s-=18,o+=1,this.words[o]|=n>>>26):s+=8;else for(i=(t.length-e)%2==0?e+1:e;i=18?(s-=18,o+=1,this.words[o]|=n>>>26):s+=8;this.strip()},s.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var s=t.length-r,o=s%i,a=Math.min(s,s-o)+r,h=0,f=r;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var f=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],c=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],s=0|e.words[0],o=n*s,a=67108863&o,h=o/67108864|0;r.words[0]=a;for(var u=1;u>>26,l=67108863&h,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(o=(n=0|t.words[p])*(s=0|e.words[d])+l)/67108864|0,l=67108863&o}r.words[u]=0|l,h=0|f}return 0!==h?r.words[u]=0|h:r.length--,r.strip()}s.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var n=0,s=0,o=0;o>>24-n&16777215,(n+=2)>=26&&(n-=26,o--),r=0!==s||o!==this.length-1?f[6-h.length]+h+r:h+r}for(0!==s&&(r=s.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var u=l[t],d=c[t];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);r=(p=p.idivn(d)).isZero()?m+r:f[u-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(t,e){return i(void 0!==o),this.toArrayLike(o,t,e)},s.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},s.prototype.toArrayLike=function(t,e,r){var n=this.byteLength(),s=r||Math.max(1,n);i(n<=s,"byte array longer than desired length"),i(s>0,"Requested array length <= 0"),this.strip();var o,a,h="le"===e,u=new t(s),f=this.clone();if(h){for(a=0;!f.isZero();a++)o=f.andln(255),f.iushrn(8),u[a]=o;for(;a=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},s.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 8191&e||(r+=13,e>>>=13),127&e||(r+=7,e>>>=7),15&e||(r+=4,e>>>=4),3&e||(r+=2,e>>>=2),1&e||r++,r},s.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},s.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},s.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},s.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},s.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},s.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},s.prototype.inotn=function(t){i("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},s.prototype.notn=function(t){return this.clone().inotn(t)},s.prototype.setn=function(t,e){i("number"==typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,s=0;s>>26;for(;0!==n&&s>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;st.length?this.clone().iadd(t):t.clone().iadd(this)},s.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var s=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==s&&o>26,this.words[o]=67108863&e;if(0===s&&o>>13,d=0|o[1],p=8191&d,m=d>>>13,g=0|o[2],y=8191&g,b=g>>>13,v=0|o[3],w=8191&v,_=v>>>13,M=0|o[4],S=8191&M,k=M>>>13,E=0|o[5],x=8191&E,A=E>>>13,I=0|o[6],T=8191&I,P=I>>>13,C=0|o[7],R=8191&C,O=C>>>13,B=0|o[8],L=8191&B,N=B>>>13,j=0|o[9],U=8191&j,q=j>>>13,D=0|a[0],H=8191&D,F=D>>>13,z=0|a[1],$=8191&z,W=z>>>13,K=0|a[2],V=8191&K,Z=K>>>13,G=0|a[3],Y=8191&G,J=G>>>13,X=0|a[4],Q=8191&X,tt=X>>>13,et=0|a[5],rt=8191&et,it=et>>>13,nt=0|a[6],st=8191&nt,ot=nt>>>13,at=0|a[7],ht=8191&at,ut=at>>>13,ft=0|a[8],lt=8191&ft,ct=ft>>>13,dt=0|a[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,H))|0)+((8191&(n=(n=Math.imul(l,F))+Math.imul(c,H)|0))<<13)|0;u=((s=Math.imul(c,F))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,H),n=(n=Math.imul(p,F))+Math.imul(m,H)|0,s=Math.imul(m,F);var yt=(u+(i=i+Math.imul(l,$)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,$)|0))<<13)|0;u=((s=s+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,H),n=(n=Math.imul(y,F))+Math.imul(b,H)|0,s=Math.imul(b,F),i=i+Math.imul(p,$)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,$)|0,s=s+Math.imul(m,W)|0;var bt=(u+(i=i+Math.imul(l,V)|0)|0)+((8191&(n=(n=n+Math.imul(l,Z)|0)+Math.imul(c,V)|0))<<13)|0;u=((s=s+Math.imul(c,Z)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(w,H),n=(n=Math.imul(w,F))+Math.imul(_,H)|0,s=Math.imul(_,F),i=i+Math.imul(y,$)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(b,$)|0,s=s+Math.imul(b,W)|0,i=i+Math.imul(p,V)|0,n=(n=n+Math.imul(p,Z)|0)+Math.imul(m,V)|0,s=s+Math.imul(m,Z)|0;var vt=(u+(i=i+Math.imul(l,Y)|0)|0)+((8191&(n=(n=n+Math.imul(l,J)|0)+Math.imul(c,Y)|0))<<13)|0;u=((s=s+Math.imul(c,J)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(S,H),n=(n=Math.imul(S,F))+Math.imul(k,H)|0,s=Math.imul(k,F),i=i+Math.imul(w,$)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(_,$)|0,s=s+Math.imul(_,W)|0,i=i+Math.imul(y,V)|0,n=(n=n+Math.imul(y,Z)|0)+Math.imul(b,V)|0,s=s+Math.imul(b,Z)|0,i=i+Math.imul(p,Y)|0,n=(n=n+Math.imul(p,J)|0)+Math.imul(m,Y)|0,s=s+Math.imul(m,J)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((s=s+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(x,H),n=(n=Math.imul(x,F))+Math.imul(A,H)|0,s=Math.imul(A,F),i=i+Math.imul(S,$)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(k,$)|0,s=s+Math.imul(k,W)|0,i=i+Math.imul(w,V)|0,n=(n=n+Math.imul(w,Z)|0)+Math.imul(_,V)|0,s=s+Math.imul(_,Z)|0,i=i+Math.imul(y,Y)|0,n=(n=n+Math.imul(y,J)|0)+Math.imul(b,Y)|0,s=s+Math.imul(b,J)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,s=s+Math.imul(m,tt)|0;var _t=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((s=s+Math.imul(c,it)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(T,H),n=(n=Math.imul(T,F))+Math.imul(P,H)|0,s=Math.imul(P,F),i=i+Math.imul(x,$)|0,n=(n=n+Math.imul(x,W)|0)+Math.imul(A,$)|0,s=s+Math.imul(A,W)|0,i=i+Math.imul(S,V)|0,n=(n=n+Math.imul(S,Z)|0)+Math.imul(k,V)|0,s=s+Math.imul(k,Z)|0,i=i+Math.imul(w,Y)|0,n=(n=n+Math.imul(w,J)|0)+Math.imul(_,Y)|0,s=s+Math.imul(_,J)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(b,Q)|0,s=s+Math.imul(b,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,s=s+Math.imul(m,it)|0;var Mt=(u+(i=i+Math.imul(l,st)|0)|0)+((8191&(n=(n=n+Math.imul(l,ot)|0)+Math.imul(c,st)|0))<<13)|0;u=((s=s+Math.imul(c,ot)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(R,H),n=(n=Math.imul(R,F))+Math.imul(O,H)|0,s=Math.imul(O,F),i=i+Math.imul(T,$)|0,n=(n=n+Math.imul(T,W)|0)+Math.imul(P,$)|0,s=s+Math.imul(P,W)|0,i=i+Math.imul(x,V)|0,n=(n=n+Math.imul(x,Z)|0)+Math.imul(A,V)|0,s=s+Math.imul(A,Z)|0,i=i+Math.imul(S,Y)|0,n=(n=n+Math.imul(S,J)|0)+Math.imul(k,Y)|0,s=s+Math.imul(k,J)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,s=s+Math.imul(_,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(b,rt)|0,s=s+Math.imul(b,it)|0,i=i+Math.imul(p,st)|0,n=(n=n+Math.imul(p,ot)|0)+Math.imul(m,st)|0,s=s+Math.imul(m,ot)|0;var St=(u+(i=i+Math.imul(l,ht)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,ht)|0))<<13)|0;u=((s=s+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(L,H),n=(n=Math.imul(L,F))+Math.imul(N,H)|0,s=Math.imul(N,F),i=i+Math.imul(R,$)|0,n=(n=n+Math.imul(R,W)|0)+Math.imul(O,$)|0,s=s+Math.imul(O,W)|0,i=i+Math.imul(T,V)|0,n=(n=n+Math.imul(T,Z)|0)+Math.imul(P,V)|0,s=s+Math.imul(P,Z)|0,i=i+Math.imul(x,Y)|0,n=(n=n+Math.imul(x,J)|0)+Math.imul(A,Y)|0,s=s+Math.imul(A,J)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(k,Q)|0,s=s+Math.imul(k,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(_,rt)|0,s=s+Math.imul(_,it)|0,i=i+Math.imul(y,st)|0,n=(n=n+Math.imul(y,ot)|0)+Math.imul(b,st)|0,s=s+Math.imul(b,ot)|0,i=i+Math.imul(p,ht)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,ht)|0,s=s+Math.imul(m,ut)|0;var kt=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((s=s+Math.imul(c,ct)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(U,H),n=(n=Math.imul(U,F))+Math.imul(q,H)|0,s=Math.imul(q,F),i=i+Math.imul(L,$)|0,n=(n=n+Math.imul(L,W)|0)+Math.imul(N,$)|0,s=s+Math.imul(N,W)|0,i=i+Math.imul(R,V)|0,n=(n=n+Math.imul(R,Z)|0)+Math.imul(O,V)|0,s=s+Math.imul(O,Z)|0,i=i+Math.imul(T,Y)|0,n=(n=n+Math.imul(T,J)|0)+Math.imul(P,Y)|0,s=s+Math.imul(P,J)|0,i=i+Math.imul(x,Q)|0,n=(n=n+Math.imul(x,tt)|0)+Math.imul(A,Q)|0,s=s+Math.imul(A,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(k,rt)|0,s=s+Math.imul(k,it)|0,i=i+Math.imul(w,st)|0,n=(n=n+Math.imul(w,ot)|0)+Math.imul(_,st)|0,s=s+Math.imul(_,ot)|0,i=i+Math.imul(y,ht)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(b,ht)|0,s=s+Math.imul(b,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,s=s+Math.imul(m,ct)|0;var Et=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((s=s+Math.imul(c,mt)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(U,$),n=(n=Math.imul(U,W))+Math.imul(q,$)|0,s=Math.imul(q,W),i=i+Math.imul(L,V)|0,n=(n=n+Math.imul(L,Z)|0)+Math.imul(N,V)|0,s=s+Math.imul(N,Z)|0,i=i+Math.imul(R,Y)|0,n=(n=n+Math.imul(R,J)|0)+Math.imul(O,Y)|0,s=s+Math.imul(O,J)|0,i=i+Math.imul(T,Q)|0,n=(n=n+Math.imul(T,tt)|0)+Math.imul(P,Q)|0,s=s+Math.imul(P,tt)|0,i=i+Math.imul(x,rt)|0,n=(n=n+Math.imul(x,it)|0)+Math.imul(A,rt)|0,s=s+Math.imul(A,it)|0,i=i+Math.imul(S,st)|0,n=(n=n+Math.imul(S,ot)|0)+Math.imul(k,st)|0,s=s+Math.imul(k,ot)|0,i=i+Math.imul(w,ht)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(_,ht)|0,s=s+Math.imul(_,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(b,lt)|0,s=s+Math.imul(b,ct)|0;var xt=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((s=s+Math.imul(m,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(U,V),n=(n=Math.imul(U,Z))+Math.imul(q,V)|0,s=Math.imul(q,Z),i=i+Math.imul(L,Y)|0,n=(n=n+Math.imul(L,J)|0)+Math.imul(N,Y)|0,s=s+Math.imul(N,J)|0,i=i+Math.imul(R,Q)|0,n=(n=n+Math.imul(R,tt)|0)+Math.imul(O,Q)|0,s=s+Math.imul(O,tt)|0,i=i+Math.imul(T,rt)|0,n=(n=n+Math.imul(T,it)|0)+Math.imul(P,rt)|0,s=s+Math.imul(P,it)|0,i=i+Math.imul(x,st)|0,n=(n=n+Math.imul(x,ot)|0)+Math.imul(A,st)|0,s=s+Math.imul(A,ot)|0,i=i+Math.imul(S,ht)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(k,ht)|0,s=s+Math.imul(k,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(_,lt)|0,s=s+Math.imul(_,ct)|0;var At=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(b,pt)|0))<<13)|0;u=((s=s+Math.imul(b,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(U,Y),n=(n=Math.imul(U,J))+Math.imul(q,Y)|0,s=Math.imul(q,J),i=i+Math.imul(L,Q)|0,n=(n=n+Math.imul(L,tt)|0)+Math.imul(N,Q)|0,s=s+Math.imul(N,tt)|0,i=i+Math.imul(R,rt)|0,n=(n=n+Math.imul(R,it)|0)+Math.imul(O,rt)|0,s=s+Math.imul(O,it)|0,i=i+Math.imul(T,st)|0,n=(n=n+Math.imul(T,ot)|0)+Math.imul(P,st)|0,s=s+Math.imul(P,ot)|0,i=i+Math.imul(x,ht)|0,n=(n=n+Math.imul(x,ut)|0)+Math.imul(A,ht)|0,s=s+Math.imul(A,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(k,lt)|0,s=s+Math.imul(k,ct)|0;var It=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;u=((s=s+Math.imul(_,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(U,Q),n=(n=Math.imul(U,tt))+Math.imul(q,Q)|0,s=Math.imul(q,tt),i=i+Math.imul(L,rt)|0,n=(n=n+Math.imul(L,it)|0)+Math.imul(N,rt)|0,s=s+Math.imul(N,it)|0,i=i+Math.imul(R,st)|0,n=(n=n+Math.imul(R,ot)|0)+Math.imul(O,st)|0,s=s+Math.imul(O,ot)|0,i=i+Math.imul(T,ht)|0,n=(n=n+Math.imul(T,ut)|0)+Math.imul(P,ht)|0,s=s+Math.imul(P,ut)|0,i=i+Math.imul(x,lt)|0,n=(n=n+Math.imul(x,ct)|0)+Math.imul(A,lt)|0,s=s+Math.imul(A,ct)|0;var Tt=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(k,pt)|0))<<13)|0;u=((s=s+Math.imul(k,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(U,rt),n=(n=Math.imul(U,it))+Math.imul(q,rt)|0,s=Math.imul(q,it),i=i+Math.imul(L,st)|0,n=(n=n+Math.imul(L,ot)|0)+Math.imul(N,st)|0,s=s+Math.imul(N,ot)|0,i=i+Math.imul(R,ht)|0,n=(n=n+Math.imul(R,ut)|0)+Math.imul(O,ht)|0,s=s+Math.imul(O,ut)|0,i=i+Math.imul(T,lt)|0,n=(n=n+Math.imul(T,ct)|0)+Math.imul(P,lt)|0,s=s+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(x,pt)|0)|0)+((8191&(n=(n=n+Math.imul(x,mt)|0)+Math.imul(A,pt)|0))<<13)|0;u=((s=s+Math.imul(A,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(U,st),n=(n=Math.imul(U,ot))+Math.imul(q,st)|0,s=Math.imul(q,ot),i=i+Math.imul(L,ht)|0,n=(n=n+Math.imul(L,ut)|0)+Math.imul(N,ht)|0,s=s+Math.imul(N,ut)|0,i=i+Math.imul(R,lt)|0,n=(n=n+Math.imul(R,ct)|0)+Math.imul(O,lt)|0,s=s+Math.imul(O,ct)|0;var Ct=(u+(i=i+Math.imul(T,pt)|0)|0)+((8191&(n=(n=n+Math.imul(T,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((s=s+Math.imul(P,mt)|0)+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(U,ht),n=(n=Math.imul(U,ut))+Math.imul(q,ht)|0,s=Math.imul(q,ut),i=i+Math.imul(L,lt)|0,n=(n=n+Math.imul(L,ct)|0)+Math.imul(N,lt)|0,s=s+Math.imul(N,ct)|0;var Rt=(u+(i=i+Math.imul(R,pt)|0)|0)+((8191&(n=(n=n+Math.imul(R,mt)|0)+Math.imul(O,pt)|0))<<13)|0;u=((s=s+Math.imul(O,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(U,lt),n=(n=Math.imul(U,ct))+Math.imul(q,lt)|0,s=Math.imul(q,ct);var Ot=(u+(i=i+Math.imul(L,pt)|0)|0)+((8191&(n=(n=n+Math.imul(L,mt)|0)+Math.imul(N,pt)|0))<<13)|0;u=((s=s+Math.imul(N,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var Bt=(u+(i=Math.imul(U,pt))|0)+((8191&(n=(n=Math.imul(U,mt))+Math.imul(q,pt)|0))<<13)|0;return u=((s=Math.imul(q,mt))+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,h[0]=gt,h[1]=yt,h[2]=bt,h[3]=vt,h[4]=wt,h[5]=_t,h[6]=Mt,h[7]=St,h[8]=kt,h[9]=Et,h[10]=xt,h[11]=At,h[12]=It,h[13]=Tt,h[14]=Pt,h[15]=Ct,h[16]=Rt,h[17]=Ot,h[18]=Bt,0!==u&&(h[19]=u,r.length++),r};function m(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(p=d),s.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?p(this,t,e):i<63?d(this,t,e):i<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,s=0;s>>26)|0)>>>26,o&=67108863}r.words[s]=a,i=o,o=n}return 0!==i?r.words[s]=i:r.length--,r.strip()}(this,t,e):m(this,t,e),r},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=s.prototype._countBits(t)-1,i=0;i>=1;return i},g.prototype.permute=function(t,e,r,i,n,s){for(var o=0;o>>=1)n++;return 1<>>=13,r[2*o+1]=8191&s,s>>>=13;for(o=2*e;o>=26,e+=n/67108864|0,e+=s>>>26,this.words[r]=67108863&s}return 0!==e&&(this.words[r]=e,this.length++),this},s.prototype.muln=function(t){return this.clone().imuln(t)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>n}return e}(t);if(0===e.length)return new s(1);for(var r=this,i=0;i=0);var e,r=t%26,n=(t-r)/26,s=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var s=t%26,o=Math.min((t-s)/26,this.length),a=67108863^67108863>>>s<o)for(this.length-=o,u=0;u=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-s|l>>>s,f=l&a}return h&&0!==f&&(h.words[h.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},s.prototype.shln=function(t){return this.clone().ishln(t)},s.prototype.ushln=function(t){return this.clone().iushln(t)},s.prototype.shrn=function(t){return this.clone().ishrn(t)},s.prototype.ushrn=function(t){return this.clone().iushrn(t)},s.prototype.testn=function(t){i("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},s.prototype.isubn=function(t){if(i("number"==typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(h/67108864|0),this.words[n+r]=67108863&s}for(;n>26,this.words[n+r]=67108863&s;if(0===a)return this.strip();for(i(-1===a),a=0,n=0;n>26,this.words[n]=67108863&s;return this.negative=1,this.strip()},s.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),n=t,o=0|n.words[n.length-1];0!==(r=26-this._countBits(o))&&(n=n.ushln(r),i.iushln(r),o=0|n.words[n.length-1]);var a,h=i.length-n.length;if("mod"!==e){(a=new s(null)).length=h+1,a.words=new Array(a.length);for(var u=0;u=0;l--){var c=67108864*(0|i.words[n.length+l])+(0|i.words[n.length+l-1]);for(c=Math.min(c/o|0,67108863),i._ishlnsubmul(n,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(n,1,l),i.isZero()||(i.negative^=1);a&&(a.words[l]=c)}return a&&a.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:a||null,mod:i}},s.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(n=a.div.neg()),"div"!==e&&(o=a.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:n,mod:o}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(n=a.div.neg()),{div:n,mod:a.mod}):this.negative&t.negative?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(o=a.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:a.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new s(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new s(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new s(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,o,a},s.prototype.div=function(t){return this.divmod(t,"div",!1).div},s.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},s.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},s.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),s=r.cmp(i);return s<0||1===n&&0===s?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},s.prototype.modn=function(t){i(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;n>=0;n--)r=(e*r+(0|this.words[n]))%t;return r},s.prototype.idivn=function(t){i(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},s.prototype.divn=function(t){return this.clone().idivn(t)},s.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n=new s(1),o=new s(0),a=new s(0),h=new s(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var f=r.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;!(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(f),o.isub(l)),n.iushrn(1),o.iushrn(1);for(var p=0,m=1;!(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(a.isOdd()||h.isOdd())&&(a.iadd(f),h.isub(l)),a.iushrn(1),h.iushrn(1);e.cmp(r)>=0?(e.isub(r),n.isub(a),o.isub(h)):(r.isub(e),a.isub(n),h.isub(o))}return{a,b:h,gcd:r.iushln(u)}},s.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n,o=new s(1),a=new s(0),h=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,f=1;!(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)o.isOdd()&&o.iadd(h),o.iushrn(1);for(var l=0,c=1;!(r.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(r.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(h),a.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(a)):(r.isub(e),a.isub(o))}return(n=0===e.cmpn(1)?o:a).cmpn(0)<0&&n.iadd(t),n},s.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var s=e;e=r,r=s}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},s.prototype.invm=function(t){return this.egcd(t).a.umod(t)},s.prototype.isEven=function(){return!(1&this.words[0])},s.prototype.isOdd=function(){return!(1&~this.words[0])},s.prototype.andln=function(t){return this.words[0]&t},s.prototype.bincn=function(t){i("number"==typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,a&=67108863,this.words[o]=a}return 0!==s&&(this.words[o]=s,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},s.prototype.gtn=function(t){return 1===this.cmpn(t)},s.prototype.gt=function(t){return 1===this.cmp(t)},s.prototype.gten=function(t){return this.cmpn(t)>=0},s.prototype.gte=function(t){return this.cmp(t)>=0},s.prototype.ltn=function(t){return-1===this.cmpn(t)},s.prototype.lt=function(t){return-1===this.cmp(t)},s.prototype.lten=function(t){return this.cmpn(t)<=0},s.prototype.lte=function(t){return this.cmp(t)<=0},s.prototype.eqn=function(t){return 0===this.cmpn(t)},s.prototype.eq=function(t){return 0===this.cmp(t)},s.red=function(t){return new S(t)},s.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},s.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(t){return this.red=t,this},s.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},s.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},s.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},s.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},s.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},s.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},s.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},s.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},s.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function b(t,e){this.name=t,this.p=new s(e,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function w(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function S(t){if("string"==typeof t){var e=s._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){S.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var t=new s(null);return t.words=new Array(Math.ceil(this.n/13)),t},b.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},b.prototype.split=function(t,e){t.iushrn(this.n,0,e)},b.prototype.imulK=function(t){return t.imul(this.k)},n(v,b),v.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,s=o}s>>>=22,t.words[n-10]=s,0===s&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},s._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new w;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return y[t]=e,e},S.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},S.prototype._verify2=function(t,e){i(!(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},S.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},S.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},S.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},S.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},S.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},S.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},S.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},S.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},S.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},S.prototype.isqr=function(t){return this.imul(t,t.clone())},S.prototype.sqr=function(t){return this.mul(t,t)},S.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2==1),3===e){var r=this.m.add(new s(1)).iushrn(2);return this.pow(t,r)}for(var n=this.m.subn(1),o=0;!n.isZero()&&0===n.andln(1);)o++,n.iushrn(1);i(!n.isZero());var a=new s(1).toRed(this),h=a.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new s(2*f*f).toRed(this);0!==this.pow(f,u).cmp(h);)f.redIAdd(h);for(var l=this.pow(f,n),c=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=o;0!==d.cmp(a);){for(var m=d,g=0;0!==m.cmp(a);g++)m=m.redSqr();i(g=0;i--){for(var u=e.words[i],f=h-1;f>=0;f--){var l=u>>f&1;n!==r[0]&&(n=this.sqr(n)),0!==l||0!==o?(o<<=1,o|=l,(4===++a||0===i&&0===f)&&(n=this.mul(n,r[o]),a=0,o=0)):a=0}h=26}return n},S.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},S.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},s.mont=function(t){return new k(t)},n(k,S),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),s=n;return n.cmp(this.m)>=0?s=n.isub(this.m):n.cmpn(0)<0&&(s=n.iadd(this.m)),s._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new s(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=r.nmd(t),this)},2632:(t,e)=>{e.encrypt=function(t,e){return t._cipher.encryptBlock(e)},e.decrypt=function(t,e){return t._cipher.decryptBlock(e)}},2642:(t,e,r)=>{var i=r(7720),n=Object.prototype.hasOwnProperty,s=Array.isArray,o={allowDots:!1,allowEmptyArrays:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decodeDotInKeys:!1,decoder:i.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictDepth:!1,strictNullHandling:!1},a=function(t){return t.replace(/&#(\d+);/g,(function(t,e){return String.fromCharCode(parseInt(e,10))}))},h=function(t,e){return t&&"string"==typeof t&&e.comma&&t.indexOf(",")>-1?t.split(","):t},u=function(t,e,r,i){if(t){var s=r.allowDots?t.replace(/\.([^.[]+)/g,"[$1]"):t,o=/(\[[^[\]]*])/g,a=r.depth>0&&/(\[[^[\]]*])/.exec(s),u=a?s.slice(0,a.index):s,f=[];if(u){if(!r.plainObjects&&n.call(Object.prototype,u)&&!r.allowPrototypes)return;f.push(u)}for(var l=0;r.depth>0&&null!==(a=o.exec(s))&&l=0;--s){var o,a=t[s];if("[]"===a&&r.parseArrays)o=r.allowEmptyArrays&&(""===n||r.strictNullHandling&&null===n)?[]:[].concat(n);else{o=r.plainObjects?Object.create(null):{};var u="["===a.charAt(0)&&"]"===a.charAt(a.length-1)?a.slice(1,-1):a,f=r.decodeDotInKeys?u.replace(/%2E/g,"."):u,l=parseInt(f,10);r.parseArrays||""!==f?!isNaN(l)&&a!==f&&String(l)===f&&l>=0&&r.parseArrays&&l<=r.arrayLimit?(o=[])[l]=n:"__proto__"!==f&&(o[f]=n):o={0:n}}n=o}return n}(f,e,r,i)}};t.exports=function(t,e){var r=function(t){if(!t)return o;if(void 0!==t.allowEmptyArrays&&"boolean"!=typeof t.allowEmptyArrays)throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(void 0!==t.decodeDotInKeys&&"boolean"!=typeof t.decodeDotInKeys)throw new TypeError("`decodeDotInKeys` option can only be `true` or `false`, when provided");if(null!==t.decoder&&void 0!==t.decoder&&"function"!=typeof t.decoder)throw new TypeError("Decoder has to be a function.");if(void 0!==t.charset&&"utf-8"!==t.charset&&"iso-8859-1"!==t.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var e=void 0===t.charset?o.charset:t.charset,r=void 0===t.duplicates?o.duplicates:t.duplicates;if("combine"!==r&&"first"!==r&&"last"!==r)throw new TypeError("The duplicates option must be either combine, first, or last");return{allowDots:void 0===t.allowDots?!0===t.decodeDotInKeys||o.allowDots:!!t.allowDots,allowEmptyArrays:"boolean"==typeof t.allowEmptyArrays?!!t.allowEmptyArrays:o.allowEmptyArrays,allowPrototypes:"boolean"==typeof t.allowPrototypes?t.allowPrototypes:o.allowPrototypes,allowSparse:"boolean"==typeof t.allowSparse?t.allowSparse:o.allowSparse,arrayLimit:"number"==typeof t.arrayLimit?t.arrayLimit:o.arrayLimit,charset:e,charsetSentinel:"boolean"==typeof t.charsetSentinel?t.charsetSentinel:o.charsetSentinel,comma:"boolean"==typeof t.comma?t.comma:o.comma,decodeDotInKeys:"boolean"==typeof t.decodeDotInKeys?t.decodeDotInKeys:o.decodeDotInKeys,decoder:"function"==typeof t.decoder?t.decoder:o.decoder,delimiter:"string"==typeof t.delimiter||i.isRegExp(t.delimiter)?t.delimiter:o.delimiter,depth:"number"==typeof t.depth||!1===t.depth?+t.depth:o.depth,duplicates:r,ignoreQueryPrefix:!0===t.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof t.interpretNumericEntities?t.interpretNumericEntities:o.interpretNumericEntities,parameterLimit:"number"==typeof t.parameterLimit?t.parameterLimit:o.parameterLimit,parseArrays:!1!==t.parseArrays,plainObjects:"boolean"==typeof t.plainObjects?t.plainObjects:o.plainObjects,strictDepth:"boolean"==typeof t.strictDepth?!!t.strictDepth:o.strictDepth,strictNullHandling:"boolean"==typeof t.strictNullHandling?t.strictNullHandling:o.strictNullHandling}}(e);if(""===t||null==t)return r.plainObjects?Object.create(null):{};for(var f="string"==typeof t?function(t,e){var r={__proto__:null},u=e.ignoreQueryPrefix?t.replace(/^\?/,""):t;u=u.replace(/%5B/gi,"[").replace(/%5D/gi,"]");var f,l=e.parameterLimit===1/0?void 0:e.parameterLimit,c=u.split(e.delimiter,l),d=-1,p=e.charset;if(e.charsetSentinel)for(f=0;f-1&&(g=s(g)?[g]:g);var w=n.call(r,m);w&&"combine"===e.duplicates?r[m]=i.combine(r[m],g):w&&"last"!==e.duplicates||(r[m]=g)}return r}(t,r):t,l=r.plainObjects?Object.create(null):{},c=Object.keys(f),d=0;d{var i=r(7952),n=r(4367),s=r(3349);function o(t){if(!(this instanceof o))return new o(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=n.toArray(t.entropy,t.entropyEnc||"hex"),r=n.toArray(t.nonce,t.nonceEnc||"hex"),i=n.toArray(t.pers,t.persEnc||"hex");s(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,r,i)}t.exports=o,o.prototype._init=function(t,e,r){var i=t.concat(e).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var n=0;n=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(t.concat(r||[])),this._reseed=1},o.prototype.generate=function(t,e,r,i){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof e&&(i=r,r=e,e=null),r&&(r=n.toArray(r,i||"hex"),this._update(r));for(var s=[];s.length{const i=r(5905),n=i.methods,s=i.HTTPParser,o=r(975).FreeList,a=r(3989),h=a.IncomingMessage,u=a.readStart,f=a.readStop,l=r(537).debuglog("http");e.debug=l,e.CRLF="\r\n",e.chunkExpression=/chunk/i,e.continueExpression=/100-continue/i,e.methods=n;const c=0|s.kOnHeaders,d=0|s.kOnHeadersComplete,p=0|s.kOnBody,m=0|s.kOnMessageComplete,g=0|s.kOnExecute;function y(t,e){(this.maxHeaderPairs<=0||this._headers.length0&&(c=Math.min(c,l.maxHeaderPairs)),l.incoming._addHeaderLines(r,c),"number"==typeof i?l.incoming.method=n[i]:(l.incoming.statusCode=o,l.incoming.statusMessage=a),!u||null===l.outgoing||void 0!==l.outgoing._headers.upgrade&&/(^|\W)upgrade(\W|$)/i.test(l.outgoing._headers.connection)||(u=!1),l.incoming.upgrade=u;var d=0;return u||(d=l.onIncoming(l.incoming,f)),"number"!=typeof d?d?1:0:d}function v(t,e,r){var i=this.incoming;if(i){var n=i.socket;if(r>0&&!i._dumped){var s=t.slice(e,e+r);i.push(s)||f(n)}}}function w(){var t=this,e=t.incoming;if(e){e.complete=!0;var r=t._headers;r&&(t.incoming._addHeaderLines(r,r.length),t._headers=[],t._url=""),e.push(null)}u(t.socket)}var _=new o("parsers",1e3,(function(){var t=new s(s.REQUEST);return t._headers=[],t._url="",t._consumed=!1,t.socket=null,t.incoming=null,t.outgoing=null,t[c]=y,t[d]=b,t[p]=v,t[m]=w,t[g]=null,t}));function M(){this._httpMessage&&this._httpMessage.emit("drain")}function S(t){return t>=94&&t<=122||(t>=65&&t<=90||(45===t||(t>=48&&t<=57||34!==t&&40!==t&&41!==t&&44!==t&&(t>=33&&t<=46||(124===t||126===t)))))}e.parsers=_,e.freeParser=function(t,e,r){t&&(t._headers=[],t.onIncoming=null,t._consumed&&t.unconsume(),t._consumed=!1,t.socket&&(t.socket.parser=null),t.socket=null,t.incoming=null,t.outgoing=null,t[g]=null,!1===_.free(t)&&t.close(),t=null),e&&(e.parser=null),r&&(r.parser=null)},e.httpSocketSetup=function(t){t.removeListener("drain",M),t.on("drain",M)},e._checkIsHttpToken=function(t){if("string"!=typeof t||0===t.length)return!1;if(!S(t.charCodeAt(0)))return!1;const e=t.length;if(e>1){if(!S(t.charCodeAt(1)))return!1;if(e>2){if(!S(t.charCodeAt(2)))return!1;if(e>3){if(!S(t.charCodeAt(3)))return!1;for(var r=4;r255||127===e)return!0;if(t.length<2)return!1;if((e=t.charCodeAt(1))<=31&&9!==e||e>255||127===e)return!0;if(t.length<3)return!1;if((e=t.charCodeAt(2))<=31&&9!==e||e>255||127===e)return!0;for(var r=3;r255||127===e)return!0;return!1}},2791:function(t,e,r){var i=r(717);!function(t){if(!t.setImmediate){var e,r,n,s,o,a=1,h={},u=!1,f=t.document,l=Object.getPrototypeOf&&Object.getPrototypeOf(t);l=l&&l.setTimeout?l:t,"[object process]"==={}.toString.call(t.process)?e=function(t){i.nextTick((function(){d(t)}))}:!function(){if(t.postMessage&&!t.importScripts){var e=!0,r=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=r,e}}()?t.MessageChannel?((n=new MessageChannel).port1.onmessage=function(t){d(t.data)},e=function(t){n.port2.postMessage(t)}):f&&"onreadystatechange"in f.createElement("script")?(r=f.documentElement,e=function(t){var e=f.createElement("script");e.onreadystatechange=function(){d(t),e.onreadystatechange=null,r.removeChild(e),e=null},r.appendChild(e)}):e=function(t){setTimeout(d,0,t)}:(s="setImmediate$"+Math.random()+"$",o=function(e){e.source===t&&"string"==typeof e.data&&0===e.data.indexOf(s)&&d(+e.data.slice(s.length))},t.addEventListener?t.addEventListener("message",o,!1):t.attachEvent("onmessage",o),e=function(e){t.postMessage(s+e,"*")}),l.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var r=new Array(arguments.length-1),i=0;i=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function h(t,e,r){var i=a(t,r);return r-1>=e&&(i|=a(t,r-1)<<4),i}function u(t,e,r,i){for(var n=0,s=Math.min(t.length,r),o=e;o=49?a-49+10:a>=17?a-17+10:a}return n}s.isBN=function(t){return t instanceof s||null!==t&&"object"==typeof t&&t.constructor.wordSize===s.wordSize&&Array.isArray(t.words)},s.max=function(t,e){return t.cmp(e)>0?t:e},s.min=function(t,e){return t.cmp(e)<0?t:e},s.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),i(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n=0;n-=3)o=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[s]|=o<>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);else if("le"===r)for(n=0,s=0;n>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);return this.strip()},s.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i=e;i-=2)n=h(t,e,i)<=18?(s-=18,o+=1,this.words[o]|=n>>>26):s+=8;else for(i=(t.length-e)%2==0?e+1:e;i=18?(s-=18,o+=1,this.words[o]|=n>>>26):s+=8;this.strip()},s.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var s=t.length-r,o=s%i,a=Math.min(s,s-o)+r,h=0,f=r;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var f=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],c=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],s=0|e.words[0],o=n*s,a=67108863&o,h=o/67108864|0;r.words[0]=a;for(var u=1;u>>26,l=67108863&h,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(o=(n=0|t.words[p])*(s=0|e.words[d])+l)/67108864|0,l=67108863&o}r.words[u]=0|l,h=0|f}return 0!==h?r.words[u]=0|h:r.length--,r.strip()}s.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var n=0,s=0,o=0;o>>24-n&16777215,(n+=2)>=26&&(n-=26,o--),r=0!==s||o!==this.length-1?f[6-h.length]+h+r:h+r}for(0!==s&&(r=s.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var u=l[t],d=c[t];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);r=(p=p.idivn(d)).isZero()?m+r:f[u-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(t,e){return i(void 0!==o),this.toArrayLike(o,t,e)},s.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},s.prototype.toArrayLike=function(t,e,r){var n=this.byteLength(),s=r||Math.max(1,n);i(n<=s,"byte array longer than desired length"),i(s>0,"Requested array length <= 0"),this.strip();var o,a,h="le"===e,u=new t(s),f=this.clone();if(h){for(a=0;!f.isZero();a++)o=f.andln(255),f.iushrn(8),u[a]=o;for(;a=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},s.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 8191&e||(r+=13,e>>>=13),127&e||(r+=7,e>>>=7),15&e||(r+=4,e>>>=4),3&e||(r+=2,e>>>=2),1&e||r++,r},s.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},s.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},s.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},s.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},s.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},s.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},s.prototype.inotn=function(t){i("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},s.prototype.notn=function(t){return this.clone().inotn(t)},s.prototype.setn=function(t,e){i("number"==typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,s=0;s>>26;for(;0!==n&&s>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;st.length?this.clone().iadd(t):t.clone().iadd(this)},s.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var s=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==s&&o>26,this.words[o]=67108863&e;if(0===s&&o>>13,d=0|o[1],p=8191&d,m=d>>>13,g=0|o[2],y=8191&g,b=g>>>13,v=0|o[3],w=8191&v,_=v>>>13,M=0|o[4],S=8191&M,k=M>>>13,E=0|o[5],x=8191&E,A=E>>>13,I=0|o[6],T=8191&I,P=I>>>13,C=0|o[7],R=8191&C,O=C>>>13,B=0|o[8],L=8191&B,N=B>>>13,j=0|o[9],U=8191&j,q=j>>>13,D=0|a[0],H=8191&D,F=D>>>13,z=0|a[1],$=8191&z,W=z>>>13,K=0|a[2],V=8191&K,Z=K>>>13,G=0|a[3],Y=8191&G,J=G>>>13,X=0|a[4],Q=8191&X,tt=X>>>13,et=0|a[5],rt=8191&et,it=et>>>13,nt=0|a[6],st=8191&nt,ot=nt>>>13,at=0|a[7],ht=8191&at,ut=at>>>13,ft=0|a[8],lt=8191&ft,ct=ft>>>13,dt=0|a[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,H))|0)+((8191&(n=(n=Math.imul(l,F))+Math.imul(c,H)|0))<<13)|0;u=((s=Math.imul(c,F))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,H),n=(n=Math.imul(p,F))+Math.imul(m,H)|0,s=Math.imul(m,F);var yt=(u+(i=i+Math.imul(l,$)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,$)|0))<<13)|0;u=((s=s+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,H),n=(n=Math.imul(y,F))+Math.imul(b,H)|0,s=Math.imul(b,F),i=i+Math.imul(p,$)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,$)|0,s=s+Math.imul(m,W)|0;var bt=(u+(i=i+Math.imul(l,V)|0)|0)+((8191&(n=(n=n+Math.imul(l,Z)|0)+Math.imul(c,V)|0))<<13)|0;u=((s=s+Math.imul(c,Z)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(w,H),n=(n=Math.imul(w,F))+Math.imul(_,H)|0,s=Math.imul(_,F),i=i+Math.imul(y,$)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(b,$)|0,s=s+Math.imul(b,W)|0,i=i+Math.imul(p,V)|0,n=(n=n+Math.imul(p,Z)|0)+Math.imul(m,V)|0,s=s+Math.imul(m,Z)|0;var vt=(u+(i=i+Math.imul(l,Y)|0)|0)+((8191&(n=(n=n+Math.imul(l,J)|0)+Math.imul(c,Y)|0))<<13)|0;u=((s=s+Math.imul(c,J)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(S,H),n=(n=Math.imul(S,F))+Math.imul(k,H)|0,s=Math.imul(k,F),i=i+Math.imul(w,$)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(_,$)|0,s=s+Math.imul(_,W)|0,i=i+Math.imul(y,V)|0,n=(n=n+Math.imul(y,Z)|0)+Math.imul(b,V)|0,s=s+Math.imul(b,Z)|0,i=i+Math.imul(p,Y)|0,n=(n=n+Math.imul(p,J)|0)+Math.imul(m,Y)|0,s=s+Math.imul(m,J)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((s=s+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(x,H),n=(n=Math.imul(x,F))+Math.imul(A,H)|0,s=Math.imul(A,F),i=i+Math.imul(S,$)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(k,$)|0,s=s+Math.imul(k,W)|0,i=i+Math.imul(w,V)|0,n=(n=n+Math.imul(w,Z)|0)+Math.imul(_,V)|0,s=s+Math.imul(_,Z)|0,i=i+Math.imul(y,Y)|0,n=(n=n+Math.imul(y,J)|0)+Math.imul(b,Y)|0,s=s+Math.imul(b,J)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,s=s+Math.imul(m,tt)|0;var _t=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((s=s+Math.imul(c,it)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(T,H),n=(n=Math.imul(T,F))+Math.imul(P,H)|0,s=Math.imul(P,F),i=i+Math.imul(x,$)|0,n=(n=n+Math.imul(x,W)|0)+Math.imul(A,$)|0,s=s+Math.imul(A,W)|0,i=i+Math.imul(S,V)|0,n=(n=n+Math.imul(S,Z)|0)+Math.imul(k,V)|0,s=s+Math.imul(k,Z)|0,i=i+Math.imul(w,Y)|0,n=(n=n+Math.imul(w,J)|0)+Math.imul(_,Y)|0,s=s+Math.imul(_,J)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(b,Q)|0,s=s+Math.imul(b,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,s=s+Math.imul(m,it)|0;var Mt=(u+(i=i+Math.imul(l,st)|0)|0)+((8191&(n=(n=n+Math.imul(l,ot)|0)+Math.imul(c,st)|0))<<13)|0;u=((s=s+Math.imul(c,ot)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(R,H),n=(n=Math.imul(R,F))+Math.imul(O,H)|0,s=Math.imul(O,F),i=i+Math.imul(T,$)|0,n=(n=n+Math.imul(T,W)|0)+Math.imul(P,$)|0,s=s+Math.imul(P,W)|0,i=i+Math.imul(x,V)|0,n=(n=n+Math.imul(x,Z)|0)+Math.imul(A,V)|0,s=s+Math.imul(A,Z)|0,i=i+Math.imul(S,Y)|0,n=(n=n+Math.imul(S,J)|0)+Math.imul(k,Y)|0,s=s+Math.imul(k,J)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,s=s+Math.imul(_,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(b,rt)|0,s=s+Math.imul(b,it)|0,i=i+Math.imul(p,st)|0,n=(n=n+Math.imul(p,ot)|0)+Math.imul(m,st)|0,s=s+Math.imul(m,ot)|0;var St=(u+(i=i+Math.imul(l,ht)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,ht)|0))<<13)|0;u=((s=s+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(L,H),n=(n=Math.imul(L,F))+Math.imul(N,H)|0,s=Math.imul(N,F),i=i+Math.imul(R,$)|0,n=(n=n+Math.imul(R,W)|0)+Math.imul(O,$)|0,s=s+Math.imul(O,W)|0,i=i+Math.imul(T,V)|0,n=(n=n+Math.imul(T,Z)|0)+Math.imul(P,V)|0,s=s+Math.imul(P,Z)|0,i=i+Math.imul(x,Y)|0,n=(n=n+Math.imul(x,J)|0)+Math.imul(A,Y)|0,s=s+Math.imul(A,J)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(k,Q)|0,s=s+Math.imul(k,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(_,rt)|0,s=s+Math.imul(_,it)|0,i=i+Math.imul(y,st)|0,n=(n=n+Math.imul(y,ot)|0)+Math.imul(b,st)|0,s=s+Math.imul(b,ot)|0,i=i+Math.imul(p,ht)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,ht)|0,s=s+Math.imul(m,ut)|0;var kt=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((s=s+Math.imul(c,ct)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(U,H),n=(n=Math.imul(U,F))+Math.imul(q,H)|0,s=Math.imul(q,F),i=i+Math.imul(L,$)|0,n=(n=n+Math.imul(L,W)|0)+Math.imul(N,$)|0,s=s+Math.imul(N,W)|0,i=i+Math.imul(R,V)|0,n=(n=n+Math.imul(R,Z)|0)+Math.imul(O,V)|0,s=s+Math.imul(O,Z)|0,i=i+Math.imul(T,Y)|0,n=(n=n+Math.imul(T,J)|0)+Math.imul(P,Y)|0,s=s+Math.imul(P,J)|0,i=i+Math.imul(x,Q)|0,n=(n=n+Math.imul(x,tt)|0)+Math.imul(A,Q)|0,s=s+Math.imul(A,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(k,rt)|0,s=s+Math.imul(k,it)|0,i=i+Math.imul(w,st)|0,n=(n=n+Math.imul(w,ot)|0)+Math.imul(_,st)|0,s=s+Math.imul(_,ot)|0,i=i+Math.imul(y,ht)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(b,ht)|0,s=s+Math.imul(b,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,s=s+Math.imul(m,ct)|0;var Et=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((s=s+Math.imul(c,mt)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(U,$),n=(n=Math.imul(U,W))+Math.imul(q,$)|0,s=Math.imul(q,W),i=i+Math.imul(L,V)|0,n=(n=n+Math.imul(L,Z)|0)+Math.imul(N,V)|0,s=s+Math.imul(N,Z)|0,i=i+Math.imul(R,Y)|0,n=(n=n+Math.imul(R,J)|0)+Math.imul(O,Y)|0,s=s+Math.imul(O,J)|0,i=i+Math.imul(T,Q)|0,n=(n=n+Math.imul(T,tt)|0)+Math.imul(P,Q)|0,s=s+Math.imul(P,tt)|0,i=i+Math.imul(x,rt)|0,n=(n=n+Math.imul(x,it)|0)+Math.imul(A,rt)|0,s=s+Math.imul(A,it)|0,i=i+Math.imul(S,st)|0,n=(n=n+Math.imul(S,ot)|0)+Math.imul(k,st)|0,s=s+Math.imul(k,ot)|0,i=i+Math.imul(w,ht)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(_,ht)|0,s=s+Math.imul(_,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(b,lt)|0,s=s+Math.imul(b,ct)|0;var xt=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((s=s+Math.imul(m,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(U,V),n=(n=Math.imul(U,Z))+Math.imul(q,V)|0,s=Math.imul(q,Z),i=i+Math.imul(L,Y)|0,n=(n=n+Math.imul(L,J)|0)+Math.imul(N,Y)|0,s=s+Math.imul(N,J)|0,i=i+Math.imul(R,Q)|0,n=(n=n+Math.imul(R,tt)|0)+Math.imul(O,Q)|0,s=s+Math.imul(O,tt)|0,i=i+Math.imul(T,rt)|0,n=(n=n+Math.imul(T,it)|0)+Math.imul(P,rt)|0,s=s+Math.imul(P,it)|0,i=i+Math.imul(x,st)|0,n=(n=n+Math.imul(x,ot)|0)+Math.imul(A,st)|0,s=s+Math.imul(A,ot)|0,i=i+Math.imul(S,ht)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(k,ht)|0,s=s+Math.imul(k,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(_,lt)|0,s=s+Math.imul(_,ct)|0;var At=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(b,pt)|0))<<13)|0;u=((s=s+Math.imul(b,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(U,Y),n=(n=Math.imul(U,J))+Math.imul(q,Y)|0,s=Math.imul(q,J),i=i+Math.imul(L,Q)|0,n=(n=n+Math.imul(L,tt)|0)+Math.imul(N,Q)|0,s=s+Math.imul(N,tt)|0,i=i+Math.imul(R,rt)|0,n=(n=n+Math.imul(R,it)|0)+Math.imul(O,rt)|0,s=s+Math.imul(O,it)|0,i=i+Math.imul(T,st)|0,n=(n=n+Math.imul(T,ot)|0)+Math.imul(P,st)|0,s=s+Math.imul(P,ot)|0,i=i+Math.imul(x,ht)|0,n=(n=n+Math.imul(x,ut)|0)+Math.imul(A,ht)|0,s=s+Math.imul(A,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(k,lt)|0,s=s+Math.imul(k,ct)|0;var It=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;u=((s=s+Math.imul(_,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(U,Q),n=(n=Math.imul(U,tt))+Math.imul(q,Q)|0,s=Math.imul(q,tt),i=i+Math.imul(L,rt)|0,n=(n=n+Math.imul(L,it)|0)+Math.imul(N,rt)|0,s=s+Math.imul(N,it)|0,i=i+Math.imul(R,st)|0,n=(n=n+Math.imul(R,ot)|0)+Math.imul(O,st)|0,s=s+Math.imul(O,ot)|0,i=i+Math.imul(T,ht)|0,n=(n=n+Math.imul(T,ut)|0)+Math.imul(P,ht)|0,s=s+Math.imul(P,ut)|0,i=i+Math.imul(x,lt)|0,n=(n=n+Math.imul(x,ct)|0)+Math.imul(A,lt)|0,s=s+Math.imul(A,ct)|0;var Tt=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(k,pt)|0))<<13)|0;u=((s=s+Math.imul(k,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(U,rt),n=(n=Math.imul(U,it))+Math.imul(q,rt)|0,s=Math.imul(q,it),i=i+Math.imul(L,st)|0,n=(n=n+Math.imul(L,ot)|0)+Math.imul(N,st)|0,s=s+Math.imul(N,ot)|0,i=i+Math.imul(R,ht)|0,n=(n=n+Math.imul(R,ut)|0)+Math.imul(O,ht)|0,s=s+Math.imul(O,ut)|0,i=i+Math.imul(T,lt)|0,n=(n=n+Math.imul(T,ct)|0)+Math.imul(P,lt)|0,s=s+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(x,pt)|0)|0)+((8191&(n=(n=n+Math.imul(x,mt)|0)+Math.imul(A,pt)|0))<<13)|0;u=((s=s+Math.imul(A,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(U,st),n=(n=Math.imul(U,ot))+Math.imul(q,st)|0,s=Math.imul(q,ot),i=i+Math.imul(L,ht)|0,n=(n=n+Math.imul(L,ut)|0)+Math.imul(N,ht)|0,s=s+Math.imul(N,ut)|0,i=i+Math.imul(R,lt)|0,n=(n=n+Math.imul(R,ct)|0)+Math.imul(O,lt)|0,s=s+Math.imul(O,ct)|0;var Ct=(u+(i=i+Math.imul(T,pt)|0)|0)+((8191&(n=(n=n+Math.imul(T,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((s=s+Math.imul(P,mt)|0)+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(U,ht),n=(n=Math.imul(U,ut))+Math.imul(q,ht)|0,s=Math.imul(q,ut),i=i+Math.imul(L,lt)|0,n=(n=n+Math.imul(L,ct)|0)+Math.imul(N,lt)|0,s=s+Math.imul(N,ct)|0;var Rt=(u+(i=i+Math.imul(R,pt)|0)|0)+((8191&(n=(n=n+Math.imul(R,mt)|0)+Math.imul(O,pt)|0))<<13)|0;u=((s=s+Math.imul(O,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(U,lt),n=(n=Math.imul(U,ct))+Math.imul(q,lt)|0,s=Math.imul(q,ct);var Ot=(u+(i=i+Math.imul(L,pt)|0)|0)+((8191&(n=(n=n+Math.imul(L,mt)|0)+Math.imul(N,pt)|0))<<13)|0;u=((s=s+Math.imul(N,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var Bt=(u+(i=Math.imul(U,pt))|0)+((8191&(n=(n=Math.imul(U,mt))+Math.imul(q,pt)|0))<<13)|0;return u=((s=Math.imul(q,mt))+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,h[0]=gt,h[1]=yt,h[2]=bt,h[3]=vt,h[4]=wt,h[5]=_t,h[6]=Mt,h[7]=St,h[8]=kt,h[9]=Et,h[10]=xt,h[11]=At,h[12]=It,h[13]=Tt,h[14]=Pt,h[15]=Ct,h[16]=Rt,h[17]=Ot,h[18]=Bt,0!==u&&(h[19]=u,r.length++),r};function m(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(p=d),s.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?p(this,t,e):i<63?d(this,t,e):i<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,s=0;s>>26)|0)>>>26,o&=67108863}r.words[s]=a,i=o,o=n}return 0!==i?r.words[s]=i:r.length--,r.strip()}(this,t,e):m(this,t,e),r},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=s.prototype._countBits(t)-1,i=0;i>=1;return i},g.prototype.permute=function(t,e,r,i,n,s){for(var o=0;o>>=1)n++;return 1<>>=13,r[2*o+1]=8191&s,s>>>=13;for(o=2*e;o>=26,e+=n/67108864|0,e+=s>>>26,this.words[r]=67108863&s}return 0!==e&&(this.words[r]=e,this.length++),this},s.prototype.muln=function(t){return this.clone().imuln(t)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>n}return e}(t);if(0===e.length)return new s(1);for(var r=this,i=0;i=0);var e,r=t%26,n=(t-r)/26,s=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var s=t%26,o=Math.min((t-s)/26,this.length),a=67108863^67108863>>>s<o)for(this.length-=o,u=0;u=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-s|l>>>s,f=l&a}return h&&0!==f&&(h.words[h.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},s.prototype.shln=function(t){return this.clone().ishln(t)},s.prototype.ushln=function(t){return this.clone().iushln(t)},s.prototype.shrn=function(t){return this.clone().ishrn(t)},s.prototype.ushrn=function(t){return this.clone().iushrn(t)},s.prototype.testn=function(t){i("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},s.prototype.isubn=function(t){if(i("number"==typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(h/67108864|0),this.words[n+r]=67108863&s}for(;n>26,this.words[n+r]=67108863&s;if(0===a)return this.strip();for(i(-1===a),a=0,n=0;n>26,this.words[n]=67108863&s;return this.negative=1,this.strip()},s.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),n=t,o=0|n.words[n.length-1];0!==(r=26-this._countBits(o))&&(n=n.ushln(r),i.iushln(r),o=0|n.words[n.length-1]);var a,h=i.length-n.length;if("mod"!==e){(a=new s(null)).length=h+1,a.words=new Array(a.length);for(var u=0;u=0;l--){var c=67108864*(0|i.words[n.length+l])+(0|i.words[n.length+l-1]);for(c=Math.min(c/o|0,67108863),i._ishlnsubmul(n,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(n,1,l),i.isZero()||(i.negative^=1);a&&(a.words[l]=c)}return a&&a.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:a||null,mod:i}},s.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(n=a.div.neg()),"div"!==e&&(o=a.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:n,mod:o}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(n=a.div.neg()),{div:n,mod:a.mod}):this.negative&t.negative?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(o=a.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:a.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new s(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new s(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new s(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,o,a},s.prototype.div=function(t){return this.divmod(t,"div",!1).div},s.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},s.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},s.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),s=r.cmp(i);return s<0||1===n&&0===s?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},s.prototype.modn=function(t){i(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;n>=0;n--)r=(e*r+(0|this.words[n]))%t;return r},s.prototype.idivn=function(t){i(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},s.prototype.divn=function(t){return this.clone().idivn(t)},s.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n=new s(1),o=new s(0),a=new s(0),h=new s(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var f=r.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;!(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(f),o.isub(l)),n.iushrn(1),o.iushrn(1);for(var p=0,m=1;!(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(a.isOdd()||h.isOdd())&&(a.iadd(f),h.isub(l)),a.iushrn(1),h.iushrn(1);e.cmp(r)>=0?(e.isub(r),n.isub(a),o.isub(h)):(r.isub(e),a.isub(n),h.isub(o))}return{a,b:h,gcd:r.iushln(u)}},s.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n,o=new s(1),a=new s(0),h=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,f=1;!(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)o.isOdd()&&o.iadd(h),o.iushrn(1);for(var l=0,c=1;!(r.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(r.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(h),a.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(a)):(r.isub(e),a.isub(o))}return(n=0===e.cmpn(1)?o:a).cmpn(0)<0&&n.iadd(t),n},s.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var s=e;e=r,r=s}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},s.prototype.invm=function(t){return this.egcd(t).a.umod(t)},s.prototype.isEven=function(){return!(1&this.words[0])},s.prototype.isOdd=function(){return!(1&~this.words[0])},s.prototype.andln=function(t){return this.words[0]&t},s.prototype.bincn=function(t){i("number"==typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,a&=67108863,this.words[o]=a}return 0!==s&&(this.words[o]=s,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},s.prototype.gtn=function(t){return 1===this.cmpn(t)},s.prototype.gt=function(t){return 1===this.cmp(t)},s.prototype.gten=function(t){return this.cmpn(t)>=0},s.prototype.gte=function(t){return this.cmp(t)>=0},s.prototype.ltn=function(t){return-1===this.cmpn(t)},s.prototype.lt=function(t){return-1===this.cmp(t)},s.prototype.lten=function(t){return this.cmpn(t)<=0},s.prototype.lte=function(t){return this.cmp(t)<=0},s.prototype.eqn=function(t){return 0===this.cmpn(t)},s.prototype.eq=function(t){return 0===this.cmp(t)},s.red=function(t){return new S(t)},s.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},s.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(t){return this.red=t,this},s.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},s.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},s.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},s.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},s.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},s.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},s.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},s.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},s.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function b(t,e){this.name=t,this.p=new s(e,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function w(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function S(t){if("string"==typeof t){var e=s._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){S.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var t=new s(null);return t.words=new Array(Math.ceil(this.n/13)),t},b.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},b.prototype.split=function(t,e){t.iushrn(this.n,0,e)},b.prototype.imulK=function(t){return t.imul(this.k)},n(v,b),v.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,s=o}s>>>=22,t.words[n-10]=s,0===s&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},s._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new w;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return y[t]=e,e},S.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},S.prototype._verify2=function(t,e){i(!(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},S.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},S.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},S.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},S.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},S.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},S.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},S.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},S.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},S.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},S.prototype.isqr=function(t){return this.imul(t,t.clone())},S.prototype.sqr=function(t){return this.mul(t,t)},S.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2==1),3===e){var r=this.m.add(new s(1)).iushrn(2);return this.pow(t,r)}for(var n=this.m.subn(1),o=0;!n.isZero()&&0===n.andln(1);)o++,n.iushrn(1);i(!n.isZero());var a=new s(1).toRed(this),h=a.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new s(2*f*f).toRed(this);0!==this.pow(f,u).cmp(h);)f.redIAdd(h);for(var l=this.pow(f,n),c=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=o;0!==d.cmp(a);){for(var m=d,g=0;0!==m.cmp(a);g++)m=m.redSqr();i(g=0;i--){for(var u=e.words[i],f=h-1;f>=0;f--){var l=u>>f&1;n!==r[0]&&(n=this.sqr(n)),0!==l||0!==o?(o<<=1,o|=l,(4===++a||0===i&&0===f)&&(n=this.mul(n,r[o]),a=0,o=0)):a=0}h=26}return n},S.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},S.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},s.mont=function(t){return new k(t)},n(k,S),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),s=n;return n.cmp(this.m)>=0?s=n.isub(this.m):n.cmpn(0)<0&&(s=n.iadd(this.m)),s._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new s(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=r.nmd(t),this)},2802:(t,e,r)=>{var i=t.exports=function(t){t=t.toLowerCase();var e=i[t];if(!e)throw new Error(t+" is not supported (we accept pull requests)");return new e};i.sha=r(7816),i.sha1=r(3737),i.sha224=r(6710),i.sha256=r(4107),i.sha384=r(2827),i.sha512=r(2890)},2808:(t,e,r)=>{var i=r(3349);function n(t){this.options=t,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0,this.padding=!1!==t.padding}t.exports=n,n.prototype._init=function(){},n.prototype.update=function(t){return 0===t.length?[]:"decrypt"===this.type?this._updateDecrypt(t):this._updateEncrypt(t)},n.prototype._buffer=function(t,e){for(var r=Math.min(this.buffer.length-this.bufferOff,t.length-e),i=0;i0;i--)e+=this._buffer(t,e),r+=this._flushBuffer(n,r);return e+=this._buffer(t,e),n},n.prototype.final=function(t){var e,r;return t&&(e=this.update(t)),r="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),e?e.concat(r):r},n.prototype._pad=function(t,e){if(0===e)return!1;for(;e{var i=r(6698),n=r(2890),s=r(392),o=r(2861).Buffer,a=new Array(160);function h(){this.init(),this._w=a,s.call(this,128,112)}i(h,n),h.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},h.prototype._hash=function(){var t=o.allocUnsafe(48);function e(e,r,i){t.writeInt32BE(e,i),t.writeInt32BE(r,i+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),t},t.exports=h},2853:(t,e,r)=>{var i=e;i.der=r(2010),i.pem=r(8903)},2861:(t,e,r)=>{var i=r(8287),n=i.Buffer;function s(t,e){for(var r in t)e[r]=t[r]}function o(t,e,r){return n(t,e,r)}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?t.exports=i:(s(i,e),e.Buffer=o),o.prototype=Object.create(n.prototype),s(n,o),o.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return n(t,e,r)},o.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var i=n(t);return void 0!==e?"string"==typeof r?i.fill(e,r):i.fill(e):i.fill(0),i},o.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n(t)},o.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i.SlowBuffer(t)}},2878:t=>{function e(t,e){return{start:t.start,end:t.end,index:e}}function r(t){return{start:t.start,end:t.end}}function i(t,e){return t.index-e.index}function n(t,e){return t.start-e.start}t.exports=function(t,s,o){if("string"!=typeof s)throw new TypeError("argument str must be a string");var a=s.indexOf("=");if(-1===a)return-2;var h=s.slice(a+1).split(","),u=[];u.type=s.slice(0,a);for(var f=0;ft-1&&(d=t-1),isNaN(c)||isNaN(d)||c>d||c<0||u.push({start:c,end:d})}if(u.length<1)return-1;return o&&o.combine?function(t){for(var s=t.map(e).sort(n),o=0,a=1;au.end+1?s[++o]=h:h.end>u.end&&(u.end=h.end,u.index=Math.min(u.index,h.index))}s.length=o+1;var f=s.sort(i).map(r);return f.type=t.type,f}(u):u}},2884:(t,e,r)=>{var i=r(295);e.encrypt=function(t,e){var r=i(e,t._prev);return t._prev=t._cipher.encryptBlock(r),t._prev},e.decrypt=function(t,e){var r=t._prev;t._prev=e;var n=t._cipher.decryptBlock(e);return i(n,r)}},2890:(t,e,r)=>{var i=r(6698),n=r(392),s=r(2861).Buffer,o=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],a=new Array(160);function h(){this.init(),this._w=a,n.call(this,128,112)}function u(t,e,r){return r^t&(e^r)}function f(t,e,r){return t&e|r&(t|e)}function l(t,e){return(t>>>28|e<<4)^(e>>>2|t<<30)^(e>>>7|t<<25)}function c(t,e){return(t>>>14|e<<18)^(t>>>18|e<<14)^(e>>>9|t<<23)}function d(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^t>>>7}function p(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^(t>>>7|e<<25)}function m(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^t>>>6}function g(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^(t>>>6|e<<26)}function y(t,e){return t>>>0>>0?1:0}i(h,n),h.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},h.prototype._update=function(t){for(var e=this._w,r=0|this._ah,i=0|this._bh,n=0|this._ch,s=0|this._dh,a=0|this._eh,h=0|this._fh,b=0|this._gh,v=0|this._hh,w=0|this._al,_=0|this._bl,M=0|this._cl,S=0|this._dl,k=0|this._el,E=0|this._fl,x=0|this._gl,A=0|this._hl,I=0;I<32;I+=2)e[I]=t.readInt32BE(4*I),e[I+1]=t.readInt32BE(4*I+4);for(;I<160;I+=2){var T=e[I-30],P=e[I-30+1],C=d(T,P),R=p(P,T),O=m(T=e[I-4],P=e[I-4+1]),B=g(P,T),L=e[I-14],N=e[I-14+1],j=e[I-32],U=e[I-32+1],q=R+N|0,D=C+L+y(q,R)|0;D=(D=D+O+y(q=q+B|0,B)|0)+j+y(q=q+U|0,U)|0,e[I]=D,e[I+1]=q}for(var H=0;H<160;H+=2){D=e[H],q=e[H+1];var F=f(r,i,n),z=f(w,_,M),$=l(r,w),W=l(w,r),K=c(a,k),V=c(k,a),Z=o[H],G=o[H+1],Y=u(a,h,b),J=u(k,E,x),X=A+V|0,Q=v+K+y(X,A)|0;Q=(Q=(Q=Q+Y+y(X=X+J|0,J)|0)+Z+y(X=X+G|0,G)|0)+D+y(X=X+q|0,q)|0;var tt=W+z|0,et=$+F+y(tt,W)|0;v=b,A=x,b=h,x=E,h=a,E=k,a=s+Q+y(k=S+X|0,S)|0,s=n,S=M,n=i,M=_,i=r,_=w,r=Q+et+y(w=X+tt|0,X)|0}this._al=this._al+w|0,this._bl=this._bl+_|0,this._cl=this._cl+M|0,this._dl=this._dl+S|0,this._el=this._el+k|0,this._fl=this._fl+E|0,this._gl=this._gl+x|0,this._hl=this._hl+A|0,this._ah=this._ah+r+y(this._al,w)|0,this._bh=this._bh+i+y(this._bl,_)|0,this._ch=this._ch+n+y(this._cl,M)|0,this._dh=this._dh+s+y(this._dl,S)|0,this._eh=this._eh+a+y(this._el,k)|0,this._fh=this._fh+h+y(this._fl,E)|0,this._gh=this._gh+b+y(this._gl,x)|0,this._hh=this._hh+v+y(this._hl,A)|0},h.prototype._hash=function(){var t=s.allocUnsafe(64);function e(e,r,i){t.writeInt32BE(e,i),t.writeInt32BE(r,i+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),e(this._gh,this._gl,48),e(this._hh,this._hl,56),t},t.exports=h},2951:t=>{t.exports=JSON.parse('{"sha224WithRSAEncryption":{"sign":"rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"RSA-SHA224":{"sign":"ecdsa/rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"sha256WithRSAEncryption":{"sign":"rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"RSA-SHA256":{"sign":"ecdsa/rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"sha384WithRSAEncryption":{"sign":"rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"RSA-SHA384":{"sign":"ecdsa/rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"sha512WithRSAEncryption":{"sign":"rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA512":{"sign":"ecdsa/rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA1":{"sign":"rsa","hash":"sha1","id":"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{"sign":"ecdsa","hash":"sha1","id":""},"sha256":{"sign":"ecdsa","hash":"sha256","id":""},"sha224":{"sign":"ecdsa","hash":"sha224","id":""},"sha384":{"sign":"ecdsa","hash":"sha384","id":""},"sha512":{"sign":"ecdsa","hash":"sha512","id":""},"DSA-SHA":{"sign":"dsa","hash":"sha1","id":""},"DSA-SHA1":{"sign":"dsa","hash":"sha1","id":""},"DSA":{"sign":"dsa","hash":"sha1","id":""},"DSA-WITH-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-WITH-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-WITH-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-WITH-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-RIPEMD160":{"sign":"dsa","hash":"rmd160","id":""},"ripemd160WithRSA":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"RSA-RIPEMD160":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"md5WithRSAEncryption":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"},"RSA-MD5":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"}}')},2955:(t,e,r)=>{var i,n=r(717);function s(t,e,r){return(e=function(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,e||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var o=r(6238),a=Symbol("lastResolve"),h=Symbol("lastReject"),u=Symbol("error"),f=Symbol("ended"),l=Symbol("lastPromise"),c=Symbol("handlePromise"),d=Symbol("stream");function p(t,e){return{value:t,done:e}}function m(t){var e=t[a];if(null!==e){var r=t[d].read();null!==r&&(t[l]=null,t[a]=null,t[h]=null,e(p(r,!1)))}}function g(t){n.nextTick(m,t)}var y=Object.getPrototypeOf((function(){})),b=Object.setPrototypeOf((i={get stream(){return this[d]},next:function(){var t=this,e=this[u];if(null!==e)return Promise.reject(e);if(this[f])return Promise.resolve(p(void 0,!0));if(this[d].destroyed)return new Promise((function(e,r){n.nextTick((function(){t[u]?r(t[u]):e(p(void 0,!0))}))}));var r,i=this[l];if(i)r=new Promise(function(t,e){return function(r,i){t.then((function(){e[f]?r(p(void 0,!0)):e[c](r,i)}),i)}}(i,this));else{var s=this[d].read();if(null!==s)return Promise.resolve(p(s,!1));r=new Promise(this[c])}return this[l]=r,r}},s(i,Symbol.asyncIterator,(function(){return this})),s(i,"return",(function(){var t=this;return new Promise((function(e,r){t[d].destroy(null,(function(t){t?r(t):e(p(void 0,!0))}))}))})),i),y);t.exports=function(t){var e,r=Object.create(b,(s(e={},d,{value:t,writable:!0}),s(e,a,{value:null,writable:!0}),s(e,h,{value:null,writable:!0}),s(e,u,{value:null,writable:!0}),s(e,f,{value:t._readableState.endEmitted,writable:!0}),s(e,c,{value:function(t,e){var i=r[d].read();i?(r[l]=null,r[a]=null,r[h]=null,t(p(i,!1))):(r[a]=t,r[h]=e)},writable:!0}),e));return r[l]=null,o(t,(function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=r[h];return null!==e&&(r[l]=null,r[a]=null,r[h]=null,e(t)),void(r[u]=t)}var i=r[a];null!==i&&(r[l]=null,r[a]=null,r[h]=null,i(p(void 0,!0))),r[f]=!0})),t.on("readable",g.bind(null,r)),r}},3033:(t,e,r)=>{function i(t){return(t>>3)+Number(t%8!=0)}r.d(e,{A:()=>n});class n{get length(){return this.buffer.length<<3}constructor(t=0,e){const r=null==e?void 0:e.grow;this.grow=r?Number.isFinite(r)?i(r):r:0,this.buffer="number"==typeof t?new Uint8Array(i(t)):t}get(t){const e=t>>3;return e>t%8)}set(t,e=!0){const r=t>>3;if(e){if(r>=this.buffer.length){const t=Math.max(r+1,Math.min(2*this.buffer.length,this.grow));if(t<=this.grow){const e=new Uint8Array(t);e.set(this.buffer),this.buffer=e}}this.buffer[r]|=128>>t%8}else r>t%8))}setAll(t,e=0){const r=Math.min(i(e+t.length),this.grow);if(this.buffer.length>3,s=128>>e%8;for(let e=0;e=this.buffer.length)break;s=128}else s>>=1}forEach(t,e=0,r=8*this.buffer.length){let i=e>>3,n=128>>e%8;for(let s=e;s>=1}isEmpty(){for(let t=0;t{var i=r(295),n=r(2861).Buffer,s=r(5122);function o(t){var e=t._cipher.encryptBlockRaw(t._prev);return s(t._prev),e}e.encrypt=function(t,e){var r=Math.ceil(e.length/16),s=t._cache.length;t._cache=n.concat([t._cache,n.allocUnsafe(16*r)]);for(var a=0;a{var i=r(717),n=r(5472),s=r(3085),o=function(t,e,r){this.tokenBucket=new n(t,t,e,null),this.tokenBucket.content=t,this.curIntervalStart=s(),this.tokensThisInterval=0,this.fireImmediately=r};o.prototype={tokenBucket:null,curIntervalStart:0,tokensThisInterval:0,fireImmediately:!1,removeTokens:function(t,e){if(t>this.tokenBucket.bucketSize)return i.nextTick(e.bind(null,"Requested tokens "+t+" exceeds maximum tokens per interval "+this.tokenBucket.bucketSize,null)),!1;var r=this,n=s();if((n=this.tokenBucket.interval)&&(this.curIntervalStart=n,this.tokensThisInterval=0),t>this.tokenBucket.tokensPerInterval-this.tokensThisInterval){if(this.fireImmediately)i.nextTick(e.bind(null,null,-1));else{var o=Math.ceil(this.curIntervalStart+this.tokenBucket.interval-n);setTimeout((function(){r.tokenBucket.removeTokens(t,a)}),o)}return!1}return this.tokenBucket.removeTokens(t,a);function a(i,n){if(i)return e(i,null);r.tokensThisInterval+=t,e(null,n)}},tryRemoveTokens:function(t){if(t>this.tokenBucket.bucketSize)return!1;var e=s();if((e=this.tokenBucket.interval)&&(this.curIntervalStart=e,this.tokensThisInterval=0),t>this.tokenBucket.tokensPerInterval-this.tokensThisInterval)return!1;var r=this.tokenBucket.tryRemoveTokens(t);return r&&(this.tokensThisInterval+=t),r},getTokensRemaining:function(){return this.tokenBucket.drip(),this.tokenBucket.content}},t.exports=o},3085:(t,e,r)=>{var i=r(717);t.exports=function(){if(void 0!==i&&i.hrtime){var t=i.hrtime(),e=t[0],r=t[1];return 1e3*e+Math.floor(r/1e6)}return(new Date).getTime()}},3093:(t,e,r)=>{var i=r(4459);t.exports=function(t){return i(t)||0===t?t:t<0?-1:1}},3126:(t,e,r)=>{var i=r(6743),n=r(9675),s=r(76),o=r(3144);t.exports=function(t){if(t.length<1||"function"!=typeof t[0])throw new n("a function is required");return o(i,s,t)}},3141:(t,e,r)=>{var i=r(2861).Buffer,n=i.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function s(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(i.isEncoding===n||!n(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=h,this.end=u,e=4;break;case"utf8":this.fillLast=a,e=4;break;case"base64":this.text=f,this.end=l,e=3;break;default:return this.write=c,void(this.end=d)}this.lastNeed=0,this.lastTotal=0,this.lastChar=i.allocUnsafe(e)}function o(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function a(t){var e=this.lastTotal-this.lastNeed,r=function(t,e){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function h(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var i=r.charCodeAt(r.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function u(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function f(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function l(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function c(t){return t.toString(this.encoding)}function d(t){return t&&t.length?this.write(t):""}e.I=s,s.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0)return n>0&&(t.lastNeed=n-1),n;if(--i=0)return n>0&&(t.lastNeed=n-2),n;if(--i=0)return n>0&&(2===n?n=0:t.lastNeed=n-3),n;return 0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var i=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)},s.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},3144:(t,e,r)=>{var i=r(6743),n=r(1002),s=r(76),o=r(7119);t.exports=o||i.call(s,n)},3208:()=>{},3209:(t,e,r)=>{var i=r(717),n=65536,s=4294967295;var o=r(2861).Buffer,a=globalThis.crypto||globalThis.msCrypto;a&&a.getRandomValues?t.exports=function(t,e){if(t>s)throw new RangeError("requested too many random bytes");var r=o.allocUnsafe(t);if(t>0)if(t>n)for(var h=0;h{t.exports=JSON.parse('{"aes-128-ecb":{"cipher":"AES","key":128,"iv":0,"mode":"ECB","type":"block"},"aes-192-ecb":{"cipher":"AES","key":192,"iv":0,"mode":"ECB","type":"block"},"aes-256-ecb":{"cipher":"AES","key":256,"iv":0,"mode":"ECB","type":"block"},"aes-128-cbc":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes-192-cbc":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes-256-cbc":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes128":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes192":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes256":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes-128-cfb":{"cipher":"AES","key":128,"iv":16,"mode":"CFB","type":"stream"},"aes-192-cfb":{"cipher":"AES","key":192,"iv":16,"mode":"CFB","type":"stream"},"aes-256-cfb":{"cipher":"AES","key":256,"iv":16,"mode":"CFB","type":"stream"},"aes-128-cfb8":{"cipher":"AES","key":128,"iv":16,"mode":"CFB8","type":"stream"},"aes-192-cfb8":{"cipher":"AES","key":192,"iv":16,"mode":"CFB8","type":"stream"},"aes-256-cfb8":{"cipher":"AES","key":256,"iv":16,"mode":"CFB8","type":"stream"},"aes-128-cfb1":{"cipher":"AES","key":128,"iv":16,"mode":"CFB1","type":"stream"},"aes-192-cfb1":{"cipher":"AES","key":192,"iv":16,"mode":"CFB1","type":"stream"},"aes-256-cfb1":{"cipher":"AES","key":256,"iv":16,"mode":"CFB1","type":"stream"},"aes-128-ofb":{"cipher":"AES","key":128,"iv":16,"mode":"OFB","type":"stream"},"aes-192-ofb":{"cipher":"AES","key":192,"iv":16,"mode":"OFB","type":"stream"},"aes-256-ofb":{"cipher":"AES","key":256,"iv":16,"mode":"OFB","type":"stream"},"aes-128-ctr":{"cipher":"AES","key":128,"iv":16,"mode":"CTR","type":"stream"},"aes-192-ctr":{"cipher":"AES","key":192,"iv":16,"mode":"CTR","type":"stream"},"aes-256-ctr":{"cipher":"AES","key":256,"iv":16,"mode":"CTR","type":"stream"},"aes-128-gcm":{"cipher":"AES","key":128,"iv":12,"mode":"GCM","type":"auth"},"aes-192-gcm":{"cipher":"AES","key":192,"iv":12,"mode":"GCM","type":"auth"},"aes-256-gcm":{"cipher":"AES","key":256,"iv":12,"mode":"GCM","type":"auth"}}')},3225:(t,e,r)=>{var i=r(717);void 0===i||!i.version||0===i.version.indexOf("v0.")||0===i.version.indexOf("v1.")&&0!==i.version.indexOf("v1.8.")?t.exports={nextTick:function(t,e,r,n){if("function"!=typeof t)throw new TypeError('"callback" argument must be a function');var s,o,a=arguments.length;switch(a){case 0:case 1:return i.nextTick(t);case 2:return i.nextTick((function(){t.call(null,e)}));case 3:return i.nextTick((function(){t.call(null,e,r)}));case 4:return i.nextTick((function(){t.call(null,e,r,n)}));default:for(s=new Array(a-1),o=0;o{t.exports=JSON.parse('{"modp1":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},"modp2":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},"modp5":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},"modp14":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},"modp15":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},"modp16":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},"modp17":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},"modp18":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}')},3278:()=>{},3349:t=>{function e(t,e){if(!t)throw new Error(e||"Assertion failed")}t.exports=e,e.equal=function(t,e,r){if(t!=e)throw new Error(r||"Assertion failed: "+t+" != "+e)}},3382:(t,e,r)=>{var i=r(2861).Buffer;t.exports=function(t,e,r){if(i.isBuffer(t))return t;if("string"==typeof t)return i.from(t,e);if(ArrayBuffer.isView(t))return i.from(t.buffer);throw new TypeError(r+" must be a string, a Buffer, a typed array or a DataView")}},3389:(t,e,r)=>{var i=r(3349),n=r(6698),s={};function o(t){i.equal(t.length,8,"Invalid IV length"),this.iv=new Array(8);for(var e=0;e{"undefined"!=typeof ReadableStream&&(ReadableStream.prototype[Symbol.asyncIterator]||(ReadableStream.prototype[Symbol.asyncIterator]=function({preventCancel:t}={}){const e=this.getReader(),r=this;let i=e.read();return{next(){const t=i;return i=e.read(),t},return:async n=>(await i,e.releaseLock(),t||r.cancel(),{done:!0,value:n}),async throw(t){throw await this.return(),t},[Symbol.asyncIterator](){return this}}}),ReadableStream.prototype.getIterator||(ReadableStream.prototype.getIterator=function({preventCancel:t}={}){return this[Symbol.asyncIterator]({preventCancel:t})}))},3507:(t,e,r)=>{var i=r(6698),n=r(1800),s=r(6168),o=r(2861).Buffer,a=r(320),h=r(6011),u=r(2802),f=o.alloc(128);function l(t,e){s.call(this,"digest"),"string"==typeof e&&(e=o.from(e));var r="sha512"===t||"sha384"===t?128:64;(this._alg=t,this._key=e,e.length>r)?e=("rmd160"===t?new h:u(t)).update(e).digest():e.length{var i=r(6587);function n(t){var e=function(){return e.called?e.value:(e.called=!0,e.value=t.apply(this,arguments))};return e.called=!1,e}function s(t){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=t.apply(this,arguments)},r=t.name||"Function wrapped with `once`";return e.onceError=r+" shouldn't be called more than once",e.called=!1,e}t.exports=i(n),t.exports.strict=i(s),n.proto=n((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return n(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return s(this)},configurable:!0})}))},3549:()=>{},3600:(t,e,r)=>{t.exports=n;var i=r(4610);function n(t){if(!(this instanceof n))return new n(t);i.call(this,t)}r(6698)(n,i),n.prototype._transform=function(t,e,r){r(null,t)}},3628:(t,e,r)=>{var i=r(8648),n=r(1064),s=r(7176);t.exports=i?function(t){return i(t)}:n?function(t){if(!t||"object"!=typeof t&&"function"!=typeof t)throw new TypeError("getProto: not an object");return n(t)}:s?function(t){return s(t)}:null},3714:(t,e,r)=>{const i=r(9596);t.exports=class{constructor(t){if(this.store=t,this.chunkLength=t.chunkLength,!this.store||!this.store.get||!this.store.put)throw new Error("First argument must be abstract-chunk-store compliant");this.mem=[]}put(t,e,r=()=>{}){this.mem[t]=e,this.store.put(t,e,(e=>{this.mem[t]=null,r(e)}))}get(t,e,r=()=>{}){if("function"==typeof e)return this.get(t,null,e);let n=this.mem[t];if(!n)return this.store.get(t,e,r);e||(e={});const s=e.offset||0,o=e.length||n.length-s;0===s&&o===n.length||(n=n.slice(s,o+s)),i((()=>r(null,n)))}close(t=()=>{}){this.store.close(t)}destroy(t=()=>{}){this.store.destroy(t)}}},3737:(t,e,r)=>{var i=r(6698),n=r(392),s=r(2861).Buffer,o=[1518500249,1859775393,-1894007588,-899497514],a=new Array(80);function h(){this.init(),this._w=a,n.call(this,64,56)}function u(t){return t<<5|t>>>27}function f(t){return t<<30|t>>>2}function l(t,e,r,i){return 0===t?e&r|~e&i:2===t?e&r|e&i|r&i:e^r^i}i(h,n),h.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},h.prototype._update=function(t){for(var e,r=this._w,i=0|this._a,n=0|this._b,s=0|this._c,a=0|this._d,h=0|this._e,c=0;c<16;++c)r[c]=t.readInt32BE(4*c);for(;c<80;++c)r[c]=(e=r[c-3]^r[c-8]^r[c-14]^r[c-16])<<1|e>>>31;for(var d=0;d<80;++d){var p=~~(d/20),m=u(i)+l(p,n,s,a)+h+r[d]+o[p]|0;h=a,a=s,s=f(n),n=i,i=m}this._a=i+this._a|0,this._b=n+this._b|0,this._c=s+this._c|0,this._d=a+this._d|0,this._e=h+this._e|0},h.prototype._hash=function(){var t=s.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},t.exports=h},3832:(t,e,r)=>{var i,n,s=r(2861).Buffer,o=r(4196),a=r(2455),h=r(681),u=r(3382),f=globalThis.crypto&&globalThis.crypto.subtle,l={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},c=[];function d(){return n||(n=globalThis.process&&globalThis.process.nextTick?globalThis.process.nextTick:globalThis.queueMicrotask?globalThis.queueMicrotask:globalThis.setImmediate?globalThis.setImmediate:globalThis.setTimeout)}function p(t,e,r,i,n){return f.importKey("raw",t,{name:"PBKDF2"},!1,["deriveBits"]).then((function(t){return f.deriveBits({name:"PBKDF2",salt:e,iterations:r,hash:{name:n}},t,i<<3)})).then((function(t){return s.from(t)}))}t.exports=function(t,e,r,n,m,g){"function"==typeof m&&(g=m,m=void 0);var y=l[(m=m||"sha1").toLowerCase()];if(y&&"function"==typeof globalThis.Promise){if(o(r,n),t=u(t,a,"Password"),e=u(e,a,"Salt"),"function"!=typeof g)throw new Error("No callback provided to pbkdf2");!function(t,e){t.then((function(t){d()((function(){e(null,t)}))}),(function(t){d()((function(){e(t)}))}))}(function(t){if(globalThis.process&&!globalThis.process.browser)return Promise.resolve(!1);if(!f||!f.importKey||!f.deriveBits)return Promise.resolve(!1);if(void 0!==c[t])return c[t];var e=p(i=i||s.alloc(8),i,10,128,t).then((function(){return!0})).catch((function(){return!1}));return c[t]=e,e}(y).then((function(i){return i?p(t,e,r,n,y):h(t,e,r,n,m)})),g)}else d()((function(){var i;try{i=h(t,e,r,n,m)}catch(t){return g(t)}g(null,i)}))}},3917:(t,e,r)=>{var i=r(7426),n=r(6166),s=r(6225),o=i.rotl32,a=i.sum32,h=i.sum32_5,u=s.ft_1,f=n.BlockHash,l=[1518500249,1859775393,2400959708,3395469782];function c(){if(!(this instanceof c))return new c;f.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}i.inherits(c,f),t.exports=c,c.blockSize=512,c.outSize=160,c.hmacStrength=80,c.padLength=64,c.prototype._update=function(t,e){for(var r=this.W,i=0;i<16;i++)r[i]=t[e+i];for(;i{const i=r(537),n=r(8310);function s(t){t&&!t._paused&&t.readable&&t.resume()}function o(t){n.Readable.call(this),this._readableState.readingMore=!0,this.socket=t,this.connection=t,this.httpVersionMajor=null,this.httpVersionMinor=null,this.httpVersion=null,this.complete=!1,this.headers={},this.rawHeaders=[],this.trailers={},this.rawTrailers=[],this.readable=!0,this.upgrade=null,this.url="",this.method=null,this.statusCode=null,this.statusMessage=null,this.client=t,this._consuming=!1,this._dumped=!1}e.readStart=s,e.readStop=function(t){t&&t.pause()},i.inherits(o,n.Readable),e.IncomingMessage=o,o.prototype.setTimeout=function(t,e){return e&&this.on("timeout",e),this.socket.setTimeout(t),this},o.prototype.read=function(t){return this._consuming||(this._readableState.readingMore=!1),this._consuming=!0,this.read=n.Readable.prototype.read,this.read(t)},o.prototype._read=function(t){this.socket.readable&&s(this.socket)},o.prototype.destroy=function(t){this.socket&&this.socket.destroy(t)},o.prototype._addHeaderLines=function(t,e){if(t&&t.length){var r,i;this.complete?(r=this.rawTrailers,i=this.trailers):(r=this.rawHeaders,i=this.headers);for(var n=0;n{t.exports={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}},4018:t=>{t.exports=function(){for(var t=navigator.hardwareConcurrency||1,e=[],r=0;r{var i="undefined"!=typeof Symbol&&Symbol,n=r(1333);t.exports=function(){return"function"==typeof i&&("function"==typeof Symbol&&("symbol"==typeof i("foo")&&("symbol"==typeof Symbol("bar")&&n())))}},4050:(t,e,r)=>{var i=r(6168),n=r(9560),s=r(6698),o=r(2861).Buffer,a={"des-ede3-cbc":n.CBC.instantiate(n.EDE),"des-ede3":n.EDE,"des-ede-cbc":n.CBC.instantiate(n.EDE),"des-ede":n.EDE,"des-cbc":n.CBC.instantiate(n.DES),"des-ecb":n.DES};function h(t){i.call(this);var e,r=t.mode.toLowerCase(),n=a[r];e=t.decrypt?"decrypt":"encrypt";var s=t.key;o.isBuffer(s)||(s=o.from(s)),"des-ede"!==r&&"des-ede-cbc"!==r||(s=o.concat([s,s.slice(0,8)]));var h=t.iv;o.isBuffer(h)||(h=o.from(h)),this._des=n.create({key:s,iv:h,type:e})}a.des=a["des-cbc"],a.des3=a["des-ede3-cbc"],t.exports=h,s(h,i),h.prototype._update=function(t){return o.from(this._des.update(t))},h.prototype._final=function(){return o.from(this._des.final())}},4101:(t,e,r)=>{var i=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r+/=]+)[\n\r]+/m,n=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,s=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r+/=]+)-----END \1-----$/m,o=r(8078),a=r(1241),h=r(2861).Buffer;t.exports=function(t,e){var r,u=t.toString(),f=u.match(i);if(f){var l="aes"+f[1],c=h.from(f[2],"hex"),d=h.from(f[3].replace(/[\r\n]/g,""),"base64"),p=o(e,c.slice(0,8),parseInt(f[1],10)).key,m=[],g=a.createDecipheriv(l,p,c);m.push(g.update(d)),m.push(g.final()),r=h.concat(m)}else{var y=u.match(s);r=h.from(y[2].replace(/[\r\n]/g,""),"base64")}return{tag:u.match(n)[1],data:r}}},4107:(t,e,r)=>{var i=r(6698),n=r(392),s=r(2861).Buffer,o=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],a=new Array(64);function h(){this.init(),this._w=a,n.call(this,64,56)}function u(t,e,r){return r^t&(e^r)}function f(t,e,r){return t&e|r&(t|e)}function l(t){return(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10)}function c(t){return(t>>>6|t<<26)^(t>>>11|t<<21)^(t>>>25|t<<7)}function d(t){return(t>>>7|t<<25)^(t>>>18|t<<14)^t>>>3}i(h,n),h.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},h.prototype._update=function(t){for(var e,r=this._w,i=0|this._a,n=0|this._b,s=0|this._c,a=0|this._d,h=0|this._e,p=0|this._f,m=0|this._g,g=0|this._h,y=0;y<16;++y)r[y]=t.readInt32BE(4*y);for(;y<64;++y)r[y]=0|(((e=r[y-2])>>>17|e<<15)^(e>>>19|e<<13)^e>>>10)+r[y-7]+d(r[y-15])+r[y-16];for(var b=0;b<64;++b){var v=g+c(h)+u(h,p,m)+o[b]+r[b]|0,w=l(i)+f(i,n,s)|0;g=m,m=p,p=h,h=a+v|0,a=s,s=n,n=i,i=v+w|0}this._a=i+this._a|0,this._b=n+this._b|0,this._c=s+this._c|0,this._d=a+this._d|0,this._e=h+this._e|0,this._f=p+this._f|0,this._g=m+this._g|0,this._h=g+this._h|0},h.prototype._hash=function(){var t=s.allocUnsafe(32);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t.writeInt32BE(this._h,28),t},t.exports=h},4116:(t,e,r)=>{var i=r(8287),n=i.Buffer;function s(t,e){for(var r in t)e[r]=t[r]}function o(t,e,r){return n(t,e,r)}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?t.exports=i:(s(i,e),e.Buffer=o),s(n,o),o.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return n(t,e,r)},o.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var i=n(t);return void 0!==e?"string"==typeof r?i.fill(e,r):i.fill(e):i.fill(0),i},o.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n(t)},o.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i.SlowBuffer(t)}},4196:t=>{var e=Math.pow(2,30)-1;t.exports=function(t,r){if("number"!=typeof t)throw new TypeError("Iterations not a number");if(t<0)throw new TypeError("Bad iterations");if("number"!=typeof r)throw new TypeError("Key length not a number");if(r<0||r>e||r!=r)throw new TypeError("Bad key length")}},4343:()=>{},4367:(t,e)=>{var r=e;function i(t){return 1===t.length?"0"+t:t}function n(t){for(var e="",r=0;r>8,o=255&n;s?r.push(s,o):r.push(o)}return r},r.zero2=i,r.toHex=n,r.encode=function(t,e){return"hex"===e?n(t):t}},4459:t=>{t.exports=Number.isNaN||function(t){return t!=t}},4497:(t,e,r)=>{const i=r(8454),n=r(9596);t.exports=class{constructor(t,e){if(this.store=t,this.chunkLength=t.chunkLength,this.inProgressGets=new Map,!this.store||!this.store.get||!this.store.put)throw new Error("First argument must be abstract-chunk-store compliant");this.cache=new i(e)}put(t,e,r=()=>{}){if(!this.cache)return n((()=>r(new Error("CacheStore closed"))));this.cache.remove(t),this.store.put(t,e,r)}get(t,e,r=()=>{}){if("function"==typeof e)return this.get(t,null,e);if(!this.cache)return n((()=>r(new Error("CacheStore closed"))));e||(e={});let i=this.cache.get(t);if(i){const t=e.offset||0,s=e.length||i.length-t;return 0===t&&s===i.length||(i=i.slice(t,s+t)),n((()=>r(null,i)))}let s=this.inProgressGets.get(t);const o=!!s;s||(s=[],this.inProgressGets.set(t,s)),s.push({opts:e,cb:r}),o||this.store.get(t,((e,r)=>{e||null==this.cache||this.cache.set(t,r);const i=this.inProgressGets.get(t);this.inProgressGets.delete(t);for(const{opts:t,cb:n}of i)if(e)n(e);else{const e=t.offset||0,i=t.length||r.length-e;let s=r;0===e&&i===r.length||(s=r.slice(e,i+e)),n(null,s)}}))}close(t=()=>{}){if(!this.cache)return n((()=>t(new Error("CacheStore closed"))));this.cache=null,this.store.close(t)}destroy(t=()=>{}){if(!this.cache)return n((()=>t(new Error("CacheStore closed"))));this.cache=null,this.store.destroy(t)}}},4529:(t,e,r)=>{var i=r(1514)();function n(t,e){if(t===e)return 0;for(var r=t.length,i=e.length,n=0,s=Math.min(r,i);n=0;u--)if(f[u]!==l[u])return!1;for(u=f.length-1;u>=0;u--)if(!v(t[a=f[u]],e[a],r,i))return!1;return!0}(t,e,r,i))}return r?t===e:t==e}function w(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function _(t,e){if(!t||!e)return!1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function M(t,e,r,i){var n;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(i=r,r=null),n=function(t){var e;try{t()}catch(t){e=t}return e}(e),i=(r&&r.name?" ("+r.name+").":".")+(i?" "+i:"."),t&&!n&&y(n,r,"Missing expected exception"+i);var s="string"==typeof i,a=!t&&n&&!r;if((!t&&o.isError(n)&&s&&_(n,r)||a)&&y(n,r,"Got unwanted exception"+i),t&&n&&r&&!_(n,r)||!t&&n)throw n}c.AssertionError=function(t){this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=function(t){return m(g(t.actual),128)+" "+t.operator+" "+m(g(t.expected),128)}(this),this.generatedMessage=!0);var e=t.stackStartFunction||y;if(Error.captureStackTrace)Error.captureStackTrace(this,e);else{var r=new Error;if(r.stack){var i=r.stack,n=p(e),s=i.indexOf("\n"+n);if(s>=0){var o=i.indexOf("\n",s+1);i=i.substring(o+1)}this.stack=i}}},o.inherits(c.AssertionError,Error),c.fail=y,c.ok=b,c.equal=function(t,e,r){t!=e&&y(t,e,r,"==",c.equal)},c.notEqual=function(t,e,r){t==e&&y(t,e,r,"!=",c.notEqual)},c.deepEqual=function(t,e,r){v(t,e,!1)||y(t,e,r,"deepEqual",c.deepEqual)},c.deepStrictEqual=function(t,e,r){v(t,e,!0)||y(t,e,r,"deepStrictEqual",c.deepStrictEqual)},c.notDeepEqual=function(t,e,r){v(t,e,!1)&&y(t,e,r,"notDeepEqual",c.notDeepEqual)},c.notDeepStrictEqual=function t(e,r,i){v(e,r,!0)&&y(e,r,i,"notDeepStrictEqual",t)},c.strictEqual=function(t,e,r){t!==e&&y(t,e,r,"===",c.strictEqual)},c.notStrictEqual=function(t,e,r){t===e&&y(t,e,r,"!==",c.notStrictEqual)},c.throws=function(t,e,r){M(!0,t,e,r)},c.doesNotThrow=function(t,e,r){M(!1,t,e,r)},c.ifError=function(t){if(t)throw t},c.strict=i((function t(e,r){e||y(e,!0,r,"==",t)}),c,{equal:c.strictEqual,deepEqual:c.deepStrictEqual,notEqual:c.notStrictEqual,notDeepEqual:c.notDeepStrictEqual}),c.strict.strict=c.strict;var S=Object.keys||function(t){var e=[];for(var r in t)a.call(t,r)&&e.push(r);return e}},4589:t=>{t.exports=JSON.parse('{"1.3.132.0.10":"secp256k1","1.3.132.0.33":"p224","1.2.840.10045.3.1.1":"p192","1.2.840.10045.3.1.7":"p256","1.3.132.0.34":"p384","1.3.132.0.35":"p521"}')},4598:(t,e,r)=>{var i=r(2153);e.tagClass={0:"universal",1:"application",2:"context",3:"private"},e.tagClassByName=i._reverse(e.tagClass),e.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},e.tagByName=i._reverse(e.tag)},4610:(t,e,r)=>{t.exports=f;var i=r(113).F,n=i.ERR_METHOD_NOT_IMPLEMENTED,s=i.ERR_MULTIPLE_CALLBACK,o=i.ERR_TRANSFORM_ALREADY_TRANSFORMING,a=i.ERR_TRANSFORM_WITH_LENGTH_0,h=r(5382);function u(t,e){var r=this._transformState;r.transforming=!1;var i=r.writecb;if(null===i)return this.emit("error",new s);r.writechunk=null,r.writecb=null,null!=e&&this.push(e),i(t);var n=this._readableState;n.reading=!1,(n.needReadable||n.length{const i=r(7042);t.exports=class{constructor(t){this.encoding=t}get remaining(){return 0}decode(t){return i.toString(t,this.encoding)}flush(){return""}}},4643:t=>{function e(t){try{if(!globalThis.localStorage)return!1}catch(t){return!1}var e=globalThis.localStorage[t];return null!=e&&"true"===String(e).toLowerCase()}t.exports=function(t,r){if(e("noDeprecation"))return t;var i=!1;return function(){if(!i){if(e("throwDeprecation"))throw new Error(r);e("traceDeprecation")?console.trace(r):console.warn(r),i=!0}return t.apply(this,arguments)}}},4662:(t,e,r)=>{var i=r(8287).Buffer;function n(t,e,r){let i=0,n=1;for(let s=e;s=48)i=10*i+(r-48);else if(s!==e||43!==r){if(s!==e||45!==r){if(46===r)break;throw new Error("not a number: buffer["+s+"] = "+r)}n=-1}}return i*n}function s(t,e,r,n){return null==t||0===t.length?null:("number"!=typeof e&&null==n&&(n=e,e=void 0),"number"!=typeof r&&null==n&&(n=r,r=void 0),s.position=0,s.encoding=n||null,s.data=i.isBuffer(t)?t.slice(e,r):i.from(t),s.bytes=s.data.length,s.next())}s.bytes=0,s.position=0,s.data=null,s.encoding=null,s.next=function(){switch(s.data[s.position]){case 100:return s.dictionary();case 108:return s.list();case 105:return s.integer();default:return s.buffer()}},s.find=function(t){let e=s.position;const r=s.data.length,i=s.data;for(;e{var i=e;i.der=r(82),i.pem=r(735)},4729:(t,e,r)=>{var i=r(2861).Buffer,n=r(8310).Transform;function s(t){n.call(this),this._block=i.allocUnsafe(t),this._blockSize=t,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}r(6698)(s,n),s.prototype._transform=function(t,e,r){var i=null;try{this.update(t,e)}catch(t){i=t}r(i)},s.prototype._flush=function(t){var e=null;try{this.push(this.digest())}catch(t){e=t}t(e)};var o="undefined"!=typeof Uint8Array,a="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&ArrayBuffer.isView&&(i.prototype instanceof Uint8Array||i.TYPED_ARRAY_SUPPORT);s.prototype.update=function(t,e){if(this._finalized)throw new Error("Digest already called");t=function(t,e){if(t instanceof i)return t;if("string"==typeof t)return i.from(t,e);if(a&&ArrayBuffer.isView(t)){if(0===t.byteLength)return i.alloc(0);var r=i.from(t.buffer,t.byteOffset,t.byteLength);if(r.byteLength===t.byteLength)return r}if(o&&t instanceof Uint8Array)return i.from(t);if(i.isBuffer(t)&&t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t))return i.from(t);throw new TypeError('The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView.')}(t,e);for(var r=this._block,n=0;this._blockOffset+t.length-n>=this._blockSize;){for(var s=this._blockOffset;s0;++h)this._length[h]+=u,(u=this._length[h]/4294967296|0)>0&&(this._length[h]-=4294967296*u);return this},s.prototype._update=function(){throw new Error("_update is not implemented")},s.prototype.digest=function(t){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var e=this._digest();void 0!==t&&(e=e.toString(t)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return e},s.prototype._digest=function(){throw new Error("_digest is not implemented")},t.exports=s},4765:t=>{var e=String.prototype.replace,r=/%20/g,i="RFC1738",n="RFC3986";t.exports={default:n,formatters:{RFC1738:function(t){return e.call(t,r,"+")},RFC3986:function(t){return String(t)}},RFC1738:i,RFC3986:n}},4803:(t,e,r)=>{var i=r(8859),n=r(9675),s=function(t,e,r){for(var i,n=t;null!=(i=n.next);n=i)if(i.key===e)return n.next=i.next,r||(i.next=t.next,t.next=i),i};t.exports=function(){var t,e={assert:function(t){if(!e.has(t))throw new n("Side channel does not contain "+i(t))},delete:function(e){var r=t&&t.next,i=function(t,e){if(t)return s(t,e,!0)}(t,e);return i&&r&&r===i&&(t=void 0),!!i},get:function(e){return function(t,e){if(t){var r=s(t,e);return r&&r.value}}(t,e)},has:function(e){return function(t,e){return!!t&&!!s(t,e)}(t,e)},set:function(e,r){t||(t={next:void 0}),function(t,e,r){var i=s(t,e);i?i.value=r:t.next={key:e,next:t.next,value:r}}(t,e,r)}};return e}},4847:(t,e,r)=>{var i=r(2861).Buffer,n=r(9404),s=r(6729).ec,o=r(8170),a=r(4589);function h(t,e){if(t.cmpn(0)<=0)throw new Error("invalid sig");if(t.cmp(e)>=0)throw new Error("invalid sig")}t.exports=function(t,e,r,u,f){var l=o(r);if("ec"===l.type){if("ecdsa"!==u&&"ecdsa/rsa"!==u)throw new Error("wrong public key type");return function(t,e,r){var i=a[r.data.algorithm.curve.join(".")];if(!i)throw new Error("unknown curve "+r.data.algorithm.curve.join("."));var n=new s(i),o=r.data.subjectPrivateKey.data;return n.verify(e,t,o)}(t,e,l)}if("dsa"===l.type){if("dsa"!==u)throw new Error("wrong public key type");return function(t,e,r){var i=r.data.p,s=r.data.q,a=r.data.g,u=r.data.pub_key,f=o.signature.decode(t,"der"),l=f.s,c=f.r;h(l,s),h(c,s);var d=n.mont(i),p=l.invm(s),m=a.toRed(d).redPow(new n(e).mul(p).mod(s)).fromRed().mul(u.toRed(d).redPow(c.mul(p).mod(s)).fromRed()).mod(i).mod(s);return 0===m.cmp(c)}(t,e,l)}if("rsa"!==u&&"ecdsa/rsa"!==u)throw new Error("wrong public key type");e=i.concat([f,e]);for(var c=l.modulus.byteLength(),d=[1],p=0;e.length+d.length+2{t.exports=n;const i=r(9596);function n(t,e){if(!(this instanceof n))return new n(t,e);if(e||(e={}),this.chunkLength=Number(t),!this.chunkLength)throw new Error("First argument must be a chunk length");this.chunks=[],this.closed=!1,this.length=Number(e.length)||1/0,this.length!==1/0&&(this.lastChunkLength=this.length%this.chunkLength||this.chunkLength,this.lastChunkIndex=Math.ceil(this.length/this.chunkLength)-1)}n.prototype.put=function(t,e,r=()=>{}){if(this.closed)return i((()=>r(new Error("Storage is closed"))));const n=t===this.lastChunkIndex;return n&&e.length!==this.lastChunkLength?i((()=>r(new Error("Last chunk length must be "+this.lastChunkLength)))):n||e.length===this.chunkLength?(this.chunks[t]=e,void i((()=>r(null)))):i((()=>r(new Error("Chunk length must be "+this.chunkLength))))},n.prototype.get=function(t,e,r=()=>{}){if("function"==typeof e)return this.get(t,null,e);if(this.closed)return i((()=>r(new Error("Storage is closed"))));let n=this.chunks[t];if(!n){const t=new Error("Chunk not found");return t.notFound=!0,i((()=>r(t)))}e||(e={});const s=e.offset||0,o=e.length||n.length-s;0===s&&o===n.length||(n=n.slice(s,o+s)),i((()=>r(null,n)))},n.prototype.close=n.prototype.destroy=function(t=()=>{}){if(this.closed)return i((()=>t(new Error("Storage is closed"))));this.closed=!0,this.chunks=null,i((()=>t(null)))}},4910:(t,e,r)=>{var i=r(8287).Buffer,n=r(6473),s=new(r(2244)),o=new n(24),a=new n(11),h=new n(10),u=new n(3),f=new n(7),l=r(4934),c=r(3209);function d(t,e){return e=e||"utf8",i.isBuffer(t)||(t=new i(t,e)),this._pub=new n(t),this}function p(t,e){return e=e||"utf8",i.isBuffer(t)||(t=new i(t,e)),this._priv=new n(t),this}t.exports=g;var m={};function g(t,e,r){this.setGenerator(e),this.__prime=new n(t),this._prime=n.mont(this.__prime),this._primeLen=t.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,r?(this.setPublicKey=d,this.setPrivateKey=p):this._primeCode=8}function y(t,e){var r=new i(t.toArray());return e?r.toString(e):r}Object.defineProperty(g.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!=typeof this._primeCode&&(this._primeCode=function(t,e){var r=e.toString("hex"),i=[r,t.toString(16)].join("_");if(i in m)return m[i];var n,c=0;if(t.isEven()||!l.simpleSieve||!l.fermatTest(t)||!s.test(t))return c+=1,c+="02"===r||"05"===r?8:4,m[i]=c,c;switch(s.test(t.shrn(1))||(c+=2),r){case"02":t.mod(o).cmp(a)&&(c+=8);break;case"05":(n=t.mod(h)).cmp(u)&&n.cmp(f)&&(c+=8);break;default:c+=4}return m[i]=c,c}(this.__prime,this.__gen)),this._primeCode}}),g.prototype.generateKeys=function(){return this._priv||(this._priv=new n(c(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},g.prototype.computeSecret=function(t){var e=(t=(t=new n(t)).toRed(this._prime)).redPow(this._priv).fromRed(),r=new i(e.toArray()),s=this.getPrime();if(r.length{var i=r(3209);t.exports=b,b.simpleSieve=g,b.fermatTest=y;var n=r(6473),s=new n(24),o=new(r(2244)),a=new n(1),h=new n(2),u=new n(5),f=(new n(16),new n(8),new n(10)),l=new n(3),c=(new n(7),new n(11)),d=new n(4),p=(new n(12),null);function m(){if(null!==p)return p;var t=[];t[0]=2;for(var e=1,r=3;r<1048576;r+=2){for(var i=Math.ceil(Math.sqrt(r)),n=0;nt;)r.ishrn(1);if(r.isEven()&&r.iadd(a),r.testn(1)||r.iadd(h),e.cmp(h)){if(!e.cmp(u))for(;r.mod(f).cmp(l);)r.iadd(d)}else for(;r.mod(s).cmp(c);)r.iadd(d);if(g(p=r.shrn(1))&&g(r)&&y(p)&&y(r)&&o.test(p)&&o.test(r))return r}}},4988:(t,e,r)=>{var i=r(717),n=r(8287).Buffer,s=r(7558),o=r(9971),a=r(7007),h=r(3209),u=r(537),f=[{host:"router.bittorrent.com",port:6881},{host:"router.utorrent.com",port:6881},{host:"dht.transmissionbt.com",port:6881}];function l(t){if(!(this instanceof l))return new l(t);t||(t={});var e,r=this;function i(t,e){if(t&&c(t.id,r._idLength)&&!t.id.equals(r.id)){var i=r.nodes.get(t.id);if(i)return void(i.seen=Date.now());r._addNode({id:t.id,host:e.address||e.host,port:e.port,distance:0,seen:Date.now()})}}this._idLength=t.idLength||20,this.id=function(t){if(n.isBuffer(t))return t;if(ArrayBuffer.isView(t))return n.from(t.buffer,t.byteOffset,t.byteLength);if("string"==typeof t)return n.from(t,"hex");throw new Error("Pass a buffer or a string")}(t.id||t.nodeId||h(this._idLength)),this.socket=t.krpcSocket||s(t),this.bootstrap=!1===(e=t.nodes||t.bootstrap)?[]:!0===e?f:[].concat(e||f).map(p),this.concurrency=t.concurrency||16,this.backgroundConcurrency=t.backgroundConcurrency||this.concurrency/4|0,this.k=t.k||20,this.destroyed=!1,this.pending=[],this.nodes=null,this.socket.setMaxListeners(0),this.socket.on("query",(function(t,e){i(t.a,e),r.emit("query",t,e)})),this.socket.on("response",(function(t,e){i(t.r,e)})),this.socket.on("warning",(function(t){r.emit("warning",t)})),this.socket.on("error",(function(t){r.emit("error",t)})),this.socket.on("update",(function(){for(;r.pending.length&&r.socket.inflight=300&&t.code<400&&(a=t):o++,t||n||r&&!1===r(e,h)&&(n=!0),--s||i(o?null:a||new Error("All queries failed"),o)}},l.prototype.query=function(t,e,r){this.socket.inflight>=this.concurrency?this.pending.push([t,e,r]):(e.a||(e.a={}),e.a.id||(e.a.id=this.id),t.token&&(e.a.token=t.token),this.socket.query(t,e,r))},l.prototype.destroy=function(t){this.destroyed=!0,this.socket.destroy(t)},l.prototype.clear=function(){var t=this;this.nodes=new o({localNodeId:this.id,numberOfNodesPerKBucket:this.k,numberOfNodesToPing:this.concurrency}),this.nodes.on("ping",(function(e,r){t.emit("ping",e,(function(e){e&&(e.id&&t.nodes.remove(e.id),t._addNode(r))}))}))},l.prototype.populate=function(t,e,r){this._closest(t,e,!0,null,r)},l.prototype.closest=function(t,e,r,i){this._closest(t,e,!1,r,i)},l.prototype._addNode=function(t){var e=this.nodes.get(t.id);this.nodes.add(t),e||this.emit("node",t)},l.prototype._closest=function(t,e,r,n,s){s||(s=m);var a=this,h=0,u={},f=0,l=!0,p=!1;e.a||(e.a={}),e.a.id||(e.a.id=this.id);var g=new o({localNodeId:t,numberOfNodesPerKBucket:this.k,numberOfNodesToPing:this.concurrency}),y=r?"postupdate":"update";function b(){if(!(a.destroyed||a.socket.inflight>=a.concurrency)){var n=a.pending.length+a.socket.inflight-f;if(!(r&&a.socket.inflight>=a.backgroundConcurrency&&n)){var s=g.closest(t,a.k);(!s.length||s.length=a.concurrency)return;var h=s[o],c=h.host+":"+h.port;u[c]||(u[c]=!0,f++,a.socket.query(h,e,w))}f||(a.socket.removeListener(y,b),i.nextTick(v))}}}function v(){s(null,h)}function w(t,e,r){f--,r&&(u[(r.address||r.host)+":"+r.port]=!0),r&&r.id&&a.nodes.get(r.id)&&(!t||"EUNEXPECTEDNODE"!==t.code&&"ETIMEDOUT"!==t.code||a.nodes.remove(r.id));var i=e&&e.r;if(!i)return b();!t&&c(i.id,a._idLength)&&(h++,_({id:i.id,port:r.port,host:r.host||r.address,distance:0}));for(var s=i.nodes?function(t,e){var r=[];try{for(var i=0;i{var i;function n(t){this.rand=t}if(t.exports=function(t){return i||(i=new n(null)),i.generate(t)},t.exports.Rand=n,n.prototype.generate=function(t){return this._rand(t)},n.prototype._rand=function(t){if(this.rand.getBytes)return this.rand.getBytes(t);for(var e=new Uint8Array(t),r=0;r{t.exports=function(t){for(var e,r=t.length;r--;){if(255!==(e=t.readUInt8(r))){e++,t.writeUInt8(e,r);break}t.writeUInt8(0,r)}}},5185:()=>{},5221:(t,e,r)=>{const{isIPv4:i,isIPv6:n}=r(8957);e.lookup=function t(e,r,s){if("function"==typeof r)return t(e,null,r);chrome.dns.resolve(e,(t=>{if(0!==t.resultCode)return s(new Error("DNS lookup error: "+chrome.runtime.lastError.message));const e=t.address,r=i(e)?4:n(e)?6:0;s(null,e,r)}))}},5242:(t,e,r)=>{t.exports=s;var i=r(1816),n=Object.create(r(5622));function s(t){if(!(this instanceof s))return new s(t);i.call(this,t)}n.inherits=r(6698),n.inherits(s,i),s.prototype._transform=function(t,e,r){r(null,t)}},5264:(t,e,r)=>{var i=r(2861).Buffer;function n(t,e,r){for(var i,n,o=-1,a=0;++o<8;)i=e&1<<7-o?128:0,a+=(128&(n=t._cipher.encryptBlock(t._prev)[0]^i))>>o%8,t._prev=s(t._prev,r?i:n);return a}function s(t,e){var r=t.length,n=-1,s=i.allocUnsafe(t.length);for(t=i.concat([t,i.from([e])]);++n>7;return s}e.encrypt=function(t,e,r){for(var s=e.length,o=i.allocUnsafe(s),a=-1;++a{var i=r(3349),n=r(6698),s=r(2808),o=r(2211);function a(t,e){i.equal(e.length,24,"Invalid key length");var r=e.slice(0,8),n=e.slice(8,16),s=e.slice(16,24);this.ciphers="encrypt"===t?[o.create({type:"encrypt",key:r}),o.create({type:"decrypt",key:n}),o.create({type:"encrypt",key:s})]:[o.create({type:"decrypt",key:s}),o.create({type:"encrypt",key:n}),o.create({type:"decrypt",key:r})]}function h(t){s.call(this,t);var e=new a(this.type,this.options.key);this._edeState=e}n(h,s),t.exports=h,h.create=function(t){return new h(t)},h.prototype._update=function(t,e,r,i){var n=this._edeState;n.ciphers[0]._update(t,e,r,i),n.ciphers[1]._update(r,i,r,i),n.ciphers[2]._update(r,i,r,i)},h.prototype._pad=o.prototype._pad,h.prototype._unpad=o.prototype._unpad},5291:(t,e,r)=>{var i=r(113).F.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(t,e,r,n){var s=function(t,e,r){return null!=t.highWaterMark?t.highWaterMark:e?t[r]:null}(e,n,r);if(null!=s){if(!isFinite(s)||Math.floor(s)!==s||s<0)throw new i(n?r:"highWaterMark",s);return Math.floor(s)}return t.objectMode?16:16384}}},5307:(t,e,r)=>{const i=r(7042);var n=[];function s(){this.list=[],this.map=new Map}function o(){this.records=new Map,this.size=0}function a(t){if(!(this instanceof a))return new a(t);if(t||(t={}),this.maxSize=t.maxSize||1/0,this.maxAge=t.maxAge||0,this._onstale=t.onStale||t.onstale||null,this._fresh=new o,this._stale=new o,this._interval=null,this._gced=!1,this.maxAge&&this.maxAge<1/0){var e=Math.ceil(2/3*this.maxAge);this._interval=setInterval(this._gcAuto.bind(this),e),this._interval.unref&&this._interval.unref()}}function h(t){return i.isBuffer(t)?i.toString(t,"hex"):t}function u(t,e,r){var i=t[e];i.index=r,t[r].index=e,t[e]=t[r],t[r]=i}t.exports=a,s.prototype.add=function(t,e){var r=h(t),i=this.map.get(r);return!i&&(i={index:this.list.length,record:e||t},this.list.push(i),this.map.set(r,i),!0)},s.prototype.remove=function(t){var e=h(t),r=this.map.get(e);return!!r&&(u(this.list,r.index,this.list.length-1),this.list.pop(),this.map.delete(e),!0)},o.prototype.add=function(t,e,r){var i=this.records.get(t);return i||(i=new s,this.records.set(t,i)),!!i.add(e,r)&&(this.size++,!0)},o.prototype.remove=function(t,e,r){var i=this.records.get(t);return!!i&&(!!i.remove(e,r)&&(this.size--,i.map.size||this.records.delete(t),!0))},o.prototype.get=function(t){var e=this.records.get(t);return e?e.list:n},Object.defineProperty(a.prototype,"size",{get:function(){return this._fresh.size+this._stale.size}}),a.prototype.add=function(t,e,r){this._stale.remove(t,e,r),this._fresh.add(t,e,r)&&this._fresh.size>this.maxSize&&this._gc()},a.prototype.remove=function(t,e,r){this._fresh.remove(t,e,r),this._stale.remove(t,e,r)},a.prototype.get=function(t,e){var r=this._fresh.get(t),i=this._stale.get(t),n=r.length,s=i.length,o=n+s;(e>o||!e)&&(e=o);for(var a=new Array(e),h=0;h0&&this._onstale(this._stale),this._stale=this._fresh,this._fresh=new o,this._gced=!0},a.prototype.clear=function(){this._gc(),this._gc()},a.prototype.destroy=function(){this.clear(),clearInterval(this._interval),this._interval=null}},5335:(t,e,r)=>{const i=r(4611),n=r(6045);t.exports=class{constructor(t="utf8"){switch(this.encoding=function(t){switch(t=t.toLowerCase()){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:throw new Error("Unknown encoding: "+t)}}(t),this.encoding){case"utf8":this.decoder=new n;break;case"utf16le":case"base64":throw new Error("Unsupported encoding: "+this.encoding);default:this.decoder=new i(this.encoding)}}get remaining(){return this.decoder.remaining}push(t){return"string"==typeof t?t:this.decoder.decode(t)}write(t){return this.push(t)}end(t){let e="";return t&&(e=this.push(t)),e+=this.decoder.flush(),e}}},5345:t=>{t.exports=URIError},5359:(t,e,r)=>{var i=r(2861).Buffer,n=r(3507),s=r(7332),o=r(6729).ec,a=r(9404),h=r(8170),u=r(4589);function f(t,e,r,s){if((t=i.from(t.toArray())).length0&&r.ishrn(i),r}function c(t,e,r){var s,o;do{for(s=i.alloc(0);8*s.length{t.exports=function(t,e,r){if("number"!=typeof e)throw new Error("second argument must be a Number");let n,s,o,a,h,u,f=!0;Array.isArray(t)?(n=[],o=s=t.length):(a=Object.keys(t),n={},o=s=a.length);function l(t){function e(){r&&r(t,n),r=null}f?i(e):e()}function c(e,r,i){if(n[e]=i,r&&(h=!0),0==--o||r)l(r);else if(!h&&u{var i=r(8636),n=r(2642),s=r(4765);t.exports={formats:s,parse:n,stringify:i}},5380:(t,e,r)=>{var i=r(8287).Buffer,n=r(4934),s=r(3241),o=r(4910);var a={binary:!0,hex:!0,base64:!0};e.DiffieHellmanGroup=e.createDiffieHellmanGroup=e.getDiffieHellman=function(t){var e=new i(s[t].prime,"hex"),r=new i(s[t].gen,"hex");return new o(e,r)},e.createDiffieHellman=e.DiffieHellman=function t(e,r,s,h){return i.isBuffer(r)||void 0===a[r]?t(e,"binary",r,s):(r=r||"binary",h=h||"binary",s=s||new i([2]),i.isBuffer(s)||(s=new i(s,h)),"number"==typeof e?new o(n(e,s),s,!0):(i.isBuffer(e)||(e=new i(e,r)),new o(e,s,!0)))}},5382:(t,e,r)=>{var i=r(717),n=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=f;var s=r(5412),o=r(6708);r(6698)(f,s);for(var a=n(o.prototype),h=0;h{var i,n=r(717);t.exports=E,E.ReadableState=k;r(7007).EventEmitter;var s=function(t,e){return t.listeners(e).length},o=r(1416),a=r(8287).Buffer,h=("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){};var u,f=r(537);u=f&&f.debuglog?f.debuglog("stream"):function(){};var l,c,d,p=r(345),m=r(5896),g=r(5291).getHighWaterMark,y=r(113).F,b=y.ERR_INVALID_ARG_TYPE,v=y.ERR_STREAM_PUSH_AFTER_EOF,w=y.ERR_METHOD_NOT_IMPLEMENTED,_=y.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;r(6698)(E,o);var M=m.errorOrDestroy,S=["error","close","destroy","pause","resume"];function k(t,e,n){i=i||r(5382),t=t||{},"boolean"!=typeof n&&(n=e instanceof i),this.objectMode=!!t.objectMode,n&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=g(this,t,"readableHighWaterMark",n),this.buffer=new p,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(l||(l=r(3141).I),this.decoder=new l(t.encoding),this.encoding=t.encoding)}function E(t){if(i=i||r(5382),!(this instanceof E))return new E(t);var e=this instanceof i;this._readableState=new k(t,this,e),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),o.call(this)}function x(t,e,r,i,n){u("readableAddChunk",e);var s,o=t._readableState;if(null===e)o.reading=!1,function(t,e){if(u("onEofChunk"),e.ended)return;if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?P(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,C(t)))}(t,o);else if(n||(s=function(t,e){var r;i=e,a.isBuffer(i)||i instanceof h||"string"==typeof e||void 0===e||t.objectMode||(r=new b("chunk",["string","Buffer","Uint8Array"],e));var i;return r}(o,e)),s)M(t,s);else if(o.objectMode||e&&e.length>0)if("string"==typeof e||o.objectMode||Object.getPrototypeOf(e)===a.prototype||(e=function(t){return a.from(t)}(e)),i)o.endEmitted?M(t,new _):A(t,o,e,!0);else if(o.ended)M(t,new v);else{if(o.destroyed)return!1;o.reading=!1,o.decoder&&!r?(e=o.decoder.write(e),o.objectMode||0!==e.length?A(t,o,e,!1):R(t,o)):A(t,o,e,!1)}else i||(o.reading=!1,R(t,o));return!o.ended&&(o.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=I?t=I:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function P(t){var e=t._readableState;u("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(u("emitReadable",e.flowing),e.emittedReadable=!0,n.nextTick(C,t))}function C(t){var e=t._readableState;u("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,j(t)}function R(t,e){e.readingMore||(e.readingMore=!0,n.nextTick(O,t,e))}function O(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function L(t){u("readable nexttick read 0"),t.read(0)}function N(t,e){u("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),j(t),e.flowing&&!e.reading&&t.read(0)}function j(t){var e=t._readableState;for(u("flow",e.flowing);e.flowing&&null!==t.read(););}function U(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function q(t){var e=t._readableState;u("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,n.nextTick(D,e,t))}function D(t,e){if(u("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function H(t,e){for(var r=0,i=t.length;r=e.highWaterMark:e.length>0)||e.ended))return u("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?q(this):P(this),null;if(0===(t=T(t,e))&&e.ended)return 0===e.length&&q(this),null;var i,n=e.needReadable;return u("need readable",n),(0===e.length||e.length-t0?U(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&q(this)),null!==i&&this.emit("data",i),i},E.prototype._read=function(t){M(this,new w("_read()"))},E.prototype.pipe=function(t,e){var r=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=t;break;case 1:i.pipes=[i.pipes,t];break;default:i.pipes.push(t)}i.pipesCount+=1,u("pipe count=%d opts=%j",i.pipesCount,e);var o=(!e||!1!==e.end)&&t!==n.stdout&&t!==n.stderr?h:g;function a(e,n){u("onunpipe"),e===r&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,u("cleanup"),t.removeListener("close",p),t.removeListener("finish",m),t.removeListener("drain",f),t.removeListener("error",d),t.removeListener("unpipe",a),r.removeListener("end",h),r.removeListener("end",g),r.removeListener("data",c),l=!0,!i.awaitDrain||t._writableState&&!t._writableState.needDrain||f())}function h(){u("onend"),t.end()}i.endEmitted?n.nextTick(o):r.once("end",o),t.on("unpipe",a);var f=function(t){return function(){var e=t._readableState;u("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&s(t,"data")&&(e.flowing=!0,j(t))}}(r);t.on("drain",f);var l=!1;function c(e){u("ondata");var n=t.write(e);u("dest.write",n),!1===n&&((1===i.pipesCount&&i.pipes===t||i.pipesCount>1&&-1!==H(i.pipes,t))&&!l&&(u("false write response, pause",i.awaitDrain),i.awaitDrain++),r.pause())}function d(e){u("onerror",e),g(),t.removeListener("error",d),0===s(t,"error")&&M(t,e)}function p(){t.removeListener("finish",m),g()}function m(){u("onfinish"),t.removeListener("close",p),g()}function g(){u("unpipe"),r.unpipe(t)}return r.on("data",c),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,"error",d),t.once("close",p),t.once("finish",m),t.emit("pipe",r),i.flowing||(u("pipe resume"),r.resume()),t},E.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s0,!1!==i.flowing&&this.resume()):"readable"===t&&(i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,u("on readable",i.length,i.reading),i.length?P(this):i.reading||n.nextTick(L,this))),r},E.prototype.addListener=E.prototype.on,E.prototype.removeListener=function(t,e){var r=o.prototype.removeListener.call(this,t,e);return"readable"===t&&n.nextTick(B,this),r},E.prototype.removeAllListeners=function(t){var e=o.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||n.nextTick(B,this),e},E.prototype.resume=function(){var t=this._readableState;return t.flowing||(u("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,n.nextTick(N,t,e))}(this,t)),t.paused=!1,this},E.prototype.pause=function(){return u("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(u("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},E.prototype.wrap=function(t){var e=this,r=this._readableState,i=!1;for(var n in t.on("end",(function(){if(u("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(n){(u("wrapped data"),r.decoder&&(n=r.decoder.write(n)),r.objectMode&&null==n)||(r.objectMode||n&&n.length)&&(e.push(n)||(i=!0,t.pause()))})),t)void 0===this[n]&&"function"==typeof t[n]&&(this[n]=function(e){return function(){return t[e].apply(t,arguments)}}(n));for(var s=0;s{var i=r(717),n=function(t,e,r,i){if(this.bucketSize=t,this.tokensPerInterval=e,"string"==typeof r)switch(r){case"sec":case"second":this.interval=1e3;break;case"min":case"minute":this.interval=6e4;break;case"hr":case"hour":this.interval=36e5;break;case"day":this.interval=864e5;break;default:throw new Error("Invaid interval "+r)}else this.interval=r;this.parentBucket=i,this.content=0,this.lastDrip=+new Date};n.prototype={bucketSize:1,tokensPerInterval:1,interval:1e3,parentBucket:null,content:0,lastDrip:0,removeTokens:function(t,e){var r=this;return this.bucketSize?t>this.bucketSize?(i.nextTick(e.bind(null,"Requested tokens "+t+" exceeds bucket size "+this.bucketSize,null)),!1):(this.drip(),t>this.content?n():this.parentBucket?this.parentBucket.removeTokens(t,(function(i,s){return i?e(i,null):t>r.content?n():(r.content-=t,void e(null,Math.min(s,r.content)))})):(this.content-=t,i.nextTick(e.bind(null,null,this.content)),!0)):(i.nextTick(e.bind(null,null,t,Number.POSITIVE_INFINITY)),!0);function n(){var i=Math.ceil((t-r.content)*(r.interval/r.tokensPerInterval));return setTimeout((function(){r.removeTokens(t,e)}),i),!1}},tryRemoveTokens:function(t){return!this.bucketSize||!(t>this.bucketSize)&&(this.drip(),!(t>this.content)&&(!(this.parentBucket&&!this.parentBucket.tryRemoveTokens(t))&&(this.content-=t,!0)))},drip:function(){if(this.tokensPerInterval){var t=+new Date,e=Math.max(t-this.lastDrip,0);this.lastDrip=t;var r=e*(this.tokensPerInterval/this.interval);this.content=Math.min(this.content+r,this.bucketSize)}else this.content=this.bucketSize}},t.exports=n},5488:(t,e,r)=>{var i=r(1565),n=r(4196),s=r(2455),o=r(3382);i.pbkdf2Sync&&-1!==i.pbkdf2Sync.toString().indexOf("keylen, digest")?(e.pbkdf2Sync=function(t,e,r,a,h){return n(r,a),t=o(t,s,"Password"),e=o(e,s,"Salt"),h=h||"sha1",i.pbkdf2Sync(t,e,r,a,h)},e.pbkdf2=function(t,e,r,a,h,u){if(n(r,a),t=o(t,s,"Password"),e=o(e,s,"Salt"),"function"==typeof h&&(u=h,h="sha1"),"function"!=typeof u)throw new Error("No callback provided to pbkdf2");return i.pbkdf2(t,e,r,a,h,u)}):(e.pbkdf2Sync=r(681),e.pbkdf2=r(3832))},5579:t=>{t.exports=JSON.parse('{"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"}')},5622:(t,e,r)=>{var i=r(8287).Buffer;function n(t){return Object.prototype.toString.call(t)}e.isArray=function(t){return Array.isArray?Array.isArray(t):"[object Array]"===n(t)},e.isBoolean=function(t){return"boolean"==typeof t},e.isNull=function(t){return null===t},e.isNullOrUndefined=function(t){return null==t},e.isNumber=function(t){return"number"==typeof t},e.isString=function(t){return"string"==typeof t},e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=function(t){return void 0===t},e.isRegExp=function(t){return"[object RegExp]"===n(t)},e.isObject=function(t){return"object"==typeof t&&null!==t},e.isDate=function(t){return"[object Date]"===n(t)},e.isError=function(t){return"[object Error]"===n(t)||t instanceof Error},e.isFunction=function(t){return"function"==typeof t},e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=i.isBuffer},5658:(t,e,r)=>{r.r(e),r.d(e,{default:()=>g,enableSecure:()=>m});var i=r(7007),n=r(8179),s=r(1314),o=r(7833),a=r(6458);const h="tcpIncoming",u="tcpOutgoing",f="utpIncoming",l="utpOutgoing",c="webSeed",d=o("webtorrent:peer");let p=!1;const m=()=>{p=!0};class g extends i{constructor(t,e){super(),this.id=t,this.type=e,d("new %s Peer %s",e,t),this.addr=null,this.conn=null,this.swarm=null,this.wire=null,this.source=null,this.connected=!1,this.destroyed=!1,this.timeout=null,this.retries=0,this.sentPe1=!1,this.sentPe2=!1,this.sentPe3=!1,this.sentPe4=!1,this.sentHandshake=!1}onConnect(){if(this.destroyed)return;this.connected=!0,d("Peer %s connected",this.id),clearTimeout(this.connectTimeout);const t=this.conn;t.once("end",(()=>{this.destroy()})),t.once("close",(()=>{this.destroy()})),t.once("finish",(()=>{this.destroy()})),t.once("error",(t=>{this.destroy(t)}));const e=this.wire=new a.A(this.type,this.retries,p);e.once("end",(()=>{this.destroy()})),e.once("close",(()=>{this.destroy()})),e.once("finish",(()=>{this.destroy()})),e.once("error",(t=>{this.destroy(t)})),e.once("pe1",(()=>{this.onPe1()})),e.once("pe2",(()=>{this.onPe2()})),e.once("pe3",(()=>{this.onPe3()})),e.once("pe4",(()=>{this.onPe4()})),e.once("handshake",((t,e)=>{this.onHandshake(t,e)})),this.startHandshakeTimeout(),this.setThrottlePipes(),this.swarm&&("tcpOutgoing"===this.type?p&&0===this.retries&&!this.sentPe1?this.sendPe1():this.sentHandshake||this.handshake():"tcpIncoming"===this.type||this.sentHandshake||this.handshake())}sendPe1(){this.wire.sendPe1(),this.sentPe1=!0}onPe1(){this.sendPe2()}sendPe2(){this.wire.sendPe2(),this.sentPe2=!0}onPe2(){this.sendPe3()}sendPe3(){this.wire.sendPe3(this.swarm.infoHash),this.sentPe3=!0}onPe3(t){this.swarm&&(this.swarm.infoHashHash!==t&&this.destroy(new Error("unexpected crypto handshake info hash for this swarm")),this.sendPe4())}sendPe4(){this.wire.sendPe4(this.swarm.infoHash),this.sentPe4=!0}onPe4(){this.sentHandshake||this.handshake()}clearPipes(){this.conn.unpipe(),this.wire.unpipe()}setThrottlePipes(){const t=this;(0,n.pipeline)(this.conn,this.throttleGroups.down.throttle(),new n.Transform({transform(e,r){t.emit("download",e.length),t.destroyed||r(null,e)}}),this.wire,this.throttleGroups.up.throttle(),new n.Transform({transform(e,r){t.emit("upload",e.length),t.destroyed||r(null,e)}}),this.conn)}onHandshake(t,e){if(!this.swarm)return;if(this.destroyed)return;if(this.swarm.destroyed)return this.destroy(new Error("swarm already destroyed"));if(t!==this.swarm.infoHash)return this.destroy(new Error("unexpected handshake info hash for this swarm"));if(e===this.swarm.peerId)return this.destroy(new Error("refusing to connect to ourselves"));d("Peer %s got handshake %s",this.id,t),clearTimeout(this.handshakeTimeout),this.retries=0;let r=this.addr;!r&&this.conn.remoteAddress&&this.conn.remotePort&&(r=`${this.conn.remoteAddress}:${this.conn.remotePort}`),this.swarm._onWire(this.wire,r),this.swarm&&!this.swarm.destroyed&&(this.sentHandshake||this.handshake())}handshake(){const t={dht:!this.swarm.private&&!!this.swarm.client.dht,fast:!0};this.wire.handshake(this.swarm.infoHash,this.swarm.client.peerId,t),this.sentHandshake=!0}startConnectTimeout(){clearTimeout(this.connectTimeout);const t={webrtc:25e3,tcpOutgoing:5e3,utpOutgoing:5e3};this.connectTimeout=setTimeout((()=>{this.destroy(new Error("connect timeout"))}),t[this.type]),this.connectTimeout.unref&&this.connectTimeout.unref()}startHandshakeTimeout(){clearTimeout(this.handshakeTimeout),this.handshakeTimeout=setTimeout((()=>{this.destroy(new Error("handshake timeout"))}),25e3),this.handshakeTimeout.unref&&this.handshakeTimeout.unref()}destroy(t){if(this.destroyed)return;this.destroyed=!0,this.connected=!1,d("destroy %s %s (error: %s)",this.type,this.id,t&&(t.message||t)),clearTimeout(this.connectTimeout),clearTimeout(this.handshakeTimeout);const e=this.swarm,r=this.conn,i=this.wire;this.swarm=null,this.conn=null,this.wire=null,e&&i&&s(e.wires,e.wires.indexOf(i)),r&&(r.on("error",(()=>{})),r.destroy()),i&&i.destroy(),e&&e.removePeer(this.id)}}g.TYPE_TCP_INCOMING=h,g.TYPE_TCP_OUTGOING=u,g.TYPE_UTP_INCOMING=f,g.TYPE_UTP_OUTGOING=l,g.TYPE_WEBRTC="webrtc",g.TYPE_WEBSEED=c,g.SOURCE_MANUAL="manual",g.SOURCE_TRACKER="tracker",g.SOURCE_DHT="dht",g.SOURCE_LSD="lsd",g.SOURCE_UT_PEX="ut_pex",g.createWebRTCPeer=(t,e,r,i=null)=>{const n=new g(t.id,"webrtc");if(n.conn=t,n.swarm=e,n.throttleGroups=r,n.source=i,n.conn.connected)n.onConnect();else{const t=()=>{n.conn.removeListener("connect",e),n.conn.removeListener("error",r)},e=()=>{t(),n.onConnect()},r=e=>{t(),n.destroy(e)};n.conn.once("connect",e),n.conn.once("error",r),n.startConnectTimeout()}return n},g.createTCPIncomingPeer=(t,e)=>g._createIncomingPeer(t,h,e),g.createUTPIncomingPeer=(t,e)=>g._createIncomingPeer(t,f,e),g.createTCPOutgoingPeer=(t,e,r,i)=>g._createOutgoingPeer(t,e,u,r,i),g.createUTPOutgoingPeer=(t,e,r,i)=>g._createOutgoingPeer(t,e,l,r,i),g._createIncomingPeer=(t,e,r)=>{const i=`${t.remoteAddress}:${t.remotePort}`,n=new g(i,e);return n.conn=t,n.addr=i,n.throttleGroups=r,n.onConnect(),n},g._createOutgoingPeer=(t,e,r,i,n=null)=>{const s=new g(t,r);return s.addr=t,s.swarm=e,s.throttleGroups=i,s.source=n,s},g.createWebSeedPeer=(t,e,r,i)=>{const n=new g(e,c);return n.swarm=r,n.conn=t,n.throttleGroups=i,n.onConnect(),n}},5715:(t,e,r)=>{t.exports=r(2951)},5795:(t,e,r)=>{var i=r(6549);if(i)try{i([],"length")}catch(t){i=null}t.exports=i},5799:(t,e,r)=>{var i=r(530),n=r(2356),s=r(2861).Buffer,o=r(650),a=r(6168),h=r(462),u=r(8078);function f(t,e,r){a.call(this),this._cache=new c,this._cipher=new h.AES(e),this._prev=s.from(r),this._mode=t,this._autopadding=!0}r(6698)(f,a),f.prototype._update=function(t){var e,r;this._cache.add(t);for(var i=[];e=this._cache.get();)r=this._mode.encrypt(this,e),i.push(r);return s.concat(i)};var l=s.alloc(16,16);function c(){this.cache=s.allocUnsafe(0)}function d(t,e,r){var a=i[t.toLowerCase()];if(!a)throw new TypeError("invalid suite type");if("string"==typeof e&&(e=s.from(e)),e.length!==a.key/8)throw new TypeError("invalid key length "+e.length);if("string"==typeof r&&(r=s.from(r)),"GCM"!==a.mode&&r.length!==a.iv)throw new TypeError("invalid iv length "+r.length);return"stream"===a.type?new o(a.module,e,r):"auth"===a.type?new n(a.module,e,r):new f(a.module,e,r)}f.prototype._final=function(){var t=this._cache.flush();if(this._autopadding)return t=this._mode.encrypt(this,t),this._cipher.scrub(),t;if(!t.equals(l))throw this._cipher.scrub(),new Error("data not multiple of block length")},f.prototype.setAutoPadding=function(t){return this._autopadding=!!t,this},c.prototype.add=function(t){this.cache=s.concat([this.cache,t])},c.prototype.get=function(){if(this.cache.length>15){var t=this.cache.slice(0,16);return this.cache=this.cache.slice(16),t}return null},c.prototype.flush=function(){for(var t=16-this.cache.length,e=s.allocUnsafe(t),r=-1;++r{t.exports=class{constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}clear(){this.top=this.btm=0,this.next=null,this.buffer.fill(void 0)}push(t){return void 0===this.buffer[this.top]&&(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){const t=this.buffer[this.btm];if(void 0!==t)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}peek(){return this.buffer[this.btm]}isEmpty(){return void 0===this.buffer[this.btm]}}},5880:t=>{t.exports=Math.pow},5892:(t,e,r)=>{var i=r(2861).Buffer,n=i.alloc(16,0);function s(t){var e=i.allocUnsafe(16);return e.writeUInt32BE(t[0]>>>0,0),e.writeUInt32BE(t[1]>>>0,4),e.writeUInt32BE(t[2]>>>0,8),e.writeUInt32BE(t[3]>>>0,12),e}function o(t){this.h=t,this.state=i.alloc(16,0),this.cache=i.allocUnsafe(0)}o.prototype.ghash=function(t){for(var e=-1;++e0;e--)i[e]=i[e]>>>1|(1&i[e-1])<<31;i[0]=i[0]>>>1,r&&(i[0]=i[0]^225<<24)}this.state=s(n)},o.prototype.update=function(t){var e;for(this.cache=i.concat([this.cache,t]);this.cache.length>=16;)e=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(e)},o.prototype.final=function(t,e){return this.cache.length&&this.ghash(i.concat([this.cache,n],16)),this.ghash(s([0,t,0,e])),this.state},t.exports=o},5896:(t,e,r)=>{var i=r(717);function n(t,e){o(t,e),s(t)}function s(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function o(t,e){t.emit("error",e)}t.exports={destroy:function(t,e){var r=this,a=this._readableState&&this._readableState.destroyed,h=this._writableState&&this._writableState.destroyed;return a||h?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,i.nextTick(o,this,t)):i.nextTick(o,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,(function(t){!e&&t?r._writableState?r._writableState.errorEmitted?i.nextTick(s,r):(r._writableState.errorEmitted=!0,i.nextTick(n,r,t)):i.nextTick(n,r,t):e?(i.nextTick(s,r),e(t)):i.nextTick(s,r)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(t,e){var r=t._readableState,i=t._writableState;r&&r.autoDestroy||i&&i.autoDestroy?t.destroy(e):t.emit("error",e)}}},5905:(t,e,r)=>{var i=r(4529);function n(t){i.ok(t===n.REQUEST||t===n.RESPONSE),this.type=t,this.state=t+"_LINE",this.info={headers:[],upgrade:!1},this.trailers=[],this.line="",this.isChunked=!1,this.connection="",this.headerSize=0,this.body_bytes=null,this.isUserCall=!1,this.hadError=!1}e.HTTPParser=n,n.encoding="ascii",n.maxHeaderSize=81920,n.REQUEST="REQUEST",n.RESPONSE="RESPONSE";var s=n.kOnHeaders=0,o=n.kOnHeadersComplete=1,a=n.kOnBody=2,h=n.kOnMessageComplete=3;n.prototype[s]=n.prototype[o]=n.prototype[a]=n.prototype[h]=function(){};var u=!0;Object.defineProperty(n,"kOnExecute",{get:function(){return u=!1,4}});var f=e.methods=n.methods=["DELETE","GET","HEAD","POST","PUT","CONNECT","OPTIONS","TRACE","COPY","LOCK","MKCOL","MOVE","PROPFIND","PROPPATCH","SEARCH","UNLOCK","BIND","REBIND","UNBIND","ACL","REPORT","MKACTIVITY","CHECKOUT","MERGE","M-SEARCH","NOTIFY","SUBSCRIBE","UNSUBSCRIBE","PATCH","PURGE","MKCALENDAR","LINK","UNLINK"],l=f.indexOf("CONNECT");n.prototype.reinitialize=n,n.prototype.close=n.prototype.pause=n.prototype.resume=n.prototype.free=function(){},n.prototype._compatMode0_11=!1,n.prototype.getAsyncId=function(){return 0};var c={REQUEST_LINE:!0,RESPONSE_LINE:!0,HEADER:!0};n.prototype.execute=function(t,e,r){if(!(this instanceof n))throw new TypeError("not a HTTPParser");e=e||0,r="number"==typeof r?r:t.length,this.chunk=t,this.offset=e;var i=this.end=e+r;try{for(;this.offsetn.maxHeaderSize)?new Error("max header size exceeded"):r};var d={REQUEST_LINE:!0,RESPONSE_LINE:!0,BODY_RAW:!0};n.prototype.finish=function(){if(!this.hadError)return d[this.state]?void("BODY_RAW"===this.state&&this.userCall()(this[h]())):new Error("invalid state for EOF")},n.prototype.consume=n.prototype.unconsume=n.prototype.getCurrentBuffer=function(){},n.prototype.userCall=function(){this.isUserCall=!0;var t=this;return function(e){return t.isUserCall=!1,e}},n.prototype.nextRequest=function(){this.userCall()(this[h]()),this.reinitialize(this.type)},n.prototype.consumeLine=function(){for(var t=this.end,e=this.chunk,r=this.offset;r0&&this.info.versionMinor>0){if(-1!==this.connection.indexOf("close"))return!1}else if(-1===this.connection.indexOf("keep-alive"))return!1;return!(null===this.body_bytes&&!this.isChunked)},n.prototype.HEADER=function(){var t=this.consumeLine();if(void 0!==t){var e=this.info;if(t)this.parseHeader(t,e.headers);else{for(var r,i,s=e.headers,a=!1,h=!1,f=0;f{var i=r(717);const n=r(537),s=r(8957),o=r(8835),a=r(5905).HTTPParser,h=r(4529).ok,u=r(2728),f=u.httpSocketSetup,l=u.parsers,c=u.freeParser,d=u.debug,p=r(8419).OutgoingMessage,m=r(8748),g=r(8287).Buffer;function y(t,e){var r=this;if(p.call(r),"string"==typeof t){if(!(t=o.parse(t)).hostname)throw new Error("Unable to determine the domain name")}else t=n._extend({},t);var a=t.agent,h=t._defaultAgent||m.globalAgent;!1===a?a=new h.constructor:null==a&&"function"!=typeof t.createConnection&&(a=h),r.agent=a;var f=t.protocol||h.protocol,l=h.protocol;if(r.agent&&r.agent.protocol&&(l=r.agent.protocol),t.path&&/ /.test(t.path))throw new TypeError("Request path contains unescaped characters");if(f!==l)throw new Error('Protocol "'+f+'" not supported. Expected "'+l+'"');const c=t.defaultPort||r.agent&&r.agent.defaultPort;var y=t.port=t.port||c||80,b=t.host=t.hostname||t.host||"localhost";if(void 0===t.setHost)var v=!0;r.socketPath=t.socketPath;var w=r.method=(t.method||"GET").toUpperCase();if(!u._checkIsHttpToken(w))throw new TypeError("Method must be a valid HTTP token");if(r.path=t.path||"/",e&&r.once("response",e),!Array.isArray(t.headers)){if(t.headers)for(var _=Object.keys(t.headers),M=0,S=_.length;M0?(r.upgradeOrConnect=!0,e.emit("agentRemove"),e.removeListener("close",w),e.removeListener("error",_),e._readableState.flowing=null,r.emit(u,o,e,a),r.emit("close")):e.destroy(),c(i,r,e)}else i.incoming&&i.incoming.complete&&100!==i.incoming.statusCode&&(e.removeListener("data",k),e.removeListener("end",S),c(i,r,e))}function E(t,e){var r=this.socket,i=r._httpMessage;if(i.domain&&!t.domain&&(d('setting "res.domain"'),t.domain=i.domain),d("AGENT incoming response!"),!i.res){if(i.res=t,"CONNECT"===i.method)return t.upgrade=!0,2;var n="HEAD"===i.method;return d("AGENT isHeadResponse",n),100===t.statusCode?(delete i.res,i.emit("continue"),!0):(!i.shouldKeepAlive||e||i.upgradeOrConnect||(i.shouldKeepAlive=!1),i.res=t,t.req=i,t.on("end",A),i.on("prefinish",I),i.emit("response",t)||t._dump(),n)}r.destroy()}function x(t,e){var r=e.socket;e.shouldKeepAlive?(d("AGENT socket keep-alive"),e.timeoutCb&&(r.setTimeout(0,e.timeoutCb),e.timeoutCb=null),r.removeListener("close",w),r.removeListener("error",_),r.once("error",M),i.nextTick(T,r)):(r.writable&&(d("AGENT socket.destroySoon()"),r.destroySoon()),h(!r.writable))}function A(){const t=this.req;t._ended=!0,t.shouldKeepAlive&&!t.finished||x(0,t)}function I(){const t=this;this.res;t.shouldKeepAlive&&t._ended&&x(0,t)}function T(t){t.emit("free")}function P(t,e){t.aborted?e.emit("free"):function(t,e){var r=l.alloc();t.socket=e,t.connection=e,r.reinitialize(a.RESPONSE),r.socket=e,r.incoming=null,r.outgoing=t,t.parser=r,e.parser=r,e._httpMessage=t,f(e),"number"==typeof t.maxHeadersCount?r.maxHeaderPairs=t.maxHeadersCount<<1:r.maxHeaderPairs=2e3,r.onIncoming=E,e.removeListener("error",M),e.on("error",_),e.on("data",k),e.on("end",S),e.on("close",w),t.emit("socket",e)}(t,e)}n.inherits(y,p),e.ClientRequest=y,y.prototype.aborted=void 0,y.prototype._finish=function(){p.prototype._finish.call(this)},y.prototype._implicitHeader=function(){this._storeHeader(this.method+" "+this.path+" HTTP/1.1\r\n",this._renderHeaders())},y.prototype.abort=function(){void 0===this.aborted&&i.nextTick(b,this),this.aborted=Date.now(),this.res?this.res._dump():this.once("response",(function(t){t._dump()})),this.socket&&this.socket.destroy()},y.prototype.onSocket=function(t){i.nextTick(P,this,t)},y.prototype._deferToConnect=function(t,e,r){var i=this;function n(){t&&i.socket[t].apply(i.socket,e),"function"==typeof r&&r()}var s=function(){i.socket.writable?n():i.socket.once("connect",n)};i.socket?s():i.once("socket",s)},y.prototype.setTimeout=function(t,e){e&&this.once("timeout",e);var r=this;function i(){r.emit("timeout")}if(this.socket&&this.socket.writable)return this.timeoutCb&&this.socket.setTimeout(0,this.timeoutCb),this.timeoutCb=i,this.socket.setTimeout(t,i),this;if(this.timeoutCb=i,this.socket){var n=this.socket;return this.socket.once("connect",(function(){n.setTimeout(t,i)})),this}return this.once("socket",(function(e){e.setTimeout(t,i)})),this},y.prototype.setNoDelay=function(){const t=arguments.length,e=new Array(t);for(var r=0;r{var i=r(8287).Buffer,n=r(6698),s=r(4729),o=new Array(16),a=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],h=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],u=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],f=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],l=[0,1518500249,1859775393,2400959708,2840853838],c=[1352829926,1548603684,1836072691,2053994217,0];function d(){s.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function p(t,e){return t<>>32-e}function m(t,e,r,i,n,s,o,a){return p(t+(e^r^i)+s+o|0,a)+n|0}function g(t,e,r,i,n,s,o,a){return p(t+(e&r|~e&i)+s+o|0,a)+n|0}function y(t,e,r,i,n,s,o,a){return p(t+((e|~r)^i)+s+o|0,a)+n|0}function b(t,e,r,i,n,s,o,a){return p(t+(e&i|r&~i)+s+o|0,a)+n|0}function v(t,e,r,i,n,s,o,a){return p(t+(e^(r|~i))+s+o|0,a)+n|0}n(d,s),d.prototype._update=function(){for(var t=o,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);for(var r=0|this._a,i=0|this._b,n=0|this._c,s=0|this._d,d=0|this._e,w=0|this._a,_=0|this._b,M=0|this._c,S=0|this._d,k=0|this._e,E=0;E<80;E+=1){var x,A;E<16?(x=m(r,i,n,s,d,t[a[E]],l[0],u[E]),A=v(w,_,M,S,k,t[h[E]],c[0],f[E])):E<32?(x=g(r,i,n,s,d,t[a[E]],l[1],u[E]),A=b(w,_,M,S,k,t[h[E]],c[1],f[E])):E<48?(x=y(r,i,n,s,d,t[a[E]],l[2],u[E]),A=y(w,_,M,S,k,t[h[E]],c[2],f[E])):E<64?(x=b(r,i,n,s,d,t[a[E]],l[3],u[E]),A=g(w,_,M,S,k,t[h[E]],c[3],f[E])):(x=v(r,i,n,s,d,t[a[E]],l[4],u[E]),A=m(w,_,M,S,k,t[h[E]],c[4],f[E])),r=d,d=s,s=p(n,10),n=i,i=x,w=k,k=S,S=p(M,10),M=_,_=A}var I=this._b+n+S|0;this._b=this._c+s+k|0,this._c=this._d+d+w|0,this._d=this._e+r+_|0,this._e=this._a+i+M|0,this._a=I},d.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=i.alloc?i.alloc(20):new i(20);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t.writeInt32LE(this._e,16),t},t.exports=d},6045:(t,e,r)=>{const i=r(7042);t.exports=class{constructor(){this.codePoint=0,this.bytesSeen=0,this.bytesNeeded=0,this.lowerBoundary=128,this.upperBoundary=191}get remaining(){return this.bytesSeen}decode(t){if(0===this.bytesNeeded){let e=!0;for(let r=Math.max(0,t.byteLength-4),i=t.byteLength;rthis.upperBoundary?(this.codePoint=0,this.bytesNeeded=0,this.bytesSeen=0,this.lowerBoundary=128,this.upperBoundary=191,e+="�"):(this.lowerBoundary=128,this.upperBoundary=191,this.codePoint=this.codePoint<<6|63&i,this.bytesSeen++,this.bytesSeen===this.bytesNeeded&&(e+=String.fromCodePoint(this.codePoint),this.codePoint=0,this.bytesNeeded=0,this.bytesSeen=0)):i<=127?e+=String.fromCharCode(i):(this.bytesSeen=1,i>=194&&i<=223?(this.bytesNeeded=2,this.codePoint=31&i):i>=224&&i<=239?(224===i?this.lowerBoundary=160:237===i&&(this.upperBoundary=159),this.bytesNeeded=3,this.codePoint=15&i):i>=240&&i<=244?(240===i&&(this.lowerBoundary=144),244===i&&(this.upperBoundary=143),this.bytesNeeded=4,this.codePoint=7&i):e+="�")}return e}flush(){const t=this.bytesNeeded>0?"�":"";return this.codePoint=0,this.bytesNeeded=0,this.bytesSeen=0,this.lowerBoundary=128,this.upperBoundary=191,t}}},6080:(t,e,r)=>{const i=r(5809);t.exports=class{constructor(t){this.hwm=t||16,this.head=new i(this.hwm),this.tail=this.head,this.length=0}clear(){this.head=this.tail,this.head.clear(),this.length=0}push(t){if(this.length++,!this.head.push(t)){const e=this.head;this.head=e.next=new i(2*this.head.buffer.length),this.head.push(t)}}shift(){0!==this.length&&this.length--;const t=this.tail.shift();if(void 0===t&&this.tail.next){const t=this.tail.next;return this.tail.next=null,this.tail=t,this.tail.shift()}return t}peek(){const t=this.tail.peek();return void 0===t&&this.tail.next?this.tail.next.peek():t}isEmpty(){return 0===this.length}}},6166:(t,e,r)=>{var i=r(7426),n=r(3349);function s(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}e.BlockHash=s,s.prototype.update=function(t,e){if(t=i.toArray(t,e),this.pending?this.pending=this.pending.concat(t):this.pending=t,this.pendingTotal+=t.length,this.pending.length>=this._delta8){var r=(t=this.pending).length%this._delta8;this.pending=t.slice(t.length-r,t.length),0===this.pending.length&&(this.pending=null),t=i.join32(t,0,t.length-r,this.endian);for(var n=0;n>>24&255,i[n++]=t>>>16&255,i[n++]=t>>>8&255,i[n++]=255&t}else for(i[n++]=255&t,i[n++]=t>>>8&255,i[n++]=t>>>16&255,i[n++]=t>>>24&255,i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=0,s=8;s{var i=r(2861).Buffer,n=r(8310).Transform,s=r(3141).I;function o(t){n.call(this),this.hashMode="string"==typeof t,this.hashMode?this[t]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}r(6698)(o,n);var a="undefined"!=typeof Uint8Array,h="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&ArrayBuffer.isView&&(i.prototype instanceof Uint8Array||i.TYPED_ARRAY_SUPPORT);o.prototype.update=function(t,e,r){var n=function(t,e){if(t instanceof i)return t;if("string"==typeof t)return i.from(t,e);if(h&&ArrayBuffer.isView(t)){if(0===t.byteLength)return i.alloc(0);var r=i.from(t.buffer,t.byteOffset,t.byteLength);if(r.byteLength===t.byteLength)return r}if(a&&t instanceof Uint8Array)return i.from(t);if(i.isBuffer(t)&&t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t))return i.from(t);throw new TypeError('The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView.')}(t,e),s=this._update(n);return this.hashMode?this:(r&&(s=this._toString(s,r)),s)},o.prototype.setAutoPadding=function(){},o.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},o.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},o.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},o.prototype._transform=function(t,e,r){var i;try{this.hashMode?this._update(t):this.push(this._update(t))}catch(t){i=t}finally{r(i)}},o.prototype._flush=function(t){var e;try{this.push(this.__final())}catch(t){e=t}t(e)},o.prototype._finalOrDigest=function(t){var e=this.__final()||i.alloc(0);return t&&(e=this._toString(e,t,!0)),e},o.prototype._toString=function(t,e,r){if(this._decoder||(this._decoder=new s(e),this._encoding=e),this._encoding!==e)throw new Error("can’t switch encodings");var i=this._decoder.write(t);return r&&(i+=this._decoder.end()),i},t.exports=o},6171:(t,e,r)=>{var i=r(2356),n=r(2861).Buffer,s=r(530),o=r(650),a=r(6168),h=r(462),u=r(8078);function f(t,e,r){a.call(this),this._cache=new l,this._last=void 0,this._cipher=new h.AES(e),this._prev=n.from(r),this._mode=t,this._autopadding=!0}function l(){this.cache=n.allocUnsafe(0)}function c(t,e,r){var a=s[t.toLowerCase()];if(!a)throw new TypeError("invalid suite type");if("string"==typeof r&&(r=n.from(r)),"GCM"!==a.mode&&r.length!==a.iv)throw new TypeError("invalid iv length "+r.length);if("string"==typeof e&&(e=n.from(e)),e.length!==a.key/8)throw new TypeError("invalid key length "+e.length);return"stream"===a.type?new o(a.module,e,r,!0):"auth"===a.type?new i(a.module,e,r,!0):new f(a.module,e,r)}r(6698)(f,a),f.prototype._update=function(t){var e,r;this._cache.add(t);for(var i=[];e=this._cache.get(this._autopadding);)r=this._mode.decrypt(this,e),i.push(r);return n.concat(i)},f.prototype._final=function(){var t=this._cache.flush();if(this._autopadding)return function(t){var e=t[15];if(e<1||e>16)throw new Error("unable to decrypt data");var r=-1;for(;++r16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e}else if(this.cache.length>=16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e;return null},l.prototype.flush=function(){if(this.cache.length)return this.cache},e.createDecipher=function(t,e){var r=s[t.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var i=u(e,!1,r.key,r.iv);return c(t,i.key,i.iv)},e.createDecipheriv=c},6188:t=>{t.exports=Math.max},6225:(t,e,r)=>{var i=r(7426).rotr32;function n(t,e,r){return t&e^~t&r}function s(t,e,r){return t&e^t&r^e&r}function o(t,e,r){return t^e^r}e.ft_1=function(t,e,r,i){return 0===t?n(e,r,i):1===t||3===t?o(e,r,i):2===t?s(e,r,i):void 0},e.ch32=n,e.maj32=s,e.p32=o,e.s0_256=function(t){return i(t,2)^i(t,13)^i(t,22)},e.s1_256=function(t){return i(t,6)^i(t,11)^i(t,25)},e.g0_256=function(t){return i(t,7)^i(t,18)^t>>>3},e.g1_256=function(t){return i(t,17)^i(t,19)^t>>>10}},6229:(t,e,r)=>{e.sha1=r(3917),e.sha224=r(7714),e.sha256=r(2287),e.sha384=r(1911),e.sha512=r(7766)},6238:(t,e,r)=>{var i=r(113).F.ERR_STREAM_PREMATURE_CLOSE;function n(){}t.exports=function t(e,r,s){if("function"==typeof r)return t(e,null,r);r||(r={}),s=function(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,i=new Array(r),n=0;n{var i=r(3225),n=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=l;var s=Object.create(r(5622));s.inherits=r(6698);var o=r(206),a=r(7314);s.inherits(l,o);for(var h=n(a.prototype),u=0;u{var i=r(3225);function n(t,e){t.emit("error",e)}t.exports={destroy:function(t,e){var r=this,s=this._readableState&&this._readableState.destroyed,o=this._writableState&&this._writableState.destroyed;return s||o?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,i.nextTick(n,this,t)):i.nextTick(n,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,(function(t){!e&&t?r._writableState?r._writableState.errorEmitted||(r._writableState.errorEmitted=!0,i.nextTick(n,r,t)):i.nextTick(n,r,t):e&&e(t)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},6310:t=>{function e(t,e){for(const r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}t.exports=function(t,r,i){if(!t||"string"==typeof t)throw new TypeError("Please pass an Error to err-code");i||(i={}),"object"==typeof r&&(i=r,r=""),r&&(i.code=r);try{return e(t,i)}catch(r){i.message=t.message,i.stack=t.stack;const n=function(){};n.prototype=Object.create(Object.getPrototypeOf(t));return e(new n,i)}}},6383:(t,e,r)=>{var i=r(2861).Buffer,n=r(295);function s(t,e,r){var s=e.length,o=n(e,t._cache);return t._cache=t._cache.slice(s),t._prev=i.concat([t._prev,r?e:o]),o}e.encrypt=function(t,e,r){for(var n,o=i.allocUnsafe(0);e.length;){if(0===t._cache.length&&(t._cache=t._cipher.encryptBlock(t._prev),t._prev=i.allocUnsafe(0)),!(t._cache.length<=e.length)){o=i.concat([o,s(t,e,r)]);break}n=t._cache.length,o=i.concat([o,s(t,e.slice(0,n),r)]),e=e.slice(n)}return o}},6413:(t,e,r)=>{var i=r(7568),n=i.define("Time",(function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})})),s=i.define("AttributeTypeValue",(function(){this.seq().obj(this.key("type").objid(),this.key("value").any())})),o=i.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional(),this.key("curve").objid().optional())})),a=i.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(o),this.key("subjectPublicKey").bitstr())})),h=i.define("RelativeDistinguishedName",(function(){this.setof(s)})),u=i.define("RDNSequence",(function(){this.seqof(h)})),f=i.define("Name",(function(){this.choice({rdnSequence:this.use(u)})})),l=i.define("Validity",(function(){this.seq().obj(this.key("notBefore").use(n),this.key("notAfter").use(n))})),c=i.define("Extension",(function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())})),d=i.define("TBSCertificate",(function(){this.seq().obj(this.key("version").explicit(0).int().optional(),this.key("serialNumber").int(),this.key("signature").use(o),this.key("issuer").use(f),this.key("validity").use(l),this.key("subject").use(f),this.key("subjectPublicKeyInfo").use(a),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof(c).optional())})),p=i.define("X509Certificate",(function(){this.seq().obj(this.key("tbsCertificate").use(d),this.key("signatureAlgorithm").use(o),this.key("signatureValue").bitstr())}));t.exports=p},6427:(t,e,r)=>{var i=r(8393).Buffer,n=i.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function s(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(i.isEncoding===n||!n(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=h,this.end=u,e=4;break;case"utf8":this.fillLast=a,e=4;break;case"base64":this.text=f,this.end=l,e=3;break;default:return this.write=c,void(this.end=d)}this.lastNeed=0,this.lastTotal=0,this.lastChar=i.allocUnsafe(e)}function o(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function a(t){var e=this.lastTotal-this.lastNeed,r=function(t,e){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function h(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var i=r.charCodeAt(r.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function u(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function f(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function l(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function c(t){return t.toString(this.encoding)}function d(t){return t&&t.length?this.write(t):""}e.I=s,s.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0)return n>0&&(t.lastNeed=n-1),n;if(--i=0)return n>0&&(t.lastNeed=n-2),n;if(--i=0)return n>0&&(2===n?n=0:t.lastNeed=n-3),n;return 0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var i=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)},s.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},6458:(t,e,r)=>{r.d(e,{A:()=>P});var i=r(988),n=r(3033),s=r(1565),o=r(7833),a=r(8727),h=r(8179),u=r(9639),f=r(1035),l=r(1314);const c=o("bittorrent-protocol"),d=(0,u.L0)("BitTorrent protocol"),p=new Uint8Array([0,0,0,0]),m=new Uint8Array([0,0,0,1,0]),g=new Uint8Array([0,0,0,1,1]),y=new Uint8Array([0,0,0,1,2]),b=new Uint8Array([0,0,0,1,3]),v=[0,0,0,0,0,0,0,0],w=[0,0,0,3,9,0,0],_=new Uint8Array([0,0,0,1,14]),M=new Uint8Array([0,0,0,1,15]),S=new Uint8Array([0,0,0,0,0,0,0,0]),k=new Uint8Array([0,0,1,2]),E=new Uint8Array([0,0,0,2]);function x(t,e){for(let r=t.length;r--;)t[r]^=e[r];return t}class A{constructor(t,e,r,i){this.piece=t,this.offset=e,this.length=r,this.callback=i}}class I{constructor(){this.buffer=new Uint8Array}get(t){return!0}set(t){}}class T extends h.Duplex{constructor(t=null,e=0,r=!1){super(),this._debugId=(0,u.V5)((0,u.po)(4)),this._debug("new wire"),this.peerId=null,this.peerIdBuffer=null,this.type=t,this.amChoking=!0,this.amInterested=!1,this.peerChoking=!0,this.peerInterested=!1,this.peerPieces=new n.A(0,{grow:4e5}),this.extensions={},this.peerExtensions={},this.requests=[],this.peerRequests=[],this.extendedMapping={},this.peerExtendedMapping={},this.extendedHandshake={},this.peerExtendedHandshake={},this.hasFast=!1,this.allowedFastSet=[],this.peerAllowedFastSet=[],this._ext={},this._nextExt=1,this.uploaded=0,this.downloaded=0,this.uploadSpeed=f(),this.downloadSpeed=f(),this._keepAliveInterval=null,this._timeout=null,this._timeoutMs=0,this._timeoutExpiresAt=null,this._finished=!1,this._parserSize=0,this._parser=null,this._buffer=[],this._bufferSize=0,this._peEnabled=r,r?(this._dh=s.createDiffieHellman("ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a36210000000000090563","hex",2),this._myPubKey=this._dh.generateKeys("hex")):this._myPubKey=null,this._peerPubKey=null,this._sharedSecret=null,this._peerCryptoProvide=[],this._cryptoHandshakeDone=!1,this._cryptoSyncPattern=null,this._waitMaxBytes=null,this._encryptionMethod=null,this._encryptGenerator=null,this._decryptGenerator=null,this._setGenerators=!1,this.once("finish",(()=>this._onFinish())),this.on("finish",this._onFinish),this._debug("type:",this.type),"tcpIncoming"===this.type&&this._peEnabled?this._determineHandshakeType():"tcpOutgoing"===this.type&&this._peEnabled&&0===e?this._parsePe2():this._parseHandshake(null)}setKeepAlive(t){this._debug("setKeepAlive %s",t),clearInterval(this._keepAliveInterval),!1!==t&&(this._keepAliveInterval=setInterval((()=>{this.keepAlive()}),55e3))}setTimeout(t,e){this._debug("setTimeout ms=%d unref=%s",t,e),this._timeoutMs=t,this._timeoutUnref=!!e,this._resetTimeout(!0)}destroy(){if(!this.destroyed)return this._debug("destroy"),this.end(),this}end(t){if(!this.destroyed&&!this.destroying)return this._debug("end"),this._onUninterested(),this._onChoke(),super.end(t)}use(t){const e=t.prototype.name;if(!e)throw new Error('Extension class requires a "name" property on the prototype');this._debug("use extension.name=%s",e);const r=this._nextExt,i=new t(this);function n(){}"function"!=typeof i.onHandshake&&(i.onHandshake=n),"function"!=typeof i.onExtendedHandshake&&(i.onExtendedHandshake=n),"function"!=typeof i.onMessage&&(i.onMessage=n),this.extendedMapping[r]=e,this._ext[e]=i,this[e]=i,this._nextExt+=1}keepAlive(){this._debug("keep-alive"),this._push(p)}sendPe1(){if(this._peEnabled){const t=Math.floor(513*Math.random()),e=(0,u.po)(t);this._push((0,u.xW)([(0,u.fk)(this._myPubKey),e]))}}sendPe2(){const t=Math.floor(513*Math.random()),e=(0,u.po)(t);this._push((0,u.xW)([(0,u.fk)(this._myPubKey),e]))}async sendPe3(t){await this.setEncrypt(this._sharedSecret,t);const e=await(0,u.tW)((0,u.fk)(this._utfToHex("req1")+this._sharedSecret)),r=x(await(0,u.tW)((0,u.fk)(this._utfToHex("req2")+t)),await(0,u.tW)((0,u.fk)(this._utfToHex("req3")+this._sharedSecret))),i=new DataView((0,u.po)(2).buffer).getUint16(0)%512,n=(0,u.po)(i);let s=new Uint8Array(14+i+2);s.set(S),s.set(k,8);const o=new DataView(s.buffer);o.setInt16(12,i),n.copy(s,14),o.setInt16(14+i,0),s=this._encryptHandshake(s),this._push((0,u.xW)([e,r,s]))}async sendPe4(t){await this.setEncrypt(this._sharedSecret,t);const e=new DataView((0,u.po)(2).buffer).getUint16(0)%512,r=(0,u.po)(e);let i=new Uint8Array(14+e);const n=new DataView(i.buffer);i.set(S),i.set(E,8),n.setInt16(12,e),i.set(r,14),i=this._encryptHandshake(i),this._push(i),this._cryptoHandshakeDone=!0,this._debug("completed crypto handshake")}handshake(t,e,r){let i,n;if("string"==typeof t?(t=t.toLowerCase(),i=(0,u.fk)(t)):(i=t,t=(0,u.V5)(i)),"string"==typeof e?n=(0,u.fk)(e):(n=e,e=(0,u.V5)(n)),this._infoHash=i,20!==i.length||20!==n.length)throw new Error("infoHash and peerId MUST have length 20");this._debug("handshake i=%s p=%s exts=%o",t,e,r);const s=new Uint8Array(v);this.extensions={extended:!0,dht:!(!r||!r.dht),fast:!(!r||!r.fast)},s[5]|=16,this.extensions.dht&&(s[7]|=1),this.extensions.fast&&(s[7]|=4),this.extensions.fast&&this.peerExtensions.fast&&(this._debug("fast extension is enabled"),this.hasFast=!0),this._push((0,u.xW)([d,s,i,n])),this._handshakeSent=!0,this.peerExtensions.extended&&!this._extendedHandshakeSent&&this._sendExtendedHandshake()}_sendExtendedHandshake(){const t=Object.assign({},this.extendedHandshake);t.m={};for(const e in this.extendedMapping){const r=this.extendedMapping[e];t.m[r]=Number(e)}this.extended(0,i.A.encode(t)),this._extendedHandshakeSent=!0}choke(){if(!this.amChoking)if(this.amChoking=!0,this._debug("choke"),this._push(m),this.hasFast){let t=0;for(;this.peerRequests.length>t;){const e=this.peerRequests[t];this.allowedFastSet.includes(e.piece)?++t:this.reject(e.piece,e.offset,e.length)}}else for(;this.peerRequests.length;)this.peerRequests.pop()}unchoke(){this.amChoking&&(this.amChoking=!1,this._debug("unchoke"),this._push(g))}interested(){this.amInterested||(this.amInterested=!0,this._debug("interested"),this._push(y))}uninterested(){this.amInterested&&(this.amInterested=!1,this._debug("uninterested"),this._push(b))}have(t){this._debug("have %d",t),this._message(4,[t],null)}bitfield(t){this._debug("bitfield"),ArrayBuffer.isView(t)||(t=t.buffer),this._message(5,[],t)}request(t,e,r,i){return i||(i=()=>{}),this._finished?i(new Error("wire is closed")):!this.peerChoking||this.hasFast&&this.peerAllowedFastSet.includes(t)?(this._debug("request index=%d offset=%d length=%d",t,e,r),this.requests.push(new A(t,e,r,i)),this._timeout||this._resetTimeout(!0),void this._message(6,[t,e,r],null)):i(new Error("peer is choking"))}piece(t,e,r){this._debug("piece index=%d offset=%d",t,e),this._message(7,[t,e],r),this.uploaded+=r.length,this.uploadSpeed(r.length),this.emit("upload",r.length)}cancel(t,e,r){this._debug("cancel index=%d offset=%d length=%d",t,e,r),this._callback(this._pull(this.requests,t,e,r),new Error("request was cancelled"),null),this._message(8,[t,e,r],null)}port(t){this._debug("port %d",t);const e=new Uint8Array(w);new DataView(e.buffer).setUint16(5,t),this._push(e)}suggest(t){if(!this.hasFast)throw Error("fast extension is disabled");this._debug("suggest %d",t),this._message(13,[t],null)}haveAll(){if(!this.hasFast)throw Error("fast extension is disabled");this._debug("have-all"),this._push(_)}haveNone(){if(!this.hasFast)throw Error("fast extension is disabled");this._debug("have-none"),this._push(M)}reject(t,e,r){if(!this.hasFast)throw Error("fast extension is disabled");this._debug("reject index=%d offset=%d length=%d",t,e,r),this._pull(this.peerRequests,t,e,r),this._message(16,[t,e,r],null)}allowedFast(t){if(!this.hasFast)throw Error("fast extension is disabled");this._debug("allowed-fast %d",t),this.allowedFastSet.includes(t)||this.allowedFastSet.push(t),this._message(17,[t],null)}extended(t,e){if(this._debug("extended ext=%s",t),"string"==typeof t&&this.peerExtendedMapping[t]&&(t=this.peerExtendedMapping[t]),"number"!=typeof t)throw new Error(`Unrecognized extension: ${t}`);{const r=new Uint8Array([t]),n=ArrayBuffer.isView(e)?e:i.A.encode(e);this._message(20,[],(0,u.xW)([r,n]))}}async setEncrypt(t,e){let r,i,n,s;switch(this.type){case"tcpIncoming":r=await(0,u.tW)((0,u.fk)(this._utfToHex("keyB")+t+e)),n=await(0,u.tW)((0,u.fk)(this._utfToHex("keyA")+t+e)),i=[];for(const t of r.values())i.push(t);s=[];for(const t of n.values())s.push(t);this._encryptGenerator=new a(i),this._decryptGenerator=new a(s);break;case"tcpOutgoing":r=await(0,u.tW)((0,u.fk)(this._utfToHex("keyA")+t+e)),n=await(0,u.tW)((0,u.fk)(this._utfToHex("keyB")+t+e)),i=[];for(const t of r.values())i.push(t);s=[];for(const t of n.values())s.push(t);this._encryptGenerator=new a(i),this._decryptGenerator=new a(s);break;default:return!1}for(let t=0;t<1024;t++)this._encryptGenerator.randomByte(),this._decryptGenerator.randomByte();return this._setGenerators=!0,!0}_message(t,e,r){const i=r?r.length:0,n=new Uint8Array(5+4*e.length),s=new DataView(n.buffer);s.setUint32(0,n.length+i-4),n[4]=t;for(let t=0;t{if(n===this._pull(this.peerRequests,t,e,r))return i?(this._debug("error satisfying request index=%d offset=%d length=%d (%s)",t,e,r,i.message),void(this.hasFast&&this.reject(t,e,r))):void this.piece(t,e,s)},n=new A(t,e,r,i);this.peerRequests.push(n),this.emit("request",t,e,r,i)}_onPiece(t,e,r){this._debug("got piece index=%d offset=%d",t,e),this._callback(this._pull(this.requests,t,e,r.length),null,r),this.downloaded+=r.length,this.downloadSpeed(r.length),this.emit("download",r.length),this.emit("piece",t,e,r)}_onCancel(t,e,r){this._debug("got cancel index=%d offset=%d length=%d",t,e,r),this._pull(this.peerRequests,t,e,r),this.emit("cancel",t,e,r)}_onPort(t){this._debug("got port %d",t),this.emit("port",t)}_onSuggest(t){if(!this.hasFast)return this._debug("Error: got suggest whereas fast extension is disabled"),void this.destroy();this._debug("got suggest %d",t),this.emit("suggest",t)}_onHaveAll(){if(!this.hasFast)return this._debug("Error: got have-all whereas fast extension is disabled"),void this.destroy();this._debug("got have-all"),this.peerPieces=new I,this.emit("have-all")}_onHaveNone(){if(!this.hasFast)return this._debug("Error: got have-none whereas fast extension is disabled"),void this.destroy();this._debug("got have-none"),this.emit("have-none")}_onReject(t,e,r){if(!this.hasFast)return this._debug("Error: got reject whereas fast extension is disabled"),void this.destroy();this._debug("got reject index=%d offset=%d length=%d",t,e,r),this._callback(this._pull(this.requests,t,e,r),new Error("request was rejected"),null),this.emit("reject",t,e,r)}_onAllowedFast(t){if(!this.hasFast)return this._debug("Error: got allowed-fast whereas fast extension is disabled"),void this.destroy();this._debug("got allowed-fast %d",t),this.peerAllowedFastSet.includes(t)||this.peerAllowedFastSet.push(t),this.peerAllowedFastSet.length>100&&this.peerAllowedFastSet.shift(),this.emit("allowed-fast",t)}_onExtended(t,e){if(0===t){let t;try{t=i.A.decode(e)}catch(t){this._debug("ignoring invalid extended handshake: %s",t.message||t)}if(!t)return;if(this.peerExtendedHandshake=t,"object"==typeof t.m)for(const e in t.m)this.peerExtendedMapping[e]=Number(t.m[e].toString());for(const t in this._ext)this.peerExtendedMapping[t]&&this._ext[t].onExtendedHandshake(this.peerExtendedHandshake);this._debug("got extended handshake"),this.emit("extended","handshake",this.peerExtendedHandshake)}else this.extendedMapping[t]&&(t=this.extendedMapping[t],this._ext[t]&&this._ext[t].onMessage(e)),this._debug("got extended message ext=%s",t),this.emit("extended",t,e)}_onTimeout(){this._debug("request timed out"),this._callback(this.requests.shift(),new Error("request has timed out"),null),this.emit("timeout")}_write(t,e){if(2===this._encryptionMethod&&this._cryptoHandshakeDone&&(t=this._decrypt(t)),this._bufferSize+=t.length,this._buffer.push(t),this._buffer.length>1&&(this._buffer=[(0,u.xW)(this._buffer,this._bufferSize)]),this._cryptoSyncPattern){const e=this._buffer[0].indexOf(this._cryptoSyncPattern);if(-1!==e)this._buffer[0]=this._buffer[0].slice(e+this._cryptoSyncPattern.length),this._bufferSize-=e+this._cryptoSyncPattern.length,this._cryptoSyncPattern=null;else if(this._bufferSize+t.length>this._waitMaxBytes+this._cryptoSyncPattern.length)return this._debug("Error: could not resynchronize"),void this.destroy()}for(;this._bufferSize>=this._parserSize&&!this._cryptoSyncPattern;)if(0===this._parserSize)this._parser(new Uint8Array);else{const t=this._buffer[0];this._bufferSize-=this._parserSize,this._buffer=this._bufferSize?[t.slice(this._parserSize)]:[],this._parser(t.slice(0,this._parserSize))}e(null)}_callback(t,e,r){t&&(this._resetTimeout(!this.peerChoking&&!this._finished),t.callback(e,r))}_resetTimeout(t){if(!t||!this._timeoutMs||!this.requests.length)return clearTimeout(this._timeout),this._timeout=null,void(this._timeoutExpiresAt=null);const e=Date.now()+this._timeoutMs;if(this._timeout){if(e-this._timeoutExpiresAt<.05*this._timeoutMs)return;clearTimeout(this._timeout)}this._timeoutExpiresAt=e,this._timeout=setTimeout((()=>this._onTimeout()),this._timeoutMs),this._timeoutUnref&&this._timeout.unref&&this._timeout.unref()}_parse(t,e){this._parserSize=t,this._parser=e}_parseUntil(t,e){this._cryptoSyncPattern=t,this._waitMaxBytes=e}_onMessageLength(t){const e=new DataView(t.buffer,t.byteOffset,t.byteLength).getUint32(0);e>0?this._parse(e,this._onMessage):(this._onKeepAlive(),this._parse(4,this._onMessageLength))}_onMessage(t){this._parse(4,this._onMessageLength);const e=new DataView(t.buffer,t.byteOffset,t.byteLength);switch(t[0]){case 0:return this._onChoke();case 1:return this._onUnchoke();case 2:return this._onInterested();case 3:return this._onUninterested();case 4:return this._onHave(e.getUint32(1));case 5:return this._onBitField(t.slice(1));case 6:return this._onRequest(e.getUint32(1),e.getUint32(5),e.getUint32(9));case 7:return this._onPiece(e.getUint32(1),e.getUint32(5),t.slice(9));case 8:return this._onCancel(e.getUint32(1),e.getUint32(5),e.getUint32(9));case 9:return this._onPort(e.getUint16(1));case 13:return this._onSuggest(e.getUint32(1));case 14:return this._onHaveAll();case 15:return this._onHaveNone();case 16:return this._onReject(e.getUint32(1),e.getUint32(5),e.getUint32(9));case 17:return this._onAllowedFast(e.getUint32(1));case 20:return this._onExtended(t[1],t.slice(2));default:return this._debug("got unknown message"),this.emit("unknownmessage",t)}}_determineHandshakeType(){this._parse(1,(t=>{const e=t[0];19===e?this._parse(e+48,this._onHandshakeBuffer):this._parsePe1(t)}))}_parsePe1(t){this._parse(95,(e=>{this._onPe1((0,u.xW)([t,e])),this._parsePe3()}))}_parsePe2(){this._parse(96,(t=>{for(this._onPe2(t);!this._setGenerators;);this._parsePe4()}))}async _parsePe3(){const t=await(0,u.tW)((0,u.fk)(this._utfToHex("req1")+this._sharedSecret));this._parseUntil(t,512),this._parse(20,(t=>{for(this._onPe3(t);!this._setGenerators;);this._parsePe3Encrypted()}))}_parsePe3Encrypted(){this._parse(14,(t=>{const e=this._decryptHandshake(t.slice(0,8)),r=this._decryptHandshake(t.slice(8,12)),i=new DataView(this._decryptHandshake(t.slice(12,14)).buffer).getUint16(0);this._parse(i,(t=>{t=this._decryptHandshake(t),this._parse(2,(i=>{const n=new DataView(this._decryptHandshake(i).buffer).getUint16(0);this._parse(n,(i=>{i=this._decryptHandshake(i),this._onPe3Encrypted(e,r,t,i);const s=n?i[0]:null,o=n?i.slice(1,20):null;19===s&&"BitTorrent protocol"===(0,u.dU)(o)?this._onHandshakeBuffer(i.slice(1)):this._parseHandshake()}))}))}))}))}_parsePe4(){const t=this._decryptHandshake(S);this._parseUntil(t,512),this._parse(6,(t=>{const e=this._decryptHandshake(t.slice(0,4)),r=new DataView(this._decryptHandshake(t.slice(4,6)).buffer).getUint16(0);this._parse(r,(t=>{this._decryptHandshake(t),this._onPe4(e),this._parseHandshake(null)}))}))}_parseHandshake(){this._parse(1,(t=>{const e=t[0];if(19!==e)return this._debug("Error: wire not speaking BitTorrent protocol (%s)",e.toString()),void this.end();this._parse(e+48,this._onHandshakeBuffer)}))}_onHandshakeBuffer(t){const e=t.slice(0,19);if("BitTorrent protocol"!==(0,u.dU)(e))return this._debug("Error: wire not speaking BitTorrent protocol (%s)",(0,u.dU)(e)),void this.end();t=t.slice(19),this._onHandshake(t.slice(8,28),t.slice(28,48),{dht:!!(1&t[7]),fast:!!(4&t[7]),extended:!!(16&t[5])}),this._parse(4,this._onMessageLength)}_onFinish(){for(this._finished=!0,this.push(null);this.read(););for(clearInterval(this._keepAliveInterval),this._parse(Number.MAX_VALUE,(()=>{}));this.peerRequests.length;)this.peerRequests.pop();for(;this.requests.length;)this._callback(this.requests.pop(),new Error("wire was closed"),null)}_debug(...t){t[0]=`[${this._debugId}] ${t[0]}`,c(...t)}_pull(t,e,r,i){for(let n=0;n=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function h(t,e,r){var i=a(t,r);return r-1>=e&&(i|=a(t,r-1)<<4),i}function u(t,e,r,i){for(var n=0,s=Math.min(t.length,r),o=e;o=49?a-49+10:a>=17?a-17+10:a}return n}s.isBN=function(t){return t instanceof s||null!==t&&"object"==typeof t&&t.constructor.wordSize===s.wordSize&&Array.isArray(t.words)},s.max=function(t,e){return t.cmp(e)>0?t:e},s.min=function(t,e){return t.cmp(e)<0?t:e},s.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),i(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n=0;n-=3)o=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[s]|=o<>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);else if("le"===r)for(n=0,s=0;n>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);return this.strip()},s.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i=e;i-=2)n=h(t,e,i)<=18?(s-=18,o+=1,this.words[o]|=n>>>26):s+=8;else for(i=(t.length-e)%2==0?e+1:e;i=18?(s-=18,o+=1,this.words[o]|=n>>>26):s+=8;this.strip()},s.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var s=t.length-r,o=s%i,a=Math.min(s,s-o)+r,h=0,f=r;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var f=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],c=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],s=0|e.words[0],o=n*s,a=67108863&o,h=o/67108864|0;r.words[0]=a;for(var u=1;u>>26,l=67108863&h,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(o=(n=0|t.words[p])*(s=0|e.words[d])+l)/67108864|0,l=67108863&o}r.words[u]=0|l,h=0|f}return 0!==h?r.words[u]=0|h:r.length--,r.strip()}s.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var n=0,s=0,o=0;o>>24-n&16777215,(n+=2)>=26&&(n-=26,o--),r=0!==s||o!==this.length-1?f[6-h.length]+h+r:h+r}for(0!==s&&(r=s.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var u=l[t],d=c[t];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);r=(p=p.idivn(d)).isZero()?m+r:f[u-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(t,e){return i(void 0!==o),this.toArrayLike(o,t,e)},s.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},s.prototype.toArrayLike=function(t,e,r){var n=this.byteLength(),s=r||Math.max(1,n);i(n<=s,"byte array longer than desired length"),i(s>0,"Requested array length <= 0"),this.strip();var o,a,h="le"===e,u=new t(s),f=this.clone();if(h){for(a=0;!f.isZero();a++)o=f.andln(255),f.iushrn(8),u[a]=o;for(;a=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},s.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 8191&e||(r+=13,e>>>=13),127&e||(r+=7,e>>>=7),15&e||(r+=4,e>>>=4),3&e||(r+=2,e>>>=2),1&e||r++,r},s.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},s.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},s.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},s.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},s.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},s.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},s.prototype.inotn=function(t){i("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},s.prototype.notn=function(t){return this.clone().inotn(t)},s.prototype.setn=function(t,e){i("number"==typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,s=0;s>>26;for(;0!==n&&s>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;st.length?this.clone().iadd(t):t.clone().iadd(this)},s.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var s=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==s&&o>26,this.words[o]=67108863&e;if(0===s&&o>>13,d=0|o[1],p=8191&d,m=d>>>13,g=0|o[2],y=8191&g,b=g>>>13,v=0|o[3],w=8191&v,_=v>>>13,M=0|o[4],S=8191&M,k=M>>>13,E=0|o[5],x=8191&E,A=E>>>13,I=0|o[6],T=8191&I,P=I>>>13,C=0|o[7],R=8191&C,O=C>>>13,B=0|o[8],L=8191&B,N=B>>>13,j=0|o[9],U=8191&j,q=j>>>13,D=0|a[0],H=8191&D,F=D>>>13,z=0|a[1],$=8191&z,W=z>>>13,K=0|a[2],V=8191&K,Z=K>>>13,G=0|a[3],Y=8191&G,J=G>>>13,X=0|a[4],Q=8191&X,tt=X>>>13,et=0|a[5],rt=8191&et,it=et>>>13,nt=0|a[6],st=8191&nt,ot=nt>>>13,at=0|a[7],ht=8191&at,ut=at>>>13,ft=0|a[8],lt=8191&ft,ct=ft>>>13,dt=0|a[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,H))|0)+((8191&(n=(n=Math.imul(l,F))+Math.imul(c,H)|0))<<13)|0;u=((s=Math.imul(c,F))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,H),n=(n=Math.imul(p,F))+Math.imul(m,H)|0,s=Math.imul(m,F);var yt=(u+(i=i+Math.imul(l,$)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,$)|0))<<13)|0;u=((s=s+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,H),n=(n=Math.imul(y,F))+Math.imul(b,H)|0,s=Math.imul(b,F),i=i+Math.imul(p,$)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,$)|0,s=s+Math.imul(m,W)|0;var bt=(u+(i=i+Math.imul(l,V)|0)|0)+((8191&(n=(n=n+Math.imul(l,Z)|0)+Math.imul(c,V)|0))<<13)|0;u=((s=s+Math.imul(c,Z)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(w,H),n=(n=Math.imul(w,F))+Math.imul(_,H)|0,s=Math.imul(_,F),i=i+Math.imul(y,$)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(b,$)|0,s=s+Math.imul(b,W)|0,i=i+Math.imul(p,V)|0,n=(n=n+Math.imul(p,Z)|0)+Math.imul(m,V)|0,s=s+Math.imul(m,Z)|0;var vt=(u+(i=i+Math.imul(l,Y)|0)|0)+((8191&(n=(n=n+Math.imul(l,J)|0)+Math.imul(c,Y)|0))<<13)|0;u=((s=s+Math.imul(c,J)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(S,H),n=(n=Math.imul(S,F))+Math.imul(k,H)|0,s=Math.imul(k,F),i=i+Math.imul(w,$)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(_,$)|0,s=s+Math.imul(_,W)|0,i=i+Math.imul(y,V)|0,n=(n=n+Math.imul(y,Z)|0)+Math.imul(b,V)|0,s=s+Math.imul(b,Z)|0,i=i+Math.imul(p,Y)|0,n=(n=n+Math.imul(p,J)|0)+Math.imul(m,Y)|0,s=s+Math.imul(m,J)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((s=s+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(x,H),n=(n=Math.imul(x,F))+Math.imul(A,H)|0,s=Math.imul(A,F),i=i+Math.imul(S,$)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(k,$)|0,s=s+Math.imul(k,W)|0,i=i+Math.imul(w,V)|0,n=(n=n+Math.imul(w,Z)|0)+Math.imul(_,V)|0,s=s+Math.imul(_,Z)|0,i=i+Math.imul(y,Y)|0,n=(n=n+Math.imul(y,J)|0)+Math.imul(b,Y)|0,s=s+Math.imul(b,J)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,s=s+Math.imul(m,tt)|0;var _t=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((s=s+Math.imul(c,it)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(T,H),n=(n=Math.imul(T,F))+Math.imul(P,H)|0,s=Math.imul(P,F),i=i+Math.imul(x,$)|0,n=(n=n+Math.imul(x,W)|0)+Math.imul(A,$)|0,s=s+Math.imul(A,W)|0,i=i+Math.imul(S,V)|0,n=(n=n+Math.imul(S,Z)|0)+Math.imul(k,V)|0,s=s+Math.imul(k,Z)|0,i=i+Math.imul(w,Y)|0,n=(n=n+Math.imul(w,J)|0)+Math.imul(_,Y)|0,s=s+Math.imul(_,J)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(b,Q)|0,s=s+Math.imul(b,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,s=s+Math.imul(m,it)|0;var Mt=(u+(i=i+Math.imul(l,st)|0)|0)+((8191&(n=(n=n+Math.imul(l,ot)|0)+Math.imul(c,st)|0))<<13)|0;u=((s=s+Math.imul(c,ot)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(R,H),n=(n=Math.imul(R,F))+Math.imul(O,H)|0,s=Math.imul(O,F),i=i+Math.imul(T,$)|0,n=(n=n+Math.imul(T,W)|0)+Math.imul(P,$)|0,s=s+Math.imul(P,W)|0,i=i+Math.imul(x,V)|0,n=(n=n+Math.imul(x,Z)|0)+Math.imul(A,V)|0,s=s+Math.imul(A,Z)|0,i=i+Math.imul(S,Y)|0,n=(n=n+Math.imul(S,J)|0)+Math.imul(k,Y)|0,s=s+Math.imul(k,J)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,s=s+Math.imul(_,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(b,rt)|0,s=s+Math.imul(b,it)|0,i=i+Math.imul(p,st)|0,n=(n=n+Math.imul(p,ot)|0)+Math.imul(m,st)|0,s=s+Math.imul(m,ot)|0;var St=(u+(i=i+Math.imul(l,ht)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,ht)|0))<<13)|0;u=((s=s+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(L,H),n=(n=Math.imul(L,F))+Math.imul(N,H)|0,s=Math.imul(N,F),i=i+Math.imul(R,$)|0,n=(n=n+Math.imul(R,W)|0)+Math.imul(O,$)|0,s=s+Math.imul(O,W)|0,i=i+Math.imul(T,V)|0,n=(n=n+Math.imul(T,Z)|0)+Math.imul(P,V)|0,s=s+Math.imul(P,Z)|0,i=i+Math.imul(x,Y)|0,n=(n=n+Math.imul(x,J)|0)+Math.imul(A,Y)|0,s=s+Math.imul(A,J)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(k,Q)|0,s=s+Math.imul(k,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(_,rt)|0,s=s+Math.imul(_,it)|0,i=i+Math.imul(y,st)|0,n=(n=n+Math.imul(y,ot)|0)+Math.imul(b,st)|0,s=s+Math.imul(b,ot)|0,i=i+Math.imul(p,ht)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,ht)|0,s=s+Math.imul(m,ut)|0;var kt=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((s=s+Math.imul(c,ct)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(U,H),n=(n=Math.imul(U,F))+Math.imul(q,H)|0,s=Math.imul(q,F),i=i+Math.imul(L,$)|0,n=(n=n+Math.imul(L,W)|0)+Math.imul(N,$)|0,s=s+Math.imul(N,W)|0,i=i+Math.imul(R,V)|0,n=(n=n+Math.imul(R,Z)|0)+Math.imul(O,V)|0,s=s+Math.imul(O,Z)|0,i=i+Math.imul(T,Y)|0,n=(n=n+Math.imul(T,J)|0)+Math.imul(P,Y)|0,s=s+Math.imul(P,J)|0,i=i+Math.imul(x,Q)|0,n=(n=n+Math.imul(x,tt)|0)+Math.imul(A,Q)|0,s=s+Math.imul(A,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(k,rt)|0,s=s+Math.imul(k,it)|0,i=i+Math.imul(w,st)|0,n=(n=n+Math.imul(w,ot)|0)+Math.imul(_,st)|0,s=s+Math.imul(_,ot)|0,i=i+Math.imul(y,ht)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(b,ht)|0,s=s+Math.imul(b,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,s=s+Math.imul(m,ct)|0;var Et=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((s=s+Math.imul(c,mt)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(U,$),n=(n=Math.imul(U,W))+Math.imul(q,$)|0,s=Math.imul(q,W),i=i+Math.imul(L,V)|0,n=(n=n+Math.imul(L,Z)|0)+Math.imul(N,V)|0,s=s+Math.imul(N,Z)|0,i=i+Math.imul(R,Y)|0,n=(n=n+Math.imul(R,J)|0)+Math.imul(O,Y)|0,s=s+Math.imul(O,J)|0,i=i+Math.imul(T,Q)|0,n=(n=n+Math.imul(T,tt)|0)+Math.imul(P,Q)|0,s=s+Math.imul(P,tt)|0,i=i+Math.imul(x,rt)|0,n=(n=n+Math.imul(x,it)|0)+Math.imul(A,rt)|0,s=s+Math.imul(A,it)|0,i=i+Math.imul(S,st)|0,n=(n=n+Math.imul(S,ot)|0)+Math.imul(k,st)|0,s=s+Math.imul(k,ot)|0,i=i+Math.imul(w,ht)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(_,ht)|0,s=s+Math.imul(_,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(b,lt)|0,s=s+Math.imul(b,ct)|0;var xt=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((s=s+Math.imul(m,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(U,V),n=(n=Math.imul(U,Z))+Math.imul(q,V)|0,s=Math.imul(q,Z),i=i+Math.imul(L,Y)|0,n=(n=n+Math.imul(L,J)|0)+Math.imul(N,Y)|0,s=s+Math.imul(N,J)|0,i=i+Math.imul(R,Q)|0,n=(n=n+Math.imul(R,tt)|0)+Math.imul(O,Q)|0,s=s+Math.imul(O,tt)|0,i=i+Math.imul(T,rt)|0,n=(n=n+Math.imul(T,it)|0)+Math.imul(P,rt)|0,s=s+Math.imul(P,it)|0,i=i+Math.imul(x,st)|0,n=(n=n+Math.imul(x,ot)|0)+Math.imul(A,st)|0,s=s+Math.imul(A,ot)|0,i=i+Math.imul(S,ht)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(k,ht)|0,s=s+Math.imul(k,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(_,lt)|0,s=s+Math.imul(_,ct)|0;var At=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(b,pt)|0))<<13)|0;u=((s=s+Math.imul(b,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(U,Y),n=(n=Math.imul(U,J))+Math.imul(q,Y)|0,s=Math.imul(q,J),i=i+Math.imul(L,Q)|0,n=(n=n+Math.imul(L,tt)|0)+Math.imul(N,Q)|0,s=s+Math.imul(N,tt)|0,i=i+Math.imul(R,rt)|0,n=(n=n+Math.imul(R,it)|0)+Math.imul(O,rt)|0,s=s+Math.imul(O,it)|0,i=i+Math.imul(T,st)|0,n=(n=n+Math.imul(T,ot)|0)+Math.imul(P,st)|0,s=s+Math.imul(P,ot)|0,i=i+Math.imul(x,ht)|0,n=(n=n+Math.imul(x,ut)|0)+Math.imul(A,ht)|0,s=s+Math.imul(A,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(k,lt)|0,s=s+Math.imul(k,ct)|0;var It=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;u=((s=s+Math.imul(_,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(U,Q),n=(n=Math.imul(U,tt))+Math.imul(q,Q)|0,s=Math.imul(q,tt),i=i+Math.imul(L,rt)|0,n=(n=n+Math.imul(L,it)|0)+Math.imul(N,rt)|0,s=s+Math.imul(N,it)|0,i=i+Math.imul(R,st)|0,n=(n=n+Math.imul(R,ot)|0)+Math.imul(O,st)|0,s=s+Math.imul(O,ot)|0,i=i+Math.imul(T,ht)|0,n=(n=n+Math.imul(T,ut)|0)+Math.imul(P,ht)|0,s=s+Math.imul(P,ut)|0,i=i+Math.imul(x,lt)|0,n=(n=n+Math.imul(x,ct)|0)+Math.imul(A,lt)|0,s=s+Math.imul(A,ct)|0;var Tt=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(k,pt)|0))<<13)|0;u=((s=s+Math.imul(k,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(U,rt),n=(n=Math.imul(U,it))+Math.imul(q,rt)|0,s=Math.imul(q,it),i=i+Math.imul(L,st)|0,n=(n=n+Math.imul(L,ot)|0)+Math.imul(N,st)|0,s=s+Math.imul(N,ot)|0,i=i+Math.imul(R,ht)|0,n=(n=n+Math.imul(R,ut)|0)+Math.imul(O,ht)|0,s=s+Math.imul(O,ut)|0,i=i+Math.imul(T,lt)|0,n=(n=n+Math.imul(T,ct)|0)+Math.imul(P,lt)|0,s=s+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(x,pt)|0)|0)+((8191&(n=(n=n+Math.imul(x,mt)|0)+Math.imul(A,pt)|0))<<13)|0;u=((s=s+Math.imul(A,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(U,st),n=(n=Math.imul(U,ot))+Math.imul(q,st)|0,s=Math.imul(q,ot),i=i+Math.imul(L,ht)|0,n=(n=n+Math.imul(L,ut)|0)+Math.imul(N,ht)|0,s=s+Math.imul(N,ut)|0,i=i+Math.imul(R,lt)|0,n=(n=n+Math.imul(R,ct)|0)+Math.imul(O,lt)|0,s=s+Math.imul(O,ct)|0;var Ct=(u+(i=i+Math.imul(T,pt)|0)|0)+((8191&(n=(n=n+Math.imul(T,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((s=s+Math.imul(P,mt)|0)+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(U,ht),n=(n=Math.imul(U,ut))+Math.imul(q,ht)|0,s=Math.imul(q,ut),i=i+Math.imul(L,lt)|0,n=(n=n+Math.imul(L,ct)|0)+Math.imul(N,lt)|0,s=s+Math.imul(N,ct)|0;var Rt=(u+(i=i+Math.imul(R,pt)|0)|0)+((8191&(n=(n=n+Math.imul(R,mt)|0)+Math.imul(O,pt)|0))<<13)|0;u=((s=s+Math.imul(O,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(U,lt),n=(n=Math.imul(U,ct))+Math.imul(q,lt)|0,s=Math.imul(q,ct);var Ot=(u+(i=i+Math.imul(L,pt)|0)|0)+((8191&(n=(n=n+Math.imul(L,mt)|0)+Math.imul(N,pt)|0))<<13)|0;u=((s=s+Math.imul(N,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var Bt=(u+(i=Math.imul(U,pt))|0)+((8191&(n=(n=Math.imul(U,mt))+Math.imul(q,pt)|0))<<13)|0;return u=((s=Math.imul(q,mt))+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,h[0]=gt,h[1]=yt,h[2]=bt,h[3]=vt,h[4]=wt,h[5]=_t,h[6]=Mt,h[7]=St,h[8]=kt,h[9]=Et,h[10]=xt,h[11]=At,h[12]=It,h[13]=Tt,h[14]=Pt,h[15]=Ct,h[16]=Rt,h[17]=Ot,h[18]=Bt,0!==u&&(h[19]=u,r.length++),r};function m(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(p=d),s.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?p(this,t,e):i<63?d(this,t,e):i<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,s=0;s>>26)|0)>>>26,o&=67108863}r.words[s]=a,i=o,o=n}return 0!==i?r.words[s]=i:r.length--,r.strip()}(this,t,e):m(this,t,e),r},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=s.prototype._countBits(t)-1,i=0;i>=1;return i},g.prototype.permute=function(t,e,r,i,n,s){for(var o=0;o>>=1)n++;return 1<>>=13,r[2*o+1]=8191&s,s>>>=13;for(o=2*e;o>=26,e+=n/67108864|0,e+=s>>>26,this.words[r]=67108863&s}return 0!==e&&(this.words[r]=e,this.length++),this},s.prototype.muln=function(t){return this.clone().imuln(t)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>n}return e}(t);if(0===e.length)return new s(1);for(var r=this,i=0;i=0);var e,r=t%26,n=(t-r)/26,s=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var s=t%26,o=Math.min((t-s)/26,this.length),a=67108863^67108863>>>s<o)for(this.length-=o,u=0;u=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-s|l>>>s,f=l&a}return h&&0!==f&&(h.words[h.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},s.prototype.shln=function(t){return this.clone().ishln(t)},s.prototype.ushln=function(t){return this.clone().iushln(t)},s.prototype.shrn=function(t){return this.clone().ishrn(t)},s.prototype.ushrn=function(t){return this.clone().iushrn(t)},s.prototype.testn=function(t){i("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},s.prototype.isubn=function(t){if(i("number"==typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(h/67108864|0),this.words[n+r]=67108863&s}for(;n>26,this.words[n+r]=67108863&s;if(0===a)return this.strip();for(i(-1===a),a=0,n=0;n>26,this.words[n]=67108863&s;return this.negative=1,this.strip()},s.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),n=t,o=0|n.words[n.length-1];0!==(r=26-this._countBits(o))&&(n=n.ushln(r),i.iushln(r),o=0|n.words[n.length-1]);var a,h=i.length-n.length;if("mod"!==e){(a=new s(null)).length=h+1,a.words=new Array(a.length);for(var u=0;u=0;l--){var c=67108864*(0|i.words[n.length+l])+(0|i.words[n.length+l-1]);for(c=Math.min(c/o|0,67108863),i._ishlnsubmul(n,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(n,1,l),i.isZero()||(i.negative^=1);a&&(a.words[l]=c)}return a&&a.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:a||null,mod:i}},s.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(n=a.div.neg()),"div"!==e&&(o=a.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:n,mod:o}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(n=a.div.neg()),{div:n,mod:a.mod}):this.negative&t.negative?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(o=a.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:a.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new s(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new s(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new s(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,o,a},s.prototype.div=function(t){return this.divmod(t,"div",!1).div},s.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},s.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},s.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),s=r.cmp(i);return s<0||1===n&&0===s?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},s.prototype.modn=function(t){i(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;n>=0;n--)r=(e*r+(0|this.words[n]))%t;return r},s.prototype.idivn=function(t){i(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},s.prototype.divn=function(t){return this.clone().idivn(t)},s.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n=new s(1),o=new s(0),a=new s(0),h=new s(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var f=r.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;!(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(f),o.isub(l)),n.iushrn(1),o.iushrn(1);for(var p=0,m=1;!(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(a.isOdd()||h.isOdd())&&(a.iadd(f),h.isub(l)),a.iushrn(1),h.iushrn(1);e.cmp(r)>=0?(e.isub(r),n.isub(a),o.isub(h)):(r.isub(e),a.isub(n),h.isub(o))}return{a,b:h,gcd:r.iushln(u)}},s.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n,o=new s(1),a=new s(0),h=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,f=1;!(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)o.isOdd()&&o.iadd(h),o.iushrn(1);for(var l=0,c=1;!(r.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(r.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(h),a.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(a)):(r.isub(e),a.isub(o))}return(n=0===e.cmpn(1)?o:a).cmpn(0)<0&&n.iadd(t),n},s.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var s=e;e=r,r=s}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},s.prototype.invm=function(t){return this.egcd(t).a.umod(t)},s.prototype.isEven=function(){return!(1&this.words[0])},s.prototype.isOdd=function(){return!(1&~this.words[0])},s.prototype.andln=function(t){return this.words[0]&t},s.prototype.bincn=function(t){i("number"==typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,a&=67108863,this.words[o]=a}return 0!==s&&(this.words[o]=s,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},s.prototype.gtn=function(t){return 1===this.cmpn(t)},s.prototype.gt=function(t){return 1===this.cmp(t)},s.prototype.gten=function(t){return this.cmpn(t)>=0},s.prototype.gte=function(t){return this.cmp(t)>=0},s.prototype.ltn=function(t){return-1===this.cmpn(t)},s.prototype.lt=function(t){return-1===this.cmp(t)},s.prototype.lten=function(t){return this.cmpn(t)<=0},s.prototype.lte=function(t){return this.cmp(t)<=0},s.prototype.eqn=function(t){return 0===this.cmpn(t)},s.prototype.eq=function(t){return 0===this.cmp(t)},s.red=function(t){return new S(t)},s.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},s.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(t){return this.red=t,this},s.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},s.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},s.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},s.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},s.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},s.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},s.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},s.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},s.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function b(t,e){this.name=t,this.p=new s(e,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function w(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function S(t){if("string"==typeof t){var e=s._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){S.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var t=new s(null);return t.words=new Array(Math.ceil(this.n/13)),t},b.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},b.prototype.split=function(t,e){t.iushrn(this.n,0,e)},b.prototype.imulK=function(t){return t.imul(this.k)},n(v,b),v.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,s=o}s>>>=22,t.words[n-10]=s,0===s&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},s._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new w;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return y[t]=e,e},S.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},S.prototype._verify2=function(t,e){i(!(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},S.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},S.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},S.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},S.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},S.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},S.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},S.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},S.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},S.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},S.prototype.isqr=function(t){return this.imul(t,t.clone())},S.prototype.sqr=function(t){return this.mul(t,t)},S.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2==1),3===e){var r=this.m.add(new s(1)).iushrn(2);return this.pow(t,r)}for(var n=this.m.subn(1),o=0;!n.isZero()&&0===n.andln(1);)o++,n.iushrn(1);i(!n.isZero());var a=new s(1).toRed(this),h=a.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new s(2*f*f).toRed(this);0!==this.pow(f,u).cmp(h);)f.redIAdd(h);for(var l=this.pow(f,n),c=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=o;0!==d.cmp(a);){for(var m=d,g=0;0!==m.cmp(a);g++)m=m.redSqr();i(g=0;i--){for(var u=e.words[i],f=h-1;f>=0;f--){var l=u>>f&1;n!==r[0]&&(n=this.sqr(n)),0!==l||0!==o?(o<<=1,o|=l,(4===++a||0===i&&0===f)&&(n=this.mul(n,r[o]),a=0,o=0)):a=0}h=26}return n},S.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},S.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},s.mont=function(t){return new k(t)},n(k,S),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),s=n;return n.cmp(this.m)>=0?s=n.isub(this.m):n.cmpn(0)<0&&(s=n.iadd(this.m)),s._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new s(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=r.nmd(t),this)},6532:(t,e,r)=>{function i(t,e,r,i,n,s,o){try{var a=t[s](o),h=a.value}catch(t){return void r(t)}a.done?e(h):Promise.resolve(h).then(i,n)}function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,i)}return r}function s(t,e,r){return(e=function(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,e||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var o=r(113).F.ERR_INVALID_ARG_TYPE;t.exports=function(t,e,r){var a;if(e&&"function"==typeof e.next)a=e;else if(e&&e[Symbol.asyncIterator])a=e[Symbol.asyncIterator]();else{if(!e||!e[Symbol.iterator])throw new o("iterable",["Iterable"],e);a=e[Symbol.iterator]()}var h=new t(function(t){for(var e=1;e{t.exports=Object.getOwnPropertyDescriptor},6556:(t,e,r)=>{var i=r(453),n=r(3126),s=n([i("%String.prototype.indexOf%")]);t.exports=function(t,e){var r=i(t,!!e);return"function"==typeof r&&s(t,".prototype.")>-1?n([r]):r}},6585:t=>{var e=1e3,r=60*e,i=60*r,n=24*i,s=7*n,o=365.25*n;function a(t,e,r,i){var n=e>=1.5*r;return Math.round(t/r)+" "+i+(n?"s":"")}t.exports=function(t,h){h=h||{};var u=typeof t;if("string"===u&&t.length>0)return function(t){if((t=String(t)).length>100)return;var a=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(!a)return;var h=parseFloat(a[1]);switch((a[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return h*o;case"weeks":case"week":case"w":return h*s;case"days":case"day":case"d":return h*n;case"hours":case"hour":case"hrs":case"hr":case"h":return h*i;case"minutes":case"minute":case"mins":case"min":case"m":return h*r;case"seconds":case"second":case"secs":case"sec":case"s":return h*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return h;default:return}}(t);if("number"===u&&isFinite(t))return h.long?function(t){var s=Math.abs(t);if(s>=n)return a(t,s,n,"day");if(s>=i)return a(t,s,i,"hour");if(s>=r)return a(t,s,r,"minute");if(s>=e)return a(t,s,e,"second");return t+" ms"}(t):function(t){var s=Math.abs(t);if(s>=n)return Math.round(t/n)+"d";if(s>=i)return Math.round(t/i)+"h";if(s>=r)return Math.round(t/r)+"m";if(s>=e)return Math.round(t/e)+"s";return t+"ms"}(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))}},6587:t=>{t.exports=function t(e,r){if(e&&r)return t(e)(r);if("function"!=typeof e)throw new TypeError("need wrapper function");return Object.keys(e).forEach((function(t){i[t]=e[t]})),i;function i(){for(var t=new Array(arguments.length),r=0;r{var i=r(717),n=r(3519),s=function(){},o=function(t,e,r){if("function"==typeof e)return o(t,null,e);e||(e={}),r=n(r||s);var a=t._writableState,h=t._readableState,u=e.readable||!1!==e.readable&&t.readable,f=e.writable||!1!==e.writable&&t.writable,l=!1,c=function(){t.writable||d()},d=function(){f=!1,u||r.call(t)},p=function(){u=!1,f||r.call(t)},m=function(e){r.call(t,e?new Error("exited with error code: "+e):null)},g=function(e){r.call(t,e)},y=function(){i.nextTick(b)},b=function(){if(!l)return(!u||h&&h.ended&&!h.destroyed)&&(!f||a&&a.ended&&!a.destroyed)?void 0:r.call(t,new Error("premature close"))},v=function(){t.req.on("finish",d)};return!function(t){return t.setHeader&&"function"==typeof t.abort}(t)?f&&!a&&(t.on("end",c),t.on("close",c)):(t.on("complete",d),t.on("abort",y),t.req?v():t.on("request",v)),function(t){return t.stdio&&Array.isArray(t.stdio)&&3===t.stdio.length}(t)&&t.on("exit",m),t.on("end",p),t.on("finish",d),!1!==e.error&&t.on("error",g),t.on("close",y),function(){l=!0,t.removeListener("complete",d),t.removeListener("abort",y),t.removeListener("request",v),t.req&&t.req.removeListener("finish",d),t.removeListener("end",c),t.removeListener("close",c),t.removeListener("finish",d),t.removeListener("exit",m),t.removeListener("end",p),t.removeListener("error",g),t.removeListener("close",y)}};t.exports=o},6622:t=>{"function"==typeof Object.create?t.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:t.exports=function(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}},6661:(t,e,r)=>{var i=r(7011),n=i.assert,s=i.parseBytes,o=i.cachedProperty;function a(t,e){this.eddsa=t,this._secret=s(e.secret),t.isPoint(e.pub)?this._pub=e.pub:this._pubBytes=s(e.pub)}a.fromPublic=function(t,e){return e instanceof a?e:new a(t,{pub:e})},a.fromSecret=function(t,e){return e instanceof a?e:new a(t,{secret:e})},a.prototype.secret=function(){return this._secret},o(a,"pubBytes",(function(){return this.eddsa.encodePoint(this.pub())})),o(a,"pub",(function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())})),o(a,"privBytes",(function(){var t=this.eddsa,e=this.hash(),r=t.encodingLength-1,i=e.slice(0,t.encodingLength);return i[0]&=248,i[r]&=127,i[r]|=64,i})),o(a,"priv",(function(){return this.eddsa.decodeInt(this.privBytes())})),o(a,"hash",(function(){return this.eddsa.hash().update(this.secret()).digest()})),o(a,"messagePrefix",(function(){return this.hash().slice(this.eddsa.encodingLength)})),a.prototype.sign=function(t){return n(this._secret,"KeyPair can only verify"),this.eddsa.sign(t,this)},a.prototype.verify=function(t,e){return this.eddsa.verify(t,e,this)},a.prototype.getSecret=function(t){return n(this._secret,"KeyPair is public only"),i.encode(this.secret(),t)},a.prototype.getPublic=function(t){return i.encode(this.pubBytes(),t)},t.exports=a},6677:(t,e,r)=>{var i=r(8490),n=r(7011),s=n.getNAF,o=n.getJSF,a=n.assert;function h(t,e){this.type=t,this.p=new i(e.p,16),this.red=e.prime?i.red(e.prime):i.mont(this.p),this.zero=new i(0).toRed(this.red),this.one=new i(1).toRed(this.red),this.two=new i(2).toRed(this.red),this.n=e.n&&new i(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function u(t,e){this.curve=t,this.type=e,this.precomputed=null}t.exports=h,h.prototype.point=function(){throw new Error("Not implemented")},h.prototype.validate=function(){throw new Error("Not implemented")},h.prototype._fixedNafMul=function(t,e){a(t.precomputed);var r=t._getDoubles(),i=s(e,1,this._bitLength),n=(1<=o;f--)h=(h<<1)+i[f];u.push(h)}for(var l=this.jpoint(null,null,null),c=this.jpoint(null,null,null),d=n;d>0;d--){for(o=0;o=0;u--){for(var f=0;u>=0&&0===o[u];u--)f++;if(u>=0&&f++,h=h.dblp(f),u<0)break;var l=o[u];a(0!==l),h="affine"===t.type?l>0?h.mixedAdd(n[l-1>>1]):h.mixedAdd(n[-l-1>>1].neg()):l>0?h.add(n[l-1>>1]):h.add(n[-l-1>>1].neg())}return"affine"===t.type?h.toP():h},h.prototype._wnafMulAdd=function(t,e,r,i,n){var a,h,u,f=this._wnafT1,l=this._wnafT2,c=this._wnafT3,d=0;for(a=0;a=1;a-=2){var m=a-1,g=a;if(1===f[m]&&1===f[g]){var y=[e[m],null,null,e[g]];0===e[m].y.cmp(e[g].y)?(y[1]=e[m].add(e[g]),y[2]=e[m].toJ().mixedAdd(e[g].neg())):0===e[m].y.cmp(e[g].y.redNeg())?(y[1]=e[m].toJ().mixedAdd(e[g]),y[2]=e[m].add(e[g].neg())):(y[1]=e[m].toJ().mixedAdd(e[g]),y[2]=e[m].toJ().mixedAdd(e[g].neg()));var b=[-3,-1,-5,-7,0,7,5,1,3],v=o(r[m],r[g]);for(d=Math.max(v[0].length,d),c[m]=new Array(d),c[g]=new Array(d),h=0;h=0;a--){for(var k=0;a>=0;){var E=!0;for(h=0;h=0&&k++,M=M.dblp(k),a<0)break;for(h=0;h0?u=l[h][x-1>>1]:x<0&&(u=l[h][-x-1>>1].neg()),M="affine"===u.type?M.mixedAdd(u):M.add(u))}}for(a=0;a=Math.ceil((t.bitLength()+1)/e.step)},u.prototype._getDoubles=function(t,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],i=this,n=0;n{},6698:t=>{"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}}},6708:(t,e,r)=>{var i,n=r(717);function s(t){var e=this;this.next=null,this.entry=null,this.finish=function(){!function(t,e,r){var i=t.entry;t.entry=null;for(;i;){var n=i.callback;e.pendingcb--,n(r),i=i.next}e.corkedRequestsFree.next=t}(e,t)}}t.exports=E,E.WritableState=k;var o={deprecate:r(4643)},a=r(1416),h=r(8287).Buffer,u=("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){};var f,l=r(5896),c=r(5291).getHighWaterMark,d=r(113).F,p=d.ERR_INVALID_ARG_TYPE,m=d.ERR_METHOD_NOT_IMPLEMENTED,g=d.ERR_MULTIPLE_CALLBACK,y=d.ERR_STREAM_CANNOT_PIPE,b=d.ERR_STREAM_DESTROYED,v=d.ERR_STREAM_NULL_VALUES,w=d.ERR_STREAM_WRITE_AFTER_END,_=d.ERR_UNKNOWN_ENCODING,M=l.errorOrDestroy;function S(){}function k(t,e,o){i=i||r(5382),t=t||{},"boolean"!=typeof o&&(o=e instanceof i),this.objectMode=!!t.objectMode,o&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=c(this,t,"writableHighWaterMark",o),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var a=!1===t.decodeStrings;this.decodeStrings=!a,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var r=t._writableState,i=r.sync,s=r.writecb;if("function"!=typeof s)throw new g;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(r),e)!function(t,e,r,i,s){--e.pendingcb,r?(n.nextTick(s,i),n.nextTick(C,t,e),t._writableState.errorEmitted=!0,M(t,i)):(s(i),t._writableState.errorEmitted=!0,M(t,i),C(t,e))}(t,r,i,e,s);else{var o=T(r)||t.destroyed;o||r.corked||r.bufferProcessing||!r.bufferedRequest||I(t,r),i?n.nextTick(A,t,r,o,s):A(t,r,o,s)}}(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new s(this)}function E(t){var e=this instanceof(i=i||r(5382));if(!e&&!f.call(E,this))return new E(t);this._writableState=new k(t,this,e),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),a.call(this)}function x(t,e,r,i,n,s,o){e.writelen=i,e.writecb=o,e.writing=!0,e.sync=!0,e.destroyed?e.onwrite(new b("write")):r?t._writev(n,e.onwrite):t._write(n,s,e.onwrite),e.sync=!1}function A(t,e,r,i){r||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}(t,e),e.pendingcb--,i(),C(t,e)}function I(t,e){e.bufferProcessing=!0;var r=e.bufferedRequest;if(t._writev&&r&&r.next){var i=e.bufferedRequestCount,n=new Array(i),o=e.corkedRequestsFree;o.entry=r;for(var a=0,h=!0;r;)n[a]=r,r.isBuf||(h=!1),r=r.next,a+=1;n.allBuffers=h,x(t,e,!0,e.length,n,"",o.finish),e.pendingcb++,e.lastBufferedRequest=null,o.next?(e.corkedRequestsFree=o.next,o.next=null):e.corkedRequestsFree=new s(e),e.bufferedRequestCount=0}else{for(;r;){var u=r.chunk,f=r.encoding,l=r.callback;if(x(t,e,!1,e.objectMode?1:u.length,u,f,l),r=r.next,e.bufferedRequestCount--,e.writing)break}null===r&&(e.lastBufferedRequest=null)}e.bufferedRequest=r,e.bufferProcessing=!1}function T(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function P(t,e){t._final((function(r){e.pendingcb--,r&&M(t,r),e.prefinished=!0,t.emit("prefinish"),C(t,e)}))}function C(t,e){var r=T(e);if(r&&(function(t,e){e.prefinished||e.finalCalled||("function"!=typeof t._final||e.destroyed?(e.prefinished=!0,t.emit("prefinish")):(e.pendingcb++,e.finalCalled=!0,n.nextTick(P,t,e)))}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"),e.autoDestroy))){var i=t._readableState;(!i||i.autoDestroy&&i.endEmitted)&&t.destroy()}return r}r(6698)(E,a),k.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(k.prototype,"buffer",{get:o.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(f=Function.prototype[Symbol.hasInstance],Object.defineProperty(E,Symbol.hasInstance,{value:function(t){return!!f.call(this,t)||this===E&&(t&&t._writableState instanceof k)}})):f=function(t){return t instanceof this},E.prototype.pipe=function(){M(this,new y)},E.prototype.write=function(t,e,r){var i,s=this._writableState,o=!1,a=!s.objectMode&&(i=t,h.isBuffer(i)||i instanceof u);return a&&!h.isBuffer(t)&&(t=function(t){return h.from(t)}(t)),"function"==typeof e&&(r=e,e=null),a?e="buffer":e||(e=s.defaultEncoding),"function"!=typeof r&&(r=S),s.ending?function(t,e){var r=new w;M(t,r),n.nextTick(e,r)}(this,r):(a||function(t,e,r,i){var s;return null===r?s=new v:"string"==typeof r||e.objectMode||(s=new p("chunk",["string","Buffer"],r)),!s||(M(t,s),n.nextTick(i,s),!1)}(this,s,t,r))&&(s.pendingcb++,o=function(t,e,r,i,n,s){if(!r){var o=function(t,e,r){t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=h.from(e,r));return e}(e,i,n);i!==o&&(r=!0,n="buffer",i=o)}var a=e.objectMode?1:i.length;e.length+=a;var u=e.length-1))throw new _(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(E.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(E.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),E.prototype._write=function(t,e,r){r(new m("_write()"))},E.prototype._writev=null,E.prototype.end=function(t,e,r){var i=this._writableState;return"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),i.corked&&(i.corked=1,this.uncork()),i.ending||function(t,e,r){e.ending=!0,C(t,e),r&&(e.finished?n.nextTick(r):t.once("finish",r));e.ended=!0,t.writable=!1}(this,i,r),this},Object.defineProperty(E.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(E.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),E.prototype.destroy=l.destroy,E.prototype._undestroy=l.undestroy,E.prototype._destroy=function(t,e){e(t)}},6710:(t,e,r)=>{var i=r(6698),n=r(4107),s=r(392),o=r(2861).Buffer,a=new Array(64);function h(){this.init(),this._w=a,s.call(this,64,56)}i(h,n),h.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},h.prototype._hash=function(){var t=o.allocUnsafe(28);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t},t.exports=h},6729:(t,e,r)=>{var i=e;i.version=r(1636).rE,i.utils=r(7011),i.rand=r(5037),i.curve=r(894),i.curves=r(480),i.ec=r(7447),i.eddsa=r(8650)},6743:(t,e,r)=>{var i=r(9353);t.exports=Function.prototype.bind||i},6784:(t,e,r)=>{var i=r(7426),n=r(6166),s=i.rotl32,o=i.sum32,a=i.sum32_3,h=i.sum32_4,u=n.BlockHash;function f(){if(!(this instanceof f))return new f;u.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function l(t,e,r,i){return t<=15?e^r^i:t<=31?e&r|~e&i:t<=47?(e|~r)^i:t<=63?e&i|r&~i:e^(r|~i)}function c(t){return t<=15?0:t<=31?1518500249:t<=47?1859775393:t<=63?2400959708:2840853838}function d(t){return t<=15?1352829926:t<=31?1548603684:t<=47?1836072691:t<=63?2053994217:0}i.inherits(f,u),e.ripemd160=f,f.blockSize=512,f.outSize=160,f.hmacStrength=192,f.padLength=64,f.prototype._update=function(t,e){for(var r=this.h[0],i=this.h[1],n=this.h[2],u=this.h[3],f=this.h[4],b=r,v=i,w=n,_=u,M=f,S=0;S<80;S++){var k=o(s(h(r,l(S,i,n,u),t[p[S]+e],c(S)),g[S]),f);r=f,f=u,u=s(n,10),n=i,i=k,k=o(s(h(b,l(79-S,v,w,_),t[m[S]+e],d(S)),y[S]),M),b=M,M=_,_=s(w,10),w=v,v=k}k=a(this.h[1],n,_),this.h[1]=a(this.h[2],u,M),this.h[2]=a(this.h[3],f,b),this.h[3]=a(this.h[4],r,v),this.h[4]=a(this.h[0],i,w),this.h[0]=k},f.prototype._digest=function(t){return"hex"===t?i.toHex32(this.h,"little"):i.split32(this.h,"little")};var p=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],m=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],g=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],y=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},6814:(t,e,r)=>{var i=r(8287).Buffer;const{digitCount:n,getType:s}=r(7972);function o(t){if(null==t)return 0;const e=s(t);switch(e){case"buffer":return n(t.length)+1+t.length;case"arraybufferview":return function(t){const e=t.byteLength-t.byteOffset;return n(e)+1+e}(t);case"string":return function(t){const e=i.byteLength(t);return n(e)+1+e}(t);case"array":case"set":return function(t){let e=2;for(const r of t)e+=o(r);return e}(t);case"number":return 1+n(Math.floor(t))+1;case"bigint":return 1+t.toString().length+1;case"object":return function(t){let e=2;const r=Object.keys(t);for(let s=0;s{t.exports=r(8330).version},6843:(t,e,r)=>{var i=r(8287).Buffer,n=r(295);function s(t){return t._prev=t._cipher.encryptBlock(t._prev),t._prev}e.encrypt=function(t,e){for(;t._cache.length{},6975:(t,e,r)=>{var i=r(2861).Buffer;function n(t,e,r){var n=t._cipher.encryptBlock(t._prev)[0]^e;return t._prev=i.concat([t._prev.slice(1),i.from([r?e:n])]),n}e.encrypt=function(t,e,r){for(var s=e.length,o=i.allocUnsafe(s),a=-1;++a{var i=r(717);function n(){throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}var s=r(2861),o=r(3209),a=s.Buffer,h=s.kMaxLength,u=globalThis.crypto||globalThis.msCrypto,f=Math.pow(2,32)-1;function l(t,e){if("number"!=typeof t||t!=t)throw new TypeError("offset must be a number");if(t>f||t<0)throw new TypeError("offset must be a uint32");if(t>h||t>e)throw new RangeError("offset out of range")}function c(t,e,r){if("number"!=typeof t||t!=t)throw new TypeError("size must be a number");if(t>f||t<0)throw new TypeError("size must be a uint32");if(t+e>r||t>h)throw new RangeError("buffer too small")}function d(t,e,r,n){if(i.browser){var s=t.buffer,a=new Uint8Array(s,e,r);return u.getRandomValues(a),n?void i.nextTick((function(){n(null,t)})):t}if(!n)return o(r).copy(t,e),t;o(r,(function(r,i){if(r)return n(r);i.copy(t,e),n(null,t)}))}u&&u.getRandomValues||!i.browser?(e.randomFill=function(t,e,r,i){if(!(a.isBuffer(t)||t instanceof globalThis.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"==typeof e)i=e,e=0,r=t.length;else if("function"==typeof r)i=r,r=t.length-e;else if("function"!=typeof i)throw new TypeError('"cb" argument must be a function');return l(e,t.length),c(r,e,t.length),d(t,e,r,i)},e.randomFillSync=function(t,e,r){void 0===e&&(e=0);if(!(a.isBuffer(t)||t instanceof globalThis.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');l(e,t.length),void 0===r&&(r=t.length-e);return c(r,e,t.length),d(t,e,r)}):(e.randomFill=n,e.randomFillSync=n)},7007:t=>{var e=Object.create||function(t){var e=function(){};return e.prototype=t,new e},r=Object.keys||function(t){var e=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.push(r);return r},i=Function.prototype.bind||function(t){var e=this;return function(){return e.apply(t,arguments)}};function n(){this._events&&Object.prototype.hasOwnProperty.call(this,"_events")||(this._events=e(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0}t.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0;var s,o=10;try{var a={};Object.defineProperty&&Object.defineProperty(a,"x",{value:0}),s=0===a.x}catch(t){s=!1}function h(t){return void 0===t._maxListeners?n.defaultMaxListeners:t._maxListeners}function u(t,r,i,n){var s,o,a;if("function"!=typeof i)throw new TypeError('"listener" argument must be a function');if((o=t._events)?(o.newListener&&(t.emit("newListener",r,i.listener?i.listener:i),o=t._events),a=o[r]):(o=t._events=e(null),t._eventsCount=0),a){if("function"==typeof a?a=o[r]=n?[i,a]:[a,i]:n?a.unshift(i):a.push(i),!a.warned&&(s=h(t))&&s>0&&a.length>s){a.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+a.length+' "'+String(r)+'" listeners added. Use emitter.setMaxListeners() to increase limit.');u.name="MaxListenersExceededWarning",u.emitter=t,u.type=r,u.count=a.length,"object"==typeof console&&console.warn&&console.warn("%s: %s",u.name,u.message)}}else a=o[r]=i,++t._eventsCount;return t}function f(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var t=new Array(arguments.length),e=0;e1&&(e=arguments[1]),e instanceof Error)throw e;var h=new Error('Unhandled "error" event. ('+e+")");throw h.context=e,h}if(!(r=o[t]))return!1;var u="function"==typeof r;switch(i=arguments.length){case 1:!function(t,e,r){if(e)t.call(r);else for(var i=t.length,n=p(t,i),s=0;s=0;o--)if(i[o]===r||i[o].listener===r){a=i[o].listener,s=o;break}if(s<0)return this;0===s?i.shift():function(t,e){for(var r=e,i=r+1,n=t.length;i=0;s--)this.removeListener(t,i[s]);return this},n.prototype.listeners=function(t){return c(this,t,!0)},n.prototype.rawListeners=function(t){return c(this,t,!1)},n.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):d.call(t,e)},n.prototype.listenerCount=d,n.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]}},7011:(t,e,r)=>{var i=e,n=r(8490),s=r(3349),o=r(4367);i.assert=s,i.toArray=o.toArray,i.zero2=o.zero2,i.toHex=o.toHex,i.encode=o.encode,i.getNAF=function(t,e,r){var i,n=new Array(Math.max(t.bitLength(),r)+1);for(i=0;i(s>>1)-1?(s>>1)-h:h,o.isubn(a)):a=0,n[i]=a,o.iushrn(1)}return n},i.getJSF=function(t,e){var r=[[],[]];t=t.clone(),e=e.clone();for(var i,n=0,s=0;t.cmpn(-n)>0||e.cmpn(-s)>0;){var o,a,h=t.andln(3)+n&3,u=e.andln(3)+s&3;3===h&&(h=-1),3===u&&(u=-1),o=1&h?3!==(i=t.andln(7)+n&7)&&5!==i||2!==u?h:-h:0,r[0].push(o),a=1&u?3!==(i=e.andln(7)+s&7)&&5!==i||2!==h?u:-u:0,r[1].push(a),2*n===o+1&&(n=1-n),2*s===a+1&&(s=1-s),t.iushrn(1),e.iushrn(1)}return r},i.cachedProperty=function(t,e,r){var i="_"+e;t.prototype[e]=function(){return void 0!==this[i]?this[i]:this[i]=r.call(this)}},i.parseBytes=function(t){return"string"==typeof t?i.toArray(t,"hex"):t},i.intFromLE=function(t){return new n(t,"hex","le")}},7042:(t,e,r)=>{var i=r(8287).Buffer;function n(t){return i.isBuffer(t)?t:i.from(t.buffer,t.byteOffset,t.byteLength)}t.exports={isBuffer:function(t){return i.isBuffer(t)||t instanceof Uint8Array},isEncoding:function(t){return i.isEncoding(t)},alloc:function(t,e,r){return i.alloc(t,e,r)},allocUnsafe:function(t){return i.allocUnsafe(t)},allocUnsafeSlow:function(t){return i.allocUnsafeSlow(t)},byteLength:function(t,e){return i.byteLength(t,e)},compare:function(t,e){return i.compare(t,e)},concat:function(t,e){return i.concat(t,e)},copy:function(t,e,r,i,s){return n(t).copy(e,r,i,s)},equals:function(t,e){return n(t).equals(e)},fill:function(t,e,r,i,s){return n(t).fill(e,r,i,s)},from:function(t,e,r){return i.from(t,e,r)},includes:function(t,e,r,i){return n(t).includes(e,r,i)},indexOf:function(t,e,r,i){return n(t).indexOf(e,r,i)},lastIndexOf:function(t,e,r,i){return n(t).lastIndexOf(e,r,i)},swap16:function(t){return n(t).swap16()},swap32:function(t){return n(t).swap32()},swap64:function(t){return n(t).swap64()},toBuffer:n,toString:function(t,e,r,i){return n(t).toString(e,r,i)},write:function(t,e,r,i,s){return n(t).write(e,r,i,s)},writeDoubleLE:function(t,e,r){return n(t).writeDoubleLE(e,r)},writeFloatLE:function(t,e,r){return n(t).writeFloatLE(e,r)},writeUInt32LE:function(t,e,r){return n(t).writeUInt32LE(e,r)},writeInt32LE:function(t,e,r){return n(t).writeInt32LE(e,r)},readDoubleLE:function(t,e){return n(t).readDoubleLE(e)},readFloatLE:function(t,e){return n(t).readFloatLE(e)},readUInt32LE:function(t,e){return n(t).readUInt32LE(e)},readInt32LE:function(t,e){return n(t).readInt32LE(e)},writeDoubleBE:function(t,e,r){return n(t).writeDoubleBE(e,r)},writeFloatBE:function(t,e,r){return n(t).writeFloatBE(e,r)},writeUInt32BE:function(t,e,r){return n(t).writeUInt32BE(e,r)},writeInt32BE:function(t,e,r){return n(t).writeInt32BE(e,r)},readDoubleBE:function(t,e){return n(t).readDoubleBE(e)},readFloatBE:function(t,e){return n(t).readFloatBE(e)},readUInt32BE:function(t,e){return n(t).readUInt32BE(e)},readInt32BE:function(t,e){return n(t).readInt32BE(e)}}},7103:function(t,e,r){var i="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||window,n=Function.prototype.apply;function s(t,e){this._id=t,this._clearFn=e}e.setTimeout=function(){return new s(n.call(setTimeout,i,arguments),clearTimeout)},e.setInterval=function(){return new s(n.call(setInterval,i,arguments),clearInterval)},e.clearTimeout=e.clearInterval=function(t){t&&t.close()},s.prototype.unref=s.prototype.ref=function(){},s.prototype.close=function(){this._clearFn.call(i,this._id)},e.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},e.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},e._unrefActive=e.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout((function(){t._onTimeout&&t._onTimeout()}),e))},r(2791),e.setImmediate="undefined"!=typeof self&&self.setImmediate||"undefined"!=typeof globalThis&&globalThis.setImmediate||this&&this.setImmediate,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||"undefined"!=typeof globalThis&&globalThis.clearImmediate||this&&this.clearImmediate},7108:(t,e,r)=>{var i=r(6698),n=r(8276),s=r(6011),o=r(2802),a=r(6168);function h(t){a.call(this,"digest"),this._hash=t}i(h,a),h.prototype._update=function(t){this._hash.update(t)},h.prototype._final=function(){return this._hash.digest()},t.exports=function(t){return"md5"===(t=t.toLowerCase())?new n:"rmd160"===t||"ripemd160"===t?new s:new h(o(t))}},7119:t=>{t.exports="undefined"!=typeof Reflect&&Reflect&&Reflect.apply},7168:(t,e,r)=>{e.publicEncrypt=r(8902),e.privateDecrypt=r(7362),e.privateEncrypt=function(t,r){return e.publicEncrypt(t,r,!0)},e.publicDecrypt=function(t,r){return e.privateDecrypt(t,r,!0)}},7176:(t,e,r)=>{var i,n=r(3126),s=r(5795);try{i=[].__proto__===Array.prototype}catch(t){if(!t||"object"!=typeof t||!("code"in t)||"ERR_PROTO_ACCESS"!==t.code)throw t}var o=!!i&&s&&s(Object.prototype,"__proto__"),a=Object,h=a.getPrototypeOf;t.exports=o&&"function"==typeof o.get?n([o.get]):"function"==typeof h&&function(t){return h(null==t?t:a(t))}},7180:t=>{function e(t){}t.exports=function(t){var r=null,i=null,n=null,s=null;return function(t,r){s=t,o(r||e)};function o(e){if(i)return r||(r=[]),void r.push(e);var n=s;s=null,i=e,t(n,a)}function a(t){var s=i,a=n;if(n=null,i=null,r&&(n=r,r=null,o(e)),a)for(var h=0;h{e.decode=e.parse=r(1630),e.encode=e.stringify=r(9106)},7227:(t,e,r)=>{var i=r(6698),n=r(9673).Reporter,s=r(8287).Buffer;function o(t,e){n.call(this,e),s.isBuffer(t)?(this.base=t,this.offset=0,this.length=t.length):this.error("Input not Buffer")}function a(t,e){if(Array.isArray(t))this.length=0,this.value=t.map((function(t){return t instanceof a||(t=new a(t,e)),this.length+=t.length,t}),this);else if("number"==typeof t){if(!(0<=t&&t<=255))return e.error("non-byte EncoderBuffer value");this.value=t,this.length=1}else if("string"==typeof t)this.value=t,this.length=s.byteLength(t);else{if(!s.isBuffer(t))return e.error("Unsupported type: "+typeof t);this.value=t,this.length=t.length}}i(o,n),e.t=o,o.prototype.save=function(){return{offset:this.offset,reporter:n.prototype.save.call(this)}},o.prototype.restore=function(t){var e=new o(this.base);return e.offset=t.offset,e.length=this.offset,this.offset=t.offset,n.prototype.restore.call(this,t.reporter),e},o.prototype.isEmpty=function(){return this.offset===this.length},o.prototype.readUInt8=function(t){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(t||"DecoderBuffer overrun")},o.prototype.skip=function(t,e){if(!(this.offset+t<=this.length))return this.error(e||"DecoderBuffer overrun");var r=new o(this.base);return r._reporterState=this._reporterState,r.offset=this.offset,r.length=this.offset+t,this.offset+=t,r},o.prototype.raw=function(t){return this.base.slice(t?t.offset:this.offset,this.length)},e.d=a,a.prototype.join=function(t,e){return t||(t=new s(this.length)),e||(e=0),0===this.length||(Array.isArray(this.value)?this.value.forEach((function(r){r.join(t,e),e+=r.length})):("number"==typeof this.value?t[e]=this.value:"string"==typeof this.value?t.write(this.value,e):s.isBuffer(this.value)&&this.value.copy(t,e),e+=this.length)),t}},7266:(t,e,r)=>{var i=r(3549);function n(t){return i.existsSync(t)&&i.statSync(t).isFile()}t.exports=function(t,e){if(!e)return n(t);i.stat(t,(function(t,r){return t?e(t):e(null,r.isFile())}))},t.exports.sync=n},7314:(t,e,r)=>{var i=r(717),n=r(3225);function s(t){var e=this;this.next=null,this.entry=null,this.finish=function(){!function(t,e,r){var i=t.entry;t.entry=null;for(;i;){var n=i.callback;e.pendingcb--,n(r),i=i.next}e.corkedRequestsFree.next=t}(e,t)}}t.exports=y;var o,a=!i.browser&&["v0.10","v0.9."].indexOf(i.version.slice(0,5))>-1?setImmediate:n.nextTick;y.WritableState=g;var h=Object.create(r(5622));h.inherits=r(6698);var u={deprecate:r(4643)},f=r(1862),l=r(4116).Buffer,c=("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){};var d,p=r(6278);function m(){}function g(t,e){o=o||r(6248),t=t||{};var i=e instanceof o;this.objectMode=!!t.objectMode,i&&(this.objectMode=this.objectMode||!!t.writableObjectMode);var h=t.highWaterMark,u=t.writableHighWaterMark,f=this.objectMode?16:16384;this.highWaterMark=h||0===h?h:i&&(u||0===u)?u:f,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var l=!1===t.decodeStrings;this.decodeStrings=!l,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var r=t._writableState,i=r.sync,s=r.writecb;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(r),e)!function(t,e,r,i,s){--e.pendingcb,r?(n.nextTick(s,i),n.nextTick(S,t,e),t._writableState.errorEmitted=!0,t.emit("error",i)):(s(i),t._writableState.errorEmitted=!0,t.emit("error",i),S(t,e))}(t,r,i,e,s);else{var o=_(r);o||r.corked||r.bufferProcessing||!r.bufferedRequest||w(t,r),i?a(v,t,r,o,s):v(t,r,o,s)}}(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new s(this)}function y(t){if(o=o||r(6248),!(d.call(y,this)||this instanceof o))return new y(t);this._writableState=new g(t,this),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),f.call(this)}function b(t,e,r,i,n,s,o){e.writelen=i,e.writecb=o,e.writing=!0,e.sync=!0,r?t._writev(n,e.onwrite):t._write(n,s,e.onwrite),e.sync=!1}function v(t,e,r,i){r||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}(t,e),e.pendingcb--,i(),S(t,e)}function w(t,e){e.bufferProcessing=!0;var r=e.bufferedRequest;if(t._writev&&r&&r.next){var i=e.bufferedRequestCount,n=new Array(i),o=e.corkedRequestsFree;o.entry=r;for(var a=0,h=!0;r;)n[a]=r,r.isBuf||(h=!1),r=r.next,a+=1;n.allBuffers=h,b(t,e,!0,e.length,n,"",o.finish),e.pendingcb++,e.lastBufferedRequest=null,o.next?(e.corkedRequestsFree=o.next,o.next=null):e.corkedRequestsFree=new s(e),e.bufferedRequestCount=0}else{for(;r;){var u=r.chunk,f=r.encoding,l=r.callback;if(b(t,e,!1,e.objectMode?1:u.length,u,f,l),r=r.next,e.bufferedRequestCount--,e.writing)break}null===r&&(e.lastBufferedRequest=null)}e.bufferedRequest=r,e.bufferProcessing=!1}function _(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function M(t,e){t._final((function(r){e.pendingcb--,r&&t.emit("error",r),e.prefinished=!0,t.emit("prefinish"),S(t,e)}))}function S(t,e){var r=_(e);return r&&(!function(t,e){e.prefinished||e.finalCalled||("function"==typeof t._final?(e.pendingcb++,e.finalCalled=!0,n.nextTick(M,t,e)):(e.prefinished=!0,t.emit("prefinish")))}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"))),r}h.inherits(y,f),g.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(g.prototype,"buffer",{get:u.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(d=Function.prototype[Symbol.hasInstance],Object.defineProperty(y,Symbol.hasInstance,{value:function(t){return!!d.call(this,t)||this===y&&(t&&t._writableState instanceof g)}})):d=function(t){return t instanceof this},y.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},y.prototype.write=function(t,e,r){var i,s=this._writableState,o=!1,a=!s.objectMode&&(i=t,l.isBuffer(i)||i instanceof c);return a&&!l.isBuffer(t)&&(t=function(t){return l.from(t)}(t)),"function"==typeof e&&(r=e,e=null),a?e="buffer":e||(e=s.defaultEncoding),"function"!=typeof r&&(r=m),s.ended?function(t,e){var r=new Error("write after end");t.emit("error",r),n.nextTick(e,r)}(this,r):(a||function(t,e,r,i){var s=!0,o=!1;return null===r?o=new TypeError("May not write null values to stream"):"string"==typeof r||void 0===r||e.objectMode||(o=new TypeError("Invalid non-string/buffer chunk")),o&&(t.emit("error",o),n.nextTick(i,o),s=!1),s}(this,s,t,r))&&(s.pendingcb++,o=function(t,e,r,i,n,s){if(!r){var o=function(t,e,r){t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=l.from(e,r));return e}(e,i,n);i!==o&&(r=!0,n="buffer",i=o)}var a=e.objectMode?1:i.length;e.length+=a;var h=e.length-1))throw new TypeError("Unknown encoding: "+t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(y.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),y.prototype._write=function(t,e,r){r(new Error("_write() is not implemented"))},y.prototype._writev=null,y.prototype.end=function(t,e,r){var i=this._writableState;"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),i.corked&&(i.corked=1,this.uncork()),i.ending||function(t,e,r){e.ending=!0,S(t,e),r&&(e.finished?n.nextTick(r):t.once("finish",r));e.ended=!0,t.writable=!1}(this,i,r)},Object.defineProperty(y.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),y.prototype.destroy=p.destroy,y.prototype._undestroy=p.undestroy,y.prototype._destroy=function(t,e){this.end(),e(t)}},7332:(t,e,r)=>{var i=r(9404),n=r(3209),s=r(2861).Buffer;function o(t){var e,r=t.modulus.byteLength();do{e=new i(n(r))}while(e.cmp(t.modulus)>=0||!e.umod(t.prime1)||!e.umod(t.prime2));return e}function a(t,e){var r=function(t){var e=o(t);return{blinder:e.toRed(i.mont(t.modulus)).redPow(new i(t.publicExponent)).fromRed(),unblinder:e.invm(t.modulus)}}(e),n=e.modulus.byteLength(),a=new i(t).mul(r.blinder).umod(e.modulus),h=a.toRed(i.mont(e.prime1)),u=a.toRed(i.mont(e.prime2)),f=e.coefficient,l=e.prime1,c=e.prime2,d=h.redPow(e.exponent1).fromRed(),p=u.redPow(e.exponent2).fromRed(),m=d.isub(p).imul(f).umod(l).imul(c);return p.iadd(m).imul(r.unblinder).umod(e.modulus).toArrayLike(s,"be",n)}a.getr=o,t.exports=a},7362:(t,e,r)=>{var i=r(8170),n=r(8206),s=r(2061),o=r(2509),a=r(7332),h=r(7108),u=r(9247),f=r(2861).Buffer;t.exports=function(t,e,r){var l;l=t.padding?t.padding:r?1:4;var c,d=i(t),p=d.modulus.byteLength();if(e.length>p||new o(e).cmp(d.modulus)>=0)throw new Error("decryption error");c=r?u(new o(e),d):a(e,d);var m=f.alloc(p-c.length);if(c=f.concat([m,c],p),4===l)return function(t,e){var r=t.modulus.byteLength(),i=h("sha1").update(f.alloc(0)).digest(),o=i.length;if(0!==e[0])throw new Error("decryption error");var a=e.slice(1,o+1),u=e.slice(o+1),l=s(a,n(u,o)),c=s(u,n(l,r-o-1));if(function(t,e){t=f.from(t),e=f.from(e);var r=0,i=t.length;t.length!==e.length&&(r++,i=Math.min(t.length,e.length));var n=-1;for(;++n=e.length){s++;break}var o=e.slice(2,n-1);("0002"!==i.toString("hex")&&!r||"0001"!==i.toString("hex")&&r)&&s++;o.length<8&&s++;if(s)throw new Error("decryption error");return e.slice(n)}(0,c,r);if(3===l)return c;throw new Error("unknown padding")}},7363:(t,e,r)=>{var i=r(7568),n=r(6698);function s(t,e){this.name=t,this.body=e,this.decoders={},this.encoders={}}e.define=function(t,e){return new s(t,e)},s.prototype._createNamed=function(t){var e;try{e=Object(function(){var t=new Error("Cannot find module 'vm'");throw t.code="MODULE_NOT_FOUND",t}())("(function "+this.name+"(entity) {\n this._initNamed(entity);\n})")}catch(t){e=function(t){this._initNamed(t)}}return n(e,t),e.prototype._initNamed=function(e){t.call(this,e)},new e(this)},s.prototype._getDecoder=function(t){return t=t||"der",this.decoders.hasOwnProperty(t)||(this.decoders[t]=this._createNamed(i.decoders[t])),this.decoders[t]},s.prototype.decode=function(t,e,r){return this._getDecoder(e).decode(t,r)},s.prototype._getEncoder=function(t){return t=t||"der",this.encoders.hasOwnProperty(t)||(this.encoders[t]=this._createNamed(i.encoders[t])),this.encoders[t]},s.prototype.encode=function(t,e,r){return this._getEncoder(e).encode(t,r)}},7373:t=>{t.exports=function(t){var e=0;return function(){if(e===t.length)return null;var r=t.length-e,i=Math.random()*r|0,n=t[e+i],s=t[e];return t[e]=n,t[e+i]=s,e++,n}}},7426:(t,e,r)=>{var i=r(3349),n=r(6698);function s(t,e){return 55296==(64512&t.charCodeAt(e))&&(!(e<0||e+1>=t.length)&&56320==(64512&t.charCodeAt(e+1)))}function o(t){return(t>>>24|t>>>8&65280|t<<8&16711680|(255&t)<<24)>>>0}function a(t){return 1===t.length?"0"+t:t}function h(t){return 7===t.length?"0"+t:6===t.length?"00"+t:5===t.length?"000"+t:4===t.length?"0000"+t:3===t.length?"00000"+t:2===t.length?"000000"+t:1===t.length?"0000000"+t:t}e.inherits=n,e.toArray=function(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if("string"==typeof t)if(e){if("hex"===e)for((t=t.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(t="0"+t),n=0;n>6|192,r[i++]=63&o|128):s(t,n)?(o=65536+((1023&o)<<10)+(1023&t.charCodeAt(++n)),r[i++]=o>>18|240,r[i++]=o>>12&63|128,r[i++]=o>>6&63|128,r[i++]=63&o|128):(r[i++]=o>>12|224,r[i++]=o>>6&63|128,r[i++]=63&o|128)}else for(n=0;n>>0}return o},e.split32=function(t,e){for(var r=new Array(4*t.length),i=0,n=0;i>>24,r[n+1]=s>>>16&255,r[n+2]=s>>>8&255,r[n+3]=255&s):(r[n+3]=s>>>24,r[n+2]=s>>>16&255,r[n+1]=s>>>8&255,r[n]=255&s)}return r},e.rotr32=function(t,e){return t>>>e|t<<32-e},e.rotl32=function(t,e){return t<>>32-e},e.sum32=function(t,e){return t+e>>>0},e.sum32_3=function(t,e,r){return t+e+r>>>0},e.sum32_4=function(t,e,r,i){return t+e+r+i>>>0},e.sum32_5=function(t,e,r,i,n){return t+e+r+i+n>>>0},e.sum64=function(t,e,r,i){var n=t[e],s=i+t[e+1]>>>0,o=(s>>0,t[e+1]=s},e.sum64_hi=function(t,e,r,i){return(e+i>>>0>>0},e.sum64_lo=function(t,e,r,i){return e+i>>>0},e.sum64_4_hi=function(t,e,r,i,n,s,o,a){var h=0,u=e;return h+=(u=u+i>>>0)>>0)>>0)>>0},e.sum64_4_lo=function(t,e,r,i,n,s,o,a){return e+i+s+a>>>0},e.sum64_5_hi=function(t,e,r,i,n,s,o,a,h,u){var f=0,l=e;return f+=(l=l+i>>>0)>>0)>>0)>>0)>>0},e.sum64_5_lo=function(t,e,r,i,n,s,o,a,h,u){return e+i+s+a+u>>>0},e.rotr64_hi=function(t,e,r){return(e<<32-r|t>>>r)>>>0},e.rotr64_lo=function(t,e,r){return(t<<32-r|e>>>r)>>>0},e.shr64_hi=function(t,e,r){return t>>>r},e.shr64_lo=function(t,e,r){return(t<<32-r|e>>>r)>>>0}},7447:(t,e,r)=>{var i=r(8490),n=r(2723),s=r(7011),o=r(480),a=r(5037),h=s.assert,u=r(1200),f=r(8545);function l(t){if(!(this instanceof l))return new l(t);"string"==typeof t&&(h(Object.prototype.hasOwnProperty.call(o,t),"Unknown curve "+t),t=o[t]),t instanceof o.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}t.exports=l,l.prototype.keyPair=function(t){return new u(this,t)},l.prototype.keyFromPrivate=function(t,e){return u.fromPrivate(this,t,e)},l.prototype.keyFromPublic=function(t,e){return u.fromPublic(this,t,e)},l.prototype.genKeyPair=function(t){t||(t={});for(var e=new n({hash:this.hash,pers:t.pers,persEnc:t.persEnc||"utf8",entropy:t.entropy||a(this.hash.hmacStrength),entropyEnc:t.entropy&&t.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),s=this.n.sub(new i(2));;){var o=new i(e.generate(r));if(!(o.cmp(s)>0))return o.iaddn(1),this.keyFromPrivate(o)}},l.prototype._truncateToN=function(t,e,r){var n;if(i.isBN(t)||"number"==typeof t)n=(t=new i(t,16)).byteLength();else if("object"==typeof t)n=t.length,t=new i(t,16);else{var s=t.toString();n=s.length+1>>>1,t=new i(s,16)}"number"!=typeof r&&(r=8*n);var o=r-this.n.bitLength();return o>0&&(t=t.ushrn(o)),!e&&t.cmp(this.n)>=0?t.sub(this.n):t},l.prototype.sign=function(t,e,r,s){if("object"==typeof r&&(s=r,r=null),s||(s={}),"string"!=typeof t&&"number"!=typeof t&&!i.isBN(t)){h("object"==typeof t&&t&&"number"==typeof t.length,"Expected message to be an array-like, a hex string, or a BN instance"),h(t.length>>>0===t.length);for(var o=0;o=0)){var g=this.g.mul(m);if(!g.isInfinity()){var y=g.getX(),b=y.umod(this.n);if(0!==b.cmpn(0)){var v=m.invm(this.n).mul(b.mul(e.getPrivate()).iadd(t));if(0!==(v=v.umod(this.n)).cmpn(0)){var w=(g.getY().isOdd()?1:0)|(0!==y.cmp(b)?2:0);return s.canonical&&v.cmp(this.nh)>0&&(v=this.n.sub(v),w^=1),new f({r:b,s:v,recoveryParam:w})}}}}}},l.prototype.verify=function(t,e,r,i,n){n||(n={}),t=this._truncateToN(t,!1,n.msgBitLength),r=this.keyFromPublic(r,i);var s=(e=new f(e,"hex")).r,o=e.s;if(s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;var a,h=o.invm(this.n),u=h.mul(t).umod(this.n),l=h.mul(s).umod(this.n);return this.curve._maxwellTrick?!(a=this.g.jmulAdd(u,r.getPublic(),l)).isInfinity()&&a.eqXToP(s):!(a=this.g.mulAdd(u,r.getPublic(),l)).isInfinity()&&0===a.getX().umod(this.n).cmp(s)},l.prototype.recoverPubKey=function(t,e,r,n){h((3&r)===r,"The recovery param is more than two bits"),e=new f(e,n);var s=this.n,o=new i(t),a=e.r,u=e.s,l=1&r,c=r>>1;if(a.cmp(this.curve.p.umod(this.curve.n))>=0&&c)throw new Error("Unable to find sencond key candinate");a=c?this.curve.pointFromX(a.add(this.curve.n),l):this.curve.pointFromX(a,l);var d=e.r.invm(s),p=s.sub(o).mul(d).umod(s),m=u.mul(d).umod(s);return this.g.mulAdd(p,a,m)},l.prototype.getKeyRecoveryParam=function(t,e,r,i){if(null!==(e=new f(e,i)).recoveryParam)return e.recoveryParam;for(var n=0;n<4;n++){var s;try{s=this.recoverPubKey(t,e,n)}catch(t){continue}if(s.eq(r))return n}throw new Error("Unable to find valid recovery factor")}},7526:(t,e)=>{e.byteLength=function(t){var e=a(t),r=e[0],i=e[1];return 3*(r+i)/4-i},e.toByteArray=function(t){var e,r,s=a(t),o=s[0],h=s[1],u=new n(function(t,e,r){return 3*(e+r)/4-r}(0,o,h)),f=0,l=h>0?o-4:o;for(r=0;r>16&255,u[f++]=e>>8&255,u[f++]=255&e;2===h&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,u[f++]=255&e);1===h&&(e=i[t.charCodeAt(r)]<<10|i[t.charCodeAt(r+1)]<<4|i[t.charCodeAt(r+2)]>>2,u[f++]=e>>8&255,u[f++]=255&e);return u},e.fromByteArray=function(t){for(var e,i=t.length,n=i%3,s=[],o=16383,a=0,u=i-n;au?u:a+o));1===n?(e=t[i-1],s.push(r[e>>2]+r[e<<4&63]+"==")):2===n&&(e=(t[i-2]<<8)+t[i-1],s.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"="));return s.join("")};for(var r=[],i=[],n="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)r[o]=s[o],i[s.charCodeAt(o)]=o;function a(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function h(t,e,i){for(var n,s,o=[],a=e;a>18&63]+r[s>>12&63]+r[s>>6&63]+r[63&s]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},7541:(t,e,r)=>{const i=r(8765),n=r(8499);t.exports={Throttle:i,ThrottleGroup:n}},7558:(t,e,r)=>{var i=r(8287).Buffer,n=r(7861),s=r(8394),o=r(8957).isIP,a=r(5221),h=r(537),u=r(7007),f=new Error("Query timed out");f.code="ETIMEDOUT";var l=new Error("Unexpected node id");function c(t){if(!(this instanceof c))return new c(t);t||(t={});var e=this;this.timeout=t.timeout||2e3,this.inflight=0,this.destroyed=!1,this.isIP=t.isIP||o,this.socket=t.socket||n.createSocket("udp4"),this.socket.on("message",(function(t,r){if(e.destroyed)return;if(!r.port)return;try{var n=s.decode(t)}catch(t){return e.emit("warning",t)}var o=n&&n.y&&n.y.toString();if("r"===o||"e"===o){if(!i.isBuffer(n.t))return;try{var a=n.t.readUInt16BE(0)}catch(c){return e.emit("warning",c)}var h=e._ids.indexOf(a);if(-1===h||0===a)return e.emit("response",n,r),void e.emit("warning",new Error("Unexpected transaction id: "+a));var u=e._reqs[h];if(u.peer.host!==r.address)return e.emit("response",n,r),void e.emit("warning",new Error("Out of order response"));if(e._ids[h]=0,e._reqs[h]=null,e.inflight--,"e"===o){var f=Array.isArray(n.e),c=new Error(f?n.e.join(" "):"Unknown error");return c.code=f&&n.e.length&&"number"==typeof n.e[0]?n.e[0]:0,u.callback(c,n,r,u.message),e.emit("update"),void e.emit("postupdate")}var d=n.r&&n.r.id;if(u.peer&&u.peer.id&&d&&!u.peer.id.equals(d))return u.callback(l,null,r),e.emit("update"),void e.emit("postupdate");u.callback(null,n,r,u.message),e.emit("update"),e.emit("postupdate"),e.emit("response",n,r)}else"q"===o?e.emit("query",n,r):e.emit("warning",new Error("Unknown type: "+o))})),this.socket.on("error",(function(t){"EACCES"===t.code||"EADDRINUSE"===t.code?e.emit("error",t):e.emit("warning",t)})),this.socket.on("listening",(function(){e.emit("listening")})),this._tick=0,this._ids=[],this._reqs=[],this._timer=setInterval((function(){var t=e.inflight;if(!t)return;for(var r=0;r-1&&this._cancel(r,e)},c.prototype._cancel=function(t,e){var r=this._reqs[t];this._ids[t]=0,this._reqs[t]=null,r&&(this.inflight--,r.callback(e||new Error("Query was cancelled"),null,r.peer),this.emit("update"),this.emit("postupdate"))},c.prototype._resolveAndQuery=function(t,e,r){var i=this;a.lookup(t.host,(function(n,s){return n?r(n):i.destroyed?r(new Error("k-rpc-socket is destroyed")):void i.query({host:s,port:t.port},e,r)}))}},7568:(t,e,r)=>{var i=e;i.bignum=r(2344),i.define=r(7363).define,i.base=r(9673),i.constants=r(2153),i.decoders=r(2853),i.encoders=r(4669)},7626:(t,e)=>{e.readUInt32BE=function(t,e){return(t[0+e]<<24|t[1+e]<<16|t[2+e]<<8|t[3+e])>>>0},e.writeUInt32BE=function(t,e,r){t[0+r]=e>>>24,t[1+r]=e>>>16&255,t[2+r]=e>>>8&255,t[3+r]=255&e},e.ip=function(t,e,r,i){for(var n=0,s=0,o=6;o>=0;o-=2){for(var a=0;a<=24;a+=8)n<<=1,n|=e>>>a+o&1;for(a=0;a<=24;a+=8)n<<=1,n|=t>>>a+o&1}for(o=6;o>=0;o-=2){for(a=1;a<=25;a+=8)s<<=1,s|=e>>>a+o&1;for(a=1;a<=25;a+=8)s<<=1,s|=t>>>a+o&1}r[i+0]=n>>>0,r[i+1]=s>>>0},e.rip=function(t,e,r,i){for(var n=0,s=0,o=0;o<4;o++)for(var a=24;a>=0;a-=8)n<<=1,n|=e>>>a+o&1,n<<=1,n|=t>>>a+o&1;for(o=4;o<8;o++)for(a=24;a>=0;a-=8)s<<=1,s|=e>>>a+o&1,s<<=1,s|=t>>>a+o&1;r[i+0]=n>>>0,r[i+1]=s>>>0},e.pc1=function(t,e,r,i){for(var n=0,s=0,o=7;o>=5;o--){for(var a=0;a<=24;a+=8)n<<=1,n|=e>>a+o&1;for(a=0;a<=24;a+=8)n<<=1,n|=t>>a+o&1}for(a=0;a<=24;a+=8)n<<=1,n|=e>>a+o&1;for(o=1;o<=3;o++){for(a=0;a<=24;a+=8)s<<=1,s|=e>>a+o&1;for(a=0;a<=24;a+=8)s<<=1,s|=t>>a+o&1}for(a=0;a<=24;a+=8)s<<=1,s|=t>>a+o&1;r[i+0]=n>>>0,r[i+1]=s>>>0},e.r28shl=function(t,e){return t<>>28-e};var r=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];e.pc2=function(t,e,i,n){for(var s=0,o=0,a=r.length>>>1,h=0;h>>r[h]&1;for(h=a;h>>r[h]&1;i[n+0]=s>>>0,i[n+1]=o>>>0},e.expand=function(t,e,r){var i=0,n=0;i=(1&t)<<5|t>>>27;for(var s=23;s>=15;s-=4)i<<=6,i|=t>>>s&63;for(s=11;s>=3;s-=4)n|=t>>>s&63,n<<=6;n|=(31&t)<<1|t>>>31,e[r+0]=i>>>0,e[r+1]=n>>>0};var i=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];e.substitute=function(t,e){for(var r=0,n=0;n<4;n++){r<<=4,r|=i[64*n+(t>>>18-6*n&63)]}for(n=0;n<4;n++){r<<=4,r|=i[256+64*n+(e>>>18-6*n&63)]}return r>>>0};var n=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];e.permute=function(t){for(var e=0,r=0;r>>n[r]&1;return e>>>0},e.padSplit=function(t,e,r){for(var i=t.toString(2);i.length{var i=r(7426),n=r(2287);function s(){if(!(this instanceof s))return new s;n.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}i.inherits(s,n),t.exports=s,s.blockSize=512,s.outSize=224,s.hmacStrength=192,s.padLength=64,s.prototype._digest=function(t){return"hex"===t?i.toHex32(this.h.slice(0,7),"big"):i.split32(this.h.slice(0,7),"big")}},7720:(t,e,r)=>{var i=r(4765),n=Object.prototype.hasOwnProperty,s=Array.isArray,o=function(){for(var t=[],e=0;e<256;++e)t.push("%"+((e<16?"0":"")+e.toString(16)).toUpperCase());return t}(),a=function(t,e){for(var r=e&&e.plainObjects?Object.create(null):{},i=0;i1;){var e=t.pop(),r=e.obj[e.prop];if(s(r)){for(var i=[],n=0;n=h?a.slice(f,f+h):a,c=[],d=0;d=48&&p<=57||p>=65&&p<=90||p>=97&&p<=122||s===i.RFC1738&&(40===p||41===p)?c[c.length]=l.charAt(d):p<128?c[c.length]=o[p]:p<2048?c[c.length]=o[192|p>>6]+o[128|63&p]:p<55296||p>=57344?c[c.length]=o[224|p>>12]+o[128|p>>6&63]+o[128|63&p]:(d+=1,p=65536+((1023&p)<<10|1023&l.charCodeAt(d)),c[c.length]=o[240|p>>18]+o[128|p>>12&63]+o[128|p>>6&63]+o[128|63&p])}u+=c.join("")}return u},isBuffer:function(t){return!(!t||"object"!=typeof t)&&!!(t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer(t))},isRegExp:function(t){return"[object RegExp]"===Object.prototype.toString.call(t)},maybeMap:function(t,e){if(s(t)){for(var r=[],i=0;i{var i;var n=r(113).F,s=n.ERR_MISSING_ARGS,o=n.ERR_STREAM_DESTROYED;function a(t){if(t)throw t}function h(t){t()}function u(t,e){return t.pipe(e)}t.exports=function(){for(var t=arguments.length,e=new Array(t),n=0;n0,(function(t){f||(f=t),t&&c.forEach(h),s||(c.forEach(h),l(f))}))}));return e.reduce(u)}},7766:(t,e,r)=>{var i=r(7426),n=r(6166),s=r(3349),o=i.rotr64_hi,a=i.rotr64_lo,h=i.shr64_hi,u=i.shr64_lo,f=i.sum64,l=i.sum64_hi,c=i.sum64_lo,d=i.sum64_4_hi,p=i.sum64_4_lo,m=i.sum64_5_hi,g=i.sum64_5_lo,y=n.BlockHash,b=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function v(){if(!(this instanceof v))return new v;y.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=b,this.W=new Array(160)}function w(t,e,r,i,n){var s=t&r^~t&n;return s<0&&(s+=4294967296),s}function _(t,e,r,i,n,s){var o=e&i^~e&s;return o<0&&(o+=4294967296),o}function M(t,e,r,i,n){var s=t&r^t&n^r&n;return s<0&&(s+=4294967296),s}function S(t,e,r,i,n,s){var o=e&i^e&s^i&s;return o<0&&(o+=4294967296),o}function k(t,e){var r=o(t,e,28)^o(e,t,2)^o(e,t,7);return r<0&&(r+=4294967296),r}function E(t,e){var r=a(t,e,28)^a(e,t,2)^a(e,t,7);return r<0&&(r+=4294967296),r}function x(t,e){var r=o(t,e,14)^o(t,e,18)^o(e,t,9);return r<0&&(r+=4294967296),r}function A(t,e){var r=a(t,e,14)^a(t,e,18)^a(e,t,9);return r<0&&(r+=4294967296),r}function I(t,e){var r=o(t,e,1)^o(t,e,8)^h(t,e,7);return r<0&&(r+=4294967296),r}function T(t,e){var r=a(t,e,1)^a(t,e,8)^u(t,e,7);return r<0&&(r+=4294967296),r}function P(t,e){var r=o(t,e,19)^o(e,t,29)^h(t,e,6);return r<0&&(r+=4294967296),r}function C(t,e){var r=a(t,e,19)^a(e,t,29)^u(t,e,6);return r<0&&(r+=4294967296),r}i.inherits(v,y),t.exports=v,v.blockSize=1024,v.outSize=512,v.hmacStrength=192,v.padLength=128,v.prototype._prepareBlock=function(t,e){for(var r=this.W,i=0;i<32;i++)r[i]=t[e+i];for(;i{var i=r(6698),n=r(392),s=r(2861).Buffer,o=[1518500249,1859775393,-1894007588,-899497514],a=new Array(80);function h(){this.init(),this._w=a,n.call(this,64,56)}function u(t){return t<<30|t>>>2}function f(t,e,r,i){return 0===t?e&r|~e&i:2===t?e&r|e&i|r&i:e^r^i}i(h,n),h.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},h.prototype._update=function(t){for(var e,r=this._w,i=0|this._a,n=0|this._b,s=0|this._c,a=0|this._d,h=0|this._e,l=0;l<16;++l)r[l]=t.readInt32BE(4*l);for(;l<80;++l)r[l]=r[l-3]^r[l-8]^r[l-14]^r[l-16];for(var c=0;c<80;++c){var d=~~(c/20),p=0|((e=i)<<5|e>>>27)+f(d,n,s,a)+h+r[c]+o[d];h=a,a=s,s=u(n),n=i,i=p}this._a=i+this._a|0,this._b=n+this._b|0,this._c=s+this._c|0,this._d=a+this._d|0,this._e=h+this._e|0},h.prototype._hash=function(){var t=s.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},t.exports=h},7833:(t,e,r)=>{var i=r(717);e.formatArgs=function(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+t.exports.humanize(this.diff),!this.useColors)return;const r="color: "+this.color;e.splice(1,0,r,"color: inherit");let i=0,n=0;e[0].replace(/%[a-zA-Z%]/g,(t=>{"%%"!==t&&(i++,"%c"===t&&(n=i))})),e.splice(n,0,r)},e.save=function(t){try{t?e.storage.setItem("debug",t):e.storage.removeItem("debug")}catch(t){}},e.load=function(){let t;try{t=e.storage.getItem("debug")}catch(t){}!t&&void 0!==i&&"env"in i&&(t=i.env.DEBUG);return t},e.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let t;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&(t=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(t[1],10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},e.storage=function(){try{return localStorage}catch(t){}}(),e.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),e.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],e.log=console.debug||console.log||(()=>{}),t.exports=r(736)(e);const{formatters:n}=t.exports;n.j=function(t){try{return JSON.stringify(t)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}},7861:(t,e,r)=>{var i=r(8287).Buffer;e.Socket=u;var n=r(7007).EventEmitter,s=r(6698),o=r(1672),a=0,h={};function u(t,e){var r=this;if(n.call(r),"string"==typeof t&&(t={type:t}),"udp4"!==t.type)throw new Error("Bad socket type specified. Valid types are: udp4");"function"==typeof e&&r.on("message",e),r._destroyed=!1,r._bindState=a,r._bindTasks=[]}"object"==typeof chrome&&"object"==typeof chrome.runtime&&"string"==typeof chrome.runtime.id&&"object"==typeof chrome.sockets&&"object"==typeof chrome.sockets.udp&&(chrome.sockets.udp.onReceive.addListener((function(t){t.socketId in h?h[t.socketId]._onReceive(t):console.error("Unknown socket id: "+t.socketId)})),chrome.sockets.udp.onReceiveError.addListener((function(t){t.socketId in h?h[t.socketId]._onReceiveError(t.resultCode):console.error("Unknown socket id: "+t.socketId)}))),e.createSocket=function(t,e){return new u(t,e)},s(u,n),u.prototype.bind=function(t,e,r){var i=this;if("function"==typeof e&&(r=e,e=void 0),e||(e="0.0.0.0"),t||(t=0),i._bindState!==a)throw new Error("Socket is already bound");i._bindState=1,"function"==typeof r&&i.once("listening",r),chrome.sockets.udp.create((function(r){i.id=r.socketId,h[i.id]=i;var n=i._bindTasks.map((function(t){return t.fn}));o(n,(function(r){if(r)return i.emit("error",r);chrome.sockets.udp.bind(i.id,e,t,(function(t){t<0?i.emit("error",new Error("Socket "+i.id+" failed to bind. "+chrome.runtime.lastError.message)):chrome.sockets.udp.getInfo(i.id,(function(t){t.localPort&&t.localAddress?(i._port=t.localPort,i._address=t.localAddress,i._bindState=2,i.emit("listening"),i._bindTasks.map((function(t){t.callback()}))):i.emit("error",new Error("Cannot get local port/address for Socket "+i.id))}))}))}))}))},u.prototype._onReceive=function(t){var e=i.from(new Uint8Array(t.data)),r={address:t.remoteAddress,family:"IPv4",port:t.remotePort,size:e.length};this.emit("message",e,r)},u.prototype._onReceiveError=function(t){this.emit("error",new Error("Socket "+this.id+" receive error "+t))},u.prototype.send=function(t,e,r,n,s,o){var h,u=this;if(s||n&&"function"!=typeof n?t=function(t,e,r){if("string"==typeof t)t=i.from(t);else if(!(t instanceof i))throw new TypeError("First argument must be a buffer or string");e>>>=0,r>>>=0;var n=t.buffer;(t.byteOffset||t.byteLength!==n.byteLength)&&(n=n.slice(t.byteOffset,t.byteOffset+t.byteLength));(e||r!==t.length)&&(n=n.slice(e,r));return i.from(n)}(t,e,r):(o=n,n=e,s=r),Array.isArray(t)){if(!(h=function(t){for(var e=new Array(t.length),r=0,n=t.length;r>>=0)||n>65535)throw new RangeError("Port should be > 0 and < 65536");if("function"!=typeof o&&(o=function(){}),u._bindState===a&&u.bind(0),2!==u._bindState)return u._sendQueue||(u._sendQueue=[],u.once("listening",(function(){for(var t=0;t{},7952:(t,e,r)=>{var i=e;i.utils=r(7426),i.common=r(6166),i.sha=r(6229),i.ripemd=r(6784),i.hmac=r(8948),i.sha1=i.sha.sha1,i.sha256=i.sha.sha256,i.sha224=i.sha.sha224,i.sha384=i.sha.sha384,i.sha512=i.sha.sha512,i.ripemd160=i.ripemd.ripemd160},7972:(t,e,r)=>{var i=r(8287).Buffer;const n=t.exports;n.digitCount=function(t){const e=t<0?1:0;return t=Math.abs(Number(t||1)),Math.floor(Math.log10(t))+1+e},n.getType=function(t){return i.isBuffer(t)?"buffer":ArrayBuffer.isView(t)?"arraybufferview":Array.isArray(t)?"array":t instanceof Number?"number":t instanceof Boolean?"boolean":t instanceof Set?"set":t instanceof Map?"map":t instanceof String?"string":t instanceof ArrayBuffer?"arraybuffer":typeof t}},8002:t=>{t.exports=Math.min},8068:t=>{t.exports=SyntaxError},8078:(t,e,r)=>{var i=r(2861).Buffer,n=r(8276);t.exports=function(t,e,r,s){if(i.isBuffer(t)||(t=i.from(t,"binary")),e&&(i.isBuffer(e)||(e=i.from(e,"binary")),8!==e.length))throw new RangeError("salt should be Buffer with 8 byte length");for(var o=r/8,a=i.alloc(o),h=i.alloc(s||0),u=i.alloc(0);o>0||s>0;){var f=new n;f.update(u),f.update(t),e&&f.update(e),u=f.digest();var l=0;if(o>0){var c=a.length-o;l=Math.min(o,u.length),u.copy(a,c,0,l),o-=l}if(l0){var d=h.length-s,p=Math.min(s,u.length-l);u.copy(h,d,l,l+p),s-=p}}return u.fill(0),{key:a,iv:h}}},8093:(t,e,r)=>{t.exports=r(537).inspect},8170:(t,e,r)=>{var i=r(1137),n=r(5579),s=r(4101),o=r(1241),a=r(5488),h=r(2861).Buffer;function u(t){var e;"object"!=typeof t||h.isBuffer(t)||(e=t.passphrase,t=t.key),"string"==typeof t&&(t=h.from(t));var r,u,f=s(t,e),l=f.tag,c=f.data;switch(l){case"CERTIFICATE":u=i.certificate.decode(c,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(u||(u=i.PublicKey.decode(c,"der")),r=u.algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return i.RSAPublicKey.decode(u.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return u.subjectPrivateKey=u.subjectPublicKey,{type:"ec",data:u};case"1.2.840.10040.4.1":return u.algorithm.params.pub_key=i.DSAparam.decode(u.subjectPublicKey.data,"der"),{type:"dsa",data:u.algorithm.params};default:throw new Error("unknown key id "+r)}case"ENCRYPTED PRIVATE KEY":c=function(t,e){var r=t.algorithm.decrypt.kde.kdeparams.salt,i=parseInt(t.algorithm.decrypt.kde.kdeparams.iters.toString(),10),s=n[t.algorithm.decrypt.cipher.algo.join(".")],u=t.algorithm.decrypt.cipher.iv,f=t.subjectPrivateKey,l=parseInt(s.split("-")[1],10)/8,c=a.pbkdf2Sync(e,r,i,l,"sha1"),d=o.createDecipheriv(s,c,u),p=[];return p.push(d.update(f)),p.push(d.final()),h.concat(p)}(c=i.EncryptedPrivateKey.decode(c,"der"),e);case"PRIVATE KEY":switch(r=(u=i.PrivateKey.decode(c,"der")).algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return i.RSAPrivateKey.decode(u.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:u.algorithm.curve,privateKey:i.ECPrivateKey.decode(u.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return u.algorithm.params.priv_key=i.DSAparam.decode(u.subjectPrivateKey,"der"),{type:"dsa",params:u.algorithm.params};default:throw new Error("unknown key id "+r)}case"RSA PUBLIC KEY":return i.RSAPublicKey.decode(c,"der");case"RSA PRIVATE KEY":return i.RSAPrivateKey.decode(c,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:i.DSAPrivateKey.decode(c,"der")};case"EC PRIVATE KEY":return{curve:(c=i.ECPrivateKey.decode(c,"der")).parameters.value,privateKey:c.privateKey};default:throw new Error("unknown key type "+l)}}u.signature=i.signature,t.exports=u},8179:(t,e,r)=>{const{EventEmitter:i}=r(7007),n=new Error("Stream was destroyed"),s=new Error("Premature close"),o=r(6080),a=r(5335),h=536870911,u=1^h,f=2^h,l=32,c=64,d=128,p=256,m=1024,g=2048,y=4096,b=8192,v=16384,w=32768,_=131072,M=131328,S=16^h,k=536805375,E=768^h,x=536838143,A=536739839,I=1<<18,T=2<<18,P=4<<18,C=8<<18,R=16<<18,O=32<<18,B=64<<18,L=128<<18,N=256<<18,j=512<<18,U=1024<<18,q=535822335,D=503316479,H=268435455,F=262160,z=536608751,$=8404992,W=14,K=15,V=8405006,Z=33587200,G=33587215,Y=2359296,J=270794767,X=Symbol.asyncIterator||Symbol("asyncIterator");class Q{constructor(t,{highWaterMark:e=16384,map:r=null,mapWritable:i,byteLength:n,byteLengthWritable:s}={}){this.stream=t,this.queue=new o,this.highWaterMark=e,this.buffered=0,this.error=null,this.pipeline=null,this.drains=null,this.byteLength=s||n||St,this.map=i||r,this.afterWrite=ot.bind(this),this.afterUpdateNextTick=ut.bind(this)}get ended(){return!!(this.stream._duplexState&O)}push(t){return!(142606350&this.stream._duplexState)&&(null!==this.map&&(t=this.map(t)),this.buffered+=this.byteLength(t),this.queue.push(t),this.buffered0,this.error=null,this.pipeline=null,this.byteLength=s||n||St,this.map=i||r,this.pipeTo=null,this.afterRead=at.bind(this),this.afterUpdateNextTick=ht.bind(this)}get ended(){return!!(this.stream._duplexState&v)}pipe(t,e){if(null!==this.pipeTo)throw new Error("Can only pipe to one destination");if("function"!=typeof e&&(e=null),this.stream._duplexState|=512,this.pipeTo=t,this.pipeline=new rt(this.stream,t,e),e&&this.stream.on("error",kt),Mt(t))t._writableState.pipeline=this.pipeline,e&&t.on("error",kt),t.on("finish",this.pipeline.finished.bind(this.pipeline));else{const e=this.pipeline.done.bind(this.pipeline,t),r=this.pipeline.done.bind(this.pipeline,t,null);t.on("error",e),t.on("close",r),t.on("finish",this.pipeline.finished.bind(this.pipeline))}t.on("drain",it.bind(this)),this.stream.emit("piping",t),t.emit("pipe",this.stream)}push(t){const e=this.stream;return null===t?(this.highWaterMark=0,e._duplexState=536805311&e._duplexState|1024,!1):null!==this.map&&null===(t=this.map(t))?(e._duplexState&=k,this.buffered0;)e.push(this.shift());for(let t=0;t0;)i.drains.shift().resolve(!1);null!==i.pipeline&&i.pipeline.done(e,t)}}function ot(t){const e=this.stream;t&&e.destroy(t),e._duplexState&=469499903,null!==this.drains&&function(t){for(let e=0;e0)?null:r(i)},this}_read(t){t(null)}pipe(t,e){return this._readableState.updateNextTick(),this._readableState.pipe(t,e),t}read(){return this._readableState.updateNextTick(),this._readableState.read()}push(t){return this._readableState.updateNextTickIfOpen(),this._readableState.push(t)}unshift(t){return this._readableState.updateNextTickIfOpen(),this._readableState.unshift(t)}resume(){return this._duplexState|=M,this._readableState.updateNextTick(),this}pause(){return this._duplexState&=!1===this._readableState.readAhead?536739583:536870655,this}static _fromAsyncIterator(t,e){let r;const i=new pt({...e,read(e){t.next().then(n).then(e.bind(null,null)).catch(e)},predestroy(){r=t.return()},destroy(t){if(!r)return t(null);r.then(t.bind(null,null)).catch(t)}});return i;function n(t){t.done?i.push(null):i.push(t.value)}}static from(t,e){if(Mt(r=t)&&r.readable)return t;var r;if(t[X])return this._fromAsyncIterator(t[X](),e);Array.isArray(t)||(t=void 0===t?[]:[t]);let i=0;return new pt({...e,read(e){this.push(i===t.length?null:t[i++]),e(null)}})}static isBackpressured(t){return!!(17422&t._duplexState)||t._readableState.buffered>=t._readableState.highWaterMark}static isPaused(t){return!(t._duplexState&p)}[X](){const t=this;let e=null,r=null,i=null;return this.on("error",(t=>{e=t})),this.on("readable",(function(){null!==r&&s(t.read())})),this.on("close",(function(){null!==r&&s(null)})),{[X](){return this},next:()=>new Promise((function(e,n){r=e,i=n;const o=t.read();null!==o?s(o):8&t._duplexState&&s(null)})),return:()=>o(null),throw:t=>o(t)};function s(s){null!==i&&(e?i(e):null!==s||t._duplexState&v?r({value:s,done:null===s}):i(n),i=r=null)}function o(e){return t.destroy(e),new Promise(((r,i)=>{if(8&t._duplexState)return r({value:void 0,done:!0});t.once("close",(function(){e?i(e):r({value:void 0,done:!0})}))}))}}}class mt extends dt{constructor(t){super(t),this._duplexState|=16385,this._writableState=new Q(this,t),t&&(t.writev&&(this._writev=t.writev),t.write&&(this._write=t.write),t.final&&(this._final=t.final),t.eagerOpen&&this._writableState.updateNextTick())}cork(){this._duplexState|=U}uncork(){this._duplexState&=H,this._writableState.updateNextTick()}_writev(t,e){e(null)}_write(t,e){this._writableState.autoBatch(t,e)}_final(t){t(null)}static isBackpressured(t){return!!(146800654&t._duplexState)}static drained(t){if(t.destroyed)return Promise.resolve(!1);const e=t._writableState;var r;const i=((r=t)._writev!==mt.prototype._writev&&r._writev!==gt.prototype._writev?Math.min(1,e.queue.length):e.queue.length)+(t._duplexState&N?1:0);return 0===i?Promise.resolve(!0):(null===e.drains&&(e.drains=[]),new Promise((t=>{e.drains.push({writes:i,resolve:t})})))}write(t){return this._writableState.updateNextTick(),this._writableState.push(t)}end(t){return this._writableState.updateNextTick(),this._writableState.end(t),this}}class gt extends pt{constructor(t){super(t),this._duplexState=1|this._duplexState&_,this._writableState=new Q(this,t),t&&(t.writev&&(this._writev=t.writev),t.write&&(this._write=t.write),t.final&&(this._final=t.final))}cork(){this._duplexState|=U}uncork(){this._duplexState&=H,this._writableState.updateNextTick()}_writev(t,e){e(null)}_write(t,e){this._writableState.autoBatch(t,e)}_final(t){t(null)}write(t){return this._writableState.updateNextTick(),this._writableState.push(t)}end(t){return this._writableState.updateNextTick(),this._writableState.end(t),this}}class yt extends gt{constructor(t){super(t),this._transformState=new et(this),t&&(t.transform&&(this._transform=t.transform),t.flush&&(this._flush=t.flush))}_write(t,e){this._readableState.buffered>=this._readableState.highWaterMark?this._transformState.data=t:this._transform(t,this._transformState.afterTransform)}_read(t){if(null!==this._transformState.data){const e=this._transformState.data;this._transformState.data=null,t(null),this._transform(e,this._transformState.afterTransform)}else t(null)}destroy(t){super.destroy(t),null!==this._transformState.data&&(this._transformState.data=null,this._transformState.afterTransform())}_transform(t,e){e(null,t)}_flush(t){t(null)}_final(t){this._transformState.afterFinal=t,this._flush(bt.bind(this))}}function bt(t,e){const r=this._transformState.afterFinal;if(t)return r(t);null!=e&&this.push(e),this.push(null),r(null)}function vt(t,...e){const r=Array.isArray(t)?[...t,...e]:[t,...e],i=r.length&&"function"==typeof r[r.length-1]?r.pop():null;if(r.length<2)throw new Error("Pipeline requires at least 2 streams");let n=r[0],o=null,a=null;for(let t=1;t1,u),n.pipe(o)),n=o;if(i){let t=!1;const e=Mt(o)||!(!o._writableState||!o._writableState.autoDestroy);o.on("error",(t=>{null===a&&(a=t)})),o.on("finish",(()=>{t=!0,e||i(a)})),e&&o.on("close",(()=>i(a||(t?null:s))))}return o;function h(t,e,r,i){t.on("error",i),t.on("close",(function(){if(e&&t._readableState&&!t._readableState.ended)return i(s);if(r&&t._writableState&&!t._writableState.ended)return i(s)}))}function u(t){if(t&&!a){a=t;for(const e of r)e.destroy(t)}}}function wt(t){return t}function _t(t){return!!t._readableState||!!t._writableState}function Mt(t){return"number"==typeof t._duplexState&&_t(t)}function St(t){return function(t){return"object"==typeof t&&null!==t&&"number"==typeof t.byteLength}(t)?t.byteLength:1024}function kt(){}function Et(){this.destroy(new Error("Stream aborted."))}t.exports={pipeline:vt,pipelinePromise:function(...t){return new Promise(((e,r)=>vt(...t,(t=>{if(t)return r(t);e()}))))},isStream:_t,isStreamx:Mt,isEnded:function(t){return!!t._readableState&&t._readableState.ended},isFinished:function(t){return!!t._writableState&&t._writableState.ended},isDisturbed:function(t){return!!(1&~t._duplexState)||!!(t._duplexState&Z)},getStreamError:function(t,e={}){const r=t._readableState&&t._readableState.error||t._writableState&&t._writableState.error;return e.all||r!==n?r:null},Stream:dt,Writable:mt,Readable:pt,Duplex:gt,Transform:yt,PassThrough:class extends yt{}}},8190:(t,e,r)=>{t.exports=function(t,e){let r,n,s,o=!0;Array.isArray(t)?(r=[],n=t.length):(s=Object.keys(t),r={},n=s.length);function a(t){function n(){e&&e(t,r),e=null}o?i(n):n()}function h(t,e,i){r[t]=i,(0==--n||e)&&a(e)}n?s?s.forEach((function(e){t[e]((function(t,r){h(e,t,r)}))})):t.forEach((function(t,e){t((function(t,r){h(e,t,r)}))})):a(null);o=!1};const i=r(9596)},8206:(t,e,r)=>{var i=r(7108),n=r(2861).Buffer;function s(t){var e=n.allocUnsafe(4);return e.writeUInt32BE(t,0),e}t.exports=function(t,e){for(var r,o=n.alloc(0),a=0;o.length{var i=r(6698),n=r(4729),s=r(2861).Buffer,o=new Array(16);function a(){n.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function h(t,e){return t<>>32-e}function u(t,e,r,i,n,s,o){return h(t+(e&r|~e&i)+n+s|0,o)+e|0}function f(t,e,r,i,n,s,o){return h(t+(e&i|r&~i)+n+s|0,o)+e|0}function l(t,e,r,i,n,s,o){return h(t+(e^r^i)+n+s|0,o)+e|0}function c(t,e,r,i,n,s,o){return h(t+(r^(e|~i))+n+s|0,o)+e|0}i(a,n),a.prototype._update=function(){for(var t=o,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);var r=this._a,i=this._b,n=this._c,s=this._d;r=u(r,i,n,s,t[0],3614090360,7),s=u(s,r,i,n,t[1],3905402710,12),n=u(n,s,r,i,t[2],606105819,17),i=u(i,n,s,r,t[3],3250441966,22),r=u(r,i,n,s,t[4],4118548399,7),s=u(s,r,i,n,t[5],1200080426,12),n=u(n,s,r,i,t[6],2821735955,17),i=u(i,n,s,r,t[7],4249261313,22),r=u(r,i,n,s,t[8],1770035416,7),s=u(s,r,i,n,t[9],2336552879,12),n=u(n,s,r,i,t[10],4294925233,17),i=u(i,n,s,r,t[11],2304563134,22),r=u(r,i,n,s,t[12],1804603682,7),s=u(s,r,i,n,t[13],4254626195,12),n=u(n,s,r,i,t[14],2792965006,17),r=f(r,i=u(i,n,s,r,t[15],1236535329,22),n,s,t[1],4129170786,5),s=f(s,r,i,n,t[6],3225465664,9),n=f(n,s,r,i,t[11],643717713,14),i=f(i,n,s,r,t[0],3921069994,20),r=f(r,i,n,s,t[5],3593408605,5),s=f(s,r,i,n,t[10],38016083,9),n=f(n,s,r,i,t[15],3634488961,14),i=f(i,n,s,r,t[4],3889429448,20),r=f(r,i,n,s,t[9],568446438,5),s=f(s,r,i,n,t[14],3275163606,9),n=f(n,s,r,i,t[3],4107603335,14),i=f(i,n,s,r,t[8],1163531501,20),r=f(r,i,n,s,t[13],2850285829,5),s=f(s,r,i,n,t[2],4243563512,9),n=f(n,s,r,i,t[7],1735328473,14),r=l(r,i=f(i,n,s,r,t[12],2368359562,20),n,s,t[5],4294588738,4),s=l(s,r,i,n,t[8],2272392833,11),n=l(n,s,r,i,t[11],1839030562,16),i=l(i,n,s,r,t[14],4259657740,23),r=l(r,i,n,s,t[1],2763975236,4),s=l(s,r,i,n,t[4],1272893353,11),n=l(n,s,r,i,t[7],4139469664,16),i=l(i,n,s,r,t[10],3200236656,23),r=l(r,i,n,s,t[13],681279174,4),s=l(s,r,i,n,t[0],3936430074,11),n=l(n,s,r,i,t[3],3572445317,16),i=l(i,n,s,r,t[6],76029189,23),r=l(r,i,n,s,t[9],3654602809,4),s=l(s,r,i,n,t[12],3873151461,11),n=l(n,s,r,i,t[15],530742520,16),r=c(r,i=l(i,n,s,r,t[2],3299628645,23),n,s,t[0],4096336452,6),s=c(s,r,i,n,t[7],1126891415,10),n=c(n,s,r,i,t[14],2878612391,15),i=c(i,n,s,r,t[5],4237533241,21),r=c(r,i,n,s,t[12],1700485571,6),s=c(s,r,i,n,t[3],2399980690,10),n=c(n,s,r,i,t[10],4293915773,15),i=c(i,n,s,r,t[1],2240044497,21),r=c(r,i,n,s,t[8],1873313359,6),s=c(s,r,i,n,t[15],4264355552,10),n=c(n,s,r,i,t[6],2734768916,15),i=c(i,n,s,r,t[13],1309151649,21),r=c(r,i,n,s,t[4],4149444226,6),s=c(s,r,i,n,t[11],3174756917,10),n=c(n,s,r,i,t[2],718787259,15),i=c(i,n,s,r,t[9],3951481745,21),this._a=this._a+r|0,this._b=this._b+i|0,this._c=this._c+n|0,this._d=this._d+s|0},a.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=s.allocUnsafe(16);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t},t.exports=a},8287:(t,e,r)=>{const i=r(7526),n=r(251),s="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=h,e.SlowBuffer=function(t){+t!=t&&(t=0);return h.alloc(+t)},e.INSPECT_MAX_BYTES=50;const o=2147483647;function a(t){if(t>o)throw new RangeError('The value "'+t+'" is invalid for option "size"');const e=new Uint8Array(t);return Object.setPrototypeOf(e,h.prototype),e}function h(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return l(t)}return u(t,e,r)}function u(t,e,r){if("string"==typeof t)return function(t,e){"string"==typeof e&&""!==e||(e="utf8");if(!h.isEncoding(e))throw new TypeError("Unknown encoding: "+e);const r=0|m(t,e);let i=a(r);const n=i.write(t,e);n!==r&&(i=i.slice(0,n));return i}(t,e);if(ArrayBuffer.isView(t))return function(t){if(G(t,Uint8Array)){const e=new Uint8Array(t);return d(e.buffer,e.byteOffset,e.byteLength)}return c(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(G(t,ArrayBuffer)||t&&G(t.buffer,ArrayBuffer))return d(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(G(t,SharedArrayBuffer)||t&&G(t.buffer,SharedArrayBuffer)))return d(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');const i=t.valueOf&&t.valueOf();if(null!=i&&i!==t)return h.from(i,e,r);const n=function(t){if(h.isBuffer(t)){const e=0|p(t.length),r=a(e);return 0===r.length||t.copy(r,0,0,e),r}if(void 0!==t.length)return"number"!=typeof t.length||Y(t.length)?a(0):c(t);if("Buffer"===t.type&&Array.isArray(t.data))return c(t.data)}(t);if(n)return n;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return h.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function f(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function l(t){return f(t),a(t<0?0:0|p(t))}function c(t){const e=t.length<0?0:0|p(t.length),r=a(e);for(let i=0;i=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return 0|t}function m(t,e){if(h.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||G(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);const r=t.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===r)return 0;let n=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return K(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return V(t).length;default:if(n)return i?-1:K(t).length;e=(""+e).toLowerCase(),n=!0}}function g(t,e,r){let i=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return P(this,e,r);case"utf8":case"utf-8":return x(this,e,r);case"ascii":return I(this,e,r);case"latin1":case"binary":return T(this,e,r);case"base64":return E(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,e,r);default:if(i)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),i=!0}}function y(t,e,r){const i=t[e];t[e]=t[r],t[r]=i}function b(t,e,r,i,n){if(0===t.length)return-1;if("string"==typeof r?(i=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),Y(r=+r)&&(r=n?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(n)return-1;r=t.length-1}else if(r<0){if(!n)return-1;r=0}if("string"==typeof e&&(e=h.from(e,i)),h.isBuffer(e))return 0===e.length?-1:v(t,e,r,i,n);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?n?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):v(t,[e],r,i,n);throw new TypeError("val must be string, number or Buffer")}function v(t,e,r,i,n){let s,o=1,a=t.length,h=e.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(t.length<2||e.length<2)return-1;o=2,a/=2,h/=2,r/=2}function u(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(n){let i=-1;for(s=r;sa&&(r=a-h),s=r;s>=0;s--){let r=!0;for(let i=0;in&&(i=n):i=n;const s=e.length;let o;for(i>s/2&&(i=s/2),o=0;o>8,n=r%256,s.push(n),s.push(i);return s}(e,t.length-r),t,r,i)}function E(t,e,r){return 0===e&&r===t.length?i.fromByteArray(t):i.fromByteArray(t.slice(e,r))}function x(t,e,r){r=Math.min(t.length,r);const i=[];let n=e;for(;n239?4:e>223?3:e>191?2:1;if(n+o<=r){let r,i,a,h;switch(o){case 1:e<128&&(s=e);break;case 2:r=t[n+1],128==(192&r)&&(h=(31&e)<<6|63&r,h>127&&(s=h));break;case 3:r=t[n+1],i=t[n+2],128==(192&r)&&128==(192&i)&&(h=(15&e)<<12|(63&r)<<6|63&i,h>2047&&(h<55296||h>57343)&&(s=h));break;case 4:r=t[n+1],i=t[n+2],a=t[n+3],128==(192&r)&&128==(192&i)&&128==(192&a)&&(h=(15&e)<<18|(63&r)<<12|(63&i)<<6|63&a,h>65535&&h<1114112&&(s=h))}}null===s?(s=65533,o=1):s>65535&&(s-=65536,i.push(s>>>10&1023|55296),s=56320|1023&s),i.push(s),n+=o}return function(t){const e=t.length;if(e<=A)return String.fromCharCode.apply(String,t);let r="",i=0;for(;ii.length?(h.isBuffer(e)||(e=h.from(e)),e.copy(i,n)):Uint8Array.prototype.set.call(i,e,n);else{if(!h.isBuffer(e))throw new TypeError('"list" argument must be an Array of Buffers');e.copy(i,n)}n+=e.length}return i},h.byteLength=m,h.prototype._isBuffer=!0,h.prototype.swap16=function(){const t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let e=0;er&&(t+=" ... "),""},s&&(h.prototype[s]=h.prototype.inspect),h.prototype.compare=function(t,e,r,i,n){if(G(t,Uint8Array)&&(t=h.from(t,t.offset,t.byteLength)),!h.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===i&&(i=0),void 0===n&&(n=this.length),e<0||r>t.length||i<0||n>this.length)throw new RangeError("out of range index");if(i>=n&&e>=r)return 0;if(i>=n)return-1;if(e>=r)return 1;if(this===t)return 0;let s=(n>>>=0)-(i>>>=0),o=(r>>>=0)-(e>>>=0);const a=Math.min(s,o),u=this.slice(i,n),f=t.slice(e,r);for(let t=0;t>>=0,isFinite(r)?(r>>>=0,void 0===i&&(i="utf8")):(i=r,r=void 0)}const n=this.length-e;if((void 0===r||r>n)&&(r=n),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let s=!1;for(;;)switch(i){case"hex":return w(this,t,e,r);case"utf8":case"utf-8":return _(this,t,e,r);case"ascii":case"latin1":case"binary":return M(this,t,e,r);case"base64":return S(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,t,e,r);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}},h.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const A=4096;function I(t,e,r){let i="";r=Math.min(t.length,r);for(let n=e;ni)&&(r=i);let n="";for(let i=e;ir)throw new RangeError("Trying to access beyond buffer length")}function O(t,e,r,i,n,s){if(!h.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>n||et.length)throw new RangeError("Index out of range")}function B(t,e,r,i,n){F(e,i,n,t,r,7);let s=Number(e&BigInt(4294967295));t[r++]=s,s>>=8,t[r++]=s,s>>=8,t[r++]=s,s>>=8,t[r++]=s;let o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,r}function L(t,e,r,i,n){F(e,i,n,t,r,7);let s=Number(e&BigInt(4294967295));t[r+7]=s,s>>=8,t[r+6]=s,s>>=8,t[r+5]=s,s>>=8,t[r+4]=s;let o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=o,o>>=8,t[r+2]=o,o>>=8,t[r+1]=o,o>>=8,t[r]=o,r+8}function N(t,e,r,i,n,s){if(r+i>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function j(t,e,r,i,s){return e=+e,r>>>=0,s||N(t,0,r,4),n.write(t,e,r,i,23,4),r+4}function U(t,e,r,i,s){return e=+e,r>>>=0,s||N(t,0,r,8),n.write(t,e,r,i,52,8),r+8}h.prototype.slice=function(t,e){const r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||R(t,e,this.length);let i=this[t],n=1,s=0;for(;++s>>=0,e>>>=0,r||R(t,e,this.length);let i=this[t+--e],n=1;for(;e>0&&(n*=256);)i+=this[t+--e]*n;return i},h.prototype.readUint8=h.prototype.readUInt8=function(t,e){return t>>>=0,e||R(t,1,this.length),this[t]},h.prototype.readUint16LE=h.prototype.readUInt16LE=function(t,e){return t>>>=0,e||R(t,2,this.length),this[t]|this[t+1]<<8},h.prototype.readUint16BE=h.prototype.readUInt16BE=function(t,e){return t>>>=0,e||R(t,2,this.length),this[t]<<8|this[t+1]},h.prototype.readUint32LE=h.prototype.readUInt32LE=function(t,e){return t>>>=0,e||R(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},h.prototype.readUint32BE=h.prototype.readUInt32BE=function(t,e){return t>>>=0,e||R(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},h.prototype.readBigUInt64LE=X((function(t){z(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||$(t,this.length-8);const i=e+256*this[++t]+65536*this[++t]+this[++t]*2**24,n=this[++t]+256*this[++t]+65536*this[++t]+r*2**24;return BigInt(i)+(BigInt(n)<>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||$(t,this.length-8);const i=e*2**24+65536*this[++t]+256*this[++t]+this[++t],n=this[++t]*2**24+65536*this[++t]+256*this[++t]+r;return(BigInt(i)<>>=0,e>>>=0,r||R(t,e,this.length);let i=this[t],n=1,s=0;for(;++s=n&&(i-=Math.pow(2,8*e)),i},h.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||R(t,e,this.length);let i=e,n=1,s=this[t+--i];for(;i>0&&(n*=256);)s+=this[t+--i]*n;return n*=128,s>=n&&(s-=Math.pow(2,8*e)),s},h.prototype.readInt8=function(t,e){return t>>>=0,e||R(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},h.prototype.readInt16LE=function(t,e){t>>>=0,e||R(t,2,this.length);const r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},h.prototype.readInt16BE=function(t,e){t>>>=0,e||R(t,2,this.length);const r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},h.prototype.readInt32LE=function(t,e){return t>>>=0,e||R(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},h.prototype.readInt32BE=function(t,e){return t>>>=0,e||R(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},h.prototype.readBigInt64LE=X((function(t){z(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||$(t,this.length-8);const i=this[t+4]+256*this[t+5]+65536*this[t+6]+(r<<24);return(BigInt(i)<>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||$(t,this.length-8);const i=(e<<24)+65536*this[++t]+256*this[++t]+this[++t];return(BigInt(i)<>>=0,e||R(t,4,this.length),n.read(this,t,!0,23,4)},h.prototype.readFloatBE=function(t,e){return t>>>=0,e||R(t,4,this.length),n.read(this,t,!1,23,4)},h.prototype.readDoubleLE=function(t,e){return t>>>=0,e||R(t,8,this.length),n.read(this,t,!0,52,8)},h.prototype.readDoubleBE=function(t,e){return t>>>=0,e||R(t,8,this.length),n.read(this,t,!1,52,8)},h.prototype.writeUintLE=h.prototype.writeUIntLE=function(t,e,r,i){if(t=+t,e>>>=0,r>>>=0,!i){O(this,t,e,r,Math.pow(2,8*r)-1,0)}let n=1,s=0;for(this[e]=255&t;++s>>=0,r>>>=0,!i){O(this,t,e,r,Math.pow(2,8*r)-1,0)}let n=r-1,s=1;for(this[e+n]=255&t;--n>=0&&(s*=256);)this[e+n]=t/s&255;return e+r},h.prototype.writeUint8=h.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||O(this,t,e,1,255,0),this[e]=255&t,e+1},h.prototype.writeUint16LE=h.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||O(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},h.prototype.writeUint16BE=h.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||O(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},h.prototype.writeUint32LE=h.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||O(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},h.prototype.writeUint32BE=h.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||O(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},h.prototype.writeBigUInt64LE=X((function(t,e=0){return B(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),h.prototype.writeBigUInt64BE=X((function(t,e=0){return L(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),h.prototype.writeIntLE=function(t,e,r,i){if(t=+t,e>>>=0,!i){const i=Math.pow(2,8*r-1);O(this,t,e,r,i-1,-i)}let n=0,s=1,o=0;for(this[e]=255&t;++n>>=0,!i){const i=Math.pow(2,8*r-1);O(this,t,e,r,i-1,-i)}let n=r-1,s=1,o=0;for(this[e+n]=255&t;--n>=0&&(s*=256);)t<0&&0===o&&0!==this[e+n+1]&&(o=1),this[e+n]=(t/s|0)-o&255;return e+r},h.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||O(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},h.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||O(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},h.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||O(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},h.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||O(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},h.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||O(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},h.prototype.writeBigInt64LE=X((function(t,e=0){return B(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),h.prototype.writeBigInt64BE=X((function(t,e=0){return L(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),h.prototype.writeFloatLE=function(t,e,r){return j(this,t,e,!0,r)},h.prototype.writeFloatBE=function(t,e,r){return j(this,t,e,!1,r)},h.prototype.writeDoubleLE=function(t,e,r){return U(this,t,e,!0,r)},h.prototype.writeDoubleBE=function(t,e,r){return U(this,t,e,!1,r)},h.prototype.copy=function(t,e,r,i){if(!h.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),i||0===i||(i=this.length),e>=t.length&&(e=t.length),e||(e=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(n=e;n=i+4;r-=3)e=`_${t.slice(r-3,r)}${e}`;return`${t.slice(0,r)}${e}`}function F(t,e,r,i,n,s){if(t>r||t3?0===e||e===BigInt(0)?`>= 0${i} and < 2${i} ** ${8*(s+1)}${i}`:`>= -(2${i} ** ${8*(s+1)-1}${i}) and < 2 ** ${8*(s+1)-1}${i}`:`>= ${e}${i} and <= ${r}${i}`,new q.ERR_OUT_OF_RANGE("value",n,t)}!function(t,e,r){z(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||$(e,t.length-(r+1))}(i,n,s)}function z(t,e){if("number"!=typeof t)throw new q.ERR_INVALID_ARG_TYPE(e,"number",t)}function $(t,e,r){if(Math.floor(t)!==t)throw z(t,r),new q.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new q.ERR_BUFFER_OUT_OF_BOUNDS;throw new q.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${e}`,t)}D("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?`${t} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),D("ERR_INVALID_ARG_TYPE",(function(t,e){return`The "${t}" argument must be of type number. Received type ${typeof e}`}),TypeError),D("ERR_OUT_OF_RANGE",(function(t,e,r){let i=`The value of "${t}" is out of range.`,n=r;return Number.isInteger(r)&&Math.abs(r)>2**32?n=H(String(r)):"bigint"==typeof r&&(n=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(n=H(n)),n+="n"),i+=` It must be ${e}. Received ${n}`,i}),RangeError);const W=/[^+/0-9A-Za-z-_]/g;function K(t,e){let r;e=e||1/0;const i=t.length;let n=null;const s=[];for(let o=0;o55295&&r<57344){if(!n){if(r>56319){(e-=3)>-1&&s.push(239,191,189);continue}if(o+1===i){(e-=3)>-1&&s.push(239,191,189);continue}n=r;continue}if(r<56320){(e-=3)>-1&&s.push(239,191,189),n=r;continue}r=65536+(n-55296<<10|r-56320)}else n&&(e-=3)>-1&&s.push(239,191,189);if(n=null,r<128){if((e-=1)<0)break;s.push(r)}else if(r<2048){if((e-=2)<0)break;s.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;s.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return s}function V(t){return i.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(W,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function Z(t,e,r,i){let n;for(n=0;n=e.length||n>=t.length);++n)e[n+r]=t[n];return n}function G(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function Y(t){return t!=t}const J=function(){const t="0123456789abcdef",e=new Array(256);for(let r=0;r<16;++r){const i=16*r;for(let n=0;n<16;++n)e[i+n]=t[r]+t[n]}return e}();function X(t){return"undefined"==typeof BigInt?Q:t}function Q(){throw new Error("BigInt not supported")}},8310:(t,e,r)=>{t.exports=n;var i=r(7007).EventEmitter;function n(){i.call(this)}r(6698)(n,i),n.Readable=r(5412),n.Writable=r(6708),n.Duplex=r(5382),n.Transform=r(4610),n.PassThrough=r(3600),n.finished=r(6238),n.pipeline=r(7758),n.Stream=n,n.prototype.pipe=function(t,e){var r=this;function n(e){t.writable&&!1===t.write(e)&&r.pause&&r.pause()}function s(){r.readable&&r.resume&&r.resume()}r.on("data",n),t.on("drain",s),t._isStdio||e&&!1===e.end||(r.on("end",a),r.on("close",h));var o=!1;function a(){o||(o=!0,t.end())}function h(){o||(o=!0,"function"==typeof t.destroy&&t.destroy())}function u(t){if(f(),0===i.listenerCount(this,"error"))throw t}function f(){r.removeListener("data",n),t.removeListener("drain",s),r.removeListener("end",a),r.removeListener("close",h),r.removeListener("error",u),t.removeListener("error",u),r.removeListener("end",f),r.removeListener("close",f),t.removeListener("close",f)}return r.on("error",u),t.on("error",u),r.on("end",f),r.on("close",f),t.on("close",f),t.emit("pipe",r),t}},8330:t=>{t.exports={version:"2.6.0"}},8393:(t,e,r)=>{var i=r(8287),n=i.Buffer;function s(t,e){for(var r in t)e[r]=t[r]}function o(t,e,r){return n(t,e,r)}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?t.exports=i:(s(i,e),e.Buffer=o),s(n,o),o.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return n(t,e,r)},o.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var i=n(t);return void 0!==e?"string"==typeof r?i.fill(e,r):i.fill(e):i.fill(0),i},o.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n(t)},o.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i.SlowBuffer(t)}},8394:(t,e,r)=>{const i=t.exports;i.encode=r(8746),i.decode=r(4662),i.byteLength=i.encodingLength=r(6814)},8403:(t,e,r)=>{var i=r(1189),n=r(1333)(),s=r(6556),o=r(9612),a=s("Array.prototype.push"),h=s("Object.prototype.propertyIsEnumerable"),u=n?o.getOwnPropertySymbols:null;t.exports=function(t,e){if(null==t)throw new TypeError("target must be an object");var r=o(t);if(1===arguments.length)return r;for(var s=1;s{var i=r(717);const n=r(4529).ok,s=r(8310),o=r(7103),a=r(537),h=a,u=r(8287).Buffer,f=r(2728),l=f.CRLF,c=f.chunkExpression,d=f.debug,p=/^Connection$/i,m=/^Transfer-Encoding$/i,g=/close/i,y=/^Content-Length$/i,b=/^Date$/i,v=/^Expect$/i,w=/^Trailer$/i,_={connection:!0,"content-length":!0,"transfer-encoding":!0,date:!0};var M;function S(){if(!M){var t=new Date;M=t.toUTCString(),o.enroll(S,1e3-t.getMilliseconds()),o._unrefActive(S)}return M}function k(){s.call(this),this.output=[],this.outputEncodings=[],this.outputCallbacks=[],this.outputSize=0,this.writable=!0,this._last=!1,this.chunkedEncoding=!1,this.shouldKeepAlive=!0,this.useChunkedEncodingByDefault=!0,this.sendDate=!1,this._removedHeader={},this._contentLength=null,this._hasBody=!0,this._trailer="",this.finished=!1,this._headerSent=!1,this.socket=null,this.connection=null,this._header=null,this._headers=null,this._headerNames={},this._onPendingData=null}function E(t,e,r,i){if(!f._checkIsHttpToken(r))throw new TypeError('Header name must be a valid HTTP Token ["'+r+'"]');if(!0===f._checkInvalidHeaderChar(i))throw new TypeError("The header content contains invalid characters");e.messageHeader+=r+": "+I(i)+l,p.test(r)?(e.sentConnectionHeader=!0,g.test(i)?t._last=!0:t.shouldKeepAlive=!0):m.test(r)?(e.sentTransferEncodingHeader=!0,c.test(i)&&(t.chunkedEncoding=!0)):y.test(r)?e.sentContentLengthHeader=!0:b.test(r)?e.sentDateHeader=!0:v.test(r)?e.sentExpect=!0:w.test(r)&&(e.sentTrailer=!0)}function x(t,e,r){t.emit("error",e),r&&r(e)}function A(t){t.uncork()}function I(t){return/[\r\n]/.test(t)?t.replace(/[\r\n]+[ \t]*/g,""):t}S._onTimeout=function(){M=void 0},a.inherits(k,s),e.OutgoingMessage=k,k.prototype.setTimeout=function(t,e){return e&&this.on("timeout",e),this.socket?this.socket.setTimeout(t):this.once("socket",(function(e){e.setTimeout(t)})),this},k.prototype.destroy=function(t){this.socket?this.socket.destroy(t):this.once("socket",(function(e){e.destroy(t)}))},k.prototype._send=function(t,e,r){return this._headerSent||("string"==typeof t&&"hex"!==e&&"base64"!==e?t=this._header+t:(this.output.unshift(this._header),this.outputEncodings.unshift("binary"),this.outputCallbacks.unshift(null),this.outputSize+=this._header.length,"function"==typeof this._onPendingData&&this._onPendingData(this._header.length)),this._headerSent=!0),this._writeRaw(t,e,r)},k.prototype._writeRaw=function(t,e,r){"function"==typeof e&&(r=e,e=null);var n=this.connection;if(n&&n._httpMessage===this&&n.writable&&!n.destroyed){if(this.output.length>0)this._flushOutput(n);else if(0===t.length)return"function"==typeof r&&i.nextTick(r),!0;return n.write(t,e,r)}return(!n||!n.destroyed)&&this._buffer(t,e,r)},k.prototype._buffer=function(t,e,r){return this.output.push(t),this.outputEncodings.push(e),this.outputCallbacks.push(r),this.outputSize+=t.length,"function"==typeof this._onPendingData&&this._onPendingData(t.length),!1},k.prototype._storeHeader=function(t,e){var r={sentConnectionHeader:!1,sentContentLengthHeader:!1,sentTransferEncodingHeader:!1,sentDateHeader:!1,sentExpect:!1,sentTrailer:!1,messageHeader:t};if(e)for(var i,n,s=Object.keys(e),o=Array.isArray(e),a=0,h=s.length;a{this.emit("finish")};return i=this._hasBody&&this.chunkedEncoding?this._send("0\r\n"+this._trailer+"\r\n","binary",n):this._send("","binary",n),this.connection&&t&&this.connection.uncork(),this.finished=!0,d("outgoing message end."),0===this.output.length&&this.connection&&this.connection._httpMessage===this&&this._finish(),i},k.prototype._finish=function(){n(this.connection),this.emit("prefinish")},k.prototype._flush=function(){var t,e=this.socket;e&&e.writable&&(t=this._flushOutput(e),this.finished?this._finish():t&&this.emit("drain"))},k.prototype._flushOutput=function(t){var e,r=this.output.length;if(r<=0)return e;var i=this.output,n=this.outputEncodings,s=this.outputCallbacks;t.cork();for(var o=0;o{t.exports=function(t){return Math.max(16384,1<{t.exports={"application/andrew-inset":["ez"],"application/applixware":["aw"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomdeleted+xml":["atomdeleted"],"application/atomsvc+xml":["atomsvc"],"application/atsc-dwd+xml":["dwd"],"application/atsc-held+xml":["held"],"application/atsc-rsat+xml":["rsat"],"application/bdoc":["bdoc"],"application/calendar+xml":["xcs"],"application/ccxml+xml":["ccxml"],"application/cdfx+xml":["cdfx"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cu-seeme":["cu"],"application/dash+xml":["mpd"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["es","ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"application/fdt+xml":["fdt"],"application/font-tdpfr":["pfr"],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hjson":["hjson"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/its+xml":["its"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["js","mjs"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lgr+xml":["lgr"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mmt-aei+xml":["maei"],"application/mmt-usd+xml":["musd"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["mp4s","m4p"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/n-quads":["nq"],"application/n-triples":["nt"],"application/node":["cjs"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg"],"application/oxps":["oxps"],"application/p2p-overlay+xml":["relo"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-signature":["asc","sig"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/provenance+xml":["provx"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf","owl"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/route-apd+xml":["rapd"],"application/route-s-tsid+xml":["sls"],"application/route-usd+xml":["rusd"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/senml+xml":["senmlx"],"application/sensml+xml":["sensmlx"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/sieve":["siv","sieve"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/swid+xml":["swidtag"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/toml":["toml"],"application/trig":["trig"],"application/ttml+xml":["ttml"],"application/ubjson":["ubj"],"application/urc-ressheet+xml":["rsheet"],"application/urc-targetdesc+xml":["td"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/xaml+xml":["xaml"],"application/xcap-att+xml":["xav"],"application/xcap-caps+xml":["xca"],"application/xcap-diff+xml":["xdf"],"application/xcap-el+xml":["xel"],"application/xcap-ns+xml":["xns"],"application/xenc+xml":["xenc"],"application/xhtml+xml":["xhtml","xht"],"application/xliff+xml":["xlf"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["*xsl","xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"audio/3gpp":["*3gpp"],"audio/adpcm":["adp"],"audio/amr":["amr"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mobile-xmf":["mxmf"],"audio/mp3":["*mp3"],"audio/mp4":["m4a","mp4a"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx","opus"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/wav":["wav"],"audio/wave":["*wav"],"audio/webm":["weba"],"audio/xm":["xm"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/aces":["exr"],"image/apng":["apng"],"image/avif":["avif"],"image/bmp":["bmp"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"image/emf":["emf"],"image/fits":["fits"],"image/g3fax":["g3"],"image/gif":["gif"],"image/heic":["heic"],"image/heic-sequence":["heics"],"image/heif":["heif"],"image/heif-sequence":["heifs"],"image/hej2k":["hej2"],"image/hsj2":["hsj2"],"image/ief":["ief"],"image/jls":["jls"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpeg","jpg","jpe"],"image/jph":["jph"],"image/jphc":["jhc"],"image/jpm":["jpm"],"image/jpx":["jpx","jpf"],"image/jxr":["jxr"],"image/jxra":["jxra"],"image/jxrs":["jxrs"],"image/jxs":["jxs"],"image/jxsc":["jxsc"],"image/jxsi":["jxsi"],"image/jxss":["jxss"],"image/ktx":["ktx"],"image/ktx2":["ktx2"],"image/png":["png"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/t38":["t38"],"image/tiff":["tif","tiff"],"image/tiff-fx":["tfx"],"image/webp":["webp"],"image/wmf":["wmf"],"message/disposition-notification":["disposition-notification"],"message/global":["u8msg"],"message/global-delivery-status":["u8dsn"],"message/global-disposition-notification":["u8mdn"],"message/global-headers":["u8hdr"],"message/rfc822":["eml","mime"],"model/3mf":["3mf"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["*x3db","x3dbz"],"model/x3d+fastinfoset":["x3db"],"model/x3d+vrml":["*x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"model/x3d-vrml":["x3dv"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["markdown","md"],"text/mathml":["mml"],"text/mdx":["mdx"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/richtext":["rtx"],"text/rtf":["*rtf"],"text/sgml":["sgml","sgm"],"text/shex":["shex"],"text/slim":["slim","slm"],"text/spdx":["spdx"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vtt":["vtt"],"text/xml":["*xml"],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/iso.segment":["m4s"],"video/jpeg":["jpgv"],"video/jpm":["*jpm","jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/webm":["webm"]}},8454:(t,e,r)=>{var i=r(7007),n=r(6698);function s(t){if(!(this instanceof s))return new s(t);"number"==typeof t&&(t={max:t}),t||(t={}),i.EventEmitter.call(this),this.cache={},this.head=this.tail=null,this.length=0,this.max=t.max||1e3,this.maxAge=t.maxAge||0}t.exports=s,n(s,i.EventEmitter),Object.defineProperty(s.prototype,"keys",{get:function(){return Object.keys(this.cache)}}),s.prototype.clear=function(){this.cache={},this.head=this.tail=null,this.length=0},s.prototype.remove=function(t){if("string"!=typeof t&&(t=""+t),this.cache.hasOwnProperty(t)){var e=this.cache[t];return delete this.cache[t],this._unlink(t,e.prev,e.next),e.value}},s.prototype._unlink=function(t,e,r){this.length--,0===this.length?this.head=this.tail=null:this.head===t?(this.head=e,this.cache[this.head].next=null):this.tail===t?(this.tail=r,this.cache[this.tail].prev=null):(this.cache[e].next=r,this.cache[r].prev=e)},s.prototype.peek=function(t){if(this.cache.hasOwnProperty(t)){var e=this.cache[t];if(this._checkAge(t,e))return e.value}},s.prototype.set=function(t,e){var r;if("string"!=typeof t&&(t=""+t),this.cache.hasOwnProperty(t)){if((r=this.cache[t]).value=e,this.maxAge&&(r.modified=Date.now()),t===this.head)return e;this._unlink(t,r.prev,r.next)}else r={value:e,modified:0,next:null,prev:null},this.maxAge&&(r.modified=Date.now()),this.cache[t]=r,this.length===this.max&&this.evict();return this.length++,r.next=null,r.prev=this.head,this.head&&(this.cache[this.head].next=t),this.head=t,this.tail||(this.tail=t),e},s.prototype._checkAge=function(t,e){return!(this.maxAge&&Date.now()-e.modified>this.maxAge)||(this.remove(t),this.emit("evict",{key:t,value:e.value}),!1)},s.prototype.get=function(t){if("string"!=typeof t&&(t=""+t),this.cache.hasOwnProperty(t)){var e=this.cache[t];if(this._checkAge(t,e))return this.head!==t&&(t===this.tail?(this.tail=e.next,this.cache[this.tail].prev=null):this.cache[e.prev].next=e.next,this.cache[e.next].prev=e.prev,this.cache[this.head].next=t,e.prev=this.head,e.next=null,this.head=t),e.value}},s.prototype.evict=function(){if(this.tail){var t=this.tail,e=this.remove(this.tail);this.emit("evict",{key:t,value:e})}}},8490:function(t,e,r){!function(t,e){function i(t,e){if(!t)throw new Error(e||"Assertion failed")}function n(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function s(t,e,r){if(s.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=s:e.BN=s,s.BN=s,s.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(8287).Buffer}catch(t){}function a(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function h(t,e,r){var i=a(t,r);return r-1>=e&&(i|=a(t,r-1)<<4),i}function u(t,e,r,i){for(var n=0,s=Math.min(t.length,r),o=e;o=49?a-49+10:a>=17?a-17+10:a}return n}s.isBN=function(t){return t instanceof s||null!==t&&"object"==typeof t&&t.constructor.wordSize===s.wordSize&&Array.isArray(t.words)},s.max=function(t,e){return t.cmp(e)>0?t:e},s.min=function(t,e){return t.cmp(e)<0?t:e},s.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),i(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n=0;n-=3)o=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[s]|=o<>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);else if("le"===r)for(n=0,s=0;n>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);return this.strip()},s.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i=e;i-=2)n=h(t,e,i)<=18?(s-=18,o+=1,this.words[o]|=n>>>26):s+=8;else for(i=(t.length-e)%2==0?e+1:e;i=18?(s-=18,o+=1,this.words[o]|=n>>>26):s+=8;this.strip()},s.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var s=t.length-r,o=s%i,a=Math.min(s,s-o)+r,h=0,f=r;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var f=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],c=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],s=0|e.words[0],o=n*s,a=67108863&o,h=o/67108864|0;r.words[0]=a;for(var u=1;u>>26,l=67108863&h,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(o=(n=0|t.words[p])*(s=0|e.words[d])+l)/67108864|0,l=67108863&o}r.words[u]=0|l,h=0|f}return 0!==h?r.words[u]=0|h:r.length--,r.strip()}s.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var n=0,s=0,o=0;o>>24-n&16777215,(n+=2)>=26&&(n-=26,o--),r=0!==s||o!==this.length-1?f[6-h.length]+h+r:h+r}for(0!==s&&(r=s.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var u=l[t],d=c[t];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);r=(p=p.idivn(d)).isZero()?m+r:f[u-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(t,e){return i(void 0!==o),this.toArrayLike(o,t,e)},s.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},s.prototype.toArrayLike=function(t,e,r){var n=this.byteLength(),s=r||Math.max(1,n);i(n<=s,"byte array longer than desired length"),i(s>0,"Requested array length <= 0"),this.strip();var o,a,h="le"===e,u=new t(s),f=this.clone();if(h){for(a=0;!f.isZero();a++)o=f.andln(255),f.iushrn(8),u[a]=o;for(;a=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},s.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 8191&e||(r+=13,e>>>=13),127&e||(r+=7,e>>>=7),15&e||(r+=4,e>>>=4),3&e||(r+=2,e>>>=2),1&e||r++,r},s.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},s.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},s.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},s.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},s.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},s.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},s.prototype.inotn=function(t){i("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},s.prototype.notn=function(t){return this.clone().inotn(t)},s.prototype.setn=function(t,e){i("number"==typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,s=0;s>>26;for(;0!==n&&s>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;st.length?this.clone().iadd(t):t.clone().iadd(this)},s.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var s=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==s&&o>26,this.words[o]=67108863&e;if(0===s&&o>>13,d=0|o[1],p=8191&d,m=d>>>13,g=0|o[2],y=8191&g,b=g>>>13,v=0|o[3],w=8191&v,_=v>>>13,M=0|o[4],S=8191&M,k=M>>>13,E=0|o[5],x=8191&E,A=E>>>13,I=0|o[6],T=8191&I,P=I>>>13,C=0|o[7],R=8191&C,O=C>>>13,B=0|o[8],L=8191&B,N=B>>>13,j=0|o[9],U=8191&j,q=j>>>13,D=0|a[0],H=8191&D,F=D>>>13,z=0|a[1],$=8191&z,W=z>>>13,K=0|a[2],V=8191&K,Z=K>>>13,G=0|a[3],Y=8191&G,J=G>>>13,X=0|a[4],Q=8191&X,tt=X>>>13,et=0|a[5],rt=8191&et,it=et>>>13,nt=0|a[6],st=8191&nt,ot=nt>>>13,at=0|a[7],ht=8191&at,ut=at>>>13,ft=0|a[8],lt=8191&ft,ct=ft>>>13,dt=0|a[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,H))|0)+((8191&(n=(n=Math.imul(l,F))+Math.imul(c,H)|0))<<13)|0;u=((s=Math.imul(c,F))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,H),n=(n=Math.imul(p,F))+Math.imul(m,H)|0,s=Math.imul(m,F);var yt=(u+(i=i+Math.imul(l,$)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,$)|0))<<13)|0;u=((s=s+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,H),n=(n=Math.imul(y,F))+Math.imul(b,H)|0,s=Math.imul(b,F),i=i+Math.imul(p,$)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,$)|0,s=s+Math.imul(m,W)|0;var bt=(u+(i=i+Math.imul(l,V)|0)|0)+((8191&(n=(n=n+Math.imul(l,Z)|0)+Math.imul(c,V)|0))<<13)|0;u=((s=s+Math.imul(c,Z)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(w,H),n=(n=Math.imul(w,F))+Math.imul(_,H)|0,s=Math.imul(_,F),i=i+Math.imul(y,$)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(b,$)|0,s=s+Math.imul(b,W)|0,i=i+Math.imul(p,V)|0,n=(n=n+Math.imul(p,Z)|0)+Math.imul(m,V)|0,s=s+Math.imul(m,Z)|0;var vt=(u+(i=i+Math.imul(l,Y)|0)|0)+((8191&(n=(n=n+Math.imul(l,J)|0)+Math.imul(c,Y)|0))<<13)|0;u=((s=s+Math.imul(c,J)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(S,H),n=(n=Math.imul(S,F))+Math.imul(k,H)|0,s=Math.imul(k,F),i=i+Math.imul(w,$)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(_,$)|0,s=s+Math.imul(_,W)|0,i=i+Math.imul(y,V)|0,n=(n=n+Math.imul(y,Z)|0)+Math.imul(b,V)|0,s=s+Math.imul(b,Z)|0,i=i+Math.imul(p,Y)|0,n=(n=n+Math.imul(p,J)|0)+Math.imul(m,Y)|0,s=s+Math.imul(m,J)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((s=s+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(x,H),n=(n=Math.imul(x,F))+Math.imul(A,H)|0,s=Math.imul(A,F),i=i+Math.imul(S,$)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(k,$)|0,s=s+Math.imul(k,W)|0,i=i+Math.imul(w,V)|0,n=(n=n+Math.imul(w,Z)|0)+Math.imul(_,V)|0,s=s+Math.imul(_,Z)|0,i=i+Math.imul(y,Y)|0,n=(n=n+Math.imul(y,J)|0)+Math.imul(b,Y)|0,s=s+Math.imul(b,J)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,s=s+Math.imul(m,tt)|0;var _t=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((s=s+Math.imul(c,it)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(T,H),n=(n=Math.imul(T,F))+Math.imul(P,H)|0,s=Math.imul(P,F),i=i+Math.imul(x,$)|0,n=(n=n+Math.imul(x,W)|0)+Math.imul(A,$)|0,s=s+Math.imul(A,W)|0,i=i+Math.imul(S,V)|0,n=(n=n+Math.imul(S,Z)|0)+Math.imul(k,V)|0,s=s+Math.imul(k,Z)|0,i=i+Math.imul(w,Y)|0,n=(n=n+Math.imul(w,J)|0)+Math.imul(_,Y)|0,s=s+Math.imul(_,J)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(b,Q)|0,s=s+Math.imul(b,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,s=s+Math.imul(m,it)|0;var Mt=(u+(i=i+Math.imul(l,st)|0)|0)+((8191&(n=(n=n+Math.imul(l,ot)|0)+Math.imul(c,st)|0))<<13)|0;u=((s=s+Math.imul(c,ot)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(R,H),n=(n=Math.imul(R,F))+Math.imul(O,H)|0,s=Math.imul(O,F),i=i+Math.imul(T,$)|0,n=(n=n+Math.imul(T,W)|0)+Math.imul(P,$)|0,s=s+Math.imul(P,W)|0,i=i+Math.imul(x,V)|0,n=(n=n+Math.imul(x,Z)|0)+Math.imul(A,V)|0,s=s+Math.imul(A,Z)|0,i=i+Math.imul(S,Y)|0,n=(n=n+Math.imul(S,J)|0)+Math.imul(k,Y)|0,s=s+Math.imul(k,J)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,s=s+Math.imul(_,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(b,rt)|0,s=s+Math.imul(b,it)|0,i=i+Math.imul(p,st)|0,n=(n=n+Math.imul(p,ot)|0)+Math.imul(m,st)|0,s=s+Math.imul(m,ot)|0;var St=(u+(i=i+Math.imul(l,ht)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,ht)|0))<<13)|0;u=((s=s+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(L,H),n=(n=Math.imul(L,F))+Math.imul(N,H)|0,s=Math.imul(N,F),i=i+Math.imul(R,$)|0,n=(n=n+Math.imul(R,W)|0)+Math.imul(O,$)|0,s=s+Math.imul(O,W)|0,i=i+Math.imul(T,V)|0,n=(n=n+Math.imul(T,Z)|0)+Math.imul(P,V)|0,s=s+Math.imul(P,Z)|0,i=i+Math.imul(x,Y)|0,n=(n=n+Math.imul(x,J)|0)+Math.imul(A,Y)|0,s=s+Math.imul(A,J)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(k,Q)|0,s=s+Math.imul(k,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(_,rt)|0,s=s+Math.imul(_,it)|0,i=i+Math.imul(y,st)|0,n=(n=n+Math.imul(y,ot)|0)+Math.imul(b,st)|0,s=s+Math.imul(b,ot)|0,i=i+Math.imul(p,ht)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,ht)|0,s=s+Math.imul(m,ut)|0;var kt=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((s=s+Math.imul(c,ct)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(U,H),n=(n=Math.imul(U,F))+Math.imul(q,H)|0,s=Math.imul(q,F),i=i+Math.imul(L,$)|0,n=(n=n+Math.imul(L,W)|0)+Math.imul(N,$)|0,s=s+Math.imul(N,W)|0,i=i+Math.imul(R,V)|0,n=(n=n+Math.imul(R,Z)|0)+Math.imul(O,V)|0,s=s+Math.imul(O,Z)|0,i=i+Math.imul(T,Y)|0,n=(n=n+Math.imul(T,J)|0)+Math.imul(P,Y)|0,s=s+Math.imul(P,J)|0,i=i+Math.imul(x,Q)|0,n=(n=n+Math.imul(x,tt)|0)+Math.imul(A,Q)|0,s=s+Math.imul(A,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(k,rt)|0,s=s+Math.imul(k,it)|0,i=i+Math.imul(w,st)|0,n=(n=n+Math.imul(w,ot)|0)+Math.imul(_,st)|0,s=s+Math.imul(_,ot)|0,i=i+Math.imul(y,ht)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(b,ht)|0,s=s+Math.imul(b,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,s=s+Math.imul(m,ct)|0;var Et=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((s=s+Math.imul(c,mt)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(U,$),n=(n=Math.imul(U,W))+Math.imul(q,$)|0,s=Math.imul(q,W),i=i+Math.imul(L,V)|0,n=(n=n+Math.imul(L,Z)|0)+Math.imul(N,V)|0,s=s+Math.imul(N,Z)|0,i=i+Math.imul(R,Y)|0,n=(n=n+Math.imul(R,J)|0)+Math.imul(O,Y)|0,s=s+Math.imul(O,J)|0,i=i+Math.imul(T,Q)|0,n=(n=n+Math.imul(T,tt)|0)+Math.imul(P,Q)|0,s=s+Math.imul(P,tt)|0,i=i+Math.imul(x,rt)|0,n=(n=n+Math.imul(x,it)|0)+Math.imul(A,rt)|0,s=s+Math.imul(A,it)|0,i=i+Math.imul(S,st)|0,n=(n=n+Math.imul(S,ot)|0)+Math.imul(k,st)|0,s=s+Math.imul(k,ot)|0,i=i+Math.imul(w,ht)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(_,ht)|0,s=s+Math.imul(_,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(b,lt)|0,s=s+Math.imul(b,ct)|0;var xt=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((s=s+Math.imul(m,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(U,V),n=(n=Math.imul(U,Z))+Math.imul(q,V)|0,s=Math.imul(q,Z),i=i+Math.imul(L,Y)|0,n=(n=n+Math.imul(L,J)|0)+Math.imul(N,Y)|0,s=s+Math.imul(N,J)|0,i=i+Math.imul(R,Q)|0,n=(n=n+Math.imul(R,tt)|0)+Math.imul(O,Q)|0,s=s+Math.imul(O,tt)|0,i=i+Math.imul(T,rt)|0,n=(n=n+Math.imul(T,it)|0)+Math.imul(P,rt)|0,s=s+Math.imul(P,it)|0,i=i+Math.imul(x,st)|0,n=(n=n+Math.imul(x,ot)|0)+Math.imul(A,st)|0,s=s+Math.imul(A,ot)|0,i=i+Math.imul(S,ht)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(k,ht)|0,s=s+Math.imul(k,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(_,lt)|0,s=s+Math.imul(_,ct)|0;var At=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(b,pt)|0))<<13)|0;u=((s=s+Math.imul(b,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(U,Y),n=(n=Math.imul(U,J))+Math.imul(q,Y)|0,s=Math.imul(q,J),i=i+Math.imul(L,Q)|0,n=(n=n+Math.imul(L,tt)|0)+Math.imul(N,Q)|0,s=s+Math.imul(N,tt)|0,i=i+Math.imul(R,rt)|0,n=(n=n+Math.imul(R,it)|0)+Math.imul(O,rt)|0,s=s+Math.imul(O,it)|0,i=i+Math.imul(T,st)|0,n=(n=n+Math.imul(T,ot)|0)+Math.imul(P,st)|0,s=s+Math.imul(P,ot)|0,i=i+Math.imul(x,ht)|0,n=(n=n+Math.imul(x,ut)|0)+Math.imul(A,ht)|0,s=s+Math.imul(A,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(k,lt)|0,s=s+Math.imul(k,ct)|0;var It=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;u=((s=s+Math.imul(_,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(U,Q),n=(n=Math.imul(U,tt))+Math.imul(q,Q)|0,s=Math.imul(q,tt),i=i+Math.imul(L,rt)|0,n=(n=n+Math.imul(L,it)|0)+Math.imul(N,rt)|0,s=s+Math.imul(N,it)|0,i=i+Math.imul(R,st)|0,n=(n=n+Math.imul(R,ot)|0)+Math.imul(O,st)|0,s=s+Math.imul(O,ot)|0,i=i+Math.imul(T,ht)|0,n=(n=n+Math.imul(T,ut)|0)+Math.imul(P,ht)|0,s=s+Math.imul(P,ut)|0,i=i+Math.imul(x,lt)|0,n=(n=n+Math.imul(x,ct)|0)+Math.imul(A,lt)|0,s=s+Math.imul(A,ct)|0;var Tt=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(k,pt)|0))<<13)|0;u=((s=s+Math.imul(k,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(U,rt),n=(n=Math.imul(U,it))+Math.imul(q,rt)|0,s=Math.imul(q,it),i=i+Math.imul(L,st)|0,n=(n=n+Math.imul(L,ot)|0)+Math.imul(N,st)|0,s=s+Math.imul(N,ot)|0,i=i+Math.imul(R,ht)|0,n=(n=n+Math.imul(R,ut)|0)+Math.imul(O,ht)|0,s=s+Math.imul(O,ut)|0,i=i+Math.imul(T,lt)|0,n=(n=n+Math.imul(T,ct)|0)+Math.imul(P,lt)|0,s=s+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(x,pt)|0)|0)+((8191&(n=(n=n+Math.imul(x,mt)|0)+Math.imul(A,pt)|0))<<13)|0;u=((s=s+Math.imul(A,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(U,st),n=(n=Math.imul(U,ot))+Math.imul(q,st)|0,s=Math.imul(q,ot),i=i+Math.imul(L,ht)|0,n=(n=n+Math.imul(L,ut)|0)+Math.imul(N,ht)|0,s=s+Math.imul(N,ut)|0,i=i+Math.imul(R,lt)|0,n=(n=n+Math.imul(R,ct)|0)+Math.imul(O,lt)|0,s=s+Math.imul(O,ct)|0;var Ct=(u+(i=i+Math.imul(T,pt)|0)|0)+((8191&(n=(n=n+Math.imul(T,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((s=s+Math.imul(P,mt)|0)+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(U,ht),n=(n=Math.imul(U,ut))+Math.imul(q,ht)|0,s=Math.imul(q,ut),i=i+Math.imul(L,lt)|0,n=(n=n+Math.imul(L,ct)|0)+Math.imul(N,lt)|0,s=s+Math.imul(N,ct)|0;var Rt=(u+(i=i+Math.imul(R,pt)|0)|0)+((8191&(n=(n=n+Math.imul(R,mt)|0)+Math.imul(O,pt)|0))<<13)|0;u=((s=s+Math.imul(O,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(U,lt),n=(n=Math.imul(U,ct))+Math.imul(q,lt)|0,s=Math.imul(q,ct);var Ot=(u+(i=i+Math.imul(L,pt)|0)|0)+((8191&(n=(n=n+Math.imul(L,mt)|0)+Math.imul(N,pt)|0))<<13)|0;u=((s=s+Math.imul(N,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var Bt=(u+(i=Math.imul(U,pt))|0)+((8191&(n=(n=Math.imul(U,mt))+Math.imul(q,pt)|0))<<13)|0;return u=((s=Math.imul(q,mt))+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,h[0]=gt,h[1]=yt,h[2]=bt,h[3]=vt,h[4]=wt,h[5]=_t,h[6]=Mt,h[7]=St,h[8]=kt,h[9]=Et,h[10]=xt,h[11]=At,h[12]=It,h[13]=Tt,h[14]=Pt,h[15]=Ct,h[16]=Rt,h[17]=Ot,h[18]=Bt,0!==u&&(h[19]=u,r.length++),r};function m(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(p=d),s.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?p(this,t,e):i<63?d(this,t,e):i<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,s=0;s>>26)|0)>>>26,o&=67108863}r.words[s]=a,i=o,o=n}return 0!==i?r.words[s]=i:r.length--,r.strip()}(this,t,e):m(this,t,e),r},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=s.prototype._countBits(t)-1,i=0;i>=1;return i},g.prototype.permute=function(t,e,r,i,n,s){for(var o=0;o>>=1)n++;return 1<>>=13,r[2*o+1]=8191&s,s>>>=13;for(o=2*e;o>=26,e+=n/67108864|0,e+=s>>>26,this.words[r]=67108863&s}return 0!==e&&(this.words[r]=e,this.length++),this},s.prototype.muln=function(t){return this.clone().imuln(t)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>n}return e}(t);if(0===e.length)return new s(1);for(var r=this,i=0;i=0);var e,r=t%26,n=(t-r)/26,s=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var s=t%26,o=Math.min((t-s)/26,this.length),a=67108863^67108863>>>s<o)for(this.length-=o,u=0;u=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-s|l>>>s,f=l&a}return h&&0!==f&&(h.words[h.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},s.prototype.shln=function(t){return this.clone().ishln(t)},s.prototype.ushln=function(t){return this.clone().iushln(t)},s.prototype.shrn=function(t){return this.clone().ishrn(t)},s.prototype.ushrn=function(t){return this.clone().iushrn(t)},s.prototype.testn=function(t){i("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},s.prototype.isubn=function(t){if(i("number"==typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(h/67108864|0),this.words[n+r]=67108863&s}for(;n>26,this.words[n+r]=67108863&s;if(0===a)return this.strip();for(i(-1===a),a=0,n=0;n>26,this.words[n]=67108863&s;return this.negative=1,this.strip()},s.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),n=t,o=0|n.words[n.length-1];0!==(r=26-this._countBits(o))&&(n=n.ushln(r),i.iushln(r),o=0|n.words[n.length-1]);var a,h=i.length-n.length;if("mod"!==e){(a=new s(null)).length=h+1,a.words=new Array(a.length);for(var u=0;u=0;l--){var c=67108864*(0|i.words[n.length+l])+(0|i.words[n.length+l-1]);for(c=Math.min(c/o|0,67108863),i._ishlnsubmul(n,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(n,1,l),i.isZero()||(i.negative^=1);a&&(a.words[l]=c)}return a&&a.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:a||null,mod:i}},s.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(n=a.div.neg()),"div"!==e&&(o=a.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:n,mod:o}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(n=a.div.neg()),{div:n,mod:a.mod}):this.negative&t.negative?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(o=a.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:a.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new s(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new s(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new s(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,o,a},s.prototype.div=function(t){return this.divmod(t,"div",!1).div},s.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},s.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},s.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),s=r.cmp(i);return s<0||1===n&&0===s?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},s.prototype.modn=function(t){i(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;n>=0;n--)r=(e*r+(0|this.words[n]))%t;return r},s.prototype.idivn=function(t){i(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},s.prototype.divn=function(t){return this.clone().idivn(t)},s.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n=new s(1),o=new s(0),a=new s(0),h=new s(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var f=r.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;!(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(f),o.isub(l)),n.iushrn(1),o.iushrn(1);for(var p=0,m=1;!(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(a.isOdd()||h.isOdd())&&(a.iadd(f),h.isub(l)),a.iushrn(1),h.iushrn(1);e.cmp(r)>=0?(e.isub(r),n.isub(a),o.isub(h)):(r.isub(e),a.isub(n),h.isub(o))}return{a,b:h,gcd:r.iushln(u)}},s.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n,o=new s(1),a=new s(0),h=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,f=1;!(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)o.isOdd()&&o.iadd(h),o.iushrn(1);for(var l=0,c=1;!(r.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(r.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(h),a.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(a)):(r.isub(e),a.isub(o))}return(n=0===e.cmpn(1)?o:a).cmpn(0)<0&&n.iadd(t),n},s.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var s=e;e=r,r=s}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},s.prototype.invm=function(t){return this.egcd(t).a.umod(t)},s.prototype.isEven=function(){return!(1&this.words[0])},s.prototype.isOdd=function(){return!(1&~this.words[0])},s.prototype.andln=function(t){return this.words[0]&t},s.prototype.bincn=function(t){i("number"==typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,a&=67108863,this.words[o]=a}return 0!==s&&(this.words[o]=s,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},s.prototype.gtn=function(t){return 1===this.cmpn(t)},s.prototype.gt=function(t){return 1===this.cmp(t)},s.prototype.gten=function(t){return this.cmpn(t)>=0},s.prototype.gte=function(t){return this.cmp(t)>=0},s.prototype.ltn=function(t){return-1===this.cmpn(t)},s.prototype.lt=function(t){return-1===this.cmp(t)},s.prototype.lten=function(t){return this.cmpn(t)<=0},s.prototype.lte=function(t){return this.cmp(t)<=0},s.prototype.eqn=function(t){return 0===this.cmpn(t)},s.prototype.eq=function(t){return 0===this.cmp(t)},s.red=function(t){return new S(t)},s.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},s.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(t){return this.red=t,this},s.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},s.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},s.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},s.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},s.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},s.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},s.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},s.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},s.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function b(t,e){this.name=t,this.p=new s(e,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function w(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function S(t){if("string"==typeof t){var e=s._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){S.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var t=new s(null);return t.words=new Array(Math.ceil(this.n/13)),t},b.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},b.prototype.split=function(t,e){t.iushrn(this.n,0,e)},b.prototype.imulK=function(t){return t.imul(this.k)},n(v,b),v.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,s=o}s>>>=22,t.words[n-10]=s,0===s&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},s._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new w;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return y[t]=e,e},S.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},S.prototype._verify2=function(t,e){i(!(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},S.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},S.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},S.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},S.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},S.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},S.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},S.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},S.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},S.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},S.prototype.isqr=function(t){return this.imul(t,t.clone())},S.prototype.sqr=function(t){return this.mul(t,t)},S.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2==1),3===e){var r=this.m.add(new s(1)).iushrn(2);return this.pow(t,r)}for(var n=this.m.subn(1),o=0;!n.isZero()&&0===n.andln(1);)o++,n.iushrn(1);i(!n.isZero());var a=new s(1).toRed(this),h=a.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new s(2*f*f).toRed(this);0!==this.pow(f,u).cmp(h);)f.redIAdd(h);for(var l=this.pow(f,n),c=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=o;0!==d.cmp(a);){for(var m=d,g=0;0!==m.cmp(a);g++)m=m.redSqr();i(g=0;i--){for(var u=e.words[i],f=h-1;f>=0;f--){var l=u>>f&1;n!==r[0]&&(n=this.sqr(n)),0!==l||0!==o?(o<<=1,o|=l,(4===++a||0===i&&0===f)&&(n=this.mul(n,r[o]),a=0,o=0)):a=0}h=26}return n},S.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},S.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},s.mont=function(t){return new k(t)},n(k,S),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),s=n;return n.cmp(this.m)>=0?s=n.isub(this.m):n.cmpn(0)<0&&(s=n.iadd(this.m)),s._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new s(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=r.nmd(t),this)},8499:(t,e,r)=>{const{TokenBucket:i}=r(9439),n=r(8765);t.exports=class{constructor(t={}){if("object"!=typeof t)throw new Error("Options must be an object");this.throttles=[],this.setEnabled(t.enabled),this.setRate(t.rate,t.chunksize)}getEnabled(){return this._enabled}getRate(){return this.bucket.tokensPerInterval}getChunksize(){return this.chunksize}setEnabled(t=!0){if("boolean"!=typeof t)throw new Error("Enabled must be a boolean");this._enabled=t;for(const e of this.throttles)e.setEnabled(t)}setRate(t,e=null){if(!Number.isInteger(t)||t<0)throw new Error("Rate must be an integer bigger than zero");if(t=parseInt(t),e&&("number"!=typeof e||e<=0))throw new Error("Chunksize must be bigger than zero");if(e=e||Math.max(parseInt(t/10),1),e=parseInt(e),t>0&&e>t)throw new Error("Chunk size must be smaller than rate");this.bucket||(this.bucket=new i(t,t,"second",null)),this.bucket.bucketSize=t,this.bucket.tokensPerInterval=t,this.chunksize=e}setChunksize(t){if(!Number.isInteger(t)||t<=0)throw new Error("Chunk size must be an integer bigger than zero");const e=this.getRate();if(t=parseInt(t),e>0&&t>e)throw new Error("Chunk size must be smaller than rate");this.chunksize=t}throttle(t={}){if("object"!=typeof t)throw new Error("Options must be an object");return new n({...t,group:this})}destroy(){for(const t of this.throttles)t.destroy();this.throttles=[]}_addThrottle(t){if(!(t instanceof n))throw new Error("Throttle must be an instance of Throttle");this.throttles.push(t)}_removeThrottle(t){const e=this.throttles.indexOf(t);e>-1&&this.throttles.splice(e,1)}}},8545:(t,e,r)=>{var i=r(8490),n=r(7011),s=n.assert;function o(t,e){if(t instanceof o)return t;this._importDER(t,e)||(s(t.r&&t.s,"Signature without r or s"),this.r=new i(t.r,16),this.s=new i(t.s,16),void 0===t.recoveryParam?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}function a(){this.place=0}function h(t,e){var r=t[e.place++];if(!(128&r))return r;var i=15&r;if(0===i||i>4)return!1;if(0===t[e.place])return!1;for(var n=0,s=0,o=e.place;s>>=0;return!(n<=127)&&(e.place=o,n)}function u(t){for(var e=0,r=t.length-1;!t[e]&&!(128&t[e+1])&&e>>3);for(t.push(128|r);--r;)t.push(e>>>(r<<3)&255);t.push(e)}}t.exports=o,o.prototype._importDER=function(t,e){t=n.toArray(t,e);var r=new a;if(48!==t[r.place++])return!1;var s=h(t,r);if(!1===s)return!1;if(s+r.place!==t.length)return!1;if(2!==t[r.place++])return!1;var o=h(t,r);if(!1===o)return!1;if(128&t[r.place])return!1;var u=t.slice(r.place,o+r.place);if(r.place+=o,2!==t[r.place++])return!1;var f=h(t,r);if(!1===f)return!1;if(t.length!==f+r.place)return!1;if(128&t[r.place])return!1;var l=t.slice(r.place,f+r.place);if(0===u[0]){if(!(128&u[1]))return!1;u=u.slice(1)}if(0===l[0]){if(!(128&l[1]))return!1;l=l.slice(1)}return this.r=new i(u),this.s=new i(l),this.recoveryParam=null,!0},o.prototype.toDER=function(t){var e=this.r.toArray(),r=this.s.toArray();for(128&e[0]&&(e=[0].concat(e)),128&r[0]&&(r=[0].concat(r)),e=u(e),r=u(r);!(r[0]||128&r[1]);)r=r.slice(1);var i=[2];f(i,e.length),(i=i.concat(e)).push(2),f(i,r.length);var s=i.concat(r),o=[48];return f(o,s.length),o=o.concat(s),n.encode(o,t)}},8636:(t,e,r)=>{var i=r(920),n=r(7720),s=r(4765),o=Object.prototype.hasOwnProperty,a={brackets:function(t){return t+"[]"},comma:"comma",indices:function(t,e){return t+"["+e+"]"},repeat:function(t){return t}},h=Array.isArray,u=Array.prototype.push,f=function(t,e){u.apply(t,h(e)?e:[e])},l=Date.prototype.toISOString,c=s.default,d={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:n.encode,encodeValuesOnly:!1,format:c,formatter:s.formatters[c],indices:!1,serializeDate:function(t){return l.call(t)},skipNulls:!1,strictNullHandling:!1},p={},m=function t(e,r,s,o,a,u,l,c,m,g,y,b,v,w,_,M,S,k){for(var E,x=e,A=k,I=0,T=!1;void 0!==(A=A.get(p))&&!T;){var P=A.get(e);if(I+=1,void 0!==P){if(P===I)throw new RangeError("Cyclic object value");T=!0}void 0===A.get(p)&&(I=0)}if("function"==typeof g?x=g(r,x):x instanceof Date?x=v(x):"comma"===s&&h(x)&&(x=n.maybeMap(x,(function(t){return t instanceof Date?v(t):t}))),null===x){if(u)return m&&!M?m(r,d.encoder,S,"key",w):r;x=""}if("string"==typeof(E=x)||"number"==typeof E||"boolean"==typeof E||"symbol"==typeof E||"bigint"==typeof E||n.isBuffer(x))return m?[_(M?r:m(r,d.encoder,S,"key",w))+"="+_(m(x,d.encoder,S,"value",w))]:[_(r)+"="+_(String(x))];var C,R=[];if(void 0===x)return R;if("comma"===s&&h(x))M&&m&&(x=n.maybeMap(x,m)),C=[{value:x.length>0?x.join(",")||null:void 0}];else if(h(g))C=g;else{var O=Object.keys(x);C=y?O.sort(y):O}var B=c?r.replace(/\./g,"%2E"):r,L=o&&h(x)&&1===x.length?B+"[]":B;if(a&&h(x)&&0===x.length)return L+"[]";for(var N=0;N0?w+v:""}},8648:t=>{t.exports="undefined"!=typeof Reflect&&Reflect.getPrototypeOf||null},8650:(t,e,r)=>{var i=r(7952),n=r(480),s=r(7011),o=s.assert,a=s.parseBytes,h=r(6661),u=r(220);function f(t){if(o("ed25519"===t,"only tested with ed25519 so far"),!(this instanceof f))return new f(t);t=n[t].curve,this.curve=t,this.g=t.g,this.g.precompute(t.n.bitLength()+1),this.pointClass=t.point().constructor,this.encodingLength=Math.ceil(t.n.bitLength()/8),this.hash=i.sha512}t.exports=f,f.prototype.sign=function(t,e){t=a(t);var r=this.keyFromSecret(e),i=this.hashInt(r.messagePrefix(),t),n=this.g.mul(i),s=this.encodePoint(n),o=this.hashInt(s,r.pubBytes(),t).mul(r.priv()),h=i.add(o).umod(this.curve.n);return this.makeSignature({R:n,S:h,Rencoded:s})},f.prototype.verify=function(t,e,r){if(t=a(t),(e=this.makeSignature(e)).S().gte(e.eddsa.curve.n)||e.S().isNeg())return!1;var i=this.keyFromPublic(r),n=this.hashInt(e.Rencoded(),i.pubBytes(),t),s=this.g.mul(e.S());return e.R().add(i.pub().mul(n)).eq(s)},f.prototype.hashInt=function(){for(var t=this.hash(),e=0;e{function e(){this._types=Object.create(null),this._extensions=Object.create(null);for(let t=0;t{function e(t){return parseInt(t,10)===t}function r(t){function r(e){if(void 0===e){e=new Array(t);for(var r=0;r{var i=r(8287).Buffer;const{getType:n}=r(7972);function s(t,e,r){const n=[];let o=null;return s._encode(n,t),o=i.concat(n),s.bytes=o.length,i.isBuffer(e)?(o.copy(e,r),e):o}s.bytes=-1,s._floatConversionDetected=!1,s._encode=function(t,e){if(null!=e)switch(n(e)){case"buffer":s.buffer(t,e);break;case"object":s.dict(t,e);break;case"map":s.dictMap(t,e);break;case"array":s.list(t,e);break;case"set":s.listSet(t,e);break;case"string":s.string(t,e);break;case"number":case"boolean":s.number(t,e);break;case"arraybufferview":s.buffer(t,i.from(e.buffer,e.byteOffset,e.byteLength));break;case"arraybuffer":s.buffer(t,i.from(e))}};const o=i.from("e"),a=i.from("d"),h=i.from("l");s.buffer=function(t,e){t.push(i.from(e.length+":"),e)},s.string=function(t,e){t.push(i.from(i.byteLength(e)+":"+e))},s.number=function(t,e){const r=2147483648,n=(e/r|0)*r+(e%r|0);t.push(i.from("i"+n+"e")),n===e||s._floatConversionDetected||(s._floatConversionDetected=!0,console.warn('WARNING: Possible data corruption detected with value "'+e+'":','Bencoding only defines support for integers, value was converted to "'+n+'"'),console.trace())},s.dict=function(t,e){t.push(a);let r,i=0;const n=Object.keys(e).sort(),h=n.length;for(;i{var i=r(717);const n=r(8957),s=r(537),o=r(7007),a=s.debuglog("http");function h(t){if(!(this instanceof h))return new h(t);o.call(this);var e=this;e.defaultPort=80,e.protocol="http:",e.options=s._extend({},t),e.options.path=null,e.requests={},e.sockets={},e.freeSockets={},e.keepAliveMsecs=e.options.keepAliveMsecs||1e3,e.keepAlive=e.options.keepAlive||!1,e.maxSockets=e.options.maxSockets||h.defaultMaxSockets,e.maxFreeSockets=e.options.maxFreeSockets||256,e.on("free",(function(t,r){var i=e.getName(r);if(a("agent.on(free)",i),t.writable&&e.requests[i]&&e.requests[i].length)e.requests[i].shift().onSocket(t),0===e.requests[i].length&&delete e.requests[i];else{var n=t._httpMessage;if(n&&n.shouldKeepAlive&&t.writable&&e.keepAlive){var s=e.freeSockets[i],o=s?s.length:0,h=o;e.sockets[i]&&(h+=e.sockets[i].length),h>e.maxSockets||o>=e.maxFreeSockets?t.destroy():(s=s||[],e.freeSockets[i]=s,t.setKeepAlive(!0,e.keepAliveMsecs),t.unref(),t._httpMessage=null,e.removeSocket(t,r),s.push(t))}else t.destroy()}}))}s.inherits(h,o),e.Agent=h,h.defaultMaxSockets=1/0,h.prototype.createConnection=n.createConnection,h.prototype.getName=function(t){var e=t.host||"localhost";return e+=":",t.port&&(e+=t.port),e+=":",t.localAddress&&(e+=t.localAddress),4!==t.family&&6!==t.family||(e+=":"+t.family),e},h.prototype.addRequest=function(t,e){"string"==typeof e&&(e={host:e,port:arguments[2],localAddress:arguments[3]}),e=s._extend({},e),e=s._extend(e,this.options);var r=this.getName(e);this.sockets[r]||(this.sockets[r]=[]);var n=this.freeSockets[r]?this.freeSockets[r].length:0,o=n+this.sockets[r].length;if(n){var h=this.freeSockets[r].shift();a("have free socket"),this.freeSockets[r].length||delete this.freeSockets[r],h.ref(),t.onSocket(h),this.sockets[r].push(h)}else o{const{EventEmitter:i}=r(7007),{Transform:n}=r(8179),{wait:s}=r(2072);t.exports=class extends n{constructor(t={}){if(super(),"object"!=typeof t)throw new Error("Options must be an object");const e=Object.assign({},t);if(e.group&&!(e.group instanceof o))throw new Error("Group must be an instanece of ThrottleGroup");e.group||(e.group=new o(e)),this._setEnabled(e.enabled||e.group.enabled),this._group=e.group,this._emitter=new i,this._destroyed=!1,this._group._addThrottle(this)}getEnabled(){return this._enabled}getGroup(){return this._group}_setEnabled(t=!0){if("boolean"!=typeof t)throw new Error("Enabled must be a boolean");this._enabled=t}setEnabled(t){this._setEnabled(t),this._enabled?this._emitter.emit("enabled"):this._emitter.emit("disabled")}_transform(t,e){this._processChunk(t,e)}async _waitForTokens(t){return new Promise(((e,r)=>{let i=!1;const n=this;function s(t){if(n._emitter.removeListener("disabled",s),n._emitter.removeListener("destroyed",s),!i){if(i=!0,t)return r(t);e()}}this._emitter.once("disabled",s),this._emitter.once("destroyed",s),this._group.bucket.removeTokens(t,s)}))}_areBothEnabled(){return this._enabled&&this._group.getEnabled()}async _processChunk(t,e){if(!this._areBothEnabled())return e(null,t);let r=0,i=this._group.getChunksize(),n=t.slice(r,r+i);for(;n.length>0;){if(this._areBothEnabled())try{for(;0===this._group.getRate()&&!this._destroyed&&this._areBothEnabled();)if(await s(1e3),this._destroyed)return;if(this._areBothEnabled()&&!this._group.bucket.tryRemoveTokens(n.length)&&(await this._waitForTokens(n.length),this._destroyed))return}catch(t){return e(t)}this.push(n),r+=i,i=this._areBothEnabled()?this._group.getChunksize():t.length-r,n=t.slice(r,r+i)}return e()}destroy(...t){this._group._removeThrottle(this),this._destroyed=!0,this._emitter.emit("destroyed"),super.destroy(...t)}};const o=r(8499)},8835:(t,e,r)=>{var i=r(9655);function n(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}var s=/^([a-z0-9.+-]+:)/i,o=/:[0-9]*$/,a=/^(\/\/?(?!\/)[^?\s]*)(\?[^\s]*)?$/,h=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),u=["'"].concat(h),f=["%","/","?",";","#"].concat(u),l=["/","?","#"],c=/^[+a-z0-9A-Z_-]{0,63}$/,d=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,p={javascript:!0,"javascript:":!0},m={javascript:!0,"javascript:":!0},g={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},y=r(5373);function b(t,e,r){if(t&&"object"==typeof t&&t instanceof n)return t;var i=new n;return i.parse(t,e,r),i}n.prototype.parse=function(t,e,r){if("string"!=typeof t)throw new TypeError("Parameter 'url' must be a string, not "+typeof t);var n=t.indexOf("?"),o=-1!==n&&n127?R+="x":R+=C[O];if(!R.match(c)){var L=T.slice(0,x),N=T.slice(x+1),j=C.match(d);j&&(L.push(j[1]),N.unshift(j[2])),N.length&&(b="/"+N.join(".")+b),this.hostname=L.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),I||(this.hostname=i.toASCII(this.hostname));var U=this.port?":"+this.port:"",q=this.hostname||"";this.host=q+U,this.href+=this.host,I&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==b[0]&&(b="/"+b))}if(!p[_])for(x=0,P=u.length;x0)&&r.host.split("@"))&&(r.auth=I.shift(),r.hostname=I.shift(),r.host=r.hostname);return r.search=t.search,r.query=t.query,null===r.pathname&&null===r.search||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.href=r.format(),r}if(!M.length)return r.pathname=null,r.search?r.path="/"+r.search:r.path=null,r.href=r.format(),r;for(var k=M.slice(-1)[0],E=(r.host||t.host||M.length>1)&&("."===k||".."===k)||""===k,x=0,A=M.length;A>=0;A--)"."===(k=M[A])?M.splice(A,1):".."===k?(M.splice(A,1),x++):x&&(M.splice(A,1),x--);if(!w&&!_)for(;x--;x)M.unshift("..");!w||""===M[0]||M[0]&&"/"===M[0].charAt(0)||M.unshift(""),E&&"/"!==M.join("/").substr(-1)&&M.push("");var I,T=""===M[0]||M[0]&&"/"===M[0].charAt(0);S&&(r.hostname=T?"":M.length?M.shift():"",r.host=r.hostname,(I=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@"))&&(r.auth=I.shift(),r.hostname=I.shift(),r.host=r.hostname));return(w=w||r.host&&M.length)&&!T&&M.unshift(""),M.length>0?r.pathname=M.join("/"):(r.pathname=null,r.path=null),null===r.pathname&&null===r.search||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.auth=t.auth||r.auth,r.slashes=r.slashes||t.slashes,r.href=r.format(),r},n.prototype.parseHost=function(){var t=this.host,e=o.exec(t);e&&(":"!==(e=e[0])&&(this.port=e.substr(1)),t=t.substr(0,t.length-e.length)),t&&(this.hostname=t)},e.parse=b,e.resolve=function(t,e){return b(t,!1,!0).resolve(e)},e.resolveObject=function(t,e){return t?b(t,!1,!0).resolveObject(e):e},e.format=function(t){return"string"==typeof t&&(t=b(t)),t instanceof n?t.format():n.prototype.format.call(t)},e.Url=n},8859:(t,e,r)=>{var i="function"==typeof Map&&Map.prototype,n=Object.getOwnPropertyDescriptor&&i?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,s=i&&n&&"function"==typeof n.get?n.get:null,o=i&&Map.prototype.forEach,a="function"==typeof Set&&Set.prototype,h=Object.getOwnPropertyDescriptor&&a?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,u=a&&h&&"function"==typeof h.get?h.get:null,f=a&&Set.prototype.forEach,l="function"==typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,c="function"==typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,d="function"==typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,p=Boolean.prototype.valueOf,m=Object.prototype.toString,g=Function.prototype.toString,y=String.prototype.match,b=String.prototype.slice,v=String.prototype.replace,w=String.prototype.toUpperCase,_=String.prototype.toLowerCase,M=RegExp.prototype.test,S=Array.prototype.concat,k=Array.prototype.join,E=Array.prototype.slice,x=Math.floor,A="function"==typeof BigInt?BigInt.prototype.valueOf:null,I=Object.getOwnPropertySymbols,T="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol.prototype.toString:null,P="function"==typeof Symbol&&"object"==typeof Symbol.iterator,C="function"==typeof Symbol&&Symbol.toStringTag&&(typeof Symbol.toStringTag===P||"symbol")?Symbol.toStringTag:null,R=Object.prototype.propertyIsEnumerable,O=("function"==typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(t){return t.__proto__}:null);function B(t,e){if(t===1/0||t===-1/0||t!=t||t&&t>-1e3&&t<1e3||M.call(/e/,e))return e;var r=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"==typeof t){var i=t<0?-x(-t):x(t);if(i!==t){var n=String(i),s=b.call(e,n.length+1);return v.call(n,r,"$&_")+"."+v.call(v.call(s,/([0-9]{3})/g,"$&_"),/_$/,"")}}return v.call(e,r,"$&_")}var L=r(8093),N=L.custom,j=W(N)?N:null,U={__proto__:null,double:'"',single:"'"},q={__proto__:null,double:/(["\\])/g,single:/(['\\])/g};function D(t,e,r){var i=r.quoteStyle||e,n=U[i];return n+t+n}function H(t){return v.call(String(t),/"/g,""")}function F(t){return!C||!("object"==typeof t&&(C in t||void 0!==t[C]))}function z(t){return"[object Array]"===Z(t)&&F(t)}function $(t){return"[object RegExp]"===Z(t)&&F(t)}function W(t){if(P)return t&&"object"==typeof t&&t instanceof Symbol;if("symbol"==typeof t)return!0;if(!t||"object"!=typeof t||!T)return!1;try{return T.call(t),!0}catch(t){}return!1}t.exports=function t(e,r,i,n){var a=r||{};if(V(a,"quoteStyle")&&!V(U,a.quoteStyle))throw new TypeError('option "quoteStyle" must be "single" or "double"');if(V(a,"maxStringLength")&&("number"==typeof a.maxStringLength?a.maxStringLength<0&&a.maxStringLength!==1/0:null!==a.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var h=!V(a,"customInspect")||a.customInspect;if("boolean"!=typeof h&&"symbol"!==h)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(V(a,"indent")&&null!==a.indent&&"\t"!==a.indent&&!(parseInt(a.indent,10)===a.indent&&a.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(V(a,"numericSeparator")&&"boolean"!=typeof a.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var m=a.numericSeparator;if(void 0===e)return"undefined";if(null===e)return"null";if("boolean"==typeof e)return e?"true":"false";if("string"==typeof e)return Y(e,a);if("number"==typeof e){if(0===e)return 1/0/e>0?"0":"-0";var w=String(e);return m?B(e,w):w}if("bigint"==typeof e){var M=String(e)+"n";return m?B(e,M):M}var x=void 0===a.depth?5:a.depth;if(void 0===i&&(i=0),i>=x&&x>0&&"object"==typeof e)return z(e)?"[Array]":"[Object]";var I=function(t,e){var r;if("\t"===t.indent)r="\t";else{if(!("number"==typeof t.indent&&t.indent>0))return null;r=k.call(Array(t.indent+1)," ")}return{base:r,prev:k.call(Array(e+1),r)}}(a,i);if(void 0===n)n=[];else if(G(n,e)>=0)return"[Circular]";function N(e,r,s){if(r&&(n=E.call(n)).push(r),s){var o={depth:a.depth};return V(a,"quoteStyle")&&(o.quoteStyle=a.quoteStyle),t(e,o,i+1,n)}return t(e,a,i+1,n)}if("function"==typeof e&&!$(e)){var q=function(t){if(t.name)return t.name;var e=y.call(g.call(t),/^function\s*([\w$]+)/);if(e)return e[1];return null}(e),K=rt(e,N);return"[Function"+(q?": "+q:" (anonymous)")+"]"+(K.length>0?" { "+k.call(K,", ")+" }":"")}if(W(e)){var J=P?v.call(String(e),/^(Symbol\(.*\))_[^)]*$/,"$1"):T.call(e);return"object"!=typeof e||P?J:X(J)}if(function(t){if(!t||"object"!=typeof t)return!1;if("undefined"!=typeof HTMLElement&&t instanceof HTMLElement)return!0;return"string"==typeof t.nodeName&&"function"==typeof t.getAttribute}(e)){for(var it="<"+_.call(String(e.nodeName)),nt=e.attributes||[],st=0;st"}if(z(e)){if(0===e.length)return"[]";var ot=rt(e,N);return I&&!function(t){for(var e=0;e=0)return!1;return!0}(ot)?"["+et(ot,I)+"]":"[ "+k.call(ot,", ")+" ]"}if(function(t){return"[object Error]"===Z(t)&&F(t)}(e)){var at=rt(e,N);return"cause"in Error.prototype||!("cause"in e)||R.call(e,"cause")?0===at.length?"["+String(e)+"]":"{ ["+String(e)+"] "+k.call(at,", ")+" }":"{ ["+String(e)+"] "+k.call(S.call("[cause]: "+N(e.cause),at),", ")+" }"}if("object"==typeof e&&h){if(j&&"function"==typeof e[j]&&L)return L(e,{depth:x-i});if("symbol"!==h&&"function"==typeof e.inspect)return e.inspect()}if(function(t){if(!s||!t||"object"!=typeof t)return!1;try{s.call(t);try{u.call(t)}catch(t){return!0}return t instanceof Map}catch(t){}return!1}(e)){var ht=[];return o&&o.call(e,(function(t,r){ht.push(N(r,e,!0)+" => "+N(t,e))})),tt("Map",s.call(e),ht,I)}if(function(t){if(!u||!t||"object"!=typeof t)return!1;try{u.call(t);try{s.call(t)}catch(t){return!0}return t instanceof Set}catch(t){}return!1}(e)){var ut=[];return f&&f.call(e,(function(t){ut.push(N(t,e))})),tt("Set",u.call(e),ut,I)}if(function(t){if(!l||!t||"object"!=typeof t)return!1;try{l.call(t,l);try{c.call(t,c)}catch(t){return!0}return t instanceof WeakMap}catch(t){}return!1}(e))return Q("WeakMap");if(function(t){if(!c||!t||"object"!=typeof t)return!1;try{c.call(t,c);try{l.call(t,l)}catch(t){return!0}return t instanceof WeakSet}catch(t){}return!1}(e))return Q("WeakSet");if(function(t){if(!d||!t||"object"!=typeof t)return!1;try{return d.call(t),!0}catch(t){}return!1}(e))return Q("WeakRef");if(function(t){return"[object Number]"===Z(t)&&F(t)}(e))return X(N(Number(e)));if(function(t){if(!t||"object"!=typeof t||!A)return!1;try{return A.call(t),!0}catch(t){}return!1}(e))return X(N(A.call(e)));if(function(t){return"[object Boolean]"===Z(t)&&F(t)}(e))return X(p.call(e));if(function(t){return"[object String]"===Z(t)&&F(t)}(e))return X(N(String(e)));if("undefined"!=typeof window&&e===window)return"{ [object Window] }";if("undefined"!=typeof globalThis&&e===globalThis||"undefined"!=typeof globalThis&&e===globalThis)return"{ [object globalThis] }";if(!function(t){return"[object Date]"===Z(t)&&F(t)}(e)&&!$(e)){var ft=rt(e,N),lt=O?O(e)===Object.prototype:e instanceof Object||e.constructor===Object,ct=e instanceof Object?"":"null prototype",dt=!lt&&C&&Object(e)===e&&C in e?b.call(Z(e),8,-1):ct?"Object":"",pt=(lt||"function"!=typeof e.constructor?"":e.constructor.name?e.constructor.name+" ":"")+(dt||ct?"["+k.call(S.call([],dt||[],ct||[]),": ")+"] ":"");return 0===ft.length?pt+"{}":I?pt+"{"+et(ft,I)+"}":pt+"{ "+k.call(ft,", ")+" }"}return String(e)};var K=Object.prototype.hasOwnProperty||function(t){return t in this};function V(t,e){return K.call(t,e)}function Z(t){return m.call(t)}function G(t,e){if(t.indexOf)return t.indexOf(e);for(var r=0,i=t.length;re.maxStringLength){var r=t.length-e.maxStringLength,i="... "+r+" more character"+(r>1?"s":"");return Y(b.call(t,0,e.maxStringLength),e)+i}var n=q[e.quoteStyle||"single"];return n.lastIndex=0,D(v.call(v.call(t,n,"\\$1"),/[\x00-\x1f]/g,J),"single",e)}function J(t){var e=t.charCodeAt(0),r={8:"b",9:"t",10:"n",12:"f",13:"r"}[e];return r?"\\"+r:"\\x"+(e<16?"0":"")+w.call(e.toString(16))}function X(t){return"Object("+t+")"}function Q(t){return t+" { ? }"}function tt(t,e,r,i){return t+" ("+e+") {"+(i?et(r,i):k.call(r,", "))+"}"}function et(t,e){if(0===t.length)return"";var r="\n"+e.prev+e.base;return r+k.call(t,","+r)+"\n"+e.prev}function rt(t,e){var r=z(t),i=[];if(r){i.length=t.length;for(var n=0;n{var i;if(!Object.keys){var n=Object.prototype.hasOwnProperty,s=Object.prototype.toString,o=r(1093),a=Object.prototype.propertyIsEnumerable,h=!a.call({toString:null},"toString"),u=a.call((function(){}),"prototype"),f=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],l=function(t){var e=t.constructor;return e&&e.prototype===t},c={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},d=function(){if("undefined"==typeof window)return!1;for(var t in window)try{if(!c["$"+t]&&n.call(window,t)&&null!==window[t]&&"object"==typeof window[t])try{l(window[t])}catch(t){return!0}}catch(t){return!0}return!1}();i=function(t){var e=null!==t&&"object"==typeof t,r="[object Function]"===s.call(t),i=o(t),a=e&&"[object String]"===s.call(t),c=[];if(!e&&!r&&!i)throw new TypeError("Object.keys called on a non-object");var p=u&&r;if(a&&t.length>0&&!n.call(t,0))for(var m=0;m0)for(var g=0;g{var i=r(8170),n=r(3209),s=r(7108),o=r(8206),a=r(2061),h=r(2509),u=r(9247),f=r(7332),l=r(2861).Buffer;t.exports=function(t,e,r){var c;c=t.padding?t.padding:r?1:4;var d,p=i(t);if(4===c)d=function(t,e){var r=t.modulus.byteLength(),i=e.length,u=s("sha1").update(l.alloc(0)).digest(),f=u.length,c=2*f;if(i>r-c-2)throw new Error("message too long");var d=l.alloc(r-i-c-2),p=r-f-1,m=n(f),g=a(l.concat([u,d,l.alloc(1,1),e],p),o(m,p)),y=a(m,o(g,f));return new h(l.concat([l.alloc(1),y,g],r))}(p,e);else if(1===c)d=function(t,e,r){var i,s=e.length,o=t.modulus.byteLength();if(s>o-11)throw new Error("message too long");i=r?l.alloc(o-s-3,255):function(t){var e,r=l.allocUnsafe(t),i=0,s=n(2*t),o=0;for(;i=0)throw new Error("data too long for modulus")}return r?f(d,p):u(d,p)}},8903:(t,e,r)=>{var i=r(6698),n=r(8287).Buffer,s=r(2010);function o(t){s.call(this,t),this.enc="pem"}i(o,s),t.exports=o,o.prototype.decode=function(t,e){for(var r=t.toString().split(/[\r\n]+/g),i=e.label.toUpperCase(),o=/^-----(BEGIN|END) ([^-]+)-----$/,a=-1,h=-1,u=0;u{var i=r(7426),n=r(3349);function s(t,e,r){if(!(this instanceof s))return new s(t,e,r);this.Hash=t,this.blockSize=t.blockSize/8,this.outSize=t.outSize/8,this.inner=null,this.outer=null,this._init(i.toArray(e,r))}t.exports=s,s.prototype._init=function(t){t.length>this.blockSize&&(t=(new this.Hash).update(t).digest()),n(t.length<=this.blockSize);for(var e=t.length;e{var i,n,s=r(717),o=r(7007),a=r(6698),h=r(8310),u=r(537).deprecate,f=r(7103),l=r(8287).Buffer,c={},d={};function p(t,e){if(!(this instanceof p))return new p(t,e);if(o.call(this),"function"==typeof t)e=t,t={},this.on("connection",e);else{if(null!=t&&"object"!=typeof t)throw new TypeError("options must be an object");t=t||{},"function"==typeof e&&this.on("connection",e)}this._connections=0,Object.defineProperty(this,"connections",{get:u((()=>this._connections),"Server.connections property is deprecated. Use Server.getConnections method instead."),set:u((t=>this._connections=t),"Server.connections property is deprecated."),configurable:!0,enumerable:!1}),this.id=null,this.connecting=!1,this.allowHalfOpen=t.allowHalfOpen||!1,this.pauseOnConnect=!!t.pauseOnConnect,this._address=null,this._host=null,this._port=null,this._backlog=null}function m(t){t.id||t.connecting||t._connections||t.emit("close")}function g(t){if(!(this instanceof g))return new g(t);if("number"==typeof t?t={fd:t}:void 0===t&&(t={}),t.handle)throw new Error("handle is not supported in Chrome Apps.");if(void 0!==t.fd)throw new Error("fd is not supported in Chrome Apps.");t.decodeStrings=!0,t.objectMode=!1,h.Duplex.call(this,t),this.destroyed=!1,this._hadError=!1,this.id=null,this._parent=null,this._host=null,this._port=null,this._pendingData=null,this.ondata=null,this.onend=null,this._init(),this._reset(),this.allowHalfOpen=t.allowHalfOpen||!1,this.on("finish",this.destroy),t.server&&(this.server=this._server=t.server,this.id=t.id,d[this.id]=this,t.pauseOnCreate&&(this._readableState.flowing=!1),this.connecting=!0,this.writable=!0,this._onConnect())}"object"==typeof chrome&&"object"==typeof chrome.runtime&&"string"==typeof chrome.runtime.id&&"object"==typeof chrome.sockets&&"object"==typeof chrome.sockets.tcpServer&&"object"==typeof chrome.sockets.tcp&&(chrome.sockets.tcpServer.onAccept.addListener((function(t){t.socketId in c?c[t.socketId]._onAccept(t.clientSocketId):console.error("Unknown server socket id: "+t.socketId)})),chrome.sockets.tcpServer.onAcceptError.addListener((function(t){t.socketId in c?c[t.socketId]._onAcceptError(t.resultCode):console.error("Unknown server socket id: "+t.socketId)})),chrome.sockets.tcp.onReceive.addListener((function(t){t.socketId in d?d[t.socketId]._onReceive(t.data):console.error("Unknown socket id: "+t.socketId)})),chrome.sockets.tcp.onReceiveError.addListener((function(t){if(t.socketId in d)d[t.socketId]._onReceiveError(t.resultCode);else{if(-100===t.resultCode)return;console.error("Unknown socket id: "+t.socketId)}}))),e.createServer=function(t,e){return new p(t,e)},e.connect=e.createConnection=function(){const t=arguments.length;for(var e=new Array(t),r=0;r=0)throw new Error("fd is not supported in Chrome Apps.");if(n.backlog&&(i=n.backlog),!("number"==typeof n.port||"string"==typeof n.port||void 0===n.port&&"port"in n))throw n.path&&_(n.path)?new Error("Pipes are not supported in Chrome Apps."):new Error("Invalid listen argument: "+n);e=n.host||null,r=n.port}else{if(_(arguments[0]))throw new Error("Pipes are not supported in Chrome Apps.");e=void 0===arguments[1]||"function"==typeof arguments[1]||"number"==typeof arguments[1]?null:arguments[1]}this.id&&this.close(),function(t){if(void 0!==t&&!M(t))throw new RangeError('"port" argument must be >= 0 and < 65536')}(r),this._port=0|r,this._host=e;var s=!this._host;return s&&(this._host="::"),this._backlog="number"==typeof i?i:void 0,this.connecting=!0,chrome.sockets.tcpServer.create((t=>{if(!this.connecting||this.id)return S(),void chrome.sockets.tcpServer.close(t.socketId);if(chrome.runtime.lastError)this.emit("error",new Error(chrome.runtime.lastError.message));else{var e=this.id=t.socketId;c[this.id]=this;var r=()=>chrome.sockets.tcpServer.listen(this.id,this._host,this._port,this._backlog,(t=>{if(this.id===e)return 0!==t&&s?(S(),this._host="0.0.0.0",s=!1,r()):void this._onListen(t);S()}));r()}})),this},p.prototype._onListen=function(t){if(this.connecting=!1,0===t){var e=this.id;chrome.sockets.tcpServer.getInfo(this.id,(t=>{this.id===e?chrome.runtime.lastError?this._onListen(-2):(this._address={port:t.localPort,family:t.localAddress&&-1!==t.localAddress.indexOf(":")?"IPv6":"IPv4",address:t.localAddress},this.emit("listening")):S()}))}else this.emit("error",I(t,"listen",this._host,this._port)),this.id&&(chrome.sockets.tcpServer.close(this.id),delete c[this.id],this.id=null)},p.prototype._onAccept=function(t){if(this.maxConnections&&this._connections>=this.maxConnections)return chrome.sockets.tcp.close(t),void console.warn("Rejected connection - hit `maxConnections` limit");this._connections+=1;var e=new g({server:this,id:t,allowHalfOpen:this.allowHalfOpen,pauseOnCreate:this.pauseOnConnect});e.on("connect",(()=>this.emit("connection",e)))},p.prototype._onAcceptError=function(t){this.emit("error",A(t,"accept")),this.close()},p.prototype.close=function(t){return"function"==typeof t&&(this.id?this.once("close",t):this.once("close",(()=>t(new Error("Not running"))))),this.id&&(chrome.sockets.tcpServer.close(this.id),delete c[this.id],this.id=null),this._address=null,this.connecting=!1,this._emitCloseIfDrained(),this},p.prototype._emitCloseIfDrained=function(){this.id||this.connecting||this._connections||s.nextTick(m,this)},Object.defineProperty(p.prototype,"listening",{get:function(){return!!this._address},configurable:!0,enumerable:!0}),p.prototype.address=function(){return this._address},p.prototype.unref=p.prototype.ref=function(){return this},p.prototype.getConnections=function(t){s.nextTick(t,null,this._connections)},a(g,h.Duplex),e.Socket=g,g.prototype._init=function(){this.bytesRead=0,this._bytesDispatched=0,this.server=null,this._server=null},g.prototype._reset=function(){this.remoteAddress=this.remotePort=this.localAddress=this.localPort=null,this.remoteFamily="IPv4",this.readable=this.writable=!1,this.connecting=!1},g.prototype.connect=function(){const t=arguments.length;for(var e=new Array(t),r=0;r= 0 and < 65536: '+this._port)}return this._port|=0,this._init(),this._unrefTimer(),"function"==typeof n&&this.once("connect",n),chrome.sockets.tcp.create((t=>{if(!this.connecting||this.id)return S(),void chrome.sockets.tcp.close(t.socketId);chrome.runtime.lastError?this.destroy(new Error(chrome.runtime.lastError.message)):(this.id=t.socketId,d[this.id]=this,chrome.sockets.tcp.setPaused(this.id,!0),chrome.sockets.tcp.connect(this.id,this._host,this._port,(e=>{this.id===t.socketId?0===e?(this._unrefTimer(),this._onConnect()):this.destroy(I(e,"connect",this._host,this._port)):S()})))})),this},g.prototype._onConnect=function(){var t=this.id;chrome.sockets.tcp.getInfo(this.id,(e=>{this.id===t?chrome.runtime.lastError?this.destroy(new Error(chrome.runtime.lastError.message)):(this.remoteAddress=e.peerAddress,this.remoteFamily=e.peerAddress&&-1!==e.peerAddress.indexOf(":")?"IPv6":"IPv4",this.remotePort=e.peerPort,this.localAddress=e.localAddress,this.localPort=e.localPort,this.connecting=!1,this.readable=!0,this.emit("connect"),this.isPaused()||this.read(0)):S()}))},Object.defineProperty(g.prototype,"bufferSize",{get:function(){if(this.id){var t=this._writableState.length;return this._pendingData&&(t+=this._pendingData.length),t}}}),g.prototype.end=function(t,e){h.Duplex.prototype.end.call(this,t,e),this.writable=!1},g.prototype._write=function(t,e,r){if(r||(r=()=>{}),this.connecting)return this._pendingData=t,void this.once("connect",(()=>this._write(t,e,r)));if(this._pendingData=null,this.id){var i=t.buffer;t.byteLength!==i.byteLength&&(i=i.slice(t.byteOffset,t.byteOffset+t.byteLength));var n=this.id;chrome.sockets.tcp.send(this.id,i,(t=>{this.id===n?t.resultCode<0?this._destroy(I(t.resultCode,"write",this.remoteAddress,this.remotePort),r):(this._unrefTimer(),r(null)):S()})),this._bytesDispatched+=t.length}else r(new Error("This socket is closed"))},g.prototype._read=function(t){if(!this.connecting&&this.id){chrome.sockets.tcp.setPaused(this.id,!1);var e=this.id;chrome.sockets.tcp.getInfo(this.id,(t=>{this.id===e?!chrome.runtime.lastError&&t.connected||this._onReceiveError(-15):S()}))}else this.once("connect",(()=>this._read(t)))},g.prototype._onReceive=function(t){var e=l.from(t),r=this.bytesRead;this.bytesRead+=e.length,this._unrefTimer(),this.ondata&&(console.error("socket.ondata = func is non-standard, use socket.on('data', func)"),this.ondata(e,r,this.bytesRead)),this.push(e)||chrome.sockets.tcp.setPaused(this.id,!0)},g.prototype._onReceiveError=function(t){-100===t?(this.onend&&(console.error("socket.onend = func is non-standard, use socket.on('end', func)"),this.once("end",this.onend)),this.push(null),this.destroy()):t<0&&this.destroy(A(t,"read"))},i="bytesWritten",n=function(){if(this.id)return this._bytesDispatched+this.bufferSize},Object.defineProperty(g.prototype,i,{configurable:!1,enumerable:!0,get:n}),g.prototype.destroy=function(t){this._destroy(t)},g.prototype._destroy=function(t,e){var r=()=>{e&&e(t),t&&!this._writableState.errorEmitted&&(s.nextTick(E,this,t),this._writableState.errorEmitted=!0)};if(this.destroyed)r();else{this._server&&(this._server._connections-=1,this._server._emitCloseIfDrained&&this._server._emitCloseIfDrained()),this._reset();for(var i=this;null!==i;i=i._parent)f.unenroll(i);this.destroyed=!0,this.id&&(delete d[this.id],chrome.sockets.tcp.close(this.id,(()=>{this.destroyed&&this.emit("close",!!t)})),this.id=null),r()}},g.prototype.destroySoon=function(){this.writable&&this.end(),this._writableState.finished&&this.destroy()},g.prototype.setTimeout=function(t,e){return 0===t?(f.unenroll(this),e&&this.removeListener("timeout",e)):(f.enroll(this,t),f._unrefActive(this),e&&this.once("timeout",e)),this},g.prototype._onTimeout=function(){this.emit("timeout")},g.prototype._unrefTimer=function(){for(var t=this;null!==t;t=t._parent)f._unrefActive(t)},g.prototype.setNoDelay=function(t,e){return this.id?(t=void 0===t||!!t,chrome.sockets.tcp.setNoDelay(this.id,t,k(e)),this):(this.once("connect",(()=>this.setNoDelay(t,e))),this)},g.prototype.setKeepAlive=function(t,e,r){return this.id?(chrome.sockets.tcp.setKeepAlive(this.id,!!t,~~(e/1e3),k(r)),this):(this.once("connect",(()=>this.setKeepAlive(t,e,r))),this)},g.prototype.address=function(){return{address:this.localAddress,port:this.localPort,family:this.localAddress&&-1!==this.localAddress.indexOf(":")?"IPv6":"IPv4"}},Object.defineProperty(g.prototype,"_connecting",{get:function(){return this.connecting}}),Object.defineProperty(g.prototype,"readyState",{get:function(){return this.connecting?"opening":this.readable&&this.writable?"open":"closed"}}),g.prototype.unref=g.prototype.ref=function(){return this};var y=/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,b=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/;function v(t){var e={};if(null!==t[0]&&"object"==typeof t[0])e=t[0];else{if(_(t[0]))throw new Error("Pipes are not supported in Chrome Apps.");e.port=t[0],"string"==typeof t[1]&&(e.host=t[1])}var r=t[t.length-1];return"function"==typeof r?[e,r]:[e]}function w(t){return(t=Number(t))>=0&&t}function _(t){return"string"==typeof t&&!1===w(t)}function M(t){return!("number"!=typeof t&&"string"!=typeof t||"string"==typeof t&&0===t.trim().length)&&(+t==+t>>>0&&t<=65535)}function S(){chrome.runtime.lastError}function k(t){return()=>{var e;chrome.runtime.lastError&&(console.error(chrome.runtime.lastError.message),e=new Error(chrome.runtime.lastError.message)),t&&t(e)}}function E(t,e){t.emit("error",e)}e.isIPv4=y.test.bind(y),e.isIPv6=b.test.bind(b),e.isIP=function(t){return e.isIPv4(t)?4:e.isIPv6(t)?6:0};var x={"-10":"EACCES","-22":"EACCES","-138":"EACCES","-147":"EADDRINUSE","-108":"EADDRNOTAVAIL","-103":"ECONNABORTED","-102":"ECONNREFUSED","-101":"ECONNRESET","-16":"EEXIST","-8":"EFBIG","-109":"EHOSTUNREACH","-4":"EINVAL","-23":"EISCONN","-6":"ENOENT","-13":"ENOMEM","-106":"ENONET","-18":"ENOSPC","-11":"ENOSYS","-15":"ENOTCONN","-105":"ENOTFOUND","-118":"ETIMEDOUT","-100":"EOF"};function A(t,e,r){var i=x[t]||"UNKNOWN",n=e+" "+t+" "+r;chrome.runtime.lastError&&(n+=" "+chrome.runtime.lastError.message),n+=" (mapped uv code: "+i+")";var s=new Error(n);return s.code=s.errno=i,s.syscall=e,s}function I(t,e,r,i,n){var s;s=i&&i>0?r+":"+i:r,n&&(s+=" - Local ("+n+")");var o=A(t,e,s);return o.address=r,i&&(o.port=i),o}},8968:t=>{t.exports=Math.floor},9106:t=>{var e=function(t){switch(typeof t){case"string":return t;case"boolean":return t?"true":"false";case"number":return isFinite(t)?t:"";default:return""}};t.exports=function(t,r,i,n){return r=r||"&",i=i||"=",null===t&&(t=void 0),"object"==typeof t?Object.keys(t).map((function(n){var s=encodeURIComponent(e(n))+i;return Array.isArray(t[n])?t[n].map((function(t){return s+encodeURIComponent(e(t))})).join(r):s+encodeURIComponent(e(t[n]))})).filter(Boolean).join(r):n?encodeURIComponent(e(n))+i+encodeURIComponent(e(t)):""}},9133:t=>{t.exports=Math.abs},9188:(t,e,r)=>{var i=r(7011),n=r(8490),s=r(6698),o=r(6677),a=i.assert;function h(t){o.call(this,"short",t),this.a=new n(t.a,16).toRed(this.red),this.b=new n(t.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(t),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function u(t,e,r,i){o.BasePoint.call(this,t,"affine"),null===e&&null===r?(this.x=null,this.y=null,this.inf=!0):(this.x=new n(e,16),this.y=new n(r,16),i&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function f(t,e,r,i){o.BasePoint.call(this,t,"jacobian"),null===e&&null===r&&null===i?(this.x=this.curve.one,this.y=this.curve.one,this.z=new n(0)):(this.x=new n(e,16),this.y=new n(r,16),this.z=new n(i,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}s(h,o),t.exports=h,h.prototype._getEndomorphism=function(t){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var e,r;if(t.beta)e=new n(t.beta,16).toRed(this.red);else{var i=this._getEndoRoots(this.p);e=(e=i[0].cmp(i[1])<0?i[0]:i[1]).toRed(this.red)}if(t.lambda)r=new n(t.lambda,16);else{var s=this._getEndoRoots(this.n);0===this.g.mul(s[0]).x.cmp(this.g.x.redMul(e))?r=s[0]:(r=s[1],a(0===this.g.mul(r).x.cmp(this.g.x.redMul(e))))}return{beta:e,lambda:r,basis:t.basis?t.basis.map((function(t){return{a:new n(t.a,16),b:new n(t.b,16)}})):this._getEndoBasis(r)}}},h.prototype._getEndoRoots=function(t){var e=t===this.p?this.red:n.mont(t),r=new n(2).toRed(e).redInvm(),i=r.redNeg(),s=new n(3).toRed(e).redNeg().redSqrt().redMul(r);return[i.redAdd(s).fromRed(),i.redSub(s).fromRed()]},h.prototype._getEndoBasis=function(t){for(var e,r,i,s,o,a,h,u,f,l=this.n.ushrn(Math.floor(this.n.bitLength()/2)),c=t,d=this.n.clone(),p=new n(1),m=new n(0),g=new n(0),y=new n(1),b=0;0!==c.cmpn(0);){var v=d.div(c);u=d.sub(v.mul(c)),f=g.sub(v.mul(p));var w=y.sub(v.mul(m));if(!i&&u.cmp(l)<0)e=h.neg(),r=p,i=u.neg(),s=f;else if(i&&2==++b)break;h=u,d=c,c=u,g=p,p=f,y=m,m=w}o=u.neg(),a=f;var _=i.sqr().add(s.sqr());return o.sqr().add(a.sqr()).cmp(_)>=0&&(o=e,a=r),i.negative&&(i=i.neg(),s=s.neg()),o.negative&&(o=o.neg(),a=a.neg()),[{a:i,b:s},{a:o,b:a}]},h.prototype._endoSplit=function(t){var e=this.endo.basis,r=e[0],i=e[1],n=i.b.mul(t).divRound(this.n),s=r.b.neg().mul(t).divRound(this.n),o=n.mul(r.a),a=s.mul(i.a),h=n.mul(r.b),u=s.mul(i.b);return{k1:t.sub(o).sub(a),k2:h.add(u).neg()}},h.prototype.pointFromX=function(t,e){(t=new n(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b),i=r.redSqrt();if(0!==i.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var s=i.fromRed().isOdd();return(e&&!s||!e&&s)&&(i=i.redNeg()),this.point(t,i)},h.prototype.validate=function(t){if(t.inf)return!0;var e=t.x,r=t.y,i=this.a.redMul(e),n=e.redSqr().redMul(e).redIAdd(i).redIAdd(this.b);return 0===r.redSqr().redISub(n).cmpn(0)},h.prototype._endoWnafMulAdd=function(t,e,r){for(var i=this._endoWnafT1,n=this._endoWnafT2,s=0;s":""},u.prototype.isInfinity=function(){return this.inf},u.prototype.add=function(t){if(this.inf)return t;if(t.inf)return this;if(this.eq(t))return this.dbl();if(this.neg().eq(t))return this.curve.point(null,null);if(0===this.x.cmp(t.x))return this.curve.point(null,null);var e=this.y.redSub(t.y);0!==e.cmpn(0)&&(e=e.redMul(this.x.redSub(t.x).redInvm()));var r=e.redSqr().redISub(this.x).redISub(t.x),i=e.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,i)},u.prototype.dbl=function(){if(this.inf)return this;var t=this.y.redAdd(this.y);if(0===t.cmpn(0))return this.curve.point(null,null);var e=this.curve.a,r=this.x.redSqr(),i=t.redInvm(),n=r.redAdd(r).redIAdd(r).redIAdd(e).redMul(i),s=n.redSqr().redISub(this.x.redAdd(this.x)),o=n.redMul(this.x.redSub(s)).redISub(this.y);return this.curve.point(s,o)},u.prototype.getX=function(){return this.x.fromRed()},u.prototype.getY=function(){return this.y.fromRed()},u.prototype.mul=function(t){return t=new n(t,16),this.isInfinity()?this:this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve.endo?this.curve._endoWnafMulAdd([this],[t]):this.curve._wnafMul(this,t)},u.prototype.mulAdd=function(t,e,r){var i=[this,e],n=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(i,n):this.curve._wnafMulAdd(1,i,n,2)},u.prototype.jmulAdd=function(t,e,r){var i=[this,e],n=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(i,n,!0):this.curve._wnafMulAdd(1,i,n,2,!0)},u.prototype.eq=function(t){return this===t||this.inf===t.inf&&(this.inf||0===this.x.cmp(t.x)&&0===this.y.cmp(t.y))},u.prototype.neg=function(t){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(t&&this.precomputed){var r=this.precomputed,i=function(t){return t.neg()};e.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(i)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(i)}}}return e},u.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},s(f,o.BasePoint),h.prototype.jpoint=function(t,e,r){return new f(this,t,e,r)},f.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var t=this.z.redInvm(),e=t.redSqr(),r=this.x.redMul(e),i=this.y.redMul(e).redMul(t);return this.curve.point(r,i)},f.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},f.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.z.redSqr(),r=this.z.redSqr(),i=this.x.redMul(e),n=t.x.redMul(r),s=this.y.redMul(e.redMul(t.z)),o=t.y.redMul(r.redMul(this.z)),a=i.redSub(n),h=s.redSub(o);if(0===a.cmpn(0))return 0!==h.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=a.redSqr(),f=u.redMul(a),l=i.redMul(u),c=h.redSqr().redIAdd(f).redISub(l).redISub(l),d=h.redMul(l.redISub(c)).redISub(s.redMul(f)),p=this.z.redMul(t.z).redMul(a);return this.curve.jpoint(c,d,p)},f.prototype.mixedAdd=function(t){if(this.isInfinity())return t.toJ();if(t.isInfinity())return this;var e=this.z.redSqr(),r=this.x,i=t.x.redMul(e),n=this.y,s=t.y.redMul(e).redMul(this.z),o=r.redSub(i),a=n.redSub(s);if(0===o.cmpn(0))return 0!==a.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var h=o.redSqr(),u=h.redMul(o),f=r.redMul(h),l=a.redSqr().redIAdd(u).redISub(f).redISub(f),c=a.redMul(f.redISub(l)).redISub(n.redMul(u)),d=this.z.redMul(o);return this.curve.jpoint(l,c,d)},f.prototype.dblp=function(t){if(0===t)return this;if(this.isInfinity())return this;if(!t)return this.dbl();var e;if(this.curve.zeroA||this.curve.threeA){var r=this;for(e=0;e=0)return!1;if(r.redIAdd(n),0===this.x.cmp(r))return!0}},f.prototype.inspect=function(){return this.isInfinity()?"":""},f.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},9220:(t,e,r)=>{var i=r(6698);function n(t){this._reporterState={obj:null,path:[],options:t||{},errors:[]}}function s(t,e){this.path=t,this.rethrow(e)}e.a=n,n.prototype.isError=function(t){return t instanceof s},n.prototype.save=function(){var t=this._reporterState;return{obj:t.obj,pathLen:t.path.length}},n.prototype.restore=function(t){var e=this._reporterState;e.obj=t.obj,e.path=e.path.slice(0,t.pathLen)},n.prototype.enterKey=function(t){return this._reporterState.path.push(t)},n.prototype.exitKey=function(t){var e=this._reporterState;e.path=e.path.slice(0,t-1)},n.prototype.leaveKey=function(t,e,r){var i=this._reporterState;this.exitKey(t),null!==i.obj&&(i.obj[e]=r)},n.prototype.path=function(){return this._reporterState.path.join("/")},n.prototype.enterObject=function(){var t=this._reporterState,e=t.obj;return t.obj={},e},n.prototype.leaveObject=function(t){var e=this._reporterState,r=e.obj;return e.obj=t,r},n.prototype.error=function(t){var e,r=this._reporterState,i=t instanceof s;if(e=i?t:new s(r.path.map((function(t){return"["+JSON.stringify(t)+"]"})).join(""),t.message||t,t.stack),!r.options.partial)throw e;return i||r.errors.push(e),e},n.prototype.wrapResult=function(t){var e=this._reporterState;return e.options.partial?{result:this.isError(t)?null:t,errors:e.errors}:t},i(s,Error),s.prototype.rethrow=function(t){if(this.message=t+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,s),!this.stack)try{throw new Error(this.message)}catch(t){this.stack=t.stack}return this}},9247:(t,e,r)=>{var i=r(2509),n=r(2861).Buffer;t.exports=function(t,e){return n.from(t.toRed(i.mont(e.modulus)).redPow(new i(e.publicExponent)).fromRed().toArray())}},9290:t=>{t.exports=RangeError},9353:t=>{var e=Object.prototype.toString,r=Math.max,i=function(t,e){for(var r=[],i=0;i{t.exports=Error},9404:function(t,e,r){!function(t,e){function i(t,e){if(!t)throw new Error(e||"Assertion failed")}function n(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function s(t,e,r){if(s.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=s:e.BN=s,s.BN=s,s.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(8287).Buffer}catch(t){}function a(t,e){var r=t.charCodeAt(e);return r>=48&&r<=57?r-48:r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:void i(!1,"Invalid character in "+t)}function h(t,e,r){var i=a(t,r);return r-1>=e&&(i|=a(t,r-1)<<4),i}function u(t,e,r,n){for(var s=0,o=0,a=Math.min(t.length,r),h=e;h=49?u-49+10:u>=17?u-17+10:u,i(u>=0&&o0?t:e},s.min=function(t,e){return t.cmp(e)<0?t:e},s.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),i(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n=0;n-=3)o=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[s]|=o<>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);else if("le"===r)for(n=0,s=0;n>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);return this._strip()},s.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i=e;i-=2)n=h(t,e,i)<=18?(s-=18,o+=1,this.words[o]|=n>>>26):s+=8;else for(i=(t.length-e)%2==0?e+1:e;i=18?(s-=18,o+=1,this.words[o]|=n>>>26):s+=8;this._strip()},s.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var s=t.length-r,o=s%i,a=Math.min(s,s-o)+r,h=0,f=r;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{s.prototype[Symbol.for("nodejs.util.inspect.custom")]=l}catch(t){s.prototype.inspect=l}else s.prototype.inspect=l;function l(){return(this.red?""}var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],d=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],p=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];s.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var n=0,s=0,o=0;o>>24-n&16777215,(n+=2)>=26&&(n-=26,o--),r=0!==s||o!==this.length-1?c[6-h.length]+h+r:h+r}for(0!==s&&(r=s.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var u=d[t],f=p[t];r="";var l=this.clone();for(l.negative=0;!l.isZero();){var m=l.modrn(f).toString(t);r=(l=l.idivn(f)).isZero()?m+r:c[u-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},s.prototype.toJSON=function(){return this.toString(16,2)},o&&(s.prototype.toBuffer=function(t,e){return this.toArrayLike(o,t,e)}),s.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)};function m(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],s=0|e.words[0],o=n*s,a=67108863&o,h=o/67108864|0;r.words[0]=a;for(var u=1;u>>26,l=67108863&h,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(o=(n=0|t.words[p])*(s=0|e.words[d])+l)/67108864|0,l=67108863&o}r.words[u]=0|l,h=0|f}return 0!==h?r.words[u]=0|h:r.length--,r._strip()}s.prototype.toArrayLike=function(t,e,r){this._strip();var n=this.byteLength(),s=r||Math.max(1,n);i(n<=s,"byte array longer than desired length"),i(s>0,"Requested array length <= 0");var o=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,s);return this["_toArrayLike"+("le"===e?"LE":"BE")](o,n),o},s.prototype._toArrayLikeLE=function(t,e){for(var r=0,i=0,n=0,s=0;n>8&255),r>16&255),6===s?(r>24&255),i=0,s=0):(i=o>>>24,s+=2)}if(r=0&&(t[r--]=o>>8&255),r>=0&&(t[r--]=o>>16&255),6===s?(r>=0&&(t[r--]=o>>24&255),i=0,s=0):(i=o>>>24,s+=2)}if(r>=0)for(t[r--]=i;r>=0;)t[r--]=0},Math.clz32?s.prototype._countBits=function(t){return 32-Math.clz32(t)}:s.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},s.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 8191&e||(r+=13,e>>>=13),127&e||(r+=7,e>>>=7),15&e||(r+=4,e>>>=4),3&e||(r+=2,e>>>=2),1&e||r++,r},s.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},s.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},s.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},s.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},s.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},s.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},s.prototype.inotn=function(t){i("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this._strip()},s.prototype.notn=function(t){return this.clone().inotn(t)},s.prototype.setn=function(t,e){i("number"==typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,s=0;s>>26;for(;0!==n&&s>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;st.length?this.clone().iadd(t):t.clone().iadd(this)},s.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var s=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==s&&o>26,this.words[o]=67108863&e;if(0===s&&o>>13,d=0|o[1],p=8191&d,m=d>>>13,g=0|o[2],y=8191&g,b=g>>>13,v=0|o[3],w=8191&v,_=v>>>13,M=0|o[4],S=8191&M,k=M>>>13,E=0|o[5],x=8191&E,A=E>>>13,I=0|o[6],T=8191&I,P=I>>>13,C=0|o[7],R=8191&C,O=C>>>13,B=0|o[8],L=8191&B,N=B>>>13,j=0|o[9],U=8191&j,q=j>>>13,D=0|a[0],H=8191&D,F=D>>>13,z=0|a[1],$=8191&z,W=z>>>13,K=0|a[2],V=8191&K,Z=K>>>13,G=0|a[3],Y=8191&G,J=G>>>13,X=0|a[4],Q=8191&X,tt=X>>>13,et=0|a[5],rt=8191&et,it=et>>>13,nt=0|a[6],st=8191&nt,ot=nt>>>13,at=0|a[7],ht=8191&at,ut=at>>>13,ft=0|a[8],lt=8191&ft,ct=ft>>>13,dt=0|a[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,H))|0)+((8191&(n=(n=Math.imul(l,F))+Math.imul(c,H)|0))<<13)|0;u=((s=Math.imul(c,F))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,H),n=(n=Math.imul(p,F))+Math.imul(m,H)|0,s=Math.imul(m,F);var yt=(u+(i=i+Math.imul(l,$)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,$)|0))<<13)|0;u=((s=s+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,H),n=(n=Math.imul(y,F))+Math.imul(b,H)|0,s=Math.imul(b,F),i=i+Math.imul(p,$)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,$)|0,s=s+Math.imul(m,W)|0;var bt=(u+(i=i+Math.imul(l,V)|0)|0)+((8191&(n=(n=n+Math.imul(l,Z)|0)+Math.imul(c,V)|0))<<13)|0;u=((s=s+Math.imul(c,Z)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(w,H),n=(n=Math.imul(w,F))+Math.imul(_,H)|0,s=Math.imul(_,F),i=i+Math.imul(y,$)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(b,$)|0,s=s+Math.imul(b,W)|0,i=i+Math.imul(p,V)|0,n=(n=n+Math.imul(p,Z)|0)+Math.imul(m,V)|0,s=s+Math.imul(m,Z)|0;var vt=(u+(i=i+Math.imul(l,Y)|0)|0)+((8191&(n=(n=n+Math.imul(l,J)|0)+Math.imul(c,Y)|0))<<13)|0;u=((s=s+Math.imul(c,J)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(S,H),n=(n=Math.imul(S,F))+Math.imul(k,H)|0,s=Math.imul(k,F),i=i+Math.imul(w,$)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(_,$)|0,s=s+Math.imul(_,W)|0,i=i+Math.imul(y,V)|0,n=(n=n+Math.imul(y,Z)|0)+Math.imul(b,V)|0,s=s+Math.imul(b,Z)|0,i=i+Math.imul(p,Y)|0,n=(n=n+Math.imul(p,J)|0)+Math.imul(m,Y)|0,s=s+Math.imul(m,J)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((s=s+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(x,H),n=(n=Math.imul(x,F))+Math.imul(A,H)|0,s=Math.imul(A,F),i=i+Math.imul(S,$)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(k,$)|0,s=s+Math.imul(k,W)|0,i=i+Math.imul(w,V)|0,n=(n=n+Math.imul(w,Z)|0)+Math.imul(_,V)|0,s=s+Math.imul(_,Z)|0,i=i+Math.imul(y,Y)|0,n=(n=n+Math.imul(y,J)|0)+Math.imul(b,Y)|0,s=s+Math.imul(b,J)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,s=s+Math.imul(m,tt)|0;var _t=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((s=s+Math.imul(c,it)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(T,H),n=(n=Math.imul(T,F))+Math.imul(P,H)|0,s=Math.imul(P,F),i=i+Math.imul(x,$)|0,n=(n=n+Math.imul(x,W)|0)+Math.imul(A,$)|0,s=s+Math.imul(A,W)|0,i=i+Math.imul(S,V)|0,n=(n=n+Math.imul(S,Z)|0)+Math.imul(k,V)|0,s=s+Math.imul(k,Z)|0,i=i+Math.imul(w,Y)|0,n=(n=n+Math.imul(w,J)|0)+Math.imul(_,Y)|0,s=s+Math.imul(_,J)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(b,Q)|0,s=s+Math.imul(b,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,s=s+Math.imul(m,it)|0;var Mt=(u+(i=i+Math.imul(l,st)|0)|0)+((8191&(n=(n=n+Math.imul(l,ot)|0)+Math.imul(c,st)|0))<<13)|0;u=((s=s+Math.imul(c,ot)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(R,H),n=(n=Math.imul(R,F))+Math.imul(O,H)|0,s=Math.imul(O,F),i=i+Math.imul(T,$)|0,n=(n=n+Math.imul(T,W)|0)+Math.imul(P,$)|0,s=s+Math.imul(P,W)|0,i=i+Math.imul(x,V)|0,n=(n=n+Math.imul(x,Z)|0)+Math.imul(A,V)|0,s=s+Math.imul(A,Z)|0,i=i+Math.imul(S,Y)|0,n=(n=n+Math.imul(S,J)|0)+Math.imul(k,Y)|0,s=s+Math.imul(k,J)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,s=s+Math.imul(_,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(b,rt)|0,s=s+Math.imul(b,it)|0,i=i+Math.imul(p,st)|0,n=(n=n+Math.imul(p,ot)|0)+Math.imul(m,st)|0,s=s+Math.imul(m,ot)|0;var St=(u+(i=i+Math.imul(l,ht)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,ht)|0))<<13)|0;u=((s=s+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(L,H),n=(n=Math.imul(L,F))+Math.imul(N,H)|0,s=Math.imul(N,F),i=i+Math.imul(R,$)|0,n=(n=n+Math.imul(R,W)|0)+Math.imul(O,$)|0,s=s+Math.imul(O,W)|0,i=i+Math.imul(T,V)|0,n=(n=n+Math.imul(T,Z)|0)+Math.imul(P,V)|0,s=s+Math.imul(P,Z)|0,i=i+Math.imul(x,Y)|0,n=(n=n+Math.imul(x,J)|0)+Math.imul(A,Y)|0,s=s+Math.imul(A,J)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(k,Q)|0,s=s+Math.imul(k,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(_,rt)|0,s=s+Math.imul(_,it)|0,i=i+Math.imul(y,st)|0,n=(n=n+Math.imul(y,ot)|0)+Math.imul(b,st)|0,s=s+Math.imul(b,ot)|0,i=i+Math.imul(p,ht)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,ht)|0,s=s+Math.imul(m,ut)|0;var kt=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((s=s+Math.imul(c,ct)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(U,H),n=(n=Math.imul(U,F))+Math.imul(q,H)|0,s=Math.imul(q,F),i=i+Math.imul(L,$)|0,n=(n=n+Math.imul(L,W)|0)+Math.imul(N,$)|0,s=s+Math.imul(N,W)|0,i=i+Math.imul(R,V)|0,n=(n=n+Math.imul(R,Z)|0)+Math.imul(O,V)|0,s=s+Math.imul(O,Z)|0,i=i+Math.imul(T,Y)|0,n=(n=n+Math.imul(T,J)|0)+Math.imul(P,Y)|0,s=s+Math.imul(P,J)|0,i=i+Math.imul(x,Q)|0,n=(n=n+Math.imul(x,tt)|0)+Math.imul(A,Q)|0,s=s+Math.imul(A,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(k,rt)|0,s=s+Math.imul(k,it)|0,i=i+Math.imul(w,st)|0,n=(n=n+Math.imul(w,ot)|0)+Math.imul(_,st)|0,s=s+Math.imul(_,ot)|0,i=i+Math.imul(y,ht)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(b,ht)|0,s=s+Math.imul(b,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,s=s+Math.imul(m,ct)|0;var Et=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((s=s+Math.imul(c,mt)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(U,$),n=(n=Math.imul(U,W))+Math.imul(q,$)|0,s=Math.imul(q,W),i=i+Math.imul(L,V)|0,n=(n=n+Math.imul(L,Z)|0)+Math.imul(N,V)|0,s=s+Math.imul(N,Z)|0,i=i+Math.imul(R,Y)|0,n=(n=n+Math.imul(R,J)|0)+Math.imul(O,Y)|0,s=s+Math.imul(O,J)|0,i=i+Math.imul(T,Q)|0,n=(n=n+Math.imul(T,tt)|0)+Math.imul(P,Q)|0,s=s+Math.imul(P,tt)|0,i=i+Math.imul(x,rt)|0,n=(n=n+Math.imul(x,it)|0)+Math.imul(A,rt)|0,s=s+Math.imul(A,it)|0,i=i+Math.imul(S,st)|0,n=(n=n+Math.imul(S,ot)|0)+Math.imul(k,st)|0,s=s+Math.imul(k,ot)|0,i=i+Math.imul(w,ht)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(_,ht)|0,s=s+Math.imul(_,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(b,lt)|0,s=s+Math.imul(b,ct)|0;var xt=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((s=s+Math.imul(m,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(U,V),n=(n=Math.imul(U,Z))+Math.imul(q,V)|0,s=Math.imul(q,Z),i=i+Math.imul(L,Y)|0,n=(n=n+Math.imul(L,J)|0)+Math.imul(N,Y)|0,s=s+Math.imul(N,J)|0,i=i+Math.imul(R,Q)|0,n=(n=n+Math.imul(R,tt)|0)+Math.imul(O,Q)|0,s=s+Math.imul(O,tt)|0,i=i+Math.imul(T,rt)|0,n=(n=n+Math.imul(T,it)|0)+Math.imul(P,rt)|0,s=s+Math.imul(P,it)|0,i=i+Math.imul(x,st)|0,n=(n=n+Math.imul(x,ot)|0)+Math.imul(A,st)|0,s=s+Math.imul(A,ot)|0,i=i+Math.imul(S,ht)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(k,ht)|0,s=s+Math.imul(k,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(_,lt)|0,s=s+Math.imul(_,ct)|0;var At=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(b,pt)|0))<<13)|0;u=((s=s+Math.imul(b,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(U,Y),n=(n=Math.imul(U,J))+Math.imul(q,Y)|0,s=Math.imul(q,J),i=i+Math.imul(L,Q)|0,n=(n=n+Math.imul(L,tt)|0)+Math.imul(N,Q)|0,s=s+Math.imul(N,tt)|0,i=i+Math.imul(R,rt)|0,n=(n=n+Math.imul(R,it)|0)+Math.imul(O,rt)|0,s=s+Math.imul(O,it)|0,i=i+Math.imul(T,st)|0,n=(n=n+Math.imul(T,ot)|0)+Math.imul(P,st)|0,s=s+Math.imul(P,ot)|0,i=i+Math.imul(x,ht)|0,n=(n=n+Math.imul(x,ut)|0)+Math.imul(A,ht)|0,s=s+Math.imul(A,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(k,lt)|0,s=s+Math.imul(k,ct)|0;var It=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;u=((s=s+Math.imul(_,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(U,Q),n=(n=Math.imul(U,tt))+Math.imul(q,Q)|0,s=Math.imul(q,tt),i=i+Math.imul(L,rt)|0,n=(n=n+Math.imul(L,it)|0)+Math.imul(N,rt)|0,s=s+Math.imul(N,it)|0,i=i+Math.imul(R,st)|0,n=(n=n+Math.imul(R,ot)|0)+Math.imul(O,st)|0,s=s+Math.imul(O,ot)|0,i=i+Math.imul(T,ht)|0,n=(n=n+Math.imul(T,ut)|0)+Math.imul(P,ht)|0,s=s+Math.imul(P,ut)|0,i=i+Math.imul(x,lt)|0,n=(n=n+Math.imul(x,ct)|0)+Math.imul(A,lt)|0,s=s+Math.imul(A,ct)|0;var Tt=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(k,pt)|0))<<13)|0;u=((s=s+Math.imul(k,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(U,rt),n=(n=Math.imul(U,it))+Math.imul(q,rt)|0,s=Math.imul(q,it),i=i+Math.imul(L,st)|0,n=(n=n+Math.imul(L,ot)|0)+Math.imul(N,st)|0,s=s+Math.imul(N,ot)|0,i=i+Math.imul(R,ht)|0,n=(n=n+Math.imul(R,ut)|0)+Math.imul(O,ht)|0,s=s+Math.imul(O,ut)|0,i=i+Math.imul(T,lt)|0,n=(n=n+Math.imul(T,ct)|0)+Math.imul(P,lt)|0,s=s+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(x,pt)|0)|0)+((8191&(n=(n=n+Math.imul(x,mt)|0)+Math.imul(A,pt)|0))<<13)|0;u=((s=s+Math.imul(A,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(U,st),n=(n=Math.imul(U,ot))+Math.imul(q,st)|0,s=Math.imul(q,ot),i=i+Math.imul(L,ht)|0,n=(n=n+Math.imul(L,ut)|0)+Math.imul(N,ht)|0,s=s+Math.imul(N,ut)|0,i=i+Math.imul(R,lt)|0,n=(n=n+Math.imul(R,ct)|0)+Math.imul(O,lt)|0,s=s+Math.imul(O,ct)|0;var Ct=(u+(i=i+Math.imul(T,pt)|0)|0)+((8191&(n=(n=n+Math.imul(T,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((s=s+Math.imul(P,mt)|0)+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(U,ht),n=(n=Math.imul(U,ut))+Math.imul(q,ht)|0,s=Math.imul(q,ut),i=i+Math.imul(L,lt)|0,n=(n=n+Math.imul(L,ct)|0)+Math.imul(N,lt)|0,s=s+Math.imul(N,ct)|0;var Rt=(u+(i=i+Math.imul(R,pt)|0)|0)+((8191&(n=(n=n+Math.imul(R,mt)|0)+Math.imul(O,pt)|0))<<13)|0;u=((s=s+Math.imul(O,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(U,lt),n=(n=Math.imul(U,ct))+Math.imul(q,lt)|0,s=Math.imul(q,ct);var Ot=(u+(i=i+Math.imul(L,pt)|0)|0)+((8191&(n=(n=n+Math.imul(L,mt)|0)+Math.imul(N,pt)|0))<<13)|0;u=((s=s+Math.imul(N,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var Bt=(u+(i=Math.imul(U,pt))|0)+((8191&(n=(n=Math.imul(U,mt))+Math.imul(q,pt)|0))<<13)|0;return u=((s=Math.imul(q,mt))+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,h[0]=gt,h[1]=yt,h[2]=bt,h[3]=vt,h[4]=wt,h[5]=_t,h[6]=Mt,h[7]=St,h[8]=kt,h[9]=Et,h[10]=xt,h[11]=At,h[12]=It,h[13]=Tt,h[14]=Pt,h[15]=Ct,h[16]=Rt,h[17]=Ot,h[18]=Bt,0!==u&&(h[19]=u,r.length++),r};function y(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,s=0;s>>26)|0)>>>26,o&=67108863}r.words[s]=a,i=o,o=n}return 0!==i?r.words[s]=i:r.length--,r._strip()}function b(t,e,r){return y(t,e,r)}function v(t,e){this.x=t,this.y=e}Math.imul||(g=m),s.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?g(this,t,e):r<63?m(this,t,e):r<1024?y(this,t,e):b(this,t,e)},v.prototype.makeRBT=function(t){for(var e=new Array(t),r=s.prototype._countBits(t)-1,i=0;i>=1;return i},v.prototype.permute=function(t,e,r,i,n,s){for(var o=0;o>>=1)n++;return 1<>>=13,r[2*o+1]=8191&s,s>>>=13;for(o=2*e;o>=26,r+=s/67108864|0,r+=o>>>26,this.words[n]=67108863&o}return 0!==r&&(this.words[n]=r,this.length++),e?this.ineg():this},s.prototype.muln=function(t){return this.clone().imuln(t)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>n&1}return e}(t);if(0===e.length)return new s(1);for(var r=this,i=0;i=0);var e,r=t%26,n=(t-r)/26,s=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var s=t%26,o=Math.min((t-s)/26,this.length),a=67108863^67108863>>>s<o)for(this.length-=o,u=0;u=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-s|l>>>s,f=l&a}return h&&0!==f&&(h.words[h.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},s.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},s.prototype.shln=function(t){return this.clone().ishln(t)},s.prototype.ushln=function(t){return this.clone().iushln(t)},s.prototype.shrn=function(t){return this.clone().ishrn(t)},s.prototype.ushrn=function(t){return this.clone().iushrn(t)},s.prototype.testn=function(t){i("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},s.prototype.isubn=function(t){if(i("number"==typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(h/67108864|0),this.words[n+r]=67108863&s}for(;n>26,this.words[n+r]=67108863&s;if(0===a)return this._strip();for(i(-1===a),a=0,n=0;n>26,this.words[n]=67108863&s;return this.negative=1,this._strip()},s.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),n=t,o=0|n.words[n.length-1];0!==(r=26-this._countBits(o))&&(n=n.ushln(r),i.iushln(r),o=0|n.words[n.length-1]);var a,h=i.length-n.length;if("mod"!==e){(a=new s(null)).length=h+1,a.words=new Array(a.length);for(var u=0;u=0;l--){var c=67108864*(0|i.words[n.length+l])+(0|i.words[n.length+l-1]);for(c=Math.min(c/o|0,67108863),i._ishlnsubmul(n,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(n,1,l),i.isZero()||(i.negative^=1);a&&(a.words[l]=c)}return a&&a._strip(),i._strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:a||null,mod:i}},s.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(n=a.div.neg()),"div"!==e&&(o=a.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:n,mod:o}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(n=a.div.neg()),{div:n,mod:a.mod}):this.negative&t.negative?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(o=a.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:a.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new s(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new s(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new s(this.modrn(t.words[0]))}:this._wordDiv(t,e);var n,o,a},s.prototype.div=function(t){return this.divmod(t,"div",!1).div},s.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},s.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},s.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),s=r.cmp(i);return s<0||1===n&&0===s?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},s.prototype.modrn=function(t){var e=t<0;e&&(t=-t),i(t<=67108863);for(var r=(1<<26)%t,n=0,s=this.length-1;s>=0;s--)n=(r*n+(0|this.words[s]))%t;return e?-n:n},s.prototype.modn=function(t){return this.modrn(t)},s.prototype.idivn=function(t){var e=t<0;e&&(t=-t),i(t<=67108863);for(var r=0,n=this.length-1;n>=0;n--){var s=(0|this.words[n])+67108864*r;this.words[n]=s/t|0,r=s%t}return this._strip(),e?this.ineg():this},s.prototype.divn=function(t){return this.clone().idivn(t)},s.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n=new s(1),o=new s(0),a=new s(0),h=new s(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var f=r.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;!(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(f),o.isub(l)),n.iushrn(1),o.iushrn(1);for(var p=0,m=1;!(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(a.isOdd()||h.isOdd())&&(a.iadd(f),h.isub(l)),a.iushrn(1),h.iushrn(1);e.cmp(r)>=0?(e.isub(r),n.isub(a),o.isub(h)):(r.isub(e),a.isub(n),h.isub(o))}return{a,b:h,gcd:r.iushln(u)}},s.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n,o=new s(1),a=new s(0),h=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,f=1;!(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)o.isOdd()&&o.iadd(h),o.iushrn(1);for(var l=0,c=1;!(r.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(r.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(h),a.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(a)):(r.isub(e),a.isub(o))}return(n=0===e.cmpn(1)?o:a).cmpn(0)<0&&n.iadd(t),n},s.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var s=e;e=r,r=s}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},s.prototype.invm=function(t){return this.egcd(t).a.umod(t)},s.prototype.isEven=function(){return!(1&this.words[0])},s.prototype.isOdd=function(){return!(1&~this.words[0])},s.prototype.andln=function(t){return this.words[0]&t},s.prototype.bincn=function(t){i("number"==typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,a&=67108863,this.words[o]=a}return 0!==s&&(this.words[o]=s,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this._strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},s.prototype.gtn=function(t){return 1===this.cmpn(t)},s.prototype.gt=function(t){return 1===this.cmp(t)},s.prototype.gten=function(t){return this.cmpn(t)>=0},s.prototype.gte=function(t){return this.cmp(t)>=0},s.prototype.ltn=function(t){return-1===this.cmpn(t)},s.prototype.lt=function(t){return-1===this.cmp(t)},s.prototype.lten=function(t){return this.cmpn(t)<=0},s.prototype.lte=function(t){return this.cmp(t)<=0},s.prototype.eqn=function(t){return 0===this.cmpn(t)},s.prototype.eq=function(t){return 0===this.cmp(t)},s.red=function(t){return new x(t)},s.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},s.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(t){return this.red=t,this},s.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},s.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},s.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},s.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},s.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},s.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},s.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},s.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},s.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var w={k256:null,p224:null,p192:null,p25519:null};function _(t,e){this.name=t,this.p=new s(e,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function M(){_.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function S(){_.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function k(){_.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function E(){_.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function x(t){if("string"==typeof t){var e=s._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){x.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}_.prototype._tmp=function(){var t=new s(null);return t.words=new Array(Math.ceil(this.n/13)),t},_.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},_.prototype.split=function(t,e){t.iushrn(this.n,0,e)},_.prototype.imulK=function(t){return t.imul(this.k)},n(M,_),M.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,s=o}s>>>=22,t.words[n-10]=s,0===s&&t.length>10?t.length-=10:t.length-=9},M.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},s._prime=function(t){if(w[t])return w[t];var e;if("k256"===t)e=new M;else if("p224"===t)e=new S;else if("p192"===t)e=new k;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new E}return w[t]=e,e},x.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},x.prototype._verify2=function(t,e){i(!(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},x.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(f(t,t.umod(this.m)._forceRed(this)),t)},x.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},x.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},x.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},x.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},x.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},x.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},x.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},x.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},x.prototype.isqr=function(t){return this.imul(t,t.clone())},x.prototype.sqr=function(t){return this.mul(t,t)},x.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2==1),3===e){var r=this.m.add(new s(1)).iushrn(2);return this.pow(t,r)}for(var n=this.m.subn(1),o=0;!n.isZero()&&0===n.andln(1);)o++,n.iushrn(1);i(!n.isZero());var a=new s(1).toRed(this),h=a.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new s(2*f*f).toRed(this);0!==this.pow(f,u).cmp(h);)f.redIAdd(h);for(var l=this.pow(f,n),c=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=o;0!==d.cmp(a);){for(var m=d,g=0;0!==m.cmp(a);g++)m=m.redSqr();i(g=0;i--){for(var u=e.words[i],f=h-1;f>=0;f--){var l=u>>f&1;n!==r[0]&&(n=this.sqr(n)),0!==l||0!==o?(o<<=1,o|=l,(4===++a||0===i&&0===f)&&(n=this.mul(n,r[o]),a=0,o=0)):a=0}h=26}return n},x.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},x.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},s.mont=function(t){return new A(t)},n(A,x),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),s=n;return n.cmp(this.m)>=0?s=n.isub(this.m):n.cmpn(0)<0&&(s=n.iadd(this.m)),s._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new s(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},A.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=r.nmd(t),this)},9439:(t,e,r)=>{e.RateLimiter=r(3065),e.TokenBucket=r(5472)},9538:t=>{t.exports=ReferenceError},9560:(t,e,r)=>{e.utils=r(7626),e.Cipher=r(2808),e.DES=r(2211),e.CBC=r(3389),e.EDE=r(5279)},9596:t=>{let e;t.exports="function"==typeof queueMicrotask?queueMicrotask.bind("undefined"!=typeof window?window:globalThis):t=>(e||(e=Promise.resolve())).then(t).catch((t=>setTimeout((()=>{throw t}),0)))},9612:t=>{t.exports=Object},9639:(t,e,r)=>{r.d(e,{NJ:()=>y,V5:()=>o,dU:()=>p,HB:()=>b,xW:()=>h,LC:()=>u,tW:()=>k,fk:()=>a,Ht:()=>v,po:()=>E,L0:()=>g});const i="0123456789abcdef",n=[],s=[];for(let t=0;t<256;t++)n[t]=i[t>>4&15]+i[15&t],t<16&&(t<10?s[48+t]=t:s[87+t]=t);const o=t=>{const e=t.length;let r="",i=0;for(;i{const e=t.length>>1,r=e<<1,i=new Uint8Array(e);let n=0,o=0;for(;o{const r=t.length||0;if(!e){let i=r;for(;i--;)e+=t[i].length}const i=new Uint8Array(e);let n=e,s=r;for(;s--;)n-=t[s].length,i.set(t[s],n);return i},u=(t,e)=>{if(t.length!==e.length)return!1;for(let r=t.length;r>-1;r-=1)if(t[r]!==e[r])return!1;return!0};for(var f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",l="undefined"==typeof Uint8Array?[]:new Uint8Array(256),c=0;c<64;c++)l[f.charCodeAt(c)]=c;const d=new TextDecoder,p=(t,e)=>{if(!e)return d.decode(t);return new TextDecoder(e).decode(t)},m=new TextEncoder,g=t=>m.encode(t),y=t=>function(t){var e,r=new Uint8Array(t),i=r.length,n="";for(e=0;e>2],n+=f[(3&r[e])<<4|r[e+1]>>4],n+=f[(15&r[e+1])<<2|r[e+2]>>6],n+=f[63&r[e+2]];return i%3==2?n=n.substring(0,n.length-1)+"=":i%3==1&&(n=n.substring(0,n.length-2)+"=="),n}(t),b=t=>{let e,r="",n=0;const s=t.length;for(;n>4]+i[15&e];return r},v=t=>{const e=a(t);if(e.length<=65536)return String.fromCharCode(...e);let r="",i=0;for(;i{if(!M)throw new Error("no web crypto support");"string"==typeof t&&(t=g(t));const i=new Uint8Array(await M.digest(r,t));return e?S[e](i):i},E=t=>{const e=new Uint8Array(t);return _.getRandomValues(e)}},9655:function(t,e,r){var i;t=r.nmd(t),function(){e&&e.nodeType,t&&t.nodeType;var n="object"==typeof globalThis&&globalThis;n.global!==n&&n.window!==n&&n.self;var s,o=2147483647,a=36,h=/^xn--/,u=/[^\x20-\x7E]/,f=/[\x2E\u3002\uFF0E\uFF61]/g,l={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},c=Math.floor,d=String.fromCharCode;function p(t){throw new RangeError(l[t])}function m(t,e){for(var r=t.length,i=[];r--;)i[r]=e(t[r]);return i}function g(t,e){var r=t.split("@"),i="";return r.length>1&&(i=r[0]+"@",t=r[1]),i+m((t=t.replace(f,".")).split("."),e).join(".")}function y(t){for(var e,r,i=[],n=0,s=t.length;n=55296&&e<=56319&&n65535&&(e+=d((t-=65536)>>>10&1023|55296),t=56320|1023&t),e+=d(t)})).join("")}function v(t,e){return t+22+75*(t<26)-((0!=e)<<5)}function w(t,e,r){var i=0;for(t=r?c(t/700):t>>1,t+=c(t/e);t>455;i+=a)t=c(t/35);return c(i+36*t/(t+38))}function _(t){var e,r,i,n,s,h,u,f,l,d,m,g=[],y=t.length,v=0,_=128,M=72;for((r=t.lastIndexOf("-"))<0&&(r=0),i=0;i=128&&p("not-basic"),g.push(t.charCodeAt(i));for(n=r>0?r+1:0;n=y&&p("invalid-input"),((f=(m=t.charCodeAt(n++))-48<10?m-22:m-65<26?m-65:m-97<26?m-97:a)>=a||f>c((o-v)/h))&&p("overflow"),v+=f*h,!(f<(l=u<=M?1:u>=M+26?26:u-M));u+=a)h>c(o/(d=a-l))&&p("overflow"),h*=d;M=w(v-s,e=g.length+1,0==s),c(v/e)>o-_&&p("overflow"),_+=c(v/e),v%=e,g.splice(v++,0,_)}return b(g)}function M(t){var e,r,i,n,s,h,u,f,l,m,g,b,_,M,S,k=[];for(b=(t=y(t)).length,e=128,r=0,s=72,h=0;h=e&&gc((o-r)/(_=i+1))&&p("overflow"),r+=(u-e)*_,e=u,h=0;ho&&p("overflow"),g==e){for(f=r,l=a;!(f<(m=l<=s?1:l>=s+26?26:l-s));l+=a)S=f-m,M=a-m,k.push(d(v(m+S%M,0))),f=c(S/M);k.push(d(v(f,0))),s=w(r,_,i==n),r=0,++i}++r,++e}return k.join("")}s={version:"1.4.1",ucs2:{decode:y,encode:b},decode:_,encode:M,toASCII:function(t){return g(t,(function(t){return u.test(t)?"xn--"+M(t):t}))},toUnicode:function(t){return g(t,(function(t){return h.test(t)?_(t.slice(4).toLowerCase()):t}))}},void 0===(i=function(){return s}.call(e,r,e,t))||(t.exports=i)}()},9673:(t,e,r)=>{var i=e;i.Reporter=r(9220).a,i.DecoderBuffer=r(7227).t,i.EncoderBuffer=r(7227).d,i.Node=r(993)},9675:t=>{t.exports=TypeError},9957:(t,e,r)=>{var i=Function.prototype.call,n=Object.prototype.hasOwnProperty,s=r(6743);t.exports=s.call(i,n)},9971:(t,e,r)=>{const i=r(3209),{EventEmitter:n}=r(7007);function s(t,e){if(t===e)return!0;if(t.length!==e.length)return!1;for(let r=0,i=t.length;re.vectorClock?t:e}static distance(t,e){let r=0,i=0;const n=Math.min(t.length,e.length),s=Math.max(t.length,e.length);for(;i=0?(this._update(r,i,t),this):r.contacts.length0&&r.length[this.distance(e.id,t),e])).sort(((t,e)=>t[0]-e[0])).slice(0,e).map((t=>t[1]))}count(){let t=0;for(const e=[this.root];e.length>0;){const r=e.pop();null===r.contacts?e.push(r.right,r.left):t+=r.contacts.length}return t}_determineNode(t,e,r){const i=r>>3,n=r%8;if(e.length<=i&&0!==n)return t.left;return e[i]&1<<7-n?t.right:t.left}get(t){o("id",t);let e=0,r=this.root;for(;null===r.contacts;)r=this._determineNode(r,t,e++);const i=this._indexOf(r,t);return i>=0?r.contacts[i]:null}_indexOf(t,e){for(let r=0;r=0){const t=r.contacts.splice(i,1)[0];this.emit("removed",t)}return this}_split(t,e){t.left={contacts:[],dontSplit:!1,left:null,right:null},t.right={contacts:[],dontSplit:!1,left:null,right:null};for(const r of t.contacts)this._determineNode(t,r.id,e).contacts.push(r);t.contacts=null;const r=this._determineNode(t,this.localNodeId,e);(t.left===r?t.right:t.left).dontSplit=!0}toArray(){let t=[];for(const e=[this.root];e.length>0;){const r=e.pop();null===r.contacts?e.push(r.right,r.left):t=t.concat(r.contacts)}return t}*toIterable(){for(const t=[this.root];t.length>0;){const e=t.pop();null===e.contacts?t.push(e.right,e.left):yield*e.contacts}}_update(t,e,r){if(!s(t.contacts[e].id,r.id))throw new Error("wrong index for _update");const i=t.contacts[e],n=this.arbiter(i,r);n===i&&i!==r||(t.contacts.splice(e,1),t.contacts.push(n),this.emit("updated",i,n))}}t.exports=a}},e={};function r(i){var n=e[i];if(void 0!==n)return n.exports;var s=e[i]={id:i,loaded:!1,exports:{}};return t[i].call(s.exports,s,s.exports,r),s.loaded=!0,s.exports}r.d=(t,e)=>{for(var i in e)r.o(e,i)&&!r.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.nmd=t=>(t.paths=[],t.children||(t.children=[]),t);var i={};r.r(i),r.d(i,{ACTIONS:()=>Yt,CONNECTION_ID:()=>Gt,DESTROY_TIMEOUT:()=>ee,EVENTS:()=>Jt,EVENT_IDS:()=>Xt,EVENT_NAMES:()=>Qt,IPV4_RE:()=>Kt,IPV6_RE:()=>Vt,REMOVE_IPV4_MAPPED_IPV6_RE:()=>Zt,REQUEST_TIMEOUT:()=>te,querystringParse:()=>ie,querystringStringify:()=>ne,toUInt32:()=>re});var n=r(7007);function s(t){if("string"!=typeof t)throw new TypeError("Path must be a string. Received "+JSON.stringify(t))}function o(t,e){let r,i="",n=0,s=-1,o=0;for(let a=0;a<=t.length;++a){if(a2){const t=i.lastIndexOf("/");if(t!==i.length-1){-1===t?(i="",n=0):(i=i.slice(0,t),n=i.length-1-i.lastIndexOf("/")),s=a,o=0;continue}}else if(2===i.length||1===i.length){i="",n=0,s=a,o=0;continue}e&&(i.length>0?i+="/..":i="..",n=2)}else i.length>0?i+="/"+t.slice(s+1,a):i=t.slice(s+1,a),n=a-s-1;s=a,o=0}else 46===r&&-1!==o?++o:o=-1}return i}function a(t){if(s(t),0===t.length)return".";const e=47===t.charCodeAt(0),r=47===t.charCodeAt(t.length-1);return 0!==(t=o(t,!e)).length||e||(t="."),t.length>0&&r&&(t+="/"),e?"/"+t:t}function h(){if(0===arguments.length)return".";let t;for(let e=0;e0&&(void 0===t?t=r:t+="/"+r)}return void 0===t?".":a(t)}r(717);const u="/";var f=r(988),l=r(1467),c=r(8444),d=r(7266);const p=new RegExp(["^npm-debug\\.log$","^\\..*\\.swp$","^\\.DS_Store$","^\\.AppleDouble$","^\\.LSOverride$","^Icon\\r$","^\\._.*","^\\.Spotlight-V100(?:$|\\/)","\\.Trashes","^__MACOSX$","~$","^Thumbs\\.db$","^ehthumbs\\.db$","^[Dd]esktop\\.ini$","@eaDir$"].join("|"));function m(t){return p.test(t)}function g(t){return!m(t)}var y=r(405),b=r(8190),v=r(9596),w=r(9639),_=(r(3468),r(5185)),M=r(3519);function S(t){return"."!==t[0]}function k(t,e,r){_.stat(t,((i,n)=>{if(i)return r(i);n.isDirectory()?_.readdir(t,((i,n)=>{if(i)return r(i);b(n.filter(S).filter(g).map((r=>i=>{k(h(t,r),e,i)})),r)})):n.isFile()&&e(t,r)}))}function E(t,e,r){k(t,x,((i,n)=>{if(i)return r(i);n=Array.isArray(n)?n.flat(1/0):[n],t=a(t),e&&(t=t.slice(0,t.lastIndexOf(u)+1)),t[t.length-1]!==u&&(t+=u),n.forEach((e=>{e.getStream=function(t){return()=>_.createReadStream(t)}(e.path),e.path=e.path.replace(t,"").split(u)})),r(null,n)}))}function x(t,e){e=M(e),_.stat(t,((r,i)=>{if(r)return e(r);const n={length:i.size,path:t};e(null,n)}))}const A=[["udp://tracker.leechers-paradise.org:6969"],["udp://tracker.coppersurfer.tk:6969"],["udp://tracker.opentrackr.org:1337"],["udp://explodie.org:6969"],["udp://tracker.empire-js.us:1337"],["wss://tracker.btorrent.xyz"],["wss://tracker.openwebtorrent.com"],["wss://tracker.webtorrent.dev"]];const I=Symbol("itemPath");function T(t,e,r){var i;if(i=t,"undefined"!=typeof FileList&&i instanceof FileList&&(t=Array.from(t)),Array.isArray(t)||(t=[t]),0===t.length)throw new Error("invalid input type");t.forEach((t=>{if(null==t)throw new Error(`invalid input type: ${t}`)})),1!==(t=t.map((t=>R(t)&&"string"==typeof t.path?t.path:t))).length||"string"==typeof t[0]||t[0].name||(t[0].name=e.name);let n=null;t.forEach(((e,r)=>{if("string"==typeof e)return;let i=e.fullPath||e.name;i||(i=`Unknown File ${r+1}`,e.unknownName=!0),e[I]=i.split("/"),e[I][0]||e[I].shift(),e[I].length<2?n=null:0===r&&t.length>1?n=e[I][0]:e[I][0]!==n&&(n=null)}));(void 0===e.filterJunkFiles||e.filterJunkFiles)&&(t=t.filter((t=>"string"==typeof t||!function(t){const e=t[t.length-1];return"."===e[0]&&m(e)}(t[I])))),n&&t.forEach((t=>{const e=(ArrayBuffer.isView(t)||O(t))&&!t[I];"string"==typeof t||e||t[I].shift()})),!e.name&&n&&(e.name=n),e.name||t.some((t=>"string"==typeof t?(e.name=function(t,e){if(void 0!==e&&"string"!=typeof e)throw new TypeError('"ext" argument must be a string');s(t);let r,i=0,n=-1,o=!0;if(void 0!==e&&e.length>0&&e.length<=t.length){if(e.length===t.length&&e===t)return"";let s=e.length-1,a=-1;for(r=t.length-1;r>=0;--r){const h=t.charCodeAt(r);if(47===h){if(!o){i=r+1;break}}else-1===a&&(o=!1,a=r+1),s>=0&&(h===e.charCodeAt(s)?-1==--s&&(n=r):(s=-1,n=a))}return i===n?n=a:-1===n&&(n=t.length),t.slice(i,n)}for(r=t.length-1;r>=0;--r)if(47===t.charCodeAt(r)){if(!o){i=r+1;break}}else-1===n&&(o=!1,n=r+1);return-1===n?"":t.slice(i,n)}(t),!0):!t.unknownName&&(e.name=t[I][t[I].length-1],!0))),e.name||(e.name=`Unnamed Torrent ${Date.now()}`),e.maxPieceLength||(e.maxPieceLength=4194304);const o=t.reduce(((t,e)=>t+Number("string"==typeof e)),0);let a=1===t.length;function h(){b(t.map((t=>e=>{const r={};if(R(t))r.getStream=t.stream(),r.length=t.size;else if(ArrayBuffer.isView(t))r.getStream=[t],r.length=t.length;else{if(!O(t)){if("string"==typeof t){0;return void E(t,o>1||a,e)}throw new Error("invalid input type")}r.getStream=async function*(t,e){for await(const r of t)e.length+=r.length,yield r}(t,r),r.length=0}r.path=t[I],e(null,r)})),((t,e)=>{if(t)return r(t);e=e.flat(),r(null,e,a)}))}1===t.length&&"string"==typeof t[0]?d(t[0],((t,e)=>{if(t)return r(t);a=e,h()})):v(h)}const P=5;function C(t,e){return t+e.length}function R(t){return"undefined"!=typeof Blob&&t instanceof Blob}function O(t){return"object"==typeof t&&null!=t&&"function"==typeof t.pipe}const B=function(t,e,r){"function"==typeof e&&([e,r]=[r,e]),T(t,e=e?Object.assign({},e):{},((t,i,n)=>{if(t)return r(t);e.singleFileTorrent=n,function(t,e,r){let i=e.announceList;i||("string"==typeof e.announce?i=[[e.announce]]:Array.isArray(e.announce)&&(i=e.announce.map((t=>[t]))));i||(i=[]);globalThis.WEBTORRENT_ANNOUNCE&&("string"==typeof globalThis.WEBTORRENT_ANNOUNCE?i.push([[globalThis.WEBTORRENT_ANNOUNCE]]):Array.isArray(globalThis.WEBTORRENT_ANNOUNCE)&&(i=i.concat(globalThis.WEBTORRENT_ANNOUNCE.map((t=>[t])))));void 0===e.announce&&void 0===e.announceList&&(i=i.concat(A));"string"==typeof e.urlList&&(e.urlList=[e.urlList]);const n={info:{name:e.name},"creation date":Math.ceil((Number(e.creationDate)||Date.now())/1e3),encoding:"UTF-8"};0!==i.length&&(n.announce=i[0][0],n["announce-list"]=i);void 0!==e.comment&&(n.comment=e.comment);void 0!==e.createdBy&&(n["created by"]=e.createdBy);void 0!==e.private&&(n.info.private=Number(e.private));void 0!==e.info&&Object.assign(n.info,e.info);void 0!==e.sslCert&&(n.info["ssl-cert"]=e.sslCert);void 0!==e.urlList&&(n["url-list"]=e.urlList);const s=t.reduce(C,0),o=e.pieceLength||Math.min(c(s),e.maxPieceLength);n.info["piece length"]=o,async function(t,e,r,i,n){const s=[];let o=0,a=0;const h=t.map((t=>t.getStream)),u=i.onProgress;let f=0,c=0,d=!1;const p=l(y(h),e,{zeroPadding:!1});try{for await(const t of p)await new Promise((e=>{o+=t.length;const i=c;++c,++f{s[i]=h,--f,a+=t.length,u&&u(a,r),e(),d&&0===f&&n(null,(0,w.fk)(s.join("")),o)}))}));if(0===f)return n(null,(0,w.fk)(s.join("")),o);d=!0}catch(t){n(t)}}(t,o,s,e,((i,s,o)=>{if(i)return r(i);n.info.pieces=s,t.forEach((t=>{delete t.getStream})),e.singleFileTorrent?n.info.length=o:n.info.files=t,r(null,f.A.encode(n))}))}(i,e,r)}))};var L=r(7833),N=r(9971),j=r(4988),U=r(7180),q=r(8454),D=r(3209),H=r(5307),F=r(1565),z=r(8287).Buffer,$=r(717);const W=L("bittorrent-dht"),K=3e5;class V extends n.EventEmitter{constructor(t={}){super(),this._tables=new q({maxAge:K,max:t.maxTables||1e3}),this._values=new q(t.maxValues||1e3),this._peers=H({maxAge:t.maxAge||0,maxSize:t.maxPeers||1e4}),this._secrets=null,this._hash=t.hash||G,this._hashLength=this._hash(z.from("")).length,this._rpc=t.krpc||j(Object.assign({idLength:this._hashLength},t)),this._rpc.on("query",(function(t,e){r._onquery(t,e)})),this._rpc.on("node",(function(t){r.emit("node",t)})),this._rpc.on("warning",(function(t){r.emit("warning",t)})),this._rpc.on("error",(function(t){r.emit("error",t)})),this._rpc.on("listening",(function(){r.listening=!0,r._debug("listening %d",r.address().port),r.updateBucketTimestamp(),r._setBucketCheckInterval(),r.emit("listening")})),this._rotateSecrets(),this._verify=t.verify||null,this._host=t.host||null,this._interval=setInterval((function(){r._rotateSecrets()}),K),this._runningBucketCheck=!1,this._bucketCheckTimeout=null,this._bucketOutdatedTimeSpan=t.timeBucketOutdated||9e5,this.listening=!1,this.destroyed=!1,this.nodeId=this._rpc.id,this.nodes=this._rpc.nodes;const e=U((function(t,e){const i=t.older,n=t.swap;r._debug("received ping",i),r._checkNodes(i,!1,((t,i)=>{if(i)return r._debug("swaping dead node with newer",i),n(i),e();r._debug("no node added, all other nodes ok"),e()}))}));this._rpc.on("ping",((t,r)=>{e({older:t,swap:r})})),$.nextTick((function(){r.destroyed||r._bootstrap(!1!==t.bootstrap)})),this._debug("new DHT %s",this.nodeId);const r=this}_setBucketCheckInterval(){const t=this;function e(){if(Date.now()-t._rpc.nodes.metadata.lastChange{t.destroyed||(t.nodes.toArray().length<1&&t._bootstrap(!0),r())}))}function r(){if(!t._runningBucketCheck||t.destroyed)return;const r=Math.floor(6e4*Math.random()+3e4);t._bucketCheckTimeout=setTimeout(e,r)}this._runningBucketCheck=!0,r()}_pingAll(t){this._checkAndRemoveNodes(this.nodes.toArray(),t)}removeBucketCheckInterval(){this._runningBucketCheck=!1,clearTimeout(this._bucketCheckTimeout)}updateBucketTimestamp(){this._rpc.nodes.metadata.lastChange=Date.now()}_checkAndRemoveNodes(t,e){const r=this;this._checkNodes(t,!0,((t,i)=>{i&&r.removeNode(i.id),e(null,i)}))}_checkNodes(t,e,r){const i=this;!function t(n){let s=null;for(;n.length&&(s=n.pop(),s.id&&!e)&&!(Date.now()-(s.seen||0)>1e4);)s=null;if(!s)return r(null);i._sendPing(s,(e=>{if(!e)return i.updateBucketTimestamp(),t(n);r(null,s)}))}(t)}addNode(t){const e=this;if(t.id){t.id=tt(t.id);const e=!!this._rpc.nodes.get(t.id);return this._rpc.nodes.add(t),void(e||(this.emit("node",t),this.updateBucketTimestamp()))}this._sendPing(t,((t,r)=>{r&&e.addNode(r)}))}removeNode(t){this._rpc.nodes.remove(tt(t))}_sendPing(t,e){const r=this,i=t.id;this._rpc.query(t,{q:"ping"},((t,n,s)=>t?e(t):n.r&&n.r.id&&z.isBuffer(n.r.id)&&n.r.id.length===r._hashLength?z.isBuffer(i)&&!i.equals(n.r.id)?e(new Error("Unexpected node id")):(r.updateBucketTimestamp(),void e(null,{id:n.r.id,host:s.host||s.address,port:s.port})):e(new Error("Bad reply"))))}toJSON(){const t=this,e={};return Object.keys(this._values.cache).forEach((r=>{const i=t._values.cache[r].value;e[r]={v:i.v.toString("hex"),id:i.id.toString("hex")},null!=i.seq&&(e[r].seq=i.seq),null!=i.sig&&(e[r].sig=i.sig.toString("hex")),null!=i.k&&(e[r].k=i.k.toString("hex"))})),{nodes:this._rpc.nodes.toArray().map(Q),values:e}}put(t,e){(z.isBuffer(t)||"string"==typeof t)&&(t={v:t});const r=!!t.k;if(void 0===t.v)throw new Error("opts.v not given");if(t.v.length>=1e3)throw new Error("v must be less than 1000 bytes in put()");if(r&&void 0!==t.cas&&"number"!=typeof t.cas)throw new Error("opts.cas must be an integer if provided");if(r&&32!==t.k.length)throw new Error("opts.k ed25519 public key must be 32 bytes");if(r&&"function"!=typeof t.sign&&!z.isBuffer(t.sig))throw new Error("opts.sign function or options.sig signature is required for mutable put");if(r&&t.salt&&t.salt.length>64)throw new Error("opts.salt is > 64 bytes long");if(r&&void 0===t.seq)throw new Error("opts.seq not provided for a mutable update");if(r&&"number"!=typeof t.seq)throw new Error("opts.seq not an integer");return this._put(t,e)}_put(t,e){e||(e=Z);const r=!!t.k,i="string"==typeof t.v?z.from(t.v):t.v,n=r?this._hash(t.salt?z.concat([t.k,t.salt]):t.k):this._hash(f.A.encode(i)),s=this._tables.get(n.toString("hex"));if(!s)return this._preput(n,t,e);const o={q:"put",a:{id:this._rpc.id,token:null,v:i}};return r?("number"==typeof t.cas&&(o.a.cas=t.cas),t.salt&&(o.a.salt=t.salt),o.a.k=t.k,o.a.seq=t.seq,"function"==typeof t.sign?o.a.sig=t.sign(X(o.a)):z.isBuffer(t.sig)&&(o.a.sig=t.sig)):this._values.set(n.toString("hex"),o.a),this._rpc.queryAll(s.closest(n),o,null,((t,r)=>{if(t)return e(t,n,r);e(null,n,r)})),n}_preput(t,e,r){const i=this;return this._closest(t,{q:"get",a:{id:this._rpc.id,target:t}},null,((t,n)=>{if(t)return r(t);i.put(e,r)})),t}get(t,e,r){t=tt(t),"function"==typeof e&&(r=e,e=null),e||(e={});const i=e.verify||this._verify,n=this._hash;let s=this._values.get(t.toString("hex"))||null;if(s&&!1!==e.cache)return s=Y(this._rpc.id,null,s),$.nextTick(o);function o(t){if(t)return r(t);r(null,s)}this._closest(t,{q:"get",a:{id:this._rpc.id,target:t}},(function(r){const o=r.r;if(!o||!o.v)return!0;const a=o.k||o.sig;e.salt&&(o.salt=z.from(e.salt));if(a){if(!i||!o.sig||!o.k)return!0;if(!i(o.sig,X(o),o.k))return!0;n(o.salt?z.concat([o.k,o.salt]):o.k).equals(t)&&(!s||o.seq>s.seq)&&(s=o)}else if(n(f.A.encode(o.v)).equals(t))return s=o,!1;return!0}),o)}announce(t,e,r){if("function"==typeof e)return this.announce(t,0,e);t=tt(t),r||(r=Z);const i=this._tables.get(t.toString("hex"));if(!i)return this._preannounce(t,e,r);if(this._host){const r=this.listening?this.address().port:0;this._addPeer({host:this._host,port:e||r},t,{host:this._host,port:r})}const n={q:"announce_peer",a:{id:this._rpc.id,token:null,info_hash:t,port:e,implied_port:e?0:1}};this._debug("announce %s %d",t,e),this._rpc.queryAll(i.closest(t),n,null,r)}_preannounce(t,e,r){const i=this;this.lookup(t,(n=>i.destroyed?r(new Error("dht is destroyed")):n?r(n):void i.announce(t,e,r)))}lookup(t,e){t=tt(t),e||(e=Z);const r=this;let i=!1;function n(e,i){e||(e=r._peers.get(t.toString("hex"),100));const n=function(t){const e=[];try{for(let r=0;r{e.emit("close"),t&&t()}))}_onquery(t,e){if(void 0===t.q||null===t.q)return;const r=t.q.toString();if(this._debug("received %s query from %s:%d",r,e.address,e.port),t.a)switch(r){case"ping":return this._rpc.response(e,t,{id:this._rpc.id});case"find_node":return this._onfindnode(t,e);case"get_peers":return this._ongetpeers(t,e);case"announce_peer":return this._onannouncepeer(t,e);case"get":return this._onget(t,e);case"put":return this._onput(t,e)}}_onfindnode(t,e){const r=t.a.target;if(!r)return this._rpc.error(e,t,[203,"`find_node` missing required `a.target` field"]);this.emit("find_node",r);const i=this._rpc.nodes.closest(r);this._rpc.response(e,t,{id:this._rpc.id},i)}_ongetpeers(t,e){const r=e.address||e.host,i=t.a.info_hash;if(!i)return this._rpc.error(e,t,[203,"`get_peers` missing required `a.info_hash` field"]);this.emit("get_peers",i);const n={id:this._rpc.id,token:this._generateToken(r)},s=this._peers.get(i.toString("hex"));s.length?(n.values=s,this._rpc.response(e,t,n)):this._rpc.response(e,t,n,this._rpc.nodes.closest(i))}_onannouncepeer(t,e){const r=e.address||e.host,i=t.a.implied_port?e.port:t.a.port;if(!i||"number"!=typeof i||i<=0||i>65535)return;const n=t.a.info_hash,s=t.a.token;if(n&&s){if(!this._validateToken(r,s))return this._rpc.error(e,t,[203,"cannot `announce_peer` with bad token"]);this.emit("announce_peer",n,{host:r,port:e.port}),this._addPeer({host:r,port:i},n,{host:r,port:e.port}),this._rpc.response(e,t,{id:this._rpc.id})}}_addPeer(t,e,r){this._peers.add(e.toString("hex"),function(t,e){const r=z.allocUnsafe(6),i=t.split(".");for(let t=0;t<4;t++)r[t]=parseInt(i[t]||0,10);return r.writeUInt16BE(e,4),r}(t.host,t.port)),this.emit("announce",t,e,r)}_onget(t,e){const r=e.address||e.host,i=t.a.target;if(!i)return;const n=this._generateToken(r),s=this._values.get(i.toString("hex"));if(this.emit("get",i,s),s)this._rpc.response(e,t,Y(this._rpc.id,n,s));else{const r=this._rpc.nodes.closest(i);this._rpc.response(e,t,{id:this._rpc.id,token:n},r)}}_onput(t,e){const r=e.address||e.host,i=t.a;if(!i)return;const n=t.a.v;if(!n)return;const s=t.a.id;if(!s)return;const o=i.token;if(!o)return;if(!this._validateToken(r,o))return this._rpc.error(e,t,[203,"cannot `put` with bad token"]);if(n.length>1e3)return this._rpc.error(e,t,[205,"data payload too large"]);const a=!(!i.k&&!i.sig);if(a&&!i.k&&!i.sig)return;const h=a?this._hash(i.salt?z.concat([i.k,i.salt]):i.k):this._hash(f.A.encode(n)),u=h.toString("hex");if(this.emit("put",h,n),a){if(!this._verify)return this._rpc.error(e,t,[400,"verification not supported"]);if(!this._verify(i.sig,X(i),i.k))return;const r=this._values.get(u);if(r&&"number"==typeof i.cas&&r.seq!==i.cas)return this._rpc.error(e,t,[301,"CAS mismatch, re-read and try again"]);if(r&&"number"==typeof r.seq&&!(i.seq>r.seq))return this._rpc.error(e,t,[302,"sequence number less than current"]);this._values.set(u,{v:n,k:i.k,salt:i.salt,sig:i.sig,seq:i.seq,id:s})}else this._values.set(u,{v:n,id:s});this._rpc.response(e,t,{id:this._rpc.id})}_bootstrap(t){const e=this;if(!t)return $.nextTick(r);function r(){e.ready||(e._debug("emit ready"),e.ready=!0,e.emit("ready"))}this._rpc.populate(e._rpc.id,{q:"find_node",a:{id:e._rpc.id,target:e._rpc.id}},r)}_closest(t,e,r,i){const n=this,s=new N({localNodeId:t,numberOfNodesPerKBucket:this._rpc.k});this._rpc.closest(t,e,(function(e,i){if(!e.r)return!0;e.r.token&&e.r.id&&z.isBuffer(e.r.id)&&e.r.id.length===n._hashLength&&(n._debug("found node %s (target: %s)",e.r.id,t),s.add({id:e.r.id,host:i.host||i.address,port:i.port,token:e.r.token}));return!r||r(e,i)}),(function(e,r){if(e)return i(e);n._tables.set(t.toString("hex"),s),n._debug("visited %d nodes",r),i(null,r)}))}_debug(){if(!W.enabled)return;const t=[].slice.call(arguments);t[0]=`[${this.nodeId.toString("hex").substring(0,7)}] ${t[0]}`;for(let e=1;e{throw new Error("global fetch is not available!")}),st=[255,255,26,27,28,29,30,31,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,255,255,255,255,255];const ot=function(t){if(!ArrayBuffer.isView(t)&&"string"!=typeof t)throw new TypeError("base32.decode only takes Buffer or string as parameter");let e,r=0,i=0,n=0;ArrayBuffer.isView(t)||(t=(0,w.L0)(t));const s=new Uint8Array(Math.ceil(5*t.length/8));for(let o=0;o>>r,s[n]=e,n++,e=255&i<<8-r)}return s.subarray(0,n)};function at(t){return t.reduce(((t,e,r,i)=>{const n=e.split("-").map((t=>parseInt(t)));return t.concat(((t,e=t)=>Array.from({length:e-t+1},((e,r)=>r+t)))(...n))}),[])}const ht=function(t){const e={},r=t.split("magnet:?")[1];let i;if((r&&r.length>=0?r.split("&"):[]).forEach((t=>{const r=t.split("=");if(2!==r.length)return;const i=r[0];let n=r[1];"dn"===i&&(n=decodeURIComponent(n).replace(/\+/g," ")),"tr"!==i&&"xs"!==i&&"as"!==i&&"ws"!==i||(n=decodeURIComponent(n)),"kt"===i&&(n=decodeURIComponent(n).split("+")),"ix"===i&&(n=Number(n)),"so"===i&&(n=at(decodeURIComponent(n).split(","))),e[i]?(Array.isArray(e[i])||(e[i]=[e[i]]),e[i].push(n)):e[i]=n})),e.xt){(Array.isArray(e.xt)?e.xt:[e.xt]).forEach((t=>{(i=t.match(/^urn:btih:(.{40})/))?e.infoHash=i[1].toLowerCase():(i=t.match(/^urn:btih:(.{32})/))?e.infoHash=(0,w.V5)(ot(i[1])):(i=t.match(/^urn:btmh:1220(.{64})/))&&(e.infoHashV2=i[1].toLowerCase())}))}if(e.xs){(Array.isArray(e.xs)?e.xs:[e.xs]).forEach((t=>{(i=t.match(/^urn:btpk:(.{64})/))&&(e.publicKey=i[1].toLowerCase())}))}return e.infoHash&&(e.infoHashBuffer=(0,w.fk)(e.infoHash)),e.infoHashV2&&(e.infoHashV2Buffer=(0,w.fk)(e.infoHashV2)),e.publicKey&&(e.publicKeyBuffer=(0,w.fk)(e.publicKey)),e.dn&&(e.name=e.dn),e.kt&&(e.keywords=e.kt),e.announce=[],("string"==typeof e.tr||Array.isArray(e.tr))&&(e.announce=e.announce.concat(e.tr)),e.urlList=[],("string"==typeof e.as||Array.isArray(e.as))&&(e.urlList=e.urlList.concat(e.as)),("string"==typeof e.ws||Array.isArray(e.ws))&&(e.urlList=e.urlList.concat(e.ws)),e.peerAddresses=[],("string"==typeof e["x.pe"]||Array.isArray(e["x.pe"]))&&(e.peerAddresses=e.peerAddresses.concat(e["x.pe"])),e.announce=Array.from(new Set(e.announce)),e.urlList=Array.from(new Set(e.urlList)),e.peerAddresses=Array.from(new Set(e.peerAddresses)),e};async function ut(t){if("string"==typeof t&&/^(stream-)?magnet:/.test(t)){const e=ht(t);if(!e.infoHash)throw new Error("Invalid torrent identifier");return e}if("string"==typeof t&&(/^[a-f0-9]{40}$/i.test(t)||/^[a-z2-7]{32}$/i.test(t)))return ht(`magnet:?xt=urn:btih:${t}`);if(ArrayBuffer.isView(t)&&20===t.length)return ht(`magnet:?xt=urn:btih:${(0,w.V5)(t)}`);if(ArrayBuffer.isView(t))return await async function(t){ArrayBuffer.isView(t)&&(t=f.A.decode(t));ct(t.info,"info"),ct(t.info["name.utf-8"]||t.info.name,"info.name"),ct(t.info["piece length"],"info['piece length']"),ct(t.info.pieces,"info.pieces"),t.info.files?t.info.files.forEach((t=>{ct("number"==typeof t.length,"info.files[0].length"),ct(t["path.utf-8"]||t.path,"info.files[0].path")})):ct("number"==typeof t.info.length,"info.length");const e={info:t.info,infoBuffer:f.A.encode(t.info),name:(0,w.dU)(t.info["name.utf-8"]||t.info.name),announce:[]};e.infoHashBuffer=await(0,w.tW)(e.infoBuffer),e.infoHash=(0,w.V5)(e.infoHashBuffer),void 0!==t.info.private&&(e.private=!!t.info.private);t["creation date"]&&(e.created=new Date(1e3*t["creation date"]));t["created by"]&&(e.createdBy=(0,w.dU)(t["created by"]));ArrayBuffer.isView(t.comment)&&(e.comment=(0,w.dU)(t.comment));Array.isArray(t["announce-list"])&&t["announce-list"].length>0?t["announce-list"].forEach((t=>{t.forEach((t=>{e.announce.push((0,w.dU)(t))}))})):t.announce&&e.announce.push((0,w.dU)(t.announce));ArrayBuffer.isView(t["url-list"])&&(t["url-list"]=t["url-list"].length>0?[t["url-list"]]:[]);e.urlList=(t["url-list"]||[]).map((t=>(0,w.dU)(t))),e.announce=Array.from(new Set(e.announce)),e.urlList=Array.from(new Set(e.urlList));const r=t.info.files||[t.info];e.files=r.map(((t,i)=>{const n=[].concat(e.name,t["path.utf-8"]||t.path||[]).map((t=>ArrayBuffer.isView(t)?(0,w.dU)(t):t));return{path:h.apply(null,[u].concat(n)).slice(1),name:n[n.length-1],length:t.length,offset:r.slice(0,i).reduce(lt,0)}})),e.length=r.reduce(lt,0);const i=e.files[e.files.length-1];return e.pieceLength=t.info["piece length"],e.lastPieceLength=(i.offset+i.length)%e.pieceLength||e.pieceLength,e.pieces=function(t){const e=[];for(let r=0;r{r(null,i)}));else if(n=t,"undefined"!=typeof Blob&&n instanceof Blob)try{s(new Uint8Array(await t.arrayBuffer()))}catch(t){return r(new Error(`Error converting Blob: ${t.message}`))}else if(/^https?:/.test(t))try{const r=await nt(t,{headers:{"user-agent":"WebTorrent (https://webtorrent.io)"},signal:AbortSignal.timeout(3e4),...e});s(new Uint8Array(await r.arrayBuffer()))}catch(t){return r(new Error(`Error downloading torrent: ${t.message}`))}else"function"==typeof it.readFile&&"string"==typeof t?it.readFile(t,((t,e)=>{if(t)return r(new Error("Invalid torrent identifier"));s(e)})):v((()=>{r(new Error("Invalid torrent identifier"))}));var n;async function s(t){try{i=await ut(t)}catch(t){return r(t)}i&&i.infoHash?r(null,i):r(new Error("Invalid torrent identifier"))}}function lt(t,e){return t+e.length}function ct(t,e){if(!t)throw new Error(`Torrent is missing required field: ${e}`)}const dt=ut,pt=function(t){t=Object.assign({},t);let e=new Set;t.xt&&"string"==typeof t.xt&&e.add(t.xt),t.xt&&Array.isArray(t.xt)&&(e=new Set(t.xt)),t.infoHashBuffer&&e.add(`urn:btih:${(0,w.V5)(t.infoHashBuffer)}`),t.infoHash&&e.add(`urn:btih:${t.infoHash}`),t.infoHashV2Buffer&&e.add(t.xt=`urn:btmh:1220${(0,w.V5)(t.infoHashV2Buffer)}`),t.infoHashV2&&e.add(`urn:btmh:1220${t.infoHashV2}`);const r=Array.from(e);1===r.length&&(t.xt=r[0]),r.length>1&&(t.xt=r),t.publicKeyBuffer&&(t.xs=`urn:btpk:${(0,w.V5)(t.publicKeyBuffer)}`),t.publicKey&&(t.xs=`urn:btpk:${t.publicKey}`),t.name&&(t.dn=t.name),t.keywords&&(t.kt=t.keywords),t.announce&&(t.tr=t.announce),t.urlList&&(t.ws=t.urlList,delete t.as),t.peerAddresses&&(t["x.pe"]=t.peerAddresses);let i="magnet:?";return Object.keys(t).filter((t=>2===t.length||"x.pe"===t)).forEach(((e,r)=>{const n=Array.isArray(t[e])?t[e]:[t[e]];var s;n.forEach(((t,n)=>{(r>0||n>0)&&("kt"!==e&&"so"!==e||0===n)&&(i+="&"),"dn"===e&&(t=encodeURIComponent(t).replace(/%20/g,"+")),"tr"!==e&&"as"!==e&&"ws"!==e||(t=encodeURIComponent(t)),"xs"!==e||t.startsWith("urn:btpk:")||(t=encodeURIComponent(t)),"kt"===e&&(t=encodeURIComponent(t)),"so"!==e&&(i+="kt"===e&&n>0?`+${t}`:`${e}=${t}`)})),"so"===e&&(i+=`${e}=${s=n,s.reduce(((t,e,r,i)=>(0!==r&&e===i[r-1]+1||t.push([]),t[t.length-1].push(e),t)),[]).map((t=>t.length>1?`${t[0]}-${t[t.length-1]}`:`${t[0]}`))}`)})),i},mt="undefined"!=typeof window?window:self,gt=mt.RTCPeerConnection||mt.mozRTCPeerConnection||mt.webkitRTCPeerConnection,yt=mt.RTCSessionDescription||mt.mozRTCSessionDescription||mt.webkitRTCSessionDescription,bt=mt.RTCIceCandidate||mt.mozRTCIceCandidate||mt.webkitRTCIceCandidate;mt.RTCIceTransport,mt.RTCDataChannel,mt.RTCSctpTransport,mt.RTCDtlsTransport,mt.RTCCertificate,mt.MediaStream,mt.MediaStreamTrack,mt.MediaStreamTrackEvent,mt.RTCPeerConnectionIceEvent,mt.RTCDataChannelEvent,mt.RTCTrackEvent,mt.RTCError,mt.RTCErrorEvent,mt.RTCRtpTransceiver,mt.RTCRtpReceiver,mt.RTCRtpSender;var vt=r(8179),wt=r(6310);const _t=L("simple-peer"),Mt=65536;function St(t){return t.replace(/a=ice-options:trickle\s\n/g,"")}class kt extends vt.Duplex{_pc;constructor(t){if(super(t=Object.assign({allowHalfOpen:!1},t)),this.__objectMode=!!t.objectMode,this._id=(0,w.V5)((0,w.po)(4)).slice(0,7),this._debug("new peer %o",t),this.channelName=t.initiator?t.channelName||(0,w.V5)((0,w.po)(20)):null,this.initiator=t.initiator||!1,this.channelConfig=t.channelConfig||kt.channelConfig,this.channelNegotiated=this.channelConfig.negotiated,this.config=Object.assign({},kt.config,t.config),this.offerOptions=t.offerOptions||{},this.answerOptions=t.answerOptions||{},this.sdpTransform=t.sdpTransform||(t=>t),this.trickle=void 0===t.trickle||t.trickle,this.allowHalfTrickle=void 0!==t.allowHalfTrickle&&t.allowHalfTrickle,this.iceCompleteTimeout=t.iceCompleteTimeout||5e3,this._destroying=!1,this._connected=!1,this.remoteAddress=void 0,this.remoteFamily=void 0,this.remotePort=void 0,this.localAddress=void 0,this.localFamily=void 0,this.localPort=void 0,!gt)throw"undefined"==typeof window?wt(new Error("No WebRTC support: Specify `opts.wrtc` option in this environment"),"ERR_WEBRTC_SUPPORT"):wt(new Error("No WebRTC support: Not a supported browser"),"ERR_WEBRTC_SUPPORT");this._pcReady=!1,this._channelReady=!1,this._iceComplete=!1,this._iceCompleteTimer=null,this._channel=null,this._pendingCandidates=[],this._isNegotiating=!1,this._firstNegotiation=!0,this._batchedNegotiation=!1,this._queuedNegotiation=!1,this._sendersAwaitingStable=[],this._closingInterval=null,this._remoteTracks=[],this._remoteStreams=[],this._chunk=null,this._cb=null,this._interval=null;try{this._pc=new gt(this.config)}catch(t){return void this.__destroy(wt(t,"ERR_PC_CONSTRUCTOR"))}this._isReactNativeWebrtc="number"==typeof this._pc._peerConnectionId,this._pc.oniceconnectionstatechange=()=>{this._onIceStateChange()},this._pc.onicegatheringstatechange=()=>{this._onIceStateChange()},this._pc.onconnectionstatechange=()=>{this._onConnectionStateChange()},this._pc.onsignalingstatechange=()=>{this._onSignalingStateChange()},this._pc.onicecandidate=t=>{this._onIceCandidate(t)},"object"==typeof this._pc.peerIdentity&&this._pc.peerIdentity.catch((t=>{this.__destroy(wt(t,"ERR_PC_PEER_IDENTITY"))})),this.initiator||this.channelNegotiated?this._setupData({channel:this._pc.createDataChannel(this.channelName,this.channelConfig)}):this._pc.ondatachannel=t=>{this._setupData(t)},this._debug("initial negotiation"),this._needsNegotiation(),this._onFinishBound=()=>{this._onFinish()},this.once("finish",this._onFinishBound)}get bufferSize(){return this._channel&&this._channel.bufferedAmount||0}get connected(){return this._connected&&"open"===this._channel.readyState}address(){return{port:this.localPort,family:this.localFamily,address:this.localAddress}}signal(t){if(!this._destroying){if(this.destroyed)throw wt(new Error("cannot signal after peer is destroyed"),"ERR_DESTROYED");if("string"==typeof t)try{t=JSON.parse(t)}catch(e){t={}}this._debug("signal()"),t.renegotiate&&this.initiator&&(this._debug("got request to renegotiate"),this._needsNegotiation()),t.transceiverRequest&&this.initiator&&(this._debug("got request for transceiver"),this.addTransceiver(t.transceiverRequest.kind,t.transceiverRequest.init)),t.candidate&&(this._pc.remoteDescription&&this._pc.remoteDescription.type?this._addIceCandidate(t.candidate):this._pendingCandidates.push(t.candidate)),t.sdp&&this._pc.setRemoteDescription(new yt(t)).then((()=>{this.destroyed||(this._pendingCandidates.forEach((t=>{this._addIceCandidate(t)})),this._pendingCandidates=[],"offer"===this._pc.remoteDescription.type&&this._createAnswer())})).catch((t=>{this.__destroy(wt(t,"ERR_SET_REMOTE_DESCRIPTION"))})),t.sdp||t.candidate||t.renegotiate||t.transceiverRequest||this.__destroy(wt(new Error("signal() called with invalid signal data"),"ERR_SIGNALING"))}}_addIceCandidate(t){const e=new bt(t);this._pc.addIceCandidate(e).catch((t=>{var r;!e.address||e.address.endsWith(".local")?(r="Ignoring unsupported ICE candidate.",console.warn(r)):this.__destroy(wt(t,"ERR_ADD_ICE_CANDIDATE"))}))}send(t){if(!this._destroying){if(this.destroyed)throw wt(new Error("cannot send after peer is destroyed"),"ERR_DESTROYED");this._channel.send(t)}}_needsNegotiation(){this._debug("_needsNegotiation"),this._batchedNegotiation||(this._batchedNegotiation=!0,queueMicrotask((()=>{this._batchedNegotiation=!1,this.initiator||!this._firstNegotiation?(this._debug("starting batched negotiation"),this.negotiate()):this._debug("non-initiator initial negotiation request discarded"),this._firstNegotiation=!1})))}negotiate(){if(!this._destroying){if(this.destroyed)throw wt(new Error("cannot negotiate after peer is destroyed"),"ERR_DESTROYED");this.initiator?this._isNegotiating?(this._queuedNegotiation=!0,this._debug("already negotiating, queueing")):(this._debug("start negotiation"),setTimeout((()=>{this._createOffer()}),0)):this._isNegotiating?(this._queuedNegotiation=!0,this._debug("already negotiating, queueing")):(this._debug("requesting negotiation from initiator"),this.emit("signal",{type:"renegotiate",renegotiate:!0})),this._isNegotiating=!0}}_final(t){this._readableState.ended||this.push(null),t(null)}__destroy(t){this.end(),this._destroy((()=>{}),t)}_destroy(t,e){this.destroyed||this._destroying||(this._destroying=!0,this._debug("destroying (error: %s)",e&&(e.message||e)),setTimeout((()=>{if(this._connected=!1,this._pcReady=!1,this._channelReady=!1,this._remoteTracks=null,this._remoteStreams=null,this._senderMap=null,clearInterval(this._closingInterval),this._closingInterval=null,clearInterval(this._interval),this._interval=null,this._chunk=null,this._cb=null,this._onFinishBound&&this.removeListener("finish",this._onFinishBound),this._onFinishBound=null,this._channel){try{this._channel.close()}catch(t){}this._channel.onmessage=null,this._channel.onopen=null,this._channel.onclose=null,this._channel.onerror=null}if(this._pc){try{this._pc.close()}catch(t){}this._pc.oniceconnectionstatechange=null,this._pc.onicegatheringstatechange=null,this._pc.onsignalingstatechange=null,this._pc.onicecandidate=null,this._pc.ontrack=null,this._pc.ondatachannel=null}this._pc=null,this._channel=null,e&&this.emit("error",e),t()}),0))}_setupData(t){if(!t.channel)return this.__destroy(wt(new Error("Data channel event is missing `channel` property"),"ERR_DATA_CHANNEL"));this._channel=t.channel,this._channel.binaryType="arraybuffer","number"==typeof this._channel.bufferedAmountLowThreshold&&(this._channel.bufferedAmountLowThreshold=Mt),this.channelName=this._channel.label,this._channel.onmessage=t=>{this._onChannelMessage(t)},this._channel.onbufferedamountlow=()=>{this._onChannelBufferedAmountLow()},this._channel.onopen=()=>{this._onChannelOpen()},this._channel.onclose=()=>{this._onChannelClose()},this._channel.onerror=t=>{const e=t.error instanceof Error?t.error:new Error(`Datachannel error: ${t.message} ${t.filename}:${t.lineno}:${t.colno}`);this.__destroy(wt(e,"ERR_DATA_CHANNEL"))};let e=!1;this._closingInterval=setInterval((()=>{this._channel&&"closing"===this._channel.readyState?(e&&this._onChannelClose(),e=!0):e=!1}),5e3)}_write(t,e){if(this.destroyed)return e(wt(new Error("cannot write after peer is destroyed"),"ERR_DATA_CHANNEL"));if(this._connected){try{this.send(t)}catch(t){return this.__destroy(wt(t,"ERR_DATA_CHANNEL"))}this._channel.bufferedAmount>Mt?(this._debug("start backpressure: bufferedAmount %d",this._channel.bufferedAmount),this._cb=e):e(null)}else this._debug("write before connect"),this._chunk=t,this._cb=e}_onFinish(){if(this.destroyed)return;const t=()=>{setTimeout((()=>this.__destroy()),1e3)};this._connected?t():this.once("connect",t)}_startIceCompleteTimeout(){this.destroyed||this._iceCompleteTimer||(this._debug("started iceComplete timeout"),this._iceCompleteTimer=setTimeout((()=>{this._iceComplete||(this._iceComplete=!0,this._debug("iceComplete timeout completed"),this.emit("iceTimeout"),this.emit("_iceComplete"))}),this.iceCompleteTimeout))}_createOffer(){this.destroyed||this._pc.createOffer(this.offerOptions).then((t=>{if(this.destroyed)return;this.trickle||this.allowHalfTrickle||(t.sdp=St(t.sdp)),t.sdp=this.sdpTransform(t.sdp);const e=()=>{if(this.destroyed)return;const e=this._pc.localDescription||t;this._debug("signal"),this.emit("signal",{type:e.type,sdp:e.sdp})};this._pc.setLocalDescription(t).then((()=>{this._debug("createOffer success"),this.destroyed||(this.trickle||this._iceComplete?e():this.once("_iceComplete",e))})).catch((t=>{this.__destroy(wt(t,"ERR_SET_LOCAL_DESCRIPTION"))}))})).catch((t=>{this.__destroy(wt(t,"ERR_CREATE_OFFER"))}))}_createAnswer(){this.destroyed||this._pc.createAnswer(this.answerOptions).then((t=>{if(this.destroyed)return;this.trickle||this.allowHalfTrickle||(t.sdp=St(t.sdp)),t.sdp=this.sdpTransform(t.sdp);const e=()=>{if(this.destroyed)return;const e=this._pc.localDescription||t;this._debug("signal"),this.emit("signal",{type:e.type,sdp:e.sdp}),this.initiator||this._requestMissingTransceivers?.()};this._pc.setLocalDescription(t).then((()=>{this.destroyed||(this.trickle||this._iceComplete?e():this.once("_iceComplete",e))})).catch((t=>{this.__destroy(wt(t,"ERR_SET_LOCAL_DESCRIPTION"))}))})).catch((t=>{this.__destroy(wt(t,"ERR_CREATE_ANSWER"))}))}_onConnectionStateChange(){this.destroyed||this._destroying||"failed"===this._pc.connectionState&&this.__destroy(wt(new Error("Connection failed."),"ERR_CONNECTION_FAILURE"))}_onIceStateChange(){if(this.destroyed)return;const t=this._pc.iceConnectionState,e=this._pc.iceGatheringState;this._debug("iceStateChange (connection: %s) (gathering: %s)",t,e),this.emit("iceStateChange",t,e),"connected"!==t&&"completed"!==t||(this._pcReady=!0,this._maybeReady()),"failed"===t&&this.__destroy(wt(new Error("Ice connection failed."),"ERR_ICE_CONNECTION_FAILURE")),"closed"===t&&this.__destroy(wt(new Error("Ice connection closed."),"ERR_ICE_CONNECTION_CLOSED"))}getStats(t){const e=t=>("[object Array]"===Object.prototype.toString.call(t.values)&&t.values.forEach((e=>{Object.assign(t,e)})),t);0===this._pc.getStats.length||this._isReactNativeWebrtc?this._pc.getStats().then((r=>{const i=[];r.forEach((t=>{i.push(e(t))})),t(null,i)}),(e=>t(e))):this._pc.getStats.length>0?this._pc.getStats((r=>{if(this.destroyed)return;const i=[];r.result().forEach((t=>{const r={};t.names().forEach((e=>{r[e]=t.stat(e)})),r.id=t.id,r.type=t.type,r.timestamp=t.timestamp,i.push(e(r))})),t(null,i)}),(e=>t(e))):t(null,[])}_maybeReady(){if(this._debug("maybeReady pc %s channel %s",this._pcReady,this._channelReady),this._connected||this._connecting||!this._pcReady||!this._channelReady)return;this._connecting=!0;const t=()=>{this.destroyed||this._destroying||this.getStats(((e,r)=>{if(this.destroyed||this._destroying)return;e&&(r=[]);const i={},n={},s={};let o=!1;r.forEach((t=>{"remotecandidate"!==t.type&&"remote-candidate"!==t.type||(i[t.id]=t),"localcandidate"!==t.type&&"local-candidate"!==t.type||(n[t.id]=t),"candidatepair"!==t.type&&"candidate-pair"!==t.type||(s[t.id]=t)}));const a=t=>{o=!0;let e=n[t.localCandidateId];e&&(e.ip||e.address)?(this.localAddress=e.ip||e.address,this.localPort=Number(e.port)):e&&e.ipAddress?(this.localAddress=e.ipAddress,this.localPort=Number(e.portNumber)):"string"==typeof t.googLocalAddress&&(e=t.googLocalAddress.split(":"),this.localAddress=e[0],this.localPort=Number(e[1])),this.localAddress&&(this.localFamily=this.localAddress.includes(":")?"IPv6":"IPv4");let r=i[t.remoteCandidateId];r&&(r.ip||r.address)?(this.remoteAddress=r.ip||r.address,this.remotePort=Number(r.port)):r&&r.ipAddress?(this.remoteAddress=r.ipAddress,this.remotePort=Number(r.portNumber)):"string"==typeof t.googRemoteAddress&&(r=t.googRemoteAddress.split(":"),this.remoteAddress=r[0],this.remotePort=Number(r[1])),this.remoteAddress&&(this.remoteFamily=this.remoteAddress.includes(":")?"IPv6":"IPv4"),this._debug("connect local: %s:%s remote: %s:%s",this.localAddress,this.localPort,this.remoteAddress,this.remotePort)};if(r.forEach((t=>{"transport"===t.type&&t.selectedCandidatePairId&&a(s[t.selectedCandidatePairId]),("googCandidatePair"===t.type&&"true"===t.googActiveConnection||("candidatepair"===t.type||"candidate-pair"===t.type)&&t.selected)&&a(t)})),o||Object.keys(s).length&&!Object.keys(n).length){if(this._connecting=!1,this._connected=!0,this._chunk){try{this.send(this._chunk)}catch(e){return this.__destroy(wt(e,"ERR_DATA_CHANNEL"))}this._chunk=null,this._debug('sent chunk from "write before connect"');const t=this._cb;this._cb=null,t(null)}"number"!=typeof this._channel.bufferedAmountLowThreshold&&(this._interval=setInterval((()=>this._onInterval()),150),this._interval.unref&&this._interval.unref()),this._debug("connect"),this.emit("connect")}else setTimeout(t,100)}))};t()}_onInterval(){!this._cb||!this._channel||this._channel.bufferedAmount>Mt||this._onChannelBufferedAmountLow()}_onSignalingStateChange(){this.destroyed||("stable"===this._pc.signalingState&&(this._isNegotiating=!1,this._debug("flushing sender queue",this._sendersAwaitingStable),this._sendersAwaitingStable.forEach((t=>{this._pc.removeTrack(t),this._queuedNegotiation=!0})),this._sendersAwaitingStable=[],this._queuedNegotiation?(this._debug("flushing negotiation queue"),this._queuedNegotiation=!1,this._needsNegotiation()):(this._debug("negotiated"),this.emit("negotiated"))),this._debug("signalingStateChange %s",this._pc.signalingState),this.emit("signalingStateChange",this._pc.signalingState))}_onIceCandidate(t){this.destroyed||(t.candidate&&this.trickle?this.emit("signal",{type:"candidate",candidate:{candidate:t.candidate.candidate,sdpMLineIndex:t.candidate.sdpMLineIndex,sdpMid:t.candidate.sdpMid}}):t.candidate||this._iceComplete||(this._iceComplete=!0,this.emit("_iceComplete")),t.candidate&&this._startIceCompleteTimeout())}_onChannelMessage(t){if(this.destroyed)return;let e=t.data;e instanceof ArrayBuffer?e=new Uint8Array(e):!1===this.__objectMode&&(e=(0,w.L0)(e)),this.push(e)}_onChannelBufferedAmountLow(){if(this.destroyed||!this._cb)return;this._debug("ending backpressure: bufferedAmount %d",this._channel.bufferedAmount);const t=this._cb;this._cb=null,t(null)}_onChannelOpen(){this._connected||this.destroyed||(this._debug("on channel open"),this._channelReady=!0,this._maybeReady())}_onChannelClose(){this.destroyed||(this._debug("on channel close"),this.__destroy())}_debug(){const t=[].slice.call(arguments);t[0]="["+this._id+"] "+t[0],_t.apply(null,t)}}kt.WEBRTC_SUPPORT=!!gt,kt.config={iceServers:[{urls:["stun:stun.l.google.com:19302","stun:global.stun.twilio.com:3478"]}],sdpSemantics:"unified-plan"},kt.channelConfig={};const Et=kt;var xt=r(1035),At=r(7541),It=r(3278),Tt=r(8957),Pt=r(5658),Ct=r(4343);const Rt=L("webtorrent:conn-pool");class Ot{constructor(t){Rt("create pool (port %s)",t.torrentPort),this._client=t,this._pendingConns=new Set,this._onTCPConnectionBound=t=>{this._onConnection(t,"tcp")},this._onUTPConnectionBound=t=>{this._onConnection(t,"utp")},this._onListening=()=>{this._client._onListening()},this._onTCPError=t=>{this._client._destroy(t)},this._onUTPError=t=>{this._client.utp=!1,this._client.emit("error",t),this._client.listening||this._onListening()},this.tcpServer=Tt.createServer(),this.tcpServer.on("connection",this._onTCPConnectionBound),this.tcpServer.on("error",this._onTCPError),this.tcpServer.listen(t.torrentPort,(()=>{Rt("creating tcpServer in port %s",this.tcpServer.address().port),this._client.utp?(this.utpServer=Ct.createServer(),this.utpServer.on("connection",this._onUTPConnectionBound),this.utpServer.on("listening",this._onListening),this.utpServer.on("error",this._onUTPError),Rt("creating utpServer in port %s",this.tcpServer.address().port),this.utpServer.listen(this.tcpServer.address().port)):this._onListening()}))}destroy(t){if(Rt("destroy conn pool"),this.utpServer&&(this.utpServer.removeListener("connection",this._onUTPConnectionBound),this.utpServer.removeListener("listening",this._onListening),this.utpServer.removeListener("error",this._onUTPError)),this.tcpServer.removeListener("connection",this._onTCPConnectionBound),this.tcpServer.removeListener("error",this._onTCPError),this._pendingConns.forEach((t=>{t.on("error",Bt),t.destroy()})),this.utpServer)try{this.utpServer.close(t)}catch(e){t&&v(t)}try{this.tcpServer.close(t)}catch(e){t&&v(t)}this.tcpServer=null,this.utpServer=null,this._client=null,this._pendingConns=null}_onConnection(t,e){const r=this;if(!t.remoteAddress)return t.on("error",Bt),void t.destroy();r._pendingConns.add(t),t.once("close",o);const i="utp"===e?Pt.default.createUTPIncomingPeer(t,this._client.throttleGroups):Pt.default.createTCPIncomingPeer(t,this._client.throttleGroups),n=i.wire;async function s(t,e){o();const n=await r._client.get(t);if(n)i.swarm||(i.swarm=n,n._addIncomingPeer(i)),i.onHandshake(t,e);else{const e=new Error(`Unexpected info hash ${t} from incoming peer ${i.id}`);i.destroy(e)}}function o(){t.removeListener("close",o),n.removeListener("handshake",s),r._pendingConns&&r._pendingConns.delete(t)}n.once("pe3",(async function(t){const e=await r._client._getByHash(t);e?(i.swarm=e,e._addIncomingPeer(i),i.onPe3(t)):i.destroy(new Error(`Unexpected info hash hash ${t} from incoming peer ${i.id}`))})),n.once("handshake",s)}}function Bt(){}Ot.UTP_SUPPORT=Object.keys(Ct).length>0;var Lt=r(6686),Nt=r(6889);const jt=/^\[?([^\]]+)]?:(\d+)$/;let Ut=new Map;function qt(t){if(1e5===Ut.size&&Ut.clear(),!Ut.has(t)){const e=jt.exec(t);if(!e)throw new Error(`invalid addr: ${t}`);Ut.set(t,[e[1],Number(e[2])])}return Ut.get(t)}var Dt=r(3033),Ht=r(4497);async function*Ft(t,e={}){if(t?.[Symbol.asyncIterator])return void(yield*t[Symbol.asyncIterator](e.offset));if(!t?.get)throw new Error("First argument must be an abstract-chunk-store compliant store");const r=e.chunkLength||t.chunkLength;if(!r)throw new Error("missing required `chunkLength` property");let i=e.length||t.length;if(!Number.isFinite(i))throw new Error("missing required `length` property");const n=e.offset||0,s=(e,r,i)=>new Promise(((n,s)=>{t.get(e,{offset:i,length:r},((t,e)=>{t&&s(t),n(e)}))}));let o=Math.floor(n/r);const a=n%r;if(n){const t=Math.min(i,r-a);i-=t,yield s(o++,t,a)}for(let t=i;t>0;++o,t-=r)yield s(o,Math.min(t,r))}async function zt(t,e,r={}){if(!t?.put)throw new Error("First argument must be an abstract-chunk-store compliant store");const i=r.chunkLength||t.chunkLength;if(!i)throw new Error("missing required `chunkLength` property");const n=r.storeMaxOutstandingPuts||16;let s=0,o=0,a=()=>{},h=!1;for await(const u of l(e,i,{zeroPadding:r.zeroPadding||!1}))await new Promise(((e,r)=>{s++<=n&&e(),t.put(o++,u,(t=>{if(t)return r(t);--s,e(),h&&0===s&&a()}))}));0!==s&&(h=new Promise((t=>{a=t})),await h)}var $t=r(4018),Wt=r(7186);const Kt=/^[\d.]+$/,Vt=/^[\da-fA-F:]+$/,Zt=/^::ffff:/,Gt=(0,w.xW)([re(1047),re(655366528)]),Yt={CONNECT:0,ANNOUNCE:1,SCRAPE:2,ERROR:3},Jt={update:0,completed:1,started:2,stopped:3,paused:4},Xt={0:"update",1:"completed",2:"started",3:"stopped",4:"paused"},Qt={update:"update",completed:"complete",started:"start",stopped:"stop",paused:"pause"},te=15e3,ee=1e3;function re(t){const e=new Uint8Array(4);return new DataView(e.buffer).setUint32(0,t),e}const ie=t=>Wt.parse(t,null,null,{decodeURIComponent:unescape}),ne=t=>{let e=Wt.stringify(t,null,null,{encodeURIComponent:escape});return e=e.replace(/[@*/+]/g,(t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`)),e},se={DEFAULT_ANNOUNCE_PEERS:50,MAX_ANNOUNCE_PEERS:82,parseUrl:t=>{const e=new URL(t.replace(/^udp:/,"http:"));return t.match(/^udp:/)&&Object.defineProperties(e,{href:{value:e.href.replace(/^http/,"udp")},protocol:{value:e.protocol.replace(/^http/,"udp")},origin:{value:e.origin.replace(/^http/,"udp")}}),e},...i};var oe=r(1314);const ae=class extends n{constructor(t,e){super(),this.client=t,this.announceUrl=e,this.interval=null,this.destroyed=!1}setInterval(t){null==t&&(t=this.DEFAULT_ANNOUNCE_INTERVAL),clearInterval(this.interval),t&&(this.interval=setInterval((()=>{this.announce(this.client._defaultAnnounceOpts())}),t),this.interval.unref&&this.interval.unref())}};var he=r(2085),ue=r(8287).Buffer;const fe=L("bittorrent-tracker:http-tracker"),le=/\/(announce)[^/]*$/;class ce extends ae{constructor(t,e){super(t,e),fe("new http tracker %s",e),this.scrapeUrl=null;const r=this.announceUrl.match(le);if(r){const t=this.announceUrl.slice(0,r.index),e=this.announceUrl.slice(r.index+9);this.scrapeUrl=`${t}/scrape${e}`}this.cleanupFns=[],this.maybeDestroyCleanup=null}announce(t){if(this.destroyed)return;const e=Object.assign({},t,{compact:null==t.compact?1:t.compact,info_hash:this.client._infoHashBinary,peer_id:this.client._peerIdBinary,port:this.client._port});0===e.left||e.left||(e.left=16384),this._trackerId&&(e.trackerid=this._trackerId),this._request(this.announceUrl,e,((t,e)=>{if(t)return this.client.emit("warning",t);this._onAnnounceResponse(e)}))}scrape(t){if(this.destroyed)return;if(!this.scrapeUrl)return void this.client.emit("error",new Error(`scrape not supported ${this.announceUrl}`));const e={info_hash:Array.isArray(t.infoHash)&&t.infoHash.length>0?t.infoHash.map((t=>(0,w.Ht)(t))):t.infoHash&&(0,w.Ht)(t.infoHash)||this.client._infoHashBinary};this._request(this.scrapeUrl,e,((t,e)=>{if(t)return this.client.emit("warning",t);this._onScrapeResponse(e)}))}destroy(t){const e=this;if(this.destroyed)return t(null);let r;if(this.destroyed=!0,clearInterval(this.interval),0===this.cleanupFns.length)return i();function i(){r&&(clearTimeout(r),r=null),e.maybeDestroyCleanup=null,e.cleanupFns.slice(0).forEach((t=>{t()})),e.cleanupFns=[],t(null)}r=setTimeout(i,se.DESTROY_TIMEOUT),this.maybeDestroyCleanup=()=>{0===this.cleanupFns.length&&i()}}async _request(t,e,r){const i=new URL(t+(-1===t.indexOf("?")?"?":"&")+se.querystringStringify(e));let n;this.client._proxyOpts&&(n="https:"===i.protocol?this.client._proxyOpts.httpsAgent:this.client._proxyOpts.httpAgent,!n&&this.client._proxyOpts.socksProxy&&(n=this.client._proxyOpts.socksProxy));const s=()=>{a.signal.aborted||(oe(this.cleanupFns,this.cleanupFns.indexOf(s)),a.abort(),a=null),this.maybeDestroyCleanup&&this.maybeDestroyCleanup()};let o;this.cleanupFns.push(s);let a=function(t){const e=new AbortController;return setTimeout((()=>{e.abort()}),t).unref?.(),e}(se.REQUEST_TIMEOUT);try{o=await nt(i.toString(),{agent:n,signal:a.signal,dispatcher:n,headers:{"user-agent":this.client._userAgent||""}}),o.body.on&&o.body.on("error",r)}catch(t){if(t)return r(t)}let h=new Uint8Array(await o.arrayBuffer());if(s(),this.destroyed)return;if(200!==o.status)return r(new Error(`Non-200 response code ${o.status} from ${this.announceUrl}`));if(!h||0===h.length)return r(new Error(`Invalid tracker response from${this.announceUrl}`));try{h=f.A.decode(h)}catch(t){return r(new Error(`Error decoding tracker response: ${t.message}`))}const u=h["failure reason"]&&(0,w.dU)(h["failure reason"]);if(u)return fe(`failure from ${t} (${u})`),r(new Error(u));const l=h["warning message"]&&(0,w.dU)(h["warning message"]);l&&(fe(`warning from ${t} (${l})`),this.client.emit("warning",new Error(l))),fe(`response from ${t}`),r(null,h)}_onAnnounceResponse(t){const e=t.interval||t["min interval"];e&&this.setInterval(1e3*e);const r=t["tracker id"];r&&(this._trackerId=r);const i=Object.assign({},t,{announce:this.announceUrl,infoHash:(0,w.HB)(t.info_hash||String(t.info_hash))});let n;if(this.client.emit("update",i),ArrayBuffer.isView(t.peers)){try{n=he.multi(ue.from(t.peers))}catch(t){return this.client.emit("warning",t)}n.forEach((t=>{this.client.emit("peer",t)}))}else Array.isArray(t.peers)&&t.peers.forEach((t=>{this.client.emit("peer",`${t.ip}:${t.port}`)}));if(ArrayBuffer.isView(t.peers6)){try{n=he.multi6(ue.from(t.peers6))}catch(t){return this.client.emit("warning",t)}n.forEach((t=>{this.client.emit("peer",t)}))}else Array.isArray(t.peers6)&&t.peers6.forEach((t=>{const e=/^\[/.test(t.ip)||!/:/.test(t.ip)?t.ip:`[${t.ip}]`;this.client.emit("peer",`${e}:${t.port}`)}))}_onScrapeResponse(t){t=t.files||t.host||{};const e=Object.keys(t);0!==e.length?e.forEach((e=>{const r=20!==e.length?(0,w.V5)((0,w.L0)(e)):(0,w.HB)(e),i=Object.assign(t[e],{announce:this.announceUrl,infoHash:r});this.client.emit("scrape",i)})):this.client.emit("warning",new Error("invalid scrape response"))}}ce.prototype.DEFAULT_ANNOUNCE_INTERVAL=18e5;const de=ce;var pe=r(7861),me=r(1220);const ge=L("bittorrent-tracker:udp-tracker");class ye extends ae{constructor(t,e){super(t,e),ge("new udp tracker %s",e),this.cleanupFns=[],this.maybeDestroyCleanup=null}announce(t){this.destroyed||this._request(t)}scrape(t){this.destroyed||(t._scrape=!0,this._request(t))}destroy(t){const e=this;if(this.destroyed)return t(null);let r;if(this.destroyed=!0,clearInterval(this.interval),0===this.cleanupFns.length)return i();function i(){r&&(clearTimeout(r),r=null),e.maybeDestroyCleanup=null,e.cleanupFns.slice(0).forEach((t=>{t()})),e.cleanupFns=[],t(null)}r=setTimeout(i,se.DESTROY_TIMEOUT),this.maybeDestroyCleanup=()=>{0===this.cleanupFns.length&&i()}}_request(t){const e=this;t||(t={});let r,i,n,s,{hostname:o,port:a}=se.parseUrl(this.announceUrl);""===a&&(a=80);let h=be();const u=this.client._proxyOpts&&(f=this.client._proxyOpts.socksProxy,JSON.parse(JSON.stringify(f)));var f;function l(e,o,a){if(e)return d(e);i=o,n=pe.createSocket("udp4"),s=a,r=setTimeout((()=>{"stopped"===t.event?c():d(new Error(`tracker request timed out (${t.event})`)),r=null}),se.REQUEST_TIMEOUT),r.unref&&r.unref(),m((0,w.xW)([se.CONNECTION_ID,se.toUInt32(se.ACTIONS.CONNECT),h]),s),n.once("error",d),n.on("message",p)}function c(){if(r&&(clearTimeout(r),r=null),n){oe(e.cleanupFns,e.cleanupFns.indexOf(c)),n.removeListener("error",d),n.removeListener("message",p),n.on("error",Me);try{n.close()}catch(t){}if(n=null,i){try{i.close()}catch(t){}i=null}}e.maybeDestroyCleanup&&e.maybeDestroyCleanup()}function d(t){if(c(),!e.destroyed){try{t.message&&(t.message+=` (${e.announceUrl})`)}catch(t){}e.client.emit("warning",t)}}function p(r){i&&(r=r.slice(10));const n=new DataView(h.buffer);if(r.length<8||r.readUInt32BE(4)!==n.getUint32(0))return d(new Error("tracker sent invalid transaction id"));const o=r.readUInt32BE(0);switch(ge("UDP response %s, action %s",e.announceUrl,o),o){case 0:if(r.length<16)return d(new Error("invalid udp handshake"));t._scrape?function(r){h=be();const i=Array.isArray(t.infoHash)&&t.infoHash.length>0?(0,w.xW)(t.infoHash):t.infoHash||e.client._infoHashBuffer;m((0,w.xW)([r,se.toUInt32(se.ACTIONS.SCRAPE),h,i]),s)}(r.slice(8,16)):function(t,r){h=be(),m((0,w.xW)([t,se.toUInt32(se.ACTIONS.ANNOUNCE),h,e.client._infoHashBuffer,e.client._peerIdBuffer,_e(r.downloaded),null!=r.left?_e(r.left):(0,w.fk)("ffffffffffffffff"),_e(r.uploaded),se.toUInt32(se.EVENTS[r.event]||0),se.toUInt32(0),se.toUInt32(0),se.toUInt32(r.numwant),ve(e.client._port)]),s)}(r.slice(8,16),t);break;case 1:{if(c(),e.destroyed)return;if(r.length<20)return d(new Error("invalid announce message"));const t=r.readUInt32BE(8);let i;t&&e.setInterval(1e3*t),e.client.emit("update",{announce:e.announceUrl,complete:r.readUInt32BE(16),incomplete:r.readUInt32BE(12)});try{i=he.multi(r.slice(20))}catch(t){return e.client.emit("warning",t)}i.forEach((t=>{e.client.emit("peer",t)}));break}case 2:{if(c(),e.destroyed)return;if(r.length<20||(r.length-8)%12!=0)return d(new Error("invalid scrape message"));const i=Array.isArray(t.infoHash)&&t.infoHash.length>0?t.infoHash.map((t=>t.toString("hex"))):[t.infoHash&&t.infoHash.toString("hex")||e.client.infoHash];for(let t=0,n=(r.length-8)/12;twe||"string"==typeof t){const e=new Uint8Array(8);return new DataView(e.buffer).setBigUint64(0,BigInt(t)),e}return(0,w.xW)([new Uint8Array(4),se.toUInt32(t)])}function Me(){}const Se=ye;var ke=r(1591);const Ee=L("simple-websocket"),xe="function"!=typeof ke?WebSocket:ke;class Ae extends vt.Duplex{constructor(t={}){if("string"==typeof t&&(t={url:t}),super(t=Object.assign({allowHalfOpen:!1},t)),this.__objectMode=!!t.objectMode,null!=t.objectMode&&delete t.objectMode,null==t.url&&null==t.socket)throw new Error("Missing required `url` or `socket` option");if(null!=t.url&&null!=t.socket)throw new Error("Must specify either `url` or `socket` option, not both");if(this._id=(0,w.V5)((0,w.po)(4)).slice(0,7),this._debug("new websocket: %o",t),this.connected=!1,this._chunk=null,this._cb=null,this._interval=null,t.socket)this.url=t.socket.url,this._ws=t.socket,this.connected=t.socket.readyState===xe.OPEN;else{this.url=t.url;try{this._ws="function"==typeof ke?new xe(t.url,{...t,encoding:void 0}):new xe(t.url)}catch(t){return void v((()=>this.destroy(t)))}}this._ws.binaryType="arraybuffer",t.socket&&this.connected?v((()=>this._handleOpen())):this._ws.onopen=()=>this._handleOpen(),this._ws.onmessage=t=>this._handleMessage(t),this._ws.onclose=()=>this._handleClose(),this._ws.onerror=t=>this._handleError(t),this._handleFinishBound=()=>this._handleFinish(),this.once("finish",this._handleFinishBound)}send(t){this._ws.send(t)}_final(t){this._readableState.ended||this.push(null),t(null)}_destroy(t){if(!this.destroyed){if(this._writableState.ended||this.end(),this.connected=!1,clearInterval(this._interval),this._interval=null,this._chunk=null,this._cb=null,this._handleFinishBound&&this.removeListener("finish",this._handleFinishBound),this._handleFinishBound=null,this._ws){const t=this._ws,e=()=>{t.onclose=null};if(t.readyState===xe.CLOSED)e();else try{t.onclose=e,t.close()}catch(t){e()}t.onopen=null,t.onmessage=null,t.onerror=()=>{}}this._ws=null,t()}}_write(t,e){if(this.destroyed)return e(new Error("cannot write after socket is destroyed"));if(this.connected){try{this.send(t)}catch(t){return this.destroy(t)}"function"!=typeof ke&&this._ws.bufferedAmount>65536?(this._debug("start backpressure: bufferedAmount %d",this._ws.bufferedAmount),this._cb=e):e(null)}else this._debug("write before connect"),this._chunk=t,this._cb=e}_handleOpen(){if(!this.connected&&!this.destroyed){if(this.connected=!0,this._chunk){try{this.send(this._chunk)}catch(t){return this.destroy(t)}this._chunk=null,this._debug('sent chunk from "write before connect"');const t=this._cb;this._cb=null,t(null)}"function"!=typeof ke&&(this._interval=setInterval((()=>this._onInterval()),150),this._interval.unref&&this._interval.unref()),this._debug("connect"),this.emit("connect")}}_handleMessage(t){if(this.destroyed)return;let e=t.data;e instanceof ArrayBuffer&&(e=new Uint8Array(e)),!1===this.__objectMode&&(e=(0,w.L0)(e)),this.push(e)}_handleClose(){this.destroyed||(this._debug("on close"),this.destroy())}_handleError(t){this.destroy(new Error(`Error connecting to ${this.url}`))}_handleFinish(){if(this.destroyed)return;const t=()=>{setTimeout((()=>this.destroy()),1e3)};this.connected?t():this.once("connect",t)}_onInterval(){if(!this._cb||!this._ws||this._ws.bufferedAmount>65536)return;this._debug("ending backpressure: bufferedAmount %d",this._ws.bufferedAmount);const t=this._cb;this._cb=null,t(null)}_debug(){const t=[].slice.call(arguments);t[0]="["+this._id+"] "+t[0],Ee.apply(null,t)}}Ae.WEBSOCKET_SUPPORT=!!xe;const Ie=L("bittorrent-tracker:websocket-tracker"),Te={};class Pe extends ae{constructor(t,e){super(t,e),Ie("new websocket tracker %s",e),this.peers={},this.socket=null,this.reconnecting=!1,this.retries=0,this.reconnectTimer=null,this.expectingResponse=!1,this._openSocket()}announce(t){if(this.destroyed||this.reconnecting)return;if(!this.socket.connected)return void this.socket.once("connect",(()=>{this.announce(t)}));const e=Object.assign({},t,{action:"announce",info_hash:this.client._infoHashBinary,peer_id:this.client._peerIdBinary});if(this._trackerId&&(e.trackerid=this._trackerId),"stopped"===t.event||"completed"===t.event)this._send(e);else{const r=Math.min(t.numwant,5);this._generateOffers(r,(t=>{e.numwant=r,e.offers=t,this._send(e)}))}}scrape(t){if(this.destroyed||this.reconnecting)return;if(!this.socket.connected)return void this.socket.once("connect",(()=>{this.scrape(t)}));const e={action:"scrape",info_hash:Array.isArray(t.infoHash)&&t.infoHash.length>0?t.infoHash.map((t=>(0,w.Ht)(t))):t.infoHash&&(0,w.Ht)(t.infoHash)||this.client._infoHashBinary};this._send(e)}destroy(t=Ce){if(this.destroyed)return t(null);this.destroyed=!0,clearInterval(this.interval),clearTimeout(this.reconnectTimer);for(const t in this.peers){const e=this.peers[t];clearTimeout(e.trackerTimeout),e.destroy()}if(this.peers=null,this.socket&&(this.socket.removeListener("connect",this._onSocketConnectBound),this.socket.removeListener("data",this._onSocketDataBound),this.socket.removeListener("close",this._onSocketCloseBound),this.socket.removeListener("error",this._onSocketErrorBound),this.socket=null),this._onSocketConnectBound=null,this._onSocketErrorBound=null,this._onSocketDataBound=null,this._onSocketCloseBound=null,Te[this.announceUrl]&&(Te[this.announceUrl].consumers-=1),Te[this.announceUrl].consumers>0)return t();let e,r=Te[this.announceUrl];if(delete Te[this.announceUrl],r.on("error",Ce),r.once("close",t),!this.expectingResponse)return i();function i(){e&&(clearTimeout(e),e=null),r.removeListener("data",i),r.destroy(),r=null}e=setTimeout(i,se.DESTROY_TIMEOUT),r.once("data",i)}_openSocket(){if(this.destroyed=!1,this.peers||(this.peers={}),this._onSocketConnectBound=()=>{this._onSocketConnect()},this._onSocketErrorBound=t=>{this._onSocketError(t)},this._onSocketDataBound=t=>{this._onSocketData(t)},this._onSocketCloseBound=()=>{this._onSocketClose()},this.socket=Te[this.announceUrl],this.socket)Te[this.announceUrl].consumers+=1,this.socket.connected&&this._onSocketConnectBound();else{const t=new URL(this.announceUrl);let e;this.client._proxyOpts&&(e="wss:"===t.protocol?this.client._proxyOpts.httpsAgent:this.client._proxyOpts.httpAgent,!e&&this.client._proxyOpts.socksProxy&&(e=this.client._proxyOpts.socksProxy)),this.socket=Te[this.announceUrl]=new Ae({url:this.announceUrl,agent:e}),this.socket.consumers=1,this.socket.once("connect",this._onSocketConnectBound)}this.socket.on("data",this._onSocketDataBound),this.socket.once("close",this._onSocketCloseBound),this.socket.once("error",this._onSocketErrorBound)}_onSocketConnect(){this.destroyed||this.reconnecting&&(this.reconnecting=!1,this.retries=0,this.announce(this.client._defaultAnnounceOpts()))}_onSocketData(t){if(!this.destroyed){this.expectingResponse=!1;try{t=JSON.parse((0,w.dU)(t))}catch(t){return void this.client.emit("warning",new Error("Invalid tracker response"))}"announce"===t.action?this._onAnnounceResponse(t):"scrape"===t.action?this._onScrapeResponse(t):this._onSocketError(new Error(`invalid action in WS response: ${t.action}`))}}_onAnnounceResponse(t){if(t.info_hash!==this.client._infoHashBinary)return void Ie("ignoring websocket data from %s for %s (looking for %s: reused socket)",this.announceUrl,(0,w.HB)(t.info_hash),this.client.infoHash);if(t.peer_id&&t.peer_id===this.client._peerIdBinary)return;Ie("received %s from %s for %s",JSON.stringify(t),this.announceUrl,this.client.infoHash);const e=t["failure reason"];if(e)return this.client.emit("warning",new Error(e));const r=t["warning message"];r&&this.client.emit("warning",new Error(r));const i=t.interval||t["min interval"];i&&this.setInterval(1e3*i);const n=t["tracker id"];if(n&&(this._trackerId=n),null!=t.complete){const e=Object.assign({},t,{announce:this.announceUrl,infoHash:(0,w.HB)(t.info_hash)});this.client.emit("update",e)}let s;if(t.offer&&t.peer_id&&(Ie("creating peer (from remote offer)"),s=this._createPeer(),s.id=(0,w.HB)(t.peer_id),s.once("signal",(e=>{const r={action:"announce",info_hash:this.client._infoHashBinary,peer_id:this.client._peerIdBinary,to_peer_id:t.peer_id,answer:e,offer_id:t.offer_id};this._trackerId&&(r.trackerid=this._trackerId),this._send(r)})),this.client.emit("peer",s),s.signal(t.offer)),t.answer&&t.peer_id){const e=(0,w.HB)(t.offer_id);s=this.peers[e],s?(s.id=(0,w.HB)(t.peer_id),this.client.emit("peer",s),s.signal(t.answer),clearTimeout(s.trackerTimeout),s.trackerTimeout=null,delete this.peers[e]):Ie(`got unexpected answer: ${JSON.stringify(t.answer)}`)}}_onScrapeResponse(t){t=t.files||{};const e=Object.keys(t);0!==e.length?e.forEach((e=>{const r=Object.assign(t[e],{announce:this.announceUrl,infoHash:(0,w.HB)(e)});this.client.emit("scrape",r)})):this.client.emit("warning",new Error("invalid scrape response"))}_onSocketClose(){this.destroyed||(this.destroy(),this._startReconnectTimer())}_onSocketError(t){this.destroyed||(this.destroy(),this.client.emit("warning",t),this._startReconnectTimer())}_startReconnectTimer(){const t=Math.floor(3e5*Math.random())+Math.min(1e4*Math.pow(2,this.retries),36e5);this.reconnecting=!0,clearTimeout(this.reconnectTimer),this.reconnectTimer=setTimeout((()=>{this.retries++,this._openSocket()}),t),this.reconnectTimer.unref&&this.reconnectTimer.unref(),Ie("reconnecting socket in %s ms",t)}_send(t){if(this.destroyed)return;this.expectingResponse=!0;const e=JSON.stringify(t);Ie("send %s",e),this.socket.send(e)}_generateOffers(t,e){const r=this,i=[];Ie("generating %s offers",t);for(let e=0;e{i.push({offer:e,offer_id:(0,w.Ht)(t)}),s()})),e.trackerTimeout=setTimeout((()=>{Ie("tracker timeout: destroying peer"),e.trackerTimeout=null,delete r.peers[t],e.destroy()}),5e4),e.trackerTimeout.unref&&e.trackerTimeout.unref()}function s(){i.length===t&&(Ie("generated %s offers",t),e(i))}s()}_createPeer(t){const e=this;t=Object.assign({trickle:!1,config:e.client._rtcConfig,wrtc:e.client._wrtc},t);const r=new Et(t);return r.once("error",i),r.once("connect",(function t(){r.removeListener("error",i),r.removeListener("connect",t)})),r;function i(t){e.client.emit("warning",new Error(`Connection error: ${t.message}`)),r.destroy()}}}function Ce(){}Pe.prototype.DEFAULT_ANNOUNCE_INTERVAL=3e4,Pe._socketPool=Te;const Re=Pe;var Oe=r(717);const Be=L("bittorrent-tracker:client");class Le extends n{constructor(t={}){if(super(),!t.peerId)throw new Error("Option `peerId` is required");if(!t.infoHash)throw new Error("Option `infoHash` is required");if(!t.announce)throw new Error("Option `announce` is required");if(!Oe.browser&&!t.port)throw new Error("Option `port` is required");this.peerId="string"==typeof t.peerId?t.peerId:(0,w.V5)(t.peerId),this._peerIdBuffer=(0,w.fk)(this.peerId),this._peerIdBinary=(0,w.Ht)(this.peerId),this.infoHash="string"==typeof t.infoHash?t.infoHash.toLowerCase():(0,w.V5)(t.infoHash),this._infoHashBuffer=(0,w.fk)(this.infoHash),this._infoHashBinary=(0,w.Ht)(this.infoHash),Be("new client %s",this.infoHash),this.destroyed=!1,this._port=t.port,this._getAnnounceOpts=t.getAnnounceOpts,this._rtcConfig=t.rtcConfig,this._userAgent=t.userAgent,this._proxyOpts=t.proxyOpts,this._wrtc="function"==typeof t.wrtc?t.wrtc():t.wrtc;let e="string"==typeof t.announce?[t.announce]:null==t.announce?[]:t.announce;e=e.map((t=>(ArrayBuffer.isView(t)&&(t=(0,w.dU)(t)),"/"===t[t.length-1]&&(t=t.substring(0,t.length-1)),t))),e=Array.from(new Set(e));const r=!1!==this._wrtc&&(!!this._wrtc||Et.WEBRTC_SUPPORT),i=t=>{v((()=>{this.emit("warning",t)}))};this._trackers=e.map((t=>{let e;try{e=se.parseUrl(t)}catch(e){return i(new Error(`Invalid tracker URL: ${t}`)),null}const n=e.port;if(n<0||n>65535)return i(new Error(`Invalid tracker port: ${t}`)),null;const s=e.protocol;return"http:"!==s&&"https:"!==s||"function"!=typeof de?"udp:"===s&&"function"==typeof Se?new Se(this,t):"ws:"!==s&&"wss:"!==s||!r||"ws:"===s&&"undefined"!=typeof window&&"https:"===window.location.protocol?(i(new Error(`Unsupported tracker protocol: ${t}`)),null):new Re(this,t):new de(this,t)})).filter(Boolean)}start(t){(t=this._defaultAnnounceOpts(t)).event="started",Be("send `start` %o",t),this._announce(t),this._trackers.forEach((t=>{t.setInterval()}))}stop(t){(t=this._defaultAnnounceOpts(t)).event="stopped",Be("send `stop` %o",t),this._announce(t)}complete(t){t||(t={}),(t=this._defaultAnnounceOpts(t)).event="completed",Be("send `complete` %o",t),this._announce(t)}update(t){(t=this._defaultAnnounceOpts(t)).event&&delete t.event,Be("send `update` %o",t),this._announce(t)}_announce(t){this._trackers.forEach((e=>{e.announce(t)}))}scrape(t){Be("send `scrape`"),t||(t={}),this._trackers.forEach((e=>{e.scrape(t)}))}setInterval(t){Be("setInterval %d",t),this._trackers.forEach((e=>{e.setInterval(t)}))}destroy(t){if(this.destroyed)return;this.destroyed=!0,Be("destroy");const e=this._trackers.map((t=>e=>{t.destroy(e)}));b(e,t),this._trackers=[],this._getAnnounceOpts=null}_defaultAnnounceOpts(t={}){return null==t.numwant&&(t.numwant=se.DEFAULT_ANNOUNCE_PEERS),null==t.uploaded&&(t.uploaded=0),null==t.downloaded&&(t.downloaded=0),this._getAnnounceOpts&&(t=Object.assign({},t,this._getAnnounceOpts())),t}}Le.scrape=(t,e)=>{if(e=M(e),!t.infoHash)throw new Error("Option `infoHash` is required");if(!t.announce)throw new Error("Option `announce` is required");const r=Object.assign({},t,{infoHash:Array.isArray(t.infoHash)?t.infoHash[0]:t.infoHash,peerId:(0,w.L0)("01234567890123456789"),port:6881}),i=new Le(r);i.once("error",e),i.once("warning",e);let n=Array.isArray(t.infoHash)?t.infoHash.length:1;const s={};return i.on("scrape",(t=>{if(n-=1,s[t.infoHash]=t,0===n){i.destroy();const t=Object.keys(s);1===t.length?e(null,s[t[0]]):e(null,s)}})),i.scrape({infoHash:t.infoHash}),i};const Ne=Le;r(7936);const je=L("bittorrent-lsd"),Ue="239.192.152.143",qe=6771;class De extends n.EventEmitter{constructor(t={}){if(super(),!t.peerId)throw new Error("Option `peerId` is required");if(!t.infoHash)throw new Error("Option `infoHash` is required");if(!t.port)throw new Error("Option `port` is required");this.peerId="string"==typeof t.peerId?t.peerId:t.peerId.toString("hex"),this.infoHash="string"==typeof t.infoHash?t.infoHash.toLowerCase():t.infoHash.toString("hex"),this.port="string"==typeof t.port?t.port:t.port.toString(),this.cookie=`bittorrent-lsd-${this.peerId}`,this.destroyed=!1,this.annouceIntervalId=null,this.server=pe.createSocket({type:"udp4",reuseAddr:!0});this.server.on("listening",(()=>{je("listening");try{this.server.addMembership(Ue)}catch(t){this.emit("warning",t)}})),this.server.on("message",((t,e)=>{je("message",t.toString(),`${e.address}:${e.port}`);const r=this._parseAnnounce(t.toString());null!==r&&r.cookie!==this.cookie&&r.infoHash.forEach((t=>{this.emit("peer",`${e.address}:${r.port}`,t)}))})),this.server.on("error",(t=>{this.emit("error",t)}))}_parseAnnounce(t){je("parse announce",t);const e=t.split("\r\n");if("BT-SEARCH * HTTP/1.1"!==e[0])return this.emit("warning","Invalid LSD announce (header)"),null;const r=e[1].split("Host: ")[1];if(!(t=>/^(239.192.152.143|\[ff15::efc0:988f]):6771$/.test(t))(r))return this.emit("warning","Invalid LSD announce (host)"),null;const i=e[2].split("Port: ")[1];if(!(t=>/^\d+$/.test(t))(i))return this.emit("warning","Invalid LSD announce (port)"),null;const n=e.filter((t=>t.includes("Infohash: "))).map((t=>t.split("Infohash: ")[1])).filter((t=>(t=>/^[0-9a-fA-F]{40}$/.test(t))(t)));if(0===n.length)return this.emit("warning","Invalid LSD announce (infoHash)"),null;return{host:r,port:i,infoHash:n,cookie:e.filter((t=>t.includes("cookie: "))).map((t=>t.split("cookie: ")[1])).reduce(((t,e)=>e),null)}}destroy(t){this.destroyed||(this.destroyed=!0,je("destroy"),clearInterval(this.annouceIntervalId),this.server.close(t))}start(){je("start"),this.server.bind(qe),this._announce(),this.annouceIntervalId=setInterval((()=>{this._announce()}),3e5)}_announce(){je("send announce");const t=`BT-SEARCH * HTTP/1.1\r\nHost: ${`${Ue}:6771`}\r\nPort: ${this.port}\r\nInfohash: ${this.infoHash}\r\ncookie: ${this.cookie}\r\n\r\n\r\n`;this.server.send(t,qe,Ue)}}const He=De;var Fe=r(717);const ze=L("torrent-discovery");class $e extends n.EventEmitter{constructor(t){if(super(),!t.peerId)throw new Error("Option `peerId` is required");if(!t.infoHash)throw new Error("Option `infoHash` is required");if(!Fe.browser&&!t.port)throw new Error("Option `port` is required");this.peerId="string"==typeof t.peerId?t.peerId:t.peerId.toString("hex"),this.infoHash="string"==typeof t.infoHash?t.infoHash.toLowerCase():t.infoHash.toString("hex"),this._port=t.port,this._userAgent=t.userAgent,this.destroyed=!1,this._announce=t.announce||[],this._intervalMs=t.intervalMs||9e5,this._trackerOpts=null,this._dhtAnnouncing=!1,this._dhtTimeout=!1,this._internalDHT=!1,this._onWarning=t=>{this.emit("warning",t)},this._onError=t=>{this.emit("error",t)},this._onDHTPeer=(t,e)=>{e.toString("hex")===this.infoHash&&this.emit("peer",`${t.host}:${t.port}`,"dht")},this._onTrackerPeer=t=>{this.emit("peer",t,"tracker")},this._onTrackerAnnounce=()=>{this.emit("trackerAnnounce")},this._onLSDPeer=(t,e)=>{this.emit("peer",t,"lsd")};const e=(t,e)=>{const r=new et(e);return r.on("warning",this._onWarning),r.on("error",this._onError),r.listen(t),this._internalDHT=!0,r};!1===t.tracker?this.tracker=null:t.tracker&&"object"==typeof t.tracker?(this._trackerOpts=Object.assign({},t.tracker),this.tracker=this._createTracker()):this.tracker=this._createTracker(),!1===t.dht||"function"!=typeof et?this.dht=null:t.dht&&"function"==typeof t.dht.addNode?this.dht=t.dht:t.dht&&"object"==typeof t.dht?this.dht=e(t.dhtPort,t.dht):this.dht=e(t.dhtPort),this.dht&&(this.dht.on("peer",this._onDHTPeer),this._dhtAnnounce()),!1===t.lsd||"function"!=typeof He?this.lsd=null:this.lsd=this._createLSD()}updatePort(t){t!==this._port&&(this._port=t,this.dht&&this._dhtAnnounce(),this.tracker&&(this.tracker.stop(),this.tracker.destroy((()=>{this.tracker=this._createTracker()}))))}complete(t){this.tracker&&this.tracker.complete(t)}destroy(t){if(this.destroyed)return;this.destroyed=!0,clearTimeout(this._dhtTimeout);const e=[];this.tracker&&(this.tracker.stop(),this.tracker.removeListener("warning",this._onWarning),this.tracker.removeListener("error",this._onError),this.tracker.removeListener("peer",this._onTrackerPeer),this.tracker.removeListener("update",this._onTrackerAnnounce),e.push((t=>{this.tracker.destroy(t)}))),this.dht&&this.dht.removeListener("peer",this._onDHTPeer),this._internalDHT&&(this.dht.removeListener("warning",this._onWarning),this.dht.removeListener("error",this._onError),e.push((t=>{this.dht.destroy(t)}))),this.lsd&&(this.lsd.removeListener("warning",this._onWarning),this.lsd.removeListener("error",this._onError),this.lsd.removeListener("peer",this._onLSDPeer),e.push((t=>{this.lsd.destroy(t)}))),b(e,t),this.dht=null,this.tracker=null,this.lsd=null,this._announce=null}_createTracker(){const t=Object.assign({},this._trackerOpts,{infoHash:this.infoHash,announce:this._announce,peerId:this.peerId,port:this._port,userAgent:this._userAgent}),e=new Ne(t);return e.on("warning",this._onWarning),e.on("error",this._onError),e.on("peer",this._onTrackerPeer),e.on("update",this._onTrackerAnnounce),e.setInterval(this._intervalMs),e.start(),e}_dhtAnnounce(){this._dhtAnnouncing||(ze("dht announce"),this._dhtAnnouncing=!0,clearTimeout(this._dhtTimeout),this.dht.announce(this.infoHash,this._port,(t=>{this._dhtAnnouncing=!1,ze("dht announce complete"),t&&this.emit("warning",t),this.emit("dhtAnnounce"),this.destroyed||(this._dhtTimeout=setTimeout((()=>{this._dhtAnnounce()}),this._intervalMs+Math.floor(Math.random()*this._intervalMs/5)),this._dhtTimeout.unref&&this._dhtTimeout.unref())})))}_createLSD(){const t=Object.assign({},{infoHash:this.infoHash,peerId:this.peerId,port:this._port}),e=new He(t);return e.on("warning",this._onWarning),e.on("error",this._onError),e.on("peer",this._onLSDPeer),e.start(),e}}const We=$e;var Ke=r(4862),Ve=r(3714);const Ze=L("lt_donthave"),Ge=()=>{class t extends n.EventEmitter{constructor(t){super(),this._peerSupports=!1,this._wire=t}onExtendedHandshake(){this._peerSupports=!0}onMessage(t){let e;try{e=new DataView(t.buffer).getUint32(0)}catch(t){return}this._wire.peerPieces.get(e)&&(Ze("got donthave %d",e),this._wire.peerPieces.set(e,!1),this.emit("donthave",e),this._failRequests(e))}donthave(t){if(!this._peerSupports)return;Ze("donthave %d",t);const e=new Uint8Array(4);new DataView(e.buffer).setUint32(0,t),this._wire.extended("lt_donthave",e)}_failRequests(t){const e=this._wire.requests;for(let r=0;r{class e extends n.EventEmitter{constructor(e){super(),this._wire=e,this._fetching=!1,this._metadataComplete=!1,this._metadataSize=null,this._remainingRejects=null,this._bitfield=new Dt.A(0,{grow:1e3}),ArrayBuffer.isView(t)&&this.setMetadata(t)}onHandshake(t,e,r){this._infoHash=t}onExtendedHandshake(t){return t.m&&t.m.ut_metadata?t.metadata_size?"number"!=typeof t.metadata_size||1e7this._metadataSize&&(r=this._metadataSize);const i=this.metadata.slice(e,r);this._data(t,i,this._metadataSize)}_onData(t,e,r){e.length>er||!this._fetching||(this.metadata.set(e,t*er),this._bitfield.set(t),this._checkDone())}_onReject(t){this._remainingRejects>0&&this._fetching?(this._request(t),this._remainingRejects-=1):this.emit("warning",new Error('Peer sent "reject" too much'))}_requestPieces(){if(this._fetching){this.metadata=new Uint8Array(this._metadataSize);for(let t=0;t0?this._requestPieces():this.emit("warning",new Error("Peer sent invalid metadata"))}}return e.prototype.name="ut_metadata",e};var ir=r(640),nr=r(8287).Buffer;const sr=t=>("string"==typeof t&&(t=[t]),nr.concat(t.map((t=>{const e=qt(t);if(2!==e.length)throw new Error("invalid address format, expecting: 10.10.10.5:128");const r=ir.parse(e[0]),i=nr.from(r.toByteArray()),n=e[1],s=nr.allocUnsafe(2);return s.writeUInt16BE(n,0),nr.concat([i,s])}))));var or=r(8287).Buffer;const ar={prefersEncryption:1,isSender:2,supportsUtp:4,supportsUtHolepunch:8,isReachable:16},hr=()=>{class t extends n.EventEmitter{constructor(t){super(),this._wire=t,this._intervalId=null,this._lastMessageTimestamp=0,this.reset()}start(){clearInterval(this._intervalId),this._intervalId=setInterval((()=>this._sendMessage()),65e3),this._intervalId.unref&&this._intervalId.unref()}stop(){clearInterval(this._intervalId),this._intervalId=null}reset(){this._remoteAddedPeers={},this._remoteDroppedPeers={},this._localAddedPeers={},this._localDroppedPeers={},this.stop()}addPeer(t,e={}){this._addPeer(t,this._encodeFlags(e),4)}addPeer6(t,e={}){this._addPeer(t,this._encodeFlags(e),6)}_addPeer(t,e,r){t.includes(":")&&(t in this._remoteAddedPeers||(t in this._localDroppedPeers&&delete this._localDroppedPeers[t],this._localAddedPeers[t]={ip:r,flags:e}))}dropPeer(t){this._dropPeer(t,4)}dropPeer6(t){this._dropPeer(t,6)}_dropPeer(t,e){t.includes(":")&&(t in this._remoteDroppedPeers||(t in this._localAddedPeers&&delete this._localAddedPeers[t],this._localDroppedPeers[t]={ip:e}))}onExtendedHandshake(t){if(!t.m||!t.m.ut_pex)return this.emit("warning",new Error("Peer does not support ut_pex"))}onMessage(t){const e=Date.now();if(e-this._lastMessageTimestamp<6e4)return this.reset(),this._wire.destroy(),this.emit("warning",new Error("Peer disconnected for sending PEX messages too frequently"));let r;this._lastMessageTimestamp=e;try{r=f.A.decode(t),r.added&&he.multi(or.from(r.added)).forEach(((t,e)=>{if(delete this._remoteDroppedPeers[t],!(t in this._remoteAddedPeers)){const i=r["added.f"][e];this._remoteAddedPeers[t]={ip:4,flags:i},this.emit("peer",t,this._decodeFlags(i))}})),r.added6&&he.multi6(or.from(r.added6)).forEach(((t,e)=>{if(delete this._remoteDroppedPeers[t],!(t in this._remoteAddedPeers)){const i=r["added6.f"][e];this._remoteAddedPeers[t]={ip:6,flags:i},this.emit("peer",t,this._decodeFlags(i))}})),r.dropped&&he.multi(or.from(r.dropped)).forEach((t=>{delete this._remoteAddedPeers[t],t in this._remoteDroppedPeers||(this._remoteDroppedPeers[t]={ip:4},this.emit("dropped",t))})),r.dropped6&&he.multi6(or.from(r.dropped6)).forEach((t=>{delete this._remoteAddedPeers[t],t in this._remoteDroppedPeers||(this._remoteDroppedPeers[t]={ip:6},this.emit("dropped",t))}))}catch(t){}}_decodeFlags(t){return{prefersEncryption:!!(t&ar.prefersEncryption),isSender:!!(t&ar.isSender),supportsUtp:!!(t&ar.supportsUtp),supportsUtHolepunch:!!(t&ar.supportsUtHolepunch),isReachable:!!(t&ar.isReachable)}}_encodeFlags(t){return Object.keys(t).reduce(((e,r)=>!0===t[r]?e|ar[r]:e),0)}_sendMessage(){const t=Object.keys(this._localAddedPeers).slice(0,50),e=Object.keys(this._localDroppedPeers).slice(0,50),r=(t,e)=>4===t[e].ip,i=(t,e)=>6===t[e].ip,n=(t,e)=>t[e].flags,s=sr(t.filter((t=>r(this._localAddedPeers,t)))),o=sr(t.filter((t=>i(this._localAddedPeers,t)))),a=sr(e.filter((t=>r(this._localDroppedPeers,t)))),h=sr(e.filter((t=>i(this._localDroppedPeers,t)))),u=or.from(t.filter((t=>r(this._localAddedPeers,t))).map((t=>n(this._localAddedPeers,t)))),f=or.from(t.filter((t=>i(this._localAddedPeers,t))).map((t=>n(this._localAddedPeers,t))));t.forEach((t=>delete this._localAddedPeers[t])),e.forEach((t=>delete this._localDroppedPeers[t])),this._wire.extended("ut_pex",{added:s,"added.f":u,dropped:a,added6:o,"added6.f":f,dropped6:h})}}return t.prototype.name="ut_pex",t};var ur=r(1133);const fr=L("webtorrent:file-iterator");class lr extends n{constructor(t,{start:e,end:r}){super(),this._torrent=t._torrent,this._pieceLength=t._torrent.pieceLength,this._startPiece=(e+t.offset)/this._pieceLength|0,this._endPiece=(r+t.offset)/this._pieceLength|0,this._piece=this._startPiece,this._offset=e+t.offset-this._startPiece*this._pieceLength,this._missing=r-e+1,this._criticalLength=Math.min(1048576/this._pieceLength|0,2),this._torrent._select(this._startPiece,this._endPiece,1,null,!0),this.destroyed=!1}[Symbol.asyncIterator](){return this}next(){return new Promise(((t,e)=>{if(0===this._missing||this.destroyed)return t({done:!0}),this.destroy();const r=(i,n)=>{if(!this._torrent.bitfield.get(i)){const t=e=>{(e===i||this.destroyed)&&(this._torrent.removeListener("verified",t),r(i,n))};return this._torrent.on("verified",t),this._torrent.critical(i,i+this._criticalLength)}if(this._torrent.destroyed)return e(new Error("Torrent removed"));this._torrent.store.get(i,n,((r,n)=>this.destroyed?t({done:!0}):(fr("read %s and yielding (length %s) (err %s)",i,n?.length,r?.message),r?e(r):void t({value:n,done:!1}))))},i=Math.min(this._missing,this._pieceLength-this._offset);r(this._piece++,{length:i,offset:this._offset}),this._missing-=i,this._offset=0}))}async return(){return this.destroy(),{done:!0}}async throw(t){throw t}destroy(t=()=>{},e){this.destroyed||(this.destroyed=!0,this._torrent.destroyed||this._torrent._deselect(this._startPiece,this._endPiece,!0),this.emit("return"),t(e))}}class cr extends n{constructor(t,e){super(),this._torrent=t,this._destroyed=!1,this._fileStreams=new Set,this._iterators=new Set,this.name=e.name,this.path=e.path,this.length=e.length,this.size=e.length,this.type=ur.getType(this.name)||"application/octet-stream",this.offset=e.offset,this.done=!1;const r=e.offset,i=r+e.length-1;this._startPiece=r/this._torrent.pieceLength|0,this._endPiece=i/this._torrent.pieceLength|0,0===this.length&&(this.done=!0,this.emit("done")),this._client=t.client}get downloaded(){if(this._destroyed||!this._torrent.bitfield)return 0;const{pieces:t,bitfield:e,pieceLength:r,lastPieceLength:i}=this._torrent,{_startPiece:n,_endPiece:s}=this,o=n=>{const s=n===t.length-1?i:r;return e.get(n)?s:s-t[n].missing};let a=0;for(let e=n;e<=s;e+=1){const h=o(e);if(a+=h,e===n){const t=this.offset%r;a-=Math.min(t,h)}if(e===s){const e=(s===t.length-1?i:r)-(this.offset+this.length)%r;a-=Math.min(e,h)}}return a}get progress(){return this.length?this.downloaded/this.length:0}select(t){0!==this.length&&this._torrent.select(this._startPiece,this._endPiece,t)}deselect(){0!==this.length&&this._torrent.deselect(this._startPiece,this._endPiece)}[Symbol.asyncIterator](t={}){if(0===this.length)return async function*(){}();const{start:e=0}=t??{},r=t?.end&&t.end{this._iterators.delete(i)})),i}createReadStream(t){const e=this[Symbol.asyncIterator](t),r=vt.Readable.from(e);return this._fileStreams.add(r),r.once("close",(()=>{this._fileStreams.delete(r)})),r}async arrayBuffer(t={}){const{start:e=0}=t,r=t?.end&&t.end{e=this[Symbol.asyncIterator](t)},async pull(t){const{value:r,done:i}=await e.next();i?t.close():t.enqueue(r)},cancel(){e.return()}})}get streamURL(){if(!this._client._server)throw new Error("No server created");return`${this._client._server.pathname}/${this._torrent.infoHash}/${this.path}`}streamTo(t){return t.src=this.streamURL,t}includes(t){return this._startPiece<=t&&this._endPiece>=t}_destroy(){this._destroyed=!0,this._torrent=null;for(const t of this._fileStreams)t.destroy();this._fileStreams.clear();for(const t of this._iterators)t.destroy();this._iterators.clear()}}class dr{constructor(t){this._torrent=t,this._numPieces=t.pieces.length,this._pieces=new Array(this._numPieces),this._onWire=t=>{this.recalculate(),this._initWire(t)},this._onWireHave=t=>{this._pieces[t]+=1},this._onWireBitfield=()=>{this.recalculate()},this._torrent.wires.forEach((t=>{this._initWire(t)})),this._torrent.on("wire",this._onWire),this.recalculate()}getRarestPiece(t){let e=[],r=1/0;for(let i=0;i{this._cleanupWireEvents(t)})),this._torrent=null,this._pieces=null,this._onWire=null,this._onWireHave=null,this._onWireBitfield=null}_initWire(t){t._onClose=()=>{this._cleanupWireEvents(t);for(let e=0;e{const i=await(0,w.tW)(t,"hex");if(this.destroyed)return;this.handshake(e,i);const n=this._torrent.pieces.length,s=new Dt.A(n);for(let t=0;t<=n;t++)s.set(t,!0);this.bitfield(s)})),this.once("interested",(()=>{gr("interested"),this.unchoke()})),this.on("uninterested",(()=>{gr("uninterested")})),this.on("choke",(()=>{gr("choke")})),this.on("unchoke",(()=>{gr("unchoke")})),this.on("bitfield",(()=>{gr("bitfield")})),this.lt_donthave.on("donthave",(()=>{gr("donthave")})),this.on("request",((t,e,r,i)=>{gr("request pieceIndex=%d offset=%d length=%d",t,e,r),this.httpRequest(t,e,r,((e,r)=>{if(e){this.lt_donthave.donthave(t);const e=setTimeout((()=>{this.destroyed||this.have(t)}),1e4);e.unref&&e.unref()}i(e,r)}))}))}async httpRequest(t,e,r,i){i=M(i);const n=t*this._torrent.pieceLength+e,s=n+r-1,o=this._torrent.files;let a,h;if(o.length<=1)a=[{url:this.url,start:n,end:s}];else{const t=o.filter((t=>t.offset<=s&&t.offset+t.length>n));if(t.length<1)return i(new Error("Could not find file corresponding to web seed range request"));a=t.map((t=>{const e=t.offset+t.length-1;return{url:this.url+("/"===this.url[this.url.length-1]?"":"/")+t.path.replace(this._torrent.path,""),fileOffsetInRange:Math.max(t.offset-n,0),start:Math.max(n-t.offset,0),end:Math.min(e,s-t.offset)}}))}try{h=await Promise.all(a.map((async({start:i,end:n,url:s})=>{gr("Requesting url=%s pieceIndex=%d offset=%d length=%d start=%d end=%d",s,t,e,r,i,n);const o=await nt(s,{cache:"no-store",method:"GET",headers:{"Cache-Control":"no-store","user-agent":`WebTorrent/${mr} (https://webtorrent.io)`,range:`bytes=${i}-${n}`},signal:AbortSignal.timeout(6e4)});if(!o.ok)throw new Error(`Unexpected HTTP status code ${o.status}`);const a=new Uint8Array(await o.arrayBuffer());return gr("Got data of length %d",a.length),a})))}catch(t){return i(t)}i(null,(0,w.xW)(h))}destroy(){super.destroy(),this._torrent=null}}class br{_items=[];remove(t){for(let e=0;e=0&&0!==t.from&&i.push(n);const s={...r,from:t.to+1};s.to-s.from>=0&&i.push(s),this._items.splice(e,1,...i),e=e-1+i.length}else Mr(t,r)&&(this._items.splice(e,1),e--)}}insert(t){if(t.from>t.to)throw new Error("Invalid interval");if(!t.isStreamSelection){const{notify:e}=t,r=[];for(const e of this._items)e.notify&&Sr(t,e)&&r.push(e.notify);r.length>0&&(t.notify=()=>{r.forEach((t=>t())),e?.()}),this.remove(t)}this._items.push(t)}sort(t=(t,e)=>t.from-e.from){this._items.sort(t)}get length(){return this._items.length}get(t){return this._items[t]}swap(t,e){const r=this._items[t];this._items[t]=this._items[e],this._items[e]=r}clear(){this._items.length=0}*[Symbol.iterator](){for(let t=0;t{this._items.splice(t,1),t--},yield e,delete e.remove}}}function vr(t,e){return t.from<=e.to&&t.from>e.from&&t.to>e.to}function wr(t,e){return t.to>=e.from&&t.to=e.from&&t.to<=e.to&&i=e.to}const Sr=(t,e)=>()=>vr(t,e)||wr(t,e)||_r(t,e)||Mr(t,e);var kr=r(717);const Er=L("webtorrent:torrent"),xr=5e3,Ar=3*Xe.BLOCK_LENGTH,Ir=kr.browser?$t().length:2,Tr=[1e3,5e3,15e3],Pr=`WebTorrent/${mr} (https://webtorrent.io)`,Cr=(globalThis.navigator?.storage?.getDirectory&&globalThis.FileSystemFileHandle,kr.browser,Ke);let Rr;try{Rr=h(Lt.statSync("/tmp")&&"/tmp","webtorrent")}catch(t){Rr=h("function"==typeof Nt.tmpdir?Nt.tmpdir():"/","webtorrent")}const Or="undefined"!=typeof window&&"function"==typeof window.requestIdleCallback&&window.requestIdleCallback;class Br extends n{constructor(t,e,r){super(),this._debugId="unknown infohash",this.client=e,this.announce=r.announce,this.urlList=r.urlList,this.path=r.path||Rr,this.addUID=r.addUID||!1,this.rootDir=r.rootDir||null,this.skipVerify=!!r.skipVerify,this._startupBitfield=r.bitfield,this._store=r.store||Cr,this._preloadedStore=r.preloadedStore||null,this._storeCacheSlots=void 0!==r.storeCacheSlots?r.storeCacheSlots:20,this._destroyStoreOnDestroy=r.destroyStoreOnDestroy||!1,this.store=null,this.storeOpts=r.storeOpts,this.alwaysChokeSeeders=r.alwaysChokeSeeders??!0,this._getAnnounceOpts=r.getAnnounceOpts,"boolean"==typeof r.private&&(this.private=r.private),this.strategy=r.strategy||"sequential",this.maxWebConns=r.maxWebConns||4,this._rechokeNumSlots=!1===r.uploads||0===r.uploads?0:+r.uploads||10,this._rechokeOptimisticWire=null,this._rechokeOptimisticTime=0,this._rechokeIntervalId=null,this._noPeersIntervalId=null,this._noPeersIntervalTime=r.noPeersIntervalTime?1e3*r.noPeersIntervalTime:3e4,this._startAsDeselected=r.deselect||!1,this.ready=!1,this.destroyed=!1,this.paused=r.paused||!1,this.done=!1,this.metadata=null,this.files=[],this.pieces=[],this._amInterested=!1,this._selections=new br,this._critical=[],this.wires=[],this._queue=[],this._peers={},this._peersLength=0,this.received=0,this.uploaded=0,this._downloadSpeed=xt(),this._uploadSpeed=xt(),this._servers=[],this._xsRequests=[],this._fileModtimes=r.fileModtimes,null!==t&&this._onTorrentId(t),this._debug("new torrent")}get timeRemaining(){return this.done?0:0===this.downloadSpeed?1/0:(this.length-this.downloaded)/this.downloadSpeed*1e3}get downloaded(){if(!this.bitfield)return 0;let t=0;for(let e=0,r=this.pieces.length;e{this.destroyed||this._onParsedTorrent(e)}))):ft(t,((t,e)=>{if(!this.destroyed)return t?this._destroy(t):void this._onParsedTorrent(e)}))}_onParsedTorrent(t){if(!this.destroyed){if(this._processParsedTorrent(t),!this.infoHash)return this._destroy(new Error("Malformed torrent data: No info hash"));this._rechokeIntervalId=setInterval((()=>{this._rechoke()}),1e4),this._rechokeIntervalId.unref&&this._rechokeIntervalId.unref(),this.emit("_infoHash",this.infoHash),this.destroyed||(this.emit("infoHash",this.infoHash),this.destroyed||(this.client.listening?this._onListening():this.client.once("listening",(()=>{this._onListening()}))))}}_processParsedTorrent(t){this._debugId=(0,w.V5)(t.infoHash).substring(0,7),void 0!==this.private&&(t.private=this.private),Array.isArray(this.announce)&&(t.announce=t.announce.concat(this.announce)),this.client.tracker&&Array.isArray(this.client.tracker.announce)&&!t.private&&(t.announce=t.announce.concat(this.client.tracker.announce)),this.client.tracker&&globalThis.WEBTORRENT_ANNOUNCE&&!t.private&&(t.announce=t.announce.concat(globalThis.WEBTORRENT_ANNOUNCE)),this.urlList&&(t.urlList=t.urlList.concat(this.urlList)),t.announce=Array.from(new Set(t.announce)),t.urlList=Array.from(new Set(t.urlList)),Object.assign(this,t),this.magnetURI=pt(t),this.torrentFile=function(t){const e={info:t.info};return e["announce-list"]=(t.announce||[]).map((t=>(e.announce||(e.announce=t),[t=(0,w.L0)(t)]))),e["url-list"]=t.urlList||[],void 0!==t.private&&(e.private=Number(t.private)),t.created&&(e["creation date"]=t.created.getTime()/1e3|0),t.createdBy&&(e["created by"]=t.createdBy),t.comment&&(e.comment=t.comment),f.A.encode(e)}(t)}_onListening(){this.destroyed||(this.info?this._onMetadata(this):(this.xs&&this._getMetadataFromServer(),this._startDiscovery()))}_startDiscovery(){if(this.discovery||this.destroyed)return;let t=this.client.tracker;t&&(t=Object.assign({},this.client.tracker,{getAnnounceOpts:()=>{if(this.destroyed)return;const t={uploaded:this.uploaded,downloaded:this.downloaded,left:Math.max(this.length-this.downloaded,0)};return this.client.tracker.getAnnounceOpts&&Object.assign(t,this.client.tracker.getAnnounceOpts()),this._getAnnounceOpts&&Object.assign(t,this._getAnnounceOpts()),t}})),this.peerAddresses&&this.peerAddresses.forEach((t=>this.addPeer(t,Pt.default.SOURCE_MANUAL))),this.discovery=new We({infoHash:this.infoHash,announce:this.announce,peerId:this.client.peerId,dht:!this.private&&this.client.dht,tracker:t,port:this.client.torrentPort,userAgent:Pr,lsd:this.client.lsd}),this.discovery.on("error",(t=>{this._destroy(t)})),this.discovery.on("peer",((t,e)=>{this._debug("peer %s discovered via %s",t,e),this.client.seedOutgoingConnections||!this.done?this.addPeer(t,e):this._debug("discovery ignoring peer %s: torrent is done and seedOutgoingConnections is false",t)})),this.discovery.on("trackerAnnounce",(()=>{this.emit("trackerAnnounce")})),this.discovery.on("dhtAnnounce",(()=>{this.emit("dhtAnnounce")})),this.discovery.on("warning",(t=>{this.emit("warning",t)})),this._noPeersIntervalId=setInterval((()=>{if(this.destroyed)return;const t={[Pt.default.SOURCE_TRACKER]:{enabled:!!this.client.tracker,numPeers:0},[Pt.default.SOURCE_DHT]:{enabled:!!this.client.dht,numPeers:0},[Pt.default.SOURCE_LSD]:{enabled:!!this.client.lsd,numPeers:0},[Pt.default.SOURCE_UT_PEX]:{enabled:this.client.utPex&&!0,numPeers:0}};for(const e of Object.values(this._peers)){const r=t[e.source];void 0!==r&&r.numPeers++}for(const e of Object.keys(t)){const r=t[e];r.enabled&&0===r.numPeers&&this.emit("noPeers",e)}}),this._noPeersIntervalTime),this._noPeersIntervalId.unref&&this._noPeersIntervalId.unref()}_getMetadataFromServer(){const t=this,e=Array.isArray(this.xs)?this.xs:[this.xs];t._xsRequestsController=new AbortController;const r=t._xsRequestsController.signal,i=e.map((e=>i=>{!async function(e,i){if(0!==e.indexOf("http://")&&0!==e.indexOf("https://"))return t.emit("warning",new Error(`skipping non-http xs param: ${e}`)),i(null);const n={method:"GET",headers:{"user-agent":Pr},signal:r};let s,o,a;try{s=await nt(e,n)}catch(r){return t.emit("warning",new Error(`http error from xs param: ${e}`)),i(null)}if(t.destroyed)return i(null);if(t.metadata)return i(null);if(200!==s.status)return t.emit("warning",new Error(`non-200 status code ${s.status} from xs param: ${e}`)),i(null);try{o=new Uint8Array(await s.arrayBuffer())}catch(e){return t.emit("warning",e),i(null)}try{a=await dt(o)}catch(t){}if(!a)return t.emit("warning",new Error(`got invalid torrent file from xs param: ${e}`)),i(null);if(a.infoHash!==t.infoHash)return t.emit("warning",new Error(`got torrent file with incorrect info hash from xs param: ${e}`)),i(null);t._onMetadata(a),i(null)}(e,i)}));b(i)}async _onMetadata(t){if(this.metadata||this.destroyed)return;let e;if(this._debug("got metadata"),this._xsRequestsController?.abort(),this._xsRequestsController=null,t&&t.infoHash)e=t;else try{e=await dt(t)}catch(t){return this._destroy(t)}this._processParsedTorrent(e),this.metadata=this.torrentFile,this.client.enableWebSeeds&&this.urlList.forEach((t=>{this.addWebSeed(t)})),this._rarityMap=new dr(this),this.files=this.files.map((t=>new cr(this,t)));let r=this._preloadedStore;if(r||(r=new this._store(this.pieceLength,{...this.storeOpts,torrent:this,path:this.path,files:this.files,length:this.length,name:this.name+" - "+this.infoHash.slice(0,8),addUID:this.addUID,rootDir:this.rootDir,max:this._storeCacheSlots})),this._storeCacheSlots>0&&!(r instanceof Ke)&&(r=new Ht(r,{max:this._storeCacheSlots})),this.store=new Ve(r),this.so&&!this._startAsDeselected?this.files.forEach(((t,e)=>{this.so.includes(e)&&this.files[e].select()})):0===this.pieces.length||this._startAsDeselected||this.select(0,this.pieces.length-1,0),this._hashes=this.pieces,this._hasStartupBitfield=this._startupBitfield&&this._startupBitfield.length===Math.ceil(this.pieces.length/8)&&!this.skipVerify,this.bitfield=new Dt.A(this._hasStartupBitfield?new Uint8Array(this._startupBitfield):this.pieces.length),this._reservations=this._hasStartupBitfield?this.pieces.map(((t,e)=>this.bitfield.get(e)?null:[])):this.pieces.map((()=>[])),this.pieces=this.pieces.map(((t,e)=>{if(this._hasStartupBitfield&&this.bitfield.get(e))return null;const r=e===this.pieces.length-1?this.lastPieceLength:this.pieceLength;return new Xe(r)})),this.emit("metadata"),!this.destroyed)if(this.skipVerify)this._markAllVerified(),this._onStore();else{const t=t=>{if(t)return this._destroy(t);this._debug("done verifying"),this._onStore()};this._debug("verifying existing torrent data"),this._fileModtimes&&this._store===Ke?this.getFileModtimes(((e,r)=>{if(e)return this._destroy(e);this.files.map(((t,e)=>r[e]===this._fileModtimes[e])).every((t=>t))?(this._markAllVerified(),this._onStore()):this._verifyPieces(t)})):this._verifyPieces(t)}}getFileModtimes(t){const e=[];Ye(this.files.map(((t,r)=>i=>{const n=this.addUID?h(this.name+" - "+this.infoHash.slice(0,8)):h(this.path,t.path);Lt.stat(n,((t,n)=>{if(t&&"ENOENT"!==t.code)return i(t);e[r]=n&&n.mtime.getTime(),i(null)}))})),Ir,(r=>{this._debug("done getting file modtimes"),t(r,e)}))}_verifyPiece(t,e){if(this.destroyed)return e(new Error("torrent is destroyed"));const r={};t===this.pieces.length-1&&(r.length=this.lastPieceLength),this.store.get(t,r,(async(r,i)=>{if(this.destroyed)return e(new Error("torrent is destroyed"));if(r)return v((()=>e(null,!1)));const n=await(0,w.tW)(i,"hex");if(this.destroyed)return e(new Error("torrent is destroyed"));e(null,n===this._hashes[t])}))}_verifyPiecesUsingBitfield(t){const e=new Set,r=new Map;for(const t of this.files){let i=2,n=null;for(let e=t._startPiece;e<=t._endPiece;++e)this.bitfield.get(e)&&(i&&(n=e,i--),r.has(e)||r.set(e,[]),r.get(e).push(t));null!==n&&e.add(n)}this._verifyPiecesUsingHash([...e],(i=>{if(i)return t(i);const n=new Set;for(const t of e)if(!this.bitfield.get(t)){const e=r.get(t);for(const t of e)n.add(t)}if(n.size){const e=[];for(const t of n)for(let r=t._startPiece;r<=t._endPiece;++r)-1===e.indexOf(r)&&e.push(r);return this._verifyPiecesUsingHash(e,t)}t(null)}))}_verifyPiecesUsingHash(t,e){Ye(t.map(((t,e)=>r=>{const i=Number.isInteger(t)?t:e;this._verifyPiece(i,((t,e)=>{if(t)return r(t);e?(this._debug("piece verified %s",i),this._markVerified(i)):(this._markUnverified(i),this._debug("piece invalid %s",i)),r(null)}))})),Ir,e)}_verifyPieces(t){if(this._hasStartupBitfield)return this._verifyPiecesUsingBitfield(t);this._verifyPiecesUsingHash(this.pieces,t)}rescanFiles(t){if(this.destroyed)throw new Error("torrent is destroyed");t||(t=Nr),this._verifyPiecesUsingHash(this.pieces,(e=>{if(e)return this._destroy(e),t(e);this._checkDone(),t(null)}))}_markAllVerified(){for(let t=0;tt))return!0;return!1}_onStore(){this.destroyed||(this._debug("on store"),this._startDiscovery(),this.ready=!0,this.emit("ready"),this._checkDone(),this._updateSelections(),this.wires.forEach((t=>{t.ut_metadata&&t.ut_metadata.setMetadata(this.metadata),this._onWireWithMetadata(t)})))}destroy(t,e){if("function"==typeof t)return this.destroy(null,t);this._destroy(null,t,e)}_destroy(t,e,r){if("function"==typeof e)return this._destroy(t,null,e);if(this.destroyed)return;this.destroyed=!0,this._debug("destroy"),this.client._remove(this),this._selections.clear(),clearInterval(this._rechokeIntervalId),clearInterval(this._noPeersIntervalId),this._xsRequestsController?.abort(),this._rarityMap&&this._rarityMap.destroy();for(const t in this._peers)this.removePeer(t);for(const t of this.files)t instanceof cr&&t._destroy();const i=this._servers.map((t=>e=>{t.destroy(e)}));if(this.discovery&&i.push((t=>{this.discovery.destroy(t)})),this.store){let t=this._destroyStoreOnDestroy;e&&void 0!==e.destroyStore&&(t=e.destroyStore),i.push((e=>{t?this.store.destroy(e):this.store.close(e)}))}b(i,r),t&&(0===this.listenerCount("error")?this.client.emit("error",t):this.emit("error",t)),this.emit("close"),this.client=null,this.files=[],this.discovery=null,this.store=null,this._rarityMap=null,this._peers=null,this._servers=null,this._xsRequests=null,this._queue=null}addPeer(t,e){if(this.destroyed)throw new Error("torrent is destroyed");if(!this.infoHash)throw new Error("addPeer() must not be called before the `infoHash` event");let r;if("string"==typeof t){let e;try{e=qt(t)}catch(e){return this._debug("ignoring peer: invalid %s",t),this.emit("invalidPeer",t),!1}r=e[0]}else"string"==typeof t.remoteAddress&&(r=t.remoteAddress);if(this.client.blocked&&r&&this.client.blocked.contains(r))return this._debug("ignoring peer: blocked %s",t),"string"!=typeof t&&t.destroy(),this.emit("blockedPeer",t),!1;const i=this.client.utp&&this._isIPv4(r)?"utp":"tcp",n=!!this._addPeer(t,i,e);return n?this.emit("peer",t):this.emit("invalidPeer",t),n}_addPeer(t,e,r){if(this.destroyed)return"string"!=typeof t&&t.destroy(),null;if("string"==typeof t&&!this._validAddr(t))return this._debug("ignoring peer: invalid %s",t),null;const i=t&&t.id||t;if(this._peers[i])return this._debug("ignoring peer: duplicate (%s)",i),"string"!=typeof t&&t.destroy(),null;if(this.paused)return this._debug("ignoring peer: torrent is paused"),"string"!=typeof t&&t.destroy(),null;let n;return this._debug("add peer %s",i),n="string"==typeof t?"utp"===e?Pt.default.createUTPOutgoingPeer(t,this,this.client.throttleGroups,r):Pt.default.createTCPOutgoingPeer(t,this,this.client.throttleGroups,r):Pt.default.createWebRTCPeer(t,this,this.client.throttleGroups,r),this._registerPeer(n),"string"==typeof t&&(this._queue.push(n),this._drain()),n}addWebSeed(t){if(this.destroyed)throw new Error("torrent is destroyed");let e,r;if("string"==typeof t){if(e=t,!/^https?:\/\/.+/.test(e))return this.emit("warning",new Error(`ignoring invalid web seed: ${e}`)),void this.emit("invalidPeer",e);if(this._peers[e])return this.emit("warning",new Error(`ignoring duplicate web seed: ${e}`)),void this.emit("invalidPeer",e);r=new yr(e,this)}else{if(!t||"string"!=typeof t.connId)return void this.emit("warning",new Error("addWebSeed must be passed a string or connection object with id property"));if(r=t,e=r.connId,this._peers[e])return this.emit("warning",new Error(`ignoring duplicate web seed: ${e}`)),void this.emit("invalidPeer",e)}this._debug("add web seed %s",e);const i=Pt.default.createWebSeedPeer(r,e,this,this.client.throttleGroups);this._registerPeer(i),this.emit("peer",e)}_addIncomingPeer(t){return this.destroyed?t.destroy(new Error("torrent is destroyed")):this.paused?t.destroy(new Error("torrent is paused")):(this._debug("add incoming peer %s",t.id),void this._registerPeer(t))}_registerPeer(t){t.on("download",(t=>{this.destroyed||(this.received+=t,this._downloadSpeed(t),this.client._downloadSpeed(t),this.emit("download",t),this.destroyed||this.client.emit("download",t))})),t.on("upload",(t=>{this.destroyed||(this.uploaded+=t,this._uploadSpeed(t),this.client._uploadSpeed(t),this.emit("upload",t),this.destroyed||this.client.emit("upload",t))})),this._peers[t.id]=t,this._peersLength+=1}removePeer(t){const e=t?.id||t;t&&!t.id&&(t=this._peers?.[e]),t&&(t.destroy(),this.destroyed||(this._debug("removePeer %s",e),delete this._peers[e],this._peersLength-=1,this._drain()))}_select(t=0,e=this.pieces.length-1,r,i,n=!1){if(this.destroyed)throw new Error("torrent is destroyed");if(t<0||ee.priority-t.priority)),this._updateSelections()}select(t,e,r,i){this._select(t,e,r,i,!1)}_deselect(t,e,r=!1){if(this.destroyed)throw new Error("torrent is destroyed");this._debug("deselect %s-%s",t,e),this._selections.remove({from:t,to:e,isStreamSelection:r}),this._updateSelections()}deselect(t,e){this._deselect(t,e,!1)}critical(t,e){if(this.destroyed)throw new Error("torrent is destroyed");this._debug("critical %s-%s",t,e);for(let r=t;r<=e;++r)this._critical[r]=!0;this._updateSelections()}_onWire(t,e){if(this._debug("got wire %s (%s)",t._debugId,e||"Unknown"),this.wires.push(t),e){const r=qt(e);t.remoteAddress=r[0],t.remotePort=r[1]}this.client.dht&&this.client.dht.listening&&t.on("port",(r=>{if(!this.destroyed&&!this.client.dht.destroyed){if(!t.remoteAddress)return this._debug("ignoring PORT from peer with no address");if(0===r||r>65536)return this._debug("ignoring invalid PORT from peer");this._debug("port: %s (from %s)",r,e),this.client.dht.addNode({host:t.remoteAddress,port:r})}})),t.on("timeout",(()=>{this._debug("wire timeout (%s)",e),t.destroy()})),"webSeed"!==t.type&&t.setTimeout(3e4,!0),t.setKeepAlive(!0),t.use(rr(this.metadata)),t.ut_metadata.on("warning",(t=>{this._debug("ut_metadata warning: %s",t.message)})),this.metadata||(t.ut_metadata.on("metadata",(t=>{this._debug("got metadata via ut_metadata"),this._onMetadata(t)})),t.ut_metadata.fetch()),this.client.utPex&&!this.private&&(t.use(hr()),t.ut_pex.on("peer",(t=>{this.client.seedOutgoingConnections||!this.done?(this._debug("ut_pex: got peer: %s (from %s)",t,e),this.addPeer(t,Pt.default.SOURCE_UT_PEX)):this._debug("ut_pex ignoring peer %s: torrent is done and seedOutgoingConnections is false",t)})),t.ut_pex.on("dropped",(t=>{const r=this._peers[t];r&&!r.connected&&(this._debug("ut_pex: dropped peer: %s (from %s)",t,e),this.removePeer(t))})),t.once("close",(()=>{t.ut_pex.reset()}))),t.use(Ge()),this.emit("wire",t,e),this.ready&&v((()=>{this._onWireWithMetadata(t)}))}_onWireWithMetadata(t){let e=null;const r=()=>{this.destroyed||t.destroyed||(this._numQueued>2*(this._numConns-this.numPeers)&&t.amInterested?t.destroy():(e=setTimeout(r,xr),e.unref&&e.unref()))};let i;const n=()=>{if(t.peerPieces.buffer.length===this.bitfield.buffer.length){for(i=0;i{n(),this._update(),this._updateWireInterest(t)})),t.on("have",(()=>{n(),this._update(),this._updateWireInterest(t)})),t.lt_donthave.on("donthave",(()=>{n(),this._update(),this._updateWireInterest(t)})),t.on("have-all",(()=>{t.isSeeder=!0,this.alwaysChokeSeeders&&t.choke(),this._update(),this._updateWireInterest(t)})),t.on("have-none",(()=>{t.isSeeder=!1,this._update(),this._updateWireInterest(t)})),t.on("allowed-fast",(t=>{this._update()})),t.once("interested",(()=>{t.unchoke()})),t.once("close",(()=>{clearTimeout(e)})),t.on("choke",(()=>{clearTimeout(e),e=setTimeout(r,xr),e.unref&&e.unref()})),t.on("unchoke",(()=>{clearTimeout(e),this._update()})),t.on("request",((e,r,i,n)=>{if(i>131072)return t.destroy();this.pieces[e]||this.store.get(e,{offset:r,length:i},n)})),t.hasFast&&this._hasAllPieces()?t.haveAll():t.hasFast&&this._hasNoPieces()?t.haveNone():t.bitfield(this.bitfield),this._updateWireInterest(t),t.peerExtensions.dht&&this.client.dht&&this.client.dht.listening&&t.port(this.client.dht.address().port),"webSeed"!==t.type&&(e=setTimeout(r,xr),e.unref&&e.unref()),t.isSeeder=!1,n()}_updateSelections(){this.ready&&!this.destroyed&&(v((()=>{this._gcSelections()})),this._updateInterest(),this._update())}_gcSelections(){for(const t of this._selections){const e=t.offset;for(;this.bitfield.get(t.from+t.offset)&&t.from+t.offsetthis._updateWireInterest(t))),t!==this._amInterested&&(this._amInterested?this.emit("interested"):this.emit("uninterested"))}_updateWireInterest(t){let e=!1;for(let r=0;rthis._updateWireWrapper()),{timeout:250}):this._updateWireWrapper()}_updateWireWrapper(){if(this.destroyed)return;const t=Qe(this.wires);let e;for(;e=t();)this._updateWire(e)}_updateWire(t){if(t.destroyed)return!1;const e=this,r=Lr(t,.5);if(t.requests.length>=r)return;const i=Lr(t,1);if(t.peerChoking)t.hasFast&&t.peerAllowedFastSet.length>0&&!this._hasMorePieces(t.peerAllowedFastSet.length-1)&&function(){if(t.requests.length>=i)return!1;for(const r of t.peerAllowedFastSet){if(t.peerPieces.get(r)&&!e.bitfield.get(r))for(;e._request(t,r,!1)&&t.requests.length=i.from+i.offset;--s)if(t.peerPieces.get(s)&&e._request(t,s,!1))return}}();o(!1)||o(!0)}function n(e,r,i,n){return s=>s>=e&&s<=r&&!(s in i)&&t.peerPieces.get(s)&&(!n||n(s))}function s(t){let r=t;for(let i=t;i=i)return!0;const o=function(){const r=t.downloadSpeed()||1;if(r>Ar)return()=>!0;const i=Math.max(1,t.requests.length)*Xe.BLOCK_LENGTH/r;let n=10,s=0;return t=>{if(!n||e.bitfield.get(t))return!0;let o=e.pieces[t].missing;for(;s0))return n--,!1}return!0}}();for(let a=0;a({wire:t,random:Math.random()}))).sort(((t,e)=>{const r=t.wire,i=e.wire;return r.downloadSpeed()!==i.downloadSpeed()?r.downloadSpeed()-i.downloadSpeed():r.uploadSpeed()!==i.uploadSpeed()?r.uploadSpeed()-i.uploadSpeed():r.amChoking!==i.amChoking?r.amChoking?-1:1:t.random-e.random})).map((t=>t.wire));this._rechokeOptimisticTime<=0?this._rechokeOptimisticWire=null:this._rechokeOptimisticTime-=1;let e=0;for(;t.length>0&&e0){const e=t.filter((t=>t.peerInterested));if(e.length>0){const t=e[(r=e.length,Math.random()*r|0)];t.unchoke(),this._rechokeOptimisticWire=t,this._rechokeOptimisticTime=2}}var r;t.filter((t=>t!==this._rechokeOptimisticWire)).forEach((t=>t.choke()))}_hotswap(t,e){const r=t.downloadSpeed();if(r=Ar||(2*a>r||a>o||(n=e,o=a))}if(!n)return!1;for(s=0;s=o)return!1;const a=i.pieces[e];let h=s?a.reserveRemaining():a.reserve();if(-1===h&&r&&i._hotswap(t,e)&&(h=s?a.reserveRemaining():a.reserve()),-1===h)return!1;let u=i._reservations[e];u||(u=i._reservations[e]=[]);let f=u.indexOf(null);-1===f&&(f=u.length),u[f]=t;const l=a.chunkOffset(h),c=s?a.chunkLengthRemaining(h):a.chunkLength(h);function d(){v((()=>{i._update()}))}return t.request(e,l,c,(async function r(n,o){if(i.destroyed)return;if(!i.ready)return i.once("ready",(()=>{r(n,o)}));if(u[f]===t&&(u[f]=null),a!==i.pieces[e])return d();if(n)return i._debug("error getting piece %s (offset: %s length: %s) from %s: %s",e,l,c,`${t.remoteAddress}:${t.remotePort}`,n.message),s?a.cancelRemaining(h):a.cancel(h),void d();if(i._debug("got piece %s (offset: %s length: %s) from %s",e,l,c,`${t.remoteAddress}:${t.remotePort}`),!a.set(h,o,t))return d();const p=a.flush(),m=await(0,w.tW)(p,"hex");i.destroyed||(m===i._hashes[e]?(i._debug("piece verified %s",e),i.store.put(e,p,(t=>{t?i._destroy(t):(i.pieces[e]=null,i._markVerified(e),i.wires.forEach((t=>{t.have(e)})),i._checkDone(),d())}))):(i.pieces[e]=new Xe(a.length),i.emit("warning",new Error(`Piece ${e} failed verification`)),d()))})),!0}_checkDone(){if(this.destroyed)return;this.files.forEach((t=>{if(!t.done){for(let e=t._startPiece;e<=t._endPiece;++e)if(!this.bitfield.get(e))return;t.done=!0,t.emit("done"),this._debug(`file done: ${t.name}`)}}));const t=this.files.every((t=>t.done));return!this.done&&t?(this.done=!0,this._debug(`torrent done: ${this.infoHash}`),this.emit("done"),this.destroyed||this.discovery.complete()):this.done&&!t&&(this.done=!1,this.discovery.tracker?.start()),this._gcSelections(),t}async load(t,e){if(this.destroyed)throw new Error("torrent is destroyed");if(!this.ready)return this.once("ready",(()=>{this.load(t,e)}));Array.isArray(t)||(t=[t]),e||(e=Nr);try{await zt(this.store,y(t),{chunkLength:this.pieceLength}),this._markAllVerified(),this._checkDone(),e(null)}catch(t){return e(t),t}}pause(){this.destroyed||(this._debug("pause"),this.paused=!0)}resume(){this.destroyed||(this._debug("resume"),this.paused=!1,this._drain())}_debug(){const t=[].slice.call(arguments);t[0]=`[${this.client?this.client._debugId:"No Client"}] [${this._debugId}] ${t[0]}`,Er(...t)}_drain(){if(this._debug("_drain numConns %s maxConns %s",this._numConns,this.client.maxConns),"function"!=typeof Tt.connect||this.destroyed||this.paused||this._numConns>=this.client.maxConns)return;this._debug("drain (%s queued, %s/%s peers)",this._numQueued,this.numPeers,this.client.maxConns);const t=this._queue.shift();if(!t)return;this._debug("%s connect attempt to %s",t.type,t.addr);const e=qt(t.addr),r={host:e[0],port:e[1]};this.client.utp&&t.type===Pt.default.TYPE_UTP_OUTGOING?t.conn=Ct.connect(r.port,r.host):t.conn=Tt.connect(r);const i=t.conn;i.once("connect",(()=>{this.destroyed||t.onConnect()})),i.once("error",(e=>{t.destroy(e)})),t.startConnectTimeout(),i.on("close",(()=>{if(this.destroyed)return;if(t.retries>=Tr.length){if(this.client.utp){const e=this._addPeer(t.addr,"tcp",t.source);e&&(e.retries=0)}else this._debug("conn %s closed: will not re-add (max %s attempts)",t.addr,Tr.length);return}const e=Tr[t.retries];this._debug("conn %s closed: will re-add to queue in %sms (attempt %s)",t.addr,e,t.retries+1);const r=setTimeout((()=>{if(this.destroyed)return;const e=qt(t.addr)[0],r=this.client.utp&&this._isIPv4(e)?"utp":"tcp",i=this._addPeer(t.addr,r,t.source);i&&(i.retries=t.retries+1)}),e);r.unref&&r.unref()}))}_validAddr(t){let e;try{e=qt(t)}catch(t){return!1}const r=e[0],i=e[1];return i>0&&i<65535&&!("127.0.0.1"===r&&i===this.client.torrentPort)}_isIPv4(t){return/^((?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$/.test(t)}}function Lr(t,e){let r=2+Math.ceil(e*t.downloadSpeed()/Xe.BLOCK_LENGTH);if(t.peerExtendedHandshake){const e=t.peerExtendedHandshake.reqq;"number"==typeof e&&e>0&&(r=Math.min(r,e))}return r}function Nr(){}var jr=r(2195),Ur=r(580),qr=r(815),Dr=r(2878);class Hr{constructor(t,e={}){this.client=t,e.origin||(e.origin="*"),this.opts=e,this.pendingReady=new Set}static serveIndexPage(t,e,r){const i=e.map((t=>`
  • \n \n ${Ur(t.name)}\n \n (${Ur(t.length)} bytes)\n
  • `)).join("
    ");return t.status=200,t.headers["Content-Type"]="text/html",t.body=$r("WebTorrent",`

    WebTorrent

    \n
      ${i}
    `),t}isOriginAllowed(t){return!1!==this.opts.origin&&("*"===this.opts.origin||t.headers.origin===this.opts.origin)}static serveMethodNotAllowed(t){return t.status=405,t.headers["Content-Type"]="text/html",t.body=$r("405 - Method Not Allowed","

    405 - Method Not Allowed

    "),t}static serve404Page(t){return t.status=404,t.headers["Content-Type"]="text/html",t.body=$r("404 - Not Found","

    404 - Not Found

    "),t}static serveTorrentPage(t,e,r){const i=t.files.map((e=>`
  • \n \n ${Ur(e.path)}\n \n (${Ur(e.length)} bytes)\n
  • `)).join("
    ");return e.status=200,e.headers["Content-Type"]="text/html",e.body=$r(`${Ur(t.name)} - WebTorrent`,`

    ${Ur(t.name)}

    \n
      ${i}
    `),e}static serveOptionsRequest(t,e){return e.status=204,e.headers["Access-Control-Max-Age"]="600",e.headers["Access-Control-Allow-Methods"]="GET,HEAD",t.headers["access-control-request-headers"]&&(e.headers["Access-Control-Allow-Headers"]=t.headers["access-control-request-headers"]),e}static serveFile(t,e,r){r.status=200,r.headers.Expires="0",r.headers["Cache-Control"]="no-cache, no-store, must-revalidate, max-age=0",r.headers["Accept-Ranges"]="bytes",r.headers["Content-Type"]=t.type,r.headers["transferMode.dlna.org"]="Streaming",r.headers["contentFeatures.dlna.org"]="DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000","document"===e.destination?(r.headers["Content-Type"]="application/octet-stream",r.headers["Content-Disposition"]=`attachment; filename*=UTF-8''${Wr(t.name)}`,r.body="DOWNLOAD"):r.headers["Content-Disposition"]=`inline; filename*=UTF-8''${Wr(t.name)}`;let i=Dr(t.length,e.headers.range||"");if(Array.isArray(i)?(r.status=206,i=i[0],r.headers["Content-Range"]=`bytes ${i.start}-${i.end}/${t.length}`,r.headers["Content-Length"]=i.end-i.start+1):(r.statusCode=200,i=null,r.headers["Content-Length"]=t.length),"GET"===e.method){const n=t[Symbol.asyncIterator](i);let s=null;t.emit("iterator",{iterator:n,req:e,file:t},(t=>{s=t}));const o=vt.Readable.from(s||n);let a=null;t.emit("stream",{stream:o,req:e,file:t},(t=>{a=qr(o,t)})),r.body=a||o}else r.body=!1;return r}async onRequest(t,e){let r=new URL(t.url,"http://example.com").pathname;r=r.slice(r.indexOf(this.pathname)+this.pathname.length+1);const i={headers:{"X-Content-Type-Options":"nosniff","Content-Security-Policy":"base-uri 'none'; frame-ancestors 'none'; form-action 'none';"}};if(this.isOriginAllowed(t)&&(i.headers["Access-Control-Allow-Origin"]="*"===this.opts.origin?"*":t.headers.origin),"favicon.ico"===r)return e(Hr.serve404Page(i));if("OPTIONS"===t.method)return this.isOriginAllowed(t)?e(Hr.serveOptionsRequest(t,i)):e(Hr.serveMethodNotAllowed(i));const n=async()=>{this.pendingReady.delete(n);const t=await s();e(t)},s=async()=>{if(""===r)return Hr.serveIndexPage(i,this.client.torrents,this.pathname);let[e,...n]=r.split("/");n=decodeURI(n.join("/"));const s=await this.client.get(e);if(!e||!s)return Hr.serve404Page(i);if(!n)return Hr.serveTorrentPage(s,i,this.pathname);const o=s.files.find((t=>t.path.replace(/\\/g,"/")===n));return o?Hr.serveFile(o,t,i):Hr.serve404Page(i)};if("GET"===t.method||"HEAD"===t.method){if(this.client.ready){const t=await s();return e(t)}return this.pendingReady.add(n),void this.client.once("ready",n)}return e(Hr.serveMethodNotAllowed(i))}close(t=()=>{}){this.closed=!0,this.pendingReady.forEach((t=>{this.client.removeListener("ready",t)})),this.pendingReady.clear(),v(t)}destroy(t=()=>{}){this.closed?v(t):this.close(t),this.client=null}}class Fr extends Hr{constructor(t,e){super(t,e),this.server=jr.createServer(),this._listen=this.server.listen,this.server.listen=this.listen.bind(this),this._close=this.server.close,this.server.close=this.close.bind(this),this.sockets=new Set,this.closed=!1,this.pathname=e?.pathname||"/webtorrent"}wrapRequest(t,e){return this.opts.hostname&&t.headers.host!==`${this.opts.hostname}:${this.server.address().port}`?t.destroy():new URL(t.url,"http://example.com").pathname.startsWith(this.pathname)?void this.onRequest(t,(({status:t,headers:r,body:i})=>{e.writeHead(t,r),i._readableState||i._writableState?qr(i,e):e.end(i)})):t.destroy()}onConnection(t){t.setTimeout(36e6),this.sockets.add(t),t.once("close",(()=>{this.sockets.delete(t)}))}address(){return this.server.address()}listen(...t){return this.closed=!1,this.server.on("connection",this.onConnection.bind(this)),this.server.on("request",this.wrapRequest.bind(this)),this._listen.apply(this.server,t)}close(t=()=>{}){this.server.removeAllListeners("connection"),this.server.removeAllListeners("request"),this.server.removeAllListeners("listening"),super.close(),this._close.call(this.server,t)}destroy(t){this.sockets.forEach((t=>{t.destroy()})),super.destroy(t)}}class zr extends Hr{constructor(t,e){super(t,e),this.registration=e.controller,this.workerKeepAliveInterval=null,this.workerPortCount=0;const r=new URL(e.controller.scope);this.pathname=r.pathname+"webtorrent",this._address={port:r.port,family:"IPv4",address:r.hostname},this.boundHandler=this.wrapRequest.bind(this),navigator.serviceWorker.addEventListener("message",this.boundHandler),fetch(`${this.pathname}/cancel/`).then((t=>{t.body.cancel()}))}wrapRequest(t){const e=t.data;if("webtorrent"===!e?.type||!e.url)return null;const[r]=t.ports;this.onRequest(e,(({status:t,headers:e,body:i})=>{const n=i[Symbol.asyncIterator]?.(),s=()=>{r.onmessage=null,i?.destroy&&i.destroy(),this.workerPortCount--,this.workerPortCount||(clearInterval(this.workerKeepAliveInterval),this.workerKeepAliveInterval=null)};r.onmessage=async t=>{if(t.data){let t;try{t=(await n.next()).value}catch(t){}r.postMessage(t),t||s(),this.workerKeepAliveInterval||(this.workerKeepAliveInterval=setInterval((()=>fetch(`${this.pathname}/keepalive/`)),2e4))}else s()},this.workerPortCount++,r.postMessage({status:t,headers:e,body:n?"STREAM":i})}))}listen(t,e){e()}address(){return this._address}close(t){navigator.serviceWorker.removeEventListener("message",this.boundHandler),super.close(t)}destroy(t){super.destroy(t)}}function $r(t,e){return`\n \n \n \n \n ${t}\n \n \n ${e}\n \n \n `}function Wr(t){return encodeURIComponent(t).replace(/['()]/g,escape).replace(/\*/g,"%2A").replace(/%(?:7C|60|5E)/g,unescape)}const Kr=L("webtorrent"),Vr=mr.replace(/\d*./g,(t=>("0"+t%100).slice(-2))).slice(0,4),Zr=`-WW${Vr}-`;class Gr extends n{constructor(t={}){super(),"string"==typeof t.peerId?this.peerId=t.peerId:ArrayBuffer.isView(t.peerId)?this.peerId=(0,w.V5)(t.peerId):this.peerId=(0,w.V5)((0,w.L0)(Zr+(0,w.NJ)((0,w.po)(9)))),this.peerIdBuffer=(0,w.fk)(this.peerId),"string"==typeof t.nodeId?this.nodeId=t.nodeId:ArrayBuffer.isView(t.nodeId)?this.nodeId=(0,w.V5)(t.nodeId):this.nodeId=(0,w.V5)((0,w.po)(20)),this.nodeIdBuffer=(0,w.fk)(this.nodeId),this._debugId=this.peerId.substring(0,7),this.destroyed=!1,this.listening=!1,this.torrentPort=t.torrentPort||0,this.dhtPort=t.dhtPort||0,this.tracker=void 0!==t.tracker?t.tracker:{},this.lsd=!1!==t.lsd,this.utPex=!1!==t.utPex,this.natUpnp=t.natUpnp??!0,this.natPmp=t.natPmp??!0,this.torrents=[],this.maxConns=Number(t.maxConns)||55,this.utp=Gr.UTP_SUPPORT&&!1!==t.utp,this.seedOutgoingConnections=t.seedOutgoingConnections??!0,this._downloadLimit=Math.max("number"==typeof t.downloadLimit?t.downloadLimit:-1,-1),this._uploadLimit=Math.max("number"==typeof t.uploadLimit?t.uploadLimit:-1,-1),(this.natUpnp||this.natPmp)&&"function"==typeof It&&(this.natTraversal=new It({enableUPNP:this.natUpnp,enablePMP:this.natPmp,upnpPermanentFallback:"permanent"===t.natUpnp})),!0===t.secure&&Promise.resolve().then(r.bind(r,5658)).then((({enableSecure:t})=>t())),this._debug("new webtorrent (peerId %s, nodeId %s, port %s)",this.peerId,this.nodeId,this.torrentPort),this.throttleGroups={down:new At.ThrottleGroup({rate:Math.max(this._downloadLimit,0),enabled:this._downloadLimit>=0}),up:new At.ThrottleGroup({rate:Math.max(this._uploadLimit,0),enabled:this._uploadLimit>=0})},this.tracker&&("object"!=typeof this.tracker&&(this.tracker={}),globalThis.WRTC&&!this.tracker.wrtc&&(this.tracker.wrtc=globalThis.WRTC)),"function"==typeof Ot?this._connPool=new Ot(this):v((()=>{this._onListening()})),this._downloadSpeed=xt(),this._uploadSpeed=xt(),!1!==t.dht&&"function"==typeof et?(this.dht=new et(Object.assign({},{nodeId:this.nodeId},t.dht)),this.dht.once("error",(t=>{this._destroy(t)})),this.dht.once("listening",(()=>{const t=this.dht.address();t&&(this.dhtPort=t.port,this.natTraversal&&this.natTraversal.map({publicPort:this.dhtPort,privatePort:this.dhtPort,protocol:"udp",description:"WebTorrent DHT"}).catch((t=>{Kr("error mapping DHT port via UPnP/PMP: %o",t)})))})),this.dht.setMaxListeners(0),this.dht.listen(this.dhtPort)):this.dht=!1,this.enableWebSeeds=!1!==t.webSeeds;const e=()=>{this.destroyed||(this.ready=!0,this.emit("ready"))};"function"==typeof rt&&null!=t.blocklist?rt(t.blocklist,{headers:{"user-agent":`WebTorrent/${mr} (https://webtorrent.io)`}},((t,r)=>{if(t)return console.error(`Failed to load blocklist: ${t.message}`);this.blocked=r,e()})):v(e)}createServer(t,e){if(this.destroyed)throw new Error("torrent is destroyed");if(this._server)throw new Error("server already created");if("undefined"!=typeof window&&"node"!==e||"browser"===e){if(!(t?.controller instanceof ServiceWorkerRegistration))throw new Error("Invalid worker registration");if("activated"!==t.controller.active.state)throw new Error("Worker isn't activated");return this._server=new zr(this,t),this._server}return this._server=new Fr(this,t),this._server}get downloadSpeed(){return this._downloadSpeed()}get uploadSpeed(){return this._uploadSpeed()}get progress(){const t=this.torrents.filter((t=>1!==t.progress));return t.reduce(((t,e)=>t+e.downloaded),0)/(t.reduce(((t,e)=>t+(e.length||0)),0)||1)}get ratio(){return this.torrents.reduce(((t,e)=>t+e.uploaded),0)/(this.torrents.reduce(((t,e)=>t+e.received),0)||1)}async get(t){if(t instanceof Br){if(this.torrents.includes(t))return t}else{const e=this.torrents;let r;try{r=await dt(t)}catch(t){}if(!r)return null;if(!r.infoHash)throw new Error("Invalid torrent identifier");for(const t of e)if(t.infoHash===r.infoHash)return t}return null}add(t,e={},r=()=>{}){if(this.destroyed)throw new Error("client is destroyed");"function"==typeof e&&([e,r]=[{},e]);const i=()=>{if(!this.destroyed)for(const t of this.torrents)if(t.infoHash===s.infoHash&&t!==s)return s._destroy(new Error(`Cannot add duplicate torrent ${s.infoHash}`)),void r(t)},n=()=>{this.destroyed||(r(s),this.emit("torrent",s))};this._debug("add"),e=e?Object.assign({},e):{};const s=new Br(t,this,e);return this.torrents.push(s),s.once("_infoHash",i),s.once("ready",n),s.once("close",(function t(){s.removeListener("_infoHash",i),s.removeListener("ready",n),s.removeListener("close",t)})),this.emit("add",s),s}seed(t,e,r){if(this.destroyed)throw new Error("client is destroyed");"function"==typeof e&&([e,r]=[{},e]),this._debug("seed"),(e=e?Object.assign({},e):{}).skipVerify=!0;const i="string"==typeof t;i&&(e.path=function(t){if(s(t),0===t.length)return".";let e=t.charCodeAt(0);const r=47===e;let i=-1,n=!0;for(let r=t.length-1;r>=1;--r)if(e=t.charCodeAt(r),47===e){if(!n){i=r;break}}else n=!1;return-1===i?r?"/":".":r&&1===i?"//":t.slice(0,i)}(t)),e.createdBy||(e.createdBy=`WebTorrent/${Vr}`);const n=t=>{this._debug("on seed"),"function"==typeof r&&r(t),t.emit("seed"),this.emit("seed",t)},o=this.add(null,e,(t=>{const r=[r=>{if(i||e.preloadedStore)return r();t.load(a,r)}];this.dht&&r.push((e=>{t.once("dhtAnnounce",e)})),b(r,(e=>{if(!this.destroyed)return e?t._destroy(e):void n(t)}))}));let a;var h;return h=t,"undefined"!=typeof FileList&&h instanceof FileList?t=Array.from(t):Array.isArray(t)||(t=[t]),b(t.map((t=>async r=>{if(!e.preloadedStore&&function(t){return"object"==typeof t&&null!=t&&"function"==typeof t.pipe}(t)){const e=[];try{for await(const r of t)e.push(r)}catch(t){return r(t)}const i=(0,w.xW)(e);i.name=t.name,r(null,i)}else r(null,t)})),((t,i)=>{if(!this.destroyed)return t?o._destroy(t):void function(t,e,r){"function"==typeof e&&([e,r]=[r,e]),T(t,e=e?Object.assign({},e):{},r)}(i,e,((t,n)=>{if(!this.destroyed){if(t)return o._destroy(t);a=n.map((t=>t.getStream)),B(i,e,(async(t,e)=>{if(this.destroyed)return;if(t)return o._destroy(t);const i=await this.get(e);i?(console.warn("A torrent with the same id is already being seeded"),o._destroy(),"function"==typeof r&&r(i)):o._onTorrentId(e)}))}}))})),o}async remove(t,e,r){if("function"==typeof e)return this.remove(t,null,e);this._debug("remove");const i=await this.get(t);if(!i)throw new Error(`No torrent with id ${t}`);this._remove(i,e,r)}_remove(t,e,r){if(!t)return;if("function"==typeof e)return this._remove(t,null,e);const i=this.torrents.indexOf(t);-1!==i&&(this.torrents.splice(i,1),t.destroy(e,r),this.dht&&this.dht._tables.remove(t.infoHash),this.emit("remove",t))}address(){return this.listening?this._connPool?this._connPool.tcpServer.address():{address:"0.0.0.0",family:"IPv4",port:0}:null}throttleDownload(t){return t=Number(t),!(isNaN(t)||!isFinite(t)||t<-1)&&(this._downloadLimit=t,this._downloadLimit<0?this.throttleGroups.down.setEnabled(!1):(this.throttleGroups.down.setEnabled(!0),void this.throttleGroups.down.setRate(this._downloadLimit)))}throttleUpload(t){return t=Number(t),!(isNaN(t)||!isFinite(t)||t<-1)&&(this._uploadLimit=t,this._uploadLimit<0?this.throttleGroups.up.setEnabled(!1):(this.throttleGroups.up.setEnabled(!0),void this.throttleGroups.up.setRate(this._uploadLimit)))}destroy(t){if(this.destroyed)throw new Error("client already destroyed");this._destroy(null,t)}_destroy(t,e){this._debug("client destroy"),this.destroyed=!0;const r=this.torrents.map((t=>e=>{t.destroy(e)}));this._connPool&&r.push((t=>{this._connPool.destroy(t)})),this.dht&&r.push((t=>{this.dht.destroy(t)})),this._server&&r.push((t=>{this._server.destroy(t)})),this.natTraversal&&r.push((t=>{this.natTraversal.destroy().then((()=>t()))})),b(r,e),t&&this.emit("error",t),this.torrents=[],this._connPool=null,this.dht=null,this.throttleGroups.down.destroy(),this.throttleGroups.up.destroy()}_onListening(){if(this._debug("listening"),this.listening=!0,this._connPool){const t=this._connPool.tcpServer.address();t&&(this.torrentPort=t.port,this.natTraversal&&this.natTraversal.map({publicPort:this.torrentPort,privatePort:this.torrentPort,protocol:this.utp?null:"tcp",description:"WebTorrent Torrent"}).catch((t=>{Kr("error mapping WebTorrent port via UPnP/PMP: %o",t)})))}this.emit("listening")}_debug(){const t=[].slice.call(arguments);t[0]=`[${this._debugId}] ${t[0]}`,Kr(...t)}async _getByHash(t){for(const e of this.torrents)if(e.infoHashHash||(e.infoHashHash=await(0,w.tW)((0,w.fk)("72657132"+e.infoHash),"hex")),t===e.infoHashHash)return e;return null}}Gr.WEBRTC_SUPPORT=Et.WEBRTC_SUPPORT,Gr.UTP_SUPPORT=Ot.UTP_SUPPORT,Gr.VERSION=mr;export{Gr as default}; //# sourceMappingURL=webtorrent.chromeapp.js.map \ No newline at end of file diff --git a/dist/webtorrent.chromeapp.js.map b/dist/webtorrent.chromeapp.js.map index 2e77e8d18a..f841c18df0 100644 --- a/dist/webtorrent.chromeapp.js.map +++ b/dist/webtorrent.chromeapp.js.map @@ -1 +1 @@ -{"version":3,"file":"webtorrent.chromeapp.js","mappings":"oBAEA,IAAIA,EAAS,eACTC,EAAa,EAAQ,MACrBC,EAAS,EAAQ,IACjBC,EAAW,EAAQ,MACnBC,EAAO,EAAQ,MACfC,EAAS,EAAQ,MAEjBC,EAAa,EAAQ,MAMzB,SAASC,EAAKC,GACZN,EAAOO,SAASC,KAAKC,MAErB,IAAIC,EAAON,EAAWE,GACtB,IAAKI,EAAQ,MAAM,IAAIC,MAAM,0BAE7BF,KAAKG,UAAYF,EAAKG,KACtBJ,KAAKK,MAAQf,EAAWW,EAAKG,MAC7BJ,KAAKM,KAAOL,EAAKM,GACjBP,KAAKQ,UAAYP,EAAKR,IACxB,CAsBA,SAASgB,EAAOZ,GACdN,EAAOO,SAASC,KAAKC,MAErB,IAAIC,EAAON,EAAWE,GACtB,IAAKI,EAAQ,MAAM,IAAIC,MAAM,0BAE7BF,KAAKK,MAAQf,EAAWW,EAAKG,MAC7BJ,KAAKM,KAAOL,EAAKM,GACjBP,KAAKQ,UAAYP,EAAKR,IACxB,CAsBA,SAASiB,EAAWb,GAClB,OAAO,IAAID,EAAKC,EAClB,CAEA,SAASc,EAAad,GACpB,OAAO,IAAIY,EAAOZ,EACpB,CA1EAe,OAAOC,KAAKlB,GAAYmB,SAAQ,SAAUC,GACxCpB,EAAWoB,GAAKR,GAAKlB,EAAO2B,KAAKrB,EAAWoB,GAAKR,GAAI,OACrDZ,EAAWoB,EAAIE,eAAiBtB,EAAWoB,EAC7C,IAaAvB,EAASI,EAAML,EAAOO,UAEtBF,EAAKsB,UAAUC,OAAS,SAAgBlB,EAAMmB,EAAGC,GAC/CrB,KAAKK,MAAMiB,OAAOrB,GAClBoB,GACF,EAEAzB,EAAKsB,UAAUI,OAAS,SAAgBrB,EAAMsB,GAG5C,OAFAvB,KAAKK,MAAMiB,OAAuB,iBAATrB,EAAoBZ,EAAO2B,KAAKf,EAAMsB,GAAOtB,GAE/DD,IACT,EAEAJ,EAAKsB,UAAUzB,KAAO,SAAoBsB,EAAKQ,GAC7CvB,KAAKwB,MACL,IAAIpB,EAAOJ,KAAKK,MAAMoB,SAClBC,EAAMjC,EAAKW,EAAMW,EAAKf,KAAKG,UAAWH,KAAKQ,UAAWR,KAAKM,MAE/D,OAAOiB,EAAMG,EAAIC,SAASJ,GAAOG,CACnC,EAYAlC,EAASiB,EAAQlB,EAAOO,UAExBW,EAAOS,UAAUC,OAAS,SAAgBlB,EAAMmB,EAAGC,GACjDrB,KAAKK,MAAMiB,OAAOrB,GAClBoB,GACF,EAEAZ,EAAOS,UAAUI,OAAS,SAAgBrB,EAAMsB,GAG9C,OAFAvB,KAAKK,MAAMiB,OAAuB,iBAATrB,EAAoBZ,EAAO2B,KAAKf,EAAMsB,GAAOtB,GAE/DD,IACT,EAEAS,EAAOS,UAAUxB,OAAS,SAAsBqB,EAAKW,EAAKH,GACxD,IAAIK,EAA2B,iBAARF,EAAmBrC,EAAO2B,KAAKU,EAAKH,GAAOG,EAElE1B,KAAKwB,MACL,IAAIpB,EAAOJ,KAAKK,MAAMoB,SACtB,OAAO/B,EAAOkC,EAAWxB,EAAMW,EAAKf,KAAKQ,UAAWR,KAAKM,KAC3D,EAUAuB,EAAOC,QAAU,CACflC,KAAMc,EACND,OAAQE,EACRD,WAAYA,EACZC,aAAcA,E,SCvFhBkB,EAAOC,QAAUC,SAASb,UAAUnB,I,eCHpC,IAAIP,EAAW,EAAQ,MACnBH,EAAS,eAET2C,EAAO,EAAQ,MACfC,EAAOD,EAAKC,KAGZC,EAAMF,EAAKG,UAAUD,IAEzB,SAASE,EAAWC,GAClBrC,KAAKuB,IAAM,MACXvB,KAAKsC,KAAOD,EAAOC,KACnBtC,KAAKqC,OAASA,EAGdrC,KAAKuC,KAAO,IAAIC,EAChBxC,KAAKuC,KAAKE,MAAMJ,EAAOK,KACzB,CASA,SAASF,EAAQG,GACfV,EAAKW,KAAK7C,KAAKC,KAAM,MAAO2C,EAC9B,CAkHA,SAASE,EAAIC,GACX,OAAIA,EAAM,GACD,IAAMA,EAENA,CACX,CAjIAjB,EAAOC,QAAUM,EAEjBA,EAAWlB,UAAU6B,OAAS,SAAgB9C,EAAM+C,GAClD,OAAOhD,KAAKuC,KAAKU,QAAQhD,EAAM+C,GAAUE,MAC3C,EAOA1D,EAASgD,EAASP,EAAKW,MAEvBJ,EAAQtB,UAAUiC,iBAAmB,SAAyBC,EACAC,EACAC,EACAC,GAC5D,IAgBIC,EAhBAC,EA2ON,SAAmBL,EAAKC,EAAWC,EAAKN,GACtC,IAAIU,EAEQ,UAARN,EACFA,EAAM,MACS,UAARA,IACPA,EAAM,OAER,GAAIlB,EAAIyB,UAAUC,eAAeR,GAC/BM,EAAMxB,EAAIyB,UAAUP,OACjB,IAAmB,iBAARA,IAA2B,EAANA,KAAaA,EAGhD,OAAOJ,EAASa,MAAM,gBAAkBT,GAFxCM,EAAMN,CAEsC,CAE9C,GAAIM,GAAO,GACT,OAAOV,EAASa,MAAM,wCAEnBR,IACHK,GAAO,IAIT,OAFAA,GAAQxB,EAAI4B,eAAeR,GAAO,cAAgB,EAE3CI,CACT,CAnQmBK,CAAUX,EAAKC,EAAWC,EAAKtD,KAAKgD,UAGrD,GAAIO,EAAQS,OAAS,IAInB,OAHIR,EAAS,IAAInE,EAAO,IACjB,GAAKoE,EACZD,EAAO,GAAKD,EAAQS,OACbhE,KAAKiE,qBAAqB,CAAET,EAAQD,IAM7C,IADA,IAAIW,EAAY,EACPC,EAAIZ,EAAQS,OAAQG,GAAK,IAAOA,IAAM,EAC7CD,KAEEV,EAAS,IAAInE,EAAO,EAAQ6E,IACzB,GAAKT,EACZD,EAAO,GAAK,IAAOU,EAEVC,EAAI,EAAID,EAAjB,IAAK,IAAuBE,EAAIb,EAAQS,OAAQI,EAAI,EAAGD,IAAKC,IAAM,EAChEZ,EAAOW,GAAS,IAAJC,EAEd,OAAOpE,KAAKiE,qBAAqB,CAAET,EAAQD,GAC7C,EAEAf,EAAQtB,UAAUmD,WAAa,SAAmBC,EAAKlB,GACrD,GAAY,WAARA,EACF,OAAOpD,KAAKiE,qBAAqB,CAAe,EAAbK,EAAIC,OAAYD,EAAIrE,OAClD,GAAY,WAARmD,EAAkB,CAE3B,IADA,IAAIoB,EAAM,IAAInF,EAAoB,EAAbiF,EAAIN,QAChBG,EAAI,EAAGA,EAAIG,EAAIN,OAAQG,IAC9BK,EAAIC,cAAcH,EAAII,WAAWP,GAAQ,EAAJA,GAEvC,OAAOnE,KAAKiE,qBAAqBO,EACnC,CAAO,MAAY,WAARpB,EACJpD,KAAK2E,UAAUL,GAIbtE,KAAKiE,qBAAqBK,GAHxBtE,KAAKgD,SAASa,MAAM,kEAIZ,aAART,EACJpD,KAAK4E,YAAYN,GAQftE,KAAKiE,qBAAqBK,GAPxBtE,KAAKgD,SAASa,MAAM,qNAQpB,OAAOgB,KAAKzB,IAEJ,YAARA,EADFpD,KAAKiE,qBAAqBK,GAI1BtE,KAAKgD,SAASa,MAAM,4BAA8BT,EAC9B,eAE/B,EAEAZ,EAAQtB,UAAU4D,aAAe,SAAqBvE,EAAIwE,EAAQC,GAChE,GAAkB,iBAAPzE,EAAiB,CAC1B,IAAKwE,EACH,OAAO/E,KAAKgD,SAASa,MAAM,+CAC7B,IAAKkB,EAAOnB,eAAerD,GACzB,OAAOP,KAAKgD,SAASa,MAAM,iCAC7BtD,EAAKwE,EAAOxE,GAAI0E,MAAM,YACtB,IAAK,IAAId,EAAI,EAAGA,EAAI5D,EAAGyD,OAAQG,IAC7B5D,EAAG4D,IAAM,CACb,MAAO,GAAIe,MAAMC,QAAQ5E,GAAK,CAC5BA,EAAKA,EAAG6E,QACR,IAASjB,EAAI,EAAGA,EAAI5D,EAAGyD,OAAQG,IAC7B5D,EAAG4D,IAAM,CACb,CAEA,IAAKe,MAAMC,QAAQ5E,GACjB,OAAOP,KAAKgD,SAASa,MAAM,kDACUwB,KAAKC,UAAU/E,IAGtD,IAAKyE,EAAU,CACb,GAAIzE,EAAG,IAAM,GACX,OAAOP,KAAKgD,SAASa,MAAM,+BAC7BtD,EAAGgF,OAAO,EAAG,EAAW,GAARhF,EAAG,GAAUA,EAAG,GAClC,CAGA,IAAIiF,EAAO,EACX,IAASrB,EAAI,EAAGA,EAAI5D,EAAGyD,OAAQG,IAAK,CAClC,IAAIsB,EAAQlF,EAAG4D,GACf,IAAKqB,IAAQC,GAAS,IAAMA,IAAU,EACpCD,GACJ,CAEA,IAAIE,EAAQ,IAAIrG,EAAOmG,GACnBG,EAASD,EAAM1B,OAAS,EAC5B,IAASG,EAAI5D,EAAGyD,OAAS,EAAGG,GAAK,EAAGA,IAAK,CACnCsB,EAAQlF,EAAG4D,GAEf,IADAuB,EAAMC,KAAoB,IAARF,GACVA,IAAU,GAAK,GACrBC,EAAMC,KAAY,IAAgB,IAARF,CAC9B,CAEA,OAAOzF,KAAKiE,qBAAqByB,EACnC,EASAlD,EAAQtB,UAAU0E,YAAc,SAAoBC,EAAMzC,GACxD,IAAIkB,EACAwB,EAAO,IAAIC,KAAKF,GA0BpB,MAxBY,YAARzC,EACFkB,EAAM,CACJzB,EAAIiD,EAAKE,eACTnD,EAAIiD,EAAKG,cAAgB,GACzBpD,EAAIiD,EAAKI,cACTrD,EAAIiD,EAAKK,eACTtD,EAAIiD,EAAKM,iBACTvD,EAAIiD,EAAKO,iBACT,KACAnD,KAAK,IACU,YAARE,EACTkB,EAAM,CACJzB,EAAIiD,EAAKE,cAAgB,KACzBnD,EAAIiD,EAAKG,cAAgB,GACzBpD,EAAIiD,EAAKI,cACTrD,EAAIiD,EAAKK,eACTtD,EAAIiD,EAAKM,iBACTvD,EAAIiD,EAAKO,iBACT,KACAnD,KAAK,IAEPlD,KAAKgD,SAASa,MAAM,YAAcT,EAAM,8BAGnCpD,KAAKqE,WAAWC,EAAK,SAC9B,EAEA9B,EAAQtB,UAAUoF,YAAc,WAC9B,OAAOtG,KAAKiE,qBAAqB,GACnC,EAEAzB,EAAQtB,UAAUqF,WAAa,SAAmBzD,EAAKiC,GACrD,GAAmB,iBAARjC,EAAkB,CAC3B,IAAKiC,EACH,OAAO/E,KAAKgD,SAASa,MAAM,+CAC7B,IAAKkB,EAAOnB,eAAed,GACzB,OAAO9C,KAAKgD,SAASa,MAAM,+BACAwB,KAAKC,UAAUxC,IAE5CA,EAAMiC,EAAOjC,EACf,CAGA,GAAmB,iBAARA,IAAqBzD,EAAOmH,SAAS1D,GAAM,CACpD,IAAI2D,EAAW3D,EAAI4D,WACd5D,EAAIrD,MAAsB,IAAdgH,EAAS,IACxBA,EAASE,QAAQ,GAEnB7D,EAAM,IAAIzD,EAAOoH,EACnB,CAEA,GAAIpH,EAAOmH,SAAS1D,GAAM,CACxB,IAAI0C,EAAO1C,EAAIkB,OACI,IAAflB,EAAIkB,QACNwB,IAEF,IAAIoB,EAAM,IAAIvH,EAAOmG,GAIrB,OAHA1C,EAAI+D,KAAKD,GACU,IAAf9D,EAAIkB,SACN4C,EAAI,GAAK,GACJ5G,KAAKiE,qBAAqB2C,EACnC,CAEA,GAAI9D,EAAM,IACR,OAAO9C,KAAKiE,qBAAqBnB,GAEnC,GAAIA,EAAM,IACR,OAAO9C,KAAKiE,qBAAqB,CAAC,EAAGnB,IAEnC0C,EAAO,EACX,IADA,IACSrB,EAAIrB,EAAKqB,GAAK,IAAOA,IAAM,EAClCqB,IAGF,IAASrB,GADLyC,EAAM,IAAI1B,MAAMM,IACHxB,OAAS,EAAGG,GAAK,EAAGA,IACnCyC,EAAIzC,GAAW,IAANrB,EACTA,IAAQ,EAMV,OAJY,IAAT8D,EAAI,IACLA,EAAID,QAAQ,GAGP3G,KAAKiE,qBAAqB,IAAI5E,EAAOuH,GAC9C,EAEApE,EAAQtB,UAAU4F,YAAc,SAAoBC,GAClD,OAAO/G,KAAKiE,qBAAqB8C,EAAQ,IAAO,EAClD,EAEAvE,EAAQtB,UAAU8F,KAAO,SAAa3E,EAAQ4E,GAG5C,MAFsB,mBAAX5E,IACTA,EAASA,EAAO4E,IACX5E,EAAO6E,YAAY,OAAO3E,IACnC,EAEAC,EAAQtB,UAAUiG,aAAe,SAAqBC,EAAYpE,EAAUL,GAC1E,IACIwB,EADAkD,EAAQrH,KAAKsH,WAEjB,GAAyB,OAArBD,EAAe,QACjB,OAAO,EAET,IAAIpH,EAAOmH,EAAWlE,OAItB,QAH4BqE,IAAxBF,EAAMG,gBACRH,EAAMG,cAAgBxH,KAAKyH,aAAaJ,EAAe,QAAGrE,EAAUL,GAAQO,QAE1EjD,EAAK+D,SAAWqD,EAAMG,cAAcxD,OACtC,OAAO,EAET,IAAKG,EAAE,EAAGA,EAAIlE,EAAK+D,OAAQG,IACzB,GAAIlE,EAAKkE,KAAOkD,EAAMG,cAAcrD,GAClC,OAAO,EAEX,OAAO,CACT,C,4BC1QIuD,EAAS,EAAQ,MACe,YAAhCC,EAAQC,IAAIC,iBAAiCH,GAC/C7F,EAAOC,QAAU4F,GACjB5F,EAAUD,EAAOC,QAAU4F,EAAOI,UAC1BA,SAAWJ,EAAOI,SAC1BhG,EAAQhC,SAAW4H,EAAO5H,SAC1BgC,EAAQiG,OAASL,EAAOK,OACxBjG,EAAQkG,UAAYN,EAAOM,UAC3BlG,EAAQmG,YAAcP,EAAOO,YAC7BnG,EAAQ4F,OAASA,KAEjB5F,EAAUD,EAAOC,QAAU,EAAjB,MACF4F,OAASA,GAAU5F,EAC3BA,EAAQgG,SAAWhG,EACnBA,EAAQhC,SAAW,EAAnB,MACAgC,EAAQiG,OAAS,EAAjB,MACAjG,EAAQkG,UAAY,EAApB,MACAlG,EAAQmG,YAAc,EAAtB,M,UCfF,MAAMC,EAAQ,CAAC,EAEf,SAASC,EAAgBC,EAAMC,EAASC,GACjCA,IACHA,EAAOpI,OAWT,MAAMqI,UAAkBD,EACtB,WAAAE,CAAaC,EAAMC,EAAMC,GACvBC,MAVJ,SAAqBH,EAAMC,EAAMC,GAC/B,MAAuB,iBAAZN,EACFA,EAEAA,EAAQI,EAAMC,EAAMC,EAE/B,CAIUE,CAAWJ,EAAMC,EAAMC,GAC/B,EAGFJ,EAAUrH,UAAUoB,KAAOgG,EAAKhG,KAChCiG,EAAUrH,UAAUkH,KAAOA,EAE3BF,EAAME,GAAQG,CAChB,CAGA,SAASO,EAAMC,EAAUC,GACvB,GAAI9D,MAAMC,QAAQ4D,GAAW,CAC3B,MAAME,EAAMF,EAAS/E,OAErB,OADA+E,EAAWA,EAASG,KAAK/E,GAAMgF,OAAOhF,KAClC8E,EAAM,EACD,UAAUD,KAASD,EAAS3D,MAAM,EAAG6D,EAAM,GAAG/F,KAAK,aACnD6F,EAASE,EAAM,GACL,IAARA,EACF,UAAUD,KAASD,EAAS,SAASA,EAAS,KAE9C,MAAMC,KAASD,EAAS,IAEnC,CACE,MAAO,MAAMC,KAASG,OAAOJ,IAEjC,CA4BAZ,EAAgB,yBAAyB,SAAU7F,EAAMyE,GACvD,MAAO,cAAgBA,EAAQ,4BAA8BzE,EAAO,GACtE,GAAG8G,WACHjB,EAAgB,wBAAwB,SAAU7F,EAAMyG,EAAUM,GAEhE,IAAIC,EA9BN,IAAyBC,EAAQC,EAsC/B,IAAIC,EACJ,GARwB,iBAAbV,IA/BYQ,EA+BkC,OAAVR,EA9BrCW,QAAQF,GAAOA,EAAM,EAAI,GAAKA,EAAKD,EAAOvF,UAAYuF,IA+B9DD,EAAa,cACbP,EAAWA,EAASY,QAAQ,QAAS,KAErCL,EAAa,UA9BjB,SAAkBhF,EAAKiF,EAAQK,GAI9B,YAHiBrC,IAAbqC,GAA0BA,EAAWtF,EAAIN,UAC5C4F,EAAWtF,EAAIN,QAETM,EAAIuF,UAAUD,EAAWL,EAAOvF,OAAQ4F,KAAcL,CAC9D,CA6BMO,CAASxH,EAAM,aAEjBmH,EAAM,OAAOnH,KAAQgH,KAAcR,EAAMC,EAAU,cAC9C,CACL,MAAMgB,EA9BV,SAAkBzF,EAAKiF,EAAQS,GAK7B,MAJqB,iBAAVA,IACTA,EAAQ,KAGNA,EAAQT,EAAOvF,OAASM,EAAIN,UAGS,IAAhCM,EAAI2F,QAAQV,EAAQS,EAE/B,CAoBiBE,CAAS5H,EAAM,KAAO,WAAa,WAChDmH,EAAM,QAAQnH,MAASyH,KAAQT,KAAcR,EAAMC,EAAU,SAC/D,CAGA,OADAU,GAAO,0BAA0BJ,EAC1BI,CACT,GAAGL,WACHjB,EAAgB,4BAA6B,2BAC7CA,EAAgB,8BAA8B,SAAU7F,GACtD,MAAO,OAASA,EAAO,4BACzB,IACA6F,EAAgB,6BAA8B,mBAC9CA,EAAgB,wBAAwB,SAAU7F,GAChD,MAAO,eAAiBA,EAAO,+BACjC,IACA6F,EAAgB,wBAAyB,kCACzCA,EAAgB,yBAA0B,6BAC1CA,EAAgB,6BAA8B,mBAC9CA,EAAgB,yBAA0B,sCAAuCiB,WACjFjB,EAAgB,wBAAwB,SAAUgC,GAChD,MAAO,qBAAuBA,CAChC,GAAGf,WACHjB,EAAgB,qCAAsC,oCAEtDtG,EAAOC,QAAQ,EAAQoG,C,gBCnHvB,IAAIkC,EAAM,EAAQ,MACdC,EAAM,EAAQ,MACdC,EAAW,EAAQ,KACnBC,EAAW,EAAQ,MACnBC,EAAO,EAAQ,MAsCnB,SAASC,EAAgBC,EAAO3J,EAAK4J,GAEnC,GADAD,EAAQA,EAAMzJ,cACVqJ,EAASI,GAAQ,OAAOL,EAAII,eAAeC,EAAO3J,EAAK4J,GAC3D,GAAIJ,EAASG,GAAQ,OAAO,IAAIN,EAAI,CAAErJ,IAAKA,EAAK4J,GAAIA,EAAIC,KAAMF,IAE9D,MAAM,IAAItB,UAAU,qBACtB,CAEA,SAASyB,EAAkBH,EAAO3J,EAAK4J,GAErC,GADAD,EAAQA,EAAMzJ,cACVqJ,EAASI,GAAQ,OAAOL,EAAIQ,iBAAiBH,EAAO3J,EAAK4J,GAC7D,GAAIJ,EAASG,GAAQ,OAAO,IAAIN,EAAI,CAAErJ,IAAKA,EAAK4J,GAAIA,EAAIC,KAAMF,EAAOI,SAAS,IAE9E,MAAM,IAAI1B,UAAU,qBACtB,CAMAtH,EAAQiJ,aAAejJ,EAAQkJ,OAxD/B,SAAuBN,EAAOO,GAG5B,IAAIC,EAAQC,EACZ,GAHAT,EAAQA,EAAMzJ,cAGVqJ,EAASI,GACXQ,EAASZ,EAASI,GAAO3J,IACzBoK,EAAQb,EAASI,GAAOC,OACnB,KAAIJ,EAASG,GAIlB,MAAM,IAAItB,UAAU,sBAHpB8B,EAA+B,EAAtBX,EAASG,GAAO3J,IACzBoK,EAAQZ,EAASG,GAAOC,EAG1B,CAEA,IAAI9J,EAAO2J,EAAKS,GAAU,EAAOC,EAAQC,GACzC,OAAOV,EAAeC,EAAO7J,EAAKE,IAAKF,EAAK8J,GAC9C,EAyCA7I,EAAQ2I,eAAiB3I,EAAQsJ,SAAWX,EAC5C3I,EAAQuJ,eAAiBvJ,EAAQwJ,SAxCjC,SAAyBZ,EAAOO,GAG9B,IAAIC,EAAQC,EACZ,GAHAT,EAAQA,EAAMzJ,cAGVqJ,EAASI,GACXQ,EAASZ,EAASI,GAAO3J,IACzBoK,EAAQb,EAASI,GAAOC,OACnB,KAAIJ,EAASG,GAIlB,MAAM,IAAItB,UAAU,sBAHpB8B,EAA+B,EAAtBX,EAASG,GAAO3J,IACzBoK,EAAQZ,EAASG,GAAOC,EAG1B,CAEA,IAAI9J,EAAO2J,EAAKS,GAAU,EAAOC,EAAQC,GACzC,OAAON,EAAiBH,EAAO7J,EAAKE,IAAKF,EAAK8J,GAChD,EAyBA7I,EAAQ+I,iBAAmB/I,EAAQyJ,WAAaV,EAChD/I,EAAQ0J,YAAc1J,EAAQ2J,WAR9B,WACE,OAAO7K,OAAOC,KAAK0J,GAAUmB,OAAOrB,EAAIoB,aAC1C,C,6BCnCIE,EAAM,EAAQ,MAGlB9J,EAAOC,QAAUgG,EAGjB,IAIIC,EAJA5C,EAAU,EAAQ,MAOtB2C,EAAS8D,cAAgBA,EAGhB,qBAAT,IAEIC,EAAkB,SAAUC,EAAS/B,GACvC,OAAO+B,EAAQC,UAAUhC,GAAM/F,MACjC,EAII0D,EAAS,EAAQ,MAKjBrI,EAAS,eACT2M,GAAmC,oBAAX,WAAyB,WAA2B,oBAAXC,OAAyBA,OAAyB,oBAATC,KAAuBA,KAAO,CAAC,GAAGC,YAAc,WAAa,EAW3K,IAAIC,EAAOxL,OAAOyL,OAAO,EAAQ,OACjCD,EAAK5M,SAAW,EAAQ,MAIxB,IAAI8M,EAAY,EAAQ,KACpBC,OAAQ,EAEVA,EADED,GAAaA,EAAUE,SACjBF,EAAUE,SAAS,UAEnB,WAAa,EAIvB,IAEIC,EAFAC,EAAa,EAAQ,KACrBC,EAAc,EAAQ,MAG1BP,EAAK5M,SAASsI,EAAUJ,GAExB,IAAIkF,EAAe,CAAC,QAAS,QAAS,UAAW,QAAS,UAc1D,SAAShB,EAAciB,EAAStN,GAG9BsN,EAAUA,GAAW,CAAC,EAOtB,IAAIC,EAAWvN,aATfwI,EAASA,GAAU,EAAQ,OAa3B/H,KAAK+M,aAAeF,EAAQE,WAExBD,IAAU9M,KAAK+M,WAAa/M,KAAK+M,cAAgBF,EAAQG,oBAI7D,IAAIC,EAAMJ,EAAQK,cACdC,EAAcN,EAAQO,sBACtBC,EAAarN,KAAK+M,WAAa,GAAK,MAElB/M,KAAKkN,cAAvBD,GAAe,IAARA,EAAgCA,EAAaH,IAAaK,GAA+B,IAAhBA,GAAyCA,EAAsCE,EAGnKrN,KAAKkN,cAAgBI,KAAKC,MAAMvN,KAAKkN,eAKrClN,KAAKwN,OAAS,IAAId,EAClB1M,KAAKgE,OAAS,EACdhE,KAAKyN,MAAQ,KACbzN,KAAK0N,WAAa,EAClB1N,KAAK2N,QAAU,KACf3N,KAAK4N,OAAQ,EACb5N,KAAK6N,YAAa,EAClB7N,KAAK8N,SAAU,EAMf9N,KAAK+N,MAAO,EAIZ/N,KAAKgO,cAAe,EACpBhO,KAAKiO,iBAAkB,EACvBjO,KAAKkO,mBAAoB,EACzBlO,KAAKmO,iBAAkB,EAGvBnO,KAAKoO,WAAY,EAKjBpO,KAAKqO,gBAAkBxB,EAAQwB,iBAAmB,OAGlDrO,KAAKsO,WAAa,EAGlBtO,KAAKuO,aAAc,EAEnBvO,KAAKwO,QAAU,KACfxO,KAAKyO,SAAW,KACZ5B,EAAQ4B,WACLhC,IAAeA,EAAgB,WACpCzM,KAAKwO,QAAU,IAAI/B,EAAcI,EAAQ4B,UACzCzO,KAAKyO,SAAW5B,EAAQ4B,SAE5B,CAEA,SAAS3G,EAAS+E,GAGhB,GAFA9E,EAASA,GAAU,EAAQ,QAErB/H,gBAAgB8H,GAAW,OAAO,IAAIA,EAAS+E,GAErD7M,KAAK0O,eAAiB,IAAI9C,EAAciB,EAAS7M,MAGjDA,KAAK2O,UAAW,EAEZ9B,IAC0B,mBAAjBA,EAAQ+B,OAAqB5O,KAAK6O,MAAQhC,EAAQ+B,MAE9B,mBAApB/B,EAAQiC,UAAwB9O,KAAK+O,SAAWlC,EAAQiC,UAGrEpH,EAAO3H,KAAKC,KACd,CA0DA,SAASgP,EAAiBzP,EAAQ0P,EAAOR,EAAUS,EAAYC,GAC7D,IAKMC,EALF/H,EAAQ9H,EAAOmP,eACL,OAAVO,GACF5H,EAAMyG,SAAU,EA0NpB,SAAoBvO,EAAQ8H,GAC1B,GAAIA,EAAMuG,MAAO,OACjB,GAAIvG,EAAMmH,QAAS,CACjB,IAAIS,EAAQ5H,EAAMmH,QAAQhN,MACtByN,GAASA,EAAMjL,SACjBqD,EAAMmG,OAAO6B,KAAKJ,GAClB5H,EAAMrD,QAAUqD,EAAM0F,WAAa,EAAIkC,EAAMjL,OAEjD,CACAqD,EAAMuG,OAAQ,EAGd0B,EAAa/P,EACf,CAtOIgQ,CAAWhQ,EAAQ8H,KAGd8H,IAAgBC,EA2CzB,SAAsB/H,EAAO4H,GAC3B,IAAIG,EApPiBnI,EAqPFgI,EApPZ5P,EAAOmH,SAASS,IAAQA,aAAe+E,GAoPA,iBAAViD,QAAgC1H,IAAV0H,GAAwB5H,EAAM0F,aACtFqC,EAAK,IAAIhG,UAAU,oCAtPvB,IAAuBnC,EAwPrB,OAAOmI,CACT,CAjD8BI,CAAanI,EAAO4H,IAC1CG,EACF7P,EAAOkQ,KAAK,QAASL,GACZ/H,EAAM0F,YAAckC,GAASA,EAAMjL,OAAS,GAChC,iBAAViL,GAAuB5H,EAAM0F,YAAcnM,OAAO8O,eAAeT,KAAW5P,EAAO6B,YAC5F+N,EAhNR,SAA6BA,GAC3B,OAAO5P,EAAO2B,KAAKiO,EACrB,CA8MgBU,CAAoBV,IAG1BC,EACE7H,EAAMwG,WAAYtO,EAAOkQ,KAAK,QAAS,IAAIvP,MAAM,qCAA0C0P,EAASrQ,EAAQ8H,EAAO4H,GAAO,GACrH5H,EAAMuG,MACfrO,EAAOkQ,KAAK,QAAS,IAAIvP,MAAM,6BAE/BmH,EAAMyG,SAAU,EACZzG,EAAMmH,UAAYC,GACpBQ,EAAQ5H,EAAMmH,QAAQqB,MAAMZ,GACxB5H,EAAM0F,YAA+B,IAAjBkC,EAAMjL,OAAc4L,EAASrQ,EAAQ8H,EAAO4H,GAAO,GAAYa,EAAcvQ,EAAQ8H,IAE7GuI,EAASrQ,EAAQ8H,EAAO4H,GAAO,KAGzBC,IACV7H,EAAMyG,SAAU,IAIpB,OAgCF,SAAsBzG,GACpB,OAAQA,EAAMuG,QAAUvG,EAAM2G,cAAgB3G,EAAMrD,OAASqD,EAAM6F,eAAkC,IAAjB7F,EAAMrD,OAC5F,CAlCS+L,CAAa1I,EACtB,CAEA,SAASuI,EAASrQ,EAAQ8H,EAAO4H,EAAOC,GAClC7H,EAAMsG,SAA4B,IAAjBtG,EAAMrD,SAAiBqD,EAAM0G,MAChDxO,EAAOkQ,KAAK,OAAQR,GACpB1P,EAAOqP,KAAK,KAGZvH,EAAMrD,QAAUqD,EAAM0F,WAAa,EAAIkC,EAAMjL,OACzCkL,EAAY7H,EAAMmG,OAAO7G,QAAQsI,GAAY5H,EAAMmG,OAAO6B,KAAKJ,GAE/D5H,EAAM2G,cAAcsB,EAAa/P,IAEvCuQ,EAAcvQ,EAAQ8H,EACxB,CAxGAzG,OAAOoP,eAAelI,EAAS5G,UAAW,YAAa,CACrD+O,IAAK,WACH,YAA4B1I,IAAxBvH,KAAK0O,gBAGF1O,KAAK0O,eAAeN,SAC7B,EACA8B,IAAK,SAAUnJ,GAGR/G,KAAK0O,iBAMV1O,KAAK0O,eAAeN,UAAYrH,EAClC,IAGFe,EAAS5G,UAAU4N,QAAUnC,EAAYmC,QACzChH,EAAS5G,UAAUiP,WAAaxD,EAAYyD,UAC5CtI,EAAS5G,UAAU6N,SAAW,SAAUsB,EAAKC,GAC3CtQ,KAAKqP,KAAK,MACViB,EAAGD,EACL,EAMAvI,EAAS5G,UAAUmO,KAAO,SAAUJ,EAAOR,GACzC,IACIU,EADA9H,EAAQrH,KAAK0O,eAgBjB,OAbKrH,EAAM0F,WAUToC,GAAiB,EATI,iBAAVF,KACTR,EAAWA,GAAYpH,EAAMgH,mBACZhH,EAAMoH,WACrBQ,EAAQ5P,EAAO2B,KAAKiO,EAAOR,GAC3BA,EAAW,IAEbU,GAAiB,GAMdH,EAAiBhP,KAAMiP,EAAOR,GAAU,EAAOU,EACxD,EAGArH,EAAS5G,UAAUyF,QAAU,SAAUsI,GACrC,OAAOD,EAAiBhP,KAAMiP,EAAO,MAAM,GAAM,EACnD,EAuEAnH,EAAS5G,UAAUqP,SAAW,WAC5B,OAAuC,IAAhCvQ,KAAK0O,eAAef,OAC7B,EAGA7F,EAAS5G,UAAUsP,YAAc,SAAUjP,GAIzC,OAHKkL,IAAeA,EAAgB,WACpCzM,KAAK0O,eAAeF,QAAU,IAAI/B,EAAclL,GAChDvB,KAAK0O,eAAeD,SAAWlN,EACxBvB,IACT,EAGA,IAAIyQ,EAAU,QAoBd,SAASC,EAAcC,EAAGtJ,GACxB,OAAIsJ,GAAK,GAAsB,IAAjBtJ,EAAMrD,QAAgBqD,EAAMuG,MAAc,EACpDvG,EAAM0F,WAAmB,EACzB4D,GAAMA,EAEJtJ,EAAMsG,SAAWtG,EAAMrD,OAAeqD,EAAMmG,OAAOoD,KAAK3Q,KAAK+D,OAAmBqD,EAAMrD,QAGxF2M,EAAItJ,EAAM6F,gBAAe7F,EAAM6F,cA3BrC,SAAiCyD,GAc/B,OAbIA,GAAKF,EACPE,EAAIF,GAIJE,IACAA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,GACXA,KAEKA,CACT,CAYqDE,CAAwBF,IACvEA,GAAKtJ,EAAMrD,OAAe2M,EAEzBtJ,EAAMuG,MAIJvG,EAAMrD,QAHXqD,EAAM2G,cAAe,EACd,GAGX,CAyHA,SAASsB,EAAa/P,GACpB,IAAI8H,EAAQ9H,EAAOmP,eACnBrH,EAAM2G,cAAe,EAChB3G,EAAM4G,kBACT1B,EAAM,eAAgBlF,EAAMsG,SAC5BtG,EAAM4G,iBAAkB,EACpB5G,EAAM0G,KAAMpC,EAAImF,SAASC,EAAexR,GAAawR,EAAcxR,GAE3E,CAEA,SAASwR,EAAcxR,GACrBgN,EAAM,iBACNhN,EAAOkQ,KAAK,YACZuB,EAAKzR,EACP,CAQA,SAASuQ,EAAcvQ,EAAQ8H,GACxBA,EAAMkH,cACTlH,EAAMkH,aAAc,EACpB5C,EAAImF,SAASG,EAAgB1R,EAAQ8H,GAEzC,CAEA,SAAS4J,EAAe1R,EAAQ8H,GAE9B,IADA,IAAI4B,EAAM5B,EAAMrD,QACRqD,EAAMyG,UAAYzG,EAAMsG,UAAYtG,EAAMuG,OAASvG,EAAMrD,OAASqD,EAAM6F,gBAC9EX,EAAM,wBACNhN,EAAOqP,KAAK,GACR3F,IAAQ5B,EAAMrD,SAELiF,EAAM5B,EAAMrD,OAE3BqD,EAAMkH,aAAc,CACtB,CAwOA,SAAS2C,EAAiBhF,GACxBK,EAAM,4BACNL,EAAK0C,KAAK,EACZ,CAqBA,SAASuC,EAAQ5R,EAAQ8H,GAClBA,EAAMyG,UACTvB,EAAM,iBACNhN,EAAOqP,KAAK,IAGdvH,EAAM8G,iBAAkB,EACxB9G,EAAMiH,WAAa,EACnB/O,EAAOkQ,KAAK,UACZuB,EAAKzR,GACD8H,EAAMsG,UAAYtG,EAAMyG,SAASvO,EAAOqP,KAAK,EACnD,CAYA,SAASoC,EAAKzR,GACZ,IAAI8H,EAAQ9H,EAAOmP,eAEnB,IADAnC,EAAM,OAAQlF,EAAMsG,SACbtG,EAAMsG,SAA6B,OAAlBpO,EAAOqP,SACjC,CAkFA,SAASwC,EAAST,EAAGtJ,GAEnB,OAAqB,IAAjBA,EAAMrD,OAAqB,MAG3BqD,EAAM0F,WAAYsE,EAAMhK,EAAMmG,OAAO8D,SAAkBX,GAAKA,GAAKtJ,EAAMrD,QAEtDqN,EAAfhK,EAAMmH,QAAenH,EAAMmG,OAAOtK,KAAK,IAAqC,IAAxBmE,EAAMmG,OAAOxJ,OAAoBqD,EAAMmG,OAAOoD,KAAK3Q,KAAgBoH,EAAMmG,OAAO9B,OAAOrE,EAAMrD,QACrJqD,EAAMmG,OAAO+D,SAGbF,EASJ,SAAyBV,EAAGa,EAAMC,GAChC,IAAIJ,EACAV,EAAIa,EAAKZ,KAAK3Q,KAAK+D,QAErBqN,EAAMG,EAAKZ,KAAK3Q,KAAKmF,MAAM,EAAGuL,GAC9Ba,EAAKZ,KAAK3Q,KAAOuR,EAAKZ,KAAK3Q,KAAKmF,MAAMuL,IAGtCU,EAFSV,IAAMa,EAAKZ,KAAK3Q,KAAK+D,OAExBwN,EAAKF,QAGLG,EASV,SAA8Bd,EAAGa,GAC/B,IAAIE,EAAIF,EAAKZ,KACTe,EAAI,EACJN,EAAMK,EAAEzR,KACZ0Q,GAAKU,EAAIrN,OACT,KAAO0N,EAAIA,EAAEE,MAAM,CACjB,IAAItN,EAAMoN,EAAEzR,KACR4R,EAAKlB,EAAIrM,EAAIN,OAASM,EAAIN,OAAS2M,EAGvC,GAFIkB,IAAOvN,EAAIN,OAAQqN,GAAO/M,EAAS+M,GAAO/M,EAAIc,MAAM,EAAGuL,GAEjD,KADVA,GAAKkB,GACQ,CACPA,IAAOvN,EAAIN,UACX2N,EACED,EAAEE,KAAMJ,EAAKZ,KAAOc,EAAEE,KAAUJ,EAAKZ,KAAOY,EAAKM,KAAO,OAE5DN,EAAKZ,KAAOc,EACZA,EAAEzR,KAAOqE,EAAIc,MAAMyM,IAErB,KACF,GACEF,CACJ,CAEA,OADAH,EAAKxN,QAAU2N,EACRN,CACT,CAjCuBU,CAAqBpB,EAAGa,GAsC/C,SAAwBb,EAAGa,GACzB,IAAIH,EAAMhS,EAAO2S,YAAYrB,GACzBe,EAAIF,EAAKZ,KACTe,EAAI,EACRD,EAAEzR,KAAK4G,KAAKwK,GACZV,GAAKe,EAAEzR,KAAK+D,OACZ,KAAO0N,EAAIA,EAAEE,MAAM,CACjB,IAAIpN,EAAMkN,EAAEzR,KACR4R,EAAKlB,EAAInM,EAAIR,OAASQ,EAAIR,OAAS2M,EAGvC,GAFAnM,EAAIqC,KAAKwK,EAAKA,EAAIrN,OAAS2M,EAAG,EAAGkB,GAEvB,KADVlB,GAAKkB,GACQ,CACPA,IAAOrN,EAAIR,UACX2N,EACED,EAAEE,KAAMJ,EAAKZ,KAAOc,EAAEE,KAAUJ,EAAKZ,KAAOY,EAAKM,KAAO,OAE5DN,EAAKZ,KAAOc,EACZA,EAAEzR,KAAOuE,EAAIY,MAAMyM,IAErB,KACF,GACEF,CACJ,CAEA,OADAH,EAAKxN,QAAU2N,EACRN,CACT,CA/DuDY,CAAetB,EAAGa,GAEvE,OAAOH,CACT,CAvBUa,CAAgBvB,EAAGtJ,EAAMmG,OAAQnG,EAAMmH,SAGxC6C,GAVP,IAAIA,CAWN,CAiFA,SAASc,EAAY5S,GACnB,IAAI8H,EAAQ9H,EAAOmP,eAInB,GAAIrH,EAAMrD,OAAS,EAAG,MAAM,IAAI9D,MAAM,8CAEjCmH,EAAMwG,aACTxG,EAAMuG,OAAQ,EACdjC,EAAImF,SAASsB,EAAe/K,EAAO9H,GAEvC,CAEA,SAAS6S,EAAc/K,EAAO9H,GAEvB8H,EAAMwG,YAA+B,IAAjBxG,EAAMrD,SAC7BqD,EAAMwG,YAAa,EACnBtO,EAAOoP,UAAW,EAClBpP,EAAOkQ,KAAK,OAEhB,CAEA,SAASxF,EAAQoI,EAAIC,GACnB,IAAK,IAAInO,EAAI,EAAGoO,EAAIF,EAAGrO,OAAQG,EAAIoO,EAAGpO,IACpC,GAAIkO,EAAGlO,KAAOmO,EAAG,OAAOnO,EAE1B,OAAQ,CACV,CAroBA2D,EAAS5G,UAAU0N,KAAO,SAAU+B,GAClCpE,EAAM,OAAQoE,GACdA,EAAI6B,SAAS7B,EAAG,IAChB,IAAItJ,EAAQrH,KAAK0O,eACb+D,EAAQ9B,EAOZ,GALU,IAANA,IAAStJ,EAAM4G,iBAAkB,GAK3B,IAAN0C,GAAWtJ,EAAM2G,eAAiB3G,EAAMrD,QAAUqD,EAAM6F,eAAiB7F,EAAMuG,OAGjF,OAFArB,EAAM,qBAAsBlF,EAAMrD,OAAQqD,EAAMuG,OAC3B,IAAjBvG,EAAMrD,QAAgBqD,EAAMuG,MAAOuE,EAAYnS,MAAWsP,EAAatP,MACpE,KAMT,GAAU,KAHV2Q,EAAID,EAAcC,EAAGtJ,KAGNA,EAAMuG,MAEnB,OADqB,IAAjBvG,EAAMrD,QAAcmO,EAAYnS,MAC7B,KA0BT,IA4BIqR,EA5BAqB,EAASrL,EAAM2G,aAiDnB,OAhDAzB,EAAM,gBAAiBmG,IAGF,IAAjBrL,EAAMrD,QAAgBqD,EAAMrD,OAAS2M,EAAItJ,EAAM6F,gBAEjDX,EAAM,6BADNmG,GAAS,GAMPrL,EAAMuG,OAASvG,EAAMyG,QAEvBvB,EAAM,mBADNmG,GAAS,GAEAA,IACTnG,EAAM,WACNlF,EAAMyG,SAAU,EAChBzG,EAAM0G,MAAO,EAEQ,IAAjB1G,EAAMrD,SAAcqD,EAAM2G,cAAe,GAE7ChO,KAAK6O,MAAMxH,EAAM6F,eACjB7F,EAAM0G,MAAO,EAGR1G,EAAMyG,UAAS6C,EAAID,EAAc+B,EAAOpL,KAMnC,QAFDgK,EAAPV,EAAI,EAASS,EAAST,EAAGtJ,GAAkB,OAG7CA,EAAM2G,cAAe,EACrB2C,EAAI,GAEJtJ,EAAMrD,QAAU2M,EAGG,IAAjBtJ,EAAMrD,SAGHqD,EAAMuG,QAAOvG,EAAM2G,cAAe,GAGnCyE,IAAU9B,GAAKtJ,EAAMuG,OAAOuE,EAAYnS,OAGlC,OAARqR,GAAcrR,KAAKyP,KAAK,OAAQ4B,GAE7BA,CACT,EAiEAvJ,EAAS5G,UAAU2N,MAAQ,SAAU8B,GACnC3Q,KAAKyP,KAAK,QAAS,IAAIvP,MAAM,8BAC/B,EAEA4H,EAAS5G,UAAUyR,KAAO,SAAUC,EAAMC,GACxC,IAAIC,EAAM9S,KACNqH,EAAQrH,KAAK0O,eAEjB,OAAQrH,EAAMqG,YACZ,KAAK,EACHrG,EAAMoG,MAAQmF,EACd,MACF,KAAK,EACHvL,EAAMoG,MAAQ,CAACpG,EAAMoG,MAAOmF,GAC5B,MACF,QACEvL,EAAMoG,MAAM4B,KAAKuD,GAGrBvL,EAAMqG,YAAc,EACpBnB,EAAM,wBAAyBlF,EAAMqG,WAAYmF,GAEjD,IAEIE,IAFUF,IAA6B,IAAjBA,EAASrR,MAAkBoR,IAASjL,EAAQqL,QAAUJ,IAASjL,EAAQsL,OAE7EC,EAAQC,EAI5B,SAASC,EAASzE,EAAU0E,GAC1B9G,EAAM,YACFoC,IAAamE,GACXO,IAAwC,IAA1BA,EAAWC,aAC3BD,EAAWC,YAAa,EAoB5B/G,EAAM,WAENqG,EAAKW,eAAe,QAASC,GAC7BZ,EAAKW,eAAe,SAAUE,GAC9Bb,EAAKW,eAAe,QAASG,GAC7Bd,EAAKW,eAAe,QAASI,GAC7Bf,EAAKW,eAAe,SAAUH,GAC9BN,EAAIS,eAAe,MAAOL,GAC1BJ,EAAIS,eAAe,MAAOJ,GAC1BL,EAAIS,eAAe,OAAQK,GAE3BC,GAAY,GAORxM,EAAMiH,YAAgBsE,EAAKkB,iBAAkBlB,EAAKkB,eAAeC,WAAYL,IAlCnF,CAEA,SAASR,IACP3G,EAAM,SACNqG,EAAKpR,KACP,CAhBI6F,EAAMwG,WAAYlC,EAAImF,SAASiC,GAAYD,EAAIkB,KAAK,MAAOjB,GAE/DH,EAAKqB,GAAG,SAAUb,GAoBlB,IAAIM,EA4FN,SAAqBZ,GACnB,OAAO,WACL,IAAIzL,EAAQyL,EAAIpE,eAChBnC,EAAM,cAAelF,EAAMiH,YACvBjH,EAAMiH,YAAYjH,EAAMiH,aACH,IAArBjH,EAAMiH,YAAoBzC,EAAgBiH,EAAK,UACjDzL,EAAMsG,SAAU,EAChBqD,EAAK8B,GAET,CACF,CAtGgBoB,CAAYpB,GAC1BF,EAAKqB,GAAG,QAASP,GAEjB,IAAIG,GAAY,EA2BhB,IAAIM,GAAsB,EAE1B,SAASP,EAAO3E,GACd1C,EAAM,UACN4H,GAAsB,GAElB,IADMvB,EAAK/C,MAAMZ,IACCkF,KAKM,IAArB9M,EAAMqG,YAAoBrG,EAAMoG,QAAUmF,GAAQvL,EAAMqG,WAAa,IAAqC,IAAhCzD,EAAQ5C,EAAMoG,MAAOmF,MAAkBiB,IACpHtH,EAAM,8BAA+BlF,EAAMiH,YAC3CjH,EAAMiH,aACN6F,GAAsB,GAExBrB,EAAIsB,QAER,CAIA,SAAST,EAAQvE,GACf7C,EAAM,UAAW6C,GACjB+D,IACAP,EAAKW,eAAe,QAASI,GACU,IAAnC9H,EAAgB+G,EAAM,UAAgBA,EAAKnD,KAAK,QAASL,EAC/D,CAMA,SAASoE,IACPZ,EAAKW,eAAe,SAAUE,GAC9BN,GACF,CAEA,SAASM,IACPlH,EAAM,YACNqG,EAAKW,eAAe,QAASC,GAC7BL,GACF,CAGA,SAASA,IACP5G,EAAM,UACNuG,EAAIK,OAAOP,EACb,CAWA,OA1DAE,EAAImB,GAAG,OAAQL,GA9gBjB,SAAyB9H,EAASuI,EAAOC,GAGvC,GAAuC,mBAA5BxI,EAAQyI,gBAAgC,OAAOzI,EAAQyI,gBAAgBF,EAAOC,GAMpFxI,EAAQ0I,SAAY1I,EAAQ0I,QAAQH,GAAuClP,EAAQ2G,EAAQ0I,QAAQH,IAASvI,EAAQ0I,QAAQH,GAAO1N,QAAQ2N,GAASxI,EAAQ0I,QAAQH,GAAS,CAACC,EAAIxI,EAAQ0I,QAAQH,IAAtJvI,EAAQmI,GAAGI,EAAOC,EACrE,CAiiBEC,CAAgB3B,EAAM,QAASe,GAO/Bf,EAAKoB,KAAK,QAASR,GAMnBZ,EAAKoB,KAAK,SAAUP,GAQpBb,EAAKnD,KAAK,OAAQqD,GAGbzL,EAAMsG,UACTpB,EAAM,eACNuG,EAAI2B,UAGC7B,CACT,EAcA9K,EAAS5G,UAAUiS,OAAS,SAAUP,GACpC,IAAIvL,EAAQrH,KAAK0O,eACb2E,EAAa,CAAEC,YAAY,GAG/B,GAAyB,IAArBjM,EAAMqG,WAAkB,OAAO1N,KAGnC,GAAyB,IAArBqH,EAAMqG,WAER,OAAIkF,GAAQA,IAASvL,EAAMoG,QAEtBmF,IAAMA,EAAOvL,EAAMoG,OAGxBpG,EAAMoG,MAAQ,KACdpG,EAAMqG,WAAa,EACnBrG,EAAMsG,SAAU,EACZiF,GAAMA,EAAKnD,KAAK,SAAUzP,KAAMqT,IARKrT,KAc3C,IAAK4S,EAAM,CAET,IAAI8B,EAAQrN,EAAMoG,MACdxE,EAAM5B,EAAMqG,WAChBrG,EAAMoG,MAAQ,KACdpG,EAAMqG,WAAa,EACnBrG,EAAMsG,SAAU,EAEhB,IAAK,IAAIxJ,EAAI,EAAGA,EAAI8E,EAAK9E,IACvBuQ,EAAMvQ,GAAGsL,KAAK,SAAUzP,KAAM,CAAEsT,YAAY,IAC7C,OAAOtT,IACV,CAGA,IAAI2U,EAAQ1K,EAAQ5C,EAAMoG,MAAOmF,GACjC,OAAe,IAAX+B,IAEJtN,EAAMoG,MAAMlI,OAAOoP,EAAO,GAC1BtN,EAAMqG,YAAc,EACK,IAArBrG,EAAMqG,aAAkBrG,EAAMoG,MAAQpG,EAAMoG,MAAM,IAEtDmF,EAAKnD,KAAK,SAAUzP,KAAMqT,IANDrT,IAS3B,EAIA8H,EAAS5G,UAAU+S,GAAK,SAAUW,EAAIN,GACpC,IAAI5Q,EAAMgE,EAAOxG,UAAU+S,GAAGlU,KAAKC,KAAM4U,EAAIN,GAE7C,GAAW,SAAPM,GAEkC,IAAhC5U,KAAK0O,eAAef,SAAmB3N,KAAKyU,cAC3C,GAAW,aAAPG,EAAmB,CAC5B,IAAIvN,EAAQrH,KAAK0O,eACZrH,EAAMwG,YAAexG,EAAM6G,oBAC9B7G,EAAM6G,kBAAoB7G,EAAM2G,cAAe,EAC/C3G,EAAM4G,iBAAkB,EACnB5G,EAAMyG,QAEAzG,EAAMrD,QACfsL,EAAatP,MAFb2L,EAAImF,SAASI,EAAkBlR,MAKrC,CAEA,OAAO0D,CACT,EACAoE,EAAS5G,UAAU2T,YAAc/M,EAAS5G,UAAU+S,GASpDnM,EAAS5G,UAAUuT,OAAS,WAC1B,IAAIpN,EAAQrH,KAAK0O,eAMjB,OALKrH,EAAMsG,UACTpB,EAAM,UACNlF,EAAMsG,SAAU,EAMpB,SAAgBpO,EAAQ8H,GACjBA,EAAM8G,kBACT9G,EAAM8G,iBAAkB,EACxBxC,EAAImF,SAASK,EAAS5R,EAAQ8H,GAElC,CAVIoN,CAAOzU,KAAMqH,IAERrH,IACT,EAsBA8H,EAAS5G,UAAUkT,MAAQ,WAOzB,OANA7H,EAAM,wBAAyBvM,KAAK0O,eAAef,UAC/C,IAAU3N,KAAK0O,eAAef,UAChCpB,EAAM,SACNvM,KAAK0O,eAAef,SAAU,EAC9B3N,KAAKyP,KAAK,UAELzP,IACT,EAWA8H,EAAS5G,UAAU4T,KAAO,SAAUvV,GAClC,IAAIwV,EAAQ/U,KAERqH,EAAQrH,KAAK0O,eACbsG,GAAS,EA4Bb,IAAK,IAAI7Q,KA1BT5E,EAAO0U,GAAG,OAAO,WAEf,GADA1H,EAAM,eACFlF,EAAMmH,UAAYnH,EAAMuG,MAAO,CACjC,IAAIqB,EAAQ5H,EAAMmH,QAAQhN,MACtByN,GAASA,EAAMjL,QAAQ+Q,EAAM1F,KAAKJ,EACxC,CAEA8F,EAAM1F,KAAK,KACb,IAEA9P,EAAO0U,GAAG,QAAQ,SAAUhF,IAC1B1C,EAAM,gBACFlF,EAAMmH,UAASS,EAAQ5H,EAAMmH,QAAQqB,MAAMZ,IAG3C5H,EAAM0F,YAAc,MAACkC,KAAyD5H,EAAM0F,YAAgBkC,GAAUA,EAAMjL,UAE9G+Q,EAAM1F,KAAKJ,KAEnB+F,GAAS,EACTzV,EAAO6U,SAEX,IAIc7U,OACIgI,IAAZvH,KAAKmE,IAAyC,mBAAd5E,EAAO4E,KACzCnE,KAAKmE,GAAK,SAAU8Q,GAClB,OAAO,WACL,OAAO1V,EAAO0V,GAAQC,MAAM3V,EAAQ4V,UACtC,CACF,CAJU,CAIRhR,IAKN,IAAK,IAAIwM,EAAI,EAAGA,EAAI/D,EAAa5I,OAAQ2M,IACvCpR,EAAO0U,GAAGrH,EAAa+D,GAAI3Q,KAAKyP,KAAK2F,KAAKpV,KAAM4M,EAAa+D,KAa/D,OARA3Q,KAAK6O,MAAQ,SAAU8B,GACrBpE,EAAM,gBAAiBoE,GACnBqE,IACFA,GAAS,EACTzV,EAAOkV,SAEX,EAEOzU,IACT,EAEAY,OAAOoP,eAAelI,EAAS5G,UAAW,wBAAyB,CAIjEmU,YAAY,EACZpF,IAAK,WACH,OAAOjQ,KAAK0O,eAAexB,aAC7B,IAIFpF,EAASwN,UAAYlE,C,gBCv3BrB,IAAImE,EAAK,EAAQ,MACbC,EAAQ,EAAQ,MAChBC,EAASD,EAAMC,OACfC,EAAiBF,EAAME,eACvBC,EAAaH,EAAMG,WAUvB,SAASC,EAAUC,EAAOnU,GACxB1B,KAAK6V,MAAQA,EAEM,iBAARnU,IACTA,EAAMiU,EAAWjU,IAEfwD,MAAMC,QAAQzD,KAChB+T,EAAO/T,EAAIsC,SAAkC,EAAvB6R,EAAMC,eAAoB,8BAChDpU,EAAM,CACJqU,EAAGrU,EAAI0D,MAAM,EAAGyQ,EAAMC,gBACtBE,EAAGtU,EAAI0D,MAAMyQ,EAAMC,kBAIvBL,EAAO/T,EAAIqU,GAAKrU,EAAIsU,EAAG,4BAEnBH,EAAMI,QAAQvU,EAAIqU,KACpB/V,KAAKkW,GAAKxU,EAAIqU,GACZrU,EAAIsU,aAAaT,IACnBvV,KAAKmW,GAAKzU,EAAIsU,GAEhBhW,KAAKoW,UAAYlR,MAAMC,QAAQzD,EAAIqU,GAAKrU,EAAIqU,EAAIrU,EAAI2U,SACpDrW,KAAKsW,UAAYpR,MAAMC,QAAQzD,EAAIsU,GAAKtU,EAAIsU,EAAItU,EAAI6U,QACtD,CAEAb,EAAeE,EAAW,KAAK,WAC7B,OAAO5V,KAAK6V,MAAMW,UAAUxW,KAAKuW,WACnC,IAEAb,EAAeE,EAAW,KAAK,WAC7B,OAAO5V,KAAK6V,MAAMY,YAAYzW,KAAKqW,WACrC,IAEAX,EAAeE,EAAW,YAAY,WACpC,OAAO5V,KAAK6V,MAAMa,YAAY1W,KAAK+V,IACrC,IAEAL,EAAeE,EAAW,YAAY,WACpC,OAAO5V,KAAK6V,MAAMc,UAAU3W,KAAKgW,IACnC,IAEAJ,EAAU1U,UAAU0V,QAAU,WAC5B,OAAO5W,KAAKqW,WAAW3K,OAAO1L,KAAKuW,WACrC,EAEAX,EAAU1U,UAAU2V,MAAQ,WAC1B,OAAOrB,EAAMzS,OAAO/C,KAAK4W,UAAW,OAAOE,aAC7C,EAEAjV,EAAOC,QAAU8T,C,cChEjB9T,EAAQ8M,KAAO,SAAUpB,EAAQ7H,EAAQoR,EAAMC,EAAMC,GACnD,IAAIC,EAAGC,EACHC,EAAiB,EAATH,EAAcD,EAAO,EAC7BK,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBE,GAAS,EACTpT,EAAI4S,EAAQE,EAAS,EAAK,EAC1BO,EAAIT,GAAQ,EAAI,EAChBU,EAAIjK,EAAO7H,EAASxB,GAOxB,IALAA,GAAKqT,EAELN,EAAIO,GAAM,IAAOF,GAAU,EAC3BE,KAAQF,EACRA,GAASH,EACFG,EAAQ,EAAGL,EAAS,IAAJA,EAAW1J,EAAO7H,EAASxB,GAAIA,GAAKqT,EAAGD,GAAS,GAKvE,IAHAJ,EAAID,GAAM,IAAOK,GAAU,EAC3BL,KAAQK,EACRA,GAASP,EACFO,EAAQ,EAAGJ,EAAS,IAAJA,EAAW3J,EAAO7H,EAASxB,GAAIA,GAAKqT,EAAGD,GAAS,GAEvE,GAAU,IAANL,EACFA,EAAI,EAAII,MACH,IAAIJ,IAAMG,EACf,OAAOF,EAAIO,IAAsBC,KAAdF,GAAK,EAAI,GAE5BN,GAAQ7J,KAAKsK,IAAI,EAAGZ,GACpBE,GAAQI,CACV,CACA,OAAQG,GAAK,EAAI,GAAKN,EAAI7J,KAAKsK,IAAI,EAAGV,EAAIF,EAC5C,EAEAlV,EAAQ+N,MAAQ,SAAUrC,EAAQzG,EAAOpB,EAAQoR,EAAMC,EAAMC,GAC3D,IAAIC,EAAGC,EAAGxF,EACNyF,EAAiB,EAATH,EAAcD,EAAO,EAC7BK,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBQ,EAAe,KAATb,EAAc1J,KAAKsK,IAAI,GAAI,IAAMtK,KAAKsK,IAAI,GAAI,IAAM,EAC1DzT,EAAI4S,EAAO,EAAKE,EAAS,EACzBO,EAAIT,EAAO,GAAK,EAChBU,EAAI1Q,EAAQ,GAAgB,IAAVA,GAAe,EAAIA,EAAQ,EAAK,EAAI,EAmC1D,IAjCAA,EAAQuG,KAAKwK,IAAI/Q,GAEbgR,MAAMhR,IAAUA,IAAU4Q,KAC5BR,EAAIY,MAAMhR,GAAS,EAAI,EACvBmQ,EAAIG,IAEJH,EAAI5J,KAAKC,MAAMD,KAAK0K,IAAIjR,GAASuG,KAAK2K,KAClClR,GAAS4K,EAAIrE,KAAKsK,IAAI,GAAIV,IAAM,IAClCA,IACAvF,GAAK,IAGL5K,GADEmQ,EAAII,GAAS,EACNO,EAAKlG,EAELkG,EAAKvK,KAAKsK,IAAI,EAAG,EAAIN,IAEpB3F,GAAK,IACfuF,IACAvF,GAAK,GAGHuF,EAAII,GAASD,GACfF,EAAI,EACJD,EAAIG,GACKH,EAAII,GAAS,GACtBH,GAAMpQ,EAAQ4K,EAAK,GAAKrE,KAAKsK,IAAI,EAAGZ,GACpCE,GAAQI,IAERH,EAAIpQ,EAAQuG,KAAKsK,IAAI,EAAGN,EAAQ,GAAKhK,KAAKsK,IAAI,EAAGZ,GACjDE,EAAI,IAIDF,GAAQ,EAAGxJ,EAAO7H,EAASxB,GAAS,IAAJgT,EAAUhT,GAAKqT,EAAGL,GAAK,IAAKH,GAAQ,GAI3E,IAFAE,EAAKA,GAAKF,EAAQG,EAClBC,GAAQJ,EACDI,EAAO,EAAG5J,EAAO7H,EAASxB,GAAS,IAAJ+S,EAAU/S,GAAKqT,EAAGN,GAAK,IAAKE,GAAQ,GAE1E5J,EAAO7H,EAASxB,EAAIqT,IAAU,IAAJC,CAC5B,C,qCCpFA5V,EAAOC,QAAU,SAAcoW,EAAGC,GAIhC,IAHA,IAAInU,EAASsJ,KAAK8K,IAAIF,EAAElU,OAAQmU,EAAEnU,QAC9BwJ,EAAS,IAAInO,EAAO2E,GAEfG,EAAI,EAAGA,EAAIH,IAAUG,EAC5BqJ,EAAOrJ,GAAK+T,EAAE/T,GAAKgU,EAAEhU,GAGvB,OAAOqJ,CACT,C,gBCTA,IAAI6K,EAAM,EAAQ,MAElBxW,EAAOC,QAAU,SAAU0L,GACzB,OAAO,IAAI6K,GAAM/W,OAAOkM,GAAQ/L,QAClC,C,gBCFA,SAAS6W,EAAQC,EAAQC,GAAkB,IAAI3X,EAAOD,OAAOC,KAAK0X,GAAS,GAAI3X,OAAO6X,sBAAuB,CAAE,IAAIC,EAAU9X,OAAO6X,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOhY,OAAOiY,yBAAyBN,EAAQK,GAAKvD,UAAY,KAAKxU,EAAKwO,KAAK6F,MAAMrU,EAAM6X,EAAU,CAAE,OAAO7X,CAAM,CACpV,SAASiY,EAAcC,GAAU,IAAK,IAAI5U,EAAI,EAAGA,EAAIgR,UAAUnR,OAAQG,IAAK,CAAE,IAAI6U,EAAS,MAAQ7D,UAAUhR,GAAKgR,UAAUhR,GAAK,CAAC,EAAGA,EAAI,EAAImU,EAAQ1X,OAAOoY,IAAS,GAAIlY,SAAQ,SAAUC,GAAOkY,EAAgBF,EAAQhY,EAAKiY,EAAOjY,GAAO,IAAKH,OAAOsY,0BAA4BtY,OAAOuY,iBAAiBJ,EAAQnY,OAAOsY,0BAA0BF,IAAWV,EAAQ1X,OAAOoY,IAASlY,SAAQ,SAAUC,GAAOH,OAAOoP,eAAe+I,EAAQhY,EAAKH,OAAOiY,yBAAyBG,EAAQjY,GAAO,GAAI,CAAE,OAAOgY,CAAQ,CACzf,SAASE,EAAgBhS,EAAKlG,EAAKgG,GAA4L,OAAnLhG,EAAMqY,EAAerY,MAAiBkG,EAAOrG,OAAOoP,eAAe/I,EAAKlG,EAAK,CAAEgG,MAAOA,EAAOsO,YAAY,EAAMgE,cAAc,EAAMC,UAAU,IAAkBrS,EAAIlG,GAAOgG,EAAgBE,CAAK,CAE3O,SAASsS,EAAkBR,EAAQS,GAAS,IAAK,IAAIrV,EAAI,EAAGA,EAAIqV,EAAMxV,OAAQG,IAAK,CAAE,IAAIsV,EAAaD,EAAMrV,GAAIsV,EAAWpE,WAAaoE,EAAWpE,aAAc,EAAOoE,EAAWJ,cAAe,EAAU,UAAWI,IAAYA,EAAWH,UAAW,GAAM1Y,OAAOoP,eAAe+I,EAAQK,EAAeK,EAAW1Y,KAAM0Y,EAAa,CAAE,CAE5U,SAASL,EAAejP,GAAO,IAAIpJ,EACnC,SAAsB2Y,EAAOC,GAAQ,GAAqB,iBAAVD,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAIE,EAAOF,EAAMG,OAAOC,aAAc,QAAavS,IAATqS,EAAoB,CAAE,IAAIlW,EAAMkW,EAAK7Z,KAAK2Z,EAAOC,GAAQ,WAAY,GAAmB,iBAARjW,EAAkB,OAAOA,EAAK,MAAM,IAAI0F,UAAU,+CAAiD,CAAE,OAAiB,WAATuQ,EAAoBxQ,OAAS4Q,QAAQL,EAAQ,CAD/UM,CAAa7P,EAAK,UAAW,MAAsB,iBAARpJ,EAAmBA,EAAMoI,OAAOpI,EAAM,CAE1H,IACE1B,EADa,EAAQ,MACHA,OAElB4a,EADc,EAAQ,KACFA,QAClBC,EAASD,GAAWA,EAAQC,QAAU,UAI1CrY,EAAOC,QAAuB,WAC5B,SAAS4K,KAdX,SAAyByN,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIhR,UAAU,oCAAwC,CAepJiR,CAAgBra,KAAM0M,GACtB1M,KAAK4Q,KAAO,KACZ5Q,KAAK8R,KAAO,KACZ9R,KAAKgE,OAAS,CAChB,CAjBF,IAAsBoW,EAAaE,EAAYC,EA8K7C,OA9KoBH,EAkBP1N,GAlBoB4N,EAkBR,CAAC,CACxBvZ,IAAK,OACLgG,MAAO,SAAcyT,GACnB,IAAIC,EAAQ,CACVxa,KAAMua,EACN5I,KAAM,MAEJ5R,KAAKgE,OAAS,EAAGhE,KAAK8R,KAAKF,KAAO6I,EAAWza,KAAK4Q,KAAO6J,EAC7Dza,KAAK8R,KAAO2I,IACVza,KAAKgE,MACT,GACC,CACDjD,IAAK,UACLgG,MAAO,SAAiByT,GACtB,IAAIC,EAAQ,CACVxa,KAAMua,EACN5I,KAAM5R,KAAK4Q,MAEO,IAAhB5Q,KAAKgE,SAAchE,KAAK8R,KAAO2I,GACnCza,KAAK4Q,KAAO6J,IACVza,KAAKgE,MACT,GACC,CACDjD,IAAK,QACLgG,MAAO,WACL,GAAoB,IAAhB/G,KAAKgE,OAAT,CACA,IAAIqN,EAAMrR,KAAK4Q,KAAK3Q,KAGpB,OAFoB,IAAhBD,KAAKgE,OAAchE,KAAK4Q,KAAO5Q,KAAK8R,KAAO,KAAU9R,KAAK4Q,KAAO5Q,KAAK4Q,KAAKgB,OAC7E5R,KAAKgE,OACAqN,CAJsB,CAK/B,GACC,CACDtQ,IAAK,QACLgG,MAAO,WACL/G,KAAK4Q,KAAO5Q,KAAK8R,KAAO,KACxB9R,KAAKgE,OAAS,CAChB,GACC,CACDjD,IAAK,OACLgG,MAAO,SAAc0Q,GACnB,GAAoB,IAAhBzX,KAAKgE,OAAc,MAAO,GAG9B,IAFA,IAAI0N,EAAI1R,KAAK4Q,KACTS,EAAM,GAAKK,EAAEzR,KACVyR,EAAIA,EAAEE,MAAMP,GAAOoG,EAAI/F,EAAEzR,KAChC,OAAOoR,CACT,GACC,CACDtQ,IAAK,SACLgG,MAAO,SAAgB4J,GACrB,GAAoB,IAAhB3Q,KAAKgE,OAAc,OAAO3E,EAAOqb,MAAM,GAI3C,IAHA,IA5Dc5H,EAAKiG,EAAQpT,EA4DvB0L,EAAMhS,EAAO2S,YAAYrB,IAAM,GAC/Be,EAAI1R,KAAK4Q,KACTzM,EAAI,EACDuN,GA/DOoB,EAgEDpB,EAAEzR,KAhEI8Y,EAgEE1H,EAhEM1L,EAgEDxB,EA/D9B9E,EAAO6B,UAAU2F,KAAK9G,KAAK+S,EAAKiG,EAAQpT,GAgElCxB,GAAKuN,EAAEzR,KAAK+D,OACZ0N,EAAIA,EAAEE,KAER,OAAOP,CACT,GAGC,CACDtQ,IAAK,UACLgG,MAAO,SAAiB4J,EAAGc,GACzB,IAAIJ,EAYJ,OAXIV,EAAI3Q,KAAK4Q,KAAK3Q,KAAK+D,QAErBqN,EAAMrR,KAAK4Q,KAAK3Q,KAAKmF,MAAM,EAAGuL,GAC9B3Q,KAAK4Q,KAAK3Q,KAAOD,KAAK4Q,KAAK3Q,KAAKmF,MAAMuL,IAGtCU,EAFSV,IAAM3Q,KAAK4Q,KAAK3Q,KAAK+D,OAExBhE,KAAKsR,QAGLG,EAAazR,KAAK2a,WAAWhK,GAAK3Q,KAAK4a,WAAWjK,GAEnDU,CACT,GACC,CACDtQ,IAAK,QACLgG,MAAO,WACL,OAAO/G,KAAK4Q,KAAK3Q,IACnB,GAGC,CACDc,IAAK,aACLgG,MAAO,SAAoB4J,GACzB,IAAIe,EAAI1R,KAAK4Q,KACTe,EAAI,EACJN,EAAMK,EAAEzR,KAEZ,IADA0Q,GAAKU,EAAIrN,OACF0N,EAAIA,EAAEE,MAAM,CACjB,IAAItN,EAAMoN,EAAEzR,KACR4R,EAAKlB,EAAIrM,EAAIN,OAASM,EAAIN,OAAS2M,EAGvC,GAFIkB,IAAOvN,EAAIN,OAAQqN,GAAO/M,EAAS+M,GAAO/M,EAAIc,MAAM,EAAGuL,GAEjD,IADVA,GAAKkB,GACQ,CACPA,IAAOvN,EAAIN,UACX2N,EACED,EAAEE,KAAM5R,KAAK4Q,KAAOc,EAAEE,KAAU5R,KAAK4Q,KAAO5Q,KAAK8R,KAAO,OAE5D9R,KAAK4Q,KAAOc,EACZA,EAAEzR,KAAOqE,EAAIc,MAAMyM,IAErB,KACF,GACEF,CACJ,CAEA,OADA3R,KAAKgE,QAAU2N,EACRN,CACT,GAGC,CACDtQ,IAAK,aACLgG,MAAO,SAAoB4J,GACzB,IAAIU,EAAMhS,EAAO2S,YAAYrB,GACzBe,EAAI1R,KAAK4Q,KACTe,EAAI,EAGR,IAFAD,EAAEzR,KAAK4G,KAAKwK,GACZV,GAAKe,EAAEzR,KAAK+D,OACL0N,EAAIA,EAAEE,MAAM,CACjB,IAAIpN,EAAMkN,EAAEzR,KACR4R,EAAKlB,EAAInM,EAAIR,OAASQ,EAAIR,OAAS2M,EAGvC,GAFAnM,EAAIqC,KAAKwK,EAAKA,EAAIrN,OAAS2M,EAAG,EAAGkB,GAEvB,IADVlB,GAAKkB,GACQ,CACPA,IAAOrN,EAAIR,UACX2N,EACED,EAAEE,KAAM5R,KAAK4Q,KAAOc,EAAEE,KAAU5R,KAAK4Q,KAAO5Q,KAAK8R,KAAO,OAE5D9R,KAAK4Q,KAAOc,EACZA,EAAEzR,KAAOuE,EAAIY,MAAMyM,IAErB,KACF,GACEF,CACJ,CAEA,OADA3R,KAAKgE,QAAU2N,EACRN,CACT,GAGC,CACDtQ,IAAKmZ,EACLnT,MAAO,SAAe3F,EAAGyL,GACvB,OAAOoN,EAAQja,KAAM8Y,EAAcA,EAAc,CAAC,EAAGjM,GAAU,CAAC,EAAG,CAEjEgO,MAAO,EAEPC,eAAe,IAEnB,MA5K0EvB,EAAkBa,EAAYlZ,UAAWoZ,GAAiBC,GAAahB,EAAkBa,EAAaG,GAAc3Z,OAAOoP,eAAeoK,EAAa,YAAa,CAAEd,UAAU,IA8KrP5M,CACT,CApK8B,E,gBChB9B,IAAI6I,EAAK,EAAQ,MACb/V,EAAW,EAAQ,MACnB8I,EAAO,EAAQ,MAEfkN,EAAQ,EAAQ,MAEpB,SAASuF,EAAUC,GACjB1S,EAAKvI,KAAKC,KAAM,OAAQgb,GAExBhb,KAAKkY,EAAI,IAAI3C,EAAGyF,EAAK9C,EAAG,IAAI+C,MAAMjb,KAAKkb,KACvClb,KAAKmY,EAAI,IAAI5C,EAAGyF,EAAK7C,EAAG,IAAI8C,MAAMjb,KAAKkb,KACvClb,KAAKmb,GAAK,IAAI5F,EAAG,GAAG0F,MAAMjb,KAAKkb,KAAKE,UACpCpb,KAAK6C,IAAM,IAAI0S,EAAG,GAAG0F,MAAMjb,KAAKkb,KAChClb,KAAKqb,IAAMrb,KAAKmb,GAAGG,OAAOtb,KAAKkY,EAAEqD,OAAOvb,KAAK6C,KAC/C,CAaA,SAAS2Y,EAAMC,EAAOnJ,EAAGoJ,GACvBpT,EAAKqT,UAAU5b,KAAKC,KAAMyb,EAAO,cACvB,OAANnJ,GAAoB,OAANoJ,GAChB1b,KAAKsS,EAAItS,KAAKyb,MAAMG,IACpB5b,KAAK0b,EAAI1b,KAAKyb,MAAMI,OAEpB7b,KAAKsS,EAAI,IAAIiD,EAAGjD,EAAG,IACnBtS,KAAK0b,EAAI,IAAInG,EAAGmG,EAAG,IACd1b,KAAKsS,EAAE4I,MACVlb,KAAKsS,EAAItS,KAAKsS,EAAE2I,MAAMjb,KAAKyb,MAAMP,MAC9Blb,KAAK0b,EAAER,MACVlb,KAAK0b,EAAI1b,KAAK0b,EAAET,MAAMjb,KAAKyb,MAAMP,MAEvC,CAzBA1b,EAASub,EAAWzS,GACpBzG,EAAOC,QAAUiZ,EAEjBA,EAAU7Z,UAAU4a,SAAW,SAAkBC,GAC/C,IAAIzJ,EAAIyJ,EAAMC,YAAY1J,EACtB2J,EAAK3J,EAAE4J,SACPC,EAAMF,EAAGX,OAAOhJ,GAAGiJ,OAAOU,EAAGX,OAAOtb,KAAKkY,IAAIqD,OAAOjJ,GAGxD,OAA+B,IAFvB6J,EAAIC,UAEHF,SAASG,IAAIF,EACxB,EAgBA3c,EAASgc,EAAOlT,EAAKqT,WAErBZ,EAAU7Z,UAAUuV,YAAc,SAAqB6F,EAAO/a,GAC5D,OAAOvB,KAAK+b,MAAMvG,EAAM9O,QAAQ4V,EAAO/a,GAAM,EAC/C,EAEAwZ,EAAU7Z,UAAU6a,MAAQ,SAAezJ,EAAGoJ,GAC5C,OAAO,IAAIF,EAAMxb,KAAMsS,EAAGoJ,EAC5B,EAEAX,EAAU7Z,UAAUqb,cAAgB,SAAuBtV,GACzD,OAAOuU,EAAMgB,SAASxc,KAAMiH,EAC9B,EAEAuU,EAAMta,UAAUub,WAAa,WAE7B,EAEAjB,EAAMta,UAAU+B,QAAU,WACxB,OAAOjD,KAAK0c,OAAOhW,QAAQ,KAAM1G,KAAKyb,MAAM/J,EAAEiL,aAChD,EAEAnB,EAAMgB,SAAW,SAAkBf,EAAOxU,GACxC,OAAO,IAAIuU,EAAMC,EAAOxU,EAAI,GAAIA,EAAI,IAAMwU,EAAMG,IAClD,EAEAJ,EAAMta,UAAU+Y,QAAU,WACxB,OAAIja,KAAK4c,aACA,sBACF,gBAAkB5c,KAAKsS,EAAEuK,UAAUlb,SAAS,GAAI,GACnD,OAAS3B,KAAK0b,EAAEmB,UAAUlb,SAAS,GAAI,GAAK,GAClD,EAEA6Z,EAAMta,UAAU0b,WAAa,WAE3B,OAA0B,IAAnB5c,KAAK0b,EAAEoB,KAAK,EACrB,EAEAtB,EAAMta,UAAU6b,IAAM,WAKpB,IAEIC,EAFIhd,KAAKsS,EAAEiJ,OAAOvb,KAAK0b,GAEhBQ,SAIPe,EAFIjd,KAAKsS,EAAE4K,OAAOld,KAAK0b,GAEhBQ,SAEPvK,EAAIqL,EAAGE,OAAOD,GAEdE,EAAKH,EAAG1B,OAAO2B,GAEfG,EAAKzL,EAAE2J,OAAO2B,EAAG1B,OAAOvb,KAAKyb,MAAMJ,IAAIC,OAAO3J,KAClD,OAAO3R,KAAKyb,MAAMM,MAAMoB,EAAIC,EAC9B,EAEA5B,EAAMta,UAAUmc,IAAM,WACpB,MAAM,IAAInd,MAAM,oCAClB,EAEAsb,EAAMta,UAAUoc,QAAU,SAAiB5L,EAAG6L,GAK5C,IAAIrF,EAAIlY,KAAKsS,EAAEiJ,OAAOvb,KAAK0b,GAEvBvD,EAAInY,KAAKsS,EAAE4K,OAAOld,KAAK0b,GAEvB/J,EAAID,EAAEY,EAAEiJ,OAAO7J,EAAEgK,GAIjB8B,EAFI9L,EAAEY,EAAE4K,OAAOxL,EAAEgK,GAEVJ,OAAOpD,GAEd5H,EAAKqB,EAAE2J,OAAOnD,GAEdgF,EAAKI,EAAK7B,EAAEJ,OAAOkC,EAAGjC,OAAOjL,GAAI4L,UAEjCkB,EAAKG,EAAKjL,EAAEgJ,OAAOkC,EAAGC,QAAQnN,GAAI4L,UACtC,OAAOlc,KAAKyb,MAAMM,MAAMoB,EAAIC,EAC9B,EAEA5B,EAAMta,UAAUwc,IAAM,SAAaC,GAMjC,IALA,IAAIC,EAAID,EAAEE,QACN3F,EAAIlY,KACJmY,EAAInY,KAAKyb,MAAMM,MAAM,KAAM,MAGtB+B,EAAO,GAAkB,IAAdF,EAAEd,KAAK,GAAUc,EAAEG,OAAO,GAC5CD,EAAKzO,KAAKuO,EAAEI,MAAM,IAEpB,IAAK,IAAI7Z,EAAI2Z,EAAK9Z,OAAS,EAAGG,GAAK,EAAGA,IACpB,IAAZ2Z,EAAK3Z,IAEP+T,EAAIA,EAAEoF,QAAQnF,EARVnY,MAUJmY,EAAIA,EAAE4E,QAGN5E,EAAID,EAAEoF,QAAQnF,EAbVnY,MAeJkY,EAAIA,EAAE6E,OAGV,OAAO5E,CACT,EAEAqD,EAAMta,UAAU+c,OAAS,WACvB,MAAM,IAAI/d,MAAM,oCAClB,EAEAsb,EAAMta,UAAUgd,QAAU,WACxB,MAAM,IAAIhe,MAAM,oCAClB,EAEAsb,EAAMta,UAAUid,GAAK,SAAYC,GAC/B,OAAyC,IAAlCpe,KAAK0c,OAAOL,IAAI+B,EAAM1B,OAC/B,EAEAlB,EAAMta,UAAU8a,UAAY,WAG1B,OAFAhc,KAAKsS,EAAItS,KAAKsS,EAAEgJ,OAAOtb,KAAK0b,EAAEN,WAC9Bpb,KAAK0b,EAAI1b,KAAKyb,MAAMG,IACb5b,IACT,EAEAwb,EAAMta,UAAUwb,KAAO,WAIrB,OAFA1c,KAAKgc,YAEEhc,KAAKsS,EAAEuK,SAChB,C,gBCjLA,IAAIxd,EAAS,eAGb,SAASgf,EAAMC,EAAWC,GACxBve,KAAKwe,OAASnf,EAAOqb,MAAM4D,GAC3Bte,KAAKye,WAAaF,EAClBve,KAAK0e,WAAaJ,EAClBte,KAAK2e,KAAO,CACd,CAEAN,EAAKnd,UAAUI,OAAS,SAAUrB,EAAMsB,GAClB,iBAATtB,IACTsB,EAAMA,GAAO,OACbtB,EAAOZ,EAAO2B,KAAKf,EAAMsB,IAQ3B,IALA,IAAIqd,EAAQ5e,KAAKwe,OACbF,EAAYte,KAAK0e,WACjB1a,EAAS/D,EAAK+D,OACd6a,EAAQ7e,KAAK2e,KAERhZ,EAAS,EAAGA,EAAS3B,GAAS,CAIrC,IAHA,IAAI8a,EAAWD,EAAQP,EACnBS,EAAYzR,KAAK8K,IAAIpU,EAAS2B,EAAQ2Y,EAAYQ,GAE7C3a,EAAI,EAAGA,EAAI4a,EAAW5a,IAC7Bya,EAAME,EAAW3a,GAAKlE,EAAK0F,EAASxB,GAItCwB,GAAUoZ,GADVF,GAASE,GAGIT,GAAe,GAC1Bte,KAAKgf,QAAQJ,EAEjB,CAGA,OADA5e,KAAK2e,MAAQ3a,EACNhE,IACT,EAEAqe,EAAKnd,UAAUO,OAAS,SAAUF,GAChC,IAAI0d,EAAMjf,KAAK2e,KAAO3e,KAAK0e,WAE3B1e,KAAKwe,OAAOS,GAAO,IAInBjf,KAAKwe,OAAOU,KAAK,EAAGD,EAAM,GAEtBA,GAAOjf,KAAKye,aACdze,KAAKgf,QAAQhf,KAAKwe,QAClBxe,KAAKwe,OAAOU,KAAK,IAGnB,IAAIpB,EAAmB,EAAZ9d,KAAK2e,KAGhB,GAAIb,GAAQ,WACV9d,KAAKwe,OAAOW,cAAcrB,EAAM9d,KAAK0e,WAAa,OAG7C,CACL,IAAIU,GAAkB,WAAPtB,KAAuB,EAClCuB,GAAYvB,EAAOsB,GAAW,WAElCpf,KAAKwe,OAAOW,cAAcE,EAAUrf,KAAK0e,WAAa,GACtD1e,KAAKwe,OAAOW,cAAcC,EAASpf,KAAK0e,WAAa,EACvD,CAEA1e,KAAKgf,QAAQhf,KAAKwe,QAClB,IAAIpe,EAAOJ,KAAKK,QAEhB,OAAOkB,EAAMnB,EAAKuB,SAASJ,GAAOnB,CACpC,EAEAie,EAAKnd,UAAU8d,QAAU,WACvB,MAAM,IAAI9e,MAAM,0CAClB,EAEA2B,EAAOC,QAAUuc,C,UChFjBxc,EAAOC,QAAUwd,gBAAkBC,GACjC,IAAK,IAAIC,KAAYD,EAEK,mBAAbC,IAAyBA,EAAWA,WACvCA,CAEZ,C,UCHA3d,EAAOC,QAAUwL,KAAKmS,K,gBCDtB,IAAIlY,EAEAmY,EAAU,EAAQ,MAElBC,EAAS,EAAQ,MACjBC,EAAa,EAAQ,MACrBC,EAAc,EAAQ,MACtBC,EAAkB,EAAQ,MAC1BC,EAAe,EAAQ,MACvBC,EAAa,EAAQ,MACrBC,EAAY,EAAQ,MAEpBnI,EAAM,EAAQ,MACdvK,EAAQ,EAAQ,MAChB2S,EAAM,EAAQ,MACd9H,EAAM,EAAQ,MACdR,EAAM,EAAQ,MACd6H,EAAQ,EAAQ,KAChBhgB,EAAO,EAAQ,MAEf0gB,EAAYpe,SAGZqe,EAAwB,SAAUC,GACrC,IACC,OAAOF,EAAU,yBAA2BE,EAAmB,iBAAxDF,EACR,CAAE,MAAOjJ,GAAI,CACd,EAEIoJ,EAAQ,EAAQ,MAChBC,EAAkB,EAAQ,KAE1BC,EAAiB,WACpB,MAAM,IAAIR,CACX,EACIS,EAAiBH,EACjB,WACF,IAGC,OAAOE,CACR,CAAE,MAAOE,GACR,IAEC,OAAOJ,EAAMnL,UAAW,UAAUlF,GACnC,CAAE,MAAO0Q,GACR,OAAOH,CACR,CACD,CACD,CAbE,GAcAA,EAECI,EAAa,EAAQ,KAAR,GAEbC,EAAW,EAAQ,MACnBC,EAAa,EAAQ,MACrBC,EAAc,EAAQ,MAEtBC,EAAS,EAAQ,MACjBC,EAAQ,EAAQ,IAEhBC,EAAY,CAAC,EAEbC,EAAmC,oBAAfhV,YAA+B0U,EAAuBA,EAAS1U,YAArB5E,EAE9D6Z,EAAa,CAChBC,UAAW,KACX,mBAA8C,oBAAnBC,eAAiC/Z,EAAY+Z,eACxE,UAAWpc,MACX,gBAAwC,oBAAhBqc,YAA8Bha,EAAYga,YAClE,2BAA4BX,GAAcC,EAAWA,EAAS,GAAGhH,OAAO2F,aAAejY,EACvF,mCAAoCA,EACpC,kBAAmB2Z,EACnB,mBAAoBA,EACpB,2BAA4BA,EAC5B,2BAA4BA,EAC5B,YAAgC,oBAAZM,QAA0Bja,EAAYia,QAC1D,WAA8B,oBAAXC,OAAyBla,EAAYka,OACxD,kBAA4C,oBAAlBC,cAAgCna,EAAYma,cACtE,mBAA8C,oBAAnBC,eAAiCpa,EAAYoa,eACxE,YAAaC,QACb,aAAkC,oBAAbC,SAA2Bta,EAAYsa,SAC5D,SAAU9b,KACV,cAAe+b,UACf,uBAAwBC,mBACxB,cAAeC,UACf,uBAAwBC,mBACxB,UAAWtC,EACX,SAAUuC,KACV,cAAetC,EACf,iBAA0C,oBAAjBuC,aAA+B5a,EAAY4a,aACpE,iBAA0C,oBAAjBC,aAA+B7a,EAAY6a,aACpE,iBAA0C,oBAAjBC,aAA+B9a,EAAY8a,aACpE,yBAA0D,oBAAzBC,qBAAuC/a,EAAY+a,qBACpF,aAAcnC,EACd,sBAAuBe,EACvB,cAAoC,oBAAdqB,UAA4Bhb,EAAYgb,UAC9D,eAAsC,oBAAfC,WAA6Bjb,EAAYib,WAChE,eAAsC,oBAAfC,WAA6Blb,EAAYkb,WAChE,aAAcC,SACd,UAAW3K,MACX,sBAAuB6I,GAAcC,EAAWA,EAASA,EAAS,GAAGhH,OAAO2F,cAAgBjY,EAC5F,SAA0B,iBAATlC,KAAoBA,KAAOkC,EAC5C,QAAwB,oBAARob,IAAsBpb,EAAYob,IAClD,yBAAyC,oBAARA,KAAwB/B,GAAeC,EAAuBA,GAAS,IAAI8B,KAAM9I,OAAO2F,aAAtCjY,EACnF,SAAU+F,KACV,WAAYyM,OACZ,WAAY2F,EACZ,oCAAqCY,EACrC,eAAgBsC,WAChB,aAAcpQ,SACd,YAAgC,oBAAZqQ,QAA0Btb,EAAYsb,QAC1D,UAA4B,oBAAVC,MAAwBvb,EAAYub,MACtD,eAAgBjD,EAChB,mBAAoBC,EACpB,YAAgC,oBAAZiD,QAA0Bxb,EAAYwb,QAC1D,WAAYC,OACZ,QAAwB,oBAARC,IAAsB1b,EAAY0b,IAClD,yBAAyC,oBAARA,KAAwBrC,GAAeC,EAAuBA,GAAS,IAAIoC,KAAMpJ,OAAO2F,aAAtCjY,EACnF,sBAAoD,oBAAtB2b,kBAAoC3b,EAAY2b,kBAC9E,WAAY/Z,OACZ,4BAA6ByX,GAAcC,EAAWA,EAAS,GAAGhH,OAAO2F,aAAejY,EACxF,WAAYqZ,EAAa/G,OAAStS,EAClC,gBAAiBwY,EACjB,mBAAoBU,EACpB,eAAgBU,EAChB,cAAenB,EACf,eAAsC,oBAAf7T,WAA6B5E,EAAY4E,WAChE,sBAAoD,oBAAtBgX,kBAAoC5b,EAAY4b,kBAC9E,gBAAwC,oBAAhBC,YAA8B7b,EAAY6b,YAClE,gBAAwC,oBAAhBC,YAA8B9b,EAAY8b,YAClE,aAAcpD,EACd,YAAgC,oBAAZqD,QAA0B/b,EAAY+b,QAC1D,YAAgC,oBAAZC,QAA0Bhc,EAAYgc,QAC1D,YAAgC,oBAAZC,QAA0Bjc,EAAYic,QAE1D,4BAA6BvC,EAC7B,6BAA8BD,EAC9B,0BAA2BT,EAC3B,0BAA2BO,EAC3B,aAAchJ,EACd,eAAgBvK,EAChB,aAAc2S,EACd,aAAc9H,EACd,aAAcR,EACd,eAAgB6H,EAChB,cAAehgB,EACf,2BAA4BshB,GAG7B,GAAIF,EACH,IACC,KAAKhd,KACN,CAAE,MAAOqT,GAER,IAAIuM,EAAa5C,EAASA,EAAS3J,IACnCkK,EAAW,qBAAuBqC,CACnC,CAGD,IAAIC,EAAS,SAASA,EAAOphB,GAC5B,IAAIyE,EACJ,GAAa,oBAATzE,EACHyE,EAAQqZ,EAAsB,6BACxB,GAAa,wBAAT9d,EACVyE,EAAQqZ,EAAsB,wBACxB,GAAa,6BAAT9d,EACVyE,EAAQqZ,EAAsB,8BACxB,GAAa,qBAAT9d,EAA6B,CACvC,IAAIgS,EAAKoP,EAAO,4BACZpP,IACHvN,EAAQuN,EAAGpT,UAEb,MAAO,GAAa,6BAAToB,EAAqC,CAC/C,IAAIqhB,EAAMD,EAAO,oBACbC,GAAO9C,IACV9Z,EAAQ8Z,EAAS8C,EAAIziB,WAEvB,CAIA,OAFAkgB,EAAW9e,GAAQyE,EAEZA,CACR,EAEI6c,EAAiB,CACpBvC,UAAW,KACX,yBAA0B,CAAC,cAAe,aAC1C,mBAAoB,CAAC,QAAS,aAC9B,uBAAwB,CAAC,QAAS,YAAa,WAC/C,uBAAwB,CAAC,QAAS,YAAa,WAC/C,oBAAqB,CAAC,QAAS,YAAa,QAC5C,sBAAuB,CAAC,QAAS,YAAa,UAC9C,2BAA4B,CAAC,gBAAiB,aAC9C,mBAAoB,CAAC,yBAA0B,aAC/C,4BAA6B,CAAC,yBAA0B,YAAa,aACrE,qBAAsB,CAAC,UAAW,aAClC,sBAAuB,CAAC,WAAY,aACpC,kBAAmB,CAAC,OAAQ,aAC5B,mBAAoB,CAAC,QAAS,aAC9B,uBAAwB,CAAC,YAAa,aACtC,0BAA2B,CAAC,eAAgB,aAC5C,0BAA2B,CAAC,eAAgB,aAC5C,sBAAuB,CAAC,WAAY,aACpC,cAAe,CAAC,oBAAqB,aACrC,uBAAwB,CAAC,oBAAqB,YAAa,aAC3D,uBAAwB,CAAC,YAAa,aACtC,wBAAyB,CAAC,aAAc,aACxC,wBAAyB,CAAC,aAAc,aACxC,cAAe,CAAC,OAAQ,SACxB,kBAAmB,CAAC,OAAQ,aAC5B,iBAAkB,CAAC,MAAO,aAC1B,oBAAqB,CAAC,SAAU,aAChC,oBAAqB,CAAC,SAAU,aAChC,sBAAuB,CAAC,SAAU,YAAa,YAC/C,qBAAsB,CAAC,SAAU,YAAa,WAC9C,qBAAsB,CAAC,UAAW,aAClC,sBAAuB,CAAC,UAAW,YAAa,QAChD,gBAAiB,CAAC,UAAW,OAC7B,mBAAoB,CAAC,UAAW,UAChC,oBAAqB,CAAC,UAAW,WACjC,wBAAyB,CAAC,aAAc,aACxC,4BAA6B,CAAC,iBAAkB,aAChD,oBAAqB,CAAC,SAAU,aAChC,iBAAkB,CAAC,MAAO,aAC1B,+BAAgC,CAAC,oBAAqB,aACtD,oBAAqB,CAAC,SAAU,aAChC,oBAAqB,CAAC,SAAU,aAChC,yBAA0B,CAAC,cAAe,aAC1C,wBAAyB,CAAC,aAAc,aACxC,uBAAwB,CAAC,YAAa,aACtC,wBAAyB,CAAC,aAAc,aACxC,+BAAgC,CAAC,oBAAqB,aACtD,yBAA0B,CAAC,cAAe,aAC1C,yBAA0B,CAAC,cAAe,aAC1C,sBAAuB,CAAC,WAAY,aACpC,qBAAsB,CAAC,UAAW,aAClC,qBAAsB,CAAC,UAAW,cAG/BjM,EAAO,EAAQ,MACfyO,EAAS,EAAQ,MACjBC,EAAU1O,EAAKrV,KAAKkhB,EAAO/b,MAAMhE,UAAUwK,QAC3CqY,EAAe3O,EAAKrV,KAAKihB,EAAQ9b,MAAMhE,UAAUqE,QACjDye,EAAW5O,EAAKrV,KAAKkhB,EAAO9X,OAAOjI,UAAUyI,SAC7Csa,EAAY7O,EAAKrV,KAAKkhB,EAAO9X,OAAOjI,UAAUkE,OAC9C8e,EAAQ9O,EAAKrV,KAAKkhB,EAAO+B,OAAO9hB,UAAUijB,MAG1CC,EAAa,qGACbC,EAAe,WAiBfC,EAAmB,SAA0BhiB,EAAMiiB,GACtD,IACIC,EADAC,EAAgBniB,EAOpB,GALIuhB,EAAOD,EAAgBa,KAE1BA,EAAgB,KADhBD,EAAQZ,EAAea,IACK,GAAK,KAG9BZ,EAAOzC,EAAYqD,GAAgB,CACtC,IAAI1d,EAAQqa,EAAWqD,GAIvB,GAHI1d,IAAUma,IACbna,EAAQ2c,EAAOe,SAEK,IAAV1d,IAA0Bwd,EACpC,MAAM,IAAIvE,EAAW,aAAe1d,EAAO,wDAG5C,MAAO,CACNkiB,MAAOA,EACPliB,KAAMmiB,EACN1d,MAAOA,EAET,CAEA,MAAM,IAAIgZ,EAAa,aAAezd,EAAO,mBAC9C,EAEAT,EAAOC,QAAU,SAAsBQ,EAAMiiB,GAC5C,GAAoB,iBAATjiB,GAAqC,IAAhBA,EAAK0B,OACpC,MAAM,IAAIgc,EAAW,6CAEtB,GAAI7K,UAAUnR,OAAS,GAA6B,kBAAjBugB,EAClC,MAAM,IAAIvE,EAAW,6CAGtB,GAAmC,OAA/BkE,EAAM,cAAe5hB,GACxB,MAAM,IAAIyd,EAAa,sFAExB,IAAI2E,EAtDc,SAAsBC,GACxC,IAAIC,EAAQX,EAAUU,EAAQ,EAAG,GAC7BE,EAAOZ,EAAUU,GAAS,GAC9B,GAAc,MAAVC,GAA0B,MAATC,EACpB,MAAM,IAAI9E,EAAa,kDACjB,GAAa,MAAT8E,GAA0B,MAAVD,EAC1B,MAAM,IAAI7E,EAAa,kDAExB,IAAI+E,EAAS,GAIb,OAHAd,EAASW,EAAQP,GAAY,SAAUW,EAAOC,EAAQC,EAAOC,GAC5DJ,EAAOA,EAAO9gB,QAAUihB,EAAQjB,EAASkB,EAAWb,EAAc,MAAQW,GAAUD,CACrF,IACOD,CACR,CAyCaK,CAAa7iB,GACrB8iB,EAAoBV,EAAM1gB,OAAS,EAAI0gB,EAAM,GAAK,GAElDW,EAAYf,EAAiB,IAAMc,EAAoB,IAAKb,GAC5De,EAAoBD,EAAU/iB,KAC9ByE,EAAQse,EAAUte,MAClBwe,GAAqB,EAErBf,EAAQa,EAAUb,MAClBA,IACHY,EAAoBZ,EAAM,GAC1BT,EAAaW,EAAOZ,EAAQ,CAAC,EAAG,GAAIU,KAGrC,IAAK,IAAIrgB,EAAI,EAAGqhB,GAAQ,EAAMrhB,EAAIugB,EAAM1gB,OAAQG,GAAK,EAAG,CACvD,IAAIshB,EAAOf,EAAMvgB,GACbygB,EAAQX,EAAUwB,EAAM,EAAG,GAC3BZ,EAAOZ,EAAUwB,GAAO,GAC5B,IAEa,MAAVb,GAA2B,MAAVA,GAA2B,MAAVA,GACtB,MAATC,GAAyB,MAATA,GAAyB,MAATA,IAElCD,IAAUC,EAEb,MAAM,IAAI9E,EAAa,wDASxB,GAPa,gBAAT0F,GAA2BD,IAC9BD,GAAqB,GAMlB1B,EAAOzC,EAFXkE,EAAoB,KADpBF,GAAqB,IAAMK,GACmB,KAG7C1e,EAAQqa,EAAWkE,QACb,GAAa,MAATve,EAAe,CACzB,KAAM0e,KAAQ1e,GAAQ,CACrB,IAAKwd,EACJ,MAAM,IAAIvE,EAAW,sBAAwB1d,EAAO,+CAErD,MACD,CACA,GAAIge,GAAUnc,EAAI,GAAMugB,EAAM1gB,OAAQ,CACrC,IAAI0hB,EAAOpF,EAAMvZ,EAAO0e,GAWvB1e,GAVDye,IAAUE,IASG,QAASA,KAAU,kBAAmBA,EAAKzV,KAC/CyV,EAAKzV,IAELlJ,EAAM0e,EAEhB,MACCD,EAAQ3B,EAAO9c,EAAO0e,GACtB1e,EAAQA,EAAM0e,GAGXD,IAAUD,IACbnE,EAAWkE,GAAqBve,EAElC,CACD,CACA,OAAOA,CACR,C,gBCpXA,IAAI1H,EAAS,eAEb,SAASsmB,EAAenhB,GACjBnF,EAAOmH,SAAShC,KAAMA,EAAMnF,EAAO2B,KAAKwD,IAK7C,IAHA,IAAIyE,EAAOzE,EAAIR,OAAS,EAAK,EACzB4C,EAAM,IAAI1B,MAAM+D,GAEX9E,EAAI,EAAGA,EAAI8E,EAAK9E,IACvByC,EAAIzC,GAAKK,EAAIohB,aAAiB,EAAJzhB,GAG5B,OAAOyC,CACT,CAEA,SAASif,EAAUrL,GACjB,KAAa,EAAOA,EAAExW,OAAQwW,IAC5BA,EADW,GACJ,CAEX,CAEA,SAASsL,EAAYC,EAAGC,EAAaC,EAASC,EAAMC,GAalD,IAZA,IASIC,EAAIC,EAAIC,EAAIC,EATZC,EAAWP,EAAQ,GACnBQ,EAAWR,EAAQ,GACnBS,EAAWT,EAAQ,GACnBU,EAAWV,EAAQ,GAEnBW,EAAKb,EAAE,GAAKC,EAAY,GACxBa,EAAKd,EAAE,GAAKC,EAAY,GACxBc,EAAKf,EAAE,GAAKC,EAAY,GACxBe,EAAKhB,EAAE,GAAKC,EAAY,GAExBgB,EAAQ,EAEHvH,EAAQ,EAAGA,EAAQ0G,EAAS1G,IACnC2G,EAAKI,EAASI,IAAO,IAAMH,EAAUI,IAAO,GAAM,KAAQH,EAAUI,IAAO,EAAK,KAAQH,EAAc,IAALI,GAAaf,EAAYgB,KAC1HX,EAAKG,EAASK,IAAO,IAAMJ,EAAUK,IAAO,GAAM,KAAQJ,EAAUK,IAAO,EAAK,KAAQJ,EAAc,IAALC,GAAaZ,EAAYgB,KAC1HV,EAAKE,EAASM,IAAO,IAAML,EAAUM,IAAO,GAAM,KAAQL,EAAUE,IAAO,EAAK,KAAQD,EAAc,IAALE,GAAab,EAAYgB,KAC1HT,EAAKC,EAASO,IAAO,IAAMN,EAAUG,IAAO,GAAM,KAAQF,EAAUG,IAAO,EAAK,KAAQF,EAAc,IAALG,GAAad,EAAYgB,KAC1HJ,EAAKR,EACLS,EAAKR,EACLS,EAAKR,EACLS,EAAKR,EAYP,OATAH,GAAOF,EAAKU,IAAO,KAAO,GAAOV,EAAMW,IAAO,GAAM,MAAS,GAAOX,EAAMY,IAAO,EAAK,MAAS,EAAKZ,EAAU,IAALa,IAAcf,EAAYgB,KACnIX,GAAOH,EAAKW,IAAO,KAAO,GAAOX,EAAMY,IAAO,GAAM,MAAS,GAAOZ,EAAMa,IAAO,EAAK,MAAS,EAAKb,EAAU,IAALU,IAAcZ,EAAYgB,KACnIV,GAAOJ,EAAKY,IAAO,KAAO,GAAOZ,EAAMa,IAAO,GAAM,MAAS,GAAOb,EAAMU,IAAO,EAAK,MAAS,EAAKV,EAAU,IAALW,IAAcb,EAAYgB,KACnIT,GAAOL,EAAKa,IAAO,KAAO,GAAOb,EAAMU,IAAO,GAAM,MAAS,GAAOV,EAAMW,IAAO,EAAK,MAAS,EAAKX,EAAU,IAALY,IAAcd,EAAYgB,KAM5H,CALPZ,KAAY,EACZC,KAAY,EACZC,KAAY,EACZC,KAAY,EAGd,CAGA,IAAIU,EAAO,CAAC,EAAM,EAAM,EAAM,EAAM,EAAM,GAAM,GAAM,GAAM,IAAM,GAAM,IACpEC,EAAI,WAGN,IADA,IAAI1P,EAAI,IAAItS,MAAM,KACTd,EAAI,EAAGA,EAAI,IAAKA,IAErBoT,EAAEpT,GADAA,EAAI,IACCA,GAAK,EAEJA,GAAK,EAAK,IAYtB,IARA,IAAI8hB,EAAO,GACPiB,EAAW,GACXlB,EAAU,CAAC,GAAI,GAAI,GAAI,IACvBmB,EAAc,CAAC,GAAI,GAAI,GAAI,IAG3B9U,EAAI,EACJ+U,EAAK,EACAljB,EAAI,EAAGA,EAAI,MAAOA,EAAG,CAE5B,IAAImjB,EAAKD,EAAMA,GAAM,EAAMA,GAAM,EAAMA,GAAM,EAAMA,GAAM,EACzDC,EAAMA,IAAO,EAAW,IAALA,EAAa,GAChCpB,EAAK5T,GAAKgV,EACVH,EAASG,GAAMhV,EAGf,IAAI2J,EAAKzE,EAAElF,GACPiV,EAAK/P,EAAEyE,GACPuL,EAAKhQ,EAAE+P,GAGP3J,EAAa,IAARpG,EAAE8P,GAAqB,SAALA,EAC3BrB,EAAQ,GAAG3T,GAAMsL,GAAK,GAAOA,IAAM,EACnCqI,EAAQ,GAAG3T,GAAMsL,GAAK,GAAOA,IAAM,GACnCqI,EAAQ,GAAG3T,GAAMsL,GAAK,EAAMA,IAAM,GAClCqI,EAAQ,GAAG3T,GAAKsL,EAGhBA,EAAU,SAAL4J,EAAwB,MAALD,EAAsB,IAALtL,EAAmB,SAAJ3J,EACxD8U,EAAY,GAAGE,GAAO1J,GAAK,GAAOA,IAAM,EACxCwJ,EAAY,GAAGE,GAAO1J,GAAK,GAAOA,IAAM,GACxCwJ,EAAY,GAAGE,GAAO1J,GAAK,EAAMA,IAAM,GACvCwJ,EAAY,GAAGE,GAAM1J,EAEX,IAANtL,EACFA,EAAI+U,EAAK,GAET/U,EAAI2J,EAAKzE,EAAEA,EAAEA,EAAEgQ,EAAKvL,KACpBoL,GAAM7P,EAAEA,EAAE6P,IAEd,CAEA,MAAO,CACLnB,KAAMA,EACNiB,SAAUA,EACVlB,QAASA,EACTmB,YAAaA,EAEhB,CA3DO,GA6DR,SAASK,EAAK1mB,GACZf,KAAK0nB,KAAO/B,EAAc5kB,GAC1Bf,KAAK2nB,QACP,CAEAF,EAAInJ,UAAY,GAChBmJ,EAAIG,QAAU,GACdH,EAAIvmB,UAAUod,UAAYmJ,EAAInJ,UAC9BmJ,EAAIvmB,UAAU0mB,QAAUH,EAAIG,QAC5BH,EAAIvmB,UAAUymB,OAAS,WAOrB,IANA,IAAIE,EAAW7nB,KAAK0nB,KAChBE,EAAUC,EAAS7jB,OACnBmiB,EAAUyB,EAAU,EACpBE,EAAyB,GAAf3B,EAAU,GAEpBH,EAAc,GACTrI,EAAI,EAAGA,EAAIiK,EAASjK,IAC3BqI,EAAYrI,GAAKkK,EAASlK,GAG5B,IAAKA,EAAIiK,EAASjK,EAAImK,EAAQnK,IAAK,CACjC,IAAIC,EAAIoI,EAAYrI,EAAI,GAEpBA,EAAIiK,GAAY,GAClBhK,EAAKA,GAAK,EAAMA,IAAM,GACtBA,EACGsJ,EAAEhB,KAAKtI,IAAM,KAAO,GACpBsJ,EAAEhB,KAAMtI,IAAM,GAAM,MAAS,GAC7BsJ,EAAEhB,KAAMtI,IAAM,EAAK,MAAS,EAC5BsJ,EAAEhB,KAAS,IAAJtI,GAEVA,GAAKqJ,EAAMtJ,EAAIiK,EAAW,IAAM,IACvBA,EAAU,GAAKjK,EAAIiK,GAAY,IACxChK,EACGsJ,EAAEhB,KAAKtI,IAAM,KAAO,GACpBsJ,EAAEhB,KAAMtI,IAAM,GAAM,MAAS,GAC7BsJ,EAAEhB,KAAMtI,IAAM,EAAK,MAAS,EAC5BsJ,EAAEhB,KAAS,IAAJtI,IAGZoI,EAAYrI,GAAKqI,EAAYrI,EAAIiK,GAAWhK,CAC9C,CAGA,IADA,IAAImK,EAAiB,GACZC,EAAK,EAAGA,EAAKF,EAAQE,IAAM,CAClC,IAAIC,EAAMH,EAASE,EACfE,EAAKlC,EAAYiC,GAAOD,EAAK,EAAI,EAAI,IAGvCD,EAAeC,GADbA,EAAK,GAAKC,GAAO,EACEC,EAGnBhB,EAAEE,YAAY,GAAGF,EAAEhB,KAAKgC,IAAO,KAC/BhB,EAAEE,YAAY,GAAGF,EAAEhB,KAAMgC,IAAO,GAAM,MACtChB,EAAEE,YAAY,GAAGF,EAAEhB,KAAMgC,IAAO,EAAK,MACrChB,EAAEE,YAAY,GAAGF,EAAEhB,KAAU,IAALgC,GAE9B,CAEAloB,KAAKmoB,SAAWhC,EAChBnmB,KAAKooB,aAAepC,EACpBhmB,KAAKqoB,gBAAkBN,CACzB,EAEAN,EAAIvmB,UAAUonB,gBAAkB,SAAUvC,GAExC,OAAOD,EADPC,EAAIJ,EAAcI,GACG/lB,KAAKooB,aAAclB,EAAEjB,QAASiB,EAAEhB,KAAMlmB,KAAKmoB,SAClE,EAEAV,EAAIvmB,UAAUqnB,aAAe,SAAUxC,GACrC,IAAInf,EAAM5G,KAAKsoB,gBAAgBvC,GAC3BvhB,EAAMnF,EAAO2S,YAAY,IAK7B,OAJAxN,EAAI2a,cAAcvY,EAAI,GAAI,GAC1BpC,EAAI2a,cAAcvY,EAAI,GAAI,GAC1BpC,EAAI2a,cAAcvY,EAAI,GAAI,GAC1BpC,EAAI2a,cAAcvY,EAAI,GAAI,IACnBpC,CACT,EAEAijB,EAAIvmB,UAAUsnB,aAAe,SAAUzC,GAIrC,IAAI0C,GAHJ1C,EAAIJ,EAAcI,IAGP,GACXA,EAAE,GAAKA,EAAE,GACTA,EAAE,GAAK0C,EAEP,IAAI7hB,EAAMkf,EAAWC,EAAG/lB,KAAKqoB,gBAAiBnB,EAAEE,YAAaF,EAAEC,SAAUnnB,KAAKmoB,UAC1E3jB,EAAMnF,EAAO2S,YAAY,IAK7B,OAJAxN,EAAI2a,cAAcvY,EAAI,GAAI,GAC1BpC,EAAI2a,cAAcvY,EAAI,GAAI,GAC1BpC,EAAI2a,cAAcvY,EAAI,GAAI,GAC1BpC,EAAI2a,cAAcvY,EAAI,GAAI,IACnBpC,CACT,EAEAijB,EAAIvmB,UAAUwnB,MAAQ,WACpB7C,EAAS7lB,KAAKooB,cACdvC,EAAS7lB,KAAKqoB,iBACdxC,EAAS7lB,KAAK0nB,KAChB,EAEA7lB,EAAOC,QAAQ2lB,IAAMA,C,gBCjOrB,IAsKIkB,EAtKAC,EAAS9mB,EAET1B,EAAO,EAAQ,MACfqb,EAAQ,EAAQ,KAGhBhG,EAFQ,EAAQ,MAEDA,OAEnB,SAASoT,EAAYhc,GACE,UAAjBA,EAAQ9C,KACV/J,KAAKyb,MAAQ,IAAIA,EAAMqN,MAAMjc,GACL,YAAjBA,EAAQ9C,KACf/J,KAAKyb,MAAQ,IAAIA,EAAMsN,QAAQlc,GAE/B7M,KAAKyb,MAAQ,IAAIA,EAAMuN,KAAKnc,GAC9B7M,KAAKipB,EAAIjpB,KAAKyb,MAAMwN,EACpBjpB,KAAK2Q,EAAI3Q,KAAKyb,MAAM9K,EACpB3Q,KAAKI,KAAOyM,EAAQzM,KAEpBqV,EAAOzV,KAAKipB,EAAEnN,WAAY,iBAC1BrG,EAAOzV,KAAKipB,EAAEvL,IAAI1d,KAAK2Q,GAAGiM,aAAc,0BAC1C,CAGA,SAASsM,EAAY5mB,EAAMuK,GACzBjM,OAAOoP,eAAe4Y,EAAQtmB,EAAM,CAClC+W,cAAc,EACdhE,YAAY,EACZpF,IAAK,WACH,IAAIwL,EAAQ,IAAIoN,EAAYhc,GAM5B,OALAjM,OAAOoP,eAAe4Y,EAAQtmB,EAAM,CAClC+W,cAAc,EACdhE,YAAY,EACZtO,MAAO0U,IAEFA,CACT,GAEJ,CAhBAmN,EAAOC,YAAcA,EAkBrBK,EAAY,OAAQ,CAClBnf,KAAM,QACNof,MAAO,OACPzX,EAAG,wDACHwG,EAAG,wDACHC,EAAG,wDACHxH,EAAG,wDACHvQ,KAAMA,EAAKgpB,OACXC,MAAM,EACNJ,EAAG,CACD,wDACA,2DAIJC,EAAY,OAAQ,CAClBnf,KAAM,QACNof,MAAO,OACPzX,EAAG,iEACHwG,EAAG,iEACHC,EAAG,iEACHxH,EAAG,iEACHvQ,KAAMA,EAAKgpB,OACXC,MAAM,EACNJ,EAAG,CACD,iEACA,oEAIJC,EAAY,OAAQ,CAClBnf,KAAM,QACNof,MAAO,KACPzX,EAAG,0EACHwG,EAAG,0EACHC,EAAG,0EACHxH,EAAG,0EACHvQ,KAAMA,EAAKgpB,OACXC,MAAM,EACNJ,EAAG,CACD,0EACA,6EAIJC,EAAY,OAAQ,CAClBnf,KAAM,QACNof,MAAO,KACPzX,EAAG,8GAEHwG,EAAG,8GAEHC,EAAG,8GAEHxH,EAAG,8GAEHvQ,KAAMA,EAAKkpB,OACXD,MAAM,EACNJ,EAAG,CACD,8GAEA,iHAKJC,EAAY,OAAQ,CAClBnf,KAAM,QACNof,MAAO,KACPzX,EAAG,2JAGHwG,EAAG,2JAGHC,EAAG,2JAGHxH,EAAG,2JAGHvQ,KAAMA,EAAKmpB,OACXF,MAAM,EACNJ,EAAG,CACD,2JAGA,8JAMJC,EAAY,aAAc,CACxBnf,KAAM,OACNof,MAAO,SACPzX,EAAG,sEACHwG,EAAG,QACHC,EAAG,IACHxH,EAAG,sEACHvQ,KAAMA,EAAKgpB,OACXC,MAAM,EACNJ,EAAG,CACD,OAIJC,EAAY,UAAW,CACrBnf,KAAM,UACNof,MAAO,SACPzX,EAAG,sEACHwG,EAAG,KACHvG,EAAG,IAEH6F,EAAG,sEACH7G,EAAG,sEACHvQ,KAAMA,EAAKgpB,OACXC,MAAM,EACNJ,EAAG,CACD,mEAGA,sEAKJ,IACEN,EAAM,EAAQ,KAChB,CAAE,MAAOzR,GACPyR,OAAMphB,CACR,CAEA2hB,EAAY,YAAa,CACvBnf,KAAM,QACNof,MAAO,OACPzX,EAAG,0EACHwG,EAAG,IACHC,EAAG,IACHxH,EAAG,0EACH6Y,EAAG,IACHppB,KAAMA,EAAKgpB,OAGXK,KAAM,mEACNC,OAAQ,mEACRC,MAAO,CACL,CACEzR,EAAG,mCACHC,EAAG,qCAEL,CACED,EAAG,oCACHC,EAAG,qCAIPkR,MAAM,EACNJ,EAAG,CACD,mEACA,mEACAN,I,gBCzMJ,IAAIiB,EAAe,EAAQ,KACvBC,EAAY,EAAQ,MACpB5P,EAAU,EAAQ,MAElB+F,EAAa,EAAQ,MACrB8J,EAAOF,EAAa,SAAS,GAG7BG,EAAUF,EAAU,qBAAqB,GAEzCG,EAAUH,EAAU,qBAAqB,GAEzCI,EAAUJ,EAAU,qBAAqB,GAEzCK,EAAaL,EAAU,wBAAwB,GAE/CM,EAAWN,EAAU,sBAAsB,GAG/ChoB,EAAOC,UAAYgoB,GAAmD,WAKhC,IAAIM,EAGrCC,EAAU,CACb5U,OAAQ,SAAU1U,GACjB,IAAKspB,EAAQC,IAAIvpB,GAChB,MAAM,IAAIif,EAAW,iCAAmC/F,EAAQlZ,GAElE,EACA,OAAU,SAAUA,GACnB,GAAIqpB,EAAI,CACP,IAAItF,EAASoF,EAAWE,EAAIrpB,GAI5B,OAHqB,IAAjBopB,EAASC,KACZA,OAAK,GAECtF,CACR,CACA,OAAO,CACR,EACA7U,IAAK,SAAUlP,GACd,GAAIqpB,EACH,OAAOL,EAAQK,EAAIrpB,EAErB,EACAupB,IAAK,SAAUvpB,GACd,QAAIqpB,GACIH,EAAQG,EAAIrpB,EAGrB,EACAmP,IAAK,SAAUnP,EAAKgG,GACdqjB,IAEJA,EAAK,IAAIN,GAEVE,EAAQI,EAAIrpB,EAAKgG,EAClB,GAID,OAAOsjB,CACR,C,gBCnEA,IAAIE,EAAc,CAChBC,IAAK,EAAQ,MACbC,IAAK,EAAQ,MACbC,IAAK,EAAQ,MACbC,KAAM,EAAQ,MACdC,KAAM,EAAQ,MACdC,IAAK,EAAQ,MACbC,IAAK,EAAQ,MACbC,IAAK,EAAQ,OAGXC,EAAQ,EAAQ,MAEpB,IAAK,IAAIjqB,KAAOiqB,EACdA,EAAMjqB,GAAKc,OAAS0oB,EAAYS,EAAMjqB,GAAK6J,MAG7C/I,EAAOC,QAAUkpB,C,6BCIbC,EAAe,WACnBnpB,EAAQopB,OAAS,SAASC,GACxB,IAAKC,EAASD,GAAI,CAEhB,IADA,IAAIE,EAAU,GACLlnB,EAAI,EAAGA,EAAIgR,UAAUnR,OAAQG,IACpCknB,EAAQhc,KAAK4K,EAAQ9E,UAAUhR,KAEjC,OAAOknB,EAAQnoB,KAAK,IACtB,CAEIiB,EAAI,EAmBR,IAnBA,IACImnB,EAAOnW,UACPlM,EAAMqiB,EAAKtnB,OACXM,EAAM6E,OAAOgiB,GAAGxhB,QAAQshB,GAAc,SAAS3Y,GACjD,GAAU,OAANA,EAAY,MAAO,IACvB,GAAInO,GAAK8E,EAAK,OAAOqJ,EACrB,OAAQA,GACN,IAAK,KAAM,OAAOnJ,OAAOmiB,EAAKnnB,MAC9B,IAAK,KAAM,OAAO4V,OAAOuR,EAAKnnB,MAC9B,IAAK,KACH,IACE,OAAOkB,KAAKC,UAAUgmB,EAAKnnB,KAC7B,CAAE,MAAO/C,GACP,MAAO,YACT,CACF,QACE,OAAOkR,EAEb,IACSA,EAAIgZ,EAAKnnB,GAAIA,EAAI8E,EAAKqJ,EAAIgZ,IAAOnnB,GACpConB,EAAOjZ,KAAOkZ,EAASlZ,GACzBhO,GAAO,IAAMgO,EAEbhO,GAAO,IAAM2V,EAAQ3H,GAGzB,OAAOhO,CACT,EAMAxC,EAAQ2pB,UAAY,SAASnX,EAAI7K,GAE/B,GAAIiiB,EAAY,WAAO/jB,SACrB,OAAO,WACL,OAAO7F,EAAQ2pB,UAAUnX,EAAI7K,GAAKyL,MAAMlV,KAAMmV,UAChD,EAGF,IAA8B,IAA1BxN,EAAQgkB,cACV,OAAOrX,EAGT,IAAIsX,GAAS,EAeb,OAdA,WACE,IAAKA,EAAQ,CACX,GAAIjkB,EAAQkkB,iBACV,MAAM,IAAI3rB,MAAMuJ,GACP9B,EAAQmkB,iBACjBC,QAAQC,MAAMviB,GAEdsiB,QAAQloB,MAAM4F,GAEhBmiB,GAAS,CACX,CACA,OAAOtX,EAAGY,MAAMlV,KAAMmV,UACxB,CAGF,EAGA,IACI8W,EADAC,EAAS,CAAC,EA6Bd,SAASjS,EAAQhT,EAAKklB,GAEpB,IAAIC,EAAM,CACRC,KAAM,GACNC,QAASC,GAkBX,OAfIpX,UAAUnR,QAAU,IAAGooB,EAAIvR,MAAQ1F,UAAU,IAC7CA,UAAUnR,QAAU,IAAGooB,EAAII,OAASrX,UAAU,IAC9CsX,EAAUN,GAEZC,EAAIM,WAAaP,EACRA,GAETrqB,EAAQ6qB,QAAQP,EAAKD,GAGnBT,EAAYU,EAAIM,cAAaN,EAAIM,YAAa,GAC9ChB,EAAYU,EAAIvR,SAAQuR,EAAIvR,MAAQ,GACpC6Q,EAAYU,EAAII,UAASJ,EAAII,QAAS,GACtCd,EAAYU,EAAItR,iBAAgBsR,EAAItR,eAAgB,GACpDsR,EAAII,SAAQJ,EAAIE,QAAUM,GACvBC,EAAYT,EAAKnlB,EAAKmlB,EAAIvR,MACnC,CAmCA,SAAS+R,EAAiBtoB,EAAKwoB,GAC7B,IAAIC,EAAQ9S,EAAQ+S,OAAOF,GAE3B,OAAIC,EACK,KAAY9S,EAAQuS,OAAOO,GAAO,GAAK,IAAMzoB,EAC7C,KAAY2V,EAAQuS,OAAOO,GAAO,GAAK,IAEvCzoB,CAEX,CAGA,SAASioB,EAAejoB,EAAKwoB,GAC3B,OAAOxoB,CACT,CAcA,SAASuoB,EAAYT,EAAKrlB,EAAOkmB,GAG/B,GAAIb,EAAItR,eACJ/T,GACAmmB,EAAWnmB,EAAMkT,UAEjBlT,EAAMkT,UAAYnY,EAAQmY,WAExBlT,EAAMyB,aAAezB,EAAMyB,YAAYtH,YAAc6F,GAAQ,CACjE,IAAIsK,EAAMtK,EAAMkT,QAAQgT,EAAcb,GAItC,OAHKhB,EAAS/Z,KACZA,EAAMwb,EAAYT,EAAK/a,EAAK4b,IAEvB5b,CACT,CAGA,IAAIhO,EA+FN,SAAyB+oB,EAAKrlB,GAC5B,GAAI2kB,EAAY3kB,GACd,OAAOqlB,EAAIE,QAAQ,YAAa,aAClC,GAAIlB,EAASrkB,GAAQ,CACnB,IAAIomB,EAAS,IAAO9nB,KAAKC,UAAUyB,GAAO4C,QAAQ,SAAU,IAClBA,QAAQ,KAAM,OACdA,QAAQ,OAAQ,KAAO,IACjE,OAAOyiB,EAAIE,QAAQa,EAAQ,SAC7B,CACA,GAAIC,EAASrmB,GACX,OAAOqlB,EAAIE,QAAQ,GAAKvlB,EAAO,UACjC,GAAI0lB,EAAU1lB,GACZ,OAAOqlB,EAAIE,QAAQ,GAAKvlB,EAAO,WAEjC,GAAIwkB,EAAOxkB,GACT,OAAOqlB,EAAIE,QAAQ,OAAQ,OAC/B,CA/GkBe,CAAgBjB,EAAKrlB,GACrC,GAAI1D,EACF,OAAOA,EAIT,IAAIxC,EAAOD,OAAOC,KAAKkG,GACnBumB,EApCN,SAAqBC,GACnB,IAAIntB,EAAO,CAAC,EAMZ,OAJAmtB,EAAMzsB,SAAQ,SAAS0sB,EAAKC,GAC1BrtB,EAAKotB,IAAO,CACd,IAEOptB,CACT,CA4BoBstB,CAAY7sB,GAQ9B,GANIurB,EAAIM,aACN7rB,EAAOD,OAAO+sB,oBAAoB5mB,IAKhC6mB,EAAQ7mB,KACJlG,EAAKoJ,QAAQ,YAAc,GAAKpJ,EAAKoJ,QAAQ,gBAAkB,GACrE,OAAO4jB,EAAY9mB,GAIrB,GAAoB,IAAhBlG,EAAKmD,OAAc,CACrB,GAAIkpB,EAAWnmB,GAAQ,CACrB,IAAIzE,EAAOyE,EAAMzE,KAAO,KAAOyE,EAAMzE,KAAO,GAC5C,OAAO8pB,EAAIE,QAAQ,YAAchqB,EAAO,IAAK,UAC/C,CACA,GAAIwrB,EAAS/mB,GACX,OAAOqlB,EAAIE,QAAQtJ,OAAO9hB,UAAUS,SAAS5B,KAAKgH,GAAQ,UAE5D,GAAIgnB,EAAOhnB,GACT,OAAOqlB,EAAIE,QAAQvmB,KAAK7E,UAAUS,SAAS5B,KAAKgH,GAAQ,QAE1D,GAAI6mB,EAAQ7mB,GACV,OAAO8mB,EAAY9mB,EAEvB,CAEA,IA2CIinB,EA3CA/rB,EAAO,GAAIsrB,GAAQ,EAAOU,EAAS,CAAC,IAAK,MAGzC9oB,EAAQ4B,KACVwmB,GAAQ,EACRU,EAAS,CAAC,IAAK,MAIbf,EAAWnmB,MAEb9E,EAAO,cADC8E,EAAMzE,KAAO,KAAOyE,EAAMzE,KAAO,IACf,KAkB5B,OAdIwrB,EAAS/mB,KACX9E,EAAO,IAAM+gB,OAAO9hB,UAAUS,SAAS5B,KAAKgH,IAI1CgnB,EAAOhnB,KACT9E,EAAO,IAAM8D,KAAK7E,UAAUgtB,YAAYnuB,KAAKgH,IAI3C6mB,EAAQ7mB,KACV9E,EAAO,IAAM4rB,EAAY9mB,IAGP,IAAhBlG,EAAKmD,QAAkBupB,GAAyB,GAAhBxmB,EAAM/C,OAItCipB,EAAe,EACba,EAAS/mB,GACJqlB,EAAIE,QAAQtJ,OAAO9hB,UAAUS,SAAS5B,KAAKgH,GAAQ,UAEnDqlB,EAAIE,QAAQ,WAAY,YAInCF,EAAIC,KAAKhd,KAAKtI,GAIZinB,EADET,EAsCN,SAAqBnB,EAAKrlB,EAAOkmB,EAAcK,EAAazsB,GAE1D,IADA,IAAImtB,EAAS,GACJ7pB,EAAI,EAAGoO,EAAIxL,EAAM/C,OAAQG,EAAIoO,IAAKpO,EACrCP,EAAemD,EAAOoC,OAAOhF,IAC/B6pB,EAAO3e,KAAK8e,EAAe/B,EAAKrlB,EAAOkmB,EAAcK,EACjDnkB,OAAOhF,IAAI,IAEf6pB,EAAO3e,KAAK,IAShB,OANAxO,EAAKC,SAAQ,SAASC,GACfA,EAAIgkB,MAAM,UACbiJ,EAAO3e,KAAK8e,EAAe/B,EAAKrlB,EAAOkmB,EAAcK,EACjDvsB,GAAK,GAEb,IACOitB,CACT,CAtDaI,CAAYhC,EAAKrlB,EAAOkmB,EAAcK,EAAazsB,GAEnDA,EAAKqI,KAAI,SAASnI,GACzB,OAAOotB,EAAe/B,EAAKrlB,EAAOkmB,EAAcK,EAAavsB,EAAKwsB,EACpE,IAGFnB,EAAIC,KAAKgC,MA6GX,SAA8BL,EAAQ/rB,EAAMgsB,GAC1C,IACIjqB,EAASgqB,EAAOM,QAAO,SAASC,EAAMC,GAGxC,OADIA,EAAIvkB,QAAQ,OAAS,GAAGwkB,EACrBF,EAAOC,EAAI7kB,QAAQ,kBAAmB,IAAI3F,OAAS,CAC5D,GAAG,GAEH,GAAIA,EAAS,GACX,OAAOiqB,EAAO,IACG,KAAThsB,EAAc,GAAKA,EAAO,OAC3B,IACA+rB,EAAO9qB,KAAK,SACZ,IACA+qB,EAAO,GAGhB,OAAOA,EAAO,GAAKhsB,EAAO,IAAM+rB,EAAO9qB,KAAK,MAAQ,IAAM+qB,EAAO,EACnE,CA7HSS,CAAqBV,EAAQ/rB,EAAMgsB,IAxBjCA,EAAO,GAAKhsB,EAAOgsB,EAAO,EAyBrC,CAsBA,SAASJ,EAAY9mB,GACnB,MAAO,IAAM7G,MAAMgB,UAAUS,SAAS5B,KAAKgH,GAAS,GACtD,CAuBA,SAASonB,EAAe/B,EAAKrlB,EAAOkmB,EAAcK,EAAavsB,EAAKwsB,GAClE,IAAIjrB,EAAMgC,EAAKohB,EAsCf,IArCAA,EAAO9kB,OAAOiY,yBAAyB9R,EAAOhG,IAAQ,CAAEgG,MAAOA,EAAMhG,KAC5DkP,IAEL3L,EADEohB,EAAKxV,IACDkc,EAAIE,QAAQ,kBAAmB,WAE/BF,EAAIE,QAAQ,WAAY,WAG5B5G,EAAKxV,MACP5L,EAAM8nB,EAAIE,QAAQ,WAAY,YAG7B1oB,EAAe0pB,EAAavsB,KAC/BuB,EAAO,IAAMvB,EAAM,KAEhBuD,IACC8nB,EAAIC,KAAKpiB,QAAQyb,EAAK3e,OAAS,GAE/BzC,EADEinB,EAAO0B,GACHJ,EAAYT,EAAK1G,EAAK3e,MAAO,MAE7B8lB,EAAYT,EAAK1G,EAAK3e,MAAOkmB,EAAe,IAE5ChjB,QAAQ,OAAS,IAErB3F,EADEipB,EACIjpB,EAAIW,MAAM,MAAMiE,KAAI,SAASylB,GACjC,MAAO,KAAOA,CAChB,IAAGzrB,KAAK,MAAMwG,OAAO,GAEf,KAAOpF,EAAIW,MAAM,MAAMiE,KAAI,SAASylB,GACxC,MAAO,MAAQA,CACjB,IAAGzrB,KAAK,OAIZoB,EAAM8nB,EAAIE,QAAQ,aAAc,YAGhCZ,EAAYppB,GAAO,CACrB,GAAIirB,GAASxsB,EAAIgkB,MAAM,SACrB,OAAOzgB,GAEThC,EAAO+C,KAAKC,UAAU,GAAKvE,IAClBgkB,MAAM,iCACbziB,EAAOA,EAAKoH,OAAO,EAAGpH,EAAK0B,OAAS,GACpC1B,EAAO8pB,EAAIE,QAAQhqB,EAAM,UAEzBA,EAAOA,EAAKqH,QAAQ,KAAM,OACdA,QAAQ,OAAQ,KAChBA,QAAQ,WAAY,KAChCrH,EAAO8pB,EAAIE,QAAQhqB,EAAM,UAE7B,CAEA,OAAOA,EAAO,KAAOgC,CACvB,CA0BA,SAASa,EAAQypB,GACf,OAAO1pB,MAAMC,QAAQypB,EACvB,CAGA,SAASnC,EAAUtiB,GACjB,MAAsB,kBAARA,CAChB,CAGA,SAASohB,EAAOphB,GACd,OAAe,OAARA,CACT,CAQA,SAASijB,EAASjjB,GAChB,MAAsB,iBAARA,CAChB,CAGA,SAASihB,EAASjhB,GAChB,MAAsB,iBAARA,CAChB,CAQA,SAASuhB,EAAYvhB,GACnB,YAAe,IAARA,CACT,CAGA,SAAS2jB,EAASe,GAChB,OAAOrD,EAASqD,IAA8B,oBAAvBC,EAAeD,EACxC,CAGA,SAASrD,EAASrhB,GAChB,MAAsB,iBAARA,GAA4B,OAARA,CACpC,CAGA,SAAS4jB,EAAOvW,GACd,OAAOgU,EAAShU,IAA4B,kBAAtBsX,EAAetX,EACvC,CAGA,SAASoW,EAAQ1W,GACf,OAAOsU,EAAStU,KACW,mBAAtB4X,EAAe5X,IAA2BA,aAAahX,MAC9D,CAGA,SAASgtB,EAAW/iB,GAClB,MAAsB,mBAARA,CAChB,CAeA,SAAS2kB,EAAeC,GACtB,OAAOnuB,OAAOM,UAAUS,SAAS5B,KAAKgvB,EACxC,CAGA,SAASC,EAAIre,GACX,OAAOA,EAAI,GAAK,IAAMA,EAAEhP,SAAS,IAAMgP,EAAEhP,SAAS,GACpD,CArbAG,EAAQ0K,SAAW,SAAS0D,GAI1B,GAHIwb,EAAYO,KACdA,EAAetkB,EAAQC,IAAIqnB,YAAc,IAC3C/e,EAAMA,EAAI4G,eACLoV,EAAOhc,GACV,GAAI,IAAI8S,OAAO,MAAQ9S,EAAM,MAAO,KAAKrL,KAAKonB,GAAe,CAC3D,IAAIiD,EAAMvnB,EAAQunB,IAClBhD,EAAOhc,GAAO,WACZ,IAAIzG,EAAM3H,EAAQopB,OAAOhW,MAAMpT,EAASqT,WACxC4W,QAAQloB,MAAM,YAAaqM,EAAKgf,EAAKzlB,EACvC,CACF,MACEyiB,EAAOhc,GAAO,WAAY,EAG9B,OAAOgc,EAAOhc,EAChB,EAmCApO,EAAQmY,QAAUA,EAIlBA,EAAQuS,OAAS,CACf,KAAS,CAAC,EAAG,IACb,OAAW,CAAC,EAAG,IACf,UAAc,CAAC,EAAG,IAClB,QAAY,CAAC,EAAG,IAChB,MAAU,CAAC,GAAI,IACf,KAAS,CAAC,GAAI,IACd,MAAU,CAAC,GAAI,IACf,KAAS,CAAC,GAAI,IACd,KAAS,CAAC,GAAI,IACd,MAAU,CAAC,GAAI,IACf,QAAY,CAAC,GAAI,IACjB,IAAQ,CAAC,GAAI,IACb,OAAW,CAAC,GAAI,KAIlBvS,EAAQ+S,OAAS,CACf,QAAW,OACX,OAAU,SACV,QAAW,SACX,UAAa,OACb,KAAQ,OACR,OAAU,QACV,KAAQ,UAER,OAAU,OAkRZlrB,EAAQqD,QAAUA,EAKlBrD,EAAQ2qB,UAAYA,EAKpB3qB,EAAQypB,OAASA,EAKjBzpB,EAAQqtB,kBAHR,SAA2BhlB,GACzB,OAAc,MAAPA,CACT,EAMArI,EAAQsrB,SAAWA,EAKnBtrB,EAAQspB,SAAWA,EAKnBtpB,EAAQstB,SAHR,SAAkBjlB,GAChB,MAAsB,iBAARA,CAChB,EAMArI,EAAQ4pB,YAAcA,EAKtB5pB,EAAQgsB,SAAWA,EAKnBhsB,EAAQ0pB,SAAWA,EAKnB1pB,EAAQisB,OAASA,EAMjBjsB,EAAQ8rB,QAAUA,EAKlB9rB,EAAQorB,WAAaA,EAUrBprB,EAAQutB,YARR,SAAqBllB,GACnB,OAAe,OAARA,GACe,kBAARA,GACQ,iBAARA,GACQ,iBAARA,GACQ,iBAARA,QACQ,IAARA,CAChB,EAGArI,EAAQ0E,SAAW,EAAnB,MAYA,IAAI8oB,EAAS,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACxD,MAAO,MAAO,OA6C5B,SAAS1rB,EAAeqD,EAAKsoB,GAC3B,OAAO3uB,OAAOM,UAAU0C,eAAe7D,KAAKkH,EAAKsoB,EACnD,CAlCAztB,EAAQkW,IAAM,WAVd,IACMR,EACA3R,EASJkmB,QAAQ/T,IAAI,WAVRR,EAAI,IAAIzR,KACRF,EAAO,CAACmpB,EAAIxX,EAAEgY,YACNR,EAAIxX,EAAEiY,cACNT,EAAIxX,EAAEkY,eAAexsB,KAAK,KAC/B,CAACsU,EAAEmY,UAAWL,EAAO9X,EAAEoY,YAAa/pB,GAAM3C,KAAK,MAMlBpB,EAAQopB,OAAOhW,MAAMpT,EAASqT,WACpE,EAgBArT,EAAQtC,SAAW,EAAnB,MAEAsC,EAAQ6qB,QAAU,SAASkD,EAAQxS,GAEjC,IAAKA,IAAQmO,EAASnO,GAAM,OAAOwS,EAInC,IAFA,IAAIhvB,EAAOD,OAAOC,KAAKwc,GACnBlZ,EAAItD,EAAKmD,OACNG,KACL0rB,EAAOhvB,EAAKsD,IAAMkZ,EAAIxc,EAAKsD,IAE7B,OAAO0rB,CACT,C,UCtjBA,IAAIC,EAAkB,UAOtBjuB,EAAOC,QAUP,SAAoB6iB,GAClB,IAOIoL,EAPAzrB,EAAM,GAAKqgB,EACXI,EAAQ+K,EAAgB3L,KAAK7f,GAEjC,IAAKygB,EACH,OAAOzgB,EAIT,IAAI0rB,EAAO,GACPrb,EAAQ,EACRsb,EAAY,EAEhB,IAAKtb,EAAQoQ,EAAMpQ,MAAOA,EAAQrQ,EAAIN,OAAQ2Q,IAAS,CACrD,OAAQrQ,EAAII,WAAWiQ,IACrB,KAAK,GACHob,EAAS,SACT,MACF,KAAK,GACHA,EAAS,QACT,MACF,KAAK,GACHA,EAAS,QACT,MACF,KAAK,GACHA,EAAS,OACT,MACF,KAAK,GACHA,EAAS,OACT,MACF,QACE,SAGAE,IAActb,IAChBqb,GAAQ1rB,EAAIuF,UAAUomB,EAAWtb,IAGnCsb,EAAYtb,EAAQ,EACpBqb,GAAQD,CACV,CAEA,OAAOE,IAActb,EACjBqb,EAAO1rB,EAAIuF,UAAUomB,EAAWtb,GAChCqb,CACN,C,mBC7EC,SAAUE,GAKP,MAAMC,EAAW,uBACXC,EAAc,CAChBC,UAAW,IAAIrN,OAAO,IAAImN,OAAcA,OAAcA,OAAcA,KAAa,KACjFG,WAAY,IAAItN,OAAO,IAAImN,OAAcA,OAAcA,KAAa,KACpEI,SAAU,IAAIvN,OAAO,IAAImN,OAAcA,KAAa,KACpDK,UAAW,IAAIxN,OAAO,IAAImN,KAAa,MAIrCM,EAAa,IAAIzN,OAAO,YAAa,KACrC0N,EAAW,IAAI1N,OAAO,gBAAiB,KAEvC2N,EAAY,gBAMZC,EAAW,oBACXC,EAAc,CAChBF,UAAW,IAAI3N,OAAO2N,EAAW,KACjC,OAAU,IAAI3N,OAAO,UAAU4N,wBAA+BD,OAAgB,KAC9EG,uBAAwB,IAAI9N,OAAO,WAAWmN,OAAcA,OAAcA,OAAcA,KAAYQ,QAAiB,KACrHI,aAAc,IAAI/N,OAAO,QAAQ4N,eAAsBA,OAAcT,OAAcA,OAAcA,OAAcA,KAAYQ,OAAgB,MAI/I,SAASK,EAAYrM,EAAQD,GAEzB,GAAIC,EAAO1a,QAAQ,QAAU0a,EAAOsM,YAAY,MAC5C,OAAO,KAGX,IAGIC,EAAaC,EAHbC,EAAa,EACbC,GAAa,EACbC,GAAU3M,EAAOI,MAAM8L,EAAYF,YAAc,IAAI,GAUzD,IANIW,IACAA,EAASA,EAAOznB,UAAU,GAC1B8a,EAASA,EAAOhb,QAAQ,OAAQ,MAI5B0nB,EAAY1M,EAAO1a,QAAQ,IAAKonB,EAAY,KAAO,GACvDD,IAaJ,GAT4B,OAAxBzM,EAAOjb,OAAO,EAAG,IACjB0nB,IAGyB,OAAzBzM,EAAOjb,QAAQ,EAAG,IAClB0nB,IAIAA,EAAa1M,EACb,OAAO,KAMX,IAFAyM,EAAmBzM,EAAQ0M,EAC3BF,EAAc,IACPC,KACHD,GAAe,KA2BnB,MAnBkB,OAJlBvM,EAASA,EAAOhb,QAAQ,KAAMunB,IAInB,KACPvM,EAASA,EAAOvf,MAAM,IAGQ,MAA9Buf,EAAOA,EAAO3gB,OAAS,KACvB2gB,EAASA,EAAOvf,MAAM,GAAI,IAcvB,CACHsf,MAZJA,EAAQ,WACJ,MAAM6M,EAAM5M,EAAO1f,MAAM,KACnBusB,EAAU,GAEhB,IAAK,IAAIrtB,EAAI,EAAGA,EAAIotB,EAAIvtB,OAAQG,IAC5BqtB,EAAQniB,KAAKmD,SAAS+e,EAAIptB,GAAI,KAGlC,OAAOqtB,CACV,CATO,GAaJF,OAAQA,EAEhB,CAGA,SAASG,EAAW7M,EAAO8M,EAAQC,EAAUC,GACzC,GAAIhN,EAAM5gB,SAAW0tB,EAAO1tB,OACxB,MAAM,IAAI9D,MAAM,gEAGpB,IACIoR,EADAmU,EAAO,EAGX,KAAOmM,EAAW,GAAG,CAMjB,GALAtgB,EAAQqgB,EAAWC,EACftgB,EAAQ,IACRA,EAAQ,GAGRsT,EAAMa,IAASnU,GAAUogB,EAAOjM,IAASnU,EACzC,OAAO,EAGXsgB,GAAYD,EACZlM,GAAQ,CACZ,CAEA,OAAO,CACX,CAEA,SAASoM,EAAclN,GAEnB,GAAI+L,EAAS7rB,KAAK8f,GACd,OAAOnS,SAASmS,EAAQ,IAK5B,GAAkB,MAAdA,EAAO,KAAe5M,MAAMvF,SAASmS,EAAO,GAAI,KAAM,CAC1D,GAAI8L,EAAW5rB,KAAK8f,GAChB,OAAOnS,SAASmS,EAAQ,GAExB,MAAM,IAAIzkB,MAAM,wBAAwBykB,aAC5C,CAEA,OAAOnS,SAASmS,EAAQ,GAC5B,CAEA,SAASmN,EAASrM,EAAMzhB,GACpB,KAAOyhB,EAAKzhB,OAASA,GACjByhB,EAAO,IAAIA,IAGf,OAAOA,CACX,CAEA,MAAMsM,EAAS,CAAC,EAGhBA,EAAOC,KAAO,WAIV,SAASA,EAAMC,GACX,GAAsB,IAAlBA,EAAOjuB,OACP,MAAM,IAAI9D,MAAM,wCAGpB,IAAIiE,EAAG+tB,EAEP,IAAK/tB,EAAI,EAAGA,EAAI8tB,EAAOjuB,OAAQG,IAE3B,GADA+tB,EAAQD,EAAO9tB,KACR,GAAK+tB,GAASA,GAAS,KAC1B,MAAM,IAAIhyB,MAAM,2CAIxBF,KAAKiyB,OAASA,CAClB,CAkIA,OA9HAD,EAAK9wB,UAAUixB,cAAgB,CAC3BC,YAAa,CAAC,CAAC,IAAIJ,EAAK,CAAC,EAAG,EAAG,EAAG,IAAK,IACvCK,UAAW,CAAC,CAAC,IAAIL,EAAK,CAAC,IAAK,IAAK,IAAK,MAAO,KAE7CM,UAAW,CAAC,CAAC,IAAIN,EAAK,CAAC,IAAK,EAAG,EAAG,IAAK,IAEvCO,UAAW,CAAC,CAAC,IAAIP,EAAK,CAAC,IAAK,IAAK,EAAG,IAAK,KAEzCQ,SAAU,CAAC,CAAC,IAAIR,EAAK,CAAC,IAAK,EAAG,EAAG,IAAK,IAEtCS,gBAAiB,CAAC,CAAC,IAAIT,EAAK,CAAC,IAAK,GAAI,EAAG,IAAK,KAE9C,QAAW,CACP,CAAC,IAAIA,EAAK,CAAC,GAAI,EAAG,EAAG,IAAK,GAC1B,CAAC,IAAIA,EAAK,CAAC,IAAK,GAAI,EAAG,IAAK,IAC5B,CAAC,IAAIA,EAAK,CAAC,IAAK,IAAK,EAAG,IAAK,KAGjCU,SAAU,CACN,CAAC,IAAIV,EAAK,CAAC,IAAK,EAAG,EAAG,IAAK,IAC3B,CAAC,IAAIA,EAAK,CAAC,IAAK,EAAG,EAAG,IAAK,IAC3B,CAAC,IAAIA,EAAK,CAAC,IAAK,GAAI,GAAI,IAAK,IAC7B,CAAC,IAAIA,EAAK,CAAC,IAAK,GAAI,EAAG,IAAK,IAC5B,CAAC,IAAIA,EAAK,CAAC,IAAK,GAAI,IAAK,IAAK,IAC9B,CAAC,IAAIA,EAAK,CAAC,IAAK,EAAG,IAAK,IAAK,IAC7B,CAAC,IAAIA,EAAK,CAAC,IAAK,EAAG,EAAG,IAAK,IAG/BW,MAAO,CACH,CAAC,IAAIX,EAAK,CAAC,IAAK,IAAK,GAAI,IAAK,IAC9B,CAAC,IAAIA,EAAK,CAAC,IAAK,GAAI,IAAK,IAAK,KAGlCY,IAAK,CACD,CAAC,IAAIZ,EAAK,CAAC,IAAK,GAAI,IAAK,IAAK,MAKtCA,EAAK9wB,UAAU2xB,KAAO,WAClB,MAAO,MACX,EAGAb,EAAK9wB,UAAU6jB,MAAQ,SAAU3G,EAAO0U,GACpC,IAAIvB,EAOJ,QANkBhqB,IAAdurB,IACAvB,EAAMnT,EACNA,EAAQmT,EAAI,GACZuB,EAAYvB,EAAI,IAGC,SAAjBnT,EAAMyU,OACN,MAAM,IAAI3yB,MAAM,uDAGpB,OAAOuxB,EAAUzxB,KAAKiyB,OAAQ7T,EAAM6T,OAAQ,EAAGa,EACnD,EAKAd,EAAK9wB,UAAU6xB,2BAA6B,WACxC,IAAIC,EAAO,EAEPC,GAAO,EAEX,MAAMC,EAAY,CACd,EAAG,EACH,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,GAET,IAAI/uB,EAAG+tB,EAAOiB,EAEd,IAAKhvB,EAAI,EAAGA,GAAK,EAAGA,GAAK,EAAG,CAExB,GADA+tB,EAAQlyB,KAAKiyB,OAAO9tB,KAChB+tB,KAASgB,GAYT,OAAO,KAVP,GADAC,EAAQD,EAAUhB,GACde,GAAkB,IAAVE,EACR,OAAO,KAGG,IAAVA,IACAF,GAAO,GAGXD,GAAQG,CAIhB,CAEA,OAAO,GAAKH,CAChB,EAGAhB,EAAK9wB,UAAUkyB,MAAQ,WACnB,OAAOrB,EAAOsB,YAAYrzB,KAAMA,KAAKmyB,cACzC,EAGAH,EAAK9wB,UAAUoyB,YAAc,WACzB,OAAOtzB,KAAKiyB,OAAO7sB,MAAM,EAC7B,EAGA4sB,EAAK9wB,UAAUqyB,oBAAsB,WACjC,OAAOxB,EAAOyB,KAAKC,MAAM,UAAUzzB,KAAK2B,aAC5C,EAGAqwB,EAAK9wB,UAAUwyB,mBAAqB,WAChC,OAAO1zB,KAAK2B,UAChB,EAGAqwB,EAAK9wB,UAAUS,SAAW,WACtB,OAAO3B,KAAKiyB,OAAO/uB,KAAK,IAC5B,EAEO8uB,CACV,CAtJa,GAyJdD,EAAOC,KAAK2B,yBAA2B,SAAUhP,GAE7C,IACI,MAAMqO,EAAOhzB,KAAK4zB,UAAUjP,GACtBkP,EAAoBb,EAAK,GAAGM,cAC5BQ,EAAmB9zB,KAAK+zB,2BAA2Bf,EAAK,IAAIM,cAC5DrB,EAAS,GACf,IAAI9tB,EAAI,EACR,KAAOA,EAAI,GAEP8tB,EAAO5iB,KAAKmD,SAASqhB,EAAkB1vB,GAAI,IAA0C,IAApCqO,SAASshB,EAAiB3vB,GAAI,KAC/EA,IAGJ,OAAO,IAAInE,KAAKiyB,EACpB,CAAE,MAAO/a,GACL,MAAM,IAAIhX,MAAM,qDACpB,CACJ,EAGA6xB,EAAOC,KAAKgC,OAAS,SAAUrP,GAC3B,OAA+B,OAAxB3kB,KAAKi0B,OAAOtP,EACvB,EAGAoN,EAAOC,KAAKkC,QAAU,SAAUvP,GAC5B,IAEI,OADA,IAAI3kB,KAAKA,KAAKi0B,OAAOtP,KACd,CACX,CAAE,MAAOzN,GACL,OAAO,CACX,CACJ,EAGA6a,EAAOC,KAAKmC,YAAc,SAAUxP,GAChC,IAEI,OADA3kB,KAAK4zB,UAAUjP,IACR,CACX,CAAE,MAAOzN,GACL,OAAO,CACX,CACJ,EAGA6a,EAAOC,KAAKoC,uBAAyB,SAAUzP,GAC3C,SAAIoN,EAAOC,KAAKkC,QAAQvP,KAAWA,EAAOI,MAAM,qCAKpD,EAGAgN,EAAOC,KAAKqC,uBAAyB,SAAU1P,GAC3C,IAAIqO,EAAM7uB,EAAG0vB,EAAmB5B,EAAQ6B,EAExC,IAMI,IALAd,EAAOhzB,KAAK4zB,UAAUjP,GACtBkP,EAAoBb,EAAK,GAAGM,cAC5BQ,EAAmB9zB,KAAK+zB,2BAA2Bf,EAAK,IAAIM,cAC5DrB,EAAS,GACT9tB,EAAI,EACGA,EAAI,GAEP8tB,EAAO5iB,KAAKmD,SAASqhB,EAAkB1vB,GAAI,IAAMqO,SAASshB,EAAiB3vB,GAAI,KAC/EA,IAGJ,OAAO,IAAInE,KAAKiyB,EACpB,CAAE,MAAO/a,GACL,MAAM,IAAIhX,MAAM,qDACpB,CACJ,EAIA6xB,EAAOC,KAAKyB,MAAQ,SAAU9O,GAC1B,MAAMD,EAAQ1kB,KAAKi0B,OAAOtP,GAE1B,GAAc,OAAVD,EACA,MAAM,IAAIxkB,MAAM,wDAGpB,OAAO,IAAIF,KAAK0kB,EACpB,EAGAqN,EAAOC,KAAK4B,UAAY,SAAUjP,GAC9B,IAAII,EAEJ,GAAKA,EAAQJ,EAAOI,MAAM,iBAAmB,CACzC,MAAMuP,EAAa9hB,SAASuS,EAAM,IAClC,GAAIuP,GAAc,GAAKA,GAAc,GAAI,CACrC,MAAMC,EAAS,CAACv0B,KAAKyzB,MAAM1O,EAAM,IAAKuP,GAMtC,OALA1zB,OAAOoP,eAAeukB,EAAQ,WAAY,CACtCxtB,MAAO,WACH,OAAO/G,KAAKkD,KAAK,IACrB,IAEGqxB,CACX,CACJ,CAEA,MAAM,IAAIr0B,MAAM,0DACpB,EAKA6xB,EAAOC,KAAKiC,OAAS,SAAUtP,GAC3B,IAAII,EAAOU,EAAM1e,EAGjB,GAAKge,EAAQJ,EAAOI,MAAMqL,EAAYC,WAClC,OAAO,WACH,MAAMkB,EAAMxM,EAAM3f,MAAM,EAAG,GACrBosB,EAAU,GAEhB,IAAK,IAAIrtB,EAAI,EAAGA,EAAIotB,EAAIvtB,OAAQG,IAC5BshB,EAAO8L,EAAIptB,GACXqtB,EAAQniB,KAAKwiB,EAAapM,IAG9B,OAAO+L,CACV,CAVM,GAWJ,GAAKzM,EAAQJ,EAAOI,MAAMqL,EAAYI,WAAa,CAEtD,GADAzpB,EAAQ8qB,EAAa9M,EAAM,IACvBhe,EAAQ,YAAcA,EAAQ,EAC9B,MAAM,IAAI7G,MAAM,yCAGpB,OAAQ,WACJ,MAAMsxB,EAAU,GAChB,IAAIlgB,EAEJ,IAAKA,EAAQ,EAAGA,GAAS,GAAIA,GAAS,EAClCkgB,EAAQniB,KAAMtI,GAASuK,EAAS,KAGpC,OAAOkgB,CACV,CATM,GASDgD,SACV,CAAO,OAAKzP,EAAQJ,EAAOI,MAAMqL,EAAYG,WAClC,WACH,MAAMgB,EAAMxM,EAAM3f,MAAM,EAAG,GACrBosB,EAAU,GAGhB,GADAzqB,EAAQ8qB,EAAaN,EAAI,IACrBxqB,EAAQ,UAAYA,EAAQ,EAC5B,MAAM,IAAI7G,MAAM,yCAQpB,OALAsxB,EAAQniB,KAAKwiB,EAAaN,EAAI,KAC9BC,EAAQniB,KAAMtI,GAAS,GAAM,KAC7ByqB,EAAQniB,KAAMtI,GAAU,EAAK,KAC7ByqB,EAAQniB,KAAqB,IAAftI,GAEPyqB,CACV,CAfM,IAgBCzM,EAAQJ,EAAOI,MAAMqL,EAAYE,aAClC,WACH,MAAMiB,EAAMxM,EAAM3f,MAAM,EAAG,GACrBosB,EAAU,GAGhB,GADAzqB,EAAQ8qB,EAAaN,EAAI,IACrBxqB,EAAQ,OAAUA,EAAQ,EAC1B,MAAM,IAAI7G,MAAM,yCAQpB,OALAsxB,EAAQniB,KAAKwiB,EAAaN,EAAI,KAC9BC,EAAQniB,KAAKwiB,EAAaN,EAAI,KAC9BC,EAAQniB,KAAMtI,GAAS,EAAK,KAC5ByqB,EAAQniB,KAAoB,IAAdtI,GAEPyqB,CACV,CAfM,GAiBA,IAEf,EAGAO,EAAOC,KAAK+B,2BAA6B,SAAUU,GAE/C,IADAA,EAASjiB,SAASiiB,IACL,GAAKA,EAAS,GACvB,MAAM,IAAIv0B,MAAM,sCAGpB,MAAM+xB,EAAS,CAAC,EAAG,EAAG,EAAG,GACzB,IAAI7tB,EAAI,EACR,MAAMswB,EAAmBpnB,KAAKC,MAAMknB,EAAS,GAE7C,KAAOrwB,EAAIswB,GACPzC,EAAO7tB,GAAK,IACZA,IAOJ,OAJIswB,EAAmB,IACnBzC,EAAOyC,GAAoBpnB,KAAKsK,IAAI,EAAG6c,EAAS,GAAK,GAAK,EAAKA,EAAS,GAGrE,IAAIz0B,KAAKiyB,EACpB,EAGAF,EAAOyB,KAAO,WAIV,SAASA,EAAM9O,EAAO4M,GAClB,IAAIntB,EAAGshB,EAEP,GAAqB,KAAjBf,EAAM1gB,OAEN,IADAhE,KAAK0kB,MAAQ,GACRvgB,EAAI,EAAGA,GAAK,GAAIA,GAAK,EACtBnE,KAAK0kB,MAAMrV,KAAMqV,EAAMvgB,IAAM,EAAKugB,EAAMvgB,EAAI,QAE7C,IAAqB,IAAjBugB,EAAM1gB,OAGb,MAAM,IAAI9D,MAAM,6CAFhBF,KAAK0kB,MAAQA,CAGjB,CAEA,IAAKvgB,EAAI,EAAGA,EAAInE,KAAK0kB,MAAM1gB,OAAQG,IAE/B,GADAshB,EAAOzlB,KAAK0kB,MAAMvgB,KACX,GAAKshB,GAAQA,GAAQ,OACxB,MAAM,IAAIvlB,MAAM,2CAIpBoxB,IACAtxB,KAAKsxB,OAASA,EAEtB,CAmOA,OAhOAkC,EAAKtyB,UAAUixB,cAAgB,CAE3BC,YAAa,CAAC,IAAIoB,EAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,KAClDjB,UAAW,CAAC,IAAIiB,EAAK,CAAC,MAAQ,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IACrDlB,UAAW,CAAC,IAAIkB,EAAK,CAAC,MAAQ,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,GACrDhB,SAAU,CAAC,IAAIgB,EAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,KAC/CmB,YAAa,CAAC,IAAInB,EAAK,CAAC,MAAQ,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,GACvDoB,WAAY,CAAC,IAAIpB,EAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,MAAQ,EAAG,IAAK,IAEtDqB,QAAS,CAAC,IAAIrB,EAAK,CAAC,IAAO,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAElDsB,QAAS,CAAC,IAAItB,EAAK,CAAC,EAAG,EAAG,EAAG,EAAG,MAAQ,EAAG,EAAG,IAAK,IAEnDuB,QAAS,CAAC,IAAIvB,EAAK,CAAC,IAAM,MAAQ,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAEtD,OAAQ,CAAC,IAAIA,EAAK,CAAC,KAAQ,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAElDwB,OAAQ,CAAC,IAAIxB,EAAK,CAAC,KAAQ,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAElDyB,aAAc,CAAC,IAAIzB,EAAK,CAAC,KAAQ,EAAK,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAE1DZ,IAAK,CAAC,IAAIY,EAAK,CAAC,KAAQ,EAAK,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IACjD0B,QAAS,CACL,CAAC,IAAI1B,EAAK,CAAC,KAAQ,EAAK,IAAO,EAAG,EAAG,EAAG,EAAG,IAAK,IAChD,CAAC,IAAIA,EAAK,CAAC,KAAQ,GAAM,MAAQ,EAAG,EAAG,EAAG,EAAG,IAAK,KAEtD2B,WAAY,CAAC,IAAI3B,EAAK,CAAC,KAAQ,GAAM,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IACzD4B,QAAS,CAAC,IAAI5B,EAAK,CAAC,KAAQ,GAAM,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IACtD6B,gCAAiC,CAAC,IAAI7B,EAAK,CAAC,KAAQ,GAAM,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAC9Ed,SAAU,CAEN,CAAC,IAAIc,EAAK,CAAC,KAAQ,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAE1C,CAAC,IAAIA,EAAK,CAAC,KAAQ,KAAO,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,MAKtDA,EAAKtyB,UAAUo0B,oBAAsB,WACjC,MAAwB,eAAjBt1B,KAAKozB,OAChB,EAGAI,EAAKtyB,UAAU2xB,KAAO,WAClB,MAAO,MACX,EAGAW,EAAKtyB,UAAU6jB,MAAQ,SAAU3G,EAAO0U,GACpC,IAAIvB,EAQJ,QANkBhqB,IAAdurB,IACAvB,EAAMnT,EACNA,EAAQmT,EAAI,GACZuB,EAAYvB,EAAI,IAGC,SAAjBnT,EAAMyU,OACN,MAAM,IAAI3yB,MAAM,uDAGpB,OAAOuxB,EAAUzxB,KAAK0kB,MAAOtG,EAAMsG,MAAO,GAAIoO,EAClD,EAKAU,EAAKtyB,UAAU6xB,2BAA6B,WACxC,IAAIC,EAAO,EAEPC,GAAO,EAEX,MAAMC,EAAY,CACd,EAAG,GACH,MAAO,GACP,MAAO,GACP,MAAO,GACP,MAAO,GACP,MAAO,GACP,MAAO,GACP,MAAO,EACP,MAAO,EACP,MAAO,EACP,MAAO,EACP,MAAO,EACP,MAAO,EACP,MAAO,EACP,MAAO,EACP,MAAO,EACP,MAAO,GAEX,IAAIzN,EAAM0N,EAEV,IAAK,IAAIhvB,EAAI,EAAGA,GAAK,EAAGA,GAAK,EAAG,CAE5B,GADAshB,EAAOzlB,KAAK0kB,MAAMvgB,KACdshB,KAAQyN,GAYR,OAAO,KAVP,GADAC,EAAQD,EAAUzN,GACdwN,GAAkB,IAAVE,EACR,OAAO,KAGG,KAAVA,IACAF,GAAO,GAGXD,GAAQG,CAIhB,CAEA,OAAO,IAAMH,CACjB,EAIAQ,EAAKtyB,UAAUkyB,MAAQ,WACnB,OAAOrB,EAAOsB,YAAYrzB,KAAMA,KAAKmyB,cACzC,EAGAqB,EAAKtyB,UAAUoyB,YAAc,WACzB,IAAI7N,EACJ,MAAMnJ,EAAQ,GACRiV,EAAMvxB,KAAK0kB,MACjB,IAAK,IAAIvgB,EAAI,EAAGA,EAAIotB,EAAIvtB,OAAQG,IAC5BshB,EAAO8L,EAAIptB,GACXmY,EAAMjN,KAAKoW,GAAQ,GACnBnJ,EAAMjN,KAAY,IAAPoW,GAGf,OAAOnJ,CACX,EAIAkX,EAAKtyB,UAAUq0B,oBAAsB,WACjC,MAAMC,EAAQ,WACV,MAAMhE,EAAU,GAChB,IAAK,IAAIrtB,EAAI,EAAGA,EAAInE,KAAK0kB,MAAM1gB,OAAQG,IACnCqtB,EAAQniB,KAAKyiB,EAAQ9xB,KAAK0kB,MAAMvgB,GAAGxC,SAAS,IAAK,IAGrD,OAAO6vB,CACV,EAAEzxB,KAAKC,MAAOkD,KAAK,KAEpB,IAAIuyB,EAAS,GAMb,OAJIz1B,KAAKsxB,SACLmE,EAAS,IAAIz1B,KAAKsxB,UAGfkE,EAAOC,CAClB,EAIAjC,EAAKtyB,UAAUw0B,cAAgB,WAC3B,IAAK11B,KAAKs1B,sBACN,MAAM,IAAIp1B,MAAM,4DAGpB,MAAMqxB,EAAMvxB,KAAK0kB,MAAMtf,OAAO,GACxBuwB,EAAOpE,EAAI,GACXqE,EAAMrE,EAAI,GAEhB,OAAO,IAAIQ,EAAOC,KAAK,CAAC2D,GAAQ,EAAU,IAAPA,EAAaC,GAAO,EAAS,IAANA,GAC9D,EAMApC,EAAKtyB,UAAUwyB,mBAAqB,WAChC,MAAM8B,EAAQ,WACV,MAAMhE,EAAU,GAEhB,IAAK,IAAIrtB,EAAI,EAAGA,EAAInE,KAAK0kB,MAAM1gB,OAAQG,IACnCqtB,EAAQniB,KAAKrP,KAAK0kB,MAAMvgB,GAAGxC,SAAS,KAGxC,OAAO6vB,CACV,EAAEzxB,KAAKC,MAAOkD,KAAK,KAEpB,IAAIuyB,EAAS,GAMb,OAJIz1B,KAAKsxB,SACLmE,EAAS,IAAIz1B,KAAKsxB,UAGfkE,EAAOC,CAClB,EAKAjC,EAAKtyB,UAAU20B,gBAAkB,WAC7B,MAAMC,EAAQ,uBACRnR,EAAS3kB,KAAK0zB,qBACpB,IAEI3O,EAFAgR,EAAiB,EACjBC,GAAmB,EAGvB,KAAQjR,EAAQ+Q,EAAM3R,KAAKQ,IACnBI,EAAM,GAAG/gB,OAASgyB,IAClBD,EAAiBhR,EAAMpQ,MACvBqhB,EAAkBjR,EAAM,GAAG/gB,QAInC,OAAIgyB,EAAkB,EACXrR,EAGJ,GAAGA,EAAO9a,UAAU,EAAGksB,OAAoBpR,EAAO9a,UAAUksB,EAAiBC,IACxF,EAKAxC,EAAKtyB,UAAUS,SAAW,WACtB,OAAO3B,KAAK61B,iBAChB,EAEOrC,CAEV,CAjQa,GAoQdzB,EAAOyB,KAAKG,yBAA2B,SAAUhP,GAC7C,IACI,MAAMqO,EAAOhzB,KAAK4zB,UAAUjP,GACtBkP,EAAoBb,EAAK,GAAGM,cAC5BQ,EAAmB9zB,KAAK+zB,2BAA2Bf,EAAK,IAAIM,cAC5DrB,EAAS,GACf,IAAI9tB,EAAI,EACR,KAAOA,EAAI,IAEP8tB,EAAO5iB,KAAKmD,SAASqhB,EAAkB1vB,GAAI,IAA0C,IAApCqO,SAASshB,EAAiB3vB,GAAI,KAC/EA,IAGJ,OAAO,IAAInE,KAAKiyB,EACpB,CAAE,MAAO/a,GACL,MAAM,IAAIhX,MAAM,uDAAuDgX,KAC3E,CACJ,EAGA6a,EAAOyB,KAAKyC,OAAS,SAAUtR,GAC3B,OAA+B,OAAxB3kB,KAAKi0B,OAAOtP,EACvB,EAGAoN,EAAOyB,KAAKU,QAAU,SAAUvP,GAI5B,GAAsB,iBAAXA,IAAgD,IAAzBA,EAAO1a,QAAQ,KAC7C,OAAO,EAGX,IACI,MAAMurB,EAAOx1B,KAAKi0B,OAAOtP,GAEzB,OADA,IAAI3kB,KAAKw1B,EAAK9Q,MAAO8Q,EAAKlE,SACnB,CACX,CAAE,MAAOpa,GACL,OAAO,CACX,CACJ,EAGA6a,EAAOyB,KAAKW,YAAc,SAAUxP,GAGhC,GAAsB,iBAAXA,IAAgD,IAAzBA,EAAO1a,QAAQ,KAC7C,OAAO,EAGX,IAEI,OADAjK,KAAK4zB,UAAUjP,IACR,CACX,CAAE,MAAOzN,GACL,OAAO,CACX,CACJ,EAGA6a,EAAOyB,KAAKa,uBAAyB,SAAU1P,GAC3C,IAAIqO,EAAM7uB,EAAG0vB,EAAmB5B,EAAQ6B,EAExC,IAMI,IALAd,EAAOhzB,KAAK4zB,UAAUjP,GACtBkP,EAAoBb,EAAK,GAAGM,cAC5BQ,EAAmB9zB,KAAK+zB,2BAA2Bf,EAAK,IAAIM,cAC5DrB,EAAS,GACT9tB,EAAI,EACGA,EAAI,IAEP8tB,EAAO5iB,KAAKmD,SAASqhB,EAAkB1vB,GAAI,IAAMqO,SAASshB,EAAiB3vB,GAAI,KAC/EA,IAGJ,OAAO,IAAInE,KAAKiyB,EACpB,CAAE,MAAO/a,GACL,MAAM,IAAIhX,MAAM,uDAAuDgX,KAC3E,CACJ,EAIA6a,EAAOyB,KAAKC,MAAQ,SAAU9O,GAC1B,MAAM6Q,EAAOx1B,KAAKi0B,OAAOtP,GAEzB,GAAmB,OAAf6Q,EAAK9Q,MACL,MAAM,IAAIxkB,MAAM,wDAGpB,OAAO,IAAIF,KAAKw1B,EAAK9Q,MAAO8Q,EAAKlE,OACrC,EAEAS,EAAOyB,KAAKI,UAAY,SAAUjP,GAC9B,IAAI2P,EAAYvP,EAAOwP,EAEvB,IAAKxP,EAAQJ,EAAOI,MAAM,oBACtBuP,EAAa9hB,SAASuS,EAAM,IACxBuP,GAAc,GAAKA,GAAc,KAOjC,OANAC,EAAS,CAACv0B,KAAKyzB,MAAM1O,EAAM,IAAKuP,GAChC1zB,OAAOoP,eAAeukB,EAAQ,WAAY,CACtCxtB,MAAO,WACH,OAAO/G,KAAKkD,KAAK,IACrB,IAEGqxB,EAIf,MAAM,IAAIr0B,MAAM,0DACpB,EAGA6xB,EAAOyB,KAAKS,OAAS,SAAUtP,GAC3B,IAAI6Q,EAAMrxB,EAAG4gB,EAAOmN,EAAOD,EAAQX,EAEnC,GAAKvM,EAAQJ,EAAOI,MAAM8L,EAAYC,wBAClC,OAAO9wB,KAAKi0B,OAAO,UAAUlP,EAAM,MAEvC,GAAI8L,EAAYqF,OAAOrxB,KAAK8f,GACxB,OAAOqM,EAAWrM,EAAQ,GAE9B,IAAKI,EAAQJ,EAAOI,MAAM8L,EAAYE,iBAClCO,EAASvM,EAAM,IAAM,GACrByQ,EAAOzQ,EAAM,GACRA,EAAM,GAAGjb,SAAS,QACnB0rB,EAAOA,EAAKpwB,MAAM,GAAI,IAE1BowB,EAAOxE,EAAWwE,EAAOlE,EAAQ,GAC7BkE,EAAK9Q,OAAO,CAOZ,IANAuN,EAAS,CACLzf,SAASuS,EAAM,IACfvS,SAASuS,EAAM,IACfvS,SAASuS,EAAM,IACfvS,SAASuS,EAAM,KAEd5gB,EAAI,EAAGA,EAAI8tB,EAAOjuB,OAAQG,IAE3B,GADA+tB,EAAQD,EAAO9tB,KACR,GAAK+tB,GAASA,GAAS,KAC1B,OAAO,KAMf,OAFAsD,EAAK9Q,MAAMrV,KAAK4iB,EAAO,IAAM,EAAIA,EAAO,IACxCuD,EAAK9Q,MAAMrV,KAAK4iB,EAAO,IAAM,EAAIA,EAAO,IACjC,CACHvN,MAAO8Q,EAAK9Q,MACZ4M,OAAQkE,EAAKlE,OAErB,CAGJ,OAAO,IACX,EAGAS,EAAOyB,KAAKO,2BAA6B,SAAUU,GAE/C,IADAA,EAASjiB,SAASiiB,IACL,GAAKA,EAAS,IACvB,MAAM,IAAIv0B,MAAM,sCAGpB,MAAM+xB,EAAS,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAC7D,IAAI7tB,EAAI,EACR,MAAMswB,EAAmBpnB,KAAKC,MAAMknB,EAAS,GAE7C,KAAOrwB,EAAIswB,GACPzC,EAAO7tB,GAAK,IACZA,IAOJ,OAJIswB,EAAmB,KACnBzC,EAAOyC,GAAoBpnB,KAAKsK,IAAI,EAAG6c,EAAS,GAAK,GAAK,EAAKA,EAAS,GAGrE,IAAIz0B,KAAKiyB,EACpB,EAGAF,EAAOoE,cAAgB,SAAU7Z,GAC7B,MAAMtY,EAASsY,EAAMtY,OAErB,GAAe,IAAXA,EACA,OAAO,IAAI+tB,EAAOC,KAAK1V,GACpB,GAAe,KAAXtY,EACP,OAAO,IAAI+tB,EAAOyB,KAAKlX,GAEvB,MAAM,IAAIpc,MAAM,+DAExB,EAGA6xB,EAAOmC,QAAU,SAAUvP,GACvB,OAAOoN,EAAOyB,KAAKU,QAAQvP,IAAWoN,EAAOC,KAAKkC,QAAQvP,EAC9D,EAGAoN,EAAOoC,YAAc,SAAUxP,GAC3B,OAAOoN,EAAOyB,KAAKW,YAAYxP,IAAWoN,EAAOC,KAAKmC,YAAYxP,EACtE,EAKAoN,EAAO0B,MAAQ,SAAU9O,GACrB,GAAIoN,EAAOyB,KAAKU,QAAQvP,GACpB,OAAOoN,EAAOyB,KAAKC,MAAM9O,GACtB,GAAIoN,EAAOC,KAAKkC,QAAQvP,GAC3B,OAAOoN,EAAOC,KAAKyB,MAAM9O,GAEzB,MAAM,IAAIzkB,MAAM,uDAExB,EAIA6xB,EAAO6B,UAAY,SAAUjP,GACzB,IACI,OAAOoN,EAAOyB,KAAKI,UAAUjP,EACjC,CAAE,MAAOzN,GACL,IACI,OAAO6a,EAAOC,KAAK4B,UAAUjP,EACjC,CAAE,MAAOyR,GACL,MAAM,IAAIl2B,MAAM,4DACpB,CACJ,CACJ,EAGA6xB,EAAOpqB,QAAU,SAAUgd,GACvB,MAAM6Q,EAAOx1B,KAAKyzB,MAAM9O,GAExB,MAAoB,SAAhB6Q,EAAK3C,QAAqB2C,EAAKF,sBACxBE,EAAKE,gBAELF,CAEf,EAKAzD,EAAOsB,YAAc,SAAUgD,EAASC,EAAWC,GAC/C,IAAIpyB,EAAGqyB,EAAWC,EAAcC,EAMhC,IAAKF,KAJDD,UACAA,EAAc,WAGAD,EACd,GAAI11B,OAAOM,UAAU0C,eAAe7D,KAAKu2B,EAAWE,GAOhD,IANAC,EAAeH,EAAUE,IAErBC,EAAa,IAAQA,EAAa,aAAcvxB,QAChDuxB,EAAe,CAACA,IAGftyB,EAAI,EAAGA,EAAIsyB,EAAazyB,OAAQG,IAEjC,GADAuyB,EAASD,EAAatyB,GAClBkyB,EAAQxD,SAAW6D,EAAO,GAAG7D,QAAUwD,EAAQtR,MAAM7P,MAAMmhB,EAASK,GACpE,OAAOF,EAMvB,OAAOD,CACX,EAGqC10B,EAAOC,QACxCD,EAAOC,QAAUiwB,EAGjB7B,EAAK6B,OAASA,CAGtB,CA/hCA,CA+hCE/xB,K,gBC/hCF,IAAIqK,EAAM,EAAQ,KACdhL,EAAS,eACT2I,EAAY,EAAQ,MAGxB,SAAS2uB,EAAc/rB,EAAM7J,EAAK4J,EAAIG,GACpC9C,EAAUjI,KAAKC,MAEfA,KAAK42B,QAAU,IAAIvsB,EAAIod,IAAI1mB,GAC3Bf,KAAK62B,MAAQx3B,EAAO2B,KAAK2J,GACzB3K,KAAK82B,OAASz3B,EAAO2S,YAAY,GACjChS,KAAK+2B,UAAY13B,EAAO2S,YAAY,GACpChS,KAAKg3B,SAAWlsB,EAChB9K,KAAKi3B,MAAQrsB,CACf,CAXe,EAAQ,KAavBpL,CAASm3B,EAAc3uB,GAEvB2uB,EAAaz1B,UAAU8d,QAAU,SAAU/P,GACzC,OAAOjP,KAAKi3B,MAAMC,QAAQl3B,KAAMiP,EAAOjP,KAAKg3B,SAC9C,EAEAL,EAAaz1B,UAAUi2B,OAAS,WAC9Bn3B,KAAK42B,QAAQlO,OACf,EAEA7mB,EAAOC,QAAU60B,C,UCvBjB,IAAIpW,EAAkB3f,OAAOoP,iBAAkB,EAC/C,GAAIuQ,EACH,IACCA,EAAgB,CAAC,EAAG,IAAK,CAAExZ,MAAO,GACnC,CAAE,MAAOmQ,GAERqJ,GAAkB,CACnB,CAGD1e,EAAOC,QAAUye,C,gBCTjB,IAAIlhB,EAAS,eACT+M,EAAO,EAAQ,KAMnBvK,EAAOC,QAAU,WACf,SAAS4K,KAVX,SAAyByN,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIhR,UAAU,oCAAwC,CAWpJiR,CAAgBra,KAAM0M,GAEtB1M,KAAK4Q,KAAO,KACZ5Q,KAAK8R,KAAO,KACZ9R,KAAKgE,OAAS,CAChB,CAmDA,OAjDA0I,EAAWxL,UAAUmO,KAAO,SAAcmL,GACxC,IAAIC,EAAQ,CAAExa,KAAMua,EAAG5I,KAAM,MACzB5R,KAAKgE,OAAS,EAAGhE,KAAK8R,KAAKF,KAAO6I,EAAWza,KAAK4Q,KAAO6J,EAC7Dza,KAAK8R,KAAO2I,IACVza,KAAKgE,MACT,EAEA0I,EAAWxL,UAAUyF,QAAU,SAAiB6T,GAC9C,IAAIC,EAAQ,CAAExa,KAAMua,EAAG5I,KAAM5R,KAAK4Q,MACd,IAAhB5Q,KAAKgE,SAAchE,KAAK8R,KAAO2I,GACnCza,KAAK4Q,KAAO6J,IACVza,KAAKgE,MACT,EAEA0I,EAAWxL,UAAUoQ,MAAQ,WAC3B,GAAoB,IAAhBtR,KAAKgE,OAAT,CACA,IAAIqN,EAAMrR,KAAK4Q,KAAK3Q,KAGpB,OAFoB,IAAhBD,KAAKgE,OAAchE,KAAK4Q,KAAO5Q,KAAK8R,KAAO,KAAU9R,KAAK4Q,KAAO5Q,KAAK4Q,KAAKgB,OAC7E5R,KAAKgE,OACAqN,CAJsB,CAK/B,EAEA3E,EAAWxL,UAAUqQ,MAAQ,WAC3BvR,KAAK4Q,KAAO5Q,KAAK8R,KAAO,KACxB9R,KAAKgE,OAAS,CAChB,EAEA0I,EAAWxL,UAAUgC,KAAO,SAAcuU,GACxC,GAAoB,IAAhBzX,KAAKgE,OAAc,MAAO,GAG9B,IAFA,IAAI0N,EAAI1R,KAAK4Q,KACTS,EAAM,GAAKK,EAAEzR,KACVyR,EAAIA,EAAEE,MACXP,GAAOoG,EAAI/F,EAAEzR,KACd,OAAOoR,CACV,EAEA3E,EAAWxL,UAAUwK,OAAS,SAAgBiF,GAC5C,GAAoB,IAAhB3Q,KAAKgE,OAAc,OAAO3E,EAAOqb,MAAM,GAI3C,IAHA,IAnDgB5H,EAAKiG,EAAQpT,EAmDzB0L,EAAMhS,EAAO2S,YAAYrB,IAAM,GAC/Be,EAAI1R,KAAK4Q,KACTzM,EAAI,EACDuN,GAtDSoB,EAuDHpB,EAAEzR,KAvDM8Y,EAuDA1H,EAvDQ1L,EAuDHxB,EAtD5B2O,EAAIjM,KAAKkS,EAAQpT,GAuDbxB,GAAKuN,EAAEzR,KAAK+D,OACZ0N,EAAIA,EAAEE,KAER,OAAOP,CACT,EAEO3E,CACT,CA3DiB,GA6DbN,GAAQA,EAAK6N,SAAW7N,EAAK6N,QAAQC,SACvCrY,EAAOC,QAAQZ,UAAUkL,EAAK6N,QAAQC,QAAU,WAC9C,IAAIjT,EAAMmF,EAAK6N,QAAQ,CAAEjW,OAAQhE,KAAKgE,SACtC,OAAOhE,KAAKwI,YAAYlG,KAAO,IAAM2E,CACvC,E,gBC5EF,IAAImwB,EAAQ,CACVC,IAAK,GACLC,KAAM,GACNC,OAAQ,GACRnO,OAAQ,GACRE,OAAQ,GACRC,OAAQ,GACRiO,OAAQ,GACRC,UAAW,IAGTC,EAAa,EAAQ,MACrBr4B,EAAS,eAETs4B,EAAkB,EAAQ,MAC1BtpB,EAAkB,EAAQ,MAC1BupB,EAAW,EAAQ,MAmCvB/1B,EAAOC,QAjCP,SAAiBmJ,EAAU4sB,EAAMC,EAAYC,EAAQt2B,GACnDk2B,EAAgBG,EAAYC,GAC5B9sB,EAAW2sB,EAAS3sB,EAAUoD,EAAiB,YAC/CwpB,EAAOD,EAASC,EAAMxpB,EAAiB,QAEvC5M,EAASA,GAAU,OAEnB,IAAIu2B,EAAK34B,EAAO2S,YAAY+lB,GACxBE,EAAS54B,EAAO2S,YAAY6lB,EAAK7zB,OAAS,GAC9C6zB,EAAKhxB,KAAKoxB,EAAQ,EAAG,EAAGJ,EAAK7zB,QAM7B,IAJA,IAAIk0B,EAAU,EACVC,EAAOf,EAAM31B,GACb8Q,EAAIjF,KAAK8qB,KAAKL,EAASI,GAElBh0B,EAAI,EAAGA,GAAKoO,EAAGpO,IAAK,CAC3B8zB,EAAO9Y,cAAchb,EAAG0zB,EAAK7zB,QAK7B,IAHA,IAAIq0B,EAAIX,EAAWj2B,EAAQwJ,GAAU3J,OAAO22B,GAAQx2B,SAChD62B,EAAID,EAECj0B,EAAI,EAAGA,EAAI0zB,EAAY1zB,IAAK,CACnCk0B,EAAIZ,EAAWj2B,EAAQwJ,GAAU3J,OAAOg3B,GAAG72B,SAC3C,IAAK,IAAIkc,EAAI,EAAGA,EAAIwa,EAAMxa,IAAK0a,EAAE1a,IAAM2a,EAAE3a,EAC3C,CAEA0a,EAAExxB,KAAKmxB,EAAIE,GACXA,GAAWC,CACb,CAEA,OAAOH,CACT,C,kWCzCA,MAAMO,EAAQ,UACRC,GAAU,EACV5wB,EAAM,CAAC,EACP6wB,EAAO,GACPC,EAAU,GACVC,EAAW,CAAC,EAElB,SAASC,IAAS,CAElB,MAAM3kB,EAAK2kB,EACL/jB,EAAc+jB,EACd5kB,EAAO4kB,EACPC,EAAMD,EACNrlB,EAAiBqlB,EACjBE,EAAqBF,EACrBnpB,EAAOmpB,EACPrkB,EAAkBqkB,EAClBG,EAAsBH,EAEtB9nB,EAAW,CAACkoB,KAAS1N,IAAS,GAAe,IAAM0N,KAAQ1N,KAE3Dvf,EAAazJ,GAAS,GAEtB22B,EAAM,IAAM,IACZC,EAAQ,IAAM,EACdC,EAAW72B,IAAW,MAAM,IAAIpC,MAAM,mCAAkC,EACxEk5B,EAASC,IAAU,MAAM,IAAIn5B,MAAM,iCAAgC,C,gBClCzE,IAAIV,EAAW,EAAQ,MAEnB4C,EAAa,EAAQ,IAEzB,SAASk3B,EAAWj3B,GAClBD,EAAWrC,KAAKC,KAAMqC,GACtBrC,KAAKuB,IAAM,KACb,CACA/B,EAAS85B,EAAYl3B,GACrBP,EAAOC,QAAUw3B,EAEjBA,EAAWp4B,UAAU6B,OAAS,SAAgB9C,EAAM4M,GAKlD,IAJA,IAEI6E,EAFMtP,EAAWlB,UAAU6B,OAAOhD,KAAKC,KAAMC,GAErC0B,SAAS,UACjBiF,EAAM,CAAE,cAAgBiG,EAAQ0sB,MAAQ,SACnCp1B,EAAI,EAAGA,EAAIuN,EAAE1N,OAAQG,GAAK,GACjCyC,EAAIyI,KAAKqC,EAAEtM,MAAMjB,EAAGA,EAAI,KAE1B,OADAyC,EAAIyI,KAAK,YAAcxC,EAAQ0sB,MAAQ,SAChC3yB,EAAI1D,KAAK,KAClB,C,gBC+QArB,EAAOC,QA7RP,SAAe8F,GAqDd,SAAS4xB,EAAYC,GACpB,IAAIC,EAEAC,EACAC,EAFAC,EAAiB,KAIrB,SAASttB,KAAS+e,GAEjB,IAAK/e,EAAMutB,QACV,OAGD,MAAM5tB,EAAOK,EAGPwtB,EAAOhgB,OAAO,IAAIhU,MAClBi0B,EAAKD,GAAQL,GAAYK,GAC/B7tB,EAAKqR,KAAOyc,EACZ9tB,EAAKqiB,KAAOmL,EACZxtB,EAAK6tB,KAAOA,EACZL,EAAWK,EAEXzO,EAAK,GAAKkO,EAAYS,OAAO3O,EAAK,IAEX,iBAAZA,EAAK,IAEfA,EAAK3kB,QAAQ,MAId,IAAIgO,EAAQ,EACZ2W,EAAK,GAAKA,EAAK,GAAG3hB,QAAQ,iBAAiB,CAACob,EAAOmG,KAElD,GAAc,OAAVnG,EACH,MAAO,IAERpQ,IACA,MAAMulB,EAAYV,EAAYW,WAAWjP,GACzC,GAAyB,mBAAdgP,EAA0B,CACpC,MAAM1M,EAAMlC,EAAK3W,GACjBoQ,EAAQmV,EAAUn6B,KAAKmM,EAAMshB,GAG7BlC,EAAK/lB,OAAOoP,EAAO,GACnBA,GACD,CACA,OAAOoQ,CAAK,IAIbyU,EAAYY,WAAWr6B,KAAKmM,EAAMof,IAEpBpf,EAAK8L,KAAOwhB,EAAYxhB,KAChC9C,MAAMhJ,EAAMof,EACnB,CAgCA,OA9BA/e,EAAMktB,UAAYA,EAClBltB,EAAM8tB,UAAYb,EAAYa,YAC9B9tB,EAAM+tB,MAAQd,EAAYe,YAAYd,GACtCltB,EAAMiuB,OAASA,EACfjuB,EAAMuC,QAAU0qB,EAAY1qB,QAE5BlO,OAAOoP,eAAezD,EAAO,UAAW,CACvC8I,YAAY,EACZgE,cAAc,EACdpJ,IAAK,IACmB,OAAnB4pB,EACIA,GAEJF,IAAoBH,EAAYiB,aACnCd,EAAkBH,EAAYiB,WAC9Bb,EAAeJ,EAAYM,QAAQL,IAG7BG,GAER1pB,IAAKsK,IACJqf,EAAiBrf,CAAC,IAKY,mBAArBgf,EAAYkB,MACtBlB,EAAYkB,KAAKnuB,GAGXA,CACR,CAEA,SAASiuB,EAAOf,EAAWkB,GAC1B,MAAMC,EAAWpB,EAAYx5B,KAAKy5B,gBAAkC,IAAdkB,EAA4B,IAAMA,GAAalB,GAErG,OADAmB,EAAS5iB,IAAMhY,KAAKgY,IACb4iB,CACR,CAuCA,SAASC,EAAgBtxB,EAAQuxB,GAChC,IAAIC,EAAc,EACdC,EAAgB,EAChBC,GAAa,EACbC,EAAa,EAEjB,KAAOH,EAAcxxB,EAAOvF,QAC3B,GAAIg3B,EAAgBF,EAAS92B,SAAW82B,EAASE,KAAmBzxB,EAAOwxB,IAA4C,MAA5BD,EAASE,IAEnE,MAA5BF,EAASE,IACZC,EAAYD,EACZE,EAAaH,EACbC,MAEAD,IACAC,SAEK,KAAmB,IAAfC,EAMV,OAAO,EAJPD,EAAgBC,EAAY,EAC5BC,IACAH,EAAcG,CAGf,CAID,KAAOF,EAAgBF,EAAS92B,QAAsC,MAA5B82B,EAASE,IAClDA,IAGD,OAAOA,IAAkBF,EAAS92B,MACnC,CAgEA,OAzRAw1B,EAAYjtB,MAAQitB,EACpBA,EAAY2B,QAAU3B,EACtBA,EAAYS,OAsQZ,SAAgBzM,GACf,GAAIA,aAAettB,MAClB,OAAOstB,EAAI4N,OAAS5N,EAAInlB,QAEzB,OAAOmlB,CACR,EA1QAgM,EAAY6B,QA8NZ,WACC,MAAMZ,EAAa,IACfjB,EAAY8B,SACZ9B,EAAY+B,MAAMryB,KAAIuwB,GAAa,IAAMA,KAC3Cv2B,KAAK,KAEP,OADAs2B,EAAYgC,OAAO,IACZf,CACR,EApOAjB,EAAYgC,OAsJZ,SAAgBf,GACfjB,EAAYiC,KAAKhB,GACjBjB,EAAYiB,WAAaA,EAEzBjB,EAAY8B,MAAQ,GACpB9B,EAAY+B,MAAQ,GAEpB,MAAMt2B,GAA+B,iBAAfw1B,EAA0BA,EAAa,IAC3DiB,OACA/xB,QAAQ,IAAK,KACb1E,MAAM,KACN0T,OAAOiJ,SAET,IAAK,MAAM+Z,KAAM12B,EACF,MAAV02B,EAAG,GACNnC,EAAY+B,MAAMlsB,KAAKssB,EAAGv2B,MAAM,IAEhCo0B,EAAY8B,MAAMjsB,KAAKssB,EAG1B,EAzKAnC,EAAYM,QA4OZ,SAAiBx3B,GAChB,IAAK,MAAMs5B,KAAQpC,EAAY+B,MAC9B,GAAIV,EAAgBv4B,EAAMs5B,GACzB,OAAO,EAIT,IAAK,MAAMD,KAAMnC,EAAY8B,MAC5B,GAAIT,EAAgBv4B,EAAMq5B,GACzB,OAAO,EAIT,OAAO,CACR,EAzPAnC,EAAYqC,SAAW,EAAQ,MAC/BrC,EAAY1qB,QA4QZ,WACCid,QAAQ+P,KAAK,wIACd,EA5QAl7B,OAAOC,KAAK+G,GAAK9G,SAAQC,IACxBy4B,EAAYz4B,GAAO6G,EAAI7G,EAAI,IAO5By4B,EAAY8B,MAAQ,GACpB9B,EAAY+B,MAAQ,GAOpB/B,EAAYW,WAAa,CAAC,EAkB1BX,EAAYe,YAVZ,SAAqBd,GACpB,IAAIr5B,EAAO,EAEX,IAAK,IAAI+D,EAAI,EAAGA,EAAIs1B,EAAUz1B,OAAQG,IACrC/D,GAASA,GAAQ,GAAKA,EAAQq5B,EAAU/0B,WAAWP,GACnD/D,GAAQ,EAGT,OAAOo5B,EAAYhN,OAAOlf,KAAKwK,IAAI1X,GAAQo5B,EAAYhN,OAAOxoB,OAC/D,EA6OAw1B,EAAYgC,OAAOhC,EAAYuC,QAExBvC,CACR,C,oBC/RIwC,E,SAFAhoB,EAAO,EAAQ,MACfioB,EAAM,EAAQ,MAGlB,IACED,EAAK,EAAQ,KACf,CAAE,MAAO9kB,GAAI,CAEb,IAAI0hB,EAAO,WAAa,EACpBsD,EAAU,SAASr3B,KAAK8C,EAAQ+wB,SAEhCyD,EAAO,SAAU7nB,GACnB,MAAqB,mBAAPA,CAChB,EAYI8nB,EAAY,SAAU78B,EAAQuO,EAASuuB,EAASC,GAClDA,EAAWtoB,EAAKsoB,GAEhB,IAAIC,GAAS,EACbh9B,EAAO0U,GAAG,SAAS,WACjBsoB,GAAS,CACX,IAEAN,EAAI18B,EAAQ,CAACoP,SAAUb,EAASwL,SAAU+iB,IAAU,SAAUhsB,GAC5D,GAAIA,EAAK,OAAOisB,EAASjsB,GACzBksB,GAAS,EACTD,GACF,IAEA,IAAIluB,GAAY,EAChB,OAAO,SAAUiC,GACf,IAAIksB,IACAnuB,EAGJ,OAFAA,GAAY,EA5BL,SAAU7O,GACnB,QAAK28B,KACAF,IACGz8B,aAAmBy8B,EAAGQ,YAAc5D,IAASr5B,aAAmBy8B,EAAGS,aAAe7D,KAAUuD,EAAK58B,EAAOm9B,MAClH,CA0BQC,CAAKp9B,GAAgBA,EAAOm9B,MAAM9D,GAxB1B,SAAUr5B,GACxB,OAAOA,EAAOq9B,WAAaT,EAAK58B,EAAOs9B,MACzC,CAuBQC,CAAUv9B,GAAgBA,EAAOs9B,QAEjCV,EAAK58B,EAAOuP,SAAiBvP,EAAOuP,eAExCwtB,EAASjsB,GAAO,IAAInQ,MAAM,wBAC5B,CACF,EAEIH,EAAO,SAAUuU,GACnBA,GACF,EAEI3B,EAAO,SAAU3R,EAAM+7B,GACzB,OAAO/7B,EAAK2R,KAAKoqB,EACnB,EAyBAl7B,EAAOC,QAvBI,WACT,IAMI+B,EANAm5B,EAAU93B,MAAMhE,UAAUkE,MAAMrF,KAAKoV,WACrCmnB,EAAWH,EAAKa,EAAQA,EAAQh5B,OAAS,IAAM40B,IAASoE,EAAQ3O,OAASuK,EAG7E,GADI1zB,MAAMC,QAAQ63B,EAAQ,MAAKA,EAAUA,EAAQ,IAC7CA,EAAQh5B,OAAS,EAAG,MAAM,IAAI9D,MAAM,yCAGxC,IAAI+8B,EAAWD,EAAQ9zB,KAAI,SAAU3J,EAAQ4E,GAC3C,IAAI2J,EAAU3J,EAAI64B,EAAQh5B,OAAS,EAEnC,OAAOo4B,EAAU78B,EAAQuO,EADX3J,EAAI,GACyB,SAAUkM,GAC9CxM,IAAOA,EAAQwM,GAChBA,GAAK4sB,EAASn8B,QAAQf,GACtB+N,IACJmvB,EAASn8B,QAAQf,GACjBu8B,EAASz4B,GACX,GACF,IAEA,OAAOm5B,EAAQ1O,OAAO3b,EACxB,C,gBCjFA,IAAI8I,EAAQ3Z,EAEZ2Z,EAAMxZ,KAAO,EAAQ,MACrBwZ,EAAMqN,MAAQ,EAAQ,MACtBrN,EAAMuN,KAAO,EAAQ,KACrBvN,EAAMsN,QAAU,EAAQ,K,gBCLxB,IAAI/I,EAAa,EAAQ,MACrB/F,EAAU,EAAQ,MAClBijB,EAAqB,EAAQ,MAC7BC,EAAoB,EAAQ,KAG5BC,EAFwB,EAAQ,OAEOD,GAAqBD,EAGhEr7B,EAAOC,QAAU,WAGmB,IAAIu7B,EAGnChT,EAAU,CACb5U,OAAQ,SAAU1U,GACjB,IAAKspB,EAAQC,IAAIvpB,GAChB,MAAM,IAAIif,EAAW,iCAAmC/F,EAAQlZ,GAElE,EACA,OAAU,SAAUA,GACnB,QAASs8B,GAAgBA,EAAqB,OAAEt8B,EACjD,EACAkP,IAAK,SAAUlP,GACd,OAAOs8B,GAAgBA,EAAaptB,IAAIlP,EACzC,EACAupB,IAAK,SAAUvpB,GACd,QAASs8B,GAAgBA,EAAa/S,IAAIvpB,EAC3C,EACAmP,IAAK,SAAUnP,EAAKgG,GACds2B,IACJA,EAAeD,KAGhBC,EAAantB,IAAInP,EAAKgG,EACvB,GAGD,OAAOsjB,CACR,C,UC1CA,IAAIiT,EAAW,WACd,SAASA,EAASh7B,EAAM4d,EAAK1X,GAC5BxI,KAAKsC,KAAOA,EACZtC,KAAKkgB,IAAMA,EACXlgB,KAAKwI,YAA6B,MAAfA,EAAsBA,EAAc,WAAY,EACnExI,KAAKwR,KAAO,EACb,CAmBA,OAjBA8rB,EAASp8B,UAAUwZ,MAAQ,WAC1B,OAAI1a,KAAKwR,KAAKxN,OACNhE,KAAKwR,KAAKF,QAEVtR,KAAKwI,YAAY0M,MAAMlV,KAAMmV,UAEtC,EAEAmoB,EAASp8B,UAAUq8B,KAAO,SAASt2B,GAClC,OAAIjH,KAAKwR,KAAKxN,OAAShE,KAAKkgB,MAC3BlgB,KAAKwR,KAAKnC,KAAKpI,IACR,EAIT,EAEOq2B,CACP,CA1Bc,GA6BfA,EAASA,SAAWA,EAEpBz7B,EAAOC,QAAUw7B,C,+CC/BV,SAASE,EAAYz2B,GAE1B,MAAMtH,EAAOsH,EAAQ,EAAI,EAAI,EAI7B,OADAA,EAAQuG,KAAKwK,IAAIiC,OAAOhT,GAAS,IAC1BuG,KAAKC,MAAMD,KAAKmwB,MAAM12B,IAAU,EAAItH,CAC7C,CAEO,SAASi+B,EAAS32B,GACvB,OAAIwa,YAAYoc,OAAO52B,GAAe,kBAClC7B,MAAMC,QAAQ4B,GAAe,QAC7BA,aAAiBgT,OAAe,SAChChT,aAAiB6a,QAAgB,UACjC7a,aAAiBkc,IAAY,MAC7Blc,aAAiB4b,IAAY,MAC7B5b,aAAiBoC,OAAe,SAChCpC,aAAiBwa,YAAoB,qBAC3Bxa,CAChB,CCVA,SAAShE,EAAQ9C,EAAMuN,EAAQ7H,GAC7B,MAAMi4B,EAAU,GAChB,IAAI9Y,EAAS,KAMb,OAJA/hB,EAAOE,QAAQ26B,EAAS39B,GACxB6kB,GAAS,QAAO8Y,GAChB76B,EAAOuZ,MAAQwI,EAAO9gB,OAElBud,YAAYoc,OAAOnwB,IACrBA,EAAO0C,IAAI4U,EAAQnf,GACZ6H,GAGFsX,CACT,CAEA/hB,EAAOuZ,OAAS,EAChBvZ,EAAO86B,0BAA2B,EAElC96B,EAAOE,QAAU,SAAU26B,EAAS39B,GAClC,GAAY,MAARA,EAEJ,OAAQy9B,EAAQz9B,IACd,IAAK,SAAU8C,EAAO+6B,KAAKF,EAAS39B,GAAO,MAC3C,IAAK,MAAO8C,EAAOg7B,QAAQH,EAAS39B,GAAO,MAC3C,IAAK,QAAS8C,EAAOyO,KAAKosB,EAAS39B,GAAO,MAC1C,IAAK,MAAO8C,EAAOi7B,QAAQJ,EAAS39B,GAAO,MAC3C,IAAK,SAAU8C,EAAO4hB,OAAOiZ,EAAS39B,GAAO,MAC7C,IAAK,SACL,IAAK,UAAW8C,EAAOiiB,OAAO4Y,EAAS39B,GAAO,MAC9C,IAAK,kBAAmB8C,EAAOyK,OAAOowB,EAAS,IAAIzxB,WAAWlM,EAAKuN,OAAQvN,EAAKg+B,WAAYh+B,EAAK0c,aAAc,MAC/G,IAAK,cAAe5Z,EAAOyK,OAAOowB,EAAS,IAAIzxB,WAAWlM,IAE9D,EAEA,MAAMi+B,EAAQ,IAAI/xB,WAAW,CAAC,MACxBgyB,EAAQ,IAAIhyB,WAAW,CAAC,MACxBiyB,EAAQ,IAAIjyB,WAAW,CAAC,MAE9BpJ,EAAOyK,OAAS,SAAUowB,EAAS39B,GACjC29B,EAAQvuB,MAAK,QAASpP,EAAK+D,OAAS,KAAM/D,EAC5C,EAEA8C,EAAO4hB,OAAS,SAAUiZ,EAAS39B,GACjC29B,EAAQvuB,MAAK,SAAS,QAASpP,GAAM0c,WAAa,IAAM1c,GAC1D,EAEA8C,EAAOiiB,OAAS,SAAU4Y,EAAS39B,GACjC,GAAI8Z,OAAOskB,UAAUp+B,GAAO,OAAO29B,EAAQvuB,MAAK,QAAS,IAAMoS,OAAOxhB,GAAQ,MAE9E,MAAMq+B,EAAQ,WAGR9Q,GAFMvtB,EAAOq+B,EAAU,GAEZA,GADLr+B,EAAOq+B,EAAU,GAG7BV,EAAQvuB,MAAK,QAAS,IAAMme,EAAM,MAE9BA,IAAQvtB,GAAS8C,EAAO86B,2BAC1B96B,EAAO86B,0BAA2B,EAClC9R,QAAQ+P,KACN,0DAA4D77B,EAAO,KACnE,wEAA0EutB,EAAM,KAElFzB,QAAQC,QAEZ,EAEAjpB,EAAO+6B,KAAO,SAAUF,EAAS39B,GAC/B29B,EAAQvuB,KAAK8uB,GAEb,IACIxgB,EADAvZ,EAAI,EAGR,MAAMvD,EAAOD,OAAOC,KAAKZ,GAAMs+B,OACzBC,EAAK39B,EAAKmD,OAEhB,KAAOI,EAAIo6B,EAAIp6B,IACbuZ,EAAI9c,EAAKuD,GACM,MAAXnE,EAAK0d,KACT5a,EAAO4hB,OAAOiZ,EAASjgB,GACvB5a,EAAOE,QAAQ26B,EAAS39B,EAAK0d,KAG/BigB,EAAQvuB,KAAK6uB,EACf,EAEAn7B,EAAOg7B,QAAU,SAAUH,EAAS39B,GAClC29B,EAAQvuB,KAAK8uB,GAEb,MAAMt9B,EAAOqE,MAAMlE,KAAKf,EAAKY,QAAQ09B,OAErC,IAAK,MAAMx9B,KAAOF,EACK,MAAjBZ,EAAKgQ,IAAIlP,KACbwgB,YAAYoc,OAAO58B,GACfgC,EAAOE,QAAQ26B,EAAS78B,GACxBgC,EAAO4hB,OAAOiZ,EAASz0B,OAAOpI,IAClCgC,EAAOE,QAAQ26B,EAAS39B,EAAKgQ,IAAIlP,KAGnC68B,EAAQvuB,KAAK6uB,EACf,EAEAn7B,EAAOyO,KAAO,SAAUosB,EAAS39B,GAC/B,IAAIkE,EAAI,EACR,MAAMwN,EAAI1R,EAAK+D,OAGf,IAFA45B,EAAQvuB,KAAK+uB,GAENj6B,EAAIwN,EAAGxN,IACG,MAAXlE,EAAKkE,IACTpB,EAAOE,QAAQ26B,EAAS39B,EAAKkE,IAG/By5B,EAAQvuB,KAAK6uB,EACf,EAEAn7B,EAAOi7B,QAAU,SAAUJ,EAAS39B,GAClC29B,EAAQvuB,KAAK+uB,GAEb,IAAK,MAAMK,KAAQx+B,EACL,MAARw+B,GACJ17B,EAAOE,QAAQ26B,EAASa,GAG1Bb,EAAQvuB,KAAK6uB,EACf,EAEA,UCtHA,SAASQ,EAAkBlxB,EAAQxD,EAAOxI,GACxC,IAAIm9B,EAAM,EACNl/B,EAAO,EAEX,IAAK,IAAI0E,EAAI6F,EAAO7F,EAAI3C,EAAK2C,IAAK,CAChC,MAAMrB,EAAM0K,EAAOrJ,GAEnB,GAAIrB,EAAM,IAAMA,GAAO,GACrB67B,EAAY,GAANA,GAAY77B,EAAM,SAI1B,GAAIqB,IAAM6F,GAAiB,KAARlH,EAAnB,CAIA,GAAIqB,IAAM6F,GAAiB,KAARlH,EAAnB,CAKA,GAAY,KAARA,EAEF,MAGF,MAAM,IAAI5C,MAAM,wBAA0BiE,EAAI,OAASrB,EAPvD,CAFErD,GAAQ,CAHV,CAaF,CAEA,OAAOk/B,EAAMl/B,CACf,CAWA,SAASm/B,EAAQ3+B,EAAM+J,EAAOxI,EAAKiN,GACjC,OAAY,MAARxO,GAAgC,IAAhBA,EAAK+D,OAChB,MAGY,iBAAVgG,GAAkC,MAAZyE,IAC/BA,EAAWzE,EACXA,OAAQzC,GAGS,iBAAR/F,GAAgC,MAAZiN,IAC7BA,EAAWjN,EACXA,OAAM+F,GAGRq3B,EAAOC,SAAW,EAClBD,EAAOnwB,SAAWA,GAAY,KAE9BmwB,EAAO3+B,KAASshB,YAAYoc,OAAO19B,GAE/B,IAAIkM,WAAWlM,EAAKmF,MAAM4E,EAAOxI,KADjC,QAASvB,GAGb2+B,EAAOtiB,MAAQsiB,EAAO3+B,KAAK+D,OAEpB46B,EAAOhtB,OAChB,CAEAgtB,EAAOtiB,MAAQ,EACfsiB,EAAOC,SAAW,EAClBD,EAAO3+B,KAAO,KACd2+B,EAAOnwB,SAAW,KAElBmwB,EAAOhtB,KAAO,WACZ,OAAQgtB,EAAO3+B,KAAK2+B,EAAOC,WACzB,KAxFqB,IAyFnB,OAAOD,EAAOE,aAChB,KAzFe,IA0Fb,OAAOF,EAAOptB,OAChB,KA9FkB,IA+FhB,OAAOotB,EAAOG,UAChB,QACE,OAAOH,EAAOpxB,SAEpB,EAEAoxB,EAAOI,KAAO,SAAUC,GACtB,IAAI96B,EAAIy6B,EAAOC,SACf,MAAMltB,EAAIitB,EAAO3+B,KAAK+D,OAChBwT,EAAIonB,EAAO3+B,KAEjB,KAAOkE,EAAIwN,GAAG,CACZ,GAAI6F,EAAErT,KAAO86B,EAAK,OAAO96B,EACzBA,GACF,CAEA,MAAM,IAAIjE,MACR,oCACAiJ,OAAO+1B,aAAaD,GAAO,QAC3BA,EAAIt9B,SAAS,IAAM,IAEvB,EAEAi9B,EAAOE,WAAa,WAClBF,EAAOC,WAEP,MAAMf,EAAO,CAAC,EAEd,KAvHkB,MAuHXc,EAAO3+B,KAAK2+B,EAAOC,WAA2B,CACnD,MAAMrxB,EAASoxB,EAAOpxB,SACtB,IAAIzM,GAAM,QAASyM,GACfzM,EAAImJ,SAAS,OAAWnJ,GAAM,QAAQyM,IAC1CswB,EAAK/8B,GAAO69B,EAAOhtB,MACrB,CAIA,OAFAgtB,EAAOC,WAEAf,CACT,EAEAc,EAAOptB,KAAO,WACZotB,EAAOC,WAEP,MAAMM,EAAM,GAEZ,KAxIkB,MAwIXP,EAAO3+B,KAAK2+B,EAAOC,WACxBM,EAAI9vB,KAAKuvB,EAAOhtB,QAKlB,OAFAgtB,EAAOC,WAEAM,CACT,EAEAP,EAAOG,QAAU,WACf,MAAMv9B,EAAMo9B,EAAOI,KAlJD,KAmJZha,EAAS0Z,EAAiBE,EAAO3+B,KAAM2+B,EAAOC,SAAW,EAAGr9B,GAIlE,OAFAo9B,EAAOC,UAAYr9B,EAAM,EAAIo9B,EAAOC,SAE7B7Z,CACT,EAEA4Z,EAAOpxB,OAAS,WACd,IAAI4xB,EAAMR,EAAOI,KA9JE,IA+JnB,MAAMh7B,EAAS06B,EAAiBE,EAAO3+B,KAAM2+B,EAAOC,SAAUO,GACxD59B,IAAQ49B,EAAMp7B,EAIpB,OAFA46B,EAAOC,SAAWr9B,EAEXo9B,EAAOnwB,UACV,QAASmwB,EAAO3+B,KAAKmF,MAAMg6B,EAAK59B,IAChCo9B,EAAO3+B,KAAKmF,MAAMg6B,EAAK59B,EAC7B,EC1HA,SAASsU,EAAgB/O,GAGvB,GAAa,MAATA,EAAe,OAFJ,EAIf,MAAMgD,EAAO2zB,EAAQ32B,GAErB,OAAQgD,GACN,IAAK,kBAAmB,OAb5B,SAA4BhD,GAC1B,MAAM/C,EAAS+C,EAAM4V,WAAa5V,EAAMk3B,WACxC,OAAOT,EAAWx5B,GAAU,EAAIA,CAClC,CAUmCq7B,CAAkBt4B,GACjD,IAAK,SAAU,OAnBnB,SAAuBA,GACrB,MAAM/C,GAAS,QAAS+C,GAAO4V,WAC/B,OAAO6gB,EAAWx5B,GAAU,EAAIA,CAClC,CAgB0Bs7B,CAAav4B,GACnC,IAAK,QAAS,IAAK,MAAO,OAvD9B,SAAqByK,GACnB,IAAIxN,EAAS,EAEb,IAAK,MAAM+C,KAASyK,EAClBxN,GAAU8R,EAAe/O,GAG3B,OAAO/C,CACT,CA+CqCu7B,CAAWx4B,GAC5C,IAAK,SAAU,OAAO,EAAIy2B,EAAWlwB,KAAKC,MAAMxG,IAAU,EAC1D,IAAK,SAAU,OAAO,EAAIA,EAAMpF,WAAWqC,OAAS,EACpD,IAAK,SAAU,OApCnB,SAAuB+C,GACrB,IAAI/C,EAAS,EACb,MAAMnD,EAAOD,OAAOC,KAAKkG,GAEzB,IAAK,IAAI5C,EAAI,EAAGA,EAAItD,EAAKmD,OAAQG,IAAK,CACpC,MAAMq7B,GAAY,QAAS3+B,EAAKsD,IAAIwY,WACpC3Y,GAAUw5B,EAAWgC,GAAa,EAAIA,EACtCx7B,GAAU8R,EAAe/O,EAAMlG,EAAKsD,IACtC,CAEA,OAAOH,CACT,CAyB0By7B,CAAa14B,GACnC,IAAK,MAAO,OAjDhB,SAAoBmC,GAClB,IAAIlF,EAAS,EAEb,IAAK,MAAOjD,EAAKgG,KAAUmC,EAAK,CAC9B,MAAMs2B,GAAY,QAASz+B,GAAK4b,WAChC3Y,GAAUw5B,EAAWgC,GAAa,EAAIA,EACtCx7B,GAAU8R,EAAe/O,EAC3B,CAEA,OAAO/C,CACT,CAuCuB07B,CAAU34B,GAC7B,QACE,MAAM,IAAIqC,UAAU,8BAA8BW,MAExD,CAEA,MC1DA,GAAiBhH,OAAM,SFkKvB,EElK+B,WD0D/B,EC1D2C,eD0D3C,E,gBEpEA,IAAI48B,EAAW,iBACXC,EAAgB,sBAChBC,EAAgB,sBAChBpqB,EAAS,EAAQ,MAGjBqqB,EAAO,CACT,MAAO,QAAS,MAAO,QAAS,QAAS,OACzC,UAAW,UAAW,QAAS,OAAQ,MAAO,UAC9C,SAAU,SAAU,UAAW,SAAU,WAAY,SAAU,YAC/D,SAAU,SAAU,WAAY,SAAU,SAAU,UAAW,YAI7DC,EAAU,CACZ,MAAO,MAAO,MAAO,WAAY,WAAY,WAAY,MAAO,SAChE,MAAO,YACPr0B,OAAOo0B,GAYT,SAASl9B,EAAKrB,EAAKoB,GACjB,IAAI0E,EAAQ,CAAC,EACbrH,KAAKsH,WAAaD,EAElBA,EAAM9F,IAAMA,EAEZ8F,EAAM1E,OAASA,GAAU,KACzB0E,EAAM24B,SAAW,KAGjB34B,EAAMjE,IAAM,KACZiE,EAAMikB,KAAO,KACbjkB,EAAM44B,YAAc,KACpB54B,EAAM64B,OAAS,KACf74B,EAAM84B,UAAW,EACjB94B,EAAM+4B,KAAM,EACZ/4B,EAAMJ,KAAM,EACZI,EAAMg5B,IAAM,KACZh5B,EAAMi5B,WAAa,KACnBj5B,EAAMtG,IAAM,KACZsG,EAAe,QAAI,KACnBA,EAAMk5B,SAAW,KACjBl5B,EAAMm5B,SAAW,KACjBn5B,EAAMo5B,SAAW,KAGZp5B,EAAM1E,SACT0E,EAAM24B,SAAW,GACjBhgC,KAAK0gC,QAET,CACA7+B,EAAOC,QAAUc,EAEjB,IAAI+9B,EAAa,CACf,MAAO,SAAU,WAAY,MAAO,OAAQ,cAAe,SAC3D,WAAY,MAAO,MAAO,MAAO,aAAc,MAAO,UAAW,WACjE,WAAY,YAGd/9B,EAAK1B,UAAU2c,MAAQ,WACrB,IAAIxW,EAAQrH,KAAKsH,WACbs5B,EAAS,CAAC,EACdD,EAAW7/B,SAAQ,SAASyuB,GAC1BqR,EAAOrR,GAAQloB,EAAMkoB,EACvB,IACA,IAAI7rB,EAAM,IAAI1D,KAAKwI,YAAYo4B,EAAOj+B,QAEtC,OADAe,EAAI4D,WAAas5B,EACVl9B,CACT,EAEAd,EAAK1B,UAAUw/B,MAAQ,WACrB,IAAIr5B,EAAQrH,KAAKsH,WACjBy4B,EAAQj/B,SAAQ,SAASmU,GACvBjV,KAAKiV,GAAU,WACb,IAAI4I,EAAQ,IAAI7d,KAAKwI,YAAYxI,MAEjC,OADAqH,EAAM24B,SAAS3wB,KAAKwO,GACbA,EAAM5I,GAAQC,MAAM2I,EAAO1I,UACpC,CACF,GAAGnV,KACL,EAEA4C,EAAK1B,UAAUuB,MAAQ,SAAcC,GACnC,IAAI2E,EAAQrH,KAAKsH,WAEjBmO,EAAwB,OAAjBpO,EAAM1E,QACbD,EAAK3C,KAAKC,MAGVqH,EAAM24B,SAAW34B,EAAM24B,SAASrnB,QAAO,SAASkoB,GAC9C,OAAOA,EAAMv5B,WAAW3E,SAAW3C,IACrC,GAAGA,MACHyV,EAAOqrB,MAAMz5B,EAAM24B,SAASh8B,OAAQ,EAAG,oCACzC,EAEApB,EAAK1B,UAAU6/B,SAAW,SAAiBzV,GACzC,IAAIjkB,EAAQrH,KAAKsH,WAGb04B,EAAW1U,EAAK3S,QAAO,SAASxO,GAClC,OAAOA,aAAenK,KAAKwI,WAC7B,GAAGxI,MACHsrB,EAAOA,EAAK3S,QAAO,SAASxO,GAC1B,QAASA,aAAenK,KAAKwI,YAC/B,GAAGxI,MAEqB,IAApBggC,EAASh8B,SACXyR,EAA0B,OAAnBpO,EAAM24B,UACb34B,EAAM24B,SAAWA,EAGjBA,EAASl/B,SAAQ,SAAS+/B,GACxBA,EAAMv5B,WAAW3E,OAAS3C,IAC5B,GAAGA,OAEe,IAAhBsrB,EAAKtnB,SACPyR,EAAsB,OAAfpO,EAAMikB,MACbjkB,EAAMikB,KAAOA,EACbjkB,EAAM44B,YAAc3U,EAAKpiB,KAAI,SAASiB,GACpC,GAAmB,iBAARA,GAAoBA,EAAI3B,cAAgB5H,OACjD,OAAOuJ,EAET,IAAIzG,EAAM,CAAC,EAOX,OANA9C,OAAOC,KAAKsJ,GAAKrJ,SAAQ,SAASC,GAC5BA,IAAc,EAANA,KACVA,GAAO,GACT,IAAIgG,EAAQoD,EAAIpJ,GAChB2C,EAAIqD,GAAShG,CACf,IACO2C,CACT,IAEJ,EAxHgB,CACd,WAAY,aAAc,OAC1B,aAAc,eAAgB,cAC9B,cAAe,aAAc,cAAe,cAE5C,mBAAoB,aAAc,eAAgB,cAClD,cAAe,aAAc,eAwHrB5C,SAAQ,SAASmU,GACzBrS,EAAK1B,UAAU+T,GAAU,WACvB,IAAI5N,EAAQrH,KAAKsH,WACjB,MAAM,IAAIpH,MAAM+U,EAAS,kCAAoC5N,EAAM9F,IACrE,CACF,IAMAu+B,EAAKh/B,SAAQ,SAASsC,GACpBR,EAAK1B,UAAUkC,GAAO,WACpB,IAAIiE,EAAQrH,KAAKsH,WACbgkB,EAAOpmB,MAAMhE,UAAUkE,MAAMrF,KAAKoV,WAOtC,OALAM,EAAqB,OAAdpO,EAAMjE,KACbiE,EAAMjE,IAAMA,EAEZpD,KAAK+gC,SAASzV,GAEPtrB,IACT,CACF,IAEA4C,EAAK1B,UAAUm/B,IAAM,SAAa5B,GAChChpB,EAAOgpB,GACP,IAAIp3B,EAAQrH,KAAKsH,WAKjB,OAHAmO,EAAqB,OAAdpO,EAAMg5B,KACbh5B,EAAMg5B,IAAM5B,EAELz+B,IACT,EAEA4C,EAAK1B,UAAUi/B,SAAW,WAKxB,OAJYngC,KAAKsH,WAEX64B,UAAW,EAEVngC,IACT,EAEA4C,EAAK1B,UAAU8/B,IAAM,SAAaxT,GAChC,IAAInmB,EAAQrH,KAAKsH,WAMjB,OAJAmO,EAA4B,OAArBpO,EAAe,SACtBA,EAAe,QAAImmB,EACnBnmB,EAAM84B,UAAW,EAEVngC,IACT,EAEA4C,EAAK1B,UAAUq/B,SAAW,SAAkBz9B,GAC1C,IAAIuE,EAAQrH,KAAKsH,WAKjB,OAHAmO,EAA0B,OAAnBpO,EAAMk5B,UAAwC,OAAnBl5B,EAAMm5B,UACxCn5B,EAAMk5B,SAAWz9B,EAEV9C,IACT,EAEA4C,EAAK1B,UAAUs/B,SAAW,SAAkB19B,GAC1C,IAAIuE,EAAQrH,KAAKsH,WAKjB,OAHAmO,EAA0B,OAAnBpO,EAAMk5B,UAAwC,OAAnBl5B,EAAMm5B,UACxCn5B,EAAMm5B,SAAW19B,EAEV9C,IACT,EAEA4C,EAAK1B,UAAU+F,IAAM,WACnB,IAAII,EAAQrH,KAAKsH,WACbgkB,EAAOpmB,MAAMhE,UAAUkE,MAAMrF,KAAKoV,WAOtC,OALA9N,EAAMJ,KAAM,EAEQ,IAAhBqkB,EAAKtnB,QACPhE,KAAK+gC,SAASzV,GAETtrB,IACT,EAEA4C,EAAK1B,UAAUH,IAAM,SAAakgC,GAChC,IAAI55B,EAAQrH,KAAKsH,WAKjB,OAHAmO,EAAqB,OAAdpO,EAAMtG,KACbsG,EAAMtG,IAAMkgC,EAELjhC,IACT,EAEA4C,EAAK1B,UAAUk/B,IAAM,WAKnB,OAJYpgC,KAAKsH,WAEX84B,KAAM,EAELpgC,IACT,EAEA4C,EAAK1B,UAAUg/B,OAAS,SAAgBj5B,GACtC,IAAII,EAAQrH,KAAKsH,WAQjB,OANAmO,EAAwB,OAAjBpO,EAAM64B,QACb74B,EAAM64B,OAASj5B,EACfjH,KAAK+gC,SAASngC,OAAOC,KAAKoG,GAAKiC,KAAI,SAASnI,GAC1C,OAAOkG,EAAIlG,EACb,KAEOf,IACT,EAEA4C,EAAK1B,UAAUu/B,SAAW,SAAkBhC,GAC1C,IAAIp3B,EAAQrH,KAAKsH,WAKjB,OAHAmO,EAAqB,OAAdpO,EAAMg5B,KACbh5B,EAAMo5B,SAAWhC,EAEVz+B,IACT,EAMA4C,EAAK1B,UAAUggC,QAAU,SAAgBxnB,EAAO7M,GAC9C,IAAIxF,EAAQrH,KAAKsH,WAGjB,GAAqB,OAAjBD,EAAM1E,OACR,OAAO+W,EAAMynB,WAAW95B,EAAM24B,SAAS,GAAGkB,QAAQxnB,EAAO7M,IAE3D,IAuCIu0B,EAvCAtc,EAASzd,EAAe,QACxBg6B,GAAU,EAEVC,EAAU,KAKd,GAJkB,OAAdj6B,EAAMtG,MACRugC,EAAU5nB,EAAM6nB,SAASl6B,EAAMtG,MAG7BsG,EAAM84B,SAAU,CAClB,IAAI/8B,EAAM,KAQV,GAPuB,OAAnBiE,EAAMk5B,SACRn9B,EAAMiE,EAAMk5B,SACc,OAAnBl5B,EAAMm5B,SACbp9B,EAAMiE,EAAMm5B,SACS,OAAdn5B,EAAMjE,MACbA,EAAMiE,EAAMjE,KAEF,OAARA,GAAiBiE,EAAM+4B,KAgBzB,GAFAiB,EAAUrhC,KAAKwhC,SAAS9nB,EAAOtW,EAAKiE,EAAM+4B,KAEtC1mB,EAAMkU,QAAQyT,GAChB,OAAOA,MAjBqB,CAE9B,IAAI5F,EAAO/hB,EAAM+hB,OACjB,IACuB,OAAjBp0B,EAAM64B,OACRlgC,KAAKyhC,eAAep6B,EAAMjE,IAAKsW,EAAO7M,GAEtC7M,KAAK0hC,cAAchoB,EAAO7M,GAC5Bw0B,GAAU,CACZ,CAAE,MAAOnqB,GACPmqB,GAAU,CACZ,CACA3nB,EAAMioB,QAAQlG,EAChB,CAMF,CAOA,GAHIp0B,EAAMJ,KAAOo6B,IACfD,EAAU1nB,EAAMkoB,eAEdP,EAAS,CAEX,GAAuB,OAAnBh6B,EAAMk5B,SAAmB,CAC3B,IAAIA,EAAWvgC,KAAK6hC,WAAWnoB,EAAOrS,EAAMk5B,UAC5C,GAAI7mB,EAAMkU,QAAQ2S,GAChB,OAAOA,EACT7mB,EAAQ6mB,CACV,CAEA,IAAIv2B,EAAQ0P,EAAM/T,OAGlB,GAAkB,OAAd0B,EAAMg5B,KAAiC,OAAjBh5B,EAAM64B,OAAiB,CAC/C,GAAI74B,EAAM+4B,IACJ3E,EAAO/hB,EAAM+hB,OACnB,IAAI/4B,EAAO1C,KAAK6hC,WACdnoB,EACmB,OAAnBrS,EAAMm5B,SAAoBn5B,EAAMm5B,SAAWn5B,EAAMjE,IACjDiE,EAAM+4B,KAER,GAAI1mB,EAAMkU,QAAQlrB,GAChB,OAAOA,EAEL2E,EAAM+4B,IACRtb,EAASpL,EAAMooB,IAAIrG,GAEnB/hB,EAAQhX,CACZ,CAgBA,GAdImK,GAAWA,EAAQk1B,OAAuB,OAAd16B,EAAMjE,KACpCyJ,EAAQk1B,MAAMroB,EAAMsoB,OAAQh4B,EAAO0P,EAAM1V,OAAQ,UAE/C6I,GAAWA,EAAQk1B,OAAuB,OAAd16B,EAAMjE,KACpCyJ,EAAQk1B,MAAMroB,EAAMsoB,OAAQtoB,EAAM/T,OAAQ+T,EAAM1V,OAAQ,WAGtDqD,EAAM+4B,MAGRtb,EADwB,OAAjBzd,EAAM64B,OACJlgC,KAAKyhC,eAAep6B,EAAMjE,IAAKsW,EAAO7M,GAEtC7M,KAAK0hC,cAAchoB,EAAO7M,IAEjC6M,EAAMkU,QAAQ9I,GAChB,OAAOA,EAYT,GATKzd,EAAM+4B,KAAwB,OAAjB/4B,EAAM64B,QAAsC,OAAnB74B,EAAM24B,UAC/C34B,EAAM24B,SAASl/B,SAAQ,SAAwB+/B,GAG7CA,EAAMK,QAAQxnB,EAAO7M,EACvB,IAIExF,EAAMo5B,WAA2B,WAAdp5B,EAAMjE,KAAkC,WAAdiE,EAAMjE,KAAmB,CACxE,IAAInD,EAAO,IAAI4/B,EAAc/a,GAC7BA,EAAS9kB,KAAKiiC,QAAQ56B,EAAMo5B,SAAU/mB,EAAMwoB,eAAej7B,KACtDi6B,QAAQjhC,EAAM4M,EACrB,CACF,CAYA,OATIxF,EAAMJ,KAAOo6B,IACfvc,EAASpL,EAAMyoB,YAAYf,IAGX,OAAd/5B,EAAMtG,KAA4B,OAAX+jB,IAA+B,IAAZuc,EAEzB,OAAZC,GACP5nB,EAAM0oB,QAAQd,GAFd5nB,EAAM2oB,SAASf,EAASj6B,EAAMtG,IAAK+jB,GAI9BA,CACT,EAEAliB,EAAK1B,UAAUugC,eAAiB,SAAuBr+B,EAAKsW,EAAO7M,GACjE,IAAIxF,EAAQrH,KAAKsH,WAEjB,MAAY,QAARlE,GAAyB,QAARA,EACZ,KACG,UAARA,GAA2B,UAARA,EACdpD,KAAKsiC,YAAY5oB,EAAOtW,EAAKiE,EAAMikB,KAAK,GAAIze,GAC5C,OAAOhI,KAAKzB,GACZpD,KAAKuiC,WAAW7oB,EAAOtW,EAAKyJ,GACpB,UAARzJ,GAAmBiE,EAAMikB,KACzBtrB,KAAKwiC,aAAa9oB,EAAOrS,EAAMikB,KAAK,GAAIjkB,EAAMikB,KAAK,GAAIze,GAC/C,UAARzJ,EACApD,KAAKwiC,aAAa9oB,EAAO,KAAM,KAAM7M,GAC7B,YAARzJ,GAA6B,YAARA,EACrBpD,KAAKyiC,YAAY/oB,EAAOtW,EAAKyJ,GACrB,UAARzJ,EACApD,KAAK0iC,YAAYhpB,EAAO7M,GAChB,SAARzJ,EACApD,KAAK2iC,YAAYjpB,EAAO7M,GAChB,YAARzJ,EACApD,KAAKuiC,WAAW7oB,EAAOtW,EAAKyJ,GACpB,QAARzJ,GAAyB,SAARA,EACjBpD,KAAK4iC,WAAWlpB,EAAOrS,EAAMikB,MAAQjkB,EAAMikB,KAAK,GAAIze,GAE3C,OAAdxF,EAAMg5B,IACDrgC,KAAKiiC,QAAQ56B,EAAMg5B,IAAK3mB,EAAMwoB,eAAej7B,KAC/Ci6B,QAAQxnB,EAAO7M,GAEb6M,EAAM7V,MAAM,gBAAkBT,EAEzC,EAEAR,EAAK1B,UAAU+gC,QAAU,SAAiB5/B,EAAQ4E,GAEhD,IAAII,EAAQrH,KAAKsH,WASjB,OAPAD,EAAMi5B,WAAatgC,KAAKgH,KAAK3E,EAAQ4E,GACrCwO,EAA8C,OAAvCpO,EAAMi5B,WAAWh5B,WAAW3E,QACnC0E,EAAMi5B,WAAaj5B,EAAMi5B,WAAWh5B,WAAW04B,SAAS,GACpD34B,EAAMm5B,WAAan5B,EAAMi5B,WAAWh5B,WAAWk5B,WACjDn5B,EAAMi5B,WAAaj5B,EAAMi5B,WAAWziB,QACpCxW,EAAMi5B,WAAWh5B,WAAWk5B,SAAWn5B,EAAMm5B,UAExCn5B,EAAMi5B,UACf,EAEA19B,EAAK1B,UAAUwgC,cAAgB,SAAsBhoB,EAAO7M,GAC1D,IAAIxF,EAAQrH,KAAKsH,WACbwd,EAAS,KACTC,GAAQ,EAmBZ,OAjBAnkB,OAAOC,KAAKwG,EAAM64B,QAAQ2C,MAAK,SAAS9hC,GACtC,IAAI06B,EAAO/hB,EAAM+hB,OACbqH,EAAOz7B,EAAM64B,OAAOn/B,GACxB,IACE,IAAIgG,EAAQ+7B,EAAK5B,QAAQxnB,EAAO7M,GAChC,GAAI6M,EAAMkU,QAAQ7mB,GAChB,OAAO,EAET+d,EAAS,CAAE/a,KAAMhJ,EAAKgG,MAAOA,GAC7Bge,GAAQ,CACV,CAAE,MAAO7N,GAEP,OADAwC,EAAMioB,QAAQlG,IACP,CACT,CACA,OAAO,CACT,GAAGz7B,MAEE+kB,EAGED,EAFEpL,EAAM7V,MAAM,qBAGvB,EAMAjB,EAAK1B,UAAU+C,qBAAuB,SAA6BhE,GACjE,OAAO,IAAI2/B,EAAc3/B,EAAMD,KAAKgD,SACtC,EAEAJ,EAAK1B,UAAU+B,QAAU,SAAgBhD,EAAM+C,EAAUL,GACvD,IAAI0E,EAAQrH,KAAKsH,WACjB,GAAyB,OAArBD,EAAe,SAAcA,EAAe,UAAMpH,EAAtD,CAGA,IAAI6kB,EAAS9kB,KAAKyH,aAAaxH,EAAM+C,EAAUL,GAC/C,QAAe4E,IAAXud,IAGA9kB,KAAKmH,aAAa2d,EAAQ9hB,EAAUL,GAGxC,OAAOmiB,CATC,CAUV,EAEAliB,EAAK1B,UAAUuG,aAAe,SAAgBxH,EAAM+C,EAAUL,GAC5D,IAAI0E,EAAQrH,KAAKsH,WAGjB,GAAqB,OAAjBD,EAAM1E,OACR,OAAO0E,EAAM24B,SAAS,GAAG/8B,QAAQhD,EAAM+C,GAAY,IAAI28B,GAEzD,IAAI7a,EAAS,KAMb,GAHA9kB,KAAKgD,SAAWA,EAGZqE,EAAM84B,eAAqB54B,IAATtH,EAAoB,CACxC,GAAyB,OAArBoH,EAAe,QAGjB,OAFApH,EAAOoH,EAAe,OAG1B,CAGA,IAAI9D,EAAU,KACVF,GAAY,EAChB,GAAIgE,EAAM+4B,IAERtb,EAAS9kB,KAAKiE,qBAAqBhE,QAC9B,GAAIoH,EAAM64B,OACfpb,EAAS9kB,KAAK+iC,cAAc9iC,EAAM+C,QAC7B,GAAIqE,EAAMo5B,SACfl9B,EAAUvD,KAAKiiC,QAAQ56B,EAAMo5B,SAAU99B,GAAQM,QAAQhD,EAAM+C,GAC7DK,GAAY,OACP,GAAIgE,EAAM24B,SACfz8B,EAAU8D,EAAM24B,SAAS92B,KAAI,SAAS23B,GACpC,GAA6B,UAAzBA,EAAMv5B,WAAWlE,IACnB,OAAOy9B,EAAM59B,QAAQ,KAAMD,EAAU/C,GAEvC,GAA6B,OAAzB4gC,EAAMv5B,WAAWvG,IACnB,OAAOiC,EAASa,MAAM,2BACxB,IAAIy9B,EAAUt+B,EAASu+B,SAASV,EAAMv5B,WAAWvG,KAEjD,GAAoB,iBAATd,EACT,OAAO+C,EAASa,MAAM,2CAExB,IAAIH,EAAMm9B,EAAM59B,QAAQhD,EAAK4gC,EAAMv5B,WAAWvG,KAAMiC,EAAU/C,GAG9D,OAFA+C,EAASq/B,SAASf,GAEX59B,CACT,GAAG1D,MAAM2Y,QAAO,SAASkoB,GACvB,OAAOA,CACT,IACAt9B,EAAUvD,KAAKiE,qBAAqBV,QAEpC,GAAkB,UAAd8D,EAAMjE,KAAiC,UAAdiE,EAAMjE,IAAiB,CAElD,IAAMiE,EAAMikB,MAA8B,IAAtBjkB,EAAMikB,KAAKtnB,OAC7B,OAAOhB,EAASa,MAAM,uBAAyBwD,EAAMjE,KAEvD,IAAK8B,MAAMC,QAAQlF,GACjB,OAAO+C,EAASa,MAAM,sCAExB,IAAIg9B,EAAQ7gC,KAAK6d,QACjBgjB,EAAMv5B,WAAWk5B,SAAW,KAC5Bj9B,EAAUvD,KAAKiE,qBAAqBhE,EAAKiJ,KAAI,SAASu1B,GACpD,IAAIp3B,EAAQrH,KAAKsH,WAEjB,OAAOtH,KAAKiiC,QAAQ56B,EAAMikB,KAAK,GAAIrrB,GAAMgD,QAAQw7B,EAAMz7B,EACzD,GAAG69B,GACL,MAAyB,OAAdx5B,EAAMg5B,IACfvb,EAAS9kB,KAAKiiC,QAAQ56B,EAAMg5B,IAAK19B,GAAQM,QAAQhD,EAAM+C,IAEvDO,EAAUvD,KAAKgjC,iBAAiB37B,EAAMjE,IAAKnD,GAC3CoD,GAAY,GAMhB,IAAKgE,EAAM+4B,KAAwB,OAAjB/4B,EAAM64B,OAAiB,CACvC,IAAI98B,EAAyB,OAAnBiE,EAAMm5B,SAAoBn5B,EAAMm5B,SAAWn5B,EAAMjE,IACvDE,EAAyB,OAAnB+D,EAAMm5B,SAAoB,YAAc,UAEtC,OAARp9B,EACgB,OAAdiE,EAAMg5B,KACRr9B,EAASa,MAAM,wCAEC,OAAdwD,EAAMg5B,MACRvb,EAAS9kB,KAAKmD,iBAAiBC,EAAKC,EAAWC,EAAKC,GAE1D,CAMA,OAHuB,OAAnB8D,EAAMk5B,WACRzb,EAAS9kB,KAAKmD,iBAAiBkE,EAAMk5B,UAAU,EAAO,UAAWzb,IAE5DA,CACT,EAEAliB,EAAK1B,UAAU6hC,cAAgB,SAAsB9iC,EAAM+C,GACzD,IAAIqE,EAAQrH,KAAKsH,WAEbw7B,EAAOz7B,EAAM64B,OAAOjgC,EAAK8J,MAO7B,OANK+4B,GACHrtB,GACI,EACAxV,EAAK8J,KAAO,iBACR1E,KAAKC,UAAU1E,OAAOC,KAAKwG,EAAM64B,UAEpC4C,EAAK7/B,QAAQhD,EAAK8G,MAAO/D,EAClC,EAEAJ,EAAK1B,UAAU8hC,iBAAmB,SAAyB5/B,EAAKnD,GAC9D,IAAIoH,EAAQrH,KAAKsH,WAEjB,GAAI,OAAOzC,KAAKzB,GACd,OAAOpD,KAAKqE,WAAWpE,EAAMmD,GAC1B,GAAY,UAARA,GAAmBiE,EAAMikB,KAChC,OAAOtrB,KAAK8E,aAAa7E,EAAMoH,EAAM44B,YAAY,GAAI54B,EAAMikB,KAAK,IAC7D,GAAY,UAARloB,EACP,OAAOpD,KAAK8E,aAAa7E,EAAM,KAAM,MAClC,GAAY,YAARmD,GAA6B,YAARA,EAC5B,OAAOpD,KAAK4F,YAAY3F,EAAMmD,GAC3B,GAAY,UAARA,EACP,OAAOpD,KAAKsG,cACT,GAAY,QAARlD,GAAyB,SAARA,EACxB,OAAOpD,KAAKuG,WAAWtG,EAAMoH,EAAMikB,MAAQjkB,EAAM44B,YAAY,IAC1D,GAAY,SAAR78B,EACP,OAAOpD,KAAK8G,YAAY7G,GACrB,GAAY,YAARmD,EACP,OAAOpD,KAAKqE,WAAWpE,EAAMmD,GAE7B,MAAM,IAAIlD,MAAM,oBAAsBkD,EAC1C,EAEAR,EAAK1B,UAAUyD,UAAY,SAAkBL,GAC3C,MAAO,YAAYO,KAAKP,EAC1B,EAEA1B,EAAK1B,UAAU0D,YAAc,SAAoBN,GAC/C,MAAO,oCAAoCO,KAAKP,EAClD,C,WCtnBAzC,EAAOC,QAAUC,SAASb,UAAUgU,K,WCApC,SAAS+tB,EAASj5B,GAChB,QAASjE,KAAKm9B,MAAQl5B,GAFP,IAE2B,KAC5C,CAEAnI,EAAOC,QAAU,SAAUqhC,GACzB,MAAMn5B,GAASjE,KAAKm9B,MAEd19B,EATW,IASU29B,GAAW,GAChC31B,EAAS,CAAC,GAChB,IAAI41B,EAAU,EACVve,EAAQoe,EAAQj5B,GAAS,EAbf,MAed,OAAO,SAAUq5B,GACf,MAAMC,EAAOL,EAAQj5B,GACrB,IAAIu5B,EAAQD,EAAOze,EAjBP,MAqBZ,IAHI0e,EAAO/9B,IAAM+9B,EAAO/9B,GACxBqf,EAAOye,EAEAC,KACDH,IAAY59B,IAAM49B,EAAU,GAChC51B,EAAO41B,GAAW51B,EAAmB,IAAZ41B,EAAgB59B,EAAO,EAAI49B,EAAU,GAC9DA,IAGEC,IAAO71B,EAAO41B,EAAU,IAAMC,GAElC,MAAMG,EAAMh2B,EAAO41B,EAAU,GACvBK,EAAMj2B,EAAOxJ,OAASwB,EAAO,EAAIgI,EAAO41B,IAAY59B,EAAO,EAAI49B,GAErE,OAAO51B,EAAOxJ,OA/BC,GA+BqBw/B,EA/BrB,IA+B4BA,EAAMC,GAAoBj2B,EAAOxJ,MAC9E,CACF,C,iBChCA,IAAI0b,EAAU,EAAQ,MAGtB7d,EAAOC,QAAU4d,EAAQhQ,gBAAkB,I,WCH3C,IAAIg0B,EAAQ9iC,OAAOM,UAAUS,SAE7BE,EAAOC,QAAU,SAAqBiF,GACrC,IAAIzC,EAAMo/B,EAAM3jC,KAAKgH,GACjB48B,EAAiB,uBAARr/B,EASb,OARKq/B,IACJA,EAAiB,mBAARr/B,GACE,OAAVyC,GACiB,iBAAVA,GACiB,iBAAjBA,EAAM/C,QACb+C,EAAM/C,QAAU,GACa,sBAA7B0/B,EAAM3jC,KAAKgH,EAAM68B,SAEZD,CACR,C,iBCdA,IAAIE,EAAO,EAAQ,MACnBhiC,EAAOC,QAAU,IAAI+hC,EAAK,EAAQ,M,iBCElC,IAAI7hC,EAAO,EAAQ,MAEnBF,EAAQgiC,YAAc,EAAtB,MAEA,IAAIC,EAAgB/hC,EAAKgiC,OAAO,iBAAiB,WAChDhkC,KAAKikC,MAAMh9B,IACVjH,KAAKe,IAAI,WAAgB,MACzBf,KAAKe,IAAI,WAAgB,MACzBf,KAAKe,IAAI,kBAAuB,MAChCf,KAAKe,IAAI,mBAAwB,MACjCf,KAAKe,IAAI,UAAe,MACxBf,KAAKe,IAAI,UAAe,MACxBf,KAAKe,IAAI,aAAkB,MAC3Bf,KAAKe,IAAI,aAAkB,MAC3Bf,KAAKe,IAAI,eAAoB,MAE/B,IACAe,EAAQiiC,cAAgBA,EAExB,IAAIG,EAAeliC,EAAKgiC,OAAO,gBAAgB,WAC9ChkC,KAAKikC,MAAMh9B,IACVjH,KAAKe,IAAI,WAAgB,MACzBf,KAAKe,IAAI,kBAAuB,MAElC,IACAe,EAAQoiC,aAAeA,EAEvB,IAAIC,EAAsBniC,EAAKgiC,OAAO,uBAAuB,WAC5DhkC,KAAKikC,MAAMh9B,IACVjH,KAAKe,IAAI,aAAa2E,QACtB1F,KAAKe,IAAI,QAAQqjC,QAAQjE,WACzBngC,KAAKe,IAAI,SAAS2E,QAAQy6B,WAC1BngC,KAAKe,IAAI,UAAUkjC,MAAMh9B,IACxBjH,KAAKe,IAAI,KAAU,MACnBf,KAAKe,IAAI,KAAU,MACnBf,KAAKe,IAAI,KAAU,OAClBo/B,WAEJ,IAEIkE,EAAYriC,EAAKgiC,OAAO,wBAAwB,WACnDhkC,KAAKikC,MAAMh9B,IACVjH,KAAKe,IAAI,aAAas/B,IAAI8D,GAC1BnkC,KAAKe,IAAI,oBAAoBujC,SAE/B,IACAxiC,EAAQuiC,UAAYA,EAEpB,IAAIE,EAAiBviC,EAAKgiC,OAAO,kBAAkB,WAClDhkC,KAAKikC,MAAMh9B,IACVjH,KAAKe,IAAI,WAAgB,MACzBf,KAAKe,IAAI,aAAas/B,IAAI8D,GAC1BnkC,KAAKe,IAAI,qBAAqByjC,SAEhC,IACA1iC,EAAQ2iC,WAAaF,EACrB,IAAIG,EAA0B1iC,EAAKgiC,OAAO,2BAA2B,WACpEhkC,KAAKikC,MAAMh9B,IACVjH,KAAKe,IAAI,aAAakjC,MAAMh9B,IAC3BjH,KAAKe,IAAI,MAAM2E,QACf1F,KAAKe,IAAI,WAAWkjC,MAAMh9B,IACzBjH,KAAKe,IAAI,OAAOkjC,MAAMh9B,IACrBjH,KAAKe,IAAI,MAAM2E,QACf1F,KAAKe,IAAI,aAAakjC,MAAMh9B,IAC3BjH,KAAKe,IAAI,QAAQyjC,SACjBxkC,KAAKe,IAAI,SAAc,QAGzBf,KAAKe,IAAI,UAAUkjC,MAAMh9B,IACxBjH,KAAKe,IAAI,QAAQ2E,QACjB1F,KAAKe,IAAI,MAAMyjC,YAIlBxkC,KAAKe,IAAI,qBAAqByjC,SAEhC,IAEA1iC,EAAQ6iC,oBAAsBD,EAE9B,IAAIE,EAAgB5iC,EAAKgiC,OAAO,iBAAiB,WAChDhkC,KAAKikC,MAAMh9B,IACVjH,KAAKe,IAAI,WAAgB,MACzBf,KAAKe,IAAI,KAAU,MACnBf,KAAKe,IAAI,KAAU,MACnBf,KAAKe,IAAI,KAAU,MACnBf,KAAKe,IAAI,WAAgB,MACzBf,KAAKe,IAAI,YAAiB,MAE5B,IACAe,EAAQ8iC,cAAgBA,EAExB9iC,EAAQ+iC,SAAW7iC,EAAKgiC,OAAO,YAAY,WAC1ChkC,KAAU,KACX,IAEA,IAAI8kC,EAAe9iC,EAAKgiC,OAAO,gBAAgB,WAC9ChkC,KAAKkgC,OAAO,CACX6E,WAAY/kC,KAAK0F,SAEnB,IAEIs/B,EAAehjC,EAAKgiC,OAAO,gBAAgB,WAC9ChkC,KAAKikC,MAAMh9B,IACVjH,KAAKe,IAAI,WAAgB,MACzBf,KAAKe,IAAI,cAAcyjC,SACvBxkC,KAAKe,IAAI,cAAco/B,WAAWI,SAAS,GAAGF,IAAIyE,GAClD9kC,KAAKe,IAAI,aAAao/B,WAAWI,SAAS,GAAG+D,SAE/C,IACAxiC,EAAQkjC,aAAeA,EAEvBljC,EAAQmjC,UAAYjjC,EAAKgiC,OAAO,aAAa,WAC5ChkC,KAAKikC,MAAMh9B,IACVjH,KAAKe,IAAI,KAAU,MACnBf,KAAKe,IAAI,KAAU,MAErB,G,wBC1HA,SAAWc,EAAQC,GAIjB,SAAS2T,EAAQ+X,EAAK/jB,GACpB,IAAK+jB,EAAK,MAAM,IAAIttB,MAAMuJ,GAAO,mBACnC,CAIA,SAASjK,EAAU0lC,EAAMC,GACvBD,EAAKE,OAASD,EACd,IAAIE,EAAW,WAAa,EAC5BA,EAASnkC,UAAYikC,EAAUjkC,UAC/BgkC,EAAKhkC,UAAY,IAAImkC,EACrBH,EAAKhkC,UAAUsH,YAAc08B,CAC/B,CAIA,SAAS3vB,EAAIyP,EAAQ/iB,EAAMqjC,GACzB,GAAI/vB,EAAGgwB,KAAKvgB,GACV,OAAOA,EAGThlB,KAAKwlC,SAAW,EAChBxlC,KAAKylC,MAAQ,KACbzlC,KAAKgE,OAAS,EAGdhE,KAAKkb,IAAM,KAEI,OAAX8J,IACW,OAAT/iB,GAA0B,OAATA,IACnBqjC,EAASrjC,EACTA,EAAO,IAGTjC,KAAKyC,MAAMuiB,GAAU,EAAG/iB,GAAQ,GAAIqjC,GAAU,MAElD,CAUA,IAAIjmC,EATkB,iBAAXwC,EACTA,EAAOC,QAAUyT,EAEjBzT,EAAQyT,GAAKA,EAGfA,EAAGA,GAAKA,EACRA,EAAGmwB,SAAW,GAGd,IAEIrmC,EADoB,oBAAX4M,aAAmD,IAAlBA,OAAO5M,OACxC4M,OAAO5M,OAEP,cAEb,CAAE,MAAO6X,GACT,CA+HA,SAASyuB,EAAehhB,EAAQhQ,GAC9B,IAAIhD,EAAIgT,EAAOjgB,WAAWiQ,GAE1B,OAAIhD,GAAK,IAAMA,GAAK,GACXA,EAAI,GAEFA,GAAK,IAAMA,GAAK,IAClBA,EAAI,GAGHA,EAAI,GAAM,EAEtB,CAEA,SAASi0B,EAAcjhB,EAAQkhB,EAAYlxB,GACzC,IAAImxB,EAAIH,EAAchhB,EAAQhQ,GAI9B,OAHIA,EAAQ,GAAKkxB,IACfC,GAAKH,EAAchhB,EAAQhQ,EAAQ,IAAM,GAEpCmxB,CACT,CA6CA,SAASC,EAAWzhC,EAAK0F,EAAOxI,EAAKkc,GAGnC,IAFA,IAAIooB,EAAI,EACJ78B,EAAMqE,KAAK8K,IAAI9T,EAAIN,OAAQxC,GACtB2C,EAAI6F,EAAO7F,EAAI8E,EAAK9E,IAAK,CAChC,IAAIwN,EAAIrN,EAAII,WAAWP,GAAK,GAE5B2hC,GAAKpoB,EAIHooB,GADEn0B,GAAK,GACFA,EAAI,GAAK,GAGLA,GAAK,GACTA,EAAI,GAAK,GAITA,CAET,CACA,OAAOm0B,CACT,CApNAvwB,EAAGgwB,KAAO,SAAeziC,GACvB,OAAIA,aAAeyS,GAIJ,OAARzS,GAA+B,iBAARA,GAC5BA,EAAI0F,YAAYk9B,WAAanwB,EAAGmwB,UAAYxgC,MAAMC,QAAQrC,EAAI2iC,MAClE,EAEAlwB,EAAG2K,IAAM,SAAc8lB,EAAMC,GAC3B,OAAID,EAAK3pB,IAAI4pB,GAAS,EAAUD,EACzBC,CACT,EAEA1wB,EAAG6C,IAAM,SAAc4tB,EAAMC,GAC3B,OAAID,EAAK3pB,IAAI4pB,GAAS,EAAUD,EACzBC,CACT,EAEA1wB,EAAGrU,UAAUuB,MAAQ,SAAeuiB,EAAQ/iB,EAAMqjC,GAChD,GAAsB,iBAAXtgB,EACT,OAAOhlB,KAAKkmC,YAAYlhB,EAAQ/iB,EAAMqjC,GAGxC,GAAsB,iBAAXtgB,EACT,OAAOhlB,KAAKmmC,WAAWnhB,EAAQ/iB,EAAMqjC,GAG1B,QAATrjC,IACFA,EAAO,IAETwT,EAAOxT,KAAiB,EAAPA,IAAaA,GAAQ,GAAKA,GAAQ,IAGnD,IAAI+H,EAAQ,EACM,OAFlBgb,EAASA,EAAOrjB,WAAWgI,QAAQ,OAAQ,KAEhC,KACTK,IACAhK,KAAKwlC,SAAW,GAGdx7B,EAAQgb,EAAOhhB,SACJ,KAAT/B,EACFjC,KAAKomC,UAAUphB,EAAQhb,EAAOs7B,IAE9BtlC,KAAKqmC,WAAWrhB,EAAQ/iB,EAAM+H,GACf,OAAXs7B,GACFtlC,KAAKmmC,WAAWnmC,KAAK0G,UAAWzE,EAAMqjC,IAI9C,EAEA/vB,EAAGrU,UAAUglC,YAAc,SAAsBlhB,EAAQ/iB,EAAMqjC,GACzDtgB,EAAS,IACXhlB,KAAKwlC,SAAW,EAChBxgB,GAAUA,GAERA,EAAS,UACXhlB,KAAKylC,MAAQ,CAAW,SAATzgB,GACfhlB,KAAKgE,OAAS,GACLghB,EAAS,kBAClBhlB,KAAKylC,MAAQ,CACF,SAATzgB,EACCA,EAAS,SAAa,UAEzBhlB,KAAKgE,OAAS,IAEdyR,EAAOuP,EAAS,kBAChBhlB,KAAKylC,MAAQ,CACF,SAATzgB,EACCA,EAAS,SAAa,SACvB,GAEFhlB,KAAKgE,OAAS,GAGD,OAAXshC,GAGJtlC,KAAKmmC,WAAWnmC,KAAK0G,UAAWzE,EAAMqjC,EACxC,EAEA/vB,EAAGrU,UAAUilC,WAAa,SAAqBnhB,EAAQ/iB,EAAMqjC,GAG3D,GADA7vB,EAAgC,iBAAlBuP,EAAOhhB,QACjBghB,EAAOhhB,QAAU,EAGnB,OAFAhE,KAAKylC,MAAQ,CAAE,GACfzlC,KAAKgE,OAAS,EACPhE,KAGTA,KAAKgE,OAASsJ,KAAK8qB,KAAKpT,EAAOhhB,OAAS,GACxChE,KAAKylC,MAAQ,IAAIvgC,MAAMlF,KAAKgE,QAC5B,IAAK,IAAIG,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAC/BnE,KAAKylC,MAAMthC,GAAK,EAGlB,IAAIC,EAAGkiC,EACHzN,EAAM,EACV,GAAe,OAAXyM,EACF,IAAKnhC,EAAI6gB,EAAOhhB,OAAS,EAAGI,EAAI,EAAGD,GAAK,EAAGA,GAAK,EAC9CmiC,EAAIthB,EAAO7gB,GAAM6gB,EAAO7gB,EAAI,IAAM,EAAM6gB,EAAO7gB,EAAI,IAAM,GACzDnE,KAAKylC,MAAMrhC,IAAOkiC,GAAKzN,EAAO,SAC9B74B,KAAKylC,MAAMrhC,EAAI,GAAMkiC,IAAO,GAAKzN,EAAQ,UACzCA,GAAO,KACI,KACTA,GAAO,GACPz0B,UAGC,GAAe,OAAXkhC,EACT,IAAKnhC,EAAI,EAAGC,EAAI,EAAGD,EAAI6gB,EAAOhhB,OAAQG,GAAK,EACzCmiC,EAAIthB,EAAO7gB,GAAM6gB,EAAO7gB,EAAI,IAAM,EAAM6gB,EAAO7gB,EAAI,IAAM,GACzDnE,KAAKylC,MAAMrhC,IAAOkiC,GAAKzN,EAAO,SAC9B74B,KAAKylC,MAAMrhC,EAAI,GAAMkiC,IAAO,GAAKzN,EAAQ,UACzCA,GAAO,KACI,KACTA,GAAO,GACPz0B,KAIN,OAAOpE,KAAKumC,OACd,EAwBAhxB,EAAGrU,UAAUklC,UAAY,SAAoBphB,EAAQhb,EAAOs7B,GAE1DtlC,KAAKgE,OAASsJ,KAAK8qB,MAAMpT,EAAOhhB,OAASgG,GAAS,GAClDhK,KAAKylC,MAAQ,IAAIvgC,MAAMlF,KAAKgE,QAC5B,IAAK,IAAIG,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAC/BnE,KAAKylC,MAAMthC,GAAK,EAIlB,IAGImiC,EAHAzN,EAAM,EACNz0B,EAAI,EAGR,GAAe,OAAXkhC,EACF,IAAKnhC,EAAI6gB,EAAOhhB,OAAS,EAAGG,GAAK6F,EAAO7F,GAAK,EAC3CmiC,EAAIV,EAAa5gB,EAAQhb,EAAO7F,IAAM00B,EACtC74B,KAAKylC,MAAMrhC,IAAU,SAAJkiC,EACbzN,GAAO,IACTA,GAAO,GACPz0B,GAAK,EACLpE,KAAKylC,MAAMrhC,IAAMkiC,IAAM,IAEvBzN,GAAO,OAKX,IAAK10B,GADa6gB,EAAOhhB,OAASgG,GACX,GAAM,EAAIA,EAAQ,EAAIA,EAAO7F,EAAI6gB,EAAOhhB,OAAQG,GAAK,EAC1EmiC,EAAIV,EAAa5gB,EAAQhb,EAAO7F,IAAM00B,EACtC74B,KAAKylC,MAAMrhC,IAAU,SAAJkiC,EACbzN,GAAO,IACTA,GAAO,GACPz0B,GAAK,EACLpE,KAAKylC,MAAMrhC,IAAMkiC,IAAM,IAEvBzN,GAAO,EAKb74B,KAAKumC,OACP,EA0BAhxB,EAAGrU,UAAUmlC,WAAa,SAAqBrhB,EAAQ/iB,EAAM+H,GAE3DhK,KAAKylC,MAAQ,CAAE,GACfzlC,KAAKgE,OAAS,EAGd,IAAK,IAAIwiC,EAAU,EAAGC,EAAU,EAAGA,GAAW,SAAWA,GAAWxkC,EAClEukC,IAEFA,IACAC,EAAWA,EAAUxkC,EAAQ,EAO7B,IALA,IAAIykC,EAAQ1hB,EAAOhhB,OAASgG,EACxB28B,EAAMD,EAAQF,EACdhlC,EAAM8L,KAAK8K,IAAIsuB,EAAOA,EAAQC,GAAO38B,EAErC48B,EAAO,EACFziC,EAAI6F,EAAO7F,EAAI3C,EAAK2C,GAAKqiC,EAChCI,EAAOb,EAAU/gB,EAAQ7gB,EAAGA,EAAIqiC,EAASvkC,GAEzCjC,KAAK6mC,MAAMJ,GACPzmC,KAAKylC,MAAM,GAAKmB,EAAO,SACzB5mC,KAAKylC,MAAM,IAAMmB,EAEjB5mC,KAAK8mC,OAAOF,GAIhB,GAAY,IAARD,EAAW,CACb,IAAI/uB,EAAM,EAGV,IAFAgvB,EAAOb,EAAU/gB,EAAQ7gB,EAAG6gB,EAAOhhB,OAAQ/B,GAEtCkC,EAAI,EAAGA,EAAIwiC,EAAKxiC,IACnByT,GAAO3V,EAGTjC,KAAK6mC,MAAMjvB,GACP5X,KAAKylC,MAAM,GAAKmB,EAAO,SACzB5mC,KAAKylC,MAAM,IAAMmB,EAEjB5mC,KAAK8mC,OAAOF,EAEhB,CAEA5mC,KAAKumC,OACP,EAEAhxB,EAAGrU,UAAU2F,KAAO,SAAe+L,GACjCA,EAAK6yB,MAAQ,IAAIvgC,MAAMlF,KAAKgE,QAC5B,IAAK,IAAIG,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAC/ByO,EAAK6yB,MAAMthC,GAAKnE,KAAKylC,MAAMthC,GAE7ByO,EAAK5O,OAAShE,KAAKgE,OACnB4O,EAAK4yB,SAAWxlC,KAAKwlC,SACrB5yB,EAAKsI,IAAMlb,KAAKkb,GAClB,EAEA3F,EAAGrU,UAAU2c,MAAQ,WACnB,IAAIioB,EAAI,IAAIvwB,EAAG,MAEf,OADAvV,KAAK6G,KAAKi/B,GACHA,CACT,EAEAvwB,EAAGrU,UAAU6lC,QAAU,SAAkBvhC,GACvC,KAAOxF,KAAKgE,OAASwB,GACnBxF,KAAKylC,MAAMzlC,KAAKgE,UAAY,EAE9B,OAAOhE,IACT,EAGAuV,EAAGrU,UAAUqlC,MAAQ,WACnB,KAAOvmC,KAAKgE,OAAS,GAAqC,IAAhChE,KAAKylC,MAAMzlC,KAAKgE,OAAS,IACjDhE,KAAKgE,SAEP,OAAOhE,KAAKgnC,WACd,EAEAzxB,EAAGrU,UAAU8lC,UAAY,WAKvB,OAHoB,IAAhBhnC,KAAKgE,QAAkC,IAAlBhE,KAAKylC,MAAM,KAClCzlC,KAAKwlC,SAAW,GAEXxlC,IACT,EAEAuV,EAAGrU,UAAU+Y,QAAU,WACrB,OAAQja,KAAKkb,IAAM,UAAY,SAAWlb,KAAK2B,SAAS,IAAM,GAChE,EAgCA,IAAIwxB,EAAQ,CACV,GACA,IACA,KACA,MACA,OACA,QACA,SACA,UACA,WACA,YACA,aACA,cACA,eACA,gBACA,iBACA,kBACA,mBACA,oBACA,qBACA,sBACA,uBACA,wBACA,yBACA,0BACA,2BACA,6BAGE8T,EAAa,CACf,EAAG,EACH,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EACvB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAClB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAClB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAClB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAGhBC,EAAa,CACf,EAAG,EACH,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAC5D,SAAU,IAAU,SAAU,SAAU,SAAU,QAAS,SAC3D,SAAU,SAAU,SAAU,SAAU,KAAU,QAAS,QAC3D,QAAS,QAAS,QAAS,SAAU,SAAU,SAAU,SACzD,MAAU,SAAU,SAAU,SAAU,SAAU,SAAU,UAsjB9D,SAASC,EAAYj7B,EAAMpJ,EAAK8D,GAC9BA,EAAI4+B,SAAW1iC,EAAI0iC,SAAWt5B,EAAKs5B,SACnC,IAAIv8B,EAAOiD,EAAKlI,OAASlB,EAAIkB,OAAU,EACvC4C,EAAI5C,OAASiF,EACbA,EAAOA,EAAM,EAAK,EAGlB,IAAIiP,EAAoB,EAAhBhM,EAAKu5B,MAAM,GACfttB,EAAmB,EAAfrV,EAAI2iC,MAAM,GACdK,EAAI5tB,EAAIC,EAERivB,EAAS,SAAJtB,EACLuB,EAASvB,EAAI,SAAa,EAC9Bl/B,EAAI6+B,MAAM,GAAK2B,EAEf,IAAK,IAAIzpB,EAAI,EAAGA,EAAI1U,EAAK0U,IAAK,CAM5B,IAHA,IAAI2pB,EAASD,IAAU,GACnBE,EAAgB,SAARF,EACRG,EAAOl6B,KAAK8K,IAAIuF,EAAG7a,EAAIkB,OAAS,GAC3BI,EAAIkJ,KAAK4S,IAAI,EAAGvC,EAAIzR,EAAKlI,OAAS,GAAII,GAAKojC,EAAMpjC,IAAK,CAC7D,IAAID,EAAKwZ,EAAIvZ,EAAK,EAIlBkjC,IADAxB,GAFA5tB,EAAoB,EAAhBhM,EAAKu5B,MAAMthC,KACfgU,EAAmB,EAAfrV,EAAI2iC,MAAMrhC,IACFmjC,GACG,SAAa,EAC5BA,EAAY,SAAJzB,CACV,CACAl/B,EAAI6+B,MAAM9nB,GAAa,EAAR4pB,EACfF,EAAiB,EAATC,CACV,CAOA,OANc,IAAVD,EACFzgC,EAAI6+B,MAAM9nB,GAAa,EAAR0pB,EAEfzgC,EAAI5C,SAGC4C,EAAI2/B,OACb,CA1lBAhxB,EAAGrU,UAAUS,SAAW,SAAmBM,EAAMwlC,GAI/C,IAAI7gC,EACJ,GAHA6gC,EAAoB,EAAVA,GAAe,EAGZ,MAJbxlC,EAAOA,GAAQ,KAIa,QAATA,EAAgB,CACjC2E,EAAM,GAGN,IAFA,IAAIiyB,EAAM,EACNwO,EAAQ,EACHljC,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAAK,CACpC,IAAImiC,EAAItmC,KAAKylC,MAAMthC,GACfyiC,GAA+B,UAArBN,GAAKzN,EAAOwO,IAAmB1lC,SAAS,IACtD0lC,EAASf,IAAO,GAAKzN,EAAQ,UAC7BA,GAAO,IACI,KACTA,GAAO,GACP10B,KAGAyC,EADY,IAAVygC,GAAeljC,IAAMnE,KAAKgE,OAAS,EAC/BmvB,EAAM,EAAIyT,EAAK5iC,QAAU4iC,EAAOhgC,EAEhCggC,EAAOhgC,CAEjB,CAIA,IAHc,IAAVygC,IACFzgC,EAAMygC,EAAM1lC,SAAS,IAAMiF,GAEtBA,EAAI5C,OAASyjC,GAAY,GAC9B7gC,EAAM,IAAMA,EAKd,OAHsB,IAAlB5G,KAAKwlC,WACP5+B,EAAM,IAAMA,GAEPA,CACT,CAEA,GAAI3E,KAAiB,EAAPA,IAAaA,GAAQ,GAAKA,GAAQ,GAAI,CAElD,IAAIylC,EAAYT,EAAWhlC,GAEvB0lC,EAAYT,EAAWjlC,GAC3B2E,EAAM,GACN,IAAI+K,EAAI3R,KAAK6d,QAEb,IADAlM,EAAE6zB,SAAW,GACL7zB,EAAEi2B,UAAU,CAClB,IAAI9B,EAAIn0B,EAAEk2B,KAAKF,GAAWhmC,SAASM,GAMjC2E,GALF+K,EAAIA,EAAEm2B,MAAMH,IAELC,SAGC9B,EAAIl/B,EAFJusB,EAAMuU,EAAY5B,EAAE9hC,QAAU8hC,EAAIl/B,CAI5C,CAIA,IAHI5G,KAAK4nC,WACPhhC,EAAM,IAAMA,GAEPA,EAAI5C,OAASyjC,GAAY,GAC9B7gC,EAAM,IAAMA,EAKd,OAHsB,IAAlB5G,KAAKwlC,WACP5+B,EAAM,IAAMA,GAEPA,CACT,CAEA6O,GAAO,EAAO,kCAChB,EAEAF,EAAGrU,UAAU6mC,SAAW,WACtB,IAAI12B,EAAMrR,KAAKylC,MAAM,GASrB,OARoB,IAAhBzlC,KAAKgE,OACPqN,GAAuB,SAAhBrR,KAAKylC,MAAM,GACO,IAAhBzlC,KAAKgE,QAAkC,IAAlBhE,KAAKylC,MAAM,GAEzCp0B,GAAO,iBAAoC,SAAhBrR,KAAKylC,MAAM,GAC7BzlC,KAAKgE,OAAS,GACvByR,GAAO,EAAO,8CAEU,IAAlBzV,KAAKwlC,UAAmBn0B,EAAMA,CACxC,EAEAkE,EAAGrU,UAAU8mC,OAAS,WACpB,OAAOhoC,KAAK2B,SAAS,GACvB,EAEA4T,EAAGrU,UAAU02B,SAAW,SAAmB0N,EAAQthC,GAEjD,OADAyR,OAAyB,IAAXpW,GACPW,KAAKioC,YAAY5oC,EAAQimC,EAAQthC,EAC1C,EAEAuR,EAAGrU,UAAUwF,QAAU,SAAkB4+B,EAAQthC,GAC/C,OAAOhE,KAAKioC,YAAY/iC,MAAOogC,EAAQthC,EACzC,EAEAuR,EAAGrU,UAAU+mC,YAAc,SAAsBC,EAAW5C,EAAQthC,GAClE,IAAI2Y,EAAa3c,KAAK2c,aAClBwrB,EAAYnkC,GAAUsJ,KAAK4S,IAAI,EAAGvD,GACtClH,EAAOkH,GAAcwrB,EAAW,yCAChC1yB,EAAO0yB,EAAY,EAAG,+BAEtBnoC,KAAKumC,QACL,IAGIpuB,EAAGhU,EAHHikC,EAA0B,OAAX9C,EACf5hC,EAAM,IAAIwkC,EAAUC,GAGpBE,EAAIroC,KAAK6d,QACb,GAAKuqB,EAYE,CACL,IAAKjkC,EAAI,GAAIkkC,EAAET,SAAUzjC,IACvBgU,EAAIkwB,EAAErqB,MAAM,KACZqqB,EAAEtqB,OAAO,GAETra,EAAIS,GAAKgU,EAGX,KAAOhU,EAAIgkC,EAAWhkC,IACpBT,EAAIS,GAAK,CAEb,KAvBmB,CAEjB,IAAKA,EAAI,EAAGA,EAAIgkC,EAAYxrB,EAAYxY,IACtCT,EAAIS,GAAK,EAGX,IAAKA,EAAI,GAAIkkC,EAAET,SAAUzjC,IACvBgU,EAAIkwB,EAAErqB,MAAM,KACZqqB,EAAEtqB,OAAO,GAETra,EAAIykC,EAAYhkC,EAAI,GAAKgU,CAE7B,CAaA,OAAOzU,CACT,EAEI4J,KAAKg7B,MACP/yB,EAAGrU,UAAUqnC,WAAa,SAAqBjC,GAC7C,OAAO,GAAKh5B,KAAKg7B,MAAMhC,EACzB,EAEA/wB,EAAGrU,UAAUqnC,WAAa,SAAqBjC,GAC7C,IAAI1oB,EAAI0oB,EACJR,EAAI,EAiBR,OAhBIloB,GAAK,OACPkoB,GAAK,GACLloB,KAAO,IAELA,GAAK,KACPkoB,GAAK,EACLloB,KAAO,GAELA,GAAK,IACPkoB,GAAK,EACLloB,KAAO,GAELA,GAAK,IACPkoB,GAAK,EACLloB,KAAO,GAEFkoB,EAAIloB,CACb,EAGFrI,EAAGrU,UAAUsnC,UAAY,SAAoBlC,GAE3C,GAAU,IAANA,EAAS,OAAO,GAEpB,IAAI1oB,EAAI0oB,EACJR,EAAI,EAoBR,OAnBS,KAAJloB,IACHkoB,GAAK,GACLloB,KAAO,IAEA,IAAJA,IACHkoB,GAAK,EACLloB,KAAO,GAEA,GAAJA,IACHkoB,GAAK,EACLloB,KAAO,GAEA,EAAJA,IACHkoB,GAAK,EACLloB,KAAO,GAEA,EAAJA,GACHkoB,IAEKA,CACT,EAGAvwB,EAAGrU,UAAUunC,UAAY,WACvB,IAAInC,EAAItmC,KAAKylC,MAAMzlC,KAAKgE,OAAS,GAC7B0kC,EAAK1oC,KAAKuoC,WAAWjC,GACzB,OAA2B,IAAnBtmC,KAAKgE,OAAS,GAAU0kC,CAClC,EAgBAnzB,EAAGrU,UAAUynC,SAAW,WACtB,GAAI3oC,KAAK4nC,SAAU,OAAO,EAG1B,IADA,IAAI9B,EAAI,EACC3hC,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAAK,CACpC,IAAIgU,EAAInY,KAAKwoC,UAAUxoC,KAAKylC,MAAMthC,IAElC,GADA2hC,GAAK3tB,EACK,KAANA,EAAU,KAChB,CACA,OAAO2tB,CACT,EAEAvwB,EAAGrU,UAAUyb,WAAa,WACxB,OAAOrP,KAAK8qB,KAAKp4B,KAAKyoC,YAAc,EACtC,EAEAlzB,EAAGrU,UAAU0nC,OAAS,SAAiBC,GACrC,OAAsB,IAAlB7oC,KAAKwlC,SACAxlC,KAAK8X,MAAMgxB,MAAMD,GAAOE,MAAM,GAEhC/oC,KAAK6d,OACd,EAEAtI,EAAGrU,UAAU8nC,SAAW,SAAmBH,GACzC,OAAI7oC,KAAKipC,MAAMJ,EAAQ,GACd7oC,KAAKkpC,KAAKL,GAAOE,MAAM,GAAGI,OAE5BnpC,KAAK6d,OACd,EAEAtI,EAAGrU,UAAUkoC,MAAQ,WACnB,OAAyB,IAAlBppC,KAAKwlC,QACd,EAGAjwB,EAAGrU,UAAUmoC,IAAM,WACjB,OAAOrpC,KAAK6d,QAAQsrB,MACtB,EAEA5zB,EAAGrU,UAAUioC,KAAO,WAKlB,OAJKnpC,KAAK4nC,WACR5nC,KAAKwlC,UAAY,GAGZxlC,IACT,EAGAuV,EAAGrU,UAAUooC,KAAO,SAAexmC,GACjC,KAAO9C,KAAKgE,OAASlB,EAAIkB,QACvBhE,KAAKylC,MAAMzlC,KAAKgE,UAAY,EAG9B,IAAK,IAAIG,EAAI,EAAGA,EAAIrB,EAAIkB,OAAQG,IAC9BnE,KAAKylC,MAAMthC,GAAKnE,KAAKylC,MAAMthC,GAAKrB,EAAI2iC,MAAMthC,GAG5C,OAAOnE,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAUqoC,IAAM,SAAczmC,GAE/B,OADA2S,IAAQzV,KAAKwlC,SAAW1iC,EAAI0iC,WACrBxlC,KAAKspC,KAAKxmC,EACnB,EAGAyS,EAAGrU,UAAUsoC,GAAK,SAAa1mC,GAC7B,OAAI9C,KAAKgE,OAASlB,EAAIkB,OAAehE,KAAK6d,QAAQ0rB,IAAIzmC,GAC/CA,EAAI+a,QAAQ0rB,IAAIvpC,KACzB,EAEAuV,EAAGrU,UAAUuoC,IAAM,SAAc3mC,GAC/B,OAAI9C,KAAKgE,OAASlB,EAAIkB,OAAehE,KAAK6d,QAAQyrB,KAAKxmC,GAChDA,EAAI+a,QAAQyrB,KAAKtpC,KAC1B,EAGAuV,EAAGrU,UAAUwoC,MAAQ,SAAgB5mC,GAEnC,IAAIqV,EAEFA,EADEnY,KAAKgE,OAASlB,EAAIkB,OAChBlB,EAEA9C,KAGN,IAAK,IAAImE,EAAI,EAAGA,EAAIgU,EAAEnU,OAAQG,IAC5BnE,KAAKylC,MAAMthC,GAAKnE,KAAKylC,MAAMthC,GAAKrB,EAAI2iC,MAAMthC,GAK5C,OAFAnE,KAAKgE,OAASmU,EAAEnU,OAEThE,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAUyoC,KAAO,SAAe7mC,GAEjC,OADA2S,IAAQzV,KAAKwlC,SAAW1iC,EAAI0iC,WACrBxlC,KAAK0pC,MAAM5mC,EACpB,EAGAyS,EAAGrU,UAAU0oC,IAAM,SAAc9mC,GAC/B,OAAI9C,KAAKgE,OAASlB,EAAIkB,OAAehE,KAAK6d,QAAQ8rB,KAAK7mC,GAChDA,EAAI+a,QAAQ8rB,KAAK3pC,KAC1B,EAEAuV,EAAGrU,UAAU2oC,KAAO,SAAe/mC,GACjC,OAAI9C,KAAKgE,OAASlB,EAAIkB,OAAehE,KAAK6d,QAAQ6rB,MAAM5mC,GACjDA,EAAI+a,QAAQ6rB,MAAM1pC,KAC3B,EAGAuV,EAAGrU,UAAU4oC,MAAQ,SAAgBhnC,GAEnC,IAAIoV,EACAC,EACAnY,KAAKgE,OAASlB,EAAIkB,QACpBkU,EAAIlY,KACJmY,EAAIrV,IAEJoV,EAAIpV,EACJqV,EAAInY,MAGN,IAAK,IAAImE,EAAI,EAAGA,EAAIgU,EAAEnU,OAAQG,IAC5BnE,KAAKylC,MAAMthC,GAAK+T,EAAEutB,MAAMthC,GAAKgU,EAAEstB,MAAMthC,GAGvC,GAAInE,OAASkY,EACX,KAAO/T,EAAI+T,EAAElU,OAAQG,IACnBnE,KAAKylC,MAAMthC,GAAK+T,EAAEutB,MAAMthC,GAM5B,OAFAnE,KAAKgE,OAASkU,EAAElU,OAEThE,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAU6oC,KAAO,SAAejnC,GAEjC,OADA2S,IAAQzV,KAAKwlC,SAAW1iC,EAAI0iC,WACrBxlC,KAAK8pC,MAAMhnC,EACpB,EAGAyS,EAAGrU,UAAU8oC,IAAM,SAAclnC,GAC/B,OAAI9C,KAAKgE,OAASlB,EAAIkB,OAAehE,KAAK6d,QAAQksB,KAAKjnC,GAChDA,EAAI+a,QAAQksB,KAAK/pC,KAC1B,EAEAuV,EAAGrU,UAAU+oC,KAAO,SAAennC,GACjC,OAAI9C,KAAKgE,OAASlB,EAAIkB,OAAehE,KAAK6d,QAAQisB,MAAMhnC,GACjDA,EAAI+a,QAAQisB,MAAM9pC,KAC3B,EAGAuV,EAAGrU,UAAU4nC,MAAQ,SAAgBD,GACnCpzB,EAAwB,iBAAVozB,GAAsBA,GAAS,GAE7C,IAAIqB,EAAsC,EAAxB58B,KAAK8qB,KAAKyQ,EAAQ,IAChCsB,EAAWtB,EAAQ,GAGvB7oC,KAAK+mC,QAAQmD,GAETC,EAAW,GACbD,IAIF,IAAK,IAAI/lC,EAAI,EAAGA,EAAI+lC,EAAa/lC,IAC/BnE,KAAKylC,MAAMthC,GAAsB,UAAhBnE,KAAKylC,MAAMthC,GAS9B,OALIgmC,EAAW,IACbnqC,KAAKylC,MAAMthC,IAAMnE,KAAKylC,MAAMthC,GAAM,UAAc,GAAKgmC,GAIhDnqC,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAUgoC,KAAO,SAAeL,GACjC,OAAO7oC,KAAK6d,QAAQirB,MAAMD,EAC5B,EAGAtzB,EAAGrU,UAAUkpC,KAAO,SAAeC,EAAK7c,GACtC/X,EAAsB,iBAAR40B,GAAoBA,GAAO,GAEzC,IAAIxR,EAAOwR,EAAM,GAAM,EACnBC,EAAOD,EAAM,GAUjB,OARArqC,KAAK+mC,QAAQlO,EAAM,GAGjB74B,KAAKylC,MAAM5M,GADTrL,EACgBxtB,KAAKylC,MAAM5M,GAAQ,GAAKyR,EAExBtqC,KAAKylC,MAAM5M,KAAS,GAAKyR,GAGtCtqC,KAAKumC,OACd,EAGAhxB,EAAGrU,UAAUqpC,KAAO,SAAeznC,GACjC,IAAIgjC,EAkBA5tB,EAAGC,EAfP,GAAsB,IAAlBnY,KAAKwlC,UAAmC,IAAjB1iC,EAAI0iC,SAI7B,OAHAxlC,KAAKwlC,SAAW,EAChBM,EAAI9lC,KAAKwqC,KAAK1nC,GACd9C,KAAKwlC,UAAY,EACVxlC,KAAKgnC,YAGP,GAAsB,IAAlBhnC,KAAKwlC,UAAmC,IAAjB1iC,EAAI0iC,SAIpC,OAHA1iC,EAAI0iC,SAAW,EACfM,EAAI9lC,KAAKwqC,KAAK1nC,GACdA,EAAI0iC,SAAW,EACRM,EAAEkB,YAKPhnC,KAAKgE,OAASlB,EAAIkB,QACpBkU,EAAIlY,KACJmY,EAAIrV,IAEJoV,EAAIpV,EACJqV,EAAInY,MAIN,IADA,IAAIqnC,EAAQ,EACHljC,EAAI,EAAGA,EAAIgU,EAAEnU,OAAQG,IAC5B2hC,GAAkB,EAAb5tB,EAAEutB,MAAMthC,KAAwB,EAAbgU,EAAEstB,MAAMthC,IAAUkjC,EAC1CrnC,KAAKylC,MAAMthC,GAAS,SAAJ2hC,EAChBuB,EAAQvB,IAAM,GAEhB,KAAiB,IAAVuB,GAAeljC,EAAI+T,EAAElU,OAAQG,IAClC2hC,GAAkB,EAAb5tB,EAAEutB,MAAMthC,IAAUkjC,EACvBrnC,KAAKylC,MAAMthC,GAAS,SAAJ2hC,EAChBuB,EAAQvB,IAAM,GAIhB,GADA9lC,KAAKgE,OAASkU,EAAElU,OACF,IAAVqjC,EACFrnC,KAAKylC,MAAMzlC,KAAKgE,QAAUqjC,EAC1BrnC,KAAKgE,cAEA,GAAIkU,IAAMlY,KACf,KAAOmE,EAAI+T,EAAElU,OAAQG,IACnBnE,KAAKylC,MAAMthC,GAAK+T,EAAEutB,MAAMthC,GAI5B,OAAOnE,IACT,EAGAuV,EAAGrU,UAAUmc,IAAM,SAAcva,GAC/B,IAAIY,EACJ,OAAqB,IAAjBZ,EAAI0iC,UAAoC,IAAlBxlC,KAAKwlC,UAC7B1iC,EAAI0iC,SAAW,EACf9hC,EAAM1D,KAAKyqC,IAAI3nC,GACfA,EAAI0iC,UAAY,EACT9hC,GACmB,IAAjBZ,EAAI0iC,UAAoC,IAAlBxlC,KAAKwlC,UACpCxlC,KAAKwlC,SAAW,EAChB9hC,EAAMZ,EAAI2nC,IAAIzqC,MACdA,KAAKwlC,SAAW,EACT9hC,GAGL1D,KAAKgE,OAASlB,EAAIkB,OAAehE,KAAK6d,QAAQ0sB,KAAKznC,GAEhDA,EAAI+a,QAAQ0sB,KAAKvqC,KAC1B,EAGAuV,EAAGrU,UAAUspC,KAAO,SAAe1nC,GAEjC,GAAqB,IAAjBA,EAAI0iC,SAAgB,CACtB1iC,EAAI0iC,SAAW,EACf,IAAIM,EAAI9lC,KAAKuqC,KAAKznC,GAElB,OADAA,EAAI0iC,SAAW,EACRM,EAAEkB,WAGX,CAAO,GAAsB,IAAlBhnC,KAAKwlC,SAId,OAHAxlC,KAAKwlC,SAAW,EAChBxlC,KAAKuqC,KAAKznC,GACV9C,KAAKwlC,SAAW,EACTxlC,KAAKgnC,YAId,IAWI9uB,EAAGC,EAXHkE,EAAMrc,KAAKqc,IAAIvZ,GAGnB,GAAY,IAARuZ,EAIF,OAHArc,KAAKwlC,SAAW,EAChBxlC,KAAKgE,OAAS,EACdhE,KAAKylC,MAAM,GAAK,EACTzlC,KAKLqc,EAAM,GACRnE,EAAIlY,KACJmY,EAAIrV,IAEJoV,EAAIpV,EACJqV,EAAInY,MAIN,IADA,IAAIqnC,EAAQ,EACHljC,EAAI,EAAGA,EAAIgU,EAAEnU,OAAQG,IAE5BkjC,GADAvB,GAAkB,EAAb5tB,EAAEutB,MAAMthC,KAAwB,EAAbgU,EAAEstB,MAAMthC,IAAUkjC,IAC7B,GACbrnC,KAAKylC,MAAMthC,GAAS,SAAJ2hC,EAElB,KAAiB,IAAVuB,GAAeljC,EAAI+T,EAAElU,OAAQG,IAElCkjC,GADAvB,GAAkB,EAAb5tB,EAAEutB,MAAMthC,IAAUkjC,IACV,GACbrnC,KAAKylC,MAAMthC,GAAS,SAAJ2hC,EAIlB,GAAc,IAAVuB,GAAeljC,EAAI+T,EAAElU,QAAUkU,IAAMlY,KACvC,KAAOmE,EAAI+T,EAAElU,OAAQG,IACnBnE,KAAKylC,MAAMthC,GAAK+T,EAAEutB,MAAMthC,GAU5B,OANAnE,KAAKgE,OAASsJ,KAAK4S,IAAIlgB,KAAKgE,OAAQG,GAEhC+T,IAAMlY,OACRA,KAAKwlC,SAAW,GAGXxlC,KAAKumC,OACd,EAGAhxB,EAAGrU,UAAUupC,IAAM,SAAc3nC,GAC/B,OAAO9C,KAAK6d,QAAQ2sB,KAAK1nC,EAC3B,EA8CA,IAAI4nC,EAAc,SAAsBx+B,EAAMpJ,EAAK8D,GACjD,IAIIwgC,EACAuD,EACAjC,EANAxwB,EAAIhM,EAAKu5B,MACTttB,EAAIrV,EAAI2iC,MACR1W,EAAInoB,EAAI6+B,MACR9zB,EAAI,EAIJi5B,EAAY,EAAP1yB,EAAE,GACP2yB,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAP7yB,EAAE,GACP8yB,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPhzB,EAAE,GACPizB,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPnzB,EAAE,GACPozB,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPtzB,EAAE,GACPuzB,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPzzB,EAAE,GACP0zB,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAP5zB,EAAE,GACP6zB,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAP/zB,EAAE,GACPg0B,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPl0B,EAAE,GACPm0B,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPr0B,EAAE,GACPs0B,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPv0B,EAAE,GACPw0B,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAP10B,EAAE,GACP20B,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAP70B,EAAE,GACP80B,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPh1B,EAAE,GACPi1B,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPn1B,EAAE,GACPo1B,EAAW,KAALD,EACNE,GAAMF,IAAO,GACbG,GAAY,EAAPt1B,EAAE,GACPu1B,GAAW,KAALD,GACNE,GAAMF,KAAO,GACbG,GAAY,EAAPz1B,EAAE,GACP01B,GAAW,KAALD,GACNE,GAAMF,KAAO,GACbG,GAAY,EAAP51B,EAAE,GACP61B,GAAW,KAALD,GACNE,GAAMF,KAAO,GACbG,GAAY,EAAP/1B,EAAE,GACPg2B,GAAW,KAALD,GACNE,GAAMF,KAAO,GACbG,GAAY,EAAPl2B,EAAE,GACPm2B,GAAW,KAALD,GACNE,GAAMF,KAAO,GAEjBznC,EAAI4+B,SAAWt5B,EAAKs5B,SAAW1iC,EAAI0iC,SACnC5+B,EAAI5C,OAAS,GAMb,IAAIwqC,IAAQ78B,GAJZy1B,EAAK95B,KAAKmhC,KAAK5D,EAAK8B,IAIE,KAAa,MAFnChC,GADAA,EAAMr9B,KAAKmhC,KAAK5D,EAAK+B,IACRt/B,KAAKmhC,KAAK3D,EAAK6B,GAAQ,KAEU,IAAO,EACrDh7B,IAFA+2B,EAAKp7B,KAAKmhC,KAAK3D,EAAK8B,KAEPjC,IAAQ,IAAO,IAAM6D,KAAO,IAAO,EAChDA,IAAM,SAENpH,EAAK95B,KAAKmhC,KAAKzD,EAAK2B,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAKzD,EAAK4B,IACRt/B,KAAKmhC,KAAKxD,EAAK0B,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAKxD,EAAK2B,GAKpB,IAAI8B,IAAQ/8B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAKiC,GAAQ,GAIZ,KAAa,MAFnCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAKkC,GAAQ,GACvBz/B,KAAKmhC,KAAK3D,EAAKgC,GAAQ,KAEU,IAAO,EACrDn7B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAKiC,GAAQ,IAErBpC,IAAQ,IAAO,IAAM+D,KAAO,IAAO,EAChDA,IAAM,SAENtH,EAAK95B,KAAKmhC,KAAKtD,EAAKwB,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAKtD,EAAKyB,IACRt/B,KAAKmhC,KAAKrD,EAAKuB,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAKrD,EAAKwB,GACpBxF,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAK8B,GAAQ,EAElCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAK+B,GAAQ,GACvBz/B,KAAKmhC,KAAKxD,EAAK6B,GAAQ,EACpCpE,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAK8B,GAAQ,EAKlC,IAAI4B,IAAQh9B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAKoC,GAAQ,GAIZ,KAAa,MAFnCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAKqC,GAAQ,GACvB5/B,KAAKmhC,KAAK3D,EAAKmC,GAAQ,KAEU,IAAO,EACrDt7B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAKoC,GAAQ,IAErBvC,IAAQ,IAAO,IAAMgE,KAAO,IAAO,EAChDA,IAAM,SAENvH,EAAK95B,KAAKmhC,KAAKnD,EAAKqB,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAKnD,EAAKsB,IACRt/B,KAAKmhC,KAAKlD,EAAKoB,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAKlD,EAAKqB,GACpBxF,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAK2B,GAAQ,EAElCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAK4B,GAAQ,GACvBz/B,KAAKmhC,KAAKrD,EAAK0B,GAAQ,EACpCpE,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAK2B,GAAQ,EAClC3F,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAKiC,GAAQ,EAElCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAKkC,GAAQ,GACvB5/B,KAAKmhC,KAAKxD,EAAKgC,GAAQ,EACpCvE,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAKiC,GAAQ,EAKlC,IAAI0B,IAAQj9B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAKuC,GAAQ,GAIZ,KAAa,MAFnCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAKwC,GAAQ,GACvB//B,KAAKmhC,KAAK3D,EAAKsC,GAAQ,KAEU,IAAO,EACrDz7B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAKuC,GAAQ,IAErB1C,IAAQ,IAAO,IAAMiE,KAAO,IAAO,EAChDA,IAAM,SAENxH,EAAK95B,KAAKmhC,KAAKhD,EAAKkB,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAKhD,EAAKmB,IACRt/B,KAAKmhC,KAAK/C,EAAKiB,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAK/C,EAAKkB,GACpBxF,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAKwB,GAAQ,EAElCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAKyB,GAAQ,GACvBz/B,KAAKmhC,KAAKlD,EAAKuB,GAAQ,EACpCpE,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAKwB,GAAQ,EAClC3F,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAK8B,GAAQ,EAElCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAK+B,GAAQ,GACvB5/B,KAAKmhC,KAAKrD,EAAK6B,GAAQ,EACpCvE,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAK8B,GAAQ,EAClC9F,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAKoC,GAAQ,EAElCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAKqC,GAAQ,GACvB//B,KAAKmhC,KAAKxD,EAAKmC,GAAQ,EACpC1E,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAKoC,GAAQ,EAKlC,IAAIwB,IAAQl9B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAK0C,GAAQ,GAIZ,KAAa,MAFnC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAK2C,IAAQ,GACvBlgC,KAAKmhC,KAAK3D,EAAKyC,GAAQ,KAEU,IAAO,EACrD57B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAK0C,IAAQ,IAErB7C,IAAQ,IAAO,IAAMkE,KAAO,IAAO,EAChDA,IAAM,SAENzH,EAAK95B,KAAKmhC,KAAK7C,EAAKe,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAK7C,EAAKgB,IACRt/B,KAAKmhC,KAAK5C,EAAKc,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAK5C,EAAKe,GACpBxF,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAKqB,GAAQ,EAElCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAKsB,GAAQ,GACvBz/B,KAAKmhC,KAAK/C,EAAKoB,GAAQ,EACpCpE,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAKqB,GAAQ,EAClC3F,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAK2B,GAAQ,EAElCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAK4B,GAAQ,GACvB5/B,KAAKmhC,KAAKlD,EAAK0B,GAAQ,EACpCvE,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAK2B,GAAQ,EAClC9F,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAKiC,GAAQ,EAElCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAKkC,GAAQ,GACvB//B,KAAKmhC,KAAKrD,EAAKgC,GAAQ,EACpC1E,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAKiC,GAAQ,EAClCjG,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAKuC,GAAQ,EAElC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAKwC,IAAQ,GACvBlgC,KAAKmhC,KAAKxD,EAAKsC,GAAQ,EACpC7E,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAKuC,IAAQ,EAKlC,IAAIsB,IAAQn9B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAK6C,IAAQ,GAIZ,KAAa,MAFnC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAK8C,IAAQ,GACvBrgC,KAAKmhC,KAAK3D,EAAK4C,IAAQ,KAEU,IAAO,EACrD/7B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAK6C,IAAQ,IAErBhD,IAAQ,IAAO,IAAMmE,KAAO,IAAO,EAChDA,IAAM,SAEN1H,EAAK95B,KAAKmhC,KAAK1C,EAAKY,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAK1C,EAAKa,IACRt/B,KAAKmhC,KAAKzC,EAAKW,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAKzC,EAAKY,GACpBxF,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAKkB,GAAQ,EAElCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAKmB,GAAQ,GACvBz/B,KAAKmhC,KAAK5C,EAAKiB,GAAQ,EACpCpE,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAKkB,GAAQ,EAClC3F,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAKwB,GAAQ,EAElCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAKyB,GAAQ,GACvB5/B,KAAKmhC,KAAK/C,EAAKuB,GAAQ,EACpCvE,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAKwB,GAAQ,EAClC9F,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAK8B,GAAQ,EAElCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAK+B,GAAQ,GACvB//B,KAAKmhC,KAAKlD,EAAK6B,GAAQ,EACpC1E,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAK8B,GAAQ,EAClCjG,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAKoC,GAAQ,EAElC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAKqC,IAAQ,GACvBlgC,KAAKmhC,KAAKrD,EAAKmC,GAAQ,EACpC7E,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAKoC,IAAQ,EAClCpG,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAK0C,IAAQ,EAElC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAK2C,IAAQ,GACvBrgC,KAAKmhC,KAAKxD,EAAKyC,IAAQ,EACpChF,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAK0C,IAAQ,EAKlC,IAAIoB,IAAQp9B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAKgD,IAAQ,GAIZ,KAAa,MAFnClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAKiD,IAAQ,GACvBxgC,KAAKmhC,KAAK3D,EAAK+C,IAAQ,KAEU,IAAO,EACrDl8B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAKgD,IAAQ,IAErBnD,IAAQ,IAAO,IAAMoE,KAAO,IAAO,EAChDA,IAAM,SAEN3H,EAAK95B,KAAKmhC,KAAKvC,EAAKS,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAKvC,EAAKU,IACRt/B,KAAKmhC,KAAKtC,EAAKQ,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAKtC,EAAKS,GACpBxF,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAKe,GAAQ,EAElCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAKgB,GAAQ,GACvBz/B,KAAKmhC,KAAKzC,EAAKc,GAAQ,EACpCpE,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAKe,GAAQ,EAClC3F,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAKqB,GAAQ,EAElCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAKsB,GAAQ,GACvB5/B,KAAKmhC,KAAK5C,EAAKoB,GAAQ,EACpCvE,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAKqB,GAAQ,EAClC9F,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAK2B,GAAQ,EAElCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAK4B,GAAQ,GACvB//B,KAAKmhC,KAAK/C,EAAK0B,GAAQ,EACpC1E,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAK2B,GAAQ,EAClCjG,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAKiC,GAAQ,EAElC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAKkC,IAAQ,GACvBlgC,KAAKmhC,KAAKlD,EAAKgC,GAAQ,EACpC7E,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAKiC,IAAQ,EAClCpG,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAKuC,IAAQ,EAElC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAKwC,IAAQ,GACvBrgC,KAAKmhC,KAAKrD,EAAKsC,IAAQ,EACpChF,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAKuC,IAAQ,EAClCvG,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAK6C,IAAQ,EAElClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAK8C,IAAQ,GACvBxgC,KAAKmhC,KAAKxD,EAAK4C,IAAQ,EACpCnF,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAK6C,IAAQ,EAKlC,IAAIkB,IAAQr9B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAKmD,IAAQ,GAIZ,KAAa,MAFnCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAKoD,IAAQ,GACvB3gC,KAAKmhC,KAAK3D,EAAKkD,IAAQ,KAEU,IAAO,EACrDr8B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAKmD,IAAQ,IAErBtD,IAAQ,IAAO,IAAMqE,KAAO,IAAO,EAChDA,IAAM,SAEN5H,EAAK95B,KAAKmhC,KAAKpC,EAAKM,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAKpC,EAAKO,IACRt/B,KAAKmhC,KAAKnC,EAAKK,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAKnC,EAAKM,GACpBxF,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAKY,GAAQ,EAElCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAKa,GAAQ,GACvBz/B,KAAKmhC,KAAKtC,EAAKW,GAAQ,EACpCpE,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAKY,GAAQ,EAClC3F,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAKkB,GAAQ,EAElCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAKmB,GAAQ,GACvB5/B,KAAKmhC,KAAKzC,EAAKiB,GAAQ,EACpCvE,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAKkB,GAAQ,EAClC9F,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAKwB,GAAQ,EAElCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAKyB,GAAQ,GACvB//B,KAAKmhC,KAAK5C,EAAKuB,GAAQ,EACpC1E,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAKwB,GAAQ,EAClCjG,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAK8B,GAAQ,EAElC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAK+B,IAAQ,GACvBlgC,KAAKmhC,KAAK/C,EAAK6B,GAAQ,EACpC7E,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAK8B,IAAQ,EAClCpG,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAKoC,IAAQ,EAElC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAKqC,IAAQ,GACvBrgC,KAAKmhC,KAAKlD,EAAKmC,IAAQ,EACpChF,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAKoC,IAAQ,EAClCvG,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAK0C,IAAQ,EAElClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAK2C,IAAQ,GACvBxgC,KAAKmhC,KAAKrD,EAAKyC,IAAQ,EACpCnF,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAK0C,IAAQ,EAClC1G,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAKgD,IAAQ,EAElCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAKiD,IAAQ,GACvB3gC,KAAKmhC,KAAKxD,EAAK+C,IAAQ,EACpCtF,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAKgD,IAAQ,EAKlC,IAAIgB,IAAQt9B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAKsD,IAAQ,GAIZ,KAAa,MAFnCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAKuD,IAAQ,GACvB9gC,KAAKmhC,KAAK3D,EAAKqD,IAAQ,KAEU,IAAO,EACrDx8B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAKsD,IAAQ,IAErBzD,IAAQ,IAAO,IAAMsE,KAAO,IAAO,EAChDA,IAAM,SAEN7H,EAAK95B,KAAKmhC,KAAKjC,EAAKG,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAKI,IACRt/B,KAAKmhC,KAAKhC,EAAKE,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAKhC,EAAKG,GACpBxF,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAKS,GAAQ,EAElCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAKU,GAAQ,GACvBz/B,KAAKmhC,KAAKnC,EAAKQ,GAAQ,EACpCpE,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAKS,GAAQ,EAClC3F,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAKe,GAAQ,EAElCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAKgB,GAAQ,GACvB5/B,KAAKmhC,KAAKtC,EAAKc,GAAQ,EACpCvE,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAKe,GAAQ,EAClC9F,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAKqB,GAAQ,EAElCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAKsB,GAAQ,GACvB//B,KAAKmhC,KAAKzC,EAAKoB,GAAQ,EACpC1E,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAKqB,GAAQ,EAClCjG,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAK2B,GAAQ,EAElC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAK4B,IAAQ,GACvBlgC,KAAKmhC,KAAK5C,EAAK0B,GAAQ,EACpC7E,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAK2B,IAAQ,EAClCpG,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAKiC,IAAQ,EAElC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAKkC,IAAQ,GACvBrgC,KAAKmhC,KAAK/C,EAAKgC,IAAQ,EACpChF,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAKiC,IAAQ,EAClCvG,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAKuC,IAAQ,EAElClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAKwC,IAAQ,GACvBxgC,KAAKmhC,KAAKlD,EAAKsC,IAAQ,EACpCnF,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAKuC,IAAQ,EAClC1G,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAK6C,IAAQ,EAElCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAK8C,IAAQ,GACvB3gC,KAAKmhC,KAAKrD,EAAK4C,IAAQ,EACpCtF,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAK6C,IAAQ,EAClC7G,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAKmD,IAAQ,EAElCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAKoD,IAAQ,GACvB9gC,KAAKmhC,KAAKxD,EAAKkD,IAAQ,EACpCzF,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAKmD,IAAQ,EAKlC,IAAIc,IAAQv9B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAKyD,IAAQ,GAIZ,KAAa,MAFnC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAK0D,IAAQ,GACvBjhC,KAAKmhC,KAAK3D,EAAKwD,IAAQ,KAEU,IAAO,EACrD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAKyD,IAAQ,IAErB5D,IAAQ,IAAO,IAAMuE,KAAO,IAAO,EAChDA,IAAM,SAEN9H,EAAK95B,KAAKmhC,KAAKjC,EAAKM,GAEpBnC,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAKO,IACRz/B,KAAKmhC,KAAKhC,EAAKK,GAAQ,EACpCpE,EAAKp7B,KAAKmhC,KAAKhC,EAAKM,GACpB3F,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAKY,GAAQ,EAElCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAKa,GAAQ,GACvB5/B,KAAKmhC,KAAKnC,EAAKW,GAAQ,EACpCvE,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAKY,GAAQ,EAClC9F,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAKkB,GAAQ,EAElCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAKmB,GAAQ,GACvB//B,KAAKmhC,KAAKtC,EAAKiB,GAAQ,EACpC1E,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAKkB,GAAQ,EAClCjG,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAKwB,GAAQ,EAElC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAKyB,IAAQ,GACvBlgC,KAAKmhC,KAAKzC,EAAKuB,GAAQ,EACpC7E,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAKwB,IAAQ,EAClCpG,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAK8B,IAAQ,EAElC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAK+B,IAAQ,GACvBrgC,KAAKmhC,KAAK5C,EAAK6B,IAAQ,EACpChF,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAK8B,IAAQ,EAClCvG,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAKoC,IAAQ,EAElClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAKqC,IAAQ,GACvBxgC,KAAKmhC,KAAK/C,EAAKmC,IAAQ,EACpCnF,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAKoC,IAAQ,EAClC1G,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAK0C,IAAQ,EAElCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAK2C,IAAQ,GACvB3gC,KAAKmhC,KAAKlD,EAAKyC,IAAQ,EACpCtF,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAK0C,IAAQ,EAClC7G,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAKgD,IAAQ,EAElCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAKiD,IAAQ,GACvB9gC,KAAKmhC,KAAKrD,EAAK+C,IAAQ,EACpCzF,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAKgD,IAAQ,EAKlC,IAAIe,IAASx9B,GAJby1B,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAKsD,IAAQ,GAIX,KAAa,MAFpC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAKuD,IAAQ,GACvBjhC,KAAKmhC,KAAKxD,EAAKqD,IAAQ,KAEW,IAAO,EACtD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAKsD,IAAQ,IAErB5D,IAAQ,IAAO,IAAMwE,KAAQ,IAAO,EACjDA,IAAO,SAEP/H,EAAK95B,KAAKmhC,KAAKjC,EAAKS,GAEpBtC,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAKU,IACR5/B,KAAKmhC,KAAKhC,EAAKQ,GAAQ,EACpCvE,EAAKp7B,KAAKmhC,KAAKhC,EAAKS,GACpB9F,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAKe,GAAQ,EAElCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAKgB,GAAQ,GACvB//B,KAAKmhC,KAAKnC,EAAKc,GAAQ,EACpC1E,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAKe,GAAQ,EAClCjG,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAKqB,GAAQ,EAElC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAKsB,IAAQ,GACvBlgC,KAAKmhC,KAAKtC,EAAKoB,GAAQ,EACpC7E,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAKqB,IAAQ,EAClCpG,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAK2B,IAAQ,EAElC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAK4B,IAAQ,GACvBrgC,KAAKmhC,KAAKzC,EAAK0B,IAAQ,EACpChF,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAK2B,IAAQ,EAClCvG,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAKiC,IAAQ,EAElClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAKkC,IAAQ,GACvBxgC,KAAKmhC,KAAK5C,EAAKgC,IAAQ,EACpCnF,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAKiC,IAAQ,EAClC1G,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAKuC,IAAQ,EAElCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAKwC,IAAQ,GACvB3gC,KAAKmhC,KAAK/C,EAAKsC,IAAQ,EACpCtF,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAKuC,IAAQ,EAClC7G,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAK6C,IAAQ,EAElCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAK8C,IAAQ,GACvB9gC,KAAKmhC,KAAKlD,EAAK4C,IAAQ,EACpCzF,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAK6C,IAAQ,EAKlC,IAAIgB,IAASz9B,GAJby1B,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAKmD,IAAQ,GAIX,KAAa,MAFpC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAKoD,IAAQ,GACvBjhC,KAAKmhC,KAAKrD,EAAKkD,IAAQ,KAEW,IAAO,EACtD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAKmD,IAAQ,IAErB5D,IAAQ,IAAO,IAAMyE,KAAQ,IAAO,EACjDA,IAAO,SAEPhI,EAAK95B,KAAKmhC,KAAKjC,EAAKY,GAEpBzC,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAKa,IACR//B,KAAKmhC,KAAKhC,EAAKW,GAAQ,EACpC1E,EAAKp7B,KAAKmhC,KAAKhC,EAAKY,GACpBjG,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAKkB,GAAQ,EAElC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAKmB,IAAQ,GACvBlgC,KAAKmhC,KAAKnC,EAAKiB,GAAQ,EACpC7E,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAKkB,IAAQ,EAClCpG,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAKwB,IAAQ,EAElC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAKyB,IAAQ,GACvBrgC,KAAKmhC,KAAKtC,EAAKuB,IAAQ,EACpChF,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAKwB,IAAQ,EAClCvG,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAK8B,IAAQ,EAElClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAK+B,IAAQ,GACvBxgC,KAAKmhC,KAAKzC,EAAK6B,IAAQ,EACpCnF,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAK8B,IAAQ,EAClC1G,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAKoC,IAAQ,EAElCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAKqC,IAAQ,GACvB3gC,KAAKmhC,KAAK5C,EAAKmC,IAAQ,EACpCtF,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAKoC,IAAQ,EAClC7G,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAK0C,IAAQ,EAElCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAK2C,IAAQ,GACvB9gC,KAAKmhC,KAAK/C,EAAKyC,IAAQ,EACpCzF,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAK0C,IAAQ,EAKlC,IAAIiB,IAAS19B,GAJby1B,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAKgD,IAAQ,GAIX,KAAa,MAFpC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAKiD,IAAQ,GACvBjhC,KAAKmhC,KAAKlD,EAAK+C,IAAQ,KAEW,IAAO,EACtD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAKgD,IAAQ,IAErB5D,IAAQ,IAAO,IAAM0E,KAAQ,IAAO,EACjDA,IAAO,SAEPjI,EAAK95B,KAAKmhC,KAAKjC,EAAKe,GAEpB5C,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAKgB,KACRlgC,KAAKmhC,KAAKhC,EAAKc,GAAQ,EACpC7E,EAAKp7B,KAAKmhC,KAAKhC,EAAKe,IACpBpG,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAKqB,IAAQ,EAElC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAKsB,IAAQ,GACvBrgC,KAAKmhC,KAAKnC,EAAKoB,IAAQ,EACpChF,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAKqB,IAAQ,EAClCvG,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAK2B,IAAQ,EAElClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAK4B,IAAQ,GACvBxgC,KAAKmhC,KAAKtC,EAAK0B,IAAQ,EACpCnF,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAK2B,IAAQ,EAClC1G,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAKiC,IAAQ,EAElCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAKkC,IAAQ,GACvB3gC,KAAKmhC,KAAKzC,EAAKgC,IAAQ,EACpCtF,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAKiC,IAAQ,EAClC7G,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAKuC,IAAQ,EAElCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAKwC,IAAQ,GACvB9gC,KAAKmhC,KAAK5C,EAAKsC,IAAQ,EACpCzF,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAKuC,IAAQ,EAKlC,IAAIkB,IAAS39B,GAJby1B,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAK6C,IAAQ,GAIX,KAAa,MAFpC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAK8C,IAAQ,GACvBjhC,KAAKmhC,KAAK/C,EAAK4C,IAAQ,KAEW,IAAO,EACtD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAK6C,IAAQ,IAErB5D,IAAQ,IAAO,IAAM2E,KAAQ,IAAO,EACjDA,IAAO,SAEPlI,EAAK95B,KAAKmhC,KAAKjC,EAAKkB,IAEpB/C,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAKmB,KACRrgC,KAAKmhC,KAAKhC,EAAKiB,IAAQ,EACpChF,EAAKp7B,KAAKmhC,KAAKhC,EAAKkB,IACpBvG,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAKwB,IAAQ,EAElClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAKyB,IAAQ,GACvBxgC,KAAKmhC,KAAKnC,EAAKuB,IAAQ,EACpCnF,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAKwB,IAAQ,EAClC1G,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAK8B,IAAQ,EAElCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAK+B,IAAQ,GACvB3gC,KAAKmhC,KAAKtC,EAAK6B,IAAQ,EACpCtF,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAK8B,IAAQ,EAClC7G,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAKoC,IAAQ,EAElCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAKqC,IAAQ,GACvB9gC,KAAKmhC,KAAKzC,EAAKmC,IAAQ,EACpCzF,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAKoC,IAAQ,EAKlC,IAAImB,IAAS59B,GAJby1B,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAK0C,IAAQ,GAIX,KAAa,MAFpC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAK2C,IAAQ,GACvBjhC,KAAKmhC,KAAK5C,EAAKyC,IAAQ,KAEW,IAAO,EACtD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAK0C,IAAQ,IAErB5D,IAAQ,IAAO,IAAM4E,KAAQ,IAAO,EACjDA,IAAO,SAEPnI,EAAK95B,KAAKmhC,KAAKjC,EAAKqB,IAEpBlD,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAKsB,KACRxgC,KAAKmhC,KAAKhC,EAAKoB,IAAQ,EACpCnF,EAAKp7B,KAAKmhC,KAAKhC,EAAKqB,IACpB1G,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAK2B,IAAQ,EAElCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAK4B,IAAQ,GACvB3gC,KAAKmhC,KAAKnC,EAAK0B,IAAQ,EACpCtF,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAK2B,IAAQ,EAClC7G,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAKiC,IAAQ,EAElCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAKkC,IAAQ,GACvB9gC,KAAKmhC,KAAKtC,EAAKgC,IAAQ,EACpCzF,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAKiC,IAAQ,EAKlC,IAAIoB,IAAS79B,GAJby1B,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAKuC,IAAQ,GAIX,KAAa,MAFpC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAKwC,IAAQ,GACvBjhC,KAAKmhC,KAAKzC,EAAKsC,IAAQ,KAEW,IAAO,EACtD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAKuC,IAAQ,IAErB5D,IAAQ,IAAO,IAAM6E,KAAQ,IAAO,EACjDA,IAAO,SAEPpI,EAAK95B,KAAKmhC,KAAKjC,EAAKwB,IAEpBrD,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAKyB,KACR3gC,KAAKmhC,KAAKhC,EAAKuB,IAAQ,EACpCtF,EAAKp7B,KAAKmhC,KAAKhC,EAAKwB,IACpB7G,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAK8B,IAAQ,EAElCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAK+B,IAAQ,GACvB9gC,KAAKmhC,KAAKnC,EAAK6B,IAAQ,EACpCzF,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAK8B,IAAQ,EAKlC,IAAIqB,IAAS99B,GAJby1B,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAKoC,IAAQ,GAIX,KAAa,MAFpC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAKqC,IAAQ,GACvBjhC,KAAKmhC,KAAKtC,EAAKmC,IAAQ,KAEW,IAAO,EACtD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAKoC,IAAQ,IAErB5D,IAAQ,IAAO,IAAM8E,KAAQ,IAAO,EACjDA,IAAO,SAEPrI,EAAK95B,KAAKmhC,KAAKjC,EAAK2B,IAEpBxD,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAK4B,KACR9gC,KAAKmhC,KAAKhC,EAAK0B,IAAQ,EACpCzF,EAAKp7B,KAAKmhC,KAAKhC,EAAK2B,IAKpB,IAAIsB,IAAS/9B,GAJby1B,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAKiC,IAAQ,GAIX,KAAa,MAFpC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAKkC,IAAQ,GACvBjhC,KAAKmhC,KAAKnC,EAAKgC,IAAQ,KAEW,IAAO,EACtD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAKiC,IAAQ,IAErB5D,IAAQ,IAAO,IAAM+E,KAAQ,IAAO,EACjDA,IAAO,SAMP,IAAIC,IAASh+B,GAJby1B,EAAK95B,KAAKmhC,KAAKjC,EAAK8B,KAIG,KAAa,MAFpC3D,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAK+B,KACRjhC,KAAKmhC,KAAKhC,EAAK6B,IAAQ,KAEW,IAAO,EA0BtD,OAzBA38B,IAFA+2B,EAAKp7B,KAAKmhC,KAAKhC,EAAK8B,MAEP5D,IAAQ,IAAO,IAAMgF,KAAQ,IAAO,EACjDA,IAAO,SACP5gB,EAAE,GAAKyf,GACPzf,EAAE,GAAK2f,GACP3f,EAAE,GAAK4f,GACP5f,EAAE,GAAK6f,GACP7f,EAAE,GAAK8f,GACP9f,EAAE,GAAK+f,GACP/f,EAAE,GAAKggB,GACPhgB,EAAE,GAAKigB,GACPjgB,EAAE,GAAKkgB,GACPlgB,EAAE,GAAKmgB,GACPngB,EAAE,IAAMogB,GACRpgB,EAAE,IAAMqgB,GACRrgB,EAAE,IAAMsgB,GACRtgB,EAAE,IAAMugB,GACRvgB,EAAE,IAAMwgB,GACRxgB,EAAE,IAAMygB,GACRzgB,EAAE,IAAM0gB,GACR1gB,EAAE,IAAM2gB,GACR3gB,EAAE,IAAM4gB,GACE,IAANh+B,IACFod,EAAE,IAAMpd,EACR/K,EAAI5C,UAEC4C,CACT,EAgDA,SAASgpC,EAAY1jC,EAAMpJ,EAAK8D,GAE9B,OADW,IAAIipC,GACHC,KAAK5jC,EAAMpJ,EAAK8D,EAC9B,CAqBA,SAASipC,EAAMv9B,EAAGy9B,GAChB/vC,KAAKsS,EAAIA,EACTtS,KAAK+vC,EAAIA,CACX,CAxEKziC,KAAKmhC,OACR/D,EAAcvD,GAiDhB5xB,EAAGrU,UAAU8uC,MAAQ,SAAgBltC,EAAK8D,GACxC,IAAIlD,EACAuF,EAAMjJ,KAAKgE,OAASlB,EAAIkB,OAW5B,OATEN,EADkB,KAAhB1D,KAAKgE,QAAgC,KAAflB,EAAIkB,OACtB0mC,EAAY1qC,KAAM8C,EAAK8D,GACpBqC,EAAM,GACTk+B,EAAWnnC,KAAM8C,EAAK8D,GACnBqC,EAAM,KArDnB,SAAmBiD,EAAMpJ,EAAK8D,GAC5BA,EAAI4+B,SAAW1iC,EAAI0iC,SAAWt5B,EAAKs5B,SACnC5+B,EAAI5C,OAASkI,EAAKlI,OAASlB,EAAIkB,OAI/B,IAFA,IAAIqjC,EAAQ,EACR4I,EAAU,EACLtyB,EAAI,EAAGA,EAAI/W,EAAI5C,OAAS,EAAG2Z,IAAK,CAGvC,IAAI2pB,EAAS2I,EACbA,EAAU,EAGV,IAFA,IAAI1I,EAAgB,SAARF,EACRG,EAAOl6B,KAAK8K,IAAIuF,EAAG7a,EAAIkB,OAAS,GAC3BI,EAAIkJ,KAAK4S,IAAI,EAAGvC,EAAIzR,EAAKlI,OAAS,GAAII,GAAKojC,EAAMpjC,IAAK,CAC7D,IAAID,EAAIwZ,EAAIvZ,EAGR0hC,GAFoB,EAAhB55B,EAAKu5B,MAAMthC,KACI,EAAfrB,EAAI2iC,MAAMrhC,IAGdgjC,EAAS,SAAJtB,EAGTyB,EAAa,UADbH,EAAMA,EAAKG,EAAS,GAIpB0I,IAFA3I,GAHAA,EAAUA,GAAWxB,EAAI,SAAa,GAAM,IAGxBsB,IAAO,IAAO,KAEZ,GACtBE,GAAU,QACZ,CACA1gC,EAAI6+B,MAAM9nB,GAAK4pB,EACfF,EAAQC,EACRA,EAAS2I,CACX,CAOA,OANc,IAAV5I,EACFzgC,EAAI6+B,MAAM9nB,GAAK0pB,EAEfzgC,EAAI5C,SAGC4C,EAAI2/B,OACb,CAeU2J,CAASlwC,KAAM8C,EAAK8D,GAEpBgpC,EAAW5vC,KAAM8C,EAAK8D,GAGvBlD,CACT,EAUAmsC,EAAK3uC,UAAUivC,QAAU,SAAkBC,GAGzC,IAFA,IAAIxyB,EAAI,IAAI1Y,MAAMkrC,GACd79B,EAAIgD,EAAGrU,UAAUqnC,WAAW6H,GAAK,EAC5BjsC,EAAI,EAAGA,EAAIisC,EAAGjsC,IACrByZ,EAAEzZ,GAAKnE,KAAKqwC,OAAOlsC,EAAGoO,EAAG69B,GAG3B,OAAOxyB,CACT,EAGAiyB,EAAK3uC,UAAUmvC,OAAS,SAAiB/9B,EAAGC,EAAG69B,GAC7C,GAAU,IAAN99B,GAAWA,IAAM89B,EAAI,EAAG,OAAO99B,EAGnC,IADA,IAAIg+B,EAAK,EACAnsC,EAAI,EAAGA,EAAIoO,EAAGpO,IACrBmsC,IAAW,EAAJh+B,IAAWC,EAAIpO,EAAI,EAC1BmO,IAAM,EAGR,OAAOg+B,CACT,EAIAT,EAAK3uC,UAAUqvC,QAAU,SAAkBC,EAAKC,EAAKC,EAAKC,EAAMC,EAAMR,GACpE,IAAK,IAAIjsC,EAAI,EAAGA,EAAIisC,EAAGjsC,IACrBwsC,EAAKxsC,GAAKssC,EAAID,EAAIrsC,IAClBysC,EAAKzsC,GAAKusC,EAAIF,EAAIrsC,GAEtB,EAEA0rC,EAAK3uC,UAAU2vC,UAAY,SAAoBJ,EAAKC,EAAKC,EAAMC,EAAMR,EAAGI,GACtExwC,KAAKuwC,QAAQC,EAAKC,EAAKC,EAAKC,EAAMC,EAAMR,GAExC,IAAK,IAAI34B,EAAI,EAAGA,EAAI24B,EAAG34B,IAAM,EAM3B,IALA,IAAIlF,EAAIkF,GAAK,EAETq5B,EAAQxjC,KAAKyjC,IAAI,EAAIzjC,KAAK0jC,GAAKz+B,GAC/B0+B,EAAQ3jC,KAAK4jC,IAAI,EAAI5jC,KAAK0jC,GAAKz+B,GAE1Bb,EAAI,EAAGA,EAAI0+B,EAAG1+B,GAAKa,EAI1B,IAHA,IAAI4+B,EAASL,EACTM,EAASH,EAEJ7sC,EAAI,EAAGA,EAAIqT,EAAGrT,IAAK,CAC1B,IAAIyqB,EAAK8hB,EAAKj/B,EAAItN,GACditC,EAAKT,EAAKl/B,EAAItN,GAEdktC,EAAKX,EAAKj/B,EAAItN,EAAIqT,GAClB85B,EAAKX,EAAKl/B,EAAItN,EAAIqT,GAElB+5B,EAAKL,EAASG,EAAKF,EAASG,EAEhCA,EAAKJ,EAASI,EAAKH,EAASE,EAC5BA,EAAKE,EAELb,EAAKj/B,EAAItN,GAAKyqB,EAAKyiB,EACnBV,EAAKl/B,EAAItN,GAAKitC,EAAKE,EAEnBZ,EAAKj/B,EAAItN,EAAIqT,GAAKoX,EAAKyiB,EACvBV,EAAKl/B,EAAItN,EAAIqT,GAAK45B,EAAKE,EAGnBntC,IAAMmO,IACRi/B,EAAKV,EAAQK,EAASF,EAAQG,EAE9BA,EAASN,EAAQM,EAASH,EAAQE,EAClCA,EAASK,EAEb,CAGN,EAEA3B,EAAK3uC,UAAUuwC,YAAc,SAAsB9gC,EAAGwG,GACpD,IAAIi5B,EAAqB,EAAjB9iC,KAAK4S,IAAI/I,EAAGxG,GAChB+gC,EAAU,EAAJtB,EACNjsC,EAAI,EACR,IAAKisC,EAAIA,EAAI,EAAI,EAAGA,EAAGA,KAAU,EAC/BjsC,IAGF,OAAO,GAAKA,EAAI,EAAIutC,CACtB,EAEA7B,EAAK3uC,UAAUywC,UAAY,SAAoBlB,EAAKC,EAAKN,GACvD,KAAIA,GAAK,GAET,IAAK,IAAIjsC,EAAI,EAAGA,EAAIisC,EAAI,EAAGjsC,IAAK,CAC9B,IAAIyZ,EAAI6yB,EAAItsC,GAEZssC,EAAItsC,GAAKssC,EAAIL,EAAIjsC,EAAI,GACrBssC,EAAIL,EAAIjsC,EAAI,GAAKyZ,EAEjBA,EAAI8yB,EAAIvsC,GAERusC,EAAIvsC,IAAMusC,EAAIN,EAAIjsC,EAAI,GACtBusC,EAAIN,EAAIjsC,EAAI,IAAMyZ,CACpB,CACF,EAEAiyB,EAAK3uC,UAAU0wC,aAAe,SAAuBC,EAAIzB,GAEvD,IADA,IAAI/I,EAAQ,EACHljC,EAAI,EAAGA,EAAIisC,EAAI,EAAGjsC,IAAK,CAC9B,IAAImiC,EAAoC,KAAhCh5B,KAAKmS,MAAMoyB,EAAG,EAAI1tC,EAAI,GAAKisC,GACjC9iC,KAAKmS,MAAMoyB,EAAG,EAAI1tC,GAAKisC,GACvB/I,EAEFwK,EAAG1tC,GAAS,SAAJmiC,EAGNe,EADEf,EAAI,SACE,EAEAA,EAAI,SAAY,CAE5B,CAEA,OAAOuL,CACT,EAEAhC,EAAK3uC,UAAU4wC,WAAa,SAAqBD,EAAI5oC,EAAKwnC,EAAKL,GAE7D,IADA,IAAI/I,EAAQ,EACHljC,EAAI,EAAGA,EAAI8E,EAAK9E,IACvBkjC,GAAyB,EAARwK,EAAG1tC,GAEpBssC,EAAI,EAAItsC,GAAa,KAARkjC,EAAgBA,KAAkB,GAC/CoJ,EAAI,EAAItsC,EAAI,GAAa,KAARkjC,EAAgBA,KAAkB,GAIrD,IAAKljC,EAAI,EAAI8E,EAAK9E,EAAIisC,IAAKjsC,EACzBssC,EAAItsC,GAAK,EAGXsR,EAAiB,IAAV4xB,GACP5xB,KAAgB,KAAR4xB,GACV,EAEAwI,EAAK3uC,UAAU6wC,KAAO,SAAe3B,GAEnC,IADA,IAAI4B,EAAK,IAAI9sC,MAAMkrC,GACVjsC,EAAI,EAAGA,EAAIisC,EAAGjsC,IACrB6tC,EAAG7tC,GAAK,EAGV,OAAO6tC,CACT,EAEAnC,EAAK3uC,UAAU4uC,KAAO,SAAex9B,EAAGy9B,EAAGnpC,GACzC,IAAIwpC,EAAI,EAAIpwC,KAAKyxC,YAAYn/B,EAAEtO,OAAQ+rC,EAAE/rC,QAErCwsC,EAAMxwC,KAAKmwC,QAAQC,GAEnBhvC,EAAIpB,KAAK+xC,KAAK3B,GAEdK,EAAM,IAAIvrC,MAAMkrC,GAChB6B,EAAO,IAAI/sC,MAAMkrC,GACjB8B,EAAO,IAAIhtC,MAAMkrC,GAEjB+B,EAAO,IAAIjtC,MAAMkrC,GACjBgC,EAAQ,IAAIltC,MAAMkrC,GAClBiC,EAAQ,IAAIntC,MAAMkrC,GAElBkC,EAAO1rC,EAAI6+B,MACf6M,EAAKtuC,OAASosC,EAEdpwC,KAAK8xC,WAAWx/B,EAAEmzB,MAAOnzB,EAAEtO,OAAQysC,EAAKL,GACxCpwC,KAAK8xC,WAAW/B,EAAEtK,MAAOsK,EAAE/rC,OAAQmuC,EAAM/B,GAEzCpwC,KAAK6wC,UAAUJ,EAAKrvC,EAAG6wC,EAAMC,EAAM9B,EAAGI,GACtCxwC,KAAK6wC,UAAUsB,EAAM/wC,EAAGgxC,EAAOC,EAAOjC,EAAGI,GAEzC,IAAK,IAAIrsC,EAAI,EAAGA,EAAIisC,EAAGjsC,IAAK,CAC1B,IAAIqtC,EAAKS,EAAK9tC,GAAKiuC,EAAMjuC,GAAK+tC,EAAK/tC,GAAKkuC,EAAMluC,GAC9C+tC,EAAK/tC,GAAK8tC,EAAK9tC,GAAKkuC,EAAMluC,GAAK+tC,EAAK/tC,GAAKiuC,EAAMjuC,GAC/C8tC,EAAK9tC,GAAKqtC,CACZ,CASA,OAPAxxC,KAAK2xC,UAAUM,EAAMC,EAAM9B,GAC3BpwC,KAAK6wC,UAAUoB,EAAMC,EAAMI,EAAMlxC,EAAGgvC,EAAGI,GACvCxwC,KAAK2xC,UAAUW,EAAMlxC,EAAGgvC,GACxBpwC,KAAK4xC,aAAaU,EAAMlC,GAExBxpC,EAAI4+B,SAAWlzB,EAAEkzB,SAAWuK,EAAEvK,SAC9B5+B,EAAI5C,OAASsO,EAAEtO,OAAS+rC,EAAE/rC,OACnB4C,EAAI2/B,OACb,EAGAhxB,EAAGrU,UAAUwc,IAAM,SAAc5a,GAC/B,IAAI8D,EAAM,IAAI2O,EAAG,MAEjB,OADA3O,EAAI6+B,MAAQ,IAAIvgC,MAAMlF,KAAKgE,OAASlB,EAAIkB,QACjChE,KAAKgwC,MAAMltC,EAAK8D,EACzB,EAGA2O,EAAGrU,UAAUqxC,KAAO,SAAezvC,GACjC,IAAI8D,EAAM,IAAI2O,EAAG,MAEjB,OADA3O,EAAI6+B,MAAQ,IAAIvgC,MAAMlF,KAAKgE,OAASlB,EAAIkB,QACjC4rC,EAAW5vC,KAAM8C,EAAK8D,EAC/B,EAGA2O,EAAGrU,UAAUutC,KAAO,SAAe3rC,GACjC,OAAO9C,KAAK6d,QAAQmyB,MAAMltC,EAAK9C,KACjC,EAEAuV,EAAGrU,UAAU2lC,MAAQ,SAAgB/jC,GACnC2S,EAAsB,iBAAR3S,GACd2S,EAAO3S,EAAM,UAIb,IADA,IAAIukC,EAAQ,EACHljC,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAAK,CACpC,IAAImiC,GAAqB,EAAhBtmC,KAAKylC,MAAMthC,IAAUrB,EAC1BskC,GAAU,SAAJd,IAA0B,SAARe,GAC5BA,IAAU,GACVA,GAAUf,EAAI,SAAa,EAE3Be,GAASD,IAAO,GAChBpnC,KAAKylC,MAAMthC,GAAU,SAALijC,CAClB,CAOA,OALc,IAAVC,IACFrnC,KAAKylC,MAAMthC,GAAKkjC,EAChBrnC,KAAKgE,UAGAhE,IACT,EAEAuV,EAAGrU,UAAUsxC,KAAO,SAAe1vC,GACjC,OAAO9C,KAAK6d,QAAQgpB,MAAM/jC,EAC5B,EAGAyS,EAAGrU,UAAUuxC,IAAM,WACjB,OAAOzyC,KAAK0d,IAAI1d,KAClB,EAGAuV,EAAGrU,UAAUwxC,KAAO,WAClB,OAAO1yC,KAAKyuC,KAAKzuC,KAAK6d,QACxB,EAGAtI,EAAGrU,UAAU0W,IAAM,SAAc9U,GAC/B,IAAIwjC,EAxxCN,SAAqBxjC,GAGnB,IAFA,IAAIwjC,EAAI,IAAIphC,MAAMpC,EAAI2lC,aAEb4B,EAAM,EAAGA,EAAM/D,EAAEtiC,OAAQqmC,IAAO,CACvC,IAAIxR,EAAOwR,EAAM,GAAM,EACnBC,EAAOD,EAAM,GAEjB/D,EAAE+D,IAAQvnC,EAAI2iC,MAAM5M,GAAQ,GAAKyR,KAAWA,CAC9C,CAEA,OAAOhE,CACT,CA6wCUqM,CAAW7vC,GACnB,GAAiB,IAAbwjC,EAAEtiC,OAAc,OAAO,IAAIuR,EAAG,GAIlC,IADA,IAAI7R,EAAM1D,KACDmE,EAAI,EAAGA,EAAImiC,EAAEtiC,QACP,IAATsiC,EAAEniC,GADsBA,IAAKT,EAAMA,EAAI+uC,OAI7C,KAAMtuC,EAAImiC,EAAEtiC,OACV,IAAK,IAAIqkC,EAAI3kC,EAAI+uC,MAAOtuC,EAAImiC,EAAEtiC,OAAQG,IAAKkkC,EAAIA,EAAEoK,MAClC,IAATnM,EAAEniC,KAENT,EAAMA,EAAIga,IAAI2qB,IAIlB,OAAO3kC,CACT,EAGA6R,EAAGrU,UAAU0xC,OAAS,SAAiB90B,GACrCrI,EAAuB,iBAATqI,GAAqBA,GAAQ,GAC3C,IAGI3Z,EAHA2hC,EAAIhoB,EAAO,GACXrG,GAAKqG,EAAOgoB,GAAK,GACjB+M,EAAa,WAAe,GAAK/M,GAAQ,GAAKA,EAGlD,GAAU,IAANA,EAAS,CACX,IAAIuB,EAAQ,EAEZ,IAAKljC,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAAK,CAChC,IAAI2uC,EAAW9yC,KAAKylC,MAAMthC,GAAK0uC,EAC3BlhC,GAAsB,EAAhB3R,KAAKylC,MAAMthC,IAAU2uC,GAAahN,EAC5C9lC,KAAKylC,MAAMthC,GAAKwN,EAAI01B,EACpBA,EAAQyL,IAAc,GAAKhN,CAC7B,CAEIuB,IACFrnC,KAAKylC,MAAMthC,GAAKkjC,EAChBrnC,KAAKgE,SAET,CAEA,GAAU,IAANyT,EAAS,CACX,IAAKtT,EAAInE,KAAKgE,OAAS,EAAGG,GAAK,EAAGA,IAChCnE,KAAKylC,MAAMthC,EAAIsT,GAAKzX,KAAKylC,MAAMthC,GAGjC,IAAKA,EAAI,EAAGA,EAAIsT,EAAGtT,IACjBnE,KAAKylC,MAAMthC,GAAK,EAGlBnE,KAAKgE,QAAUyT,CACjB,CAEA,OAAOzX,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAU6xC,MAAQ,SAAgBj1B,GAGnC,OADArI,EAAyB,IAAlBzV,KAAKwlC,UACLxlC,KAAK4yC,OAAO90B,EACrB,EAKAvI,EAAGrU,UAAU6c,OAAS,SAAiBD,EAAMnE,EAAMq5B,GAEjD,IAAIxpB,EADJ/T,EAAuB,iBAATqI,GAAqBA,GAAQ,GAGzC0L,EADE7P,GACGA,EAAQA,EAAO,IAAO,GAEvB,EAGN,IAAImsB,EAAIhoB,EAAO,GACXrG,EAAInK,KAAK8K,KAAK0F,EAAOgoB,GAAK,GAAI9lC,KAAKgE,QACnCivC,EAAO,SAAc,WAAcnN,GAAMA,EACzCoN,EAAcF,EAMlB,GAJAxpB,GAAK/R,EACL+R,EAAIlc,KAAK4S,IAAI,EAAGsJ,GAGZ0pB,EAAa,CACf,IAAK,IAAI/uC,EAAI,EAAGA,EAAIsT,EAAGtT,IACrB+uC,EAAYzN,MAAMthC,GAAKnE,KAAKylC,MAAMthC,GAEpC+uC,EAAYlvC,OAASyT,CACvB,CAEA,GAAU,IAANA,QAEG,GAAIzX,KAAKgE,OAASyT,EAEvB,IADAzX,KAAKgE,QAAUyT,EACVtT,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAC3BnE,KAAKylC,MAAMthC,GAAKnE,KAAKylC,MAAMthC,EAAIsT,QAGjCzX,KAAKylC,MAAM,GAAK,EAChBzlC,KAAKgE,OAAS,EAGhB,IAAIqjC,EAAQ,EACZ,IAAKljC,EAAInE,KAAKgE,OAAS,EAAGG,GAAK,IAAgB,IAAVkjC,GAAeljC,GAAKqlB,GAAIrlB,IAAK,CAChE,IAAIyiC,EAAuB,EAAhB5mC,KAAKylC,MAAMthC,GACtBnE,KAAKylC,MAAMthC,GAAMkjC,GAAU,GAAKvB,EAAOc,IAASd,EAChDuB,EAAQT,EAAOqM,CACjB,CAYA,OATIC,GAAyB,IAAV7L,IACjB6L,EAAYzN,MAAMyN,EAAYlvC,UAAYqjC,GAGxB,IAAhBrnC,KAAKgE,SACPhE,KAAKylC,MAAM,GAAK,EAChBzlC,KAAKgE,OAAS,GAGThE,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAUiyC,MAAQ,SAAgBr1B,EAAMnE,EAAMq5B,GAG/C,OADAv9B,EAAyB,IAAlBzV,KAAKwlC,UACLxlC,KAAK+d,OAAOD,EAAMnE,EAAMq5B,EACjC,EAGAz9B,EAAGrU,UAAUkyC,KAAO,SAAet1B,GACjC,OAAO9d,KAAK6d,QAAQk1B,MAAMj1B,EAC5B,EAEAvI,EAAGrU,UAAUmyC,MAAQ,SAAgBv1B,GACnC,OAAO9d,KAAK6d,QAAQ+0B,OAAO90B,EAC7B,EAGAvI,EAAGrU,UAAUoyC,KAAO,SAAex1B,GACjC,OAAO9d,KAAK6d,QAAQs1B,MAAMr1B,EAC5B,EAEAvI,EAAGrU,UAAUqyC,MAAQ,SAAgBz1B,GACnC,OAAO9d,KAAK6d,QAAQE,OAAOD,EAC7B,EAGAvI,EAAGrU,UAAU+nC,MAAQ,SAAgBoB,GACnC50B,EAAsB,iBAAR40B,GAAoBA,GAAO,GACzC,IAAIvE,EAAIuE,EAAM,GACV5yB,GAAK4yB,EAAMvE,GAAK,GAChBuC,EAAI,GAAKvC,EAGb,QAAI9lC,KAAKgE,QAAUyT,OAGXzX,KAAKylC,MAAMhuB,GAEL4wB,EAChB,EAGA9yB,EAAGrU,UAAUsyC,OAAS,SAAiB11B,GACrCrI,EAAuB,iBAATqI,GAAqBA,GAAQ,GAC3C,IAAIgoB,EAAIhoB,EAAO,GACXrG,GAAKqG,EAAOgoB,GAAK,GAIrB,GAFArwB,EAAyB,IAAlBzV,KAAKwlC,SAAgB,2CAExBxlC,KAAKgE,QAAUyT,EACjB,OAAOzX,KAQT,GALU,IAAN8lC,GACFruB,IAEFzX,KAAKgE,OAASsJ,KAAK8K,IAAIX,EAAGzX,KAAKgE,QAErB,IAAN8hC,EAAS,CACX,IAAImN,EAAO,SAAc,WAAcnN,GAAMA,EAC7C9lC,KAAKylC,MAAMzlC,KAAKgE,OAAS,IAAMivC,CACjC,CAEA,OAAOjzC,KAAKumC,OACd,EAGAhxB,EAAGrU,UAAUuyC,MAAQ,SAAgB31B,GACnC,OAAO9d,KAAK6d,QAAQ21B,OAAO11B,EAC7B,EAGAvI,EAAGrU,UAAU6nC,MAAQ,SAAgBjmC,GAGnC,OAFA2S,EAAsB,iBAAR3S,GACd2S,EAAO3S,EAAM,UACTA,EAAM,EAAU9C,KAAK0zC,OAAO5wC,GAGV,IAAlB9C,KAAKwlC,SACa,IAAhBxlC,KAAKgE,SAAiC,EAAhBhE,KAAKylC,MAAM,IAAU3iC,GAC7C9C,KAAKylC,MAAM,GAAK3iC,GAAuB,EAAhB9C,KAAKylC,MAAM,IAClCzlC,KAAKwlC,SAAW,EACTxlC,OAGTA,KAAKwlC,SAAW,EAChBxlC,KAAK0zC,MAAM5wC,GACX9C,KAAKwlC,SAAW,EACTxlC,MAIFA,KAAK8mC,OAAOhkC,EACrB,EAEAyS,EAAGrU,UAAU4lC,OAAS,SAAiBhkC,GACrC9C,KAAKylC,MAAM,IAAM3iC,EAGjB,IAAK,IAAIqB,EAAI,EAAGA,EAAInE,KAAKgE,QAAUhE,KAAKylC,MAAMthC,IAAM,SAAWA,IAC7DnE,KAAKylC,MAAMthC,IAAM,SACbA,IAAMnE,KAAKgE,OAAS,EACtBhE,KAAKylC,MAAMthC,EAAI,GAAK,EAEpBnE,KAAKylC,MAAMthC,EAAI,KAKnB,OAFAnE,KAAKgE,OAASsJ,KAAK4S,IAAIlgB,KAAKgE,OAAQG,EAAI,GAEjCnE,IACT,EAGAuV,EAAGrU,UAAUwyC,MAAQ,SAAgB5wC,GAGnC,GAFA2S,EAAsB,iBAAR3S,GACd2S,EAAO3S,EAAM,UACTA,EAAM,EAAG,OAAO9C,KAAK+oC,OAAOjmC,GAEhC,GAAsB,IAAlB9C,KAAKwlC,SAIP,OAHAxlC,KAAKwlC,SAAW,EAChBxlC,KAAK+oC,MAAMjmC,GACX9C,KAAKwlC,SAAW,EACTxlC,KAKT,GAFAA,KAAKylC,MAAM,IAAM3iC,EAEG,IAAhB9C,KAAKgE,QAAgBhE,KAAKylC,MAAM,GAAK,EACvCzlC,KAAKylC,MAAM,IAAMzlC,KAAKylC,MAAM,GAC5BzlC,KAAKwlC,SAAW,OAGhB,IAAK,IAAIrhC,EAAI,EAAGA,EAAInE,KAAKgE,QAAUhE,KAAKylC,MAAMthC,GAAK,EAAGA,IACpDnE,KAAKylC,MAAMthC,IAAM,SACjBnE,KAAKylC,MAAMthC,EAAI,IAAM,EAIzB,OAAOnE,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAUyyC,KAAO,SAAe7wC,GACjC,OAAO9C,KAAK6d,QAAQkrB,MAAMjmC,EAC5B,EAEAyS,EAAGrU,UAAU0yC,KAAO,SAAe9wC,GACjC,OAAO9C,KAAK6d,QAAQ61B,MAAM5wC,EAC5B,EAEAyS,EAAGrU,UAAU2yC,KAAO,WAGlB,OAFA7zC,KAAKwlC,SAAW,EAETxlC,IACT,EAEAuV,EAAGrU,UAAU4W,IAAM,WACjB,OAAO9X,KAAK6d,QAAQg2B,MACtB,EAEAt+B,EAAGrU,UAAU4yC,aAAe,SAAuBhxC,EAAK4a,EAAKpM,GAC3D,IACInN,EAIAmiC,EALAr9B,EAAMnG,EAAIkB,OAASsN,EAGvBtR,KAAK+mC,QAAQ99B,GAGb,IAAIo+B,EAAQ,EACZ,IAAKljC,EAAI,EAAGA,EAAIrB,EAAIkB,OAAQG,IAAK,CAC/BmiC,GAA6B,EAAxBtmC,KAAKylC,MAAMthC,EAAImN,IAAc+1B,EAClC,IAAIpB,GAAwB,EAAfnjC,EAAI2iC,MAAMthC,IAAUuZ,EAEjC2pB,IADAf,GAAa,SAARL,IACS,KAAQA,EAAQ,SAAa,GAC3CjmC,KAAKylC,MAAMthC,EAAImN,GAAa,SAAJg1B,CAC1B,CACA,KAAOniC,EAAInE,KAAKgE,OAASsN,EAAOnN,IAE9BkjC,GADAf,GAA6B,EAAxBtmC,KAAKylC,MAAMthC,EAAImN,IAAc+1B,IACrB,GACbrnC,KAAKylC,MAAMthC,EAAImN,GAAa,SAAJg1B,EAG1B,GAAc,IAAVe,EAAa,OAAOrnC,KAAKumC,QAK7B,IAFA9wB,GAAkB,IAAX4xB,GACPA,EAAQ,EACHljC,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAE3BkjC,GADAf,IAAsB,EAAhBtmC,KAAKylC,MAAMthC,IAAUkjC,IACd,GACbrnC,KAAKylC,MAAMthC,GAAS,SAAJmiC,EAIlB,OAFAtmC,KAAKwlC,SAAW,EAETxlC,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAU6yC,SAAW,SAAmBjxC,EAAK8H,GAC9C,IAAI0G,GAAQtR,KAAKgE,OAASlB,EAAIkB,QAE1BkU,EAAIlY,KAAK6d,QACT1F,EAAIrV,EAGJkxC,EAA8B,EAAxB77B,EAAEstB,MAAMttB,EAAEnU,OAAS,GAGf,KADdsN,EAAQ,GADMtR,KAAKuoC,WAAWyL,MAG5B77B,EAAIA,EAAEk7B,MAAM/hC,GACZ4G,EAAE06B,OAAOthC,GACT0iC,EAA8B,EAAxB77B,EAAEstB,MAAMttB,EAAEnU,OAAS,IAI3B,IACIqkC,EADAlxB,EAAIe,EAAElU,OAASmU,EAAEnU,OAGrB,GAAa,QAAT4G,EAAgB,EAClBy9B,EAAI,IAAI9yB,EAAG,OACTvR,OAASmT,EAAI,EACfkxB,EAAE5C,MAAQ,IAAIvgC,MAAMmjC,EAAErkC,QACtB,IAAK,IAAIG,EAAI,EAAGA,EAAIkkC,EAAErkC,OAAQG,IAC5BkkC,EAAE5C,MAAMthC,GAAK,CAEjB,CAEA,IAAIoZ,EAAOrF,EAAE2F,QAAQi2B,aAAa37B,EAAG,EAAGhB,GAClB,IAAlBoG,EAAKioB,WACPttB,EAAIqF,EACA8qB,IACFA,EAAE5C,MAAMtuB,GAAK,IAIjB,IAAK,IAAI/S,EAAI+S,EAAI,EAAG/S,GAAK,EAAGA,IAAK,CAC/B,IAAI6vC,EAAmC,UAAL,EAAxB/7B,EAAEutB,MAAMttB,EAAEnU,OAASI,KACE,EAA5B8T,EAAEutB,MAAMttB,EAAEnU,OAASI,EAAI,IAO1B,IAHA6vC,EAAK3mC,KAAK8K,IAAK67B,EAAKD,EAAO,EAAG,UAE9B97B,EAAE47B,aAAa37B,EAAG87B,EAAI7vC,GACA,IAAf8T,EAAEstB,UACPyO,IACA/7B,EAAEstB,SAAW,EACbttB,EAAE47B,aAAa37B,EAAG,EAAG/T,GAChB8T,EAAE0vB,WACL1vB,EAAEstB,UAAY,GAGd6C,IACFA,EAAE5C,MAAMrhC,GAAK6vC,EAEjB,CAWA,OAVI5L,GACFA,EAAE9B,QAEJruB,EAAEquB,QAGW,QAAT37B,GAA4B,IAAV0G,GACpB4G,EAAE6F,OAAOzM,GAGJ,CACL4iC,IAAK7L,GAAK,KACV1B,IAAKzuB,EAET,EAMA3C,EAAGrU,UAAUizC,OAAS,SAAiBrxC,EAAK8H,EAAMwpC,GAGhD,OAFA3+B,GAAQ3S,EAAI8kC,UAER5nC,KAAK4nC,SACA,CACLsM,IAAK,IAAI3+B,EAAG,GACZoxB,IAAK,IAAIpxB,EAAG,IAKM,IAAlBvV,KAAKwlC,UAAmC,IAAjB1iC,EAAI0iC,UAC7B9hC,EAAM1D,KAAKqpC,MAAM8K,OAAOrxC,EAAK8H,GAEhB,QAATA,IACFspC,EAAMxwC,EAAIwwC,IAAI7K,OAGH,QAATz+B,IACF+7B,EAAMjjC,EAAIijC,IAAI0C,MACV+K,GAA6B,IAAjBzN,EAAInB,UAClBmB,EAAI4D,KAAKznC,IAIN,CACLoxC,IAAKA,EACLvN,IAAKA,IAIa,IAAlB3mC,KAAKwlC,UAAmC,IAAjB1iC,EAAI0iC,UAC7B9hC,EAAM1D,KAAKm0C,OAAOrxC,EAAIumC,MAAOz+B,GAEhB,QAATA,IACFspC,EAAMxwC,EAAIwwC,IAAI7K,OAGT,CACL6K,IAAKA,EACLvN,IAAKjjC,EAAIijC,MAIR3mC,KAAKwlC,SAAW1iC,EAAI0iC,UACvB9hC,EAAM1D,KAAKqpC,MAAM8K,OAAOrxC,EAAIumC,MAAOz+B,GAEtB,QAATA,IACF+7B,EAAMjjC,EAAIijC,IAAI0C,MACV+K,GAA6B,IAAjBzN,EAAInB,UAClBmB,EAAI6D,KAAK1nC,IAIN,CACLoxC,IAAKxwC,EAAIwwC,IACTvN,IAAKA,IAOL7jC,EAAIkB,OAAShE,KAAKgE,QAAUhE,KAAKqc,IAAIvZ,GAAO,EACvC,CACLoxC,IAAK,IAAI3+B,EAAG,GACZoxB,IAAK3mC,MAKU,IAAf8C,EAAIkB,OACO,QAAT4G,EACK,CACLspC,IAAKl0C,KAAKq0C,KAAKvxC,EAAI2iC,MAAM,IACzBkB,IAAK,MAII,QAAT/7B,EACK,CACLspC,IAAK,KACLvN,IAAK,IAAIpxB,EAAGvV,KAAK6nC,KAAK/kC,EAAI2iC,MAAM,MAI7B,CACLyO,IAAKl0C,KAAKq0C,KAAKvxC,EAAI2iC,MAAM,IACzBkB,IAAK,IAAIpxB,EAAGvV,KAAK6nC,KAAK/kC,EAAI2iC,MAAM,MAI7BzlC,KAAK+zC,SAASjxC,EAAK8H,GAlF1B,IAAIspC,EAAKvN,EAAKjjC,CAmFhB,EAGA6R,EAAGrU,UAAUgzC,IAAM,SAAcpxC,GAC/B,OAAO9C,KAAKm0C,OAAOrxC,EAAK,OAAO,GAAOoxC,GACxC,EAGA3+B,EAAGrU,UAAUylC,IAAM,SAAc7jC,GAC/B,OAAO9C,KAAKm0C,OAAOrxC,EAAK,OAAO,GAAO6jC,GACxC,EAEApxB,EAAGrU,UAAUozC,KAAO,SAAexxC,GACjC,OAAO9C,KAAKm0C,OAAOrxC,EAAK,OAAO,GAAM6jC,GACvC,EAGApxB,EAAGrU,UAAUqzC,SAAW,SAAmBzxC,GACzC,IAAI0xC,EAAKx0C,KAAKm0C,OAAOrxC,GAGrB,GAAI0xC,EAAG7N,IAAIiB,SAAU,OAAO4M,EAAGN,IAE/B,IAAIvN,EAA0B,IAApB6N,EAAGN,IAAI1O,SAAiBgP,EAAG7N,IAAI6D,KAAK1nC,GAAO0xC,EAAG7N,IAEpD8N,EAAO3xC,EAAIywC,MAAM,GACjBmB,EAAK5xC,EAAIkb,MAAM,GACf3B,EAAMsqB,EAAItqB,IAAIo4B,GAGlB,OAAIp4B,EAAM,GAAY,IAAPq4B,GAAoB,IAARr4B,EAAkBm4B,EAAGN,IAGrB,IAApBM,EAAGN,IAAI1O,SAAiBgP,EAAGN,IAAIR,MAAM,GAAKc,EAAGN,IAAInL,MAAM,EAChE,EAEAxzB,EAAGrU,UAAU2mC,KAAO,SAAe/kC,GACjC2S,EAAO3S,GAAO,UAId,IAHA,IAAI4O,GAAK,GAAK,IAAM5O,EAEhB6xC,EAAM,EACDxwC,EAAInE,KAAKgE,OAAS,EAAGG,GAAK,EAAGA,IACpCwwC,GAAOjjC,EAAIijC,GAAuB,EAAhB30C,KAAKylC,MAAMthC,KAAWrB,EAG1C,OAAO6xC,CACT,EAGAp/B,EAAGrU,UAAU4mC,MAAQ,SAAgBhlC,GACnC2S,EAAO3S,GAAO,UAGd,IADA,IAAIukC,EAAQ,EACHljC,EAAInE,KAAKgE,OAAS,EAAGG,GAAK,EAAGA,IAAK,CACzC,IAAImiC,GAAqB,EAAhBtmC,KAAKylC,MAAMthC,IAAkB,SAARkjC,EAC9BrnC,KAAKylC,MAAMthC,GAAMmiC,EAAIxjC,EAAO,EAC5BukC,EAAQf,EAAIxjC,CACd,CAEA,OAAO9C,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAUmzC,KAAO,SAAevxC,GACjC,OAAO9C,KAAK6d,QAAQiqB,MAAMhlC,EAC5B,EAEAyS,EAAGrU,UAAU0zC,KAAO,SAAeljC,GACjC+D,EAAsB,IAAf/D,EAAE8zB,UACT/vB,GAAQ/D,EAAEk2B,UAEV,IAAIt1B,EAAItS,KACJ+vC,EAAIr+B,EAAEmM,QAGRvL,EADiB,IAAfA,EAAEkzB,SACAlzB,EAAEgiC,KAAK5iC,GAEPY,EAAEuL,QAaR,IATA,IAAIg3B,EAAI,IAAIt/B,EAAG,GACXu/B,EAAI,IAAIv/B,EAAG,GAGXw/B,EAAI,IAAIx/B,EAAG,GACXy/B,EAAI,IAAIz/B,EAAG,GAEX0T,EAAI,EAED3W,EAAE2iC,UAAYlF,EAAEkF,UACrB3iC,EAAEyL,OAAO,GACTgyB,EAAEhyB,OAAO,KACPkL,EAMJ,IAHA,IAAIisB,EAAKnF,EAAElyB,QACPs3B,EAAK7iC,EAAEuL,SAEHvL,EAAEs1B,UAAU,CAClB,IAAK,IAAIzjC,EAAI,EAAGixC,EAAK,IAAI9iC,EAAEmzB,MAAM,GAAK2P,IAAajxC,EAAI,KAAMA,EAAGixC,IAAO,GACvE,GAAIjxC,EAAI,EAEN,IADAmO,EAAEyL,OAAO5Z,GACFA,KAAM,IACP0wC,EAAEQ,SAAWP,EAAEO,WACjBR,EAAEtK,KAAK2K,GACPJ,EAAEtK,KAAK2K,IAGTN,EAAE92B,OAAO,GACT+2B,EAAE/2B,OAAO,GAIb,IAAK,IAAI3Z,EAAI,EAAGkxC,EAAK,IAAIvF,EAAEtK,MAAM,GAAK6P,IAAalxC,EAAI,KAAMA,EAAGkxC,IAAO,GACvE,GAAIlxC,EAAI,EAEN,IADA2rC,EAAEhyB,OAAO3Z,GACFA,KAAM,IACP2wC,EAAEM,SAAWL,EAAEK,WACjBN,EAAExK,KAAK2K,GACPF,EAAExK,KAAK2K,IAGTJ,EAAEh3B,OAAO,GACTi3B,EAAEj3B,OAAO,GAITzL,EAAE+J,IAAI0zB,IAAM,GACdz9B,EAAEk4B,KAAKuF,GACP8E,EAAErK,KAAKuK,GACPD,EAAEtK,KAAKwK,KAEPjF,EAAEvF,KAAKl4B,GACPyiC,EAAEvK,KAAKqK,GACPG,EAAExK,KAAKsK,GAEX,CAEA,MAAO,CACL58B,EACAC,EAAG68B,EACHO,IAAKxF,EAAE6C,OAAO3pB,GAElB,EAKA1T,EAAGrU,UAAUs0C,OAAS,SAAiB9jC,GACrC+D,EAAsB,IAAf/D,EAAE8zB,UACT/vB,GAAQ/D,EAAEk2B,UAEV,IAAI1vB,EAAIlY,KACJmY,EAAIzG,EAAEmM,QAGR3F,EADiB,IAAfA,EAAEstB,SACAttB,EAAEo8B,KAAK5iC,GAEPwG,EAAE2F,QAQR,IALA,IAuCIna,EAvCA+xC,EAAK,IAAIlgC,EAAG,GACZ0G,EAAK,IAAI1G,EAAG,GAEZ8tB,EAAQlrB,EAAE0F,QAEP3F,EAAE4E,KAAK,GAAK,GAAK3E,EAAE2E,KAAK,GAAK,GAAG,CACrC,IAAK,IAAI3Y,EAAI,EAAGixC,EAAK,IAAIl9B,EAAEutB,MAAM,GAAK2P,IAAajxC,EAAI,KAAMA,EAAGixC,IAAO,GACvE,GAAIjxC,EAAI,EAEN,IADA+T,EAAE6F,OAAO5Z,GACFA,KAAM,GACPsxC,EAAGJ,SACLI,EAAGlL,KAAKlH,GAGVoS,EAAG13B,OAAO,GAId,IAAK,IAAI3Z,EAAI,EAAGkxC,EAAK,IAAIn9B,EAAEstB,MAAM,GAAK6P,IAAalxC,EAAI,KAAMA,EAAGkxC,IAAO,GACvE,GAAIlxC,EAAI,EAEN,IADA+T,EAAE4F,OAAO3Z,GACFA,KAAM,GACP6X,EAAGo5B,SACLp5B,EAAGsuB,KAAKlH,GAGVpnB,EAAG8B,OAAO,GAIV7F,EAAEmE,IAAIlE,IAAM,GACdD,EAAEsyB,KAAKryB,GACPs9B,EAAGjL,KAAKvuB,KAER9D,EAAEqyB,KAAKtyB,GACP+D,EAAGuuB,KAAKiL,GAEZ,CAaA,OATE/xC,EADgB,IAAdwU,EAAE4E,KAAK,GACH24B,EAEAx5B,GAGAa,KAAK,GAAK,GAChBpZ,EAAI6mC,KAAK74B,GAGJhO,CACT,EAEA6R,EAAGrU,UAAUq0C,IAAM,SAAczyC,GAC/B,GAAI9C,KAAK4nC,SAAU,OAAO9kC,EAAIgV,MAC9B,GAAIhV,EAAI8kC,SAAU,OAAO5nC,KAAK8X,MAE9B,IAAII,EAAIlY,KAAK6d,QACT1F,EAAIrV,EAAI+a,QACZ3F,EAAEstB,SAAW,EACbrtB,EAAEqtB,SAAW,EAGb,IAAK,IAAIl0B,EAAQ,EAAG4G,EAAE+8B,UAAY98B,EAAE88B,SAAU3jC,IAC5C4G,EAAE6F,OAAO,GACT5F,EAAE4F,OAAO,GAGX,OAAG,CACD,KAAO7F,EAAE+8B,UACP/8B,EAAE6F,OAAO,GAEX,KAAO5F,EAAE88B,UACP98B,EAAE4F,OAAO,GAGX,IAAI+nB,EAAI5tB,EAAEmE,IAAIlE,GACd,GAAI2tB,EAAI,EAAG,CAET,IAAIloB,EAAI1F,EACRA,EAAIC,EACJA,EAAIyF,CACN,MAAO,GAAU,IAANkoB,GAAyB,IAAd3tB,EAAE2E,KAAK,GAC3B,MAGF5E,EAAEsyB,KAAKryB,EACT,CAEA,OAAOA,EAAEy6B,OAAOthC,EAClB,EAGAiE,EAAGrU,UAAUw0C,KAAO,SAAe5yC,GACjC,OAAO9C,KAAK40C,KAAK9xC,GAAKoV,EAAEo8B,KAAKxxC,EAC/B,EAEAyS,EAAGrU,UAAU+zC,OAAS,WACpB,QAAwB,EAAhBj1C,KAAKylC,MAAM,GACrB,EAEAlwB,EAAGrU,UAAUm0C,MAAQ,WACnB,QAA+B,GAAvBr1C,KAAKylC,MAAM,GACrB,EAGAlwB,EAAGrU,UAAU8c,MAAQ,SAAgBlb,GACnC,OAAO9C,KAAKylC,MAAM,GAAK3iC,CACzB,EAGAyS,EAAGrU,UAAUy0C,MAAQ,SAAgBtL,GACnC50B,EAAsB,iBAAR40B,GACd,IAAIvE,EAAIuE,EAAM,GACV5yB,GAAK4yB,EAAMvE,GAAK,GAChBuC,EAAI,GAAKvC,EAGb,GAAI9lC,KAAKgE,QAAUyT,EAGjB,OAFAzX,KAAK+mC,QAAQtvB,EAAI,GACjBzX,KAAKylC,MAAMhuB,IAAM4wB,EACVroC,KAKT,IADA,IAAIqnC,EAAQgB,EACHlkC,EAAIsT,EAAa,IAAV4vB,GAAeljC,EAAInE,KAAKgE,OAAQG,IAAK,CACnD,IAAImiC,EAAoB,EAAhBtmC,KAAKylC,MAAMthC,GAEnBkjC,GADAf,GAAKe,KACS,GACdf,GAAK,SACLtmC,KAAKylC,MAAMthC,GAAKmiC,CAClB,CAKA,OAJc,IAAVe,IACFrnC,KAAKylC,MAAMthC,GAAKkjC,EAChBrnC,KAAKgE,UAEAhE,IACT,EAEAuV,EAAGrU,UAAU0mC,OAAS,WACpB,OAAuB,IAAhB5nC,KAAKgE,QAAkC,IAAlBhE,KAAKylC,MAAM,EACzC,EAEAlwB,EAAGrU,UAAU4b,KAAO,SAAeha,GACjC,IAOIY,EAPA8hC,EAAW1iC,EAAM,EAErB,GAAsB,IAAlB9C,KAAKwlC,WAAmBA,EAAU,OAAQ,EAC9C,GAAsB,IAAlBxlC,KAAKwlC,UAAkBA,EAAU,OAAO,EAK5C,GAHAxlC,KAAKumC,QAGDvmC,KAAKgE,OAAS,EAChBN,EAAM,MACD,CACD8hC,IACF1iC,GAAOA,GAGT2S,EAAO3S,GAAO,SAAW,qBAEzB,IAAIwjC,EAAoB,EAAhBtmC,KAAKylC,MAAM,GACnB/hC,EAAM4iC,IAAMxjC,EAAM,EAAIwjC,EAAIxjC,GAAO,EAAI,CACvC,CACA,OAAsB,IAAlB9C,KAAKwlC,SAA8B,GAAN9hC,EAC1BA,CACT,EAMA6R,EAAGrU,UAAUmb,IAAM,SAAcvZ,GAC/B,GAAsB,IAAlB9C,KAAKwlC,UAAmC,IAAjB1iC,EAAI0iC,SAAgB,OAAQ,EACvD,GAAsB,IAAlBxlC,KAAKwlC,UAAmC,IAAjB1iC,EAAI0iC,SAAgB,OAAO,EAEtD,IAAI9hC,EAAM1D,KAAK41C,KAAK9yC,GACpB,OAAsB,IAAlB9C,KAAKwlC,SAA8B,GAAN9hC,EAC1BA,CACT,EAGA6R,EAAGrU,UAAU00C,KAAO,SAAe9yC,GAEjC,GAAI9C,KAAKgE,OAASlB,EAAIkB,OAAQ,OAAO,EACrC,GAAIhE,KAAKgE,OAASlB,EAAIkB,OAAQ,OAAQ,EAGtC,IADA,IAAIN,EAAM,EACDS,EAAInE,KAAKgE,OAAS,EAAGG,GAAK,EAAGA,IAAK,CACzC,IAAI+T,EAAoB,EAAhBlY,KAAKylC,MAAMthC,GACfgU,EAAmB,EAAfrV,EAAI2iC,MAAMthC,GAElB,GAAI+T,IAAMC,EAAV,CACID,EAAIC,EACNzU,GAAO,EACEwU,EAAIC,IACbzU,EAAM,GAER,KANqB,CAOvB,CACA,OAAOA,CACT,EAEA6R,EAAGrU,UAAU20C,IAAM,SAAc/yC,GAC/B,OAA0B,IAAnB9C,KAAK8c,KAAKha,EACnB,EAEAyS,EAAGrU,UAAU40C,GAAK,SAAahzC,GAC7B,OAAyB,IAAlB9C,KAAKqc,IAAIvZ,EAClB,EAEAyS,EAAGrU,UAAU60C,KAAO,SAAejzC,GACjC,OAAO9C,KAAK8c,KAAKha,IAAQ,CAC3B,EAEAyS,EAAGrU,UAAU80C,IAAM,SAAclzC,GAC/B,OAAO9C,KAAKqc,IAAIvZ,IAAQ,CAC1B,EAEAyS,EAAGrU,UAAU+0C,IAAM,SAAcnzC,GAC/B,OAA2B,IAApB9C,KAAK8c,KAAKha,EACnB,EAEAyS,EAAGrU,UAAUg1C,GAAK,SAAapzC,GAC7B,OAA0B,IAAnB9C,KAAKqc,IAAIvZ,EAClB,EAEAyS,EAAGrU,UAAUi1C,KAAO,SAAerzC,GACjC,OAAO9C,KAAK8c,KAAKha,IAAQ,CAC3B,EAEAyS,EAAGrU,UAAUk1C,IAAM,SAActzC,GAC/B,OAAO9C,KAAKqc,IAAIvZ,IAAQ,CAC1B,EAEAyS,EAAGrU,UAAUm1C,IAAM,SAAcvzC,GAC/B,OAA0B,IAAnB9C,KAAK8c,KAAKha,EACnB,EAEAyS,EAAGrU,UAAUid,GAAK,SAAarb,GAC7B,OAAyB,IAAlB9C,KAAKqc,IAAIvZ,EAClB,EAMAyS,EAAG2F,IAAM,SAAcpY,GACrB,OAAO,IAAIwzC,EAAIxzC,EACjB,EAEAyS,EAAGrU,UAAU+Z,MAAQ,SAAgBmR,GAGnC,OAFA3W,GAAQzV,KAAKkb,IAAK,yCAClBzF,EAAyB,IAAlBzV,KAAKwlC,SAAgB,iCACrBpZ,EAAImqB,UAAUv2C,MAAMw2C,UAAUpqB,EACvC,EAEA7W,EAAGrU,UAAU2b,QAAU,WAErB,OADApH,EAAOzV,KAAKkb,IAAK,wDACVlb,KAAKkb,IAAIu7B,YAAYz2C,KAC9B,EAEAuV,EAAGrU,UAAUs1C,UAAY,SAAoBpqB,GAE3C,OADApsB,KAAKkb,IAAMkR,EACJpsB,IACT,EAEAuV,EAAGrU,UAAUw1C,SAAW,SAAmBtqB,GAEzC,OADA3W,GAAQzV,KAAKkb,IAAK,yCACXlb,KAAKw2C,UAAUpqB,EACxB,EAEA7W,EAAGrU,UAAUqa,OAAS,SAAiBzY,GAErC,OADA2S,EAAOzV,KAAKkb,IAAK,sCACVlb,KAAKkb,IAAImC,IAAIrd,KAAM8C,EAC5B,EAEAyS,EAAGrU,UAAUy1C,QAAU,SAAkB7zC,GAEvC,OADA2S,EAAOzV,KAAKkb,IAAK,uCACVlb,KAAKkb,IAAIqvB,KAAKvqC,KAAM8C,EAC7B,EAEAyS,EAAGrU,UAAUgc,OAAS,SAAiBpa,GAErC,OADA2S,EAAOzV,KAAKkb,IAAK,sCACVlb,KAAKkb,IAAIuvB,IAAIzqC,KAAM8C,EAC5B,EAEAyS,EAAGrU,UAAUuc,QAAU,SAAkB3a,GAEvC,OADA2S,EAAOzV,KAAKkb,IAAK,uCACVlb,KAAKkb,IAAIsvB,KAAKxqC,KAAM8C,EAC7B,EAEAyS,EAAGrU,UAAU01C,OAAS,SAAiB9zC,GAErC,OADA2S,EAAOzV,KAAKkb,IAAK,sCACVlb,KAAKkb,IAAI27B,IAAI72C,KAAM8C,EAC5B,EAEAyS,EAAGrU,UAAUoa,OAAS,SAAiBxY,GAGrC,OAFA2S,EAAOzV,KAAKkb,IAAK,sCACjBlb,KAAKkb,IAAI47B,SAAS92C,KAAM8C,GACjB9C,KAAKkb,IAAIwC,IAAI1d,KAAM8C,EAC5B,EAEAyS,EAAGrU,UAAU61C,QAAU,SAAkBj0C,GAGvC,OAFA2S,EAAOzV,KAAKkb,IAAK,sCACjBlb,KAAKkb,IAAI47B,SAAS92C,KAAM8C,GACjB9C,KAAKkb,IAAIuzB,KAAKzuC,KAAM8C,EAC7B,EAEAyS,EAAGrU,UAAUgb,OAAS,WAGpB,OAFAzG,EAAOzV,KAAKkb,IAAK,sCACjBlb,KAAKkb,IAAI87B,SAASh3C,MACXA,KAAKkb,IAAIu3B,IAAIzyC,KACtB,EAEAuV,EAAGrU,UAAU+1C,QAAU,WAGrB,OAFAxhC,EAAOzV,KAAKkb,IAAK,uCACjBlb,KAAKkb,IAAI87B,SAASh3C,MACXA,KAAKkb,IAAIw3B,KAAK1yC,KACvB,EAGAuV,EAAGrU,UAAUkb,QAAU,WAGrB,OAFA3G,EAAOzV,KAAKkb,IAAK,uCACjBlb,KAAKkb,IAAI87B,SAASh3C,MACXA,KAAKkb,IAAIg8B,KAAKl3C,KACvB,EAEAuV,EAAGrU,UAAUka,QAAU,WAGrB,OAFA3F,EAAOzV,KAAKkb,IAAK,uCACjBlb,KAAKkb,IAAI87B,SAASh3C,MACXA,KAAKkb,IAAIw6B,KAAK11C,KACvB,EAGAuV,EAAGrU,UAAUi2C,OAAS,WAGpB,OAFA1hC,EAAOzV,KAAKkb,IAAK,sCACjBlb,KAAKkb,IAAI87B,SAASh3C,MACXA,KAAKkb,IAAImuB,IAAIrpC,KACtB,EAEAuV,EAAGrU,UAAUk2C,OAAS,SAAiBt0C,GAGrC,OAFA2S,EAAOzV,KAAKkb,MAAQpY,EAAIoY,IAAK,qBAC7Blb,KAAKkb,IAAI87B,SAASh3C,MACXA,KAAKkb,IAAItD,IAAI5X,KAAM8C,EAC5B,EAGA,IAAIu0C,EAAS,CACXC,KAAM,KACNC,KAAM,KACNC,KAAM,KACNC,OAAQ,MAIV,SAASC,EAAQp1C,EAAMoP,GAErB1R,KAAKsC,KAAOA,EACZtC,KAAK0R,EAAI,IAAI6D,EAAG7D,EAAG,IACnB1R,KAAK2Q,EAAI3Q,KAAK0R,EAAE+2B,YAChBzoC,KAAK2d,EAAI,IAAIpI,EAAG,GAAGq9B,OAAO5yC,KAAK2Q,GAAG65B,KAAKxqC,KAAK0R,GAE5C1R,KAAK23C,IAAM33C,KAAK43C,MAClB,CAgDA,SAASC,IACPH,EAAO33C,KACLC,KACA,OACA,0EACJ,CA8DA,SAAS83C,IACPJ,EAAO33C,KACLC,KACA,OACA,iEACJ,CAGA,SAAS+3C,IACPL,EAAO33C,KACLC,KACA,OACA,wDACJ,CAGA,SAASg4C,IAEPN,EAAO33C,KACLC,KACA,QACA,sEACJ,CA6CA,SAASs2C,EAAKn/B,GACZ,GAAiB,iBAANA,EAAgB,CACzB,IAAIgS,EAAQ5T,EAAG0iC,OAAO9gC,GACtBnX,KAAKmX,EAAIgS,EAAMzX,EACf1R,KAAKmpB,MAAQA,CACf,MACE1T,EAAO0B,EAAE0+B,IAAI,GAAI,kCACjB71C,KAAKmX,EAAIA,EACTnX,KAAKmpB,MAAQ,IAEjB,CAgOA,SAAS+uB,EAAM/gC,GACbm/B,EAAIv2C,KAAKC,KAAMmX,GAEfnX,KAAKsR,MAAQtR,KAAKmX,EAAEsxB,YAChBzoC,KAAKsR,MAAQ,IAAO,IACtBtR,KAAKsR,OAAS,GAAMtR,KAAKsR,MAAQ,IAGnCtR,KAAK8lC,EAAI,IAAIvwB,EAAG,GAAGq9B,OAAO5yC,KAAKsR,OAC/BtR,KAAK00C,GAAK10C,KAAKm4C,KAAKn4C,KAAK8lC,EAAE2M,OAC3BzyC,KAAKo4C,KAAOp4C,KAAK8lC,EAAE0P,OAAOx1C,KAAKmX,GAE/BnX,KAAKq4C,KAAOr4C,KAAKo4C,KAAK16B,IAAI1d,KAAK8lC,GAAG4N,MAAM,GAAGQ,IAAIl0C,KAAKmX,GACpDnX,KAAKq4C,KAAOr4C,KAAKq4C,KAAK/D,KAAKt0C,KAAK8lC,GAChC9lC,KAAKq4C,KAAOr4C,KAAK8lC,EAAE2E,IAAIzqC,KAAKq4C,KAC9B,CA7aAX,EAAOx2C,UAAU02C,KAAO,WACtB,IAAID,EAAM,IAAIpiC,EAAG,MAEjB,OADAoiC,EAAIlS,MAAQ,IAAIvgC,MAAMoI,KAAK8qB,KAAKp4B,KAAK2Q,EAAI,KAClCgnC,CACT,EAEAD,EAAOx2C,UAAUo3C,QAAU,SAAkBx1C,GAG3C,IACIy1C,EADAzS,EAAIhjC,EAGR,GACE9C,KAAKiF,MAAM6gC,EAAG9lC,KAAK23C,KAGnBY,GADAzS,GADAA,EAAI9lC,KAAKw4C,MAAM1S,IACTyE,KAAKvqC,KAAK23C,MACPlP,kBACF8P,EAAOv4C,KAAK2Q,GAErB,IAAI0L,EAAMk8B,EAAOv4C,KAAK2Q,GAAK,EAAIm1B,EAAE8P,KAAK51C,KAAK0R,GAgB3C,OAfY,IAAR2K,GACFypB,EAAEL,MAAM,GAAK,EACbK,EAAE9hC,OAAS,GACFqY,EAAM,EACfypB,EAAE0E,KAAKxqC,KAAK0R,QAEInK,IAAZu+B,EAAES,MAEJT,EAAES,QAGFT,EAAE2S,SAIC3S,CACT,EAEA4R,EAAOx2C,UAAU+D,MAAQ,SAAgByU,EAAO9S,GAC9C8S,EAAMqE,OAAO/d,KAAK2Q,EAAG,EAAG/J,EAC1B,EAEA8wC,EAAOx2C,UAAUs3C,MAAQ,SAAgB11C,GACvC,OAAOA,EAAI2rC,KAAKzuC,KAAK2d,EACvB,EAQAne,EAASq4C,EAAMH,GAEfG,EAAK32C,UAAU+D,MAAQ,SAAgByU,EAAOsU,GAK5C,IAHA,IAAIilB,EAAO,QAEPyF,EAASprC,KAAK8K,IAAIsB,EAAM1V,OAAQ,GAC3BG,EAAI,EAAGA,EAAIu0C,EAAQv0C,IAC1B6pB,EAAOyX,MAAMthC,GAAKuV,EAAM+rB,MAAMthC,GAIhC,GAFA6pB,EAAOhqB,OAAS00C,EAEZh/B,EAAM1V,QAAU,EAGlB,OAFA0V,EAAM+rB,MAAM,GAAK,OACjB/rB,EAAM1V,OAAS,GAKjB,IAAIuqB,EAAO7U,EAAM+rB,MAAM,GAGvB,IAFAzX,EAAOyX,MAAMzX,EAAOhqB,UAAYuqB,EAAO0kB,EAElC9uC,EAAI,GAAIA,EAAIuV,EAAM1V,OAAQG,IAAK,CAClC,IAAIyN,EAAwB,EAAjB8H,EAAM+rB,MAAMthC,GACvBuV,EAAM+rB,MAAMthC,EAAI,KAAQyN,EAAOqhC,IAAS,EAAM1kB,IAAS,GACvDA,EAAO3c,CACT,CACA2c,KAAU,GACV7U,EAAM+rB,MAAMthC,EAAI,IAAMoqB,EACT,IAATA,GAAc7U,EAAM1V,OAAS,GAC/B0V,EAAM1V,QAAU,GAEhB0V,EAAM1V,QAAU,CAEpB,EAEA6zC,EAAK32C,UAAUs3C,MAAQ,SAAgB11C,GAErCA,EAAI2iC,MAAM3iC,EAAIkB,QAAU,EACxBlB,EAAI2iC,MAAM3iC,EAAIkB,OAAS,GAAK,EAC5BlB,EAAIkB,QAAU,EAId,IADA,IAAIojC,EAAK,EACAjjC,EAAI,EAAGA,EAAIrB,EAAIkB,OAAQG,IAAK,CACnC,IAAImiC,EAAmB,EAAfxjC,EAAI2iC,MAAMthC,GAClBijC,GAAU,IAAJd,EACNxjC,EAAI2iC,MAAMthC,GAAU,SAALijC,EACfA,EAAS,GAAJd,GAAac,EAAK,SAAa,EACtC,CASA,OANkC,IAA9BtkC,EAAI2iC,MAAM3iC,EAAIkB,OAAS,KACzBlB,EAAIkB,SAC8B,IAA9BlB,EAAI2iC,MAAM3iC,EAAIkB,OAAS,IACzBlB,EAAIkB,UAGDlB,CACT,EAQAtD,EAASs4C,EAAMJ,GAQfl4C,EAASu4C,EAAML,GASfl4C,EAASw4C,EAAQN,GAEjBM,EAAO92C,UAAUs3C,MAAQ,SAAgB11C,GAGvC,IADA,IAAIukC,EAAQ,EACHljC,EAAI,EAAGA,EAAIrB,EAAIkB,OAAQG,IAAK,CACnC,IAAIukC,EAA0B,IAAL,EAAf5lC,EAAI2iC,MAAMthC,IAAiBkjC,EACjCD,EAAU,SAALsB,EACTA,KAAQ,GAER5lC,EAAI2iC,MAAMthC,GAAKijC,EACfC,EAAQqB,CACV,CAIA,OAHc,IAAVrB,IACFvkC,EAAI2iC,MAAM3iC,EAAIkB,UAAYqjC,GAErBvkC,CACT,EAGAyS,EAAG0iC,OAAS,SAAgB31C,GAE1B,GAAI+0C,EAAO/0C,GAAO,OAAO+0C,EAAO/0C,GAEhC,IAAI6mB,EACJ,GAAa,SAAT7mB,EACF6mB,EAAQ,IAAI0uB,OACP,GAAa,SAATv1C,EACT6mB,EAAQ,IAAI2uB,OACP,GAAa,SAATx1C,EACT6mB,EAAQ,IAAI4uB,MACP,IAAa,WAATz1C,EAGT,MAAM,IAAIpC,MAAM,iBAAmBoC,GAFnC6mB,EAAQ,IAAI6uB,CAGd,CAGA,OAFAX,EAAO/0C,GAAQ6mB,EAERA,CACT,EAiBAmtB,EAAIp1C,UAAU81C,SAAW,SAAmB9+B,GAC1CzC,EAAsB,IAAfyC,EAAEstB,SAAgB,iCACzB/vB,EAAOyC,EAAEgD,IAAK,kCAChB,EAEAo7B,EAAIp1C,UAAU41C,SAAW,SAAmB5+B,EAAGC,GAC7C1C,IAAQyC,EAAEstB,SAAWrtB,EAAEqtB,UAAiB,iCACxC/vB,EAAOyC,EAAEgD,KAAOhD,EAAEgD,MAAQ/C,EAAE+C,IAC1B,kCACJ,EAEAo7B,EAAIp1C,UAAUi3C,KAAO,SAAejgC,GAClC,OAAIlY,KAAKmpB,MAAcnpB,KAAKmpB,MAAMmvB,QAAQpgC,GAAGs+B,UAAUx2C,MAChDkY,EAAEo8B,KAAKt0C,KAAKmX,GAAGq/B,UAAUx2C,KAClC,EAEAs2C,EAAIp1C,UAAUmoC,IAAM,SAAcnxB,GAChC,OAAIA,EAAE0vB,SACG1vB,EAAE2F,QAGJ7d,KAAKmX,EAAEszB,IAAIvyB,GAAGs+B,UAAUx2C,KACjC,EAEAs2C,EAAIp1C,UAAUmc,IAAM,SAAcnF,EAAGC,GACnCnY,KAAK82C,SAAS5+B,EAAGC,GAEjB,IAAIzU,EAAMwU,EAAEmF,IAAIlF,GAIhB,OAHIzU,EAAI2Y,IAAIrc,KAAKmX,IAAM,GACrBzT,EAAI8mC,KAAKxqC,KAAKmX,GAETzT,EAAI8yC,UAAUx2C,KACvB,EAEAs2C,EAAIp1C,UAAUqpC,KAAO,SAAeryB,EAAGC,GACrCnY,KAAK82C,SAAS5+B,EAAGC,GAEjB,IAAIzU,EAAMwU,EAAEqyB,KAAKpyB,GAIjB,OAHIzU,EAAI2Y,IAAIrc,KAAKmX,IAAM,GACrBzT,EAAI8mC,KAAKxqC,KAAKmX,GAETzT,CACT,EAEA4yC,EAAIp1C,UAAUupC,IAAM,SAAcvyB,EAAGC,GACnCnY,KAAK82C,SAAS5+B,EAAGC,GAEjB,IAAIzU,EAAMwU,EAAEuyB,IAAItyB,GAIhB,OAHIzU,EAAIoZ,KAAK,GAAK,GAChBpZ,EAAI6mC,KAAKvqC,KAAKmX,GAETzT,EAAI8yC,UAAUx2C,KACvB,EAEAs2C,EAAIp1C,UAAUspC,KAAO,SAAetyB,EAAGC,GACrCnY,KAAK82C,SAAS5+B,EAAGC,GAEjB,IAAIzU,EAAMwU,EAAEsyB,KAAKryB,GAIjB,OAHIzU,EAAIoZ,KAAK,GAAK,GAChBpZ,EAAI6mC,KAAKvqC,KAAKmX,GAETzT,CACT,EAEA4yC,EAAIp1C,UAAU21C,IAAM,SAAc3+B,EAAGpV,GAEnC,OADA9C,KAAKg3C,SAAS9+B,GACPlY,KAAKm4C,KAAKjgC,EAAEm7B,MAAMvwC,GAC3B,EAEAwzC,EAAIp1C,UAAUutC,KAAO,SAAev2B,EAAGC,GAErC,OADAnY,KAAK82C,SAAS5+B,EAAGC,GACVnY,KAAKm4C,KAAKjgC,EAAEu2B,KAAKt2B,GAC1B,EAEAm+B,EAAIp1C,UAAUwc,IAAM,SAAcxF,EAAGC,GAEnC,OADAnY,KAAK82C,SAAS5+B,EAAGC,GACVnY,KAAKm4C,KAAKjgC,EAAEwF,IAAIvF,GACzB,EAEAm+B,EAAIp1C,UAAUwxC,KAAO,SAAex6B,GAClC,OAAOlY,KAAKyuC,KAAKv2B,EAAGA,EAAE2F,QACxB,EAEAy4B,EAAIp1C,UAAUuxC,IAAM,SAAcv6B,GAChC,OAAOlY,KAAK0d,IAAIxF,EAAGA,EACrB,EAEAo+B,EAAIp1C,UAAUg2C,KAAO,SAAeh/B,GAClC,GAAIA,EAAE0vB,SAAU,OAAO1vB,EAAE2F,QAEzB,IAAI86B,EAAO34C,KAAKmX,EAAE6G,MAAM,GAIxB,GAHAvI,EAAOkjC,EAAO,GAAM,GAGP,IAATA,EAAY,CACd,IAAI/gC,EAAM5X,KAAKmX,EAAEkG,IAAI,IAAI9H,EAAG,IAAIwI,OAAO,GACvC,OAAO/d,KAAK4X,IAAIM,EAAGN,EACrB,CAOA,IAFA,IAAIywB,EAAIroC,KAAKmX,EAAEy8B,KAAK,GAChBn8B,EAAI,GACA4wB,EAAET,UAA2B,IAAfS,EAAErqB,MAAM,IAC5BvG,IACA4wB,EAAEtqB,OAAO,GAEXtI,GAAQ4yB,EAAET,UAEV,IAAIhsB,EAAM,IAAIrG,EAAG,GAAG0F,MAAMjb,MACtB44C,EAAOh9B,EAAIu7B,SAIX0B,EAAO74C,KAAKmX,EAAEy8B,KAAK,GAAG71B,OAAO,GAC7BrC,EAAI1b,KAAKmX,EAAEsxB,YAGf,IAFA/sB,EAAI,IAAInG,EAAG,EAAImG,EAAIA,GAAGT,MAAMjb,MAEW,IAAhCA,KAAK4X,IAAI8D,EAAGm9B,GAAMx8B,IAAIu8B,IAC3Bl9B,EAAEi7B,QAAQiC,GAOZ,IAJA,IAAIjnC,EAAI3R,KAAK4X,IAAI8D,EAAG2sB,GAChBvC,EAAI9lC,KAAK4X,IAAIM,EAAGmwB,EAAEsL,KAAK,GAAG51B,OAAO,IACjCH,EAAI5d,KAAK4X,IAAIM,EAAGmwB,GAChBlxB,EAAIM,EACc,IAAfmG,EAAEvB,IAAIT,IAAY,CAEvB,IADA,IAAI+7B,EAAM/5B,EACDzZ,EAAI,EAAoB,IAAjBwzC,EAAIt7B,IAAIT,GAAYzX,IAClCwzC,EAAMA,EAAIz7B,SAEZzG,EAAOtR,EAAIgT,GACX,IAAIgB,EAAInY,KAAK4X,IAAIjG,EAAG,IAAI4D,EAAG,GAAGq9B,OAAOz7B,EAAIhT,EAAI,IAE7C2hC,EAAIA,EAAExqB,OAAOnD,GACbxG,EAAIwG,EAAE+D,SACN0B,EAAIA,EAAEtC,OAAO3J,GACbwF,EAAIhT,CACN,CAEA,OAAO2hC,CACT,EAEAwQ,EAAIp1C,UAAUw0C,KAAO,SAAex9B,GAClC,IAAI4gC,EAAM5gC,EAAEs9B,OAAOx1C,KAAKmX,GACxB,OAAqB,IAAjB2hC,EAAItT,UACNsT,EAAItT,SAAW,EACRxlC,KAAKm4C,KAAKW,GAAK3B,UAEfn3C,KAAKm4C,KAAKW,EAErB,EAEAxC,EAAIp1C,UAAU0W,IAAM,SAAcM,EAAGpV,GACnC,GAAIA,EAAI8kC,SAAU,OAAO,IAAIryB,EAAG,GAAG0F,MAAMjb,MACzC,GAAoB,IAAhB8C,EAAIga,KAAK,GAAU,OAAO5E,EAAE2F,QAEhC,IACIk7B,EAAM,IAAI7zC,MAAM,IACpB6zC,EAAI,GAAK,IAAIxjC,EAAG,GAAG0F,MAAMjb,MACzB+4C,EAAI,GAAK7gC,EACT,IAAK,IAAI/T,EAAI,EAAGA,EAAI40C,EAAI/0C,OAAQG,IAC9B40C,EAAI50C,GAAKnE,KAAK0d,IAAIq7B,EAAI50C,EAAI,GAAI+T,GAGhC,IAAIxU,EAAMq1C,EAAI,GACVC,EAAU,EACVC,EAAa,EACbjvC,EAAQlH,EAAI2lC,YAAc,GAK9B,IAJc,IAAVz+B,IACFA,EAAQ,IAGL7F,EAAIrB,EAAIkB,OAAS,EAAGG,GAAK,EAAGA,IAAK,CAEpC,IADA,IAAIyiC,EAAO9jC,EAAI2iC,MAAMthC,GACZC,EAAI4F,EAAQ,EAAG5F,GAAK,EAAGA,IAAK,CACnC,IAAIimC,EAAOzD,GAAQxiC,EAAK,EACpBV,IAAQq1C,EAAI,KACdr1C,EAAM1D,KAAKyyC,IAAI/uC,IAGL,IAAR2mC,GAAyB,IAAZ2O,GAKjBA,IAAY,EACZA,GAAW3O,GA9BE,MA+Bb4O,GACwC,IAAN90C,GAAiB,IAANC,KAE7CV,EAAM1D,KAAK0d,IAAIha,EAAKq1C,EAAIC,IACxBC,EAAa,EACbD,EAAU,IAXRC,EAAa,CAYjB,CACAjvC,EAAQ,EACV,CAEA,OAAOtG,CACT,EAEA4yC,EAAIp1C,UAAUq1C,UAAY,SAAoBzzC,GAC5C,IAAIgjC,EAAIhjC,EAAIwxC,KAAKt0C,KAAKmX,GAEtB,OAAO2uB,IAAMhjC,EAAMgjC,EAAEjoB,QAAUioB,CACjC,EAEAwQ,EAAIp1C,UAAUu1C,YAAc,SAAsB3zC,GAChD,IAAIY,EAAMZ,EAAI+a,QAEd,OADAna,EAAIwX,IAAM,KACHxX,CACT,EAMA6R,EAAGyT,KAAO,SAAelmB,GACvB,OAAO,IAAIo1C,EAAKp1C,EAClB,EAkBAtD,EAAS04C,EAAM5B,GAEf4B,EAAKh3C,UAAUq1C,UAAY,SAAoBzzC,GAC7C,OAAO9C,KAAKm4C,KAAKr1C,EAAIuwC,MAAMrzC,KAAKsR,OAClC,EAEA4mC,EAAKh3C,UAAUu1C,YAAc,SAAsB3zC,GACjD,IAAIgjC,EAAI9lC,KAAKm4C,KAAKr1C,EAAI4a,IAAI1d,KAAKo4C,OAE/B,OADAtS,EAAE5qB,IAAM,KACD4qB,CACT,EAEAoS,EAAKh3C,UAAUutC,KAAO,SAAev2B,EAAGC,GACtC,GAAID,EAAE0vB,UAAYzvB,EAAEyvB,SAGlB,OAFA1vB,EAAEutB,MAAM,GAAK,EACbvtB,EAAElU,OAAS,EACJkU,EAGT,IAAI0F,EAAI1F,EAAEu2B,KAAKt2B,GACXxG,EAAIiM,EAAE61B,MAAMzzC,KAAKsR,OAAOoM,IAAI1d,KAAKq4C,MAAM7E,OAAOxzC,KAAKsR,OAAOoM,IAAI1d,KAAKmX,GACnE+hC,EAAIt7B,EAAE4sB,KAAK74B,GAAGoM,OAAO/d,KAAKsR,OAC1B5N,EAAMw1C,EAQV,OANIA,EAAE78B,IAAIrc,KAAKmX,IAAM,EACnBzT,EAAMw1C,EAAE1O,KAAKxqC,KAAKmX,GACT+hC,EAAEp8B,KAAK,GAAK,IACrBpZ,EAAMw1C,EAAE3O,KAAKvqC,KAAKmX,IAGbzT,EAAI8yC,UAAUx2C,KACvB,EAEAk4C,EAAKh3C,UAAUwc,IAAM,SAAcxF,EAAGC,GACpC,GAAID,EAAE0vB,UAAYzvB,EAAEyvB,SAAU,OAAO,IAAIryB,EAAG,GAAGihC,UAAUx2C,MAEzD,IAAI4d,EAAI1F,EAAEwF,IAAIvF,GACVxG,EAAIiM,EAAE61B,MAAMzzC,KAAKsR,OAAOoM,IAAI1d,KAAKq4C,MAAM7E,OAAOxzC,KAAKsR,OAAOoM,IAAI1d,KAAKmX,GACnE+hC,EAAIt7B,EAAE4sB,KAAK74B,GAAGoM,OAAO/d,KAAKsR,OAC1B5N,EAAMw1C,EAOV,OANIA,EAAE78B,IAAIrc,KAAKmX,IAAM,EACnBzT,EAAMw1C,EAAE1O,KAAKxqC,KAAKmX,GACT+hC,EAAEp8B,KAAK,GAAK,IACrBpZ,EAAMw1C,EAAE3O,KAAKvqC,KAAKmX,IAGbzT,EAAI8yC,UAAUx2C,KACvB,EAEAk4C,EAAKh3C,UAAUw0C,KAAO,SAAex9B,GAGnC,OADUlY,KAAKm4C,KAAKjgC,EAAEs9B,OAAOx1C,KAAKmX,GAAGuG,IAAI1d,KAAK00C,KACnC8B,UAAUx2C,KACvB,CACD,CAr3GD,C,WAq3G4CA,K,iBCn3G5C,IAAIoF,EAAQF,MAAMhE,UAAUkE,MACxBu+B,EAAS,EAAQ,MAEjBwV,EAAWv4C,OAAOC,KAClBu4C,EAAWD,EAAW,SAAcpqB,GAAK,OAAOoqB,EAASpqB,EAAI,EAAI,EAAQ,MAEzEsqB,EAAez4C,OAAOC,KAE1Bu4C,EAASE,KAAO,WACf,GAAI14C,OAAOC,KAAM,CAChB,IAAI04C,EAA0B,WAE7B,IAAIjuB,EAAO1qB,OAAOC,KAAKsU,WACvB,OAAOmW,GAAQA,EAAKtnB,SAAWmR,UAAUnR,MAC1C,CAJ6B,CAI3B,EAAG,GACAu1C,IACJ34C,OAAOC,KAAO,SAAc0X,GAC3B,OAAIorB,EAAOprB,GACH8gC,EAAaj0C,EAAMrF,KAAKwY,IAEzB8gC,EAAa9gC,EACrB,EAEF,MACC3X,OAAOC,KAAOu4C,EAEf,OAAOx4C,OAAOC,MAAQu4C,CACvB,EAEAv3C,EAAOC,QAAUs3C,C,iBC7BjB,IAAI7jC,EAAK,EAAQ,MAEbE,EADQ,EAAQ,MACDA,OAEnB,SAAS+jC,EAAQC,EAAI5sC,GACnB7M,KAAKy5C,GAAKA,EACVz5C,KAAK05C,KAAO,KACZ15C,KAAK25C,IAAM,KAGP9sC,EAAQ6sC,MACV15C,KAAK45C,eAAe/sC,EAAQ6sC,KAAM7sC,EAAQgtC,SACxChtC,EAAQ8sC,KACV35C,KAAK85C,cAAcjtC,EAAQ8sC,IAAK9sC,EAAQktC,OAC5C,CACAl4C,EAAOC,QAAU03C,EAEjBA,EAAQQ,WAAa,SAAoBP,EAAIE,EAAKp4C,GAChD,OAAIo4C,aAAeH,EACVG,EAEF,IAAIH,EAAQC,EAAI,CACrBE,IAAKA,EACLI,OAAQx4C,GAEZ,EAEAi4C,EAAQS,YAAc,SAAqBR,EAAIC,EAAMn4C,GACnD,OAAIm4C,aAAgBF,EACXE,EAEF,IAAIF,EAAQC,EAAI,CACrBC,KAAMA,EACNG,QAASt4C,GAEb,EAEAi4C,EAAQt4C,UAAU4a,SAAW,WAC3B,IAAI69B,EAAM35C,KAAKk6C,YAEf,OAAIP,EAAI/8B,aACC,CAAEkI,QAAQ,EAAOq1B,OAAQ,sBAC7BR,EAAI79B,WAEJ69B,EAAIj8B,IAAI1d,KAAKy5C,GAAGh+B,MAAM9K,GAAGiM,aAGvB,CAAEkI,QAAQ,EAAMq1B,OAAQ,MAFtB,CAAEr1B,QAAQ,EAAOq1B,OAAQ,uBAFzB,CAAEr1B,QAAQ,EAAOq1B,OAAQ,4BAKpC,EAEAX,EAAQt4C,UAAUg5C,UAAY,SAAmBE,EAAS74C,GAUxD,MARuB,iBAAZ64C,IACT74C,EAAM64C,EACNA,EAAU,MAGPp6C,KAAK25C,MACR35C,KAAK25C,IAAM35C,KAAKy5C,GAAGxwB,EAAEvL,IAAI1d,KAAK05C,OAE3Bn4C,EAGEvB,KAAK25C,IAAI52C,OAAOxB,EAAK64C,GAFnBp6C,KAAK25C,GAGhB,EAEAH,EAAQt4C,UAAUm5C,WAAa,SAAoB94C,GACjD,MAAY,QAARA,EACKvB,KAAK05C,KAAK/3C,SAAS,GAAI,GAEvB3B,KAAK05C,IAChB,EAEAF,EAAQt4C,UAAU04C,eAAiB,SAAwB74C,EAAKQ,GAC9DvB,KAAK05C,KAAO,IAAInkC,EAAGxU,EAAKQ,GAAO,IAI/BvB,KAAK05C,KAAO15C,KAAK05C,KAAKpF,KAAKt0C,KAAKy5C,GAAGh+B,MAAM9K,EAC3C,EAEA6oC,EAAQt4C,UAAU44C,cAAgB,SAAuB/4C,EAAKQ,GAC5D,GAAIR,EAAIuR,GAAKvR,EAAIgvC,EAWf,MAP2B,SAAvB/vC,KAAKy5C,GAAGh+B,MAAM1R,KAChB0L,EAAO1U,EAAIuR,EAAG,qBACkB,UAAvBtS,KAAKy5C,GAAGh+B,MAAM1R,MACS,YAAvB/J,KAAKy5C,GAAGh+B,MAAM1R,MACvB0L,EAAO1U,EAAIuR,GAAKvR,EAAIgvC,EAAG,qCAEzB/vC,KAAK25C,IAAM35C,KAAKy5C,GAAGh+B,MAAMM,MAAMhb,EAAIuR,EAAGvR,EAAIgvC,IAG5C/vC,KAAK25C,IAAM35C,KAAKy5C,GAAGh+B,MAAMhF,YAAY1V,EAAKQ,EAC5C,EAGAi4C,EAAQt4C,UAAUo5C,OAAS,SAAgBX,GAIzC,OAHIA,EAAI79B,YACNrG,EAAOkkC,EAAI79B,WAAY,8BAElB69B,EAAIj8B,IAAI1d,KAAK05C,MAAMh9B,MAC5B,EAGA88B,EAAQt4C,UAAUzB,KAAO,SAAcgK,EAAKlI,EAAKsL,GAC/C,OAAO7M,KAAKy5C,GAAGh6C,KAAKgK,EAAKzJ,KAAMuB,EAAKsL,EACtC,EAEA2sC,EAAQt4C,UAAUxB,OAAS,SAAgB+J,EAAKw7B,EAAWp4B,GACzD,OAAO7M,KAAKy5C,GAAG/5C,OAAO+J,EAAKw7B,EAAWjlC,UAAMuH,EAAWsF,EACzD,EAEA2sC,EAAQt4C,UAAU+Y,QAAU,WAC1B,MAAO,eAAiBja,KAAK05C,MAAQ15C,KAAK05C,KAAK/3C,SAAS,GAAI,IACrD,UAAY3B,KAAK25C,KAAO35C,KAAK25C,IAAI1/B,WAAa,IACvD,C,uBCrHApY,EAAOC,QAAUy4C,S,iBCHjB,IAAIC,EAAU,EAAQ,MAClBC,EAAY,EAAQ,MACpBzvB,EAAQ,EAAQ,MAMpBlpB,EAAQiJ,aAAejJ,EAAQkJ,OAASwvC,EAAQzvC,aAChDjJ,EAAQ2I,eAAiB3I,EAAQsJ,SAAWovC,EAAQ/vC,eACpD3I,EAAQuJ,eAAiBvJ,EAAQwJ,SAAWmvC,EAAUpvC,eACtDvJ,EAAQ+I,iBAAmB/I,EAAQyJ,WAAakvC,EAAU5vC,iBAC1D/I,EAAQ0J,YAAc1J,EAAQ2J,WAR9B,WACE,OAAO7K,OAAOC,KAAKmqB,EACrB,C,iBCJA,IAAIxV,EAAQ,EAAQ,MAChBD,EAAK,EAAQ,MACb/V,EAAW,EAAQ,MACnB8I,EAAO,EAAQ,MAEfmN,EAASD,EAAMC,OAEnB,SAASilC,EAAa1/B,GAEpBhb,KAAK26C,QAA2B,IAAP,EAAT3/B,EAAK9C,GACrBlY,KAAK46C,MAAQ56C,KAAK26C,UAA6B,IAAR,EAAT3/B,EAAK9C,GACnClY,KAAKgzC,SAAWhzC,KAAK46C,MAErBtyC,EAAKvI,KAAKC,KAAM,UAAWgb,GAE3Bhb,KAAKkY,EAAI,IAAI3C,EAAGyF,EAAK9C,EAAG,IAAIo8B,KAAKt0C,KAAKkb,IAAI/D,GAC1CnX,KAAKkY,EAAIlY,KAAKkY,EAAE+C,MAAMjb,KAAKkb,KAC3Blb,KAAK2R,EAAI,IAAI4D,EAAGyF,EAAKrJ,EAAG,IAAIsJ,MAAMjb,KAAKkb,KACvClb,KAAK66C,GAAK76C,KAAK2R,EAAEuK,SACjBlc,KAAKwX,EAAI,IAAIjC,EAAGyF,EAAKxD,EAAG,IAAIyD,MAAMjb,KAAKkb,KACvClb,KAAK86C,GAAK96C,KAAKwX,EAAE+D,OAAOvb,KAAKwX,GAE7B/B,GAAQzV,KAAK26C,SAAwC,IAA7B36C,KAAK2R,EAAEkL,UAAUC,KAAK,IAC9C9c,KAAK+6C,KAAwB,IAAP,EAAT//B,EAAKrJ,EACpB,CAuFA,SAAS6J,EAAMC,EAAOnJ,EAAGy9B,EAAGr0B,EAAGkC,GAC7BtV,EAAKqT,UAAU5b,KAAKC,KAAMyb,EAAO,cACvB,OAANnJ,GAAoB,OAANy9B,GAAoB,OAANr0B,GAC9B1b,KAAKsS,EAAItS,KAAKyb,MAAMI,KACpB7b,KAAK+vC,EAAI/vC,KAAKyb,MAAMG,IACpB5b,KAAK0b,EAAI1b,KAAKyb,MAAMG,IACpB5b,KAAK4d,EAAI5d,KAAKyb,MAAMI,KACpB7b,KAAKg7C,MAAO,IAEZh7C,KAAKsS,EAAI,IAAIiD,EAAGjD,EAAG,IACnBtS,KAAK+vC,EAAI,IAAIx6B,EAAGw6B,EAAG,IACnB/vC,KAAK0b,EAAIA,EAAI,IAAInG,EAAGmG,EAAG,IAAM1b,KAAKyb,MAAMG,IACxC5b,KAAK4d,EAAIA,GAAK,IAAIrI,EAAGqI,EAAG,IACnB5d,KAAKsS,EAAE4I,MACVlb,KAAKsS,EAAItS,KAAKsS,EAAE2I,MAAMjb,KAAKyb,MAAMP,MAC9Blb,KAAK+vC,EAAE70B,MACVlb,KAAK+vC,EAAI/vC,KAAK+vC,EAAE90B,MAAMjb,KAAKyb,MAAMP,MAC9Blb,KAAK0b,EAAER,MACVlb,KAAK0b,EAAI1b,KAAK0b,EAAET,MAAMjb,KAAKyb,MAAMP,MAC/Blb,KAAK4d,IAAM5d,KAAK4d,EAAE1C,MACpBlb,KAAK4d,EAAI5d,KAAK4d,EAAE3C,MAAMjb,KAAKyb,MAAMP,MACnClb,KAAKg7C,KAAOh7C,KAAK0b,IAAM1b,KAAKyb,MAAMG,IAG9B5b,KAAKyb,MAAMu3B,WAAahzC,KAAK4d,IAC/B5d,KAAK4d,EAAI5d,KAAKsS,EAAEgJ,OAAOtb,KAAK+vC,GACvB/vC,KAAKg7C,OACRh7C,KAAK4d,EAAI5d,KAAK4d,EAAEtC,OAAOtb,KAAK0b,EAAEN,aAGtC,CApHA5b,EAASk7C,EAAcpyC,GACvBzG,EAAOC,QAAU44C,EAEjBA,EAAax5C,UAAU+5C,MAAQ,SAAen4C,GAC5C,OAAI9C,KAAK46C,MACA93C,EAAIq0C,SAEJn3C,KAAKkY,EAAEoD,OAAOxY,EACzB,EAEA43C,EAAax5C,UAAUg6C,MAAQ,SAAep4C,GAC5C,OAAI9C,KAAK+6C,KACAj4C,EAEA9C,KAAK2R,EAAE2J,OAAOxY,EACzB,EAGA43C,EAAax5C,UAAUi6C,OAAS,SAAgB7oC,EAAGy9B,EAAGr0B,EAAGkC,GACvD,OAAO5d,KAAK+b,MAAMzJ,EAAGy9B,EAAGr0B,EAAGkC,EAC7B,EAEA88B,EAAax5C,UAAUk6C,WAAa,SAAoB9oC,EAAGo/B,IACzDp/B,EAAI,IAAIiD,EAAGjD,EAAG,KACP4I,MACL5I,EAAIA,EAAE2I,MAAMjb,KAAKkb,MAEnB,IAAIe,EAAK3J,EAAE4J,SACPC,EAAMnc,KAAK66C,GAAG39B,OAAOld,KAAKkY,EAAEoD,OAAOW,IACnCo/B,EAAMr7C,KAAK4b,IAAIsB,OAAOld,KAAK66C,GAAGv/B,OAAOtb,KAAKwX,GAAG8D,OAAOW,IAEpDq/B,EAAKn/B,EAAIb,OAAO+/B,EAAIjgC,WACpB20B,EAAIuL,EAAGl/B,UACX,GAA6C,IAAzC2zB,EAAE7zB,SAASgB,OAAOo+B,GAAIj/B,IAAIrc,KAAK6b,MACjC,MAAM,IAAI3b,MAAM,iBAElB,IAAIm1C,EAAQtF,EAAElzB,UAAUw4B,QAIxB,OAHI3D,IAAQ2D,IAAU3D,GAAO2D,KAC3BtF,EAAIA,EAAEoH,UAEDn3C,KAAK+b,MAAMzJ,EAAGy9B,EACvB,EAEA2K,EAAax5C,UAAUq6C,WAAa,SAAoBxL,EAAG2B,IACzD3B,EAAI,IAAIx6B,EAAGw6B,EAAG,KACP70B,MACL60B,EAAIA,EAAE90B,MAAMjb,KAAKkb,MAGnB,IAAIogC,EAAKvL,EAAE7zB,SACPm/B,EAAMC,EAAGp+B,OAAOld,KAAK66C,IACrB1+B,EAAMm/B,EAAGhgC,OAAOtb,KAAKwX,GAAG8D,OAAOtb,KAAK66C,IAAI39B,OAAOld,KAAKkY,GACpD+D,EAAKo/B,EAAI//B,OAAOa,EAAIf,WAExB,GAA0B,IAAtBa,EAAGI,IAAIrc,KAAK6b,MAAa,CAC3B,GAAI61B,EACF,MAAM,IAAIxxC,MAAM,iBAEhB,OAAOF,KAAK+b,MAAM/b,KAAK6b,KAAMk0B,EACjC,CAEA,IAAIz9B,EAAI2J,EAAGG,UACX,GAA6C,IAAzC9J,EAAE4J,SAASgB,OAAOjB,GAAII,IAAIrc,KAAK6b,MACjC,MAAM,IAAI3b,MAAM,iBAKlB,OAHIoS,EAAEuK,UAAUw4B,UAAY3D,IAC1Bp/B,EAAIA,EAAE6kC,UAEDn3C,KAAK+b,MAAMzJ,EAAGy9B,EACvB,EAEA2K,EAAax5C,UAAU4a,SAAW,SAAkBC,GAClD,GAAIA,EAAMa,aACR,OAAO,EAGTb,EAAMC,YAEN,IAAIC,EAAKF,EAAMzJ,EAAE4J,SACbo/B,EAAKv/B,EAAMg0B,EAAE7zB,SACbm/B,EAAMp/B,EAAGX,OAAOtb,KAAKkY,GAAGqD,OAAO+/B,GAC/Bn/B,EAAMnc,KAAK66C,GAAGv/B,OAAOtb,KAAK4b,IAAIL,OAAOvb,KAAKwX,EAAE8D,OAAOW,GAAIX,OAAOggC,KAElE,OAAwB,IAAjBD,EAAIh/B,IAAIF,EACjB,EAiCA3c,EAASgc,EAAOlT,EAAKqT,WAErB++B,EAAax5C,UAAUqb,cAAgB,SAAuBtV,GAC5D,OAAOuU,EAAMgB,SAASxc,KAAMiH,EAC9B,EAEAyzC,EAAax5C,UAAU6a,MAAQ,SAAezJ,EAAGy9B,EAAGr0B,EAAGkC,GACrD,OAAO,IAAIpC,EAAMxb,KAAMsS,EAAGy9B,EAAGr0B,EAAGkC,EAClC,EAEApC,EAAMgB,SAAW,SAAkBf,EAAOxU,GACxC,OAAO,IAAIuU,EAAMC,EAAOxU,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAC9C,EAEAuU,EAAMta,UAAU+Y,QAAU,WACxB,OAAIja,KAAK4c,aACA,sBACF,gBAAkB5c,KAAKsS,EAAEuK,UAAUlb,SAAS,GAAI,GACnD,OAAS3B,KAAK+vC,EAAElzB,UAAUlb,SAAS,GAAI,GACvC,OAAS3B,KAAK0b,EAAEmB,UAAUlb,SAAS,GAAI,GAAK,GAClD,EAEA6Z,EAAMta,UAAU0b,WAAa,WAE3B,OAA0B,IAAnB5c,KAAKsS,EAAEwK,KAAK,KACO,IAAvB9c,KAAK+vC,EAAE1zB,IAAIrc,KAAK0b,IAChB1b,KAAKg7C,MAAqC,IAA7Bh7C,KAAK+vC,EAAE1zB,IAAIrc,KAAKyb,MAAM9J,GACxC,EAEA6J,EAAMta,UAAUs6C,QAAU,WAMxB,IAAItjC,EAAIlY,KAAKsS,EAAE4J,SAEX/D,EAAInY,KAAK+vC,EAAE7zB,SAEXvK,EAAI3R,KAAK0b,EAAEQ,SACfvK,EAAIA,EAAEglC,QAAQhlC,GAEd,IAAI6F,EAAIxX,KAAKyb,MAAMw/B,MAAM/iC,GAErBhB,EAAIlX,KAAKsS,EAAEiJ,OAAOvb,KAAK+vC,GAAG7zB,SAASuB,QAAQvF,GAAGuF,QAAQtF,GAEtD8Q,EAAIzR,EAAE+D,OAAOpD,GAEbgT,EAAIlC,EAAE/L,OAAOvL,GAEb6X,EAAIhS,EAAE0F,OAAO/E,GAEbgF,EAAKjG,EAAEoE,OAAO6P,GAEdswB,EAAKxyB,EAAE3N,OAAOkO,GAEdkyB,EAAKxkC,EAAEoE,OAAOkO,GAEdpM,EAAK+N,EAAE7P,OAAO2N,GAClB,OAAOjpB,KAAKyb,MAAMM,MAAMoB,EAAIs+B,EAAIr+B,EAAIs+B,EACtC,EAEAlgC,EAAMta,UAAUy6C,SAAW,WAQzB,IAMIx+B,EACAs+B,EACAr+B,EACAlG,EACAsS,EACAplB,EAXA+T,EAAInY,KAAKsS,EAAEiJ,OAAOvb,KAAK+vC,GAAG7zB,SAE1BvK,EAAI3R,KAAKsS,EAAE4J,SAEX1E,EAAIxX,KAAK+vC,EAAE7zB,SAQf,GAAIlc,KAAKyb,MAAMk/B,QAAS,CAItB,IAAIxvB,GAFJjU,EAAIlX,KAAKyb,MAAMw/B,MAAMtpC,IAEX4J,OAAO/D,GACbxX,KAAKg7C,MAEP79B,EAAKhF,EAAE+E,OAAOvL,GAAGuL,OAAO1F,GAAG8D,OAAO6P,EAAEjO,OAAOld,KAAKyb,MAAM5Y,MAEtD44C,EAAKtwB,EAAE7P,OAAOpE,EAAEgG,OAAO1F,IAEvB4F,EAAK+N,EAAEjP,SAASgB,OAAOiO,GAAGjO,OAAOiO,KAGjC3B,EAAIxpB,KAAK0b,EAAEQ,SAEX9X,EAAI+mB,EAAEjO,OAAOsM,GAAG/L,QAAQ+L,GAExBrM,EAAKhF,EAAE+E,OAAOvL,GAAG8L,QAAQjG,GAAG8D,OAAOlX,GAEnCq3C,EAAKtwB,EAAE7P,OAAOpE,EAAEgG,OAAO1F,IAEvB4F,EAAK+N,EAAE7P,OAAOlX,GAElB,MAEE8S,EAAIvF,EAAE4J,OAAO/D,GAEbgS,EAAIxpB,KAAKyb,MAAMy/B,MAAMl7C,KAAK0b,GAAGQ,SAE7B9X,EAAI8S,EAAEgG,OAAOsM,GAAGtM,OAAOsM,GAEvBrM,EAAKnd,KAAKyb,MAAMy/B,MAAM/iC,EAAEsF,QAAQvG,IAAIoE,OAAOlX,GAE3Cq3C,EAAKz7C,KAAKyb,MAAMy/B,MAAMhkC,GAAGoE,OAAO3J,EAAE8L,QAAQjG,IAE1C4F,EAAKlG,EAAEoE,OAAOlX,GAEhB,OAAOpE,KAAKyb,MAAMM,MAAMoB,EAAIs+B,EAAIr+B,EAClC,EAEA5B,EAAMta,UAAU6b,IAAM,WACpB,OAAI/c,KAAK4c,aACA5c,KAGLA,KAAKyb,MAAMu3B,SACNhzC,KAAKw7C,UAELx7C,KAAK27C,UAChB,EAEAngC,EAAMta,UAAU06C,QAAU,SAAiBlqC,GAMzC,IAAIwG,EAAIlY,KAAK+vC,EAAE7yB,OAAOld,KAAKsS,GAAGgJ,OAAO5J,EAAEq+B,EAAE7yB,OAAOxL,EAAEY,IAE9C6F,EAAInY,KAAK+vC,EAAEx0B,OAAOvb,KAAKsS,GAAGgJ,OAAO5J,EAAEq+B,EAAEx0B,OAAO7J,EAAEY,IAE9CX,EAAI3R,KAAK4d,EAAEtC,OAAOtb,KAAKyb,MAAMq/B,IAAIx/B,OAAO5J,EAAEkM,GAE1CpG,EAAIxX,KAAK0b,EAAEJ,OAAO5J,EAAEgK,EAAEH,OAAO7J,EAAEgK,IAE/BxE,EAAIiB,EAAE+E,OAAOhF,GAEbiT,EAAI3T,EAAE0F,OAAOvL,GAEbsX,EAAIzR,EAAE+D,OAAO5J,GAEb6X,EAAIrR,EAAEoD,OAAOrD,GAEbiF,EAAKjG,EAAEoE,OAAO6P,GAEdswB,EAAKxyB,EAAE3N,OAAOkO,GAEdkyB,EAAKxkC,EAAEoE,OAAOkO,GAEdpM,EAAK+N,EAAE7P,OAAO2N,GAClB,OAAOjpB,KAAKyb,MAAMM,MAAMoB,EAAIs+B,EAAIr+B,EAAIs+B,EACtC,EAEAlgC,EAAMta,UAAU26C,SAAW,SAAkBnqC,GAO3C,IAgBI+pC,EACAr+B,EAjBAlF,EAAIlY,KAAK0b,EAAEJ,OAAO5J,EAAEgK,GAEpBvD,EAAID,EAAEgE,SAENvK,EAAI3R,KAAKsS,EAAEgJ,OAAO5J,EAAEY,GAEpBkF,EAAIxX,KAAK+vC,EAAEz0B,OAAO5J,EAAEq+B,GAEpB74B,EAAIlX,KAAKyb,MAAMjE,EAAE8D,OAAO3J,GAAG2J,OAAO9D,GAElC2T,EAAIhT,EAAE+E,OAAOhG,GAEb+R,EAAI9Q,EAAEoD,OAAOrE,GAEbygC,EAAM33C,KAAKsS,EAAEiJ,OAAOvb,KAAK+vC,GAAGz0B,OAAO5J,EAAEY,EAAEiJ,OAAO7J,EAAEq+B,IAAItyB,QAAQ9L,GAAG8L,QAAQjG,GACvE2F,EAAKjF,EAAEoD,OAAO6P,GAAG7P,OAAOq8B,GAc5B,OAXI33C,KAAKyb,MAAMk/B,SAEbc,EAAKvjC,EAAEoD,OAAO2N,GAAG3N,OAAO9D,EAAE0F,OAAOld,KAAKyb,MAAMw/B,MAAMtpC,KAElDyL,EAAK+N,EAAE7P,OAAO2N,KAGdwyB,EAAKvjC,EAAEoD,OAAO2N,GAAG3N,OAAO9D,EAAE0F,OAAOvL,IAEjCyL,EAAKpd,KAAKyb,MAAMy/B,MAAM/vB,GAAG7P,OAAO2N,IAE3BjpB,KAAKyb,MAAMM,MAAMoB,EAAIs+B,EAAIr+B,EAClC,EAEA5B,EAAMta,UAAUmc,IAAM,SAAa3L,GACjC,OAAI1R,KAAK4c,aACAlL,EACLA,EAAEkL,aACG5c,KAELA,KAAKyb,MAAMu3B,SACNhzC,KAAK47C,QAAQlqC,GAEb1R,KAAK67C,SAASnqC,EACzB,EAEA8J,EAAMta,UAAUwc,IAAM,SAAaC,GACjC,OAAI3d,KAAK87C,YAAYn+B,GACZ3d,KAAKyb,MAAMsgC,aAAa/7C,KAAM2d,GAE9B3d,KAAKyb,MAAMugC,SAASh8C,KAAM2d,EACrC,EAEAnC,EAAMta,UAAU+c,OAAS,SAAgBg+B,EAAIvqC,EAAGwqC,GAC9C,OAAOl8C,KAAKyb,MAAM0gC,YAAY,EAAG,CAAEn8C,KAAM0R,GAAK,CAAEuqC,EAAIC,GAAM,GAAG,EAC/D,EAEA1gC,EAAMta,UAAUk7C,QAAU,SAAiBH,EAAIvqC,EAAGwqC,GAChD,OAAOl8C,KAAKyb,MAAM0gC,YAAY,EAAG,CAAEn8C,KAAM0R,GAAK,CAAEuqC,EAAIC,GAAM,GAAG,EAC/D,EAEA1gC,EAAMta,UAAU8a,UAAY,WAC1B,GAAIhc,KAAKg7C,KACP,OAAOh7C,KAGT,IAAIq8C,EAAKr8C,KAAK0b,EAAEN,UAOhB,OANApb,KAAKsS,EAAItS,KAAKsS,EAAEgJ,OAAO+gC,GACvBr8C,KAAK+vC,EAAI/vC,KAAK+vC,EAAEz0B,OAAO+gC,GACnBr8C,KAAK4d,IACP5d,KAAK4d,EAAI5d,KAAK4d,EAAEtC,OAAO+gC,IACzBr8C,KAAK0b,EAAI1b,KAAKyb,MAAMG,IACpB5b,KAAKg7C,MAAO,EACLh7C,IACT,EAEAwb,EAAMta,UAAUmoC,IAAM,WACpB,OAAOrpC,KAAKyb,MAAMM,MAAM/b,KAAKsS,EAAE6kC,SAC7Bn3C,KAAK+vC,EACL/vC,KAAK0b,EACL1b,KAAK4d,GAAK5d,KAAK4d,EAAEu5B,SACrB,EAEA37B,EAAMta,UAAUwb,KAAO,WAErB,OADA1c,KAAKgc,YACEhc,KAAKsS,EAAEuK,SAChB,EAEArB,EAAMta,UAAUo7C,KAAO,WAErB,OADAt8C,KAAKgc,YACEhc,KAAK+vC,EAAElzB,SAChB,EAEArB,EAAMta,UAAUid,GAAK,SAAYC,GAC/B,OAAOpe,OAASoe,GACyB,IAAlCpe,KAAK0c,OAAOL,IAAI+B,EAAM1B,SACY,IAAlC1c,KAAKs8C,OAAOjgC,IAAI+B,EAAMk+B,OAC/B,EAEA9gC,EAAMta,UAAUq7C,OAAS,SAAgBjqC,GACvC,IAAIk/B,EAAKl/B,EAAE2I,MAAMjb,KAAKyb,MAAMP,KAAKI,OAAOtb,KAAK0b,GAC7C,GAAuB,IAAnB1b,KAAKsS,EAAE+J,IAAIm1B,GACb,OAAO,EAIT,IAFA,IAAIgL,EAAKlqC,EAAEuL,QACPD,EAAI5d,KAAKyb,MAAMghC,KAAKnhC,OAAOtb,KAAK0b,KAC3B,CAEP,GADA8gC,EAAGjS,KAAKvqC,KAAKyb,MAAM9K,GACf6rC,EAAGngC,IAAIrc,KAAKyb,MAAM/J,IAAM,EAC1B,OAAO,EAGT,GADA8/B,EAAGmF,QAAQ/4B,GACY,IAAnB5d,KAAKsS,EAAE+J,IAAIm1B,GACb,OAAO,CACX,CACF,EAGAh2B,EAAMta,UAAUw7C,IAAMlhC,EAAMta,UAAU8a,UACtCR,EAAMta,UAAUy7C,SAAWnhC,EAAMta,UAAUmc,G,WClb3Cxb,EAAOC,QAEP,SAAiB86C,EAAKz4C,GACpB,GAAIA,GAAKy4C,EAAI54C,QAAUG,EAAI,EAAG,OAC9B,IAAI0gB,EAAO+3B,EAAIvuB,MACf,GAAIlqB,EAAIy4C,EAAI54C,OAAQ,CAClB,IAAI2zC,EAAMiF,EAAIz4C,GAEd,OADAy4C,EAAIz4C,GAAK0gB,EACF8yB,CACT,CACA,OAAO9yB,CACT,C,sCCXIg4B,EAAW,EAAQ,MACnBtnC,EAAK,EAAQ,MAEjB1T,EAAOC,QAAU,SAAqB2Z,GACpC,OAAO,IAAIqhC,EAAKrhC,EAClB,EAEA,IAAIshC,EAAU,CACZC,UAAW,CACT16C,KAAM,YACNqa,WAAY,IAEdsgC,UAAW,CACT36C,KAAM,OACNqa,WAAY,IAEdugC,WAAY,CACV56C,KAAM,OACNqa,WAAY,IAEdwgC,WAAY,CACV76C,KAAM,OACNqa,WAAY,IAEdygC,QAAS,CACP96C,KAAM,UACNqa,WAAY,IAEd0gC,UAAW,CACT/6C,KAAM,OACNqa,WAAY,IAEd2gC,UAAW,CACTh7C,KAAM,OACNqa,WAAY,KAUhB,SAASmgC,EAAMrhC,GACbzb,KAAKu9C,UAAYR,EAAQthC,GACpBzb,KAAKu9C,YACRv9C,KAAKu9C,UAAY,CACfj7C,KAAMmZ,IAGVzb,KAAKyb,MAAQ,IAAIohC,EAASpD,GAAGz5C,KAAKu9C,UAAUj7C,MAC5CtC,KAAKa,UAAO,CACd,CAuDA,SAAS28C,EAAmBC,EAAIl8C,EAAK0H,GAC9B/D,MAAMC,QAAQs4C,KACjBA,EAAKA,EAAG/2C,WAEV,IAAIlC,EAAM,IAAInF,EAAOo+C,GACrB,GAAIx0C,GAAOzE,EAAIR,OAASiF,EAAK,CAC3B,IAAIkqB,EAAQ,IAAI9zB,EAAO4J,EAAMzE,EAAIR,QACjCmvB,EAAMjU,KAAK,GACX1a,EAAMnF,EAAOqM,OAAO,CAACynB,EAAO3uB,GAC9B,CACA,OAAKjD,EAGIiD,EAAI7C,SAASJ,GAFbiD,CAIX,CArFAu4C,EAAQxF,KAAOwF,EAAQE,UACvBF,EAAQW,KAAOX,EAAQY,UAAYZ,EAAQG,WAC3CH,EAAQvF,KAAOuF,EAAQa,UAAYb,EAAQI,WAC3CJ,EAAQc,KAAOd,EAAQM,UACvBN,EAAQe,KAAOf,EAAQO,UAavBR,EAAK57C,UAAU68C,aAAe,SAAUx8C,EAAK2pB,GAE3C,OADAlrB,KAAKa,KAAOb,KAAKyb,MAAMuiC,aAChBh+C,KAAKi+C,aAAa18C,EAAK2pB,EAChC,EAEA4xB,EAAK57C,UAAUg9C,cAAgB,SAAU9/B,EAAO+/B,EAAO58C,GAOrD,OANA48C,EAAQA,GAAS,OACZ9+C,EAAOmH,SAAS4X,KACnBA,EAAQ,IAAI/e,EAAO+e,EAAO+/B,IAIrBX,EAFQx9C,KAAKyb,MAAM2iC,cAAchgC,GAAO87B,YAC5Bx8B,IAAI1d,KAAKa,KAAKw5C,cAAc39B,OACjBnb,EAAKvB,KAAKu9C,UAAU5gC,WACpD,EAEAmgC,EAAK57C,UAAU+8C,aAAe,SAAU18C,EAAK2pB,GAC3C,IAAInqB,EAAMf,KAAKa,KAAKq5C,UAAqB,eAAXhvB,GAAyB,GAQvD,MAPe,WAAXA,IACEnqB,EAAIA,EAAIiD,OAAS,GAAK,EACxBjD,EAAI,GAAK,EAETA,EAAI,GAAK,GAGNy8C,EAAkBz8C,EAAKQ,EAChC,EAEAu7C,EAAK57C,UAAUm9C,cAAgB,SAAU98C,GACvC,OAAOi8C,EAAkBx9C,KAAKa,KAAKw5C,aAAc94C,EACnD,EAEAu7C,EAAK57C,UAAUo9C,aAAe,SAAU3E,EAAKp4C,GAM3C,OALAA,EAAMA,GAAO,OACRlC,EAAOmH,SAASmzC,KACnBA,EAAM,IAAIt6C,EAAOs6C,EAAKp4C,IAExBvB,KAAKa,KAAKi5C,cAAcH,GACjB35C,IACT,EAEA88C,EAAK57C,UAAUq9C,cAAgB,SAAU7E,EAAMn4C,GAC7CA,EAAMA,GAAO,OACRlC,EAAOmH,SAASkzC,KACnBA,EAAO,IAAIr6C,EAAOq6C,EAAMn4C,IAG1B,IAAIi9C,EAAQ,IAAIjpC,EAAGmkC,GAInB,OAHA8E,EAAQA,EAAM78C,SAAS,IACvB3B,KAAKa,KAAOb,KAAKyb,MAAMuiC,aACvBh+C,KAAKa,KAAK+4C,eAAe4E,GAClBx+C,IACT,C,WCtGA6B,EAAOC,QAAU,WAChB,GAAsB,mBAAX+X,QAAiE,mBAAjCjZ,OAAO6X,sBAAwC,OAAO,EACjG,GAA+B,iBAApBoB,OAAO2F,SAAyB,OAAO,EAGlD,IAAIvY,EAAM,CAAC,EACP2R,EAAMiB,OAAO,QACb4kC,EAAS79C,OAAOgY,GACpB,GAAmB,iBAARA,EAAoB,OAAO,EAEtC,GAA4C,oBAAxChY,OAAOM,UAAUS,SAAS5B,KAAK6Y,GAA8B,OAAO,EACxE,GAA+C,oBAA3ChY,OAAOM,UAAUS,SAAS5B,KAAK0+C,GAAiC,OAAO,EAY3E,IAAK,IAAIr9C,KADT6F,EAAI2R,GADS,GAEC3R,EAAO,OAAO,EAC5B,GAA2B,mBAAhBrG,OAAOC,MAAmD,IAA5BD,OAAOC,KAAKoG,GAAKjD,OAAgB,OAAO,EAEjF,GAA0C,mBAA/BpD,OAAO+sB,qBAAiF,IAA3C/sB,OAAO+sB,oBAAoB1mB,GAAKjD,OAAgB,OAAO,EAE/G,IAAI06C,EAAO99C,OAAO6X,sBAAsBxR,GACxC,GAAoB,IAAhBy3C,EAAK16C,QAAgB06C,EAAK,KAAO9lC,EAAO,OAAO,EAEnD,IAAKhY,OAAOM,UAAUy9C,qBAAqB5+C,KAAKkH,EAAK2R,GAAQ,OAAO,EAEpE,GAA+C,mBAApChY,OAAOiY,yBAAyC,CAE1D,IAAIY,EAAgD7Y,OAAOiY,yBAAyB5R,EAAK2R,GACzF,GAfY,KAeRa,EAAW1S,QAA8C,IAA1B0S,EAAWpE,WAAuB,OAAO,CAC7E,CAEA,OAAO,CACR,C,iBC5CAxT,EAAOC,QAAU,EAAjB,K,WCAA,SAAS4J,EAAQkzC,EAAQp5C,GACvB,GAAyB,iBAAdo5C,EAAO,GAAiB,OAAOA,EAAO17C,KAAK,IACtD,GAAyB,iBAAd07C,EAAO,GAAiB,OAAO,IAAIzyC,WAAWyyC,GACzD,MAAMzmC,EAAI,IAAIhM,WAAW3G,GACzB,IAAIG,EAAS,EACb,IAAK,IAAIxB,EAAI,EAAGoO,EAAIqsC,EAAO56C,OAAQG,EAAIoO,EAAGpO,IAAK,CAC7C,MAAM8K,EAAQ2vC,EAAOz6C,GACrBgU,EAAEjI,IAAIjB,EAAOtJ,GACbA,GAAUsJ,EAAM0N,YAAc1N,EAAMjL,MACtC,CAEA,OAAOmU,CACT,CAEAtW,EAAOC,QAAUwd,gBAAkBE,EAAUha,EAAO,IAAK2mB,EAAO,CAAC,GAC3C,iBAAT3mB,IAETA,GADA2mB,EAAO3mB,GACKA,MAEd,IAAI,MAAEq5C,EAAK,YAAEC,GAAc,GAAS3yB,EAEhC0yB,IAAOC,GAAc,GAEzB,IAAIC,EAAW,GACXC,EAAgB,EAEpB,UAAW,MAAMj4C,KAASyY,EAIxB,GAHAw/B,GAAiBj4C,EAAM4V,YAAc5V,EAAM/C,QAAU,EACrD+6C,EAAS1vC,KAAKtI,GAEVi4C,GAAiBx5C,EAAM,CACzB,MAAM2S,EAAIzM,EAAOqzC,EAAUC,GAC3B,IAAIr5C,EAAS,EAEb,KAAOq5C,GAAiBx5C,SAChB2S,EAAE/S,MAAMO,EAAQA,EAASH,GAC/Bw5C,GAAiBx5C,EACjBG,GAAUH,EAGZu5C,EAAW,CAAC5mC,EAAE/S,MAAMO,EAAQwS,EAAEnU,QAChC,CAEEg7C,UAAqBtzC,EAAOqzC,EAAUD,EAAct5C,EAAOw5C,GACjE,C,iBC1CA,IAAIC,EAAiB,EAAQ,MAyC7Bp9C,EAAOC,QAAU,WAChB,OAAKlB,OAAOs+C,OAxCqB,WACjC,IAAKt+C,OAAOs+C,OACX,OAAO,EASR,IAHA,IAAI56C,EAAM,uBACN66C,EAAU76C,EAAIW,MAAM,IACpBiE,EAAM,CAAC,EACF/E,EAAI,EAAGA,EAAIg7C,EAAQn7C,SAAUG,EACrC+E,EAAIi2C,EAAQh7C,IAAMg7C,EAAQh7C,GAE3B,IAAI8C,EAAMrG,OAAOs+C,OAAO,CAAC,EAAGh2C,GACxBG,EAAS,GACb,IAAK,IAAIsU,KAAK1W,EACboC,GAAUsU,EAEX,OAAOrZ,IAAQ+E,CAChB,CAuBK+1C,IArB4B,WAChC,IAAKx+C,OAAOs+C,SAAWt+C,OAAOy+C,kBAC7B,OAAO,EAMR,IAAIC,EAAU1+C,OAAOy+C,kBAAkB,CAAE,EAAG,IAC5C,IACCz+C,OAAOs+C,OAAOI,EAAS,KACxB,CAAE,MAAOpoC,GACR,MAAsB,MAAfooC,EAAQ,EAChB,CACA,OAAO,CACR,CASKC,GAFIN,EAKDr+C,OAAOs+C,OARND,CAST,C,iBCnDAn9C,EAAQ09C,YAAc19C,EAAQ29C,IAAM39C,EAAQ49C,kBAAoB59C,EAAQ69C,KAAO,EAAf,MAGhE79C,EAAQxC,WAAawC,EAAQuc,KAAO,EAAf,MAGrBvc,EAAQ41B,WAAa51B,EAAQ89C,KAAO,EAAf,MAErB,IAAIC,EAAQ,EAAQ,MAChBC,EAAWl/C,OAAOC,KAAKg/C,GACvBE,EAAS,CACZ,OACA,SACA,SACA,SACA,SACA,MACA,UACCr0C,OAAOo0C,GAETh+C,EAAQk+C,UAAY,WACnB,OAAOD,CACR,EAEA,IAAIruC,EAAI,EAAQ,MAChB5P,EAAQm+C,OAASvuC,EAAEuuC,OACnBn+C,EAAQo+C,WAAaxuC,EAAEwuC,WAEvB,IAAI71C,EAAM,EAAQ,KAElBvI,EAAQkJ,OAASX,EAAIW,OACrBlJ,EAAQiJ,aAAeV,EAAIU,aAC3BjJ,EAAQsJ,SAAWf,EAAIe,SACvBtJ,EAAQ2I,eAAiBJ,EAAII,eAC7B3I,EAAQwJ,SAAWjB,EAAIiB,SACvBxJ,EAAQuJ,eAAiBhB,EAAIgB,eAC7BvJ,EAAQyJ,WAAalB,EAAIkB,WACzBzJ,EAAQ+I,iBAAmBR,EAAIQ,iBAC/B/I,EAAQ2J,WAAapB,EAAIoB,WACzB3J,EAAQ0J,YAAcnB,EAAImB,YAE1B,IAAI20C,EAAK,EAAQ,MAEjBr+C,EAAQs+C,mBAAqBD,EAAGC,mBAChCt+C,EAAQu+C,yBAA2BF,EAAGE,yBACtCv+C,EAAQw+C,iBAAmBH,EAAGG,iBAC9Bx+C,EAAQy+C,oBAAsBJ,EAAGI,oBACjCz+C,EAAQ0+C,cAAgBL,EAAGK,cAE3B,IAAI/gD,EAAO,EAAQ,IAEnBqC,EAAQpB,WAAajB,EAAKiB,WAC1BoB,EAAQlC,KAAOH,EAAKG,KACpBkC,EAAQnB,aAAelB,EAAKkB,aAC5BmB,EAAQrB,OAAShB,EAAKgB,OAEtBqB,EAAQ2+C,WAAa,EAArB,MAEA,IAAIC,EAAgB,EAAQ,MAE5B5+C,EAAQ4+C,cAAgBA,EAAcA,cACtC5+C,EAAQ6+C,eAAiBD,EAAcC,eACvC7+C,EAAQ8+C,cAAgBF,EAAcE,cACtC9+C,EAAQ++C,eAAiBH,EAAcG,eAWvC,IAAIC,EAAK,EAAQ,MAEjBh/C,EAAQi/C,WAAaD,EAAGC,WACxBj/C,EAAQk/C,eAAiBF,EAAGE,eAE5Bl/C,EAAQm/C,kBAAoB,WAC3B,MAAM,IAAI/gD,MAAM,4HACjB,EAEA4B,EAAQK,UAAY,CACnB++C,0BAA2B,EAC3BC,qBAAsB,EACtBC,6BAA8B,EAC9BC,0BAA2B,EAC3BC,YAAa,EACbC,aAAc,EACdC,kBAAmB,EACnBC,mBAAoB,EACpBC,eAAgB,EAChBC,uBAAwB,EACxBC,iBAAkB,EAClBC,sBAAuB,EACvBC,4BAA6B,EAC7BC,8BAA+B,EAC/BC,wBAAyB,E,WCnG1BngD,EAAOC,QAAU,WACf,MAAM,IAAI5B,MACR,wFAGJ,C,WCmBA,SAAS0D,EAAeqD,EAAKsoB,GAC3B,OAAO3uB,OAAOM,UAAU0C,eAAe7D,KAAKkH,EAAKsoB,EACnD,CAEA1tB,EAAOC,QAAU,SAASmgD,EAAI7iB,EAAKjhB,EAAItR,GACrCuyB,EAAMA,GAAO,IACbjhB,EAAKA,GAAM,IACX,IAAIlX,EAAM,CAAC,EAEX,GAAkB,iBAAPg7C,GAAiC,IAAdA,EAAGj+C,OAC/B,OAAOiD,EAGT,IAAIi7C,EAAS,MACbD,EAAKA,EAAGh9C,MAAMm6B,GAEd,IAAI+iB,EAAU,IACVt1C,GAAsC,iBAApBA,EAAQs1C,UAC5BA,EAAUt1C,EAAQs1C,SAGpB,IAAIl5C,EAAMg5C,EAAGj+C,OAETm+C,EAAU,GAAKl5C,EAAMk5C,IACvBl5C,EAAMk5C,GAGR,IAAK,IAAIh+C,EAAI,EAAGA,EAAI8E,IAAO9E,EAAG,CAC5B,IAEIi+C,EAAMC,EAAM1kC,EAAGnD,EAFflI,EAAI2vC,EAAG99C,GAAGwF,QAAQu4C,EAAQ,OAC1Bz0B,EAAMnb,EAAErI,QAAQkU,GAGhBsP,GAAO,GACT20B,EAAO9vC,EAAE5I,OAAO,EAAG+jB,GACnB40B,EAAO/vC,EAAE5I,OAAO+jB,EAAM,KAEtB20B,EAAO9vC,EACP+vC,EAAO,IAGT1kC,EAAIoE,mBAAmBqgC,GACvB5nC,EAAIuH,mBAAmBsgC,GAElBz+C,EAAeqD,EAAK0W,GAEdzY,MAAMC,QAAQ8B,EAAI0W,IAC3B1W,EAAI0W,GAAGtO,KAAKmL,GAEZvT,EAAI0W,GAAK,CAAC1W,EAAI0W,GAAInD,GAJlBvT,EAAI0W,GAAKnD,CAMb,CAEA,OAAOvT,CACT,C,+DC9EApF,EAAOC,QAEP,SAAoBwgD,EAAOhyC,GACzB,IAAI0oC,EAAU,EACVxnB,EAAU,GACV+wB,GAAS,EAEb,SAASlhD,EAAMgP,GACb,SAAS7O,IACH8O,GAAIA,EAAGD,EAAKmhB,EAClB,CACI+wB,EAAQ56C,EAAQmJ,SAAStP,GACxBA,GACP,CAQI8gD,EAAMt+C,OAAS,EAAGs+C,EAAM,IAN5B,SAASE,EAAMnyC,EAAKyU,GAClB0M,EAAQniB,KAAKyV,KACPk0B,GAAWsJ,EAAMt+C,QAAUqM,EAAKhP,EAAKgP,GACtCiyC,EAAMtJ,GAASwJ,EACtB,IAGKnhD,EAAK,MAEVkhD,GAAS,CACX,C,iBCxBA,MAAMn2C,EAAO,EAAQ,KACfq2C,EAAM,EAAQ,MACdC,EAAa,mBACbjtC,EAAS,WACTktC,EAAS,EAAQ,MACjBC,EAAUD,EAAOC,QACjBC,EAAaF,EAAOE,WACpBt2C,EAAQo2C,EAAOp2C,MACfu2C,EAAOH,EAAOG,KACdC,EAAqBJ,EAAOI,mBAC5BC,EAAkBL,EAAOK,gBACzBC,EAAkBN,EAAOM,gBACzBC,EAAkB,wBAElBC,EAAerhD,EAAQqhD,aAAe,CAC1C,IAAK,WACL,IAAK,sBACL,IAAK,aACL,IAAK,KACL,IAAK,UACL,IAAK,WACL,IAAK,gCACL,IAAK,aACL,IAAK,gBACL,IAAK,kBACL,IAAK,eACL,IAAK,mBACL,IAAK,UACL,IAAK,mBACL,IAAK,oBACL,IAAK,QACL,IAAK,YACL,IAAK,eACL,IAAK,YACL,IAAK,qBACL,IAAK,qBACL,IAAK,cACL,IAAK,eACL,IAAK,mBACL,IAAK,YACL,IAAK,YACL,IAAK,qBACL,IAAK,iBACL,IAAK,gCACL,IAAK,kBACL,IAAK,WACL,IAAK,OACL,IAAK,kBACL,IAAK,sBACL,IAAK,oBACL,IAAK,eACL,IAAK,yBACL,IAAK,wBACL,IAAK,qBACL,IAAK,eACL,IAAK,sBACL,IAAK,uBACL,IAAK,SACL,IAAK,oBACL,IAAK,uBACL,IAAK,mBACL,IAAK,wBACL,IAAK,oBACL,IAAK,kCACL,IAAK,gCACL,IAAK,wBACL,IAAK,kBACL,IAAK,cACL,IAAK,sBACL,IAAK,kBACL,IAAK,6BACL,IAAK,0BACL,IAAK,uBACL,IAAK,gBACL,IAAK,2BACL,IAAK,eACL,IAAK,mCAGDC,EAAqC,EAAxBV,EAAWU,WAG9B,SAASC,EAAeC,GACtBJ,EAAgBnjD,KAAKC,MAEF,SAAfsjD,EAAIruC,SAAmBjV,KAAKujD,UAAW,GAE3CvjD,KAAKwjD,UAAW,GAEZF,EAAIG,iBAAmB,GAAKH,EAAII,iBAAmB,KACrD1jD,KAAK2jD,4BAA8BX,EAAgBn+C,KAAKy+C,EAAIM,QAAQC,IACpE7jD,KAAK8jD,iBAAkB,EAE3B,CAgBA,SAASC,IAmBH/jD,KAAKgkD,cAAchkD,KAAKgkD,aAAav0C,KAAK,QAChD,CA8FA,SAASw0C,EAAOC,GACd,KAAMlkD,gBAAgBikD,GAAS,OAAO,IAAIA,EAAOC,GACjDzB,EAAIwB,OAAOlkD,KAAKC,KAAM,CAAEmkD,eAAe,IAEnCD,GACFlkD,KAAK6U,YAAY,UAAWqvC,GAQ9BlkD,KAAKokD,mBAAoB,EAEzBpkD,KAAK6U,YAAY,aAAcwvC,GAE/BrkD,KAAKskD,QAAU,KAEftkD,KAAKukD,qBAAuB,CAC9B,CAeA,SAASF,EAAmBG,GAC1B,IAAIt4C,EAAOlM,KACPykD,EAAW,GACXC,EAAW,GACXC,EAAe,EAEnB,SAASC,EAAmBvhB,GAM1B,GADAshB,GAAgBthB,EACZmhB,EAAOK,SAAWF,EAAeH,EAAO1wC,eAAe5G,cACzD,OAAO43C,GACX,CAEA,SAASC,IACP,KAAOL,EAAS1gD,QAAQ,CACtB,IAAIs/C,EAAMoB,EAASpzC,QACnBgyC,EAAI7zC,KAAK,WACT6zC,EAAI7zC,KAAK,QACX,CAEF,CAEA,SAASu1C,IACPz4C,EAAM,uBAEFvM,KAAKi0B,QACP4uB,EAAW7iD,KAAKi0B,OAAQ,KAAMj0B,MAGhC+kD,GACF,CAEAx4C,EAAM,8BAEN02C,EAAgBuB,GAKZt4C,EAAKo4C,SACPE,EAAOS,WAAW/4C,EAAKo4C,SACzBE,EAAOvwC,GAAG,WAAW,WACnB,IAAIqvC,EAAMkB,EAAOvwB,QAAUuwB,EAAOvwB,OAAOywB,SACrCQ,EAAa5B,IAAQA,EAAI6B,UAAY7B,EAAI7zC,KAAK,UAAW+0C,GACzD9gD,EAAM8gD,EAAOR,aACboB,EAAa1hD,GAAOA,EAAI+L,KAAK,UAAW+0C,GACxCa,EAAgBn5C,EAAKuD,KAAK,UAAW+0C,GAEpCU,GAAeE,GAAeC,GACjCb,EAAO11C,SACX,IAEA,IAAImlB,EAAS2uB,EAAQloC,QACrBuZ,EAAOqxB,aAAa5C,EAAW6C,SAC/BtxB,EAAOuwB,OAASA,EAChBA,EAAOvwB,OAASA,EAChBA,EAAOywB,SAAW,KAGkB,iBAAzB1kD,KAAKwlD,gBACdvxB,EAAOwxB,eAAiBzlD,KAAKwlD,iBAAmB,EAGhDvxB,EAAOwxB,eAAiB,IAG1BjB,EAAO3vC,YAAY,QAAS6wC,GAC5BlB,EAAO3vC,YAAY,QAASmwC,GAC5B/wB,EAAO0xB,WAgIP,SAA0BrC,EAAKQ,GAM7B,GALAY,EAASr1C,KAAKi0C,IAKTkB,EAAOK,QAAS,EACHL,EAAO1wC,eAAeC,WAClC4wC,GAAgBH,EAAO1wC,eAAe5G,iBAExCs3C,EAAOK,SAAU,EAIjBL,EAAOpwC,QAEX,CAEA,IAAI1Q,EAAM,IAAI2/C,EAAeC,GAC7B5/C,EAAIkiD,eAAiBhB,EAErBlhD,EAAIogD,gBAAkBA,EAKlBU,EAAOR,aAETS,EAASp1C,KAAK3L,GAEdA,EAAImiD,aAAarB,GAKnB9gD,EAAIuQ,GAAG,UACP,WAIEwB,EAA2B,IAApBivC,EAAS1gD,QAAgB0gD,EAAS,KAAOpB,GAEhDoB,EAASpzC,QAKJgyC,EAAIwC,YAAexC,EAAI50C,eAAeP,iBACzCm1C,EAAIyC,QAIN,GAFAriD,EAAIsiD,aAAaxB,GAEb9gD,EAAIuiD,MACNzB,EAAO0B,kBACF,CAEL,IAAI/uC,EAAIstC,EAASnzC,QACb6F,GACFA,EAAE0uC,aAAarB,EAEnB,CACF,SAE2Bj9C,IAAvB+7C,EAAIM,QAAQuC,QACa,GAAxB7C,EAAIG,kBAAiD,GAAxBH,EAAII,iBAChCX,EAAmBl+C,KAAKy+C,EAAIM,QAAQuC,SACtCziD,EAAI0iD,kBAAmB,EAEnBl6C,EAAKm6C,cAAc,iBAAmB,EACxCn6C,EAAKuD,KAAK,gBAAiB6zC,EAAK5/C,IAEhCA,EAAI4iD,gBACJp6C,EAAKuD,KAAK,UAAW6zC,EAAK5/C,KAGxBwI,EAAKm6C,cAAc,oBAAsB,EAC3Cn6C,EAAKuD,KAAK,mBAAoB6zC,EAAK5/C,IAEnCA,EAAI6iD,UAAU,KACd7iD,EAAIlC,OAIR0K,EAAKuD,KAAK,UAAW6zC,EAAK5/C,GAE5B,OAAO,CACT,EArNA8gD,EAAOvwC,GAAG,MAAOuyC,GACjBhC,EAAOvwC,GAAG,OAAQwyC,GAGlBjC,EAAOvwC,GAAG,SAAUyyC,GACpBlC,EAAOvwC,GAAG,QAAS0yC,GAEnBnC,EAAOvwC,GAAG,QAAS6wC,GAGnBN,EAAOvwC,GAAK2yC,EAEZ,IAAIC,EAAWrC,EAAOsC,SAAWtC,EAAOsC,QAAQC,gBAShD,SAASrB,EAAcxuC,GAErBlX,KAAKuT,eAAe,QAASmyC,GAC7B1lD,KAAKiU,GAAG,SAAS,SAEZ/H,EAAKuD,KAAK,cAAeyH,EAAGlX,OAC/BA,KAAK8O,QAAQoI,EACjB,CAEA,SAASuvC,EAAajvC,GACpB/B,GAAQ+uC,EAAOK,SACft4C,EAAM,yBAA0BiL,EAAExT,QAGlCgjD,EAFU/yB,EAAOgzB,QAAQzvC,GAEEA,EAC7B,CAQA,SAASwvC,EAAsB31C,EAAKmG,GAClC,GAAInG,aAAenR,MACjBqM,EAAM,eACNm5C,EAAc3lD,KAAKykD,EAAQnzC,QACtB,GAAI4iB,EAAOywB,UAAYzwB,EAAOywB,SAASwC,QAAS,CAErD,IAAIC,EAAc91C,EACdiyC,EAAMrvB,EAAOywB,SACjBn4C,EAAM,4BAA6B+2C,EAAIruC,QAElCuC,IACHA,EAAIyc,EAAOmzB,oBAEb5C,EAAOjxC,eAAe,OAAQkzC,GAC9BjC,EAAOjxC,eAAe,MAAOizC,GAC7BhC,EAAOjxC,eAAe,QAASyxC,GAC/BqC,EAAUpzB,EAAQuwB,GAClBvwB,EAAOqzB,SACPzE,EAAW5uB,EAAQqvB,EAAK,MACxBrvB,EAAS,KAET,IAAIszB,EAA2B,YAAfjE,EAAIruC,OAAuB,UAAY,UACvD,GAAI/I,EAAKm6C,cAAckB,GAAa,EAAG,CACrCh7C,EAAM,8BAA+Bg7C,GACrC,IAAIC,EAAWhwC,EAAEpS,MAAM+hD,EAAa3vC,EAAExT,QAItCwgD,EAAO91C,eAAef,QAAU,KAChCzB,EAAKuD,KAAK83C,EAAWjE,EAAKkB,EAAQgD,EACpC,MAEEhD,EAAO11C,SAEX,CAEI01C,EAAOK,SAAWL,EAAOvwB,SAE3B1nB,EAAM,gBACNi4C,EAAOvwB,OAAO7f,QAElB,CAEA,SAASoyC,IACP,IAAIhC,EAASxkD,KACTqR,EAAM4iB,EAAOqzB,SAEjB,GAAIj2C,aAAenR,MAGjB,OAFAqM,EAAM,oBACNm5C,EAAc3lD,KAAKykD,EAAQnzC,GAIxBnF,EAAKk4C,kBAGCK,EAASzgD,OAClBygD,EAASA,EAASzgD,OAAS,GAAGiiD,OAAQ,EAC7BzB,EAAOR,aAChBQ,EAAOR,aAAaiC,OAAQ,EAExBzB,EAAOlrC,UAAUkrC,EAAOhjD,OAP5BujD,IACIP,EAAOlrC,UAAUkrC,EAAOhjD,MAQhC,CAQA,SAASsjD,IACP,IAAI2C,EAAY9C,EAAeH,EAAO1wC,eAAe5G,cAGjDs3C,EAAOK,UAAY4C,IACrBjD,EAAOK,SAAU,EACbL,EAAOvwB,QACTuwB,EAAOvwB,OAAOxf,SAChB+vC,EAAO/vC,SAEX,CAhHIoyC,IACF5yB,EAAOyzB,WAAY,EACnBzzB,EAAO0zB,QAAQd,IAEjBA,EAAW,KACX5yB,EAAOmvB,GAoBP,SAAyB/xC,EAAKmG,GAC5BgtC,EAAOoD,cACPr7C,EAAM,kCAAmC8E,GACzC21C,EAAsB31C,OAAK9J,EAC7B,EAwEAi9C,EAAOK,SAAU,CAoGnB,CAGA,SAAS6B,IAOH1mD,KAAK6kD,QACP7kD,KAAKoU,QAIHpU,KAAK8mD,UAAY9mD,KAAK8mD,QAAQh5C,UAChC9N,KAAK8mD,QAAQh5C,SAAU,EACvB9N,KAAK8mD,QAAQe,YAEjB,CAEA,SAASlB,IACH3mD,KAAK8mD,SAAW9mD,KAAK8mD,QAAQh5C,UAC/B9N,KAAK8mD,QAAQh5C,SAAU,EACvB9N,KAAK8mD,QAAQgB,WAEjB,CAEA,SAAST,EAAUpzB,EAAQuwB,GACrBA,EAAOsC,UACL7yB,EAAOyzB,WACTzzB,EAAOozB,UAAU7C,EAAOsC,QAAQC,iBAClC9yB,EAAOyzB,WAAY,EACnBlD,EAAOjxC,eAAe,QAASozC,GAC/BnC,EAAOjxC,eAAe,SAAUmzC,GAEpC,CAEA,SAASE,EAAahyC,EAAIN,GACxB,IAAI5Q,EAAM++C,EAAIsF,OAAO7mD,UAAU+S,GAAGlU,KAAKC,KAAM4U,EAAIN,GACjD,OAAKtU,KAAKi0B,QAKC,SAAPrf,GAAwB,aAAPA,GACnByyC,EAAUrnD,KAAKi0B,OAAQj0B,MAElB0D,IAPL1D,KAAKiU,GAAKwuC,EAAIsF,OAAO7mD,UAAU+S,GACxBvQ,EAOX,CAnfA0I,EAAK5M,SAAS6jD,EAAgBH,GAE9BG,EAAeniD,UAAU8mD,QAAU,WAIjC9E,EAAgBhiD,UAAU8mD,QAAQjoD,KAAKC,KACzC,EAGA8B,EAAQuhD,eAAiBA,EAEzBA,EAAeniD,UAAU+mD,WAAa,IACtC5E,EAAeniD,UAAUgnD,mBAAgB3gD,EAwBzC87C,EAAeniD,UAAU2kD,aAAe,SAASrB,GAC/C/uC,GAAQ+uC,EAAOR,cACfQ,EAAOR,aAAehkD,KACtBwkD,EAAOvwC,GAAG,QAAS8vC,GACnB/jD,KAAKwkD,OAASA,EACdxkD,KAAKmoD,WAAa3D,EAClBxkD,KAAKyP,KAAK,SAAU+0C,GACpBxkD,KAAKooD,QACP,EAEA/E,EAAeniD,UAAU8kD,aAAe,SAASxB,GAC/C/uC,EAAO+uC,EAAOR,eAAiBhkD,MAC/BwkD,EAAOjxC,eAAe,QAASwwC,GAC/BS,EAAOR,aAAe,KACtBhkD,KAAKwkD,OAASxkD,KAAKmoD,WAAa,IAClC,EAEA9E,EAAeniD,UAAUolD,cAAgB,SAASh2C,GAChDtQ,KAAKqoD,UAAU,wBAA0BvF,EAAOA,EAAM,QAASxyC,GAC/DtQ,KAAKsoD,UAAW,CAClB,EAEAjF,EAAeniD,UAAUqnD,gBAAkB,WACzCvoD,KAAKumD,UAAUvmD,KAAKioD,WACtB,EAEA5E,EAAeniD,UAAUqlD,UAAY,SAAS0B,EAAY9N,EAAQlzC,GAChE,IAAI28C,EAaJ,GAXsB,iBAAXzJ,EAETn6C,KAAKkoD,cAAgB/N,GAGrBn6C,KAAKkoD,cACDloD,KAAKkoD,eAAiB/E,EAAa8E,IAAe,UACtDhhD,EAAMkzC,GAERn6C,KAAKioD,WAAaA,EAEdjoD,KAAKwoD,SAAU,CAEjB,GAAIvhD,EAEF,IADA,IAAIpG,EAAOD,OAAOC,KAAKoG,GACd9C,EAAI,EAAGA,EAAItD,EAAKmD,OAAQG,IAAK,CACpC,IAAIwZ,EAAI9c,EAAKsD,GACTwZ,GAAG3d,KAAK48B,UAAUjf,EAAG1W,EAAI0W,GAC/B,CAGFimC,EAAU5jD,KAAKyoD,gBACjB,MAEE7E,EAAU38C,EAIZ,IADAghD,GAAc,GACG,KAAOA,EAAa,IACnC,MAAM,IAAIS,WAAW,wBAAwBT,KAE/C,IAAIU,EAAa,YAAcV,EAAWtmD,WAAa,IACtC3B,KAAKkoD,cAAgBpF,GAEnB,MAAfmF,GAAqC,MAAfA,GACrB,KAAOA,GAAcA,GAAc,OAWtCjoD,KAAKujD,UAAW,GAKdvjD,KAAKomD,mBAAqBpmD,KAAKsoD,WACjCtoD,KAAK8jD,iBAAkB,GAGzB9jD,KAAK4oD,aAAaD,EAAY/E,EAChC,EAEAP,EAAeniD,UAAU2nD,YAAc,WACrC7oD,KAAKumD,UAAUrxC,MAAMlV,KAAMmV,UAC7B,EAwBA/I,EAAK5M,SAASykD,EAAQxB,EAAIwB,QAG1BA,EAAO/iD,UAAU+jD,WAAa,SAAS6D,EAAOxsB,GAI5C,OAHAt8B,KAAKskD,QAAUwE,EACXxsB,GACFt8B,KAAKiU,GAAG,UAAWqoB,GACdt8B,IACT,EAGA8B,EAAQmiD,OAASA,EAkSjBniD,EAAQinD,oBAAsB1E,C,iBCliB9B,IAAI7kD,EAAW,EAAQ,MACnBH,EAAS,eAETiJ,EAAO,EAAQ,MAEf0gD,EAAQ3pD,EAAOqb,MAAM,KACrBuuC,EAAY,GAEhB,SAASrJ,EAAMsJ,EAAKnoD,GAClBuH,EAAKvI,KAAKC,KAAM,UACG,iBAARe,IACTA,EAAM1B,EAAO2B,KAAKD,IAGpBf,KAAKmpD,KAAOD,EACZlpD,KAAK0nB,KAAO3mB,EAERA,EAAIiD,OAASilD,EACfloD,EAAMmoD,EAAInoD,GACDA,EAAIiD,OAASilD,IACtBloD,EAAM1B,EAAOqM,OAAO,CAAC3K,EAAKioD,GAAQC,IAMpC,IAHA,IAAIG,EAAOppD,KAAKqpD,MAAQhqD,EAAO2S,YAAYi3C,GACvCK,EAAOtpD,KAAKupD,MAAQlqD,EAAO2S,YAAYi3C,GAElC9kD,EAAI,EAAGA,EAAI8kD,EAAW9kD,IAC7BilD,EAAKjlD,GAAc,GAATpD,EAAIoD,GACdmlD,EAAKnlD,GAAc,GAATpD,EAAIoD,GAGhBnE,KAAKK,MAAQ,CAAC+oD,EAChB,CAEA5pD,EAASogD,EAAMt3C,GAEfs3C,EAAK1+C,UAAU8d,QAAU,SAAU/e,GACjCD,KAAKK,MAAMgP,KAAKpP,EAClB,EAEA2/C,EAAK1+C,UAAUi2B,OAAS,WACtB,IAAI3N,EAAIxpB,KAAKmpD,KAAK9pD,EAAOqM,OAAO1L,KAAKK,QACrC,OAAOL,KAAKmpD,KAAK9pD,EAAOqM,OAAO,CAAC1L,KAAKupD,MAAO//B,IAC9C,EACA3nB,EAAOC,QAAU89C,C,iBCoBjB/9C,EAAOC,QAAUkG,EAEjB,IAAID,EAAS,EAAQ,MAGjBqE,EAAOxL,OAAOyL,OAAO,EAAQ,OAMjC,SAASm9C,EAAep6C,EAAInP,GAC1B,IAAIwpD,EAAKzpD,KAAK0pD,gBACdD,EAAGE,cAAe,EAElB,IAAIr5C,EAAKm5C,EAAGG,QAEZ,IAAKt5C,EACH,OAAOtQ,KAAKyP,KAAK,QAAS,IAAIvP,MAAM,yCAGtCupD,EAAGI,WAAa,KAChBJ,EAAGG,QAAU,KAED,MAAR3pD,GACFD,KAAKqP,KAAKpP,GAEZqQ,EAAGlB,GAEH,IAAI06C,EAAK9pD,KAAK0O,eACdo7C,EAAGh8C,SAAU,GACTg8C,EAAG97C,cAAgB87C,EAAG9lD,OAAS8lD,EAAG58C,gBACpClN,KAAK6O,MAAMi7C,EAAG58C,cAElB,CAEA,SAASlF,EAAU6E,GACjB,KAAM7M,gBAAgBgI,GAAY,OAAO,IAAIA,EAAU6E,GAEvD9E,EAAOhI,KAAKC,KAAM6M,GAElB7M,KAAK0pD,gBAAkB,CACrBF,eAAgBA,EAAep0C,KAAKpV,MACpC+pD,eAAe,EACfJ,cAAc,EACdC,QAAS,KACTC,WAAY,KACZG,cAAe,MAIjBhqD,KAAK0O,eAAeV,cAAe,EAKnChO,KAAK0O,eAAeX,MAAO,EAEvBlB,IAC+B,mBAAtBA,EAAQgkC,YAA0B7wC,KAAKiqD,WAAap9C,EAAQgkC,WAE1C,mBAAlBhkC,EAAQq9C,QAAsBlqD,KAAKooD,OAASv7C,EAAQq9C,QAIjElqD,KAAKiU,GAAG,YAAak2C,EACvB,CAEA,SAASA,IACP,IAAIp1C,EAAQ/U,KAEe,mBAAhBA,KAAKooD,OACdpoD,KAAKooD,QAAO,SAAUh5C,EAAInP,GACxBoB,EAAK0T,EAAO3F,EAAInP,EAClB,IAEAoB,EAAKrB,KAAM,KAAM,KAErB,CAyDA,SAASqB,EAAK9B,EAAQ6P,EAAInP,GACxB,GAAImP,EAAI,OAAO7P,EAAOkQ,KAAK,QAASL,GAOpC,GALY,MAARnP,GACFV,EAAO8P,KAAKpP,GAIVV,EAAOuU,eAAe9P,OAAQ,MAAM,IAAI9D,MAAM,8CAElD,GAAIX,EAAOmqD,gBAAgBC,aAAc,MAAM,IAAIzpD,MAAM,kDAEzD,OAAOX,EAAO8P,KAAK,KACrB,CA9IAjD,EAAK5M,SAAW,EAAQ,MAGxB4M,EAAK5M,SAASwI,EAAWD,GAuEzBC,EAAU9G,UAAUmO,KAAO,SAAUJ,EAAOR,GAE1C,OADAzO,KAAK0pD,gBAAgBK,eAAgB,EAC9BhiD,EAAO7G,UAAUmO,KAAKtP,KAAKC,KAAMiP,EAAOR,EACjD,EAYAzG,EAAU9G,UAAU+oD,WAAa,SAAUh7C,EAAOR,EAAU6B,GAC1D,MAAM,IAAIpQ,MAAM,kCAClB,EAEA8H,EAAU9G,UAAUC,OAAS,SAAU8N,EAAOR,EAAU6B,GACtD,IAAIm5C,EAAKzpD,KAAK0pD,gBAId,GAHAD,EAAGG,QAAUt5C,EACbm5C,EAAGI,WAAa56C,EAChBw6C,EAAGO,cAAgBv7C,GACdg7C,EAAGE,aAAc,CACpB,IAAIG,EAAK9pD,KAAK0O,gBACV+6C,EAAGM,eAAiBD,EAAG97C,cAAgB87C,EAAG9lD,OAAS8lD,EAAG58C,gBAAelN,KAAK6O,MAAMi7C,EAAG58C,cACzF,CACF,EAKAlF,EAAU9G,UAAU2N,MAAQ,SAAU8B,GACpC,IAAI84C,EAAKzpD,KAAK0pD,gBAEQ,OAAlBD,EAAGI,YAAuBJ,EAAGG,UAAYH,EAAGE,cAC9CF,EAAGE,cAAe,EAClB3pD,KAAKiqD,WAAWR,EAAGI,WAAYJ,EAAGO,cAAeP,EAAGD,iBAIpDC,EAAGM,eAAgB,CAEvB,EAEA/hD,EAAU9G,UAAU6N,SAAW,SAAUsB,EAAKC,GAC5C,IAAI85C,EAASpqD,KAEb+H,EAAO7G,UAAU6N,SAAShP,KAAKC,KAAMqQ,GAAK,SAAUg6C,GAClD/5C,EAAG+5C,GACHD,EAAO36C,KAAK,QACd,GACF,C,6BCtMA5N,EAAOC,QAAU,EAAjB,K,iBCEA,IAAI0T,EAAQ,EAAQ,MAEhB80C,EAAS,EAAQ,MAErB,SAASC,IACP,KAAMvqD,gBAAgBuqD,GACpB,OAAO,IAAIA,EAEbD,EAAOvqD,KAAKC,MACZA,KAAKwpB,EAAI,CACP,WAAY,WACZ,WAAY,UACZ,WAAY,UACZ,UAAY,WACZ,WAAY,WACZ,WAAY,WACZ,WAAY,WACZ,WAAY,WAChB,CACAhU,EAAMhW,SAAS+qD,EAAQD,GACvBzoD,EAAOC,QAAUyoD,EAEjBA,EAAOjsC,UAAY,KACnBisC,EAAOC,QAAU,IACjBD,EAAOE,aAAe,IACtBF,EAAOG,UAAY,IAEnBH,EAAOrpD,UAAUypD,QAAU,SAAgBppD,GACzC,MAAY,QAARA,EACKiU,EAAMo1C,QAAQ5qD,KAAKwpB,EAAEpkB,MAAM,EAAG,IAAK,OAEnCoQ,EAAMq1C,QAAQ7qD,KAAKwpB,EAAEpkB,MAAM,EAAG,IAAK,MAC9C,C,iBClCA,IAAI5F,EAAW,EAAQ,MAEnBwC,EAAO,EAAQ,MACfC,EAAOD,EAAKC,KACZ6oD,EAAS9oD,EAAK8oD,OAGd5oD,EAAMF,EAAKG,UAAUD,IAEzB,SAAS6oD,EAAW1oD,GAClBrC,KAAKuB,IAAM,MACXvB,KAAKsC,KAAOD,EAAOC,KACnBtC,KAAKqC,OAASA,EAGdrC,KAAKuC,KAAO,IAAIC,EAChBxC,KAAKuC,KAAKE,MAAMJ,EAAOK,KACzB,CAYA,SAASF,EAAQG,GACfV,EAAKW,KAAK7C,KAAKC,KAAM,MAAO2C,EAC9B,CAqOA,SAASqoD,EAAaxmD,EAAKymD,GACzB,IAAI7nD,EAAMoB,EAAI0mD,UAAUD,GACxB,GAAIzmD,EAAIopB,QAAQxqB,GACd,OAAOA,EAET,IAAIE,EAAMpB,EAAIipD,SAAS/nD,GAAO,GAC1BC,IAAmB,GAAND,GAGjB,GAAqB,IAAhBA,EAYHA,GAAO,OAZkB,CACzB,IAAIgoD,EAAMhoD,EAEV,IADAA,EAAM,IACkB,KAAhBgoD,IAAsB,CAE5B,GADAA,EAAM5mD,EAAI0mD,UAAUD,GAChBzmD,EAAIopB,QAAQw9B,GACd,OAAOA,EAEThoD,IAAQ,EACRA,GAAa,IAANgoD,CACT,CACF,CAKA,MAAO,CACL9nD,IAAKA,EACLD,UAAWA,EACXD,IAAKA,EACLioD,OANWnpD,EAAIkB,IAAIA,GAQvB,CAEA,SAASkoD,EAAa9mD,EAAKnB,EAAW4nD,GACpC,IAAIhiD,EAAMzE,EAAI0mD,UAAUD,GACxB,GAAIzmD,EAAIopB,QAAQ3kB,GACd,OAAOA,EAGT,IAAK5F,GAAqB,MAAR4F,EAChB,OAAO,KAGT,KAAW,IAANA,GAEH,OAAOA,EAIT,IAAInG,EAAY,IAANmG,EACV,GAAInG,EAAM,EACR,OAAO0B,EAAIX,MAAM,6BAEnBoF,EAAM,EACN,IAAK,IAAI9E,EAAI,EAAGA,EAAIrB,EAAKqB,IAAK,CAC5B8E,IAAQ,EACR,IAAI7E,EAAII,EAAI0mD,UAAUD,GACtB,GAAIzmD,EAAIopB,QAAQxpB,GACd,OAAOA,EACT6E,GAAO7E,CACT,CAEA,OAAO6E,CACT,CAjTApH,EAAOC,QAAUipD,EAEjBA,EAAW7pD,UAAU09B,OAAS,SAAgB3+B,EAAM4M,GAIlD,OAHM5M,aAAgBgC,EAAK49B,gBACzB5/B,EAAO,IAAIgC,EAAK49B,cAAc5/B,EAAM4M,IAE/B7M,KAAKuC,KAAK2+B,QAAQjhC,EAAM4M,EACjC,EAOArN,EAASgD,EAASP,EAAKW,MAEvBJ,EAAQtB,UAAUsgC,SAAW,SAAiBh0B,EAAQpK,EAAKg9B,GACzD,GAAI5yB,EAAO+9C,UACT,OAAO,EAET,IAAIlkD,EAAQmG,EAAOiuB,OACf+vB,EAAaR,EAAax9C,EAAQ,wBAA0BpK,EAAM,KACtE,OAAIoK,EAAOogB,QAAQ49B,GACVA,GAETh+C,EAAOm0B,QAAQt6B,GAERmkD,EAAWpoD,MAAQA,GAAOooD,EAAWH,SAAWjoD,GACpDooD,EAAWH,OAAS,OAAUjoD,GAAOg9B,EAC1C,EAEA59B,EAAQtB,UAAU2gC,WAAa,SAAmBr0B,EAAQpK,EAAKg9B,GAC7D,IAAIorB,EAAaR,EAAax9C,EACA,4BAA8BpK,EAAM,KAClE,GAAIoK,EAAOogB,QAAQ49B,GACjB,OAAOA,EAET,IAAIviD,EAAMqiD,EAAa99C,EACAg+C,EAAWnoD,UACX,4BAA8BD,EAAM,KAG3D,GAAIoK,EAAOogB,QAAQ3kB,GACjB,OAAOA,EAET,IAAKm3B,GACDorB,EAAWpoD,MAAQA,GACnBooD,EAAWH,SAAWjoD,GACtBooD,EAAWH,OAAS,OAASjoD,EAC/B,OAAOoK,EAAO3J,MAAM,yBAA2BT,EAAM,KAGvD,GAAIooD,EAAWnoD,WAAqB,OAAR4F,EAC1B,OAAOuE,EAAOouB,KAAK3yB,EAAK,6BAA+B7F,EAAM,KAG/D,IAAIiE,EAAQmG,EAAOiuB,OACf/3B,EAAM1D,KAAKyrD,cACXj+C,EACA,2CAA6CxN,KAAKoD,IAAM,KAC5D,OAAIoK,EAAOogB,QAAQlqB,GACVA,GAETuF,EAAMuE,EAAO7H,OAAS0B,EAAM1B,OAC5B6H,EAAOm0B,QAAQt6B,GACRmG,EAAOouB,KAAK3yB,EAAK,6BAA+B7F,EAAM,KAC/D,EAEAZ,EAAQtB,UAAUuqD,cAAgB,SAAsBj+C,EAAQy9C,GAC9D,OAAa,CACX,IAAI7nD,EAAM4nD,EAAax9C,EAAQy9C,GAC/B,GAAIz9C,EAAOogB,QAAQxqB,GACjB,OAAOA,EACT,IAIIM,EAJAuF,EAAMqiD,EAAa99C,EAAQpK,EAAIC,UAAW4nD,GAC9C,GAAIz9C,EAAOogB,QAAQ3kB,GACjB,OAAOA,EAST,GALEvF,EADEN,EAAIC,WAAqB,OAAR4F,EACbuE,EAAOouB,KAAK3yB,GAEZjJ,KAAKyrD,cAAcj+C,EAAQy9C,GAG/Bz9C,EAAOogB,QAAQlqB,GACjB,OAAOA,EAET,GAAmB,QAAfN,EAAIioD,OACN,KACJ,CACF,EAEA7oD,EAAQtB,UAAUohC,YAAc,SAAoB90B,EAAQpK,EAAKoL,EACb3B,GAElD,IADA,IAAIiY,EAAS,IACLtX,EAAO+9C,WAAW,CACxB,IAAIG,EAAc1rD,KAAKwhC,SAASh0B,EAAQ,OACxC,GAAIA,EAAOogB,QAAQ89B,GACjB,OAAOA,EAET,IAAIhoD,EAAM8K,EAAQowB,OAAOpxB,EAAQ,MAAOX,GACxC,GAAIW,EAAOogB,QAAQlqB,IAAQgoD,EACzB,MACF5mC,EAAOzV,KAAK3L,EACd,CACA,OAAOohB,CACT,EAEAtiB,EAAQtB,UAAUqhC,WAAa,SAAmB/0B,EAAQpK,GACxD,GAAY,WAARA,EAAkB,CACpB,IAAImB,EAASiJ,EAAO09C,YACpB,OAAI19C,EAAOogB,QAAQrpB,GACVA,EACF,CAAEA,OAAQA,EAAQtE,KAAMuN,EAAOs0B,MACxC,CAAO,GAAY,WAAR1+B,EAAkB,CAC3B,IAAI0+B,EAAMt0B,EAAOs0B,MACjB,GAAIA,EAAI99B,OAAS,GAAM,EACrB,OAAOwJ,EAAO3J,MAAM,mDAGtB,IADA,IAAIS,EAAM,GACDH,EAAI,EAAGA,EAAI29B,EAAI99B,OAAS,EAAGG,IAClCG,GAAO6E,OAAO+1B,aAAa4C,EAAI6pB,aAAiB,EAAJxnD,IAE9C,OAAOG,CACT,CAAO,GAAY,WAARlB,EAAkB,CAC3B,IAAIwoD,EAASp+C,EAAOs0B,MAAMngC,SAAS,SACnC,OAAK3B,KAAK2E,UAAUinD,GAIbA,EAHEp+C,EAAO3J,MAAM,yDAIxB,CAAO,GAAY,WAART,EACT,OAAOoK,EAAOs0B,MACT,GAAY,YAAR1+B,EACT,OAAOoK,EAAOs0B,MACT,GAAY,aAAR1+B,EAAoB,CAC7B,IAAIyoD,EAAWr+C,EAAOs0B,MAAMngC,SAAS,SACrC,OAAK3B,KAAK4E,YAAYinD,GAIfA,EAHEr+C,EAAO3J,MAAM,2DAIxB,CAAO,MAAI,OAAOgB,KAAKzB,GACdoK,EAAOs0B,MAAMngC,WAEb6L,EAAO3J,MAAM,4BAA8BT,EAAM,eAE5D,EAEAZ,EAAQtB,UAAUshC,aAAe,SAAqBh1B,EAAQzI,EAAQC,GAIpE,IAHA,IAAI8f,EACAgnC,EAAc,GACdrmD,EAAQ,GACJ+H,EAAO+9C,WAAW,CACxB,IAAIQ,EAAWv+C,EAAO09C,YACtBzlD,IAAU,EACVA,GAAoB,IAAXsmD,EACO,IAAXA,IACHD,EAAYz8C,KAAK5J,GACjBA,EAAQ,EAEZ,CACe,IAAXsmD,GACFD,EAAYz8C,KAAK5J,GAEnB,IAAImf,EAASknC,EAAY,GAAK,GAAM,EAChCp6B,EAASo6B,EAAY,GAAK,GAO9B,GAJEhnC,EADE9f,EACO8mD,EAEA,CAAClnC,EAAO8M,GAAQhmB,OAAOogD,EAAY1mD,MAAM,IAEhDL,EAAQ,CACV,IAAI4yC,EAAM5yC,EAAO+f,EAAO5hB,KAAK,WACjBqE,IAARowC,IACFA,EAAM5yC,EAAO+f,EAAO5hB,KAAK,YACfqE,IAARowC,IACF7yB,EAAS6yB,EACb,CAEA,OAAO7yB,CACT,EAEAtiB,EAAQtB,UAAUuhC,YAAc,SAAoBj1B,EAAQpK,GAC1D,IAAIkB,EAAMkJ,EAAOs0B,MAAMngC,WACvB,GAAY,YAARyB,EACF,IAAI4oD,EAAyB,EAAlB1nD,EAAIc,MAAM,EAAG,GACpB6mD,EAAwB,EAAlB3nD,EAAIc,MAAM,EAAG,GACnB8mD,EAAwB,EAAlB5nD,EAAIc,MAAM,EAAG,GACnB+mD,EAA0B,EAAnB7nD,EAAIc,MAAM,EAAG,IACpBgT,EAA0B,EAApB9T,EAAIc,MAAM,GAAI,IACpBgnD,EAA0B,EAApB9nD,EAAIc,MAAM,GAAI,QACnB,IAAY,YAARhC,EAYT,OAAOoK,EAAO3J,MAAM,YAAcT,EAAM,8BAXpC4oD,EAAyB,EAAlB1nD,EAAIc,MAAM,EAAG,GACpB6mD,EAAwB,EAAlB3nD,EAAIc,MAAM,EAAG,GACnB8mD,EAAwB,EAAlB5nD,EAAIc,MAAM,EAAG,GACnB+mD,EAAyB,EAAlB7nD,EAAIc,MAAM,EAAG,GACpBgT,EAAyB,EAAnB9T,EAAIc,MAAM,EAAG,IACnBgnD,EAA0B,EAApB9nD,EAAIc,MAAM,GAAI,IAEtB4mD,EADEA,EAAO,GACF,IAAOA,EAEP,KAAOA,CAGlB,CAEA,OAAOjmD,KAAKsmD,IAAIL,EAAMC,EAAM,EAAGC,EAAKC,EAAM/zC,EAAKg0C,EAAK,EACtD,EAEA5pD,EAAQtB,UAAUwhC,YAAc,SAAoBl1B,GAClD,OAAO,IACT,EAEAhL,EAAQtB,UAAUyhC,YAAc,SAAoBn1B,GAClD,IAAI9J,EAAM8J,EAAO09C,YACjB,OAAI19C,EAAOogB,QAAQlqB,GACVA,EAEQ,IAARA,CACX,EAEAlB,EAAQtB,UAAU0hC,WAAa,SAAmBp1B,EAAQzI,GAExD,IAAI+8B,EAAMt0B,EAAOs0B,MACbp+B,EAAM,IAAIonD,EAAOhpB,GAKrB,OAHI/8B,IACFrB,EAAMqB,EAAOrB,EAAI/B,SAAS,MAAQ+B,GAE7BA,CACT,EAEAlB,EAAQtB,UAAU8F,KAAO,SAAa3E,EAAQ4E,GAG5C,MAFsB,mBAAX5E,IACTA,EAASA,EAAO4E,IACX5E,EAAOiqD,YAAY,OAAO/pD,IACnC,C,WChQAV,EAAOC,QAAU,SAAcoW,EAAGC,GAGhC,IAFA,IAAIlP,EAAMiP,EAAElU,OACRG,GAAK,IACAA,EAAI8E,GACXiP,EAAE/T,IAAMgU,EAAEhU,GAEZ,OAAO+T,CACT,C,WCHArW,EAAOC,QAAU,CACfyqD,KALF,SAAe1mD,GACb,OAAO,IAAIgd,SAAS2pC,GAAYvH,WAAWuH,EAAS3mD,IACtD,E,iBCFA,IAAIksB,EAAS,EAAQ,KAEjB06B,EAAiB,SAAUjoD,GAC7B,OAAOA,EAAIR,QACX,KAAK,EACH,OAAOQ,EAAI,GAAK,IAAMA,EAAI,GAAK,IAAMA,EAAI,GAAK,IAAMA,EAAI,GAAK,IAAMA,EAAImnD,aAAa,GAEtF,KAAK,GAEH,IADA,IAAIe,EAAY,GACRvoD,EAAI,EAAGA,EAAI,EAAGA,IACpBuoD,EAAUr9C,KAAK7K,EAAImnD,aAAiB,EAAJxnD,GAAOxC,SAAS,KAGlD,MAAO,IADIowB,EAAO0B,MAAMi5B,EAAUxpD,KAAK,MAAMvB,WACzB,KAAO6C,EAAImnD,aAAa,IAC9C,QACE,MAAM,IAAIzrD,MAAM,4DAEpB,EAEAusD,EAAeE,MAAQ,SAAUnoD,GAC/B,GAAGA,EAAIR,OAAS,GAAM,EACpB,MAAM,IAAI9D,MAAM,2DAGlB,IADA,IAAI8tB,EAAS,GACJ7pB,EAAI,EAAGA,GAAKK,EAAIR,OAAS,EAAGG,GAAQ,EAC3C6pB,EAAO3e,KAAKo9C,EAAejoD,EAAIY,MAAMjB,EAAGA,EAAI,KAG9C,OAAO6pB,CACT,EAEAy+B,EAAeG,OAAS,SAAUpoD,GAChC,GAAGA,EAAIR,OAAS,IAAO,EACrB,MAAM,IAAI9D,MAAM,6DAGlB,IADA,IAAI8tB,EAAS,GACJ7pB,EAAI,EAAGA,GAAKK,EAAIR,OAAS,EAAGG,GAAQ,GAC3C6pB,EAAO3e,KAAKo9C,EAAejoD,EAAIY,MAAMjB,EAAGA,EAAI,MAG9C,OAAO6pB,CACT,EAEAnsB,EAAOC,QAAU2qD,C,iBC3CjB,IAAItqD,EAAYL,EAGhBK,EAAU0qD,SAAW,SAAiB3jD,GACpC,IAAIxF,EAAM,CAAC,EAWX,OATA9C,OAAOC,KAAKqI,GAAKpI,SAAQ,SAASC,IAErB,EAANA,IAAYA,IACfA,GAAY,GAEd,IAAIgG,EAAQmC,EAAInI,GAChB2C,EAAIqD,GAAShG,CACf,IAEO2C,CACT,EAEAvB,EAAUD,IAAM,EAAQ,K,iBChBxB,MAAMkK,EAAO,EAAQ,KACf0gD,EAAe1gD,EACf2gD,EAAe,EAAQ,MAG7BjrD,EAAQkrD,gBAAkB,EAA1B,sBAGA,MAAMrK,EAAS,EAAQ,MACvB7gD,EAAQmrD,QAAUtK,EAAO5iB,QAAQ36B,QAAQm5B,OAGzCz8B,EAAQohD,gBAAkB,EAA1B,sBAGA,MAAMgK,EAAS,EAAQ,MACvBprD,EAAQuhD,eAAiB6J,EAAO7J,eAChCvhD,EAAQqhD,aAAe+J,EAAO/J,aAG9B,MAAMgK,EAAQ,EAAQ,MAChBC,EAAQtrD,EAAQsrD,MAAQD,EAAMC,MACpCtrD,EAAQurD,YAAcF,EAAME,YAE5B,MAAMC,EAAS,EAAQ,MACjBC,EAAgBzrD,EAAQyrD,cAAgBD,EAAOC,cAErDzrD,EAAQ0rD,QAAU,SAAS3gD,EAASyD,GAClC,OAAO,IAAIi9C,EAAc1gD,EAASyD,EACpC,EAEAxO,EAAQmO,IAAM,SAASpD,EAASyD,GAC9B,IAAIgzC,EAAMxhD,EAAQ0rD,QAAQ3gD,EAASyD,GAEnC,OADAgzC,EAAI9hD,MACG8hD,CACT,EAEAxhD,EAAQinD,oBAAsBmE,EAAOnE,oBACrC,MAAM9E,EAASniD,EAAQmiD,OAASiJ,EAAOjJ,OASvC,SAASwJ,EAAOC,EAAMC,GACpB,KAAM3tD,gBAAgBytD,GAAS,OAAO,IAAIA,EAAOC,EAAMC,GACvDZ,EAAahtD,KAAKC,MAElB2tD,EAAOA,GAAQ,YACfD,EAAOA,GAAQ,GACf1tD,KAAK2tD,KAAOA,EACZ3tD,KAAK0tD,KAAOA,EACZ1tD,KAAKmtD,MAAQ,IAAIC,EAAM,CAAEO,KAAMA,EAAMD,KAAMA,EAAME,WAAY,GAC/D,CAhBA9rD,EAAQ+rD,aAAe,SAAS3J,GAC9B,OAAO,IAAID,EAAOC,EACpB,EAeA93C,EAAK5M,SAASiuD,EAAQV,GACtBU,EAAOvsD,UAAUssD,QAAU,SAASv4C,EAAQ+sB,EAAM4hB,GAChD,IAAI13C,EAAOlM,KACP6M,EAAU,CAAC,EACfA,EAAQ8gD,KAAOzhD,EAAKyhD,KACpB9gD,EAAQ6gD,KAAOxhD,EAAKwhD,KACF,MAAdz4C,EAAO,KACT2uC,EAAU5hB,EACVA,EAAO/sB,EACPA,EAAS,OAEXpI,EAAQoI,OAASA,EACjBpI,EAAQm1B,KAAOA,EACfn1B,EAAQ+2C,QAAUA,EAClB/2C,EAAQsgD,MAAQjhD,EAAKihD,MACrB,IAAIx7C,EAAI,IAAI47C,EAAc1gD,GAiB1B,OAhBA8E,EAAEsC,GAAG,SAAS,SAASiD,GACrBhL,EAAKuD,KAAK,QAASyH,EACrB,IAIAvF,EAAEsC,GAAG,UAAU,SAASwD,GACtBA,EAAExD,GAAG,OAAO,WACV,GAAI/H,EAAK4hD,SAAU,CACjB,IAAIz8C,EAAMnF,EAAK4hD,SAAStsD,MACpB6P,GACFnF,EAAKuD,KAAK,OAAQ4B,EACtB,CACAnF,EAAKuD,KAAK,MACZ,GACF,IACOkC,CACT,EAEA7P,EAAQ2rD,OAASX,EAAarhC,UAAUgiC,EAAQ,8BAEhD3rD,EAAQisD,aAAejB,EAAarhC,WAAU,SAASiiC,EAAMC,GAC3D,OAAO,IAAIF,EAAOC,EAAMC,EAC1B,GAAG,6D,iBChGH,IAAIl4C,EAAS,EAAQ,MACjBjW,EAAW,EAAQ,MAEnBgW,EAAQ,EAAQ,MAChBxK,EAAS,EAAQ,MAErB,SAASgjD,IACPhuD,KAAK23C,IAAM,IAAIzyC,MAAM,GACrBlF,KAAKa,KAAO,IACd,CAEA,SAASuJ,EAAIyC,GACX7B,EAAOjL,KAAKC,KAAM6M,GAElB,IAAIxF,EAAQ,IAAI2mD,EAChBhuD,KAAKiuD,UAAY5mD,EAEjBrH,KAAKkuD,WAAW7mD,EAAOwF,EAAQ9L,IACjC,CACAvB,EAAS4K,EAAKY,GACdnJ,EAAOC,QAAUsI,EAEjBA,EAAIiC,OAAS,SAAgBQ,GAC3B,OAAO,IAAIzC,EAAIyC,EACjB,EAEA,IAAIshD,EAAa,CACf,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EACrB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAGvB/jD,EAAIlJ,UAAUgtD,WAAa,SAAoB7mD,EAAOtG,GACpDsG,EAAMxG,KAAO,IAAIqE,MAAM,IAEvBuQ,EAAOqrB,MAAM//B,EAAIiD,OAAQhE,KAAKse,UAAW,sBAEzC,IAAI8vC,EAAK54C,EAAMoQ,aAAa7kB,EAAK,GAC7BstD,EAAK74C,EAAMoQ,aAAa7kB,EAAK,GAEjCyU,EAAM84C,IAAIF,EAAIC,EAAIhnD,EAAMswC,IAAK,GAC7ByW,EAAK/mD,EAAMswC,IAAI,GACf0W,EAAKhnD,EAAMswC,IAAI,GACf,IAAK,IAAIxzC,EAAI,EAAGA,EAAIkD,EAAMxG,KAAKmD,OAAQG,GAAK,EAAG,CAC7C,IAAImN,EAAQ68C,EAAWhqD,IAAM,GAC7BiqD,EAAK54C,EAAM+4C,OAAOH,EAAI98C,GACtB+8C,EAAK74C,EAAM+4C,OAAOF,EAAI/8C,GACtBkE,EAAMg5C,IAAIJ,EAAIC,EAAIhnD,EAAMxG,KAAMsD,EAChC,CACF,EAEAiG,EAAIlJ,UAAU8d,QAAU,SAAiByvC,EAAKC,EAAO9nD,EAAK+nD,GACxD,IAAItnD,EAAQrH,KAAKiuD,UAEb17C,EAAIiD,EAAMoQ,aAAa6oC,EAAKC,GAC5B5oB,EAAItwB,EAAMoQ,aAAa6oC,EAAKC,EAAQ,GAGxCl5C,EAAMo5C,GAAGr8C,EAAGuzB,EAAGz+B,EAAMswC,IAAK,GAC1BplC,EAAIlL,EAAMswC,IAAI,GACd7R,EAAIz+B,EAAMswC,IAAI,GAEI,YAAd33C,KAAK+J,KACP/J,KAAK6uD,SAASxnD,EAAOkL,EAAGuzB,EAAGz+B,EAAMswC,IAAK,GAEtC33C,KAAKg3B,SAAS3vB,EAAOkL,EAAGuzB,EAAGz+B,EAAMswC,IAAK,GAExCplC,EAAIlL,EAAMswC,IAAI,GACd7R,EAAIz+B,EAAMswC,IAAI,GAEdniC,EAAM2J,cAAcvY,EAAK2L,EAAGo8C,GAC5Bn5C,EAAM2J,cAAcvY,EAAKk/B,EAAG6oB,EAAS,EACvC,EAEAvkD,EAAIlJ,UAAU4tD,KAAO,SAActhD,EAAQqrB,GACzC,IAAqB,IAAjB74B,KAAKynC,QACP,OAAO,EAIT,IADA,IAAI1gC,EAAQyG,EAAOxJ,OAAS60B,EACnB10B,EAAI00B,EAAK10B,EAAIqJ,EAAOxJ,OAAQG,IACnCqJ,EAAOrJ,GAAK4C,EAEd,OAAO,CACT,EAEAqD,EAAIlJ,UAAU6tD,OAAS,SAAgBvhD,GACrC,IAAqB,IAAjBxN,KAAKynC,QACP,OAAOj6B,EAIT,IADA,IAAIwhB,EAAMxhB,EAAOA,EAAOxJ,OAAS,GACxBG,EAAIqJ,EAAOxJ,OAASgrB,EAAK7qB,EAAIqJ,EAAOxJ,OAAQG,IACnDsR,EAAOqrB,MAAMtzB,EAAOrJ,GAAI6qB,GAE1B,OAAOxhB,EAAOpI,MAAM,EAAGoI,EAAOxJ,OAASgrB,EACzC,EAEA5kB,EAAIlJ,UAAU2tD,SAAW,SAAkBxnD,EAAO2nD,EAAQC,EAAQroD,EAAKiyB,GAKrE,IAJA,IAAItmB,EAAIy8C,EACJlpB,EAAImpB,EAGC9qD,EAAI,EAAGA,EAAIkD,EAAMxG,KAAKmD,OAAQG,GAAK,EAAG,CAC7C,IAAI+qD,EAAO7nD,EAAMxG,KAAKsD,GAClBgrD,EAAO9nD,EAAMxG,KAAKsD,EAAI,GAG1BqR,EAAM45C,OAAOtpB,EAAGz+B,EAAMswC,IAAK,GAE3BuX,GAAQ7nD,EAAMswC,IAAI,GAClBwX,GAAQ9nD,EAAMswC,IAAI,GAClB,IAAIlgC,EAAIjC,EAAM65C,WAAWH,EAAMC,GAG3BvxC,EAAIkoB,EACRA,GAAKvzB,EAHGiD,EAAM+6B,QAAQ94B,MAGN,EAChBlF,EAAIqL,CACN,CAGApI,EAAM85C,IAAIxpB,EAAGvzB,EAAG3L,EAAKiyB,EACvB,EAEAzuB,EAAIlJ,UAAU81B,SAAW,SAAkB3vB,EAAO2nD,EAAQC,EAAQroD,EAAKiyB,GAKrE,IAJA,IAAItmB,EAAI08C,EACJnpB,EAAIkpB,EAGC7qD,EAAIkD,EAAMxG,KAAKmD,OAAS,EAAGG,GAAK,EAAGA,GAAK,EAAG,CAClD,IAAI+qD,EAAO7nD,EAAMxG,KAAKsD,GAClBgrD,EAAO9nD,EAAMxG,KAAKsD,EAAI,GAG1BqR,EAAM45C,OAAO78C,EAAGlL,EAAMswC,IAAK,GAE3BuX,GAAQ7nD,EAAMswC,IAAI,GAClBwX,GAAQ9nD,EAAMswC,IAAI,GAClB,IAAIlgC,EAAIjC,EAAM65C,WAAWH,EAAMC,GAG3BvxC,EAAIrL,EACRA,GAAKuzB,EAHGtwB,EAAM+6B,QAAQ94B,MAGN,EAChBquB,EAAIloB,CACN,CAGApI,EAAM85C,IAAI/8C,EAAGuzB,EAAGl/B,EAAKiyB,EACvB,C,WCrJA,IAAIl3B,EAAW,CAAC,EAAEA,SAElBE,EAAOC,QAAUoD,MAAMC,SAAW,SAAUy3C,GAC1C,MAA6B,kBAAtBj7C,EAAS5B,KAAK68C,EACvB,C,iBCJA,IAAIa,EAAK,EAAQ,MACb8R,EAAU,EAAQ,MAEtB,SAASC,EAAYC,GACnBzvD,KAAKyvD,KAAOA,GAAQ,IAAIF,EAAQG,IAClC,CACA7tD,EAAOC,QAAU0tD,EAEjBA,EAAYnjD,OAAS,SAAgBojD,GACnC,OAAO,IAAID,EAAYC,EACzB,EAEAD,EAAYtuD,UAAUyuD,WAAa,SAAoBh/C,GACrD,IAAI1H,EAAM0H,EAAE83B,YACRmnB,EAAYtiD,KAAK8qB,KAAKnvB,EAAM,GAIhC,GACE,IAAIiP,EAAI,IAAIulC,EAAGz9C,KAAKyvD,KAAKI,SAASD,UAC7B13C,EAAEmE,IAAI1L,IAAM,GAEnB,OAAOuH,CACT,EAEAs3C,EAAYtuD,UAAU4uD,WAAa,SAAoB9lD,EAAOipB,GAE5D,IAAIztB,EAAOytB,EAAKwX,IAAIzgC,GACpB,OAAOA,EAAMqT,IAAIrd,KAAK2vD,WAAWnqD,GACnC,EAEAgqD,EAAYtuD,UAAU2D,KAAO,SAAc8L,EAAGgN,EAAGrN,GAC/C,IAAIrH,EAAM0H,EAAE83B,YACRvtB,EAAMuiC,EAAGz0B,KAAKrY,GACdo/C,EAAO,IAAItS,EAAG,GAAGxiC,MAAMC,GAEtByC,IACHA,EAAIrQ,KAAK4S,IAAI,EAAIjX,EAAM,GAAM,IAI/B,IADA,IAAI+mD,EAAKr/C,EAAEijC,KAAK,GACPn8B,EAAI,GAAIu4C,EAAG/mB,MAAMxxB,GAAIA,KAM9B,IALA,IAAID,EAAI7G,EAAE2iC,KAAK77B,GAEXw4C,EAAMD,EAAG/0C,MAAMC,GAGZyC,EAAI,EAAGA,IAAK,CACjB,IAAIzF,EAAIlY,KAAK8vD,WAAW,IAAIrS,EAAG,GAAIuS,GAC/B1/C,GACFA,EAAG4H,GAEL,IAAI5F,EAAI4F,EAAE+C,MAAMC,GAAKk8B,OAAO5/B,GAC5B,GAAoB,IAAhBlF,EAAE+J,IAAI0zC,IAA8B,IAAfz9C,EAAE+J,IAAI4zC,GAA/B,CAGA,IAAK,IAAI9rD,EAAI,EAAGA,EAAIsT,EAAGtT,IAAK,CAG1B,GAAoB,KAFpBmO,EAAIA,EAAE4J,UAEAG,IAAI0zC,GACR,OAAO,EACT,GAAmB,IAAfz9C,EAAE+J,IAAI4zC,GACR,KACJ,CAEA,GAAI9rD,IAAMsT,EACR,OAAO,CAZC,CAaZ,CAEA,OAvBY,CAwBd,EAEA+3C,EAAYtuD,UAAUgvD,WAAa,SAAoBv/C,EAAGgN,GACxD,IAAI1U,EAAM0H,EAAE83B,YACRvtB,EAAMuiC,EAAGz0B,KAAKrY,GACdo/C,EAAO,IAAItS,EAAG,GAAGxiC,MAAMC,GAEtByC,IACHA,EAAIrQ,KAAK4S,IAAI,EAAIjX,EAAM,GAAM,IAI/B,IADA,IAAI+mD,EAAKr/C,EAAEijC,KAAK,GACPn8B,EAAI,GAAIu4C,EAAG/mB,MAAMxxB,GAAIA,KAK9B,IAJA,IAAID,EAAI7G,EAAE2iC,KAAK77B,GAEXw4C,EAAMD,EAAG/0C,MAAMC,GAEZyC,EAAI,EAAGA,IAAK,CACjB,IAAIzF,EAAIlY,KAAK8vD,WAAW,IAAIrS,EAAG,GAAIuS,GAE/B/mC,EAAItY,EAAE4kC,IAAIr9B,GACd,GAAkB,IAAd+Q,EAAEnM,KAAK,GACT,OAAOmM,EAET,IAAI3W,EAAI4F,EAAE+C,MAAMC,GAAKk8B,OAAO5/B,GAC5B,GAAoB,IAAhBlF,EAAE+J,IAAI0zC,IAA8B,IAAfz9C,EAAE+J,IAAI4zC,GAA/B,CAGA,IAAK,IAAI9rD,EAAI,EAAGA,EAAIsT,EAAGtT,IAAK,CAG1B,GAAoB,KAFpBmO,EAAIA,EAAE4J,UAEAG,IAAI0zC,GACR,OAAOz9C,EAAEuK,UAAU+2B,KAAK,GAAG2B,IAAI5kC,GACjC,GAAmB,IAAf2B,EAAE+J,IAAI4zC,GACR,KACJ,CAEA,GAAI9rD,IAAMsT,EAER,OADAnF,EAAIA,EAAE4J,UACGW,UAAU+2B,KAAK,GAAG2B,IAAI5kC,EAbvB,CAeZ,CAEA,OAAO,CACT,C,iBChHA,IAAIiZ,EAAe,EAAQ,KACvBC,EAAY,EAAQ,MACpB5P,EAAU,EAAQ,MAClBkjB,EAAoB,EAAQ,KAE5Bnd,EAAa,EAAQ,MACrBmwC,EAAWvmC,EAAa,aAAa,GAGrCwmC,EAAcvmC,EAAU,yBAAyB,GAEjDwmC,EAAcxmC,EAAU,yBAAyB,GAEjDymC,EAAczmC,EAAU,yBAAyB,GAEjD0mC,EAAiB1mC,EAAU,4BAA4B,GAG3DhoB,EAAOC,QAAUquD,EAC6B,WAKM,IAAIK,EACfpmC,EAGnCC,EAAU,CACb5U,OAAQ,SAAU1U,GACjB,IAAKspB,EAAQC,IAAIvpB,GAChB,MAAM,IAAIif,EAAW,iCAAmC/F,EAAQlZ,GAElE,EACA,OAAU,SAAUA,GACnB,GAAIovD,GAAYpvD,IAAuB,iBAARA,GAAmC,mBAARA,IACzD,GAAIyvD,EACH,OAAOD,EAAeC,EAAKzvD,QAEtB,GAAIo8B,GACN/S,EACH,OAAOA,EAAW,OAAErpB,GAGtB,OAAO,CACR,EACAkP,IAAK,SAAUlP,GACd,OAAIovD,GAAYpvD,IAAuB,iBAARA,GAAmC,mBAARA,IACrDyvD,EACIJ,EAAYI,EAAKzvD,GAGnBqpB,GAAMA,EAAGna,IAAIlP,EACrB,EACAupB,IAAK,SAAUvpB,GACd,OAAIovD,GAAYpvD,IAAuB,iBAARA,GAAmC,mBAARA,IACrDyvD,EACIF,EAAYE,EAAKzvD,KAGjBqpB,GAAMA,EAAGE,IAAIvpB,EACvB,EACAmP,IAAK,SAAUnP,EAAKgG,GACfopD,GAAYpvD,IAAuB,iBAARA,GAAmC,mBAARA,IACpDyvD,IACJA,EAAM,IAAIL,GAEXE,EAAYG,EAAKzvD,EAAKgG,IACZo2B,IACL/S,IACJA,EAAK+S,KAGgC,EAAKjtB,IAAInP,EAAKgG,GAEtD,GAID,OAAOsjB,CACR,EACE8S,C,iBCjFH,IAAI3nB,EAAQ,EAAQ,MAChBmtC,EAAS,EAAQ,MACjB8N,EAAY,EAAQ,MACpBh7C,EAAS,EAAQ,MAEjBi7C,EAAQl7C,EAAMk7C,MACdC,EAAUn7C,EAAMm7C,QAChBC,EAAUp7C,EAAMo7C,QAChBC,EAAOJ,EAAUI,KACjBC,EAAQL,EAAUK,MAClBC,EAASN,EAAUM,OACnBC,EAASP,EAAUO,OACnBC,EAASR,EAAUQ,OACnBC,EAAST,EAAUS,OAEnBC,EAAYxO,EAAOwO,UAEnBC,EAAW,CACb,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,UAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,UACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,UACpC,UAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,UAAY,UAAY,UAAY,UACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,YAGtC,SAASC,IACP,KAAMrxD,gBAAgBqxD,GACpB,OAAO,IAAIA,EAEbF,EAAUpxD,KAAKC,MACfA,KAAKwpB,EAAI,CACP,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,YAEtCxpB,KAAK2d,EAAIyzC,EACTpxD,KAAKsxD,EAAI,IAAIpsD,MAAM,GACrB,CACAsQ,EAAMhW,SAAS6xD,EAAQF,GACvBtvD,EAAOC,QAAUuvD,EAEjBA,EAAO/yC,UAAY,IACnB+yC,EAAO7G,QAAU,IACjB6G,EAAO5G,aAAe,IACtB4G,EAAO3G,UAAY,GAEnB2G,EAAOnwD,UAAU8d,QAAU,SAAiBvV,EAAKO,GAG/C,IAFA,IAAIsnD,EAAItxD,KAAKsxD,EAEJntD,EAAI,EAAGA,EAAI,GAAIA,IACtBmtD,EAAEntD,GAAKsF,EAAIO,EAAQ7F,GACrB,KAAOA,EAAImtD,EAAEttD,OAAQG,IACnBmtD,EAAEntD,GAAKwsD,EAAQO,EAAOI,EAAEntD,EAAI,IAAKmtD,EAAEntD,EAAI,GAAI8sD,EAAOK,EAAEntD,EAAI,KAAMmtD,EAAEntD,EAAI,KAEtE,IAAI+T,EAAIlY,KAAKwpB,EAAE,GACXrR,EAAInY,KAAKwpB,EAAE,GACX7X,EAAI3R,KAAKwpB,EAAE,GACXhS,EAAIxX,KAAKwpB,EAAE,GACXtS,EAAIlX,KAAKwpB,EAAE,GACX2B,EAAInrB,KAAKwpB,EAAE,GACXP,EAAIjpB,KAAKwpB,EAAE,GACXA,EAAIxpB,KAAKwpB,EAAE,GAGf,IADA/T,EAAOzV,KAAK2d,EAAE3Z,SAAWstD,EAAEttD,QACtBG,EAAI,EAAGA,EAAImtD,EAAEttD,OAAQG,IAAK,CAC7B,IAAIotD,EAAKX,EAAQpnC,EAAGwnC,EAAO95C,GAAI25C,EAAK35C,EAAGiU,EAAGlC,GAAIjpB,KAAK2d,EAAExZ,GAAImtD,EAAEntD,IACvDqtD,EAAKd,EAAMK,EAAO74C,GAAI44C,EAAM54C,EAAGC,EAAGxG,IACtC6X,EAAIP,EACJA,EAAIkC,EACJA,EAAIjU,EACJA,EAAIw5C,EAAMl5C,EAAG+5C,GACb/5C,EAAI7F,EACJA,EAAIwG,EACJA,EAAID,EACJA,EAAIw4C,EAAMa,EAAIC,EAChB,CAEAxxD,KAAKwpB,EAAE,GAAKknC,EAAM1wD,KAAKwpB,EAAE,GAAItR,GAC7BlY,KAAKwpB,EAAE,GAAKknC,EAAM1wD,KAAKwpB,EAAE,GAAIrR,GAC7BnY,KAAKwpB,EAAE,GAAKknC,EAAM1wD,KAAKwpB,EAAE,GAAI7X,GAC7B3R,KAAKwpB,EAAE,GAAKknC,EAAM1wD,KAAKwpB,EAAE,GAAIhS,GAC7BxX,KAAKwpB,EAAE,GAAKknC,EAAM1wD,KAAKwpB,EAAE,GAAItS,GAC7BlX,KAAKwpB,EAAE,GAAKknC,EAAM1wD,KAAKwpB,EAAE,GAAI2B,GAC7BnrB,KAAKwpB,EAAE,GAAKknC,EAAM1wD,KAAKwpB,EAAE,GAAIP,GAC7BjpB,KAAKwpB,EAAE,GAAKknC,EAAM1wD,KAAKwpB,EAAE,GAAIA,EAC/B,EAEA6nC,EAAOnwD,UAAUypD,QAAU,SAAgBppD,GACzC,MAAY,QAARA,EACKiU,EAAMo1C,QAAQ5qD,KAAKwpB,EAAG,OAEtBhU,EAAMq1C,QAAQ7qD,KAAKwpB,EAAG,MACjC,C,wBCxGA,SAAW3nB,EAAQC,GAIjB,SAAS2T,EAAQ+X,EAAK/jB,GACpB,IAAK+jB,EAAK,MAAM,IAAIttB,MAAMuJ,GAAO,mBACnC,CAIA,SAASjK,EAAU0lC,EAAMC,GACvBD,EAAKE,OAASD,EACd,IAAIE,EAAW,WAAa,EAC5BA,EAASnkC,UAAYikC,EAAUjkC,UAC/BgkC,EAAKhkC,UAAY,IAAImkC,EACrBH,EAAKhkC,UAAUsH,YAAc08B,CAC/B,CAIA,SAAS3vB,EAAIyP,EAAQ/iB,EAAMqjC,GACzB,GAAI/vB,EAAGgwB,KAAKvgB,GACV,OAAOA,EAGThlB,KAAKwlC,SAAW,EAChBxlC,KAAKylC,MAAQ,KACbzlC,KAAKgE,OAAS,EAGdhE,KAAKkb,IAAM,KAEI,OAAX8J,IACW,OAAT/iB,GAA0B,OAATA,IACnBqjC,EAASrjC,EACTA,EAAO,IAGTjC,KAAKyC,MAAMuiB,GAAU,EAAG/iB,GAAQ,GAAIqjC,GAAU,MAElD,CAUA,IAAIjmC,EATkB,iBAAXwC,EACTA,EAAOC,QAAUyT,EAEjBzT,EAAQyT,GAAKA,EAGfA,EAAGA,GAAKA,EACRA,EAAGmwB,SAAW,GAGd,IAEIrmC,EADoB,oBAAX4M,aAAmD,IAAlBA,OAAO5M,OACxC4M,OAAO5M,OAEP,cAEb,CAAE,MAAO6X,GACT,CA+HA,SAASyuB,EAAehhB,EAAQhQ,GAC9B,IAAIhD,EAAIgT,EAAOjgB,WAAWiQ,GAE1B,OAAIhD,GAAK,IAAMA,GAAK,GACXA,EAAI,GAEFA,GAAK,IAAMA,GAAK,IAClBA,EAAI,GAGHA,EAAI,GAAM,EAEtB,CAEA,SAASi0B,EAAcjhB,EAAQkhB,EAAYlxB,GACzC,IAAImxB,EAAIH,EAAchhB,EAAQhQ,GAI9B,OAHIA,EAAQ,GAAKkxB,IACfC,GAAKH,EAAchhB,EAAQhQ,EAAQ,IAAM,GAEpCmxB,CACT,CA6CA,SAASC,EAAWzhC,EAAK0F,EAAOxI,EAAKkc,GAGnC,IAFA,IAAIooB,EAAI,EACJ78B,EAAMqE,KAAK8K,IAAI9T,EAAIN,OAAQxC,GACtB2C,EAAI6F,EAAO7F,EAAI8E,EAAK9E,IAAK,CAChC,IAAIwN,EAAIrN,EAAII,WAAWP,GAAK,GAE5B2hC,GAAKpoB,EAIHooB,GADEn0B,GAAK,GACFA,EAAI,GAAK,GAGLA,GAAK,GACTA,EAAI,GAAK,GAITA,CAET,CACA,OAAOm0B,CACT,CApNAvwB,EAAGgwB,KAAO,SAAeziC,GACvB,OAAIA,aAAeyS,GAIJ,OAARzS,GAA+B,iBAARA,GAC5BA,EAAI0F,YAAYk9B,WAAanwB,EAAGmwB,UAAYxgC,MAAMC,QAAQrC,EAAI2iC,MAClE,EAEAlwB,EAAG2K,IAAM,SAAc8lB,EAAMC,GAC3B,OAAID,EAAK3pB,IAAI4pB,GAAS,EAAUD,EACzBC,CACT,EAEA1wB,EAAG6C,IAAM,SAAc4tB,EAAMC,GAC3B,OAAID,EAAK3pB,IAAI4pB,GAAS,EAAUD,EACzBC,CACT,EAEA1wB,EAAGrU,UAAUuB,MAAQ,SAAeuiB,EAAQ/iB,EAAMqjC,GAChD,GAAsB,iBAAXtgB,EACT,OAAOhlB,KAAKkmC,YAAYlhB,EAAQ/iB,EAAMqjC,GAGxC,GAAsB,iBAAXtgB,EACT,OAAOhlB,KAAKmmC,WAAWnhB,EAAQ/iB,EAAMqjC,GAG1B,QAATrjC,IACFA,EAAO,IAETwT,EAAOxT,KAAiB,EAAPA,IAAaA,GAAQ,GAAKA,GAAQ,IAGnD,IAAI+H,EAAQ,EACM,OAFlBgb,EAASA,EAAOrjB,WAAWgI,QAAQ,OAAQ,KAEhC,KACTK,IACAhK,KAAKwlC,SAAW,GAGdx7B,EAAQgb,EAAOhhB,SACJ,KAAT/B,EACFjC,KAAKomC,UAAUphB,EAAQhb,EAAOs7B,IAE9BtlC,KAAKqmC,WAAWrhB,EAAQ/iB,EAAM+H,GACf,OAAXs7B,GACFtlC,KAAKmmC,WAAWnmC,KAAK0G,UAAWzE,EAAMqjC,IAI9C,EAEA/vB,EAAGrU,UAAUglC,YAAc,SAAsBlhB,EAAQ/iB,EAAMqjC,GACzDtgB,EAAS,IACXhlB,KAAKwlC,SAAW,EAChBxgB,GAAUA,GAERA,EAAS,UACXhlB,KAAKylC,MAAQ,CAAW,SAATzgB,GACfhlB,KAAKgE,OAAS,GACLghB,EAAS,kBAClBhlB,KAAKylC,MAAQ,CACF,SAATzgB,EACCA,EAAS,SAAa,UAEzBhlB,KAAKgE,OAAS,IAEdyR,EAAOuP,EAAS,kBAChBhlB,KAAKylC,MAAQ,CACF,SAATzgB,EACCA,EAAS,SAAa,SACvB,GAEFhlB,KAAKgE,OAAS,GAGD,OAAXshC,GAGJtlC,KAAKmmC,WAAWnmC,KAAK0G,UAAWzE,EAAMqjC,EACxC,EAEA/vB,EAAGrU,UAAUilC,WAAa,SAAqBnhB,EAAQ/iB,EAAMqjC,GAG3D,GADA7vB,EAAgC,iBAAlBuP,EAAOhhB,QACjBghB,EAAOhhB,QAAU,EAGnB,OAFAhE,KAAKylC,MAAQ,CAAE,GACfzlC,KAAKgE,OAAS,EACPhE,KAGTA,KAAKgE,OAASsJ,KAAK8qB,KAAKpT,EAAOhhB,OAAS,GACxChE,KAAKylC,MAAQ,IAAIvgC,MAAMlF,KAAKgE,QAC5B,IAAK,IAAIG,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAC/BnE,KAAKylC,MAAMthC,GAAK,EAGlB,IAAIC,EAAGkiC,EACHzN,EAAM,EACV,GAAe,OAAXyM,EACF,IAAKnhC,EAAI6gB,EAAOhhB,OAAS,EAAGI,EAAI,EAAGD,GAAK,EAAGA,GAAK,EAC9CmiC,EAAIthB,EAAO7gB,GAAM6gB,EAAO7gB,EAAI,IAAM,EAAM6gB,EAAO7gB,EAAI,IAAM,GACzDnE,KAAKylC,MAAMrhC,IAAOkiC,GAAKzN,EAAO,SAC9B74B,KAAKylC,MAAMrhC,EAAI,GAAMkiC,IAAO,GAAKzN,EAAQ,UACzCA,GAAO,KACI,KACTA,GAAO,GACPz0B,UAGC,GAAe,OAAXkhC,EACT,IAAKnhC,EAAI,EAAGC,EAAI,EAAGD,EAAI6gB,EAAOhhB,OAAQG,GAAK,EACzCmiC,EAAIthB,EAAO7gB,GAAM6gB,EAAO7gB,EAAI,IAAM,EAAM6gB,EAAO7gB,EAAI,IAAM,GACzDnE,KAAKylC,MAAMrhC,IAAOkiC,GAAKzN,EAAO,SAC9B74B,KAAKylC,MAAMrhC,EAAI,GAAMkiC,IAAO,GAAKzN,EAAQ,UACzCA,GAAO,KACI,KACTA,GAAO,GACPz0B,KAIN,OAAOpE,KAAKumC,OACd,EAwBAhxB,EAAGrU,UAAUklC,UAAY,SAAoBphB,EAAQhb,EAAOs7B,GAE1DtlC,KAAKgE,OAASsJ,KAAK8qB,MAAMpT,EAAOhhB,OAASgG,GAAS,GAClDhK,KAAKylC,MAAQ,IAAIvgC,MAAMlF,KAAKgE,QAC5B,IAAK,IAAIG,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAC/BnE,KAAKylC,MAAMthC,GAAK,EAIlB,IAGImiC,EAHAzN,EAAM,EACNz0B,EAAI,EAGR,GAAe,OAAXkhC,EACF,IAAKnhC,EAAI6gB,EAAOhhB,OAAS,EAAGG,GAAK6F,EAAO7F,GAAK,EAC3CmiC,EAAIV,EAAa5gB,EAAQhb,EAAO7F,IAAM00B,EACtC74B,KAAKylC,MAAMrhC,IAAU,SAAJkiC,EACbzN,GAAO,IACTA,GAAO,GACPz0B,GAAK,EACLpE,KAAKylC,MAAMrhC,IAAMkiC,IAAM,IAEvBzN,GAAO,OAKX,IAAK10B,GADa6gB,EAAOhhB,OAASgG,GACX,GAAM,EAAIA,EAAQ,EAAIA,EAAO7F,EAAI6gB,EAAOhhB,OAAQG,GAAK,EAC1EmiC,EAAIV,EAAa5gB,EAAQhb,EAAO7F,IAAM00B,EACtC74B,KAAKylC,MAAMrhC,IAAU,SAAJkiC,EACbzN,GAAO,IACTA,GAAO,GACPz0B,GAAK,EACLpE,KAAKylC,MAAMrhC,IAAMkiC,IAAM,IAEvBzN,GAAO,EAKb74B,KAAKumC,OACP,EA0BAhxB,EAAGrU,UAAUmlC,WAAa,SAAqBrhB,EAAQ/iB,EAAM+H,GAE3DhK,KAAKylC,MAAQ,CAAE,GACfzlC,KAAKgE,OAAS,EAGd,IAAK,IAAIwiC,EAAU,EAAGC,EAAU,EAAGA,GAAW,SAAWA,GAAWxkC,EAClEukC,IAEFA,IACAC,EAAWA,EAAUxkC,EAAQ,EAO7B,IALA,IAAIykC,EAAQ1hB,EAAOhhB,OAASgG,EACxB28B,EAAMD,EAAQF,EACdhlC,EAAM8L,KAAK8K,IAAIsuB,EAAOA,EAAQC,GAAO38B,EAErC48B,EAAO,EACFziC,EAAI6F,EAAO7F,EAAI3C,EAAK2C,GAAKqiC,EAChCI,EAAOb,EAAU/gB,EAAQ7gB,EAAGA,EAAIqiC,EAASvkC,GAEzCjC,KAAK6mC,MAAMJ,GACPzmC,KAAKylC,MAAM,GAAKmB,EAAO,SACzB5mC,KAAKylC,MAAM,IAAMmB,EAEjB5mC,KAAK8mC,OAAOF,GAIhB,GAAY,IAARD,EAAW,CACb,IAAI/uB,EAAM,EAGV,IAFAgvB,EAAOb,EAAU/gB,EAAQ7gB,EAAG6gB,EAAOhhB,OAAQ/B,GAEtCkC,EAAI,EAAGA,EAAIwiC,EAAKxiC,IACnByT,GAAO3V,EAGTjC,KAAK6mC,MAAMjvB,GACP5X,KAAKylC,MAAM,GAAKmB,EAAO,SACzB5mC,KAAKylC,MAAM,IAAMmB,EAEjB5mC,KAAK8mC,OAAOF,EAEhB,CAEA5mC,KAAKumC,OACP,EAEAhxB,EAAGrU,UAAU2F,KAAO,SAAe+L,GACjCA,EAAK6yB,MAAQ,IAAIvgC,MAAMlF,KAAKgE,QAC5B,IAAK,IAAIG,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAC/ByO,EAAK6yB,MAAMthC,GAAKnE,KAAKylC,MAAMthC,GAE7ByO,EAAK5O,OAAShE,KAAKgE,OACnB4O,EAAK4yB,SAAWxlC,KAAKwlC,SACrB5yB,EAAKsI,IAAMlb,KAAKkb,GAClB,EAEA3F,EAAGrU,UAAU2c,MAAQ,WACnB,IAAIioB,EAAI,IAAIvwB,EAAG,MAEf,OADAvV,KAAK6G,KAAKi/B,GACHA,CACT,EAEAvwB,EAAGrU,UAAU6lC,QAAU,SAAkBvhC,GACvC,KAAOxF,KAAKgE,OAASwB,GACnBxF,KAAKylC,MAAMzlC,KAAKgE,UAAY,EAE9B,OAAOhE,IACT,EAGAuV,EAAGrU,UAAUqlC,MAAQ,WACnB,KAAOvmC,KAAKgE,OAAS,GAAqC,IAAhChE,KAAKylC,MAAMzlC,KAAKgE,OAAS,IACjDhE,KAAKgE,SAEP,OAAOhE,KAAKgnC,WACd,EAEAzxB,EAAGrU,UAAU8lC,UAAY,WAKvB,OAHoB,IAAhBhnC,KAAKgE,QAAkC,IAAlBhE,KAAKylC,MAAM,KAClCzlC,KAAKwlC,SAAW,GAEXxlC,IACT,EAEAuV,EAAGrU,UAAU+Y,QAAU,WACrB,OAAQja,KAAKkb,IAAM,UAAY,SAAWlb,KAAK2B,SAAS,IAAM,GAChE,EAgCA,IAAIwxB,EAAQ,CACV,GACA,IACA,KACA,MACA,OACA,QACA,SACA,UACA,WACA,YACA,aACA,cACA,eACA,gBACA,iBACA,kBACA,mBACA,oBACA,qBACA,sBACA,uBACA,wBACA,yBACA,0BACA,2BACA,6BAGE8T,EAAa,CACf,EAAG,EACH,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EACvB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAClB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAClB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAClB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAGhBC,EAAa,CACf,EAAG,EACH,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAC5D,SAAU,IAAU,SAAU,SAAU,SAAU,QAAS,SAC3D,SAAU,SAAU,SAAU,SAAU,KAAU,QAAS,QAC3D,QAAS,QAAS,QAAS,SAAU,SAAU,SAAU,SACzD,MAAU,SAAU,SAAU,SAAU,SAAU,SAAU,UAsjB9D,SAASC,EAAYj7B,EAAMpJ,EAAK8D,GAC9BA,EAAI4+B,SAAW1iC,EAAI0iC,SAAWt5B,EAAKs5B,SACnC,IAAIv8B,EAAOiD,EAAKlI,OAASlB,EAAIkB,OAAU,EACvC4C,EAAI5C,OAASiF,EACbA,EAAOA,EAAM,EAAK,EAGlB,IAAIiP,EAAoB,EAAhBhM,EAAKu5B,MAAM,GACfttB,EAAmB,EAAfrV,EAAI2iC,MAAM,GACdK,EAAI5tB,EAAIC,EAERivB,EAAS,SAAJtB,EACLuB,EAASvB,EAAI,SAAa,EAC9Bl/B,EAAI6+B,MAAM,GAAK2B,EAEf,IAAK,IAAIzpB,EAAI,EAAGA,EAAI1U,EAAK0U,IAAK,CAM5B,IAHA,IAAI2pB,EAASD,IAAU,GACnBE,EAAgB,SAARF,EACRG,EAAOl6B,KAAK8K,IAAIuF,EAAG7a,EAAIkB,OAAS,GAC3BI,EAAIkJ,KAAK4S,IAAI,EAAGvC,EAAIzR,EAAKlI,OAAS,GAAII,GAAKojC,EAAMpjC,IAAK,CAC7D,IAAID,EAAKwZ,EAAIvZ,EAAK,EAIlBkjC,IADAxB,GAFA5tB,EAAoB,EAAhBhM,EAAKu5B,MAAMthC,KACfgU,EAAmB,EAAfrV,EAAI2iC,MAAMrhC,IACFmjC,GACG,SAAa,EAC5BA,EAAY,SAAJzB,CACV,CACAl/B,EAAI6+B,MAAM9nB,GAAa,EAAR4pB,EACfF,EAAiB,EAATC,CACV,CAOA,OANc,IAAVD,EACFzgC,EAAI6+B,MAAM9nB,GAAa,EAAR0pB,EAEfzgC,EAAI5C,SAGC4C,EAAI2/B,OACb,CA1lBAhxB,EAAGrU,UAAUS,SAAW,SAAmBM,EAAMwlC,GAI/C,IAAI7gC,EACJ,GAHA6gC,EAAoB,EAAVA,GAAe,EAGZ,MAJbxlC,EAAOA,GAAQ,KAIa,QAATA,EAAgB,CACjC2E,EAAM,GAGN,IAFA,IAAIiyB,EAAM,EACNwO,EAAQ,EACHljC,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAAK,CACpC,IAAImiC,EAAItmC,KAAKylC,MAAMthC,GACfyiC,GAA+B,UAArBN,GAAKzN,EAAOwO,IAAmB1lC,SAAS,IACtD0lC,EAASf,IAAO,GAAKzN,EAAQ,UAC7BA,GAAO,IACI,KACTA,GAAO,GACP10B,KAGAyC,EADY,IAAVygC,GAAeljC,IAAMnE,KAAKgE,OAAS,EAC/BmvB,EAAM,EAAIyT,EAAK5iC,QAAU4iC,EAAOhgC,EAEhCggC,EAAOhgC,CAEjB,CAIA,IAHc,IAAVygC,IACFzgC,EAAMygC,EAAM1lC,SAAS,IAAMiF,GAEtBA,EAAI5C,OAASyjC,GAAY,GAC9B7gC,EAAM,IAAMA,EAKd,OAHsB,IAAlB5G,KAAKwlC,WACP5+B,EAAM,IAAMA,GAEPA,CACT,CAEA,GAAI3E,KAAiB,EAAPA,IAAaA,GAAQ,GAAKA,GAAQ,GAAI,CAElD,IAAIylC,EAAYT,EAAWhlC,GAEvB0lC,EAAYT,EAAWjlC,GAC3B2E,EAAM,GACN,IAAI+K,EAAI3R,KAAK6d,QAEb,IADAlM,EAAE6zB,SAAW,GACL7zB,EAAEi2B,UAAU,CAClB,IAAI9B,EAAIn0B,EAAEk2B,KAAKF,GAAWhmC,SAASM,GAMjC2E,GALF+K,EAAIA,EAAEm2B,MAAMH,IAELC,SAGC9B,EAAIl/B,EAFJusB,EAAMuU,EAAY5B,EAAE9hC,QAAU8hC,EAAIl/B,CAI5C,CAIA,IAHI5G,KAAK4nC,WACPhhC,EAAM,IAAMA,GAEPA,EAAI5C,OAASyjC,GAAY,GAC9B7gC,EAAM,IAAMA,EAKd,OAHsB,IAAlB5G,KAAKwlC,WACP5+B,EAAM,IAAMA,GAEPA,CACT,CAEA6O,GAAO,EAAO,kCAChB,EAEAF,EAAGrU,UAAU6mC,SAAW,WACtB,IAAI12B,EAAMrR,KAAKylC,MAAM,GASrB,OARoB,IAAhBzlC,KAAKgE,OACPqN,GAAuB,SAAhBrR,KAAKylC,MAAM,GACO,IAAhBzlC,KAAKgE,QAAkC,IAAlBhE,KAAKylC,MAAM,GAEzCp0B,GAAO,iBAAoC,SAAhBrR,KAAKylC,MAAM,GAC7BzlC,KAAKgE,OAAS,GACvByR,GAAO,EAAO,8CAEU,IAAlBzV,KAAKwlC,UAAmBn0B,EAAMA,CACxC,EAEAkE,EAAGrU,UAAU8mC,OAAS,WACpB,OAAOhoC,KAAK2B,SAAS,GACvB,EAEA4T,EAAGrU,UAAU02B,SAAW,SAAmB0N,EAAQthC,GAEjD,OADAyR,OAAyB,IAAXpW,GACPW,KAAKioC,YAAY5oC,EAAQimC,EAAQthC,EAC1C,EAEAuR,EAAGrU,UAAUwF,QAAU,SAAkB4+B,EAAQthC,GAC/C,OAAOhE,KAAKioC,YAAY/iC,MAAOogC,EAAQthC,EACzC,EAEAuR,EAAGrU,UAAU+mC,YAAc,SAAsBC,EAAW5C,EAAQthC,GAClE,IAAI2Y,EAAa3c,KAAK2c,aAClBwrB,EAAYnkC,GAAUsJ,KAAK4S,IAAI,EAAGvD,GACtClH,EAAOkH,GAAcwrB,EAAW,yCAChC1yB,EAAO0yB,EAAY,EAAG,+BAEtBnoC,KAAKumC,QACL,IAGIpuB,EAAGhU,EAHHikC,EAA0B,OAAX9C,EACf5hC,EAAM,IAAIwkC,EAAUC,GAGpBE,EAAIroC,KAAK6d,QACb,GAAKuqB,EAYE,CACL,IAAKjkC,EAAI,GAAIkkC,EAAET,SAAUzjC,IACvBgU,EAAIkwB,EAAErqB,MAAM,KACZqqB,EAAEtqB,OAAO,GAETra,EAAIS,GAAKgU,EAGX,KAAOhU,EAAIgkC,EAAWhkC,IACpBT,EAAIS,GAAK,CAEb,KAvBmB,CAEjB,IAAKA,EAAI,EAAGA,EAAIgkC,EAAYxrB,EAAYxY,IACtCT,EAAIS,GAAK,EAGX,IAAKA,EAAI,GAAIkkC,EAAET,SAAUzjC,IACvBgU,EAAIkwB,EAAErqB,MAAM,KACZqqB,EAAEtqB,OAAO,GAETra,EAAIykC,EAAYhkC,EAAI,GAAKgU,CAE7B,CAaA,OAAOzU,CACT,EAEI4J,KAAKg7B,MACP/yB,EAAGrU,UAAUqnC,WAAa,SAAqBjC,GAC7C,OAAO,GAAKh5B,KAAKg7B,MAAMhC,EACzB,EAEA/wB,EAAGrU,UAAUqnC,WAAa,SAAqBjC,GAC7C,IAAI1oB,EAAI0oB,EACJR,EAAI,EAiBR,OAhBIloB,GAAK,OACPkoB,GAAK,GACLloB,KAAO,IAELA,GAAK,KACPkoB,GAAK,EACLloB,KAAO,GAELA,GAAK,IACPkoB,GAAK,EACLloB,KAAO,GAELA,GAAK,IACPkoB,GAAK,EACLloB,KAAO,GAEFkoB,EAAIloB,CACb,EAGFrI,EAAGrU,UAAUsnC,UAAY,SAAoBlC,GAE3C,GAAU,IAANA,EAAS,OAAO,GAEpB,IAAI1oB,EAAI0oB,EACJR,EAAI,EAoBR,OAnBS,KAAJloB,IACHkoB,GAAK,GACLloB,KAAO,IAEA,IAAJA,IACHkoB,GAAK,EACLloB,KAAO,GAEA,GAAJA,IACHkoB,GAAK,EACLloB,KAAO,GAEA,EAAJA,IACHkoB,GAAK,EACLloB,KAAO,GAEA,EAAJA,GACHkoB,IAEKA,CACT,EAGAvwB,EAAGrU,UAAUunC,UAAY,WACvB,IAAInC,EAAItmC,KAAKylC,MAAMzlC,KAAKgE,OAAS,GAC7B0kC,EAAK1oC,KAAKuoC,WAAWjC,GACzB,OAA2B,IAAnBtmC,KAAKgE,OAAS,GAAU0kC,CAClC,EAgBAnzB,EAAGrU,UAAUynC,SAAW,WACtB,GAAI3oC,KAAK4nC,SAAU,OAAO,EAG1B,IADA,IAAI9B,EAAI,EACC3hC,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAAK,CACpC,IAAIgU,EAAInY,KAAKwoC,UAAUxoC,KAAKylC,MAAMthC,IAElC,GADA2hC,GAAK3tB,EACK,KAANA,EAAU,KAChB,CACA,OAAO2tB,CACT,EAEAvwB,EAAGrU,UAAUyb,WAAa,WACxB,OAAOrP,KAAK8qB,KAAKp4B,KAAKyoC,YAAc,EACtC,EAEAlzB,EAAGrU,UAAU0nC,OAAS,SAAiBC,GACrC,OAAsB,IAAlB7oC,KAAKwlC,SACAxlC,KAAK8X,MAAMgxB,MAAMD,GAAOE,MAAM,GAEhC/oC,KAAK6d,OACd,EAEAtI,EAAGrU,UAAU8nC,SAAW,SAAmBH,GACzC,OAAI7oC,KAAKipC,MAAMJ,EAAQ,GACd7oC,KAAKkpC,KAAKL,GAAOE,MAAM,GAAGI,OAE5BnpC,KAAK6d,OACd,EAEAtI,EAAGrU,UAAUkoC,MAAQ,WACnB,OAAyB,IAAlBppC,KAAKwlC,QACd,EAGAjwB,EAAGrU,UAAUmoC,IAAM,WACjB,OAAOrpC,KAAK6d,QAAQsrB,MACtB,EAEA5zB,EAAGrU,UAAUioC,KAAO,WAKlB,OAJKnpC,KAAK4nC,WACR5nC,KAAKwlC,UAAY,GAGZxlC,IACT,EAGAuV,EAAGrU,UAAUooC,KAAO,SAAexmC,GACjC,KAAO9C,KAAKgE,OAASlB,EAAIkB,QACvBhE,KAAKylC,MAAMzlC,KAAKgE,UAAY,EAG9B,IAAK,IAAIG,EAAI,EAAGA,EAAIrB,EAAIkB,OAAQG,IAC9BnE,KAAKylC,MAAMthC,GAAKnE,KAAKylC,MAAMthC,GAAKrB,EAAI2iC,MAAMthC,GAG5C,OAAOnE,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAUqoC,IAAM,SAAczmC,GAE/B,OADA2S,IAAQzV,KAAKwlC,SAAW1iC,EAAI0iC,WACrBxlC,KAAKspC,KAAKxmC,EACnB,EAGAyS,EAAGrU,UAAUsoC,GAAK,SAAa1mC,GAC7B,OAAI9C,KAAKgE,OAASlB,EAAIkB,OAAehE,KAAK6d,QAAQ0rB,IAAIzmC,GAC/CA,EAAI+a,QAAQ0rB,IAAIvpC,KACzB,EAEAuV,EAAGrU,UAAUuoC,IAAM,SAAc3mC,GAC/B,OAAI9C,KAAKgE,OAASlB,EAAIkB,OAAehE,KAAK6d,QAAQyrB,KAAKxmC,GAChDA,EAAI+a,QAAQyrB,KAAKtpC,KAC1B,EAGAuV,EAAGrU,UAAUwoC,MAAQ,SAAgB5mC,GAEnC,IAAIqV,EAEFA,EADEnY,KAAKgE,OAASlB,EAAIkB,OAChBlB,EAEA9C,KAGN,IAAK,IAAImE,EAAI,EAAGA,EAAIgU,EAAEnU,OAAQG,IAC5BnE,KAAKylC,MAAMthC,GAAKnE,KAAKylC,MAAMthC,GAAKrB,EAAI2iC,MAAMthC,GAK5C,OAFAnE,KAAKgE,OAASmU,EAAEnU,OAEThE,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAUyoC,KAAO,SAAe7mC,GAEjC,OADA2S,IAAQzV,KAAKwlC,SAAW1iC,EAAI0iC,WACrBxlC,KAAK0pC,MAAM5mC,EACpB,EAGAyS,EAAGrU,UAAU0oC,IAAM,SAAc9mC,GAC/B,OAAI9C,KAAKgE,OAASlB,EAAIkB,OAAehE,KAAK6d,QAAQ8rB,KAAK7mC,GAChDA,EAAI+a,QAAQ8rB,KAAK3pC,KAC1B,EAEAuV,EAAGrU,UAAU2oC,KAAO,SAAe/mC,GACjC,OAAI9C,KAAKgE,OAASlB,EAAIkB,OAAehE,KAAK6d,QAAQ6rB,MAAM5mC,GACjDA,EAAI+a,QAAQ6rB,MAAM1pC,KAC3B,EAGAuV,EAAGrU,UAAU4oC,MAAQ,SAAgBhnC,GAEnC,IAAIoV,EACAC,EACAnY,KAAKgE,OAASlB,EAAIkB,QACpBkU,EAAIlY,KACJmY,EAAIrV,IAEJoV,EAAIpV,EACJqV,EAAInY,MAGN,IAAK,IAAImE,EAAI,EAAGA,EAAIgU,EAAEnU,OAAQG,IAC5BnE,KAAKylC,MAAMthC,GAAK+T,EAAEutB,MAAMthC,GAAKgU,EAAEstB,MAAMthC,GAGvC,GAAInE,OAASkY,EACX,KAAO/T,EAAI+T,EAAElU,OAAQG,IACnBnE,KAAKylC,MAAMthC,GAAK+T,EAAEutB,MAAMthC,GAM5B,OAFAnE,KAAKgE,OAASkU,EAAElU,OAEThE,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAU6oC,KAAO,SAAejnC,GAEjC,OADA2S,IAAQzV,KAAKwlC,SAAW1iC,EAAI0iC,WACrBxlC,KAAK8pC,MAAMhnC,EACpB,EAGAyS,EAAGrU,UAAU8oC,IAAM,SAAclnC,GAC/B,OAAI9C,KAAKgE,OAASlB,EAAIkB,OAAehE,KAAK6d,QAAQksB,KAAKjnC,GAChDA,EAAI+a,QAAQksB,KAAK/pC,KAC1B,EAEAuV,EAAGrU,UAAU+oC,KAAO,SAAennC,GACjC,OAAI9C,KAAKgE,OAASlB,EAAIkB,OAAehE,KAAK6d,QAAQisB,MAAMhnC,GACjDA,EAAI+a,QAAQisB,MAAM9pC,KAC3B,EAGAuV,EAAGrU,UAAU4nC,MAAQ,SAAgBD,GACnCpzB,EAAwB,iBAAVozB,GAAsBA,GAAS,GAE7C,IAAIqB,EAAsC,EAAxB58B,KAAK8qB,KAAKyQ,EAAQ,IAChCsB,EAAWtB,EAAQ,GAGvB7oC,KAAK+mC,QAAQmD,GAETC,EAAW,GACbD,IAIF,IAAK,IAAI/lC,EAAI,EAAGA,EAAI+lC,EAAa/lC,IAC/BnE,KAAKylC,MAAMthC,GAAsB,UAAhBnE,KAAKylC,MAAMthC,GAS9B,OALIgmC,EAAW,IACbnqC,KAAKylC,MAAMthC,IAAMnE,KAAKylC,MAAMthC,GAAM,UAAc,GAAKgmC,GAIhDnqC,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAUgoC,KAAO,SAAeL,GACjC,OAAO7oC,KAAK6d,QAAQirB,MAAMD,EAC5B,EAGAtzB,EAAGrU,UAAUkpC,KAAO,SAAeC,EAAK7c,GACtC/X,EAAsB,iBAAR40B,GAAoBA,GAAO,GAEzC,IAAIxR,EAAOwR,EAAM,GAAM,EACnBC,EAAOD,EAAM,GAUjB,OARArqC,KAAK+mC,QAAQlO,EAAM,GAGjB74B,KAAKylC,MAAM5M,GADTrL,EACgBxtB,KAAKylC,MAAM5M,GAAQ,GAAKyR,EAExBtqC,KAAKylC,MAAM5M,KAAS,GAAKyR,GAGtCtqC,KAAKumC,OACd,EAGAhxB,EAAGrU,UAAUqpC,KAAO,SAAeznC,GACjC,IAAIgjC,EAkBA5tB,EAAGC,EAfP,GAAsB,IAAlBnY,KAAKwlC,UAAmC,IAAjB1iC,EAAI0iC,SAI7B,OAHAxlC,KAAKwlC,SAAW,EAChBM,EAAI9lC,KAAKwqC,KAAK1nC,GACd9C,KAAKwlC,UAAY,EACVxlC,KAAKgnC,YAGP,GAAsB,IAAlBhnC,KAAKwlC,UAAmC,IAAjB1iC,EAAI0iC,SAIpC,OAHA1iC,EAAI0iC,SAAW,EACfM,EAAI9lC,KAAKwqC,KAAK1nC,GACdA,EAAI0iC,SAAW,EACRM,EAAEkB,YAKPhnC,KAAKgE,OAASlB,EAAIkB,QACpBkU,EAAIlY,KACJmY,EAAIrV,IAEJoV,EAAIpV,EACJqV,EAAInY,MAIN,IADA,IAAIqnC,EAAQ,EACHljC,EAAI,EAAGA,EAAIgU,EAAEnU,OAAQG,IAC5B2hC,GAAkB,EAAb5tB,EAAEutB,MAAMthC,KAAwB,EAAbgU,EAAEstB,MAAMthC,IAAUkjC,EAC1CrnC,KAAKylC,MAAMthC,GAAS,SAAJ2hC,EAChBuB,EAAQvB,IAAM,GAEhB,KAAiB,IAAVuB,GAAeljC,EAAI+T,EAAElU,OAAQG,IAClC2hC,GAAkB,EAAb5tB,EAAEutB,MAAMthC,IAAUkjC,EACvBrnC,KAAKylC,MAAMthC,GAAS,SAAJ2hC,EAChBuB,EAAQvB,IAAM,GAIhB,GADA9lC,KAAKgE,OAASkU,EAAElU,OACF,IAAVqjC,EACFrnC,KAAKylC,MAAMzlC,KAAKgE,QAAUqjC,EAC1BrnC,KAAKgE,cAEA,GAAIkU,IAAMlY,KACf,KAAOmE,EAAI+T,EAAElU,OAAQG,IACnBnE,KAAKylC,MAAMthC,GAAK+T,EAAEutB,MAAMthC,GAI5B,OAAOnE,IACT,EAGAuV,EAAGrU,UAAUmc,IAAM,SAAcva,GAC/B,IAAIY,EACJ,OAAqB,IAAjBZ,EAAI0iC,UAAoC,IAAlBxlC,KAAKwlC,UAC7B1iC,EAAI0iC,SAAW,EACf9hC,EAAM1D,KAAKyqC,IAAI3nC,GACfA,EAAI0iC,UAAY,EACT9hC,GACmB,IAAjBZ,EAAI0iC,UAAoC,IAAlBxlC,KAAKwlC,UACpCxlC,KAAKwlC,SAAW,EAChB9hC,EAAMZ,EAAI2nC,IAAIzqC,MACdA,KAAKwlC,SAAW,EACT9hC,GAGL1D,KAAKgE,OAASlB,EAAIkB,OAAehE,KAAK6d,QAAQ0sB,KAAKznC,GAEhDA,EAAI+a,QAAQ0sB,KAAKvqC,KAC1B,EAGAuV,EAAGrU,UAAUspC,KAAO,SAAe1nC,GAEjC,GAAqB,IAAjBA,EAAI0iC,SAAgB,CACtB1iC,EAAI0iC,SAAW,EACf,IAAIM,EAAI9lC,KAAKuqC,KAAKznC,GAElB,OADAA,EAAI0iC,SAAW,EACRM,EAAEkB,WAGX,CAAO,GAAsB,IAAlBhnC,KAAKwlC,SAId,OAHAxlC,KAAKwlC,SAAW,EAChBxlC,KAAKuqC,KAAKznC,GACV9C,KAAKwlC,SAAW,EACTxlC,KAAKgnC,YAId,IAWI9uB,EAAGC,EAXHkE,EAAMrc,KAAKqc,IAAIvZ,GAGnB,GAAY,IAARuZ,EAIF,OAHArc,KAAKwlC,SAAW,EAChBxlC,KAAKgE,OAAS,EACdhE,KAAKylC,MAAM,GAAK,EACTzlC,KAKLqc,EAAM,GACRnE,EAAIlY,KACJmY,EAAIrV,IAEJoV,EAAIpV,EACJqV,EAAInY,MAIN,IADA,IAAIqnC,EAAQ,EACHljC,EAAI,EAAGA,EAAIgU,EAAEnU,OAAQG,IAE5BkjC,GADAvB,GAAkB,EAAb5tB,EAAEutB,MAAMthC,KAAwB,EAAbgU,EAAEstB,MAAMthC,IAAUkjC,IAC7B,GACbrnC,KAAKylC,MAAMthC,GAAS,SAAJ2hC,EAElB,KAAiB,IAAVuB,GAAeljC,EAAI+T,EAAElU,OAAQG,IAElCkjC,GADAvB,GAAkB,EAAb5tB,EAAEutB,MAAMthC,IAAUkjC,IACV,GACbrnC,KAAKylC,MAAMthC,GAAS,SAAJ2hC,EAIlB,GAAc,IAAVuB,GAAeljC,EAAI+T,EAAElU,QAAUkU,IAAMlY,KACvC,KAAOmE,EAAI+T,EAAElU,OAAQG,IACnBnE,KAAKylC,MAAMthC,GAAK+T,EAAEutB,MAAMthC,GAU5B,OANAnE,KAAKgE,OAASsJ,KAAK4S,IAAIlgB,KAAKgE,OAAQG,GAEhC+T,IAAMlY,OACRA,KAAKwlC,SAAW,GAGXxlC,KAAKumC,OACd,EAGAhxB,EAAGrU,UAAUupC,IAAM,SAAc3nC,GAC/B,OAAO9C,KAAK6d,QAAQ2sB,KAAK1nC,EAC3B,EA8CA,IAAI4nC,EAAc,SAAsBx+B,EAAMpJ,EAAK8D,GACjD,IAIIwgC,EACAuD,EACAjC,EANAxwB,EAAIhM,EAAKu5B,MACTttB,EAAIrV,EAAI2iC,MACR1W,EAAInoB,EAAI6+B,MACR9zB,EAAI,EAIJi5B,EAAY,EAAP1yB,EAAE,GACP2yB,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAP7yB,EAAE,GACP8yB,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPhzB,EAAE,GACPizB,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPnzB,EAAE,GACPozB,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPtzB,EAAE,GACPuzB,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPzzB,EAAE,GACP0zB,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAP5zB,EAAE,GACP6zB,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAP/zB,EAAE,GACPg0B,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPl0B,EAAE,GACPm0B,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPr0B,EAAE,GACPs0B,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPv0B,EAAE,GACPw0B,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAP10B,EAAE,GACP20B,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAP70B,EAAE,GACP80B,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPh1B,EAAE,GACPi1B,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPn1B,EAAE,GACPo1B,EAAW,KAALD,EACNE,GAAMF,IAAO,GACbG,GAAY,EAAPt1B,EAAE,GACPu1B,GAAW,KAALD,GACNE,GAAMF,KAAO,GACbG,GAAY,EAAPz1B,EAAE,GACP01B,GAAW,KAALD,GACNE,GAAMF,KAAO,GACbG,GAAY,EAAP51B,EAAE,GACP61B,GAAW,KAALD,GACNE,GAAMF,KAAO,GACbG,GAAY,EAAP/1B,EAAE,GACPg2B,GAAW,KAALD,GACNE,GAAMF,KAAO,GACbG,GAAY,EAAPl2B,EAAE,GACPm2B,GAAW,KAALD,GACNE,GAAMF,KAAO,GAEjBznC,EAAI4+B,SAAWt5B,EAAKs5B,SAAW1iC,EAAI0iC,SACnC5+B,EAAI5C,OAAS,GAMb,IAAIwqC,IAAQ78B,GAJZy1B,EAAK95B,KAAKmhC,KAAK5D,EAAK8B,IAIE,KAAa,MAFnChC,GADAA,EAAMr9B,KAAKmhC,KAAK5D,EAAK+B,IACRt/B,KAAKmhC,KAAK3D,EAAK6B,GAAQ,KAEU,IAAO,EACrDh7B,IAFA+2B,EAAKp7B,KAAKmhC,KAAK3D,EAAK8B,KAEPjC,IAAQ,IAAO,IAAM6D,KAAO,IAAO,EAChDA,IAAM,SAENpH,EAAK95B,KAAKmhC,KAAKzD,EAAK2B,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAKzD,EAAK4B,IACRt/B,KAAKmhC,KAAKxD,EAAK0B,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAKxD,EAAK2B,GAKpB,IAAI8B,IAAQ/8B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAKiC,GAAQ,GAIZ,KAAa,MAFnCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAKkC,GAAQ,GACvBz/B,KAAKmhC,KAAK3D,EAAKgC,GAAQ,KAEU,IAAO,EACrDn7B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAKiC,GAAQ,IAErBpC,IAAQ,IAAO,IAAM+D,KAAO,IAAO,EAChDA,IAAM,SAENtH,EAAK95B,KAAKmhC,KAAKtD,EAAKwB,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAKtD,EAAKyB,IACRt/B,KAAKmhC,KAAKrD,EAAKuB,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAKrD,EAAKwB,GACpBxF,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAK8B,GAAQ,EAElCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAK+B,GAAQ,GACvBz/B,KAAKmhC,KAAKxD,EAAK6B,GAAQ,EACpCpE,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAK8B,GAAQ,EAKlC,IAAI4B,IAAQh9B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAKoC,GAAQ,GAIZ,KAAa,MAFnCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAKqC,GAAQ,GACvB5/B,KAAKmhC,KAAK3D,EAAKmC,GAAQ,KAEU,IAAO,EACrDt7B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAKoC,GAAQ,IAErBvC,IAAQ,IAAO,IAAMgE,KAAO,IAAO,EAChDA,IAAM,SAENvH,EAAK95B,KAAKmhC,KAAKnD,EAAKqB,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAKnD,EAAKsB,IACRt/B,KAAKmhC,KAAKlD,EAAKoB,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAKlD,EAAKqB,GACpBxF,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAK2B,GAAQ,EAElCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAK4B,GAAQ,GACvBz/B,KAAKmhC,KAAKrD,EAAK0B,GAAQ,EACpCpE,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAK2B,GAAQ,EAClC3F,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAKiC,GAAQ,EAElCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAKkC,GAAQ,GACvB5/B,KAAKmhC,KAAKxD,EAAKgC,GAAQ,EACpCvE,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAKiC,GAAQ,EAKlC,IAAI0B,IAAQj9B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAKuC,GAAQ,GAIZ,KAAa,MAFnCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAKwC,GAAQ,GACvB//B,KAAKmhC,KAAK3D,EAAKsC,GAAQ,KAEU,IAAO,EACrDz7B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAKuC,GAAQ,IAErB1C,IAAQ,IAAO,IAAMiE,KAAO,IAAO,EAChDA,IAAM,SAENxH,EAAK95B,KAAKmhC,KAAKhD,EAAKkB,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAKhD,EAAKmB,IACRt/B,KAAKmhC,KAAK/C,EAAKiB,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAK/C,EAAKkB,GACpBxF,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAKwB,GAAQ,EAElCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAKyB,GAAQ,GACvBz/B,KAAKmhC,KAAKlD,EAAKuB,GAAQ,EACpCpE,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAKwB,GAAQ,EAClC3F,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAK8B,GAAQ,EAElCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAK+B,GAAQ,GACvB5/B,KAAKmhC,KAAKrD,EAAK6B,GAAQ,EACpCvE,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAK8B,GAAQ,EAClC9F,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAKoC,GAAQ,EAElCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAKqC,GAAQ,GACvB//B,KAAKmhC,KAAKxD,EAAKmC,GAAQ,EACpC1E,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAKoC,GAAQ,EAKlC,IAAIwB,IAAQl9B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAK0C,GAAQ,GAIZ,KAAa,MAFnC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAK2C,IAAQ,GACvBlgC,KAAKmhC,KAAK3D,EAAKyC,GAAQ,KAEU,IAAO,EACrD57B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAK0C,IAAQ,IAErB7C,IAAQ,IAAO,IAAMkE,KAAO,IAAO,EAChDA,IAAM,SAENzH,EAAK95B,KAAKmhC,KAAK7C,EAAKe,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAK7C,EAAKgB,IACRt/B,KAAKmhC,KAAK5C,EAAKc,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAK5C,EAAKe,GACpBxF,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAKqB,GAAQ,EAElCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAKsB,GAAQ,GACvBz/B,KAAKmhC,KAAK/C,EAAKoB,GAAQ,EACpCpE,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAKqB,GAAQ,EAClC3F,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAK2B,GAAQ,EAElCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAK4B,GAAQ,GACvB5/B,KAAKmhC,KAAKlD,EAAK0B,GAAQ,EACpCvE,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAK2B,GAAQ,EAClC9F,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAKiC,GAAQ,EAElCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAKkC,GAAQ,GACvB//B,KAAKmhC,KAAKrD,EAAKgC,GAAQ,EACpC1E,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAKiC,GAAQ,EAClCjG,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAKuC,GAAQ,EAElC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAKwC,IAAQ,GACvBlgC,KAAKmhC,KAAKxD,EAAKsC,GAAQ,EACpC7E,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAKuC,IAAQ,EAKlC,IAAIsB,IAAQn9B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAK6C,IAAQ,GAIZ,KAAa,MAFnC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAK8C,IAAQ,GACvBrgC,KAAKmhC,KAAK3D,EAAK4C,IAAQ,KAEU,IAAO,EACrD/7B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAK6C,IAAQ,IAErBhD,IAAQ,IAAO,IAAMmE,KAAO,IAAO,EAChDA,IAAM,SAEN1H,EAAK95B,KAAKmhC,KAAK1C,EAAKY,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAK1C,EAAKa,IACRt/B,KAAKmhC,KAAKzC,EAAKW,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAKzC,EAAKY,GACpBxF,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAKkB,GAAQ,EAElCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAKmB,GAAQ,GACvBz/B,KAAKmhC,KAAK5C,EAAKiB,GAAQ,EACpCpE,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAKkB,GAAQ,EAClC3F,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAKwB,GAAQ,EAElCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAKyB,GAAQ,GACvB5/B,KAAKmhC,KAAK/C,EAAKuB,GAAQ,EACpCvE,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAKwB,GAAQ,EAClC9F,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAK8B,GAAQ,EAElCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAK+B,GAAQ,GACvB//B,KAAKmhC,KAAKlD,EAAK6B,GAAQ,EACpC1E,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAK8B,GAAQ,EAClCjG,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAKoC,GAAQ,EAElC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAKqC,IAAQ,GACvBlgC,KAAKmhC,KAAKrD,EAAKmC,GAAQ,EACpC7E,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAKoC,IAAQ,EAClCpG,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAK0C,IAAQ,EAElC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAK2C,IAAQ,GACvBrgC,KAAKmhC,KAAKxD,EAAKyC,IAAQ,EACpChF,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAK0C,IAAQ,EAKlC,IAAIoB,IAAQp9B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAKgD,IAAQ,GAIZ,KAAa,MAFnClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAKiD,IAAQ,GACvBxgC,KAAKmhC,KAAK3D,EAAK+C,IAAQ,KAEU,IAAO,EACrDl8B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAKgD,IAAQ,IAErBnD,IAAQ,IAAO,IAAMoE,KAAO,IAAO,EAChDA,IAAM,SAEN3H,EAAK95B,KAAKmhC,KAAKvC,EAAKS,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAKvC,EAAKU,IACRt/B,KAAKmhC,KAAKtC,EAAKQ,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAKtC,EAAKS,GACpBxF,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAKe,GAAQ,EAElCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAKgB,GAAQ,GACvBz/B,KAAKmhC,KAAKzC,EAAKc,GAAQ,EACpCpE,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAKe,GAAQ,EAClC3F,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAKqB,GAAQ,EAElCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAKsB,GAAQ,GACvB5/B,KAAKmhC,KAAK5C,EAAKoB,GAAQ,EACpCvE,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAKqB,GAAQ,EAClC9F,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAK2B,GAAQ,EAElCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAK4B,GAAQ,GACvB//B,KAAKmhC,KAAK/C,EAAK0B,GAAQ,EACpC1E,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAK2B,GAAQ,EAClCjG,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAKiC,GAAQ,EAElC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAKkC,IAAQ,GACvBlgC,KAAKmhC,KAAKlD,EAAKgC,GAAQ,EACpC7E,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAKiC,IAAQ,EAClCpG,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAKuC,IAAQ,EAElC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAKwC,IAAQ,GACvBrgC,KAAKmhC,KAAKrD,EAAKsC,IAAQ,EACpChF,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAKuC,IAAQ,EAClCvG,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAK6C,IAAQ,EAElClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAK8C,IAAQ,GACvBxgC,KAAKmhC,KAAKxD,EAAK4C,IAAQ,EACpCnF,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAK6C,IAAQ,EAKlC,IAAIkB,IAAQr9B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAKmD,IAAQ,GAIZ,KAAa,MAFnCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAKoD,IAAQ,GACvB3gC,KAAKmhC,KAAK3D,EAAKkD,IAAQ,KAEU,IAAO,EACrDr8B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAKmD,IAAQ,IAErBtD,IAAQ,IAAO,IAAMqE,KAAO,IAAO,EAChDA,IAAM,SAEN5H,EAAK95B,KAAKmhC,KAAKpC,EAAKM,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAKpC,EAAKO,IACRt/B,KAAKmhC,KAAKnC,EAAKK,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAKnC,EAAKM,GACpBxF,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAKY,GAAQ,EAElCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAKa,GAAQ,GACvBz/B,KAAKmhC,KAAKtC,EAAKW,GAAQ,EACpCpE,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAKY,GAAQ,EAClC3F,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAKkB,GAAQ,EAElCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAKmB,GAAQ,GACvB5/B,KAAKmhC,KAAKzC,EAAKiB,GAAQ,EACpCvE,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAKkB,GAAQ,EAClC9F,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAKwB,GAAQ,EAElCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAKyB,GAAQ,GACvB//B,KAAKmhC,KAAK5C,EAAKuB,GAAQ,EACpC1E,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAKwB,GAAQ,EAClCjG,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAK8B,GAAQ,EAElC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAK+B,IAAQ,GACvBlgC,KAAKmhC,KAAK/C,EAAK6B,GAAQ,EACpC7E,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAK8B,IAAQ,EAClCpG,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAKoC,IAAQ,EAElC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAKqC,IAAQ,GACvBrgC,KAAKmhC,KAAKlD,EAAKmC,IAAQ,EACpChF,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAKoC,IAAQ,EAClCvG,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAK0C,IAAQ,EAElClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAK2C,IAAQ,GACvBxgC,KAAKmhC,KAAKrD,EAAKyC,IAAQ,EACpCnF,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAK0C,IAAQ,EAClC1G,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAKgD,IAAQ,EAElCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAKiD,IAAQ,GACvB3gC,KAAKmhC,KAAKxD,EAAK+C,IAAQ,EACpCtF,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAKgD,IAAQ,EAKlC,IAAIgB,IAAQt9B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAKsD,IAAQ,GAIZ,KAAa,MAFnCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAKuD,IAAQ,GACvB9gC,KAAKmhC,KAAK3D,EAAKqD,IAAQ,KAEU,IAAO,EACrDx8B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAKsD,IAAQ,IAErBzD,IAAQ,IAAO,IAAMsE,KAAO,IAAO,EAChDA,IAAM,SAEN7H,EAAK95B,KAAKmhC,KAAKjC,EAAKG,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAKI,IACRt/B,KAAKmhC,KAAKhC,EAAKE,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAKhC,EAAKG,GACpBxF,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAKS,GAAQ,EAElCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAKU,GAAQ,GACvBz/B,KAAKmhC,KAAKnC,EAAKQ,GAAQ,EACpCpE,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAKS,GAAQ,EAClC3F,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAKe,GAAQ,EAElCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAKgB,GAAQ,GACvB5/B,KAAKmhC,KAAKtC,EAAKc,GAAQ,EACpCvE,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAKe,GAAQ,EAClC9F,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAKqB,GAAQ,EAElCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAKsB,GAAQ,GACvB//B,KAAKmhC,KAAKzC,EAAKoB,GAAQ,EACpC1E,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAKqB,GAAQ,EAClCjG,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAK2B,GAAQ,EAElC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAK4B,IAAQ,GACvBlgC,KAAKmhC,KAAK5C,EAAK0B,GAAQ,EACpC7E,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAK2B,IAAQ,EAClCpG,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAKiC,IAAQ,EAElC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAKkC,IAAQ,GACvBrgC,KAAKmhC,KAAK/C,EAAKgC,IAAQ,EACpChF,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAKiC,IAAQ,EAClCvG,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAKuC,IAAQ,EAElClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAKwC,IAAQ,GACvBxgC,KAAKmhC,KAAKlD,EAAKsC,IAAQ,EACpCnF,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAKuC,IAAQ,EAClC1G,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAK6C,IAAQ,EAElCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAK8C,IAAQ,GACvB3gC,KAAKmhC,KAAKrD,EAAK4C,IAAQ,EACpCtF,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAK6C,IAAQ,EAClC7G,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAKmD,IAAQ,EAElCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAKoD,IAAQ,GACvB9gC,KAAKmhC,KAAKxD,EAAKkD,IAAQ,EACpCzF,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAKmD,IAAQ,EAKlC,IAAIc,IAAQv9B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAKyD,IAAQ,GAIZ,KAAa,MAFnC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAK0D,IAAQ,GACvBjhC,KAAKmhC,KAAK3D,EAAKwD,IAAQ,KAEU,IAAO,EACrD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAKyD,IAAQ,IAErB5D,IAAQ,IAAO,IAAMuE,KAAO,IAAO,EAChDA,IAAM,SAEN9H,EAAK95B,KAAKmhC,KAAKjC,EAAKM,GAEpBnC,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAKO,IACRz/B,KAAKmhC,KAAKhC,EAAKK,GAAQ,EACpCpE,EAAKp7B,KAAKmhC,KAAKhC,EAAKM,GACpB3F,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAKY,GAAQ,EAElCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAKa,GAAQ,GACvB5/B,KAAKmhC,KAAKnC,EAAKW,GAAQ,EACpCvE,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAKY,GAAQ,EAClC9F,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAKkB,GAAQ,EAElCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAKmB,GAAQ,GACvB//B,KAAKmhC,KAAKtC,EAAKiB,GAAQ,EACpC1E,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAKkB,GAAQ,EAClCjG,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAKwB,GAAQ,EAElC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAKyB,IAAQ,GACvBlgC,KAAKmhC,KAAKzC,EAAKuB,GAAQ,EACpC7E,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAKwB,IAAQ,EAClCpG,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAK8B,IAAQ,EAElC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAK+B,IAAQ,GACvBrgC,KAAKmhC,KAAK5C,EAAK6B,IAAQ,EACpChF,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAK8B,IAAQ,EAClCvG,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAKoC,IAAQ,EAElClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAKqC,IAAQ,GACvBxgC,KAAKmhC,KAAK/C,EAAKmC,IAAQ,EACpCnF,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAKoC,IAAQ,EAClC1G,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAK0C,IAAQ,EAElCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAK2C,IAAQ,GACvB3gC,KAAKmhC,KAAKlD,EAAKyC,IAAQ,EACpCtF,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAK0C,IAAQ,EAClC7G,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAKgD,IAAQ,EAElCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAKiD,IAAQ,GACvB9gC,KAAKmhC,KAAKrD,EAAK+C,IAAQ,EACpCzF,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAKgD,IAAQ,EAKlC,IAAIe,IAASx9B,GAJby1B,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAKsD,IAAQ,GAIX,KAAa,MAFpC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAKuD,IAAQ,GACvBjhC,KAAKmhC,KAAKxD,EAAKqD,IAAQ,KAEW,IAAO,EACtD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAKsD,IAAQ,IAErB5D,IAAQ,IAAO,IAAMwE,KAAQ,IAAO,EACjDA,IAAO,SAEP/H,EAAK95B,KAAKmhC,KAAKjC,EAAKS,GAEpBtC,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAKU,IACR5/B,KAAKmhC,KAAKhC,EAAKQ,GAAQ,EACpCvE,EAAKp7B,KAAKmhC,KAAKhC,EAAKS,GACpB9F,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAKe,GAAQ,EAElCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAKgB,GAAQ,GACvB//B,KAAKmhC,KAAKnC,EAAKc,GAAQ,EACpC1E,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAKe,GAAQ,EAClCjG,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAKqB,GAAQ,EAElC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAKsB,IAAQ,GACvBlgC,KAAKmhC,KAAKtC,EAAKoB,GAAQ,EACpC7E,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAKqB,IAAQ,EAClCpG,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAK2B,IAAQ,EAElC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAK4B,IAAQ,GACvBrgC,KAAKmhC,KAAKzC,EAAK0B,IAAQ,EACpChF,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAK2B,IAAQ,EAClCvG,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAKiC,IAAQ,EAElClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAKkC,IAAQ,GACvBxgC,KAAKmhC,KAAK5C,EAAKgC,IAAQ,EACpCnF,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAKiC,IAAQ,EAClC1G,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAKuC,IAAQ,EAElCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAKwC,IAAQ,GACvB3gC,KAAKmhC,KAAK/C,EAAKsC,IAAQ,EACpCtF,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAKuC,IAAQ,EAClC7G,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAK6C,IAAQ,EAElCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAK8C,IAAQ,GACvB9gC,KAAKmhC,KAAKlD,EAAK4C,IAAQ,EACpCzF,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAK6C,IAAQ,EAKlC,IAAIgB,IAASz9B,GAJby1B,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAKmD,IAAQ,GAIX,KAAa,MAFpC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAKoD,IAAQ,GACvBjhC,KAAKmhC,KAAKrD,EAAKkD,IAAQ,KAEW,IAAO,EACtD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAKmD,IAAQ,IAErB5D,IAAQ,IAAO,IAAMyE,KAAQ,IAAO,EACjDA,IAAO,SAEPhI,EAAK95B,KAAKmhC,KAAKjC,EAAKY,GAEpBzC,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAKa,IACR//B,KAAKmhC,KAAKhC,EAAKW,GAAQ,EACpC1E,EAAKp7B,KAAKmhC,KAAKhC,EAAKY,GACpBjG,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAKkB,GAAQ,EAElC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAKmB,IAAQ,GACvBlgC,KAAKmhC,KAAKnC,EAAKiB,GAAQ,EACpC7E,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAKkB,IAAQ,EAClCpG,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAKwB,IAAQ,EAElC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAKyB,IAAQ,GACvBrgC,KAAKmhC,KAAKtC,EAAKuB,IAAQ,EACpChF,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAKwB,IAAQ,EAClCvG,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAK8B,IAAQ,EAElClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAK+B,IAAQ,GACvBxgC,KAAKmhC,KAAKzC,EAAK6B,IAAQ,EACpCnF,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAK8B,IAAQ,EAClC1G,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAKoC,IAAQ,EAElCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAKqC,IAAQ,GACvB3gC,KAAKmhC,KAAK5C,EAAKmC,IAAQ,EACpCtF,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAKoC,IAAQ,EAClC7G,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAK0C,IAAQ,EAElCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAK2C,IAAQ,GACvB9gC,KAAKmhC,KAAK/C,EAAKyC,IAAQ,EACpCzF,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAK0C,IAAQ,EAKlC,IAAIiB,IAAS19B,GAJby1B,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAKgD,IAAQ,GAIX,KAAa,MAFpC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAKiD,IAAQ,GACvBjhC,KAAKmhC,KAAKlD,EAAK+C,IAAQ,KAEW,IAAO,EACtD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAKgD,IAAQ,IAErB5D,IAAQ,IAAO,IAAM0E,KAAQ,IAAO,EACjDA,IAAO,SAEPjI,EAAK95B,KAAKmhC,KAAKjC,EAAKe,GAEpB5C,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAKgB,KACRlgC,KAAKmhC,KAAKhC,EAAKc,GAAQ,EACpC7E,EAAKp7B,KAAKmhC,KAAKhC,EAAKe,IACpBpG,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAKqB,IAAQ,EAElC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAKsB,IAAQ,GACvBrgC,KAAKmhC,KAAKnC,EAAKoB,IAAQ,EACpChF,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAKqB,IAAQ,EAClCvG,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAK2B,IAAQ,EAElClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAK4B,IAAQ,GACvBxgC,KAAKmhC,KAAKtC,EAAK0B,IAAQ,EACpCnF,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAK2B,IAAQ,EAClC1G,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAKiC,IAAQ,EAElCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAKkC,IAAQ,GACvB3gC,KAAKmhC,KAAKzC,EAAKgC,IAAQ,EACpCtF,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAKiC,IAAQ,EAClC7G,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAKuC,IAAQ,EAElCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAKwC,IAAQ,GACvB9gC,KAAKmhC,KAAK5C,EAAKsC,IAAQ,EACpCzF,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAKuC,IAAQ,EAKlC,IAAIkB,IAAS39B,GAJby1B,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAK6C,IAAQ,GAIX,KAAa,MAFpC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAK8C,IAAQ,GACvBjhC,KAAKmhC,KAAK/C,EAAK4C,IAAQ,KAEW,IAAO,EACtD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAK6C,IAAQ,IAErB5D,IAAQ,IAAO,IAAM2E,KAAQ,IAAO,EACjDA,IAAO,SAEPlI,EAAK95B,KAAKmhC,KAAKjC,EAAKkB,IAEpB/C,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAKmB,KACRrgC,KAAKmhC,KAAKhC,EAAKiB,IAAQ,EACpChF,EAAKp7B,KAAKmhC,KAAKhC,EAAKkB,IACpBvG,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAKwB,IAAQ,EAElClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAKyB,IAAQ,GACvBxgC,KAAKmhC,KAAKnC,EAAKuB,IAAQ,EACpCnF,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAKwB,IAAQ,EAClC1G,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAK8B,IAAQ,EAElCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAK+B,IAAQ,GACvB3gC,KAAKmhC,KAAKtC,EAAK6B,IAAQ,EACpCtF,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAK8B,IAAQ,EAClC7G,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAKoC,IAAQ,EAElCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAKqC,IAAQ,GACvB9gC,KAAKmhC,KAAKzC,EAAKmC,IAAQ,EACpCzF,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAKoC,IAAQ,EAKlC,IAAImB,IAAS59B,GAJby1B,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAK0C,IAAQ,GAIX,KAAa,MAFpC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAK2C,IAAQ,GACvBjhC,KAAKmhC,KAAK5C,EAAKyC,IAAQ,KAEW,IAAO,EACtD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAK0C,IAAQ,IAErB5D,IAAQ,IAAO,IAAM4E,KAAQ,IAAO,EACjDA,IAAO,SAEPnI,EAAK95B,KAAKmhC,KAAKjC,EAAKqB,IAEpBlD,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAKsB,KACRxgC,KAAKmhC,KAAKhC,EAAKoB,IAAQ,EACpCnF,EAAKp7B,KAAKmhC,KAAKhC,EAAKqB,IACpB1G,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAK2B,IAAQ,EAElCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAK4B,IAAQ,GACvB3gC,KAAKmhC,KAAKnC,EAAK0B,IAAQ,EACpCtF,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAK2B,IAAQ,EAClC7G,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAKiC,IAAQ,EAElCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAKkC,IAAQ,GACvB9gC,KAAKmhC,KAAKtC,EAAKgC,IAAQ,EACpCzF,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAKiC,IAAQ,EAKlC,IAAIoB,IAAS79B,GAJby1B,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAKuC,IAAQ,GAIX,KAAa,MAFpC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAKwC,IAAQ,GACvBjhC,KAAKmhC,KAAKzC,EAAKsC,IAAQ,KAEW,IAAO,EACtD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAKuC,IAAQ,IAErB5D,IAAQ,IAAO,IAAM6E,KAAQ,IAAO,EACjDA,IAAO,SAEPpI,EAAK95B,KAAKmhC,KAAKjC,EAAKwB,IAEpBrD,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAKyB,KACR3gC,KAAKmhC,KAAKhC,EAAKuB,IAAQ,EACpCtF,EAAKp7B,KAAKmhC,KAAKhC,EAAKwB,IACpB7G,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAK8B,IAAQ,EAElCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAK+B,IAAQ,GACvB9gC,KAAKmhC,KAAKnC,EAAK6B,IAAQ,EACpCzF,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAK8B,IAAQ,EAKlC,IAAIqB,IAAS99B,GAJby1B,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAKoC,IAAQ,GAIX,KAAa,MAFpC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAKqC,IAAQ,GACvBjhC,KAAKmhC,KAAKtC,EAAKmC,IAAQ,KAEW,IAAO,EACtD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAKoC,IAAQ,IAErB5D,IAAQ,IAAO,IAAM8E,KAAQ,IAAO,EACjDA,IAAO,SAEPrI,EAAK95B,KAAKmhC,KAAKjC,EAAK2B,IAEpBxD,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAK4B,KACR9gC,KAAKmhC,KAAKhC,EAAK0B,IAAQ,EACpCzF,EAAKp7B,KAAKmhC,KAAKhC,EAAK2B,IAKpB,IAAIsB,IAAS/9B,GAJby1B,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAKiC,IAAQ,GAIX,KAAa,MAFpC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAKkC,IAAQ,GACvBjhC,KAAKmhC,KAAKnC,EAAKgC,IAAQ,KAEW,IAAO,EACtD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAKiC,IAAQ,IAErB5D,IAAQ,IAAO,IAAM+E,KAAQ,IAAO,EACjDA,IAAO,SAMP,IAAIC,IAASh+B,GAJby1B,EAAK95B,KAAKmhC,KAAKjC,EAAK8B,KAIG,KAAa,MAFpC3D,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAK+B,KACRjhC,KAAKmhC,KAAKhC,EAAK6B,IAAQ,KAEW,IAAO,EA0BtD,OAzBA38B,IAFA+2B,EAAKp7B,KAAKmhC,KAAKhC,EAAK8B,MAEP5D,IAAQ,IAAO,IAAMgF,KAAQ,IAAO,EACjDA,IAAO,SACP5gB,EAAE,GAAKyf,GACPzf,EAAE,GAAK2f,GACP3f,EAAE,GAAK4f,GACP5f,EAAE,GAAK6f,GACP7f,EAAE,GAAK8f,GACP9f,EAAE,GAAK+f,GACP/f,EAAE,GAAKggB,GACPhgB,EAAE,GAAKigB,GACPjgB,EAAE,GAAKkgB,GACPlgB,EAAE,GAAKmgB,GACPngB,EAAE,IAAMogB,GACRpgB,EAAE,IAAMqgB,GACRrgB,EAAE,IAAMsgB,GACRtgB,EAAE,IAAMugB,GACRvgB,EAAE,IAAMwgB,GACRxgB,EAAE,IAAMygB,GACRzgB,EAAE,IAAM0gB,GACR1gB,EAAE,IAAM2gB,GACR3gB,EAAE,IAAM4gB,GACE,IAANh+B,IACFod,EAAE,IAAMpd,EACR/K,EAAI5C,UAEC4C,CACT,EAgDA,SAASgpC,EAAY1jC,EAAMpJ,EAAK8D,GAE9B,OADW,IAAIipC,GACHC,KAAK5jC,EAAMpJ,EAAK8D,EAC9B,CAqBA,SAASipC,EAAMv9B,EAAGy9B,GAChB/vC,KAAKsS,EAAIA,EACTtS,KAAK+vC,EAAIA,CACX,CAxEKziC,KAAKmhC,OACR/D,EAAcvD,GAiDhB5xB,EAAGrU,UAAU8uC,MAAQ,SAAgBltC,EAAK8D,GACxC,IAAIlD,EACAuF,EAAMjJ,KAAKgE,OAASlB,EAAIkB,OAW5B,OATEN,EADkB,KAAhB1D,KAAKgE,QAAgC,KAAflB,EAAIkB,OACtB0mC,EAAY1qC,KAAM8C,EAAK8D,GACpBqC,EAAM,GACTk+B,EAAWnnC,KAAM8C,EAAK8D,GACnBqC,EAAM,KArDnB,SAAmBiD,EAAMpJ,EAAK8D,GAC5BA,EAAI4+B,SAAW1iC,EAAI0iC,SAAWt5B,EAAKs5B,SACnC5+B,EAAI5C,OAASkI,EAAKlI,OAASlB,EAAIkB,OAI/B,IAFA,IAAIqjC,EAAQ,EACR4I,EAAU,EACLtyB,EAAI,EAAGA,EAAI/W,EAAI5C,OAAS,EAAG2Z,IAAK,CAGvC,IAAI2pB,EAAS2I,EACbA,EAAU,EAGV,IAFA,IAAI1I,EAAgB,SAARF,EACRG,EAAOl6B,KAAK8K,IAAIuF,EAAG7a,EAAIkB,OAAS,GAC3BI,EAAIkJ,KAAK4S,IAAI,EAAGvC,EAAIzR,EAAKlI,OAAS,GAAII,GAAKojC,EAAMpjC,IAAK,CAC7D,IAAID,EAAIwZ,EAAIvZ,EAGR0hC,GAFoB,EAAhB55B,EAAKu5B,MAAMthC,KACI,EAAfrB,EAAI2iC,MAAMrhC,IAGdgjC,EAAS,SAAJtB,EAGTyB,EAAa,UADbH,EAAMA,EAAKG,EAAS,GAIpB0I,IAFA3I,GAHAA,EAAUA,GAAWxB,EAAI,SAAa,GAAM,IAGxBsB,IAAO,IAAO,KAEZ,GACtBE,GAAU,QACZ,CACA1gC,EAAI6+B,MAAM9nB,GAAK4pB,EACfF,EAAQC,EACRA,EAAS2I,CACX,CAOA,OANc,IAAV5I,EACFzgC,EAAI6+B,MAAM9nB,GAAK0pB,EAEfzgC,EAAI5C,SAGC4C,EAAI2/B,OACb,CAeU2J,CAASlwC,KAAM8C,EAAK8D,GAEpBgpC,EAAW5vC,KAAM8C,EAAK8D,GAGvBlD,CACT,EAUAmsC,EAAK3uC,UAAUivC,QAAU,SAAkBC,GAGzC,IAFA,IAAIxyB,EAAI,IAAI1Y,MAAMkrC,GACd79B,EAAIgD,EAAGrU,UAAUqnC,WAAW6H,GAAK,EAC5BjsC,EAAI,EAAGA,EAAIisC,EAAGjsC,IACrByZ,EAAEzZ,GAAKnE,KAAKqwC,OAAOlsC,EAAGoO,EAAG69B,GAG3B,OAAOxyB,CACT,EAGAiyB,EAAK3uC,UAAUmvC,OAAS,SAAiB/9B,EAAGC,EAAG69B,GAC7C,GAAU,IAAN99B,GAAWA,IAAM89B,EAAI,EAAG,OAAO99B,EAGnC,IADA,IAAIg+B,EAAK,EACAnsC,EAAI,EAAGA,EAAIoO,EAAGpO,IACrBmsC,IAAW,EAAJh+B,IAAWC,EAAIpO,EAAI,EAC1BmO,IAAM,EAGR,OAAOg+B,CACT,EAIAT,EAAK3uC,UAAUqvC,QAAU,SAAkBC,EAAKC,EAAKC,EAAKC,EAAMC,EAAMR,GACpE,IAAK,IAAIjsC,EAAI,EAAGA,EAAIisC,EAAGjsC,IACrBwsC,EAAKxsC,GAAKssC,EAAID,EAAIrsC,IAClBysC,EAAKzsC,GAAKusC,EAAIF,EAAIrsC,GAEtB,EAEA0rC,EAAK3uC,UAAU2vC,UAAY,SAAoBJ,EAAKC,EAAKC,EAAMC,EAAMR,EAAGI,GACtExwC,KAAKuwC,QAAQC,EAAKC,EAAKC,EAAKC,EAAMC,EAAMR,GAExC,IAAK,IAAI34B,EAAI,EAAGA,EAAI24B,EAAG34B,IAAM,EAM3B,IALA,IAAIlF,EAAIkF,GAAK,EAETq5B,EAAQxjC,KAAKyjC,IAAI,EAAIzjC,KAAK0jC,GAAKz+B,GAC/B0+B,EAAQ3jC,KAAK4jC,IAAI,EAAI5jC,KAAK0jC,GAAKz+B,GAE1Bb,EAAI,EAAGA,EAAI0+B,EAAG1+B,GAAKa,EAI1B,IAHA,IAAI4+B,EAASL,EACTM,EAASH,EAEJ7sC,EAAI,EAAGA,EAAIqT,EAAGrT,IAAK,CAC1B,IAAIyqB,EAAK8hB,EAAKj/B,EAAItN,GACditC,EAAKT,EAAKl/B,EAAItN,GAEdktC,EAAKX,EAAKj/B,EAAItN,EAAIqT,GAClB85B,EAAKX,EAAKl/B,EAAItN,EAAIqT,GAElB+5B,EAAKL,EAASG,EAAKF,EAASG,EAEhCA,EAAKJ,EAASI,EAAKH,EAASE,EAC5BA,EAAKE,EAELb,EAAKj/B,EAAItN,GAAKyqB,EAAKyiB,EACnBV,EAAKl/B,EAAItN,GAAKitC,EAAKE,EAEnBZ,EAAKj/B,EAAItN,EAAIqT,GAAKoX,EAAKyiB,EACvBV,EAAKl/B,EAAItN,EAAIqT,GAAK45B,EAAKE,EAGnBntC,IAAMmO,IACRi/B,EAAKV,EAAQK,EAASF,EAAQG,EAE9BA,EAASN,EAAQM,EAASH,EAAQE,EAClCA,EAASK,EAEb,CAGN,EAEA3B,EAAK3uC,UAAUuwC,YAAc,SAAsB9gC,EAAGwG,GACpD,IAAIi5B,EAAqB,EAAjB9iC,KAAK4S,IAAI/I,EAAGxG,GAChB+gC,EAAU,EAAJtB,EACNjsC,EAAI,EACR,IAAKisC,EAAIA,EAAI,EAAI,EAAGA,EAAGA,KAAU,EAC/BjsC,IAGF,OAAO,GAAKA,EAAI,EAAIutC,CACtB,EAEA7B,EAAK3uC,UAAUywC,UAAY,SAAoBlB,EAAKC,EAAKN,GACvD,KAAIA,GAAK,GAET,IAAK,IAAIjsC,EAAI,EAAGA,EAAIisC,EAAI,EAAGjsC,IAAK,CAC9B,IAAIyZ,EAAI6yB,EAAItsC,GAEZssC,EAAItsC,GAAKssC,EAAIL,EAAIjsC,EAAI,GACrBssC,EAAIL,EAAIjsC,EAAI,GAAKyZ,EAEjBA,EAAI8yB,EAAIvsC,GAERusC,EAAIvsC,IAAMusC,EAAIN,EAAIjsC,EAAI,GACtBusC,EAAIN,EAAIjsC,EAAI,IAAMyZ,CACpB,CACF,EAEAiyB,EAAK3uC,UAAU0wC,aAAe,SAAuBC,EAAIzB,GAEvD,IADA,IAAI/I,EAAQ,EACHljC,EAAI,EAAGA,EAAIisC,EAAI,EAAGjsC,IAAK,CAC9B,IAAImiC,EAAoC,KAAhCh5B,KAAKmS,MAAMoyB,EAAG,EAAI1tC,EAAI,GAAKisC,GACjC9iC,KAAKmS,MAAMoyB,EAAG,EAAI1tC,GAAKisC,GACvB/I,EAEFwK,EAAG1tC,GAAS,SAAJmiC,EAGNe,EADEf,EAAI,SACE,EAEAA,EAAI,SAAY,CAE5B,CAEA,OAAOuL,CACT,EAEAhC,EAAK3uC,UAAU4wC,WAAa,SAAqBD,EAAI5oC,EAAKwnC,EAAKL,GAE7D,IADA,IAAI/I,EAAQ,EACHljC,EAAI,EAAGA,EAAI8E,EAAK9E,IACvBkjC,GAAyB,EAARwK,EAAG1tC,GAEpBssC,EAAI,EAAItsC,GAAa,KAARkjC,EAAgBA,KAAkB,GAC/CoJ,EAAI,EAAItsC,EAAI,GAAa,KAARkjC,EAAgBA,KAAkB,GAIrD,IAAKljC,EAAI,EAAI8E,EAAK9E,EAAIisC,IAAKjsC,EACzBssC,EAAItsC,GAAK,EAGXsR,EAAiB,IAAV4xB,GACP5xB,KAAgB,KAAR4xB,GACV,EAEAwI,EAAK3uC,UAAU6wC,KAAO,SAAe3B,GAEnC,IADA,IAAI4B,EAAK,IAAI9sC,MAAMkrC,GACVjsC,EAAI,EAAGA,EAAIisC,EAAGjsC,IACrB6tC,EAAG7tC,GAAK,EAGV,OAAO6tC,CACT,EAEAnC,EAAK3uC,UAAU4uC,KAAO,SAAex9B,EAAGy9B,EAAGnpC,GACzC,IAAIwpC,EAAI,EAAIpwC,KAAKyxC,YAAYn/B,EAAEtO,OAAQ+rC,EAAE/rC,QAErCwsC,EAAMxwC,KAAKmwC,QAAQC,GAEnBhvC,EAAIpB,KAAK+xC,KAAK3B,GAEdK,EAAM,IAAIvrC,MAAMkrC,GAChB6B,EAAO,IAAI/sC,MAAMkrC,GACjB8B,EAAO,IAAIhtC,MAAMkrC,GAEjB+B,EAAO,IAAIjtC,MAAMkrC,GACjBgC,EAAQ,IAAIltC,MAAMkrC,GAClBiC,EAAQ,IAAIntC,MAAMkrC,GAElBkC,EAAO1rC,EAAI6+B,MACf6M,EAAKtuC,OAASosC,EAEdpwC,KAAK8xC,WAAWx/B,EAAEmzB,MAAOnzB,EAAEtO,OAAQysC,EAAKL,GACxCpwC,KAAK8xC,WAAW/B,EAAEtK,MAAOsK,EAAE/rC,OAAQmuC,EAAM/B,GAEzCpwC,KAAK6wC,UAAUJ,EAAKrvC,EAAG6wC,EAAMC,EAAM9B,EAAGI,GACtCxwC,KAAK6wC,UAAUsB,EAAM/wC,EAAGgxC,EAAOC,EAAOjC,EAAGI,GAEzC,IAAK,IAAIrsC,EAAI,EAAGA,EAAIisC,EAAGjsC,IAAK,CAC1B,IAAIqtC,EAAKS,EAAK9tC,GAAKiuC,EAAMjuC,GAAK+tC,EAAK/tC,GAAKkuC,EAAMluC,GAC9C+tC,EAAK/tC,GAAK8tC,EAAK9tC,GAAKkuC,EAAMluC,GAAK+tC,EAAK/tC,GAAKiuC,EAAMjuC,GAC/C8tC,EAAK9tC,GAAKqtC,CACZ,CASA,OAPAxxC,KAAK2xC,UAAUM,EAAMC,EAAM9B,GAC3BpwC,KAAK6wC,UAAUoB,EAAMC,EAAMI,EAAMlxC,EAAGgvC,EAAGI,GACvCxwC,KAAK2xC,UAAUW,EAAMlxC,EAAGgvC,GACxBpwC,KAAK4xC,aAAaU,EAAMlC,GAExBxpC,EAAI4+B,SAAWlzB,EAAEkzB,SAAWuK,EAAEvK,SAC9B5+B,EAAI5C,OAASsO,EAAEtO,OAAS+rC,EAAE/rC,OACnB4C,EAAI2/B,OACb,EAGAhxB,EAAGrU,UAAUwc,IAAM,SAAc5a,GAC/B,IAAI8D,EAAM,IAAI2O,EAAG,MAEjB,OADA3O,EAAI6+B,MAAQ,IAAIvgC,MAAMlF,KAAKgE,OAASlB,EAAIkB,QACjChE,KAAKgwC,MAAMltC,EAAK8D,EACzB,EAGA2O,EAAGrU,UAAUqxC,KAAO,SAAezvC,GACjC,IAAI8D,EAAM,IAAI2O,EAAG,MAEjB,OADA3O,EAAI6+B,MAAQ,IAAIvgC,MAAMlF,KAAKgE,OAASlB,EAAIkB,QACjC4rC,EAAW5vC,KAAM8C,EAAK8D,EAC/B,EAGA2O,EAAGrU,UAAUutC,KAAO,SAAe3rC,GACjC,OAAO9C,KAAK6d,QAAQmyB,MAAMltC,EAAK9C,KACjC,EAEAuV,EAAGrU,UAAU2lC,MAAQ,SAAgB/jC,GACnC2S,EAAsB,iBAAR3S,GACd2S,EAAO3S,EAAM,UAIb,IADA,IAAIukC,EAAQ,EACHljC,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAAK,CACpC,IAAImiC,GAAqB,EAAhBtmC,KAAKylC,MAAMthC,IAAUrB,EAC1BskC,GAAU,SAAJd,IAA0B,SAARe,GAC5BA,IAAU,GACVA,GAAUf,EAAI,SAAa,EAE3Be,GAASD,IAAO,GAChBpnC,KAAKylC,MAAMthC,GAAU,SAALijC,CAClB,CAOA,OALc,IAAVC,IACFrnC,KAAKylC,MAAMthC,GAAKkjC,EAChBrnC,KAAKgE,UAGAhE,IACT,EAEAuV,EAAGrU,UAAUsxC,KAAO,SAAe1vC,GACjC,OAAO9C,KAAK6d,QAAQgpB,MAAM/jC,EAC5B,EAGAyS,EAAGrU,UAAUuxC,IAAM,WACjB,OAAOzyC,KAAK0d,IAAI1d,KAClB,EAGAuV,EAAGrU,UAAUwxC,KAAO,WAClB,OAAO1yC,KAAKyuC,KAAKzuC,KAAK6d,QACxB,EAGAtI,EAAGrU,UAAU0W,IAAM,SAAc9U,GAC/B,IAAIwjC,EAxxCN,SAAqBxjC,GAGnB,IAFA,IAAIwjC,EAAI,IAAIphC,MAAMpC,EAAI2lC,aAEb4B,EAAM,EAAGA,EAAM/D,EAAEtiC,OAAQqmC,IAAO,CACvC,IAAIxR,EAAOwR,EAAM,GAAM,EACnBC,EAAOD,EAAM,GAEjB/D,EAAE+D,IAAQvnC,EAAI2iC,MAAM5M,GAAQ,GAAKyR,KAAWA,CAC9C,CAEA,OAAOhE,CACT,CA6wCUqM,CAAW7vC,GACnB,GAAiB,IAAbwjC,EAAEtiC,OAAc,OAAO,IAAIuR,EAAG,GAIlC,IADA,IAAI7R,EAAM1D,KACDmE,EAAI,EAAGA,EAAImiC,EAAEtiC,QACP,IAATsiC,EAAEniC,GADsBA,IAAKT,EAAMA,EAAI+uC,OAI7C,KAAMtuC,EAAImiC,EAAEtiC,OACV,IAAK,IAAIqkC,EAAI3kC,EAAI+uC,MAAOtuC,EAAImiC,EAAEtiC,OAAQG,IAAKkkC,EAAIA,EAAEoK,MAClC,IAATnM,EAAEniC,KAENT,EAAMA,EAAIga,IAAI2qB,IAIlB,OAAO3kC,CACT,EAGA6R,EAAGrU,UAAU0xC,OAAS,SAAiB90B,GACrCrI,EAAuB,iBAATqI,GAAqBA,GAAQ,GAC3C,IAGI3Z,EAHA2hC,EAAIhoB,EAAO,GACXrG,GAAKqG,EAAOgoB,GAAK,GACjB+M,EAAa,WAAe,GAAK/M,GAAQ,GAAKA,EAGlD,GAAU,IAANA,EAAS,CACX,IAAIuB,EAAQ,EAEZ,IAAKljC,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAAK,CAChC,IAAI2uC,EAAW9yC,KAAKylC,MAAMthC,GAAK0uC,EAC3BlhC,GAAsB,EAAhB3R,KAAKylC,MAAMthC,IAAU2uC,GAAahN,EAC5C9lC,KAAKylC,MAAMthC,GAAKwN,EAAI01B,EACpBA,EAAQyL,IAAc,GAAKhN,CAC7B,CAEIuB,IACFrnC,KAAKylC,MAAMthC,GAAKkjC,EAChBrnC,KAAKgE,SAET,CAEA,GAAU,IAANyT,EAAS,CACX,IAAKtT,EAAInE,KAAKgE,OAAS,EAAGG,GAAK,EAAGA,IAChCnE,KAAKylC,MAAMthC,EAAIsT,GAAKzX,KAAKylC,MAAMthC,GAGjC,IAAKA,EAAI,EAAGA,EAAIsT,EAAGtT,IACjBnE,KAAKylC,MAAMthC,GAAK,EAGlBnE,KAAKgE,QAAUyT,CACjB,CAEA,OAAOzX,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAU6xC,MAAQ,SAAgBj1B,GAGnC,OADArI,EAAyB,IAAlBzV,KAAKwlC,UACLxlC,KAAK4yC,OAAO90B,EACrB,EAKAvI,EAAGrU,UAAU6c,OAAS,SAAiBD,EAAMnE,EAAMq5B,GAEjD,IAAIxpB,EADJ/T,EAAuB,iBAATqI,GAAqBA,GAAQ,GAGzC0L,EADE7P,GACGA,EAAQA,EAAO,IAAO,GAEvB,EAGN,IAAImsB,EAAIhoB,EAAO,GACXrG,EAAInK,KAAK8K,KAAK0F,EAAOgoB,GAAK,GAAI9lC,KAAKgE,QACnCivC,EAAO,SAAc,WAAcnN,GAAMA,EACzCoN,EAAcF,EAMlB,GAJAxpB,GAAK/R,EACL+R,EAAIlc,KAAK4S,IAAI,EAAGsJ,GAGZ0pB,EAAa,CACf,IAAK,IAAI/uC,EAAI,EAAGA,EAAIsT,EAAGtT,IACrB+uC,EAAYzN,MAAMthC,GAAKnE,KAAKylC,MAAMthC,GAEpC+uC,EAAYlvC,OAASyT,CACvB,CAEA,GAAU,IAANA,QAEG,GAAIzX,KAAKgE,OAASyT,EAEvB,IADAzX,KAAKgE,QAAUyT,EACVtT,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAC3BnE,KAAKylC,MAAMthC,GAAKnE,KAAKylC,MAAMthC,EAAIsT,QAGjCzX,KAAKylC,MAAM,GAAK,EAChBzlC,KAAKgE,OAAS,EAGhB,IAAIqjC,EAAQ,EACZ,IAAKljC,EAAInE,KAAKgE,OAAS,EAAGG,GAAK,IAAgB,IAAVkjC,GAAeljC,GAAKqlB,GAAIrlB,IAAK,CAChE,IAAIyiC,EAAuB,EAAhB5mC,KAAKylC,MAAMthC,GACtBnE,KAAKylC,MAAMthC,GAAMkjC,GAAU,GAAKvB,EAAOc,IAASd,EAChDuB,EAAQT,EAAOqM,CACjB,CAYA,OATIC,GAAyB,IAAV7L,IACjB6L,EAAYzN,MAAMyN,EAAYlvC,UAAYqjC,GAGxB,IAAhBrnC,KAAKgE,SACPhE,KAAKylC,MAAM,GAAK,EAChBzlC,KAAKgE,OAAS,GAGThE,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAUiyC,MAAQ,SAAgBr1B,EAAMnE,EAAMq5B,GAG/C,OADAv9B,EAAyB,IAAlBzV,KAAKwlC,UACLxlC,KAAK+d,OAAOD,EAAMnE,EAAMq5B,EACjC,EAGAz9B,EAAGrU,UAAUkyC,KAAO,SAAet1B,GACjC,OAAO9d,KAAK6d,QAAQk1B,MAAMj1B,EAC5B,EAEAvI,EAAGrU,UAAUmyC,MAAQ,SAAgBv1B,GACnC,OAAO9d,KAAK6d,QAAQ+0B,OAAO90B,EAC7B,EAGAvI,EAAGrU,UAAUoyC,KAAO,SAAex1B,GACjC,OAAO9d,KAAK6d,QAAQs1B,MAAMr1B,EAC5B,EAEAvI,EAAGrU,UAAUqyC,MAAQ,SAAgBz1B,GACnC,OAAO9d,KAAK6d,QAAQE,OAAOD,EAC7B,EAGAvI,EAAGrU,UAAU+nC,MAAQ,SAAgBoB,GACnC50B,EAAsB,iBAAR40B,GAAoBA,GAAO,GACzC,IAAIvE,EAAIuE,EAAM,GACV5yB,GAAK4yB,EAAMvE,GAAK,GAChBuC,EAAI,GAAKvC,EAGb,QAAI9lC,KAAKgE,QAAUyT,OAGXzX,KAAKylC,MAAMhuB,GAEL4wB,EAChB,EAGA9yB,EAAGrU,UAAUsyC,OAAS,SAAiB11B,GACrCrI,EAAuB,iBAATqI,GAAqBA,GAAQ,GAC3C,IAAIgoB,EAAIhoB,EAAO,GACXrG,GAAKqG,EAAOgoB,GAAK,GAIrB,GAFArwB,EAAyB,IAAlBzV,KAAKwlC,SAAgB,2CAExBxlC,KAAKgE,QAAUyT,EACjB,OAAOzX,KAQT,GALU,IAAN8lC,GACFruB,IAEFzX,KAAKgE,OAASsJ,KAAK8K,IAAIX,EAAGzX,KAAKgE,QAErB,IAAN8hC,EAAS,CACX,IAAImN,EAAO,SAAc,WAAcnN,GAAMA,EAC7C9lC,KAAKylC,MAAMzlC,KAAKgE,OAAS,IAAMivC,CACjC,CAEA,OAAOjzC,KAAKumC,OACd,EAGAhxB,EAAGrU,UAAUuyC,MAAQ,SAAgB31B,GACnC,OAAO9d,KAAK6d,QAAQ21B,OAAO11B,EAC7B,EAGAvI,EAAGrU,UAAU6nC,MAAQ,SAAgBjmC,GAGnC,OAFA2S,EAAsB,iBAAR3S,GACd2S,EAAO3S,EAAM,UACTA,EAAM,EAAU9C,KAAK0zC,OAAO5wC,GAGV,IAAlB9C,KAAKwlC,SACa,IAAhBxlC,KAAKgE,SAAiC,EAAhBhE,KAAKylC,MAAM,IAAU3iC,GAC7C9C,KAAKylC,MAAM,GAAK3iC,GAAuB,EAAhB9C,KAAKylC,MAAM,IAClCzlC,KAAKwlC,SAAW,EACTxlC,OAGTA,KAAKwlC,SAAW,EAChBxlC,KAAK0zC,MAAM5wC,GACX9C,KAAKwlC,SAAW,EACTxlC,MAIFA,KAAK8mC,OAAOhkC,EACrB,EAEAyS,EAAGrU,UAAU4lC,OAAS,SAAiBhkC,GACrC9C,KAAKylC,MAAM,IAAM3iC,EAGjB,IAAK,IAAIqB,EAAI,EAAGA,EAAInE,KAAKgE,QAAUhE,KAAKylC,MAAMthC,IAAM,SAAWA,IAC7DnE,KAAKylC,MAAMthC,IAAM,SACbA,IAAMnE,KAAKgE,OAAS,EACtBhE,KAAKylC,MAAMthC,EAAI,GAAK,EAEpBnE,KAAKylC,MAAMthC,EAAI,KAKnB,OAFAnE,KAAKgE,OAASsJ,KAAK4S,IAAIlgB,KAAKgE,OAAQG,EAAI,GAEjCnE,IACT,EAGAuV,EAAGrU,UAAUwyC,MAAQ,SAAgB5wC,GAGnC,GAFA2S,EAAsB,iBAAR3S,GACd2S,EAAO3S,EAAM,UACTA,EAAM,EAAG,OAAO9C,KAAK+oC,OAAOjmC,GAEhC,GAAsB,IAAlB9C,KAAKwlC,SAIP,OAHAxlC,KAAKwlC,SAAW,EAChBxlC,KAAK+oC,MAAMjmC,GACX9C,KAAKwlC,SAAW,EACTxlC,KAKT,GAFAA,KAAKylC,MAAM,IAAM3iC,EAEG,IAAhB9C,KAAKgE,QAAgBhE,KAAKylC,MAAM,GAAK,EACvCzlC,KAAKylC,MAAM,IAAMzlC,KAAKylC,MAAM,GAC5BzlC,KAAKwlC,SAAW,OAGhB,IAAK,IAAIrhC,EAAI,EAAGA,EAAInE,KAAKgE,QAAUhE,KAAKylC,MAAMthC,GAAK,EAAGA,IACpDnE,KAAKylC,MAAMthC,IAAM,SACjBnE,KAAKylC,MAAMthC,EAAI,IAAM,EAIzB,OAAOnE,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAUyyC,KAAO,SAAe7wC,GACjC,OAAO9C,KAAK6d,QAAQkrB,MAAMjmC,EAC5B,EAEAyS,EAAGrU,UAAU0yC,KAAO,SAAe9wC,GACjC,OAAO9C,KAAK6d,QAAQ61B,MAAM5wC,EAC5B,EAEAyS,EAAGrU,UAAU2yC,KAAO,WAGlB,OAFA7zC,KAAKwlC,SAAW,EAETxlC,IACT,EAEAuV,EAAGrU,UAAU4W,IAAM,WACjB,OAAO9X,KAAK6d,QAAQg2B,MACtB,EAEAt+B,EAAGrU,UAAU4yC,aAAe,SAAuBhxC,EAAK4a,EAAKpM,GAC3D,IACInN,EAIAmiC,EALAr9B,EAAMnG,EAAIkB,OAASsN,EAGvBtR,KAAK+mC,QAAQ99B,GAGb,IAAIo+B,EAAQ,EACZ,IAAKljC,EAAI,EAAGA,EAAIrB,EAAIkB,OAAQG,IAAK,CAC/BmiC,GAA6B,EAAxBtmC,KAAKylC,MAAMthC,EAAImN,IAAc+1B,EAClC,IAAIpB,GAAwB,EAAfnjC,EAAI2iC,MAAMthC,IAAUuZ,EAEjC2pB,IADAf,GAAa,SAARL,IACS,KAAQA,EAAQ,SAAa,GAC3CjmC,KAAKylC,MAAMthC,EAAImN,GAAa,SAAJg1B,CAC1B,CACA,KAAOniC,EAAInE,KAAKgE,OAASsN,EAAOnN,IAE9BkjC,GADAf,GAA6B,EAAxBtmC,KAAKylC,MAAMthC,EAAImN,IAAc+1B,IACrB,GACbrnC,KAAKylC,MAAMthC,EAAImN,GAAa,SAAJg1B,EAG1B,GAAc,IAAVe,EAAa,OAAOrnC,KAAKumC,QAK7B,IAFA9wB,GAAkB,IAAX4xB,GACPA,EAAQ,EACHljC,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAE3BkjC,GADAf,IAAsB,EAAhBtmC,KAAKylC,MAAMthC,IAAUkjC,IACd,GACbrnC,KAAKylC,MAAMthC,GAAS,SAAJmiC,EAIlB,OAFAtmC,KAAKwlC,SAAW,EAETxlC,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAU6yC,SAAW,SAAmBjxC,EAAK8H,GAC9C,IAAI0G,GAAQtR,KAAKgE,OAASlB,EAAIkB,QAE1BkU,EAAIlY,KAAK6d,QACT1F,EAAIrV,EAGJkxC,EAA8B,EAAxB77B,EAAEstB,MAAMttB,EAAEnU,OAAS,GAGf,KADdsN,EAAQ,GADMtR,KAAKuoC,WAAWyL,MAG5B77B,EAAIA,EAAEk7B,MAAM/hC,GACZ4G,EAAE06B,OAAOthC,GACT0iC,EAA8B,EAAxB77B,EAAEstB,MAAMttB,EAAEnU,OAAS,IAI3B,IACIqkC,EADAlxB,EAAIe,EAAElU,OAASmU,EAAEnU,OAGrB,GAAa,QAAT4G,EAAgB,EAClBy9B,EAAI,IAAI9yB,EAAG,OACTvR,OAASmT,EAAI,EACfkxB,EAAE5C,MAAQ,IAAIvgC,MAAMmjC,EAAErkC,QACtB,IAAK,IAAIG,EAAI,EAAGA,EAAIkkC,EAAErkC,OAAQG,IAC5BkkC,EAAE5C,MAAMthC,GAAK,CAEjB,CAEA,IAAIoZ,EAAOrF,EAAE2F,QAAQi2B,aAAa37B,EAAG,EAAGhB,GAClB,IAAlBoG,EAAKioB,WACPttB,EAAIqF,EACA8qB,IACFA,EAAE5C,MAAMtuB,GAAK,IAIjB,IAAK,IAAI/S,EAAI+S,EAAI,EAAG/S,GAAK,EAAGA,IAAK,CAC/B,IAAI6vC,EAAmC,UAAL,EAAxB/7B,EAAEutB,MAAMttB,EAAEnU,OAASI,KACE,EAA5B8T,EAAEutB,MAAMttB,EAAEnU,OAASI,EAAI,IAO1B,IAHA6vC,EAAK3mC,KAAK8K,IAAK67B,EAAKD,EAAO,EAAG,UAE9B97B,EAAE47B,aAAa37B,EAAG87B,EAAI7vC,GACA,IAAf8T,EAAEstB,UACPyO,IACA/7B,EAAEstB,SAAW,EACbttB,EAAE47B,aAAa37B,EAAG,EAAG/T,GAChB8T,EAAE0vB,WACL1vB,EAAEstB,UAAY,GAGd6C,IACFA,EAAE5C,MAAMrhC,GAAK6vC,EAEjB,CAWA,OAVI5L,GACFA,EAAE9B,QAEJruB,EAAEquB,QAGW,QAAT37B,GAA4B,IAAV0G,GACpB4G,EAAE6F,OAAOzM,GAGJ,CACL4iC,IAAK7L,GAAK,KACV1B,IAAKzuB,EAET,EAMA3C,EAAGrU,UAAUizC,OAAS,SAAiBrxC,EAAK8H,EAAMwpC,GAGhD,OAFA3+B,GAAQ3S,EAAI8kC,UAER5nC,KAAK4nC,SACA,CACLsM,IAAK,IAAI3+B,EAAG,GACZoxB,IAAK,IAAIpxB,EAAG,IAKM,IAAlBvV,KAAKwlC,UAAmC,IAAjB1iC,EAAI0iC,UAC7B9hC,EAAM1D,KAAKqpC,MAAM8K,OAAOrxC,EAAK8H,GAEhB,QAATA,IACFspC,EAAMxwC,EAAIwwC,IAAI7K,OAGH,QAATz+B,IACF+7B,EAAMjjC,EAAIijC,IAAI0C,MACV+K,GAA6B,IAAjBzN,EAAInB,UAClBmB,EAAI4D,KAAKznC,IAIN,CACLoxC,IAAKA,EACLvN,IAAKA,IAIa,IAAlB3mC,KAAKwlC,UAAmC,IAAjB1iC,EAAI0iC,UAC7B9hC,EAAM1D,KAAKm0C,OAAOrxC,EAAIumC,MAAOz+B,GAEhB,QAATA,IACFspC,EAAMxwC,EAAIwwC,IAAI7K,OAGT,CACL6K,IAAKA,EACLvN,IAAKjjC,EAAIijC,MAIR3mC,KAAKwlC,SAAW1iC,EAAI0iC,UACvB9hC,EAAM1D,KAAKqpC,MAAM8K,OAAOrxC,EAAIumC,MAAOz+B,GAEtB,QAATA,IACF+7B,EAAMjjC,EAAIijC,IAAI0C,MACV+K,GAA6B,IAAjBzN,EAAInB,UAClBmB,EAAI6D,KAAK1nC,IAIN,CACLoxC,IAAKxwC,EAAIwwC,IACTvN,IAAKA,IAOL7jC,EAAIkB,OAAShE,KAAKgE,QAAUhE,KAAKqc,IAAIvZ,GAAO,EACvC,CACLoxC,IAAK,IAAI3+B,EAAG,GACZoxB,IAAK3mC,MAKU,IAAf8C,EAAIkB,OACO,QAAT4G,EACK,CACLspC,IAAKl0C,KAAKq0C,KAAKvxC,EAAI2iC,MAAM,IACzBkB,IAAK,MAII,QAAT/7B,EACK,CACLspC,IAAK,KACLvN,IAAK,IAAIpxB,EAAGvV,KAAK6nC,KAAK/kC,EAAI2iC,MAAM,MAI7B,CACLyO,IAAKl0C,KAAKq0C,KAAKvxC,EAAI2iC,MAAM,IACzBkB,IAAK,IAAIpxB,EAAGvV,KAAK6nC,KAAK/kC,EAAI2iC,MAAM,MAI7BzlC,KAAK+zC,SAASjxC,EAAK8H,GAlF1B,IAAIspC,EAAKvN,EAAKjjC,CAmFhB,EAGA6R,EAAGrU,UAAUgzC,IAAM,SAAcpxC,GAC/B,OAAO9C,KAAKm0C,OAAOrxC,EAAK,OAAO,GAAOoxC,GACxC,EAGA3+B,EAAGrU,UAAUylC,IAAM,SAAc7jC,GAC/B,OAAO9C,KAAKm0C,OAAOrxC,EAAK,OAAO,GAAO6jC,GACxC,EAEApxB,EAAGrU,UAAUozC,KAAO,SAAexxC,GACjC,OAAO9C,KAAKm0C,OAAOrxC,EAAK,OAAO,GAAM6jC,GACvC,EAGApxB,EAAGrU,UAAUqzC,SAAW,SAAmBzxC,GACzC,IAAI0xC,EAAKx0C,KAAKm0C,OAAOrxC,GAGrB,GAAI0xC,EAAG7N,IAAIiB,SAAU,OAAO4M,EAAGN,IAE/B,IAAIvN,EAA0B,IAApB6N,EAAGN,IAAI1O,SAAiBgP,EAAG7N,IAAI6D,KAAK1nC,GAAO0xC,EAAG7N,IAEpD8N,EAAO3xC,EAAIywC,MAAM,GACjBmB,EAAK5xC,EAAIkb,MAAM,GACf3B,EAAMsqB,EAAItqB,IAAIo4B,GAGlB,OAAIp4B,EAAM,GAAY,IAAPq4B,GAAoB,IAARr4B,EAAkBm4B,EAAGN,IAGrB,IAApBM,EAAGN,IAAI1O,SAAiBgP,EAAGN,IAAIR,MAAM,GAAKc,EAAGN,IAAInL,MAAM,EAChE,EAEAxzB,EAAGrU,UAAU2mC,KAAO,SAAe/kC,GACjC2S,EAAO3S,GAAO,UAId,IAHA,IAAI4O,GAAK,GAAK,IAAM5O,EAEhB6xC,EAAM,EACDxwC,EAAInE,KAAKgE,OAAS,EAAGG,GAAK,EAAGA,IACpCwwC,GAAOjjC,EAAIijC,GAAuB,EAAhB30C,KAAKylC,MAAMthC,KAAWrB,EAG1C,OAAO6xC,CACT,EAGAp/B,EAAGrU,UAAU4mC,MAAQ,SAAgBhlC,GACnC2S,EAAO3S,GAAO,UAGd,IADA,IAAIukC,EAAQ,EACHljC,EAAInE,KAAKgE,OAAS,EAAGG,GAAK,EAAGA,IAAK,CACzC,IAAImiC,GAAqB,EAAhBtmC,KAAKylC,MAAMthC,IAAkB,SAARkjC,EAC9BrnC,KAAKylC,MAAMthC,GAAMmiC,EAAIxjC,EAAO,EAC5BukC,EAAQf,EAAIxjC,CACd,CAEA,OAAO9C,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAUmzC,KAAO,SAAevxC,GACjC,OAAO9C,KAAK6d,QAAQiqB,MAAMhlC,EAC5B,EAEAyS,EAAGrU,UAAU0zC,KAAO,SAAeljC,GACjC+D,EAAsB,IAAf/D,EAAE8zB,UACT/vB,GAAQ/D,EAAEk2B,UAEV,IAAIt1B,EAAItS,KACJ+vC,EAAIr+B,EAAEmM,QAGRvL,EADiB,IAAfA,EAAEkzB,SACAlzB,EAAEgiC,KAAK5iC,GAEPY,EAAEuL,QAaR,IATA,IAAIg3B,EAAI,IAAIt/B,EAAG,GACXu/B,EAAI,IAAIv/B,EAAG,GAGXw/B,EAAI,IAAIx/B,EAAG,GACXy/B,EAAI,IAAIz/B,EAAG,GAEX0T,EAAI,EAED3W,EAAE2iC,UAAYlF,EAAEkF,UACrB3iC,EAAEyL,OAAO,GACTgyB,EAAEhyB,OAAO,KACPkL,EAMJ,IAHA,IAAIisB,EAAKnF,EAAElyB,QACPs3B,EAAK7iC,EAAEuL,SAEHvL,EAAEs1B,UAAU,CAClB,IAAK,IAAIzjC,EAAI,EAAGixC,EAAK,IAAI9iC,EAAEmzB,MAAM,GAAK2P,IAAajxC,EAAI,KAAMA,EAAGixC,IAAO,GACvE,GAAIjxC,EAAI,EAEN,IADAmO,EAAEyL,OAAO5Z,GACFA,KAAM,IACP0wC,EAAEQ,SAAWP,EAAEO,WACjBR,EAAEtK,KAAK2K,GACPJ,EAAEtK,KAAK2K,IAGTN,EAAE92B,OAAO,GACT+2B,EAAE/2B,OAAO,GAIb,IAAK,IAAI3Z,EAAI,EAAGkxC,EAAK,IAAIvF,EAAEtK,MAAM,GAAK6P,IAAalxC,EAAI,KAAMA,EAAGkxC,IAAO,GACvE,GAAIlxC,EAAI,EAEN,IADA2rC,EAAEhyB,OAAO3Z,GACFA,KAAM,IACP2wC,EAAEM,SAAWL,EAAEK,WACjBN,EAAExK,KAAK2K,GACPF,EAAExK,KAAK2K,IAGTJ,EAAEh3B,OAAO,GACTi3B,EAAEj3B,OAAO,GAITzL,EAAE+J,IAAI0zB,IAAM,GACdz9B,EAAEk4B,KAAKuF,GACP8E,EAAErK,KAAKuK,GACPD,EAAEtK,KAAKwK,KAEPjF,EAAEvF,KAAKl4B,GACPyiC,EAAEvK,KAAKqK,GACPG,EAAExK,KAAKsK,GAEX,CAEA,MAAO,CACL58B,EACAC,EAAG68B,EACHO,IAAKxF,EAAE6C,OAAO3pB,GAElB,EAKA1T,EAAGrU,UAAUs0C,OAAS,SAAiB9jC,GACrC+D,EAAsB,IAAf/D,EAAE8zB,UACT/vB,GAAQ/D,EAAEk2B,UAEV,IAAI1vB,EAAIlY,KACJmY,EAAIzG,EAAEmM,QAGR3F,EADiB,IAAfA,EAAEstB,SACAttB,EAAEo8B,KAAK5iC,GAEPwG,EAAE2F,QAQR,IALA,IAuCIna,EAvCA+xC,EAAK,IAAIlgC,EAAG,GACZ0G,EAAK,IAAI1G,EAAG,GAEZ8tB,EAAQlrB,EAAE0F,QAEP3F,EAAE4E,KAAK,GAAK,GAAK3E,EAAE2E,KAAK,GAAK,GAAG,CACrC,IAAK,IAAI3Y,EAAI,EAAGixC,EAAK,IAAIl9B,EAAEutB,MAAM,GAAK2P,IAAajxC,EAAI,KAAMA,EAAGixC,IAAO,GACvE,GAAIjxC,EAAI,EAEN,IADA+T,EAAE6F,OAAO5Z,GACFA,KAAM,GACPsxC,EAAGJ,SACLI,EAAGlL,KAAKlH,GAGVoS,EAAG13B,OAAO,GAId,IAAK,IAAI3Z,EAAI,EAAGkxC,EAAK,IAAIn9B,EAAEstB,MAAM,GAAK6P,IAAalxC,EAAI,KAAMA,EAAGkxC,IAAO,GACvE,GAAIlxC,EAAI,EAEN,IADA+T,EAAE4F,OAAO3Z,GACFA,KAAM,GACP6X,EAAGo5B,SACLp5B,EAAGsuB,KAAKlH,GAGVpnB,EAAG8B,OAAO,GAIV7F,EAAEmE,IAAIlE,IAAM,GACdD,EAAEsyB,KAAKryB,GACPs9B,EAAGjL,KAAKvuB,KAER9D,EAAEqyB,KAAKtyB,GACP+D,EAAGuuB,KAAKiL,GAEZ,CAaA,OATE/xC,EADgB,IAAdwU,EAAE4E,KAAK,GACH24B,EAEAx5B,GAGAa,KAAK,GAAK,GAChBpZ,EAAI6mC,KAAK74B,GAGJhO,CACT,EAEA6R,EAAGrU,UAAUq0C,IAAM,SAAczyC,GAC/B,GAAI9C,KAAK4nC,SAAU,OAAO9kC,EAAIgV,MAC9B,GAAIhV,EAAI8kC,SAAU,OAAO5nC,KAAK8X,MAE9B,IAAII,EAAIlY,KAAK6d,QACT1F,EAAIrV,EAAI+a,QACZ3F,EAAEstB,SAAW,EACbrtB,EAAEqtB,SAAW,EAGb,IAAK,IAAIl0B,EAAQ,EAAG4G,EAAE+8B,UAAY98B,EAAE88B,SAAU3jC,IAC5C4G,EAAE6F,OAAO,GACT5F,EAAE4F,OAAO,GAGX,OAAG,CACD,KAAO7F,EAAE+8B,UACP/8B,EAAE6F,OAAO,GAEX,KAAO5F,EAAE88B,UACP98B,EAAE4F,OAAO,GAGX,IAAI+nB,EAAI5tB,EAAEmE,IAAIlE,GACd,GAAI2tB,EAAI,EAAG,CAET,IAAIloB,EAAI1F,EACRA,EAAIC,EACJA,EAAIyF,CACN,MAAO,GAAU,IAANkoB,GAAyB,IAAd3tB,EAAE2E,KAAK,GAC3B,MAGF5E,EAAEsyB,KAAKryB,EACT,CAEA,OAAOA,EAAEy6B,OAAOthC,EAClB,EAGAiE,EAAGrU,UAAUw0C,KAAO,SAAe5yC,GACjC,OAAO9C,KAAK40C,KAAK9xC,GAAKoV,EAAEo8B,KAAKxxC,EAC/B,EAEAyS,EAAGrU,UAAU+zC,OAAS,WACpB,QAAwB,EAAhBj1C,KAAKylC,MAAM,GACrB,EAEAlwB,EAAGrU,UAAUm0C,MAAQ,WACnB,QAA+B,GAAvBr1C,KAAKylC,MAAM,GACrB,EAGAlwB,EAAGrU,UAAU8c,MAAQ,SAAgBlb,GACnC,OAAO9C,KAAKylC,MAAM,GAAK3iC,CACzB,EAGAyS,EAAGrU,UAAUy0C,MAAQ,SAAgBtL,GACnC50B,EAAsB,iBAAR40B,GACd,IAAIvE,EAAIuE,EAAM,GACV5yB,GAAK4yB,EAAMvE,GAAK,GAChBuC,EAAI,GAAKvC,EAGb,GAAI9lC,KAAKgE,QAAUyT,EAGjB,OAFAzX,KAAK+mC,QAAQtvB,EAAI,GACjBzX,KAAKylC,MAAMhuB,IAAM4wB,EACVroC,KAKT,IADA,IAAIqnC,EAAQgB,EACHlkC,EAAIsT,EAAa,IAAV4vB,GAAeljC,EAAInE,KAAKgE,OAAQG,IAAK,CACnD,IAAImiC,EAAoB,EAAhBtmC,KAAKylC,MAAMthC,GAEnBkjC,GADAf,GAAKe,KACS,GACdf,GAAK,SACLtmC,KAAKylC,MAAMthC,GAAKmiC,CAClB,CAKA,OAJc,IAAVe,IACFrnC,KAAKylC,MAAMthC,GAAKkjC,EAChBrnC,KAAKgE,UAEAhE,IACT,EAEAuV,EAAGrU,UAAU0mC,OAAS,WACpB,OAAuB,IAAhB5nC,KAAKgE,QAAkC,IAAlBhE,KAAKylC,MAAM,EACzC,EAEAlwB,EAAGrU,UAAU4b,KAAO,SAAeha,GACjC,IAOIY,EAPA8hC,EAAW1iC,EAAM,EAErB,GAAsB,IAAlB9C,KAAKwlC,WAAmBA,EAAU,OAAQ,EAC9C,GAAsB,IAAlBxlC,KAAKwlC,UAAkBA,EAAU,OAAO,EAK5C,GAHAxlC,KAAKumC,QAGDvmC,KAAKgE,OAAS,EAChBN,EAAM,MACD,CACD8hC,IACF1iC,GAAOA,GAGT2S,EAAO3S,GAAO,SAAW,qBAEzB,IAAIwjC,EAAoB,EAAhBtmC,KAAKylC,MAAM,GACnB/hC,EAAM4iC,IAAMxjC,EAAM,EAAIwjC,EAAIxjC,GAAO,EAAI,CACvC,CACA,OAAsB,IAAlB9C,KAAKwlC,SAA8B,GAAN9hC,EAC1BA,CACT,EAMA6R,EAAGrU,UAAUmb,IAAM,SAAcvZ,GAC/B,GAAsB,IAAlB9C,KAAKwlC,UAAmC,IAAjB1iC,EAAI0iC,SAAgB,OAAQ,EACvD,GAAsB,IAAlBxlC,KAAKwlC,UAAmC,IAAjB1iC,EAAI0iC,SAAgB,OAAO,EAEtD,IAAI9hC,EAAM1D,KAAK41C,KAAK9yC,GACpB,OAAsB,IAAlB9C,KAAKwlC,SAA8B,GAAN9hC,EAC1BA,CACT,EAGA6R,EAAGrU,UAAU00C,KAAO,SAAe9yC,GAEjC,GAAI9C,KAAKgE,OAASlB,EAAIkB,OAAQ,OAAO,EACrC,GAAIhE,KAAKgE,OAASlB,EAAIkB,OAAQ,OAAQ,EAGtC,IADA,IAAIN,EAAM,EACDS,EAAInE,KAAKgE,OAAS,EAAGG,GAAK,EAAGA,IAAK,CACzC,IAAI+T,EAAoB,EAAhBlY,KAAKylC,MAAMthC,GACfgU,EAAmB,EAAfrV,EAAI2iC,MAAMthC,GAElB,GAAI+T,IAAMC,EAAV,CACID,EAAIC,EACNzU,GAAO,EACEwU,EAAIC,IACbzU,EAAM,GAER,KANqB,CAOvB,CACA,OAAOA,CACT,EAEA6R,EAAGrU,UAAU20C,IAAM,SAAc/yC,GAC/B,OAA0B,IAAnB9C,KAAK8c,KAAKha,EACnB,EAEAyS,EAAGrU,UAAU40C,GAAK,SAAahzC,GAC7B,OAAyB,IAAlB9C,KAAKqc,IAAIvZ,EAClB,EAEAyS,EAAGrU,UAAU60C,KAAO,SAAejzC,GACjC,OAAO9C,KAAK8c,KAAKha,IAAQ,CAC3B,EAEAyS,EAAGrU,UAAU80C,IAAM,SAAclzC,GAC/B,OAAO9C,KAAKqc,IAAIvZ,IAAQ,CAC1B,EAEAyS,EAAGrU,UAAU+0C,IAAM,SAAcnzC,GAC/B,OAA2B,IAApB9C,KAAK8c,KAAKha,EACnB,EAEAyS,EAAGrU,UAAUg1C,GAAK,SAAapzC,GAC7B,OAA0B,IAAnB9C,KAAKqc,IAAIvZ,EAClB,EAEAyS,EAAGrU,UAAUi1C,KAAO,SAAerzC,GACjC,OAAO9C,KAAK8c,KAAKha,IAAQ,CAC3B,EAEAyS,EAAGrU,UAAUk1C,IAAM,SAActzC,GAC/B,OAAO9C,KAAKqc,IAAIvZ,IAAQ,CAC1B,EAEAyS,EAAGrU,UAAUm1C,IAAM,SAAcvzC,GAC/B,OAA0B,IAAnB9C,KAAK8c,KAAKha,EACnB,EAEAyS,EAAGrU,UAAUid,GAAK,SAAarb,GAC7B,OAAyB,IAAlB9C,KAAKqc,IAAIvZ,EAClB,EAMAyS,EAAG2F,IAAM,SAAcpY,GACrB,OAAO,IAAIwzC,EAAIxzC,EACjB,EAEAyS,EAAGrU,UAAU+Z,MAAQ,SAAgBmR,GAGnC,OAFA3W,GAAQzV,KAAKkb,IAAK,yCAClBzF,EAAyB,IAAlBzV,KAAKwlC,SAAgB,iCACrBpZ,EAAImqB,UAAUv2C,MAAMw2C,UAAUpqB,EACvC,EAEA7W,EAAGrU,UAAU2b,QAAU,WAErB,OADApH,EAAOzV,KAAKkb,IAAK,wDACVlb,KAAKkb,IAAIu7B,YAAYz2C,KAC9B,EAEAuV,EAAGrU,UAAUs1C,UAAY,SAAoBpqB,GAE3C,OADApsB,KAAKkb,IAAMkR,EACJpsB,IACT,EAEAuV,EAAGrU,UAAUw1C,SAAW,SAAmBtqB,GAEzC,OADA3W,GAAQzV,KAAKkb,IAAK,yCACXlb,KAAKw2C,UAAUpqB,EACxB,EAEA7W,EAAGrU,UAAUqa,OAAS,SAAiBzY,GAErC,OADA2S,EAAOzV,KAAKkb,IAAK,sCACVlb,KAAKkb,IAAImC,IAAIrd,KAAM8C,EAC5B,EAEAyS,EAAGrU,UAAUy1C,QAAU,SAAkB7zC,GAEvC,OADA2S,EAAOzV,KAAKkb,IAAK,uCACVlb,KAAKkb,IAAIqvB,KAAKvqC,KAAM8C,EAC7B,EAEAyS,EAAGrU,UAAUgc,OAAS,SAAiBpa,GAErC,OADA2S,EAAOzV,KAAKkb,IAAK,sCACVlb,KAAKkb,IAAIuvB,IAAIzqC,KAAM8C,EAC5B,EAEAyS,EAAGrU,UAAUuc,QAAU,SAAkB3a,GAEvC,OADA2S,EAAOzV,KAAKkb,IAAK,uCACVlb,KAAKkb,IAAIsvB,KAAKxqC,KAAM8C,EAC7B,EAEAyS,EAAGrU,UAAU01C,OAAS,SAAiB9zC,GAErC,OADA2S,EAAOzV,KAAKkb,IAAK,sCACVlb,KAAKkb,IAAI27B,IAAI72C,KAAM8C,EAC5B,EAEAyS,EAAGrU,UAAUoa,OAAS,SAAiBxY,GAGrC,OAFA2S,EAAOzV,KAAKkb,IAAK,sCACjBlb,KAAKkb,IAAI47B,SAAS92C,KAAM8C,GACjB9C,KAAKkb,IAAIwC,IAAI1d,KAAM8C,EAC5B,EAEAyS,EAAGrU,UAAU61C,QAAU,SAAkBj0C,GAGvC,OAFA2S,EAAOzV,KAAKkb,IAAK,sCACjBlb,KAAKkb,IAAI47B,SAAS92C,KAAM8C,GACjB9C,KAAKkb,IAAIuzB,KAAKzuC,KAAM8C,EAC7B,EAEAyS,EAAGrU,UAAUgb,OAAS,WAGpB,OAFAzG,EAAOzV,KAAKkb,IAAK,sCACjBlb,KAAKkb,IAAI87B,SAASh3C,MACXA,KAAKkb,IAAIu3B,IAAIzyC,KACtB,EAEAuV,EAAGrU,UAAU+1C,QAAU,WAGrB,OAFAxhC,EAAOzV,KAAKkb,IAAK,uCACjBlb,KAAKkb,IAAI87B,SAASh3C,MACXA,KAAKkb,IAAIw3B,KAAK1yC,KACvB,EAGAuV,EAAGrU,UAAUkb,QAAU,WAGrB,OAFA3G,EAAOzV,KAAKkb,IAAK,uCACjBlb,KAAKkb,IAAI87B,SAASh3C,MACXA,KAAKkb,IAAIg8B,KAAKl3C,KACvB,EAEAuV,EAAGrU,UAAUka,QAAU,WAGrB,OAFA3F,EAAOzV,KAAKkb,IAAK,uCACjBlb,KAAKkb,IAAI87B,SAASh3C,MACXA,KAAKkb,IAAIw6B,KAAK11C,KACvB,EAGAuV,EAAGrU,UAAUi2C,OAAS,WAGpB,OAFA1hC,EAAOzV,KAAKkb,IAAK,sCACjBlb,KAAKkb,IAAI87B,SAASh3C,MACXA,KAAKkb,IAAImuB,IAAIrpC,KACtB,EAEAuV,EAAGrU,UAAUk2C,OAAS,SAAiBt0C,GAGrC,OAFA2S,EAAOzV,KAAKkb,MAAQpY,EAAIoY,IAAK,qBAC7Blb,KAAKkb,IAAI87B,SAASh3C,MACXA,KAAKkb,IAAItD,IAAI5X,KAAM8C,EAC5B,EAGA,IAAIu0C,EAAS,CACXC,KAAM,KACNC,KAAM,KACNC,KAAM,KACNC,OAAQ,MAIV,SAASC,EAAQp1C,EAAMoP,GAErB1R,KAAKsC,KAAOA,EACZtC,KAAK0R,EAAI,IAAI6D,EAAG7D,EAAG,IACnB1R,KAAK2Q,EAAI3Q,KAAK0R,EAAE+2B,YAChBzoC,KAAK2d,EAAI,IAAIpI,EAAG,GAAGq9B,OAAO5yC,KAAK2Q,GAAG65B,KAAKxqC,KAAK0R,GAE5C1R,KAAK23C,IAAM33C,KAAK43C,MAClB,CAgDA,SAASC,IACPH,EAAO33C,KACLC,KACA,OACA,0EACJ,CA8DA,SAAS83C,IACPJ,EAAO33C,KACLC,KACA,OACA,iEACJ,CAGA,SAAS+3C,IACPL,EAAO33C,KACLC,KACA,OACA,wDACJ,CAGA,SAASg4C,IAEPN,EAAO33C,KACLC,KACA,QACA,sEACJ,CA6CA,SAASs2C,EAAKn/B,GACZ,GAAiB,iBAANA,EAAgB,CACzB,IAAIgS,EAAQ5T,EAAG0iC,OAAO9gC,GACtBnX,KAAKmX,EAAIgS,EAAMzX,EACf1R,KAAKmpB,MAAQA,CACf,MACE1T,EAAO0B,EAAE0+B,IAAI,GAAI,kCACjB71C,KAAKmX,EAAIA,EACTnX,KAAKmpB,MAAQ,IAEjB,CAgOA,SAAS+uB,EAAM/gC,GACbm/B,EAAIv2C,KAAKC,KAAMmX,GAEfnX,KAAKsR,MAAQtR,KAAKmX,EAAEsxB,YAChBzoC,KAAKsR,MAAQ,IAAO,IACtBtR,KAAKsR,OAAS,GAAMtR,KAAKsR,MAAQ,IAGnCtR,KAAK8lC,EAAI,IAAIvwB,EAAG,GAAGq9B,OAAO5yC,KAAKsR,OAC/BtR,KAAK00C,GAAK10C,KAAKm4C,KAAKn4C,KAAK8lC,EAAE2M,OAC3BzyC,KAAKo4C,KAAOp4C,KAAK8lC,EAAE0P,OAAOx1C,KAAKmX,GAE/BnX,KAAKq4C,KAAOr4C,KAAKo4C,KAAK16B,IAAI1d,KAAK8lC,GAAG4N,MAAM,GAAGQ,IAAIl0C,KAAKmX,GACpDnX,KAAKq4C,KAAOr4C,KAAKq4C,KAAK/D,KAAKt0C,KAAK8lC,GAChC9lC,KAAKq4C,KAAOr4C,KAAK8lC,EAAE2E,IAAIzqC,KAAKq4C,KAC9B,CA7aAX,EAAOx2C,UAAU02C,KAAO,WACtB,IAAID,EAAM,IAAIpiC,EAAG,MAEjB,OADAoiC,EAAIlS,MAAQ,IAAIvgC,MAAMoI,KAAK8qB,KAAKp4B,KAAK2Q,EAAI,KAClCgnC,CACT,EAEAD,EAAOx2C,UAAUo3C,QAAU,SAAkBx1C,GAG3C,IACIy1C,EADAzS,EAAIhjC,EAGR,GACE9C,KAAKiF,MAAM6gC,EAAG9lC,KAAK23C,KAGnBY,GADAzS,GADAA,EAAI9lC,KAAKw4C,MAAM1S,IACTyE,KAAKvqC,KAAK23C,MACPlP,kBACF8P,EAAOv4C,KAAK2Q,GAErB,IAAI0L,EAAMk8B,EAAOv4C,KAAK2Q,GAAK,EAAIm1B,EAAE8P,KAAK51C,KAAK0R,GAgB3C,OAfY,IAAR2K,GACFypB,EAAEL,MAAM,GAAK,EACbK,EAAE9hC,OAAS,GACFqY,EAAM,EACfypB,EAAE0E,KAAKxqC,KAAK0R,QAEInK,IAAZu+B,EAAES,MAEJT,EAAES,QAGFT,EAAE2S,SAIC3S,CACT,EAEA4R,EAAOx2C,UAAU+D,MAAQ,SAAgByU,EAAO9S,GAC9C8S,EAAMqE,OAAO/d,KAAK2Q,EAAG,EAAG/J,EAC1B,EAEA8wC,EAAOx2C,UAAUs3C,MAAQ,SAAgB11C,GACvC,OAAOA,EAAI2rC,KAAKzuC,KAAK2d,EACvB,EAQAne,EAASq4C,EAAMH,GAEfG,EAAK32C,UAAU+D,MAAQ,SAAgByU,EAAOsU,GAK5C,IAHA,IAAIilB,EAAO,QAEPyF,EAASprC,KAAK8K,IAAIsB,EAAM1V,OAAQ,GAC3BG,EAAI,EAAGA,EAAIu0C,EAAQv0C,IAC1B6pB,EAAOyX,MAAMthC,GAAKuV,EAAM+rB,MAAMthC,GAIhC,GAFA6pB,EAAOhqB,OAAS00C,EAEZh/B,EAAM1V,QAAU,EAGlB,OAFA0V,EAAM+rB,MAAM,GAAK,OACjB/rB,EAAM1V,OAAS,GAKjB,IAAIuqB,EAAO7U,EAAM+rB,MAAM,GAGvB,IAFAzX,EAAOyX,MAAMzX,EAAOhqB,UAAYuqB,EAAO0kB,EAElC9uC,EAAI,GAAIA,EAAIuV,EAAM1V,OAAQG,IAAK,CAClC,IAAIyN,EAAwB,EAAjB8H,EAAM+rB,MAAMthC,GACvBuV,EAAM+rB,MAAMthC,EAAI,KAAQyN,EAAOqhC,IAAS,EAAM1kB,IAAS,GACvDA,EAAO3c,CACT,CACA2c,KAAU,GACV7U,EAAM+rB,MAAMthC,EAAI,IAAMoqB,EACT,IAATA,GAAc7U,EAAM1V,OAAS,GAC/B0V,EAAM1V,QAAU,GAEhB0V,EAAM1V,QAAU,CAEpB,EAEA6zC,EAAK32C,UAAUs3C,MAAQ,SAAgB11C,GAErCA,EAAI2iC,MAAM3iC,EAAIkB,QAAU,EACxBlB,EAAI2iC,MAAM3iC,EAAIkB,OAAS,GAAK,EAC5BlB,EAAIkB,QAAU,EAId,IADA,IAAIojC,EAAK,EACAjjC,EAAI,EAAGA,EAAIrB,EAAIkB,OAAQG,IAAK,CACnC,IAAImiC,EAAmB,EAAfxjC,EAAI2iC,MAAMthC,GAClBijC,GAAU,IAAJd,EACNxjC,EAAI2iC,MAAMthC,GAAU,SAALijC,EACfA,EAAS,GAAJd,GAAac,EAAK,SAAa,EACtC,CASA,OANkC,IAA9BtkC,EAAI2iC,MAAM3iC,EAAIkB,OAAS,KACzBlB,EAAIkB,SAC8B,IAA9BlB,EAAI2iC,MAAM3iC,EAAIkB,OAAS,IACzBlB,EAAIkB,UAGDlB,CACT,EAQAtD,EAASs4C,EAAMJ,GAQfl4C,EAASu4C,EAAML,GASfl4C,EAASw4C,EAAQN,GAEjBM,EAAO92C,UAAUs3C,MAAQ,SAAgB11C,GAGvC,IADA,IAAIukC,EAAQ,EACHljC,EAAI,EAAGA,EAAIrB,EAAIkB,OAAQG,IAAK,CACnC,IAAIukC,EAA0B,IAAL,EAAf5lC,EAAI2iC,MAAMthC,IAAiBkjC,EACjCD,EAAU,SAALsB,EACTA,KAAQ,GAER5lC,EAAI2iC,MAAMthC,GAAKijC,EACfC,EAAQqB,CACV,CAIA,OAHc,IAAVrB,IACFvkC,EAAI2iC,MAAM3iC,EAAIkB,UAAYqjC,GAErBvkC,CACT,EAGAyS,EAAG0iC,OAAS,SAAgB31C,GAE1B,GAAI+0C,EAAO/0C,GAAO,OAAO+0C,EAAO/0C,GAEhC,IAAI6mB,EACJ,GAAa,SAAT7mB,EACF6mB,EAAQ,IAAI0uB,OACP,GAAa,SAATv1C,EACT6mB,EAAQ,IAAI2uB,OACP,GAAa,SAATx1C,EACT6mB,EAAQ,IAAI4uB,MACP,IAAa,WAATz1C,EAGT,MAAM,IAAIpC,MAAM,iBAAmBoC,GAFnC6mB,EAAQ,IAAI6uB,CAGd,CAGA,OAFAX,EAAO/0C,GAAQ6mB,EAERA,CACT,EAiBAmtB,EAAIp1C,UAAU81C,SAAW,SAAmB9+B,GAC1CzC,EAAsB,IAAfyC,EAAEstB,SAAgB,iCACzB/vB,EAAOyC,EAAEgD,IAAK,kCAChB,EAEAo7B,EAAIp1C,UAAU41C,SAAW,SAAmB5+B,EAAGC,GAC7C1C,IAAQyC,EAAEstB,SAAWrtB,EAAEqtB,UAAiB,iCACxC/vB,EAAOyC,EAAEgD,KAAOhD,EAAEgD,MAAQ/C,EAAE+C,IAC1B,kCACJ,EAEAo7B,EAAIp1C,UAAUi3C,KAAO,SAAejgC,GAClC,OAAIlY,KAAKmpB,MAAcnpB,KAAKmpB,MAAMmvB,QAAQpgC,GAAGs+B,UAAUx2C,MAChDkY,EAAEo8B,KAAKt0C,KAAKmX,GAAGq/B,UAAUx2C,KAClC,EAEAs2C,EAAIp1C,UAAUmoC,IAAM,SAAcnxB,GAChC,OAAIA,EAAE0vB,SACG1vB,EAAE2F,QAGJ7d,KAAKmX,EAAEszB,IAAIvyB,GAAGs+B,UAAUx2C,KACjC,EAEAs2C,EAAIp1C,UAAUmc,IAAM,SAAcnF,EAAGC,GACnCnY,KAAK82C,SAAS5+B,EAAGC,GAEjB,IAAIzU,EAAMwU,EAAEmF,IAAIlF,GAIhB,OAHIzU,EAAI2Y,IAAIrc,KAAKmX,IAAM,GACrBzT,EAAI8mC,KAAKxqC,KAAKmX,GAETzT,EAAI8yC,UAAUx2C,KACvB,EAEAs2C,EAAIp1C,UAAUqpC,KAAO,SAAeryB,EAAGC,GACrCnY,KAAK82C,SAAS5+B,EAAGC,GAEjB,IAAIzU,EAAMwU,EAAEqyB,KAAKpyB,GAIjB,OAHIzU,EAAI2Y,IAAIrc,KAAKmX,IAAM,GACrBzT,EAAI8mC,KAAKxqC,KAAKmX,GAETzT,CACT,EAEA4yC,EAAIp1C,UAAUupC,IAAM,SAAcvyB,EAAGC,GACnCnY,KAAK82C,SAAS5+B,EAAGC,GAEjB,IAAIzU,EAAMwU,EAAEuyB,IAAItyB,GAIhB,OAHIzU,EAAIoZ,KAAK,GAAK,GAChBpZ,EAAI6mC,KAAKvqC,KAAKmX,GAETzT,EAAI8yC,UAAUx2C,KACvB,EAEAs2C,EAAIp1C,UAAUspC,KAAO,SAAetyB,EAAGC,GACrCnY,KAAK82C,SAAS5+B,EAAGC,GAEjB,IAAIzU,EAAMwU,EAAEsyB,KAAKryB,GAIjB,OAHIzU,EAAIoZ,KAAK,GAAK,GAChBpZ,EAAI6mC,KAAKvqC,KAAKmX,GAETzT,CACT,EAEA4yC,EAAIp1C,UAAU21C,IAAM,SAAc3+B,EAAGpV,GAEnC,OADA9C,KAAKg3C,SAAS9+B,GACPlY,KAAKm4C,KAAKjgC,EAAEm7B,MAAMvwC,GAC3B,EAEAwzC,EAAIp1C,UAAUutC,KAAO,SAAev2B,EAAGC,GAErC,OADAnY,KAAK82C,SAAS5+B,EAAGC,GACVnY,KAAKm4C,KAAKjgC,EAAEu2B,KAAKt2B,GAC1B,EAEAm+B,EAAIp1C,UAAUwc,IAAM,SAAcxF,EAAGC,GAEnC,OADAnY,KAAK82C,SAAS5+B,EAAGC,GACVnY,KAAKm4C,KAAKjgC,EAAEwF,IAAIvF,GACzB,EAEAm+B,EAAIp1C,UAAUwxC,KAAO,SAAex6B,GAClC,OAAOlY,KAAKyuC,KAAKv2B,EAAGA,EAAE2F,QACxB,EAEAy4B,EAAIp1C,UAAUuxC,IAAM,SAAcv6B,GAChC,OAAOlY,KAAK0d,IAAIxF,EAAGA,EACrB,EAEAo+B,EAAIp1C,UAAUg2C,KAAO,SAAeh/B,GAClC,GAAIA,EAAE0vB,SAAU,OAAO1vB,EAAE2F,QAEzB,IAAI86B,EAAO34C,KAAKmX,EAAE6G,MAAM,GAIxB,GAHAvI,EAAOkjC,EAAO,GAAM,GAGP,IAATA,EAAY,CACd,IAAI/gC,EAAM5X,KAAKmX,EAAEkG,IAAI,IAAI9H,EAAG,IAAIwI,OAAO,GACvC,OAAO/d,KAAK4X,IAAIM,EAAGN,EACrB,CAOA,IAFA,IAAIywB,EAAIroC,KAAKmX,EAAEy8B,KAAK,GAChBn8B,EAAI,GACA4wB,EAAET,UAA2B,IAAfS,EAAErqB,MAAM,IAC5BvG,IACA4wB,EAAEtqB,OAAO,GAEXtI,GAAQ4yB,EAAET,UAEV,IAAIhsB,EAAM,IAAIrG,EAAG,GAAG0F,MAAMjb,MACtB44C,EAAOh9B,EAAIu7B,SAIX0B,EAAO74C,KAAKmX,EAAEy8B,KAAK,GAAG71B,OAAO,GAC7BrC,EAAI1b,KAAKmX,EAAEsxB,YAGf,IAFA/sB,EAAI,IAAInG,EAAG,EAAImG,EAAIA,GAAGT,MAAMjb,MAEW,IAAhCA,KAAK4X,IAAI8D,EAAGm9B,GAAMx8B,IAAIu8B,IAC3Bl9B,EAAEi7B,QAAQiC,GAOZ,IAJA,IAAIjnC,EAAI3R,KAAK4X,IAAI8D,EAAG2sB,GAChBvC,EAAI9lC,KAAK4X,IAAIM,EAAGmwB,EAAEsL,KAAK,GAAG51B,OAAO,IACjCH,EAAI5d,KAAK4X,IAAIM,EAAGmwB,GAChBlxB,EAAIM,EACc,IAAfmG,EAAEvB,IAAIT,IAAY,CAEvB,IADA,IAAI+7B,EAAM/5B,EACDzZ,EAAI,EAAoB,IAAjBwzC,EAAIt7B,IAAIT,GAAYzX,IAClCwzC,EAAMA,EAAIz7B,SAEZzG,EAAOtR,EAAIgT,GACX,IAAIgB,EAAInY,KAAK4X,IAAIjG,EAAG,IAAI4D,EAAG,GAAGq9B,OAAOz7B,EAAIhT,EAAI,IAE7C2hC,EAAIA,EAAExqB,OAAOnD,GACbxG,EAAIwG,EAAE+D,SACN0B,EAAIA,EAAEtC,OAAO3J,GACbwF,EAAIhT,CACN,CAEA,OAAO2hC,CACT,EAEAwQ,EAAIp1C,UAAUw0C,KAAO,SAAex9B,GAClC,IAAI4gC,EAAM5gC,EAAEs9B,OAAOx1C,KAAKmX,GACxB,OAAqB,IAAjB2hC,EAAItT,UACNsT,EAAItT,SAAW,EACRxlC,KAAKm4C,KAAKW,GAAK3B,UAEfn3C,KAAKm4C,KAAKW,EAErB,EAEAxC,EAAIp1C,UAAU0W,IAAM,SAAcM,EAAGpV,GACnC,GAAIA,EAAI8kC,SAAU,OAAO,IAAIryB,EAAG,GAAG0F,MAAMjb,MACzC,GAAoB,IAAhB8C,EAAIga,KAAK,GAAU,OAAO5E,EAAE2F,QAEhC,IACIk7B,EAAM,IAAI7zC,MAAM,IACpB6zC,EAAI,GAAK,IAAIxjC,EAAG,GAAG0F,MAAMjb,MACzB+4C,EAAI,GAAK7gC,EACT,IAAK,IAAI/T,EAAI,EAAGA,EAAI40C,EAAI/0C,OAAQG,IAC9B40C,EAAI50C,GAAKnE,KAAK0d,IAAIq7B,EAAI50C,EAAI,GAAI+T,GAGhC,IAAIxU,EAAMq1C,EAAI,GACVC,EAAU,EACVC,EAAa,EACbjvC,EAAQlH,EAAI2lC,YAAc,GAK9B,IAJc,IAAVz+B,IACFA,EAAQ,IAGL7F,EAAIrB,EAAIkB,OAAS,EAAGG,GAAK,EAAGA,IAAK,CAEpC,IADA,IAAIyiC,EAAO9jC,EAAI2iC,MAAMthC,GACZC,EAAI4F,EAAQ,EAAG5F,GAAK,EAAGA,IAAK,CACnC,IAAIimC,EAAOzD,GAAQxiC,EAAK,EACpBV,IAAQq1C,EAAI,KACdr1C,EAAM1D,KAAKyyC,IAAI/uC,IAGL,IAAR2mC,GAAyB,IAAZ2O,GAKjBA,IAAY,EACZA,GAAW3O,GA9BE,MA+Bb4O,GACwC,IAAN90C,GAAiB,IAANC,KAE7CV,EAAM1D,KAAK0d,IAAIha,EAAKq1C,EAAIC,IACxBC,EAAa,EACbD,EAAU,IAXRC,EAAa,CAYjB,CACAjvC,EAAQ,EACV,CAEA,OAAOtG,CACT,EAEA4yC,EAAIp1C,UAAUq1C,UAAY,SAAoBzzC,GAC5C,IAAIgjC,EAAIhjC,EAAIwxC,KAAKt0C,KAAKmX,GAEtB,OAAO2uB,IAAMhjC,EAAMgjC,EAAEjoB,QAAUioB,CACjC,EAEAwQ,EAAIp1C,UAAUu1C,YAAc,SAAsB3zC,GAChD,IAAIY,EAAMZ,EAAI+a,QAEd,OADAna,EAAIwX,IAAM,KACHxX,CACT,EAMA6R,EAAGyT,KAAO,SAAelmB,GACvB,OAAO,IAAIo1C,EAAKp1C,EAClB,EAkBAtD,EAAS04C,EAAM5B,GAEf4B,EAAKh3C,UAAUq1C,UAAY,SAAoBzzC,GAC7C,OAAO9C,KAAKm4C,KAAKr1C,EAAIuwC,MAAMrzC,KAAKsR,OAClC,EAEA4mC,EAAKh3C,UAAUu1C,YAAc,SAAsB3zC,GACjD,IAAIgjC,EAAI9lC,KAAKm4C,KAAKr1C,EAAI4a,IAAI1d,KAAKo4C,OAE/B,OADAtS,EAAE5qB,IAAM,KACD4qB,CACT,EAEAoS,EAAKh3C,UAAUutC,KAAO,SAAev2B,EAAGC,GACtC,GAAID,EAAE0vB,UAAYzvB,EAAEyvB,SAGlB,OAFA1vB,EAAEutB,MAAM,GAAK,EACbvtB,EAAElU,OAAS,EACJkU,EAGT,IAAI0F,EAAI1F,EAAEu2B,KAAKt2B,GACXxG,EAAIiM,EAAE61B,MAAMzzC,KAAKsR,OAAOoM,IAAI1d,KAAKq4C,MAAM7E,OAAOxzC,KAAKsR,OAAOoM,IAAI1d,KAAKmX,GACnE+hC,EAAIt7B,EAAE4sB,KAAK74B,GAAGoM,OAAO/d,KAAKsR,OAC1B5N,EAAMw1C,EAQV,OANIA,EAAE78B,IAAIrc,KAAKmX,IAAM,EACnBzT,EAAMw1C,EAAE1O,KAAKxqC,KAAKmX,GACT+hC,EAAEp8B,KAAK,GAAK,IACrBpZ,EAAMw1C,EAAE3O,KAAKvqC,KAAKmX,IAGbzT,EAAI8yC,UAAUx2C,KACvB,EAEAk4C,EAAKh3C,UAAUwc,IAAM,SAAcxF,EAAGC,GACpC,GAAID,EAAE0vB,UAAYzvB,EAAEyvB,SAAU,OAAO,IAAIryB,EAAG,GAAGihC,UAAUx2C,MAEzD,IAAI4d,EAAI1F,EAAEwF,IAAIvF,GACVxG,EAAIiM,EAAE61B,MAAMzzC,KAAKsR,OAAOoM,IAAI1d,KAAKq4C,MAAM7E,OAAOxzC,KAAKsR,OAAOoM,IAAI1d,KAAKmX,GACnE+hC,EAAIt7B,EAAE4sB,KAAK74B,GAAGoM,OAAO/d,KAAKsR,OAC1B5N,EAAMw1C,EAOV,OANIA,EAAE78B,IAAIrc,KAAKmX,IAAM,EACnBzT,EAAMw1C,EAAE1O,KAAKxqC,KAAKmX,GACT+hC,EAAEp8B,KAAK,GAAK,IACrBpZ,EAAMw1C,EAAE3O,KAAKvqC,KAAKmX,IAGbzT,EAAI8yC,UAAUx2C,KACvB,EAEAk4C,EAAKh3C,UAAUw0C,KAAO,SAAex9B,GAGnC,OADUlY,KAAKm4C,KAAKjgC,EAAEs9B,OAAOx1C,KAAKmX,GAAGuG,IAAI1d,KAAK00C,KACnC8B,UAAUx2C,KACvB,CACD,CAr3GD,C,WAq3G4CA,K,iBCr3G5C,IAAIqK,EAAM,EAAQ,KACdhL,EAAS,eACT2I,EAAY,EAAQ,MACpBxI,EAAW,EAAQ,MACnBiyD,EAAQ,EAAQ,MAChBznB,EAAM,EAAQ,KACd0nB,EAAS,EAAQ,MAqCrB,SAAS/6B,EAAc/rB,EAAM7J,EAAK4J,EAAIG,GACpC9C,EAAUjI,KAAKC,MAEf,IAAIwpB,EAAInqB,EAAOqb,MAAM,EAAG,GAExB1a,KAAK42B,QAAU,IAAIvsB,EAAIod,IAAI1mB,GAC3B,IAAI4wD,EAAK3xD,KAAK42B,QAAQrO,aAAaiB,GACnCxpB,KAAK4xD,OAAS,IAAIH,EAAME,GACxBhnD,EA/BF,SAAiBuB,EAAMvB,EAAIgnD,GACzB,GAAkB,KAAdhnD,EAAG3G,OAEL,OADAkI,EAAK2lD,OAASxyD,EAAOqM,OAAO,CAACf,EAAItL,EAAO2B,KAAK,CAAC,EAAG,EAAG,EAAG,MAChD3B,EAAOqM,OAAO,CAACf,EAAItL,EAAO2B,KAAK,CAAC,EAAG,EAAG,EAAG,MAElD,IAAI8wD,EAAQ,IAAIL,EAAME,GAClB1oD,EAAM0B,EAAG3G,OACT+tD,EAAQ9oD,EAAM,GAClB6oD,EAAMxwD,OAAOqJ,GACTonD,IACFA,EAAQ,GAAKA,EACbD,EAAMxwD,OAAOjC,EAAOqb,MAAMq3C,EAAO,KAEnCD,EAAMxwD,OAAOjC,EAAOqb,MAAM,EAAG,IAC7B,IAAIs3C,EAAe,EAAN/oD,EACT6I,EAAOzS,EAAOqb,MAAM,GACxB5I,EAAKmgD,YAAYD,EAAQ,EAAG,GAC5BF,EAAMxwD,OAAOwQ,GACb5F,EAAK2lD,OAASC,EAAMzqD,MACpB,IAAIT,EAAMvH,EAAO2B,KAAKkL,EAAK2lD,QAE3B,OADAH,EAAO9qD,GACAA,CACT,CASOsrD,CAAOlyD,KAAM2K,EAAIgnD,GAEtB3xD,KAAK62B,MAAQx3B,EAAO2B,KAAK2J,GACzB3K,KAAK82B,OAASz3B,EAAO2S,YAAY,GACjChS,KAAK+2B,UAAY13B,EAAO2S,YAAY,GACpChS,KAAKg3B,SAAWlsB,EAChB9K,KAAKmyD,MAAQ,EACbnyD,KAAK2e,KAAO,EACZ3e,KAAKi3B,MAAQrsB,EAEb5K,KAAKoyD,SAAW,KAChBpyD,KAAKqyD,SAAU,CACjB,CAEA7yD,EAASm3B,EAAc3uB,GAEvB2uB,EAAaz1B,UAAU8d,QAAU,SAAU/P,GACzC,IAAKjP,KAAKqyD,SAAWryD,KAAKmyD,MAAO,CAC/B,IAAIG,EAAO,GAAMtyD,KAAKmyD,MAAQ,GAC1BG,EAAO,KACTA,EAAOjzD,EAAOqb,MAAM43C,EAAM,GAC1BtyD,KAAK4xD,OAAOtwD,OAAOgxD,GAEvB,CAEAtyD,KAAKqyD,SAAU,EACf,IAAIzrD,EAAM5G,KAAKi3B,MAAMC,QAAQl3B,KAAMiP,GAOnC,OANIjP,KAAKg3B,SACPh3B,KAAK4xD,OAAOtwD,OAAO2N,GAEnBjP,KAAK4xD,OAAOtwD,OAAOsF,GAErB5G,KAAK2e,MAAQ1P,EAAMjL,OACZ4C,CACT,EAEA+vB,EAAaz1B,UAAUi2B,OAAS,WAC9B,GAAIn3B,KAAKg3B,WAAah3B,KAAKoyD,SAAU,MAAM,IAAIlyD,MAAM,oDAErD,IAAIkD,EAAM4mC,EAAIhqC,KAAK4xD,OAAOW,MAAmB,EAAbvyD,KAAKmyD,MAAuB,EAAZnyD,KAAK2e,MAAW3e,KAAK42B,QAAQrO,aAAavoB,KAAK6xD,SAC/F,GAAI7xD,KAAKg3B,UAnFX,SAAkB9e,EAAGC,GACnB,IAAIvR,EAAM,EACNsR,EAAElU,SAAWmU,EAAEnU,QAAQ4C,IAG3B,IADA,IAAIqC,EAAMqE,KAAK8K,IAAIF,EAAElU,OAAQmU,EAAEnU,QACtBG,EAAI,EAAGA,EAAI8E,IAAO9E,EACzByC,GAAQsR,EAAE/T,GAAKgU,EAAEhU,GAGnB,OAAOyC,CACT,CAyEuB4rD,CAAQpvD,EAAKpD,KAAKoyD,UAAW,MAAM,IAAIlyD,MAAM,oDAElEF,KAAKoyD,SAAWhvD,EAChBpD,KAAK42B,QAAQlO,OACf,EAEAiO,EAAaz1B,UAAUuxD,WAAa,WAClC,GAAIzyD,KAAKg3B,WAAa33B,EAAOmH,SAASxG,KAAKoyD,UAAW,MAAM,IAAIlyD,MAAM,mDAEtE,OAAOF,KAAKoyD,QACd,EAEAz7B,EAAaz1B,UAAUwxD,WAAa,SAAqBtvD,GACvD,IAAKpD,KAAKg3B,SAAU,MAAM,IAAI92B,MAAM,mDAEpCF,KAAKoyD,SAAWhvD,CAClB,EAEAuzB,EAAaz1B,UAAUyxD,OAAS,SAAiBnuD,GAC/C,GAAIxE,KAAKqyD,QAAS,MAAM,IAAInyD,MAAM,8CAElCF,KAAK4xD,OAAOtwD,OAAOkD,GACnBxE,KAAKmyD,OAAS3tD,EAAIR,MACpB,EAEAnC,EAAOC,QAAU60B,C,2BCpHjB70B,EAAQ,WAAa,CACnBf,IAAK,EACL4J,GAAI,GAEN7I,EAAQ,WAAaA,EAAQ8wD,IAAM,CACjC7xD,IAAK,EACL4J,GAAI,GAEN7I,EAAQ,gBAAkBA,EAAQ+wD,KAAO,CACvC9xD,IAAK,GACL4J,GAAI,GAEN7I,EAAQ,YAAc,CACpBf,IAAK,GACL4J,GAAI,GAEN7I,EAAQ,eAAiB,CACvBf,IAAK,GACL4J,GAAI,GAEN7I,EAAQ,WAAa,CACnBf,IAAK,GACL4J,GAAI,E,qBCtBF0D,E,SAEJ,GAAI,WAAO1G,SAAW,WAAOA,QAAQ6wB,QACnCnqB,EAAkB,aACb,GAAI,WAAO1G,SAAW,WAAOA,QAAQ+wB,QAAS,CAGnDrqB,EAFoBmE,SAAS7K,EAAQ+wB,QAAQzzB,MAAM,KAAK,GAAGG,MAAM,GAAI,KAElC,EAAI,QAAU,QACnD,MACEiJ,EAAkB,QAEpBxM,EAAOC,QAAUuM,C,sCCXjBxM,EAAOC,QAAU,SAAkBqI,GACjC,OAAOA,aAAe9K,CACxB,C,wBCFA,SAAWwC,EAAQC,GAIjB,SAAS2T,EAAQ+X,EAAK/jB,GACpB,IAAK+jB,EAAK,MAAM,IAAIttB,MAAMuJ,GAAO,mBACnC,CAIA,SAASjK,EAAU0lC,EAAMC,GACvBD,EAAKE,OAASD,EACd,IAAIE,EAAW,WAAa,EAC5BA,EAASnkC,UAAYikC,EAAUjkC,UAC/BgkC,EAAKhkC,UAAY,IAAImkC,EACrBH,EAAKhkC,UAAUsH,YAAc08B,CAC/B,CAIA,SAAS3vB,EAAIyP,EAAQ/iB,EAAMqjC,GACzB,GAAI/vB,EAAGgwB,KAAKvgB,GACV,OAAOA,EAGThlB,KAAKwlC,SAAW,EAChBxlC,KAAKylC,MAAQ,KACbzlC,KAAKgE,OAAS,EAGdhE,KAAKkb,IAAM,KAEI,OAAX8J,IACW,OAAT/iB,GAA0B,OAATA,IACnBqjC,EAASrjC,EACTA,EAAO,IAGTjC,KAAKyC,MAAMuiB,GAAU,EAAG/iB,GAAQ,GAAIqjC,GAAU,MAElD,CAUA,IAAIjmC,EATkB,iBAAXwC,EACTA,EAAOC,QAAUyT,EAEjBzT,EAAQyT,GAAKA,EAGfA,EAAGA,GAAKA,EACRA,EAAGmwB,SAAW,GAGd,IAEIrmC,EADoB,oBAAX4M,aAAmD,IAAlBA,OAAO5M,OACxC4M,OAAO5M,OAEP,cAEb,CAAE,MAAO6X,GACT,CA+HA,SAASyuB,EAAehhB,EAAQhQ,GAC9B,IAAIhD,EAAIgT,EAAOjgB,WAAWiQ,GAE1B,OAAIhD,GAAK,IAAMA,GAAK,GACXA,EAAI,GAEFA,GAAK,IAAMA,GAAK,IAClBA,EAAI,GAGHA,EAAI,GAAM,EAEtB,CAEA,SAASi0B,EAAcjhB,EAAQkhB,EAAYlxB,GACzC,IAAImxB,EAAIH,EAAchhB,EAAQhQ,GAI9B,OAHIA,EAAQ,GAAKkxB,IACfC,GAAKH,EAAchhB,EAAQhQ,EAAQ,IAAM,GAEpCmxB,CACT,CA6CA,SAASC,EAAWzhC,EAAK0F,EAAOxI,EAAKkc,GAGnC,IAFA,IAAIooB,EAAI,EACJ78B,EAAMqE,KAAK8K,IAAI9T,EAAIN,OAAQxC,GACtB2C,EAAI6F,EAAO7F,EAAI8E,EAAK9E,IAAK,CAChC,IAAIwN,EAAIrN,EAAII,WAAWP,GAAK,GAE5B2hC,GAAKpoB,EAIHooB,GADEn0B,GAAK,GACFA,EAAI,GAAK,GAGLA,GAAK,GACTA,EAAI,GAAK,GAITA,CAET,CACA,OAAOm0B,CACT,CApNAvwB,EAAGgwB,KAAO,SAAeziC,GACvB,OAAIA,aAAeyS,GAIJ,OAARzS,GAA+B,iBAARA,GAC5BA,EAAI0F,YAAYk9B,WAAanwB,EAAGmwB,UAAYxgC,MAAMC,QAAQrC,EAAI2iC,MAClE,EAEAlwB,EAAG2K,IAAM,SAAc8lB,EAAMC,GAC3B,OAAID,EAAK3pB,IAAI4pB,GAAS,EAAUD,EACzBC,CACT,EAEA1wB,EAAG6C,IAAM,SAAc4tB,EAAMC,GAC3B,OAAID,EAAK3pB,IAAI4pB,GAAS,EAAUD,EACzBC,CACT,EAEA1wB,EAAGrU,UAAUuB,MAAQ,SAAeuiB,EAAQ/iB,EAAMqjC,GAChD,GAAsB,iBAAXtgB,EACT,OAAOhlB,KAAKkmC,YAAYlhB,EAAQ/iB,EAAMqjC,GAGxC,GAAsB,iBAAXtgB,EACT,OAAOhlB,KAAKmmC,WAAWnhB,EAAQ/iB,EAAMqjC,GAG1B,QAATrjC,IACFA,EAAO,IAETwT,EAAOxT,KAAiB,EAAPA,IAAaA,GAAQ,GAAKA,GAAQ,IAGnD,IAAI+H,EAAQ,EACM,OAFlBgb,EAASA,EAAOrjB,WAAWgI,QAAQ,OAAQ,KAEhC,KACTK,IACAhK,KAAKwlC,SAAW,GAGdx7B,EAAQgb,EAAOhhB,SACJ,KAAT/B,EACFjC,KAAKomC,UAAUphB,EAAQhb,EAAOs7B,IAE9BtlC,KAAKqmC,WAAWrhB,EAAQ/iB,EAAM+H,GACf,OAAXs7B,GACFtlC,KAAKmmC,WAAWnmC,KAAK0G,UAAWzE,EAAMqjC,IAI9C,EAEA/vB,EAAGrU,UAAUglC,YAAc,SAAsBlhB,EAAQ/iB,EAAMqjC,GACzDtgB,EAAS,IACXhlB,KAAKwlC,SAAW,EAChBxgB,GAAUA,GAERA,EAAS,UACXhlB,KAAKylC,MAAQ,CAAW,SAATzgB,GACfhlB,KAAKgE,OAAS,GACLghB,EAAS,kBAClBhlB,KAAKylC,MAAQ,CACF,SAATzgB,EACCA,EAAS,SAAa,UAEzBhlB,KAAKgE,OAAS,IAEdyR,EAAOuP,EAAS,kBAChBhlB,KAAKylC,MAAQ,CACF,SAATzgB,EACCA,EAAS,SAAa,SACvB,GAEFhlB,KAAKgE,OAAS,GAGD,OAAXshC,GAGJtlC,KAAKmmC,WAAWnmC,KAAK0G,UAAWzE,EAAMqjC,EACxC,EAEA/vB,EAAGrU,UAAUilC,WAAa,SAAqBnhB,EAAQ/iB,EAAMqjC,GAG3D,GADA7vB,EAAgC,iBAAlBuP,EAAOhhB,QACjBghB,EAAOhhB,QAAU,EAGnB,OAFAhE,KAAKylC,MAAQ,CAAE,GACfzlC,KAAKgE,OAAS,EACPhE,KAGTA,KAAKgE,OAASsJ,KAAK8qB,KAAKpT,EAAOhhB,OAAS,GACxChE,KAAKylC,MAAQ,IAAIvgC,MAAMlF,KAAKgE,QAC5B,IAAK,IAAIG,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAC/BnE,KAAKylC,MAAMthC,GAAK,EAGlB,IAAIC,EAAGkiC,EACHzN,EAAM,EACV,GAAe,OAAXyM,EACF,IAAKnhC,EAAI6gB,EAAOhhB,OAAS,EAAGI,EAAI,EAAGD,GAAK,EAAGA,GAAK,EAC9CmiC,EAAIthB,EAAO7gB,GAAM6gB,EAAO7gB,EAAI,IAAM,EAAM6gB,EAAO7gB,EAAI,IAAM,GACzDnE,KAAKylC,MAAMrhC,IAAOkiC,GAAKzN,EAAO,SAC9B74B,KAAKylC,MAAMrhC,EAAI,GAAMkiC,IAAO,GAAKzN,EAAQ,UACzCA,GAAO,KACI,KACTA,GAAO,GACPz0B,UAGC,GAAe,OAAXkhC,EACT,IAAKnhC,EAAI,EAAGC,EAAI,EAAGD,EAAI6gB,EAAOhhB,OAAQG,GAAK,EACzCmiC,EAAIthB,EAAO7gB,GAAM6gB,EAAO7gB,EAAI,IAAM,EAAM6gB,EAAO7gB,EAAI,IAAM,GACzDnE,KAAKylC,MAAMrhC,IAAOkiC,GAAKzN,EAAO,SAC9B74B,KAAKylC,MAAMrhC,EAAI,GAAMkiC,IAAO,GAAKzN,EAAQ,UACzCA,GAAO,KACI,KACTA,GAAO,GACPz0B,KAIN,OAAOpE,KAAKumC,OACd,EAwBAhxB,EAAGrU,UAAUklC,UAAY,SAAoBphB,EAAQhb,EAAOs7B,GAE1DtlC,KAAKgE,OAASsJ,KAAK8qB,MAAMpT,EAAOhhB,OAASgG,GAAS,GAClDhK,KAAKylC,MAAQ,IAAIvgC,MAAMlF,KAAKgE,QAC5B,IAAK,IAAIG,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAC/BnE,KAAKylC,MAAMthC,GAAK,EAIlB,IAGImiC,EAHAzN,EAAM,EACNz0B,EAAI,EAGR,GAAe,OAAXkhC,EACF,IAAKnhC,EAAI6gB,EAAOhhB,OAAS,EAAGG,GAAK6F,EAAO7F,GAAK,EAC3CmiC,EAAIV,EAAa5gB,EAAQhb,EAAO7F,IAAM00B,EACtC74B,KAAKylC,MAAMrhC,IAAU,SAAJkiC,EACbzN,GAAO,IACTA,GAAO,GACPz0B,GAAK,EACLpE,KAAKylC,MAAMrhC,IAAMkiC,IAAM,IAEvBzN,GAAO,OAKX,IAAK10B,GADa6gB,EAAOhhB,OAASgG,GACX,GAAM,EAAIA,EAAQ,EAAIA,EAAO7F,EAAI6gB,EAAOhhB,OAAQG,GAAK,EAC1EmiC,EAAIV,EAAa5gB,EAAQhb,EAAO7F,IAAM00B,EACtC74B,KAAKylC,MAAMrhC,IAAU,SAAJkiC,EACbzN,GAAO,IACTA,GAAO,GACPz0B,GAAK,EACLpE,KAAKylC,MAAMrhC,IAAMkiC,IAAM,IAEvBzN,GAAO,EAKb74B,KAAKumC,OACP,EA0BAhxB,EAAGrU,UAAUmlC,WAAa,SAAqBrhB,EAAQ/iB,EAAM+H,GAE3DhK,KAAKylC,MAAQ,CAAE,GACfzlC,KAAKgE,OAAS,EAGd,IAAK,IAAIwiC,EAAU,EAAGC,EAAU,EAAGA,GAAW,SAAWA,GAAWxkC,EAClEukC,IAEFA,IACAC,EAAWA,EAAUxkC,EAAQ,EAO7B,IALA,IAAIykC,EAAQ1hB,EAAOhhB,OAASgG,EACxB28B,EAAMD,EAAQF,EACdhlC,EAAM8L,KAAK8K,IAAIsuB,EAAOA,EAAQC,GAAO38B,EAErC48B,EAAO,EACFziC,EAAI6F,EAAO7F,EAAI3C,EAAK2C,GAAKqiC,EAChCI,EAAOb,EAAU/gB,EAAQ7gB,EAAGA,EAAIqiC,EAASvkC,GAEzCjC,KAAK6mC,MAAMJ,GACPzmC,KAAKylC,MAAM,GAAKmB,EAAO,SACzB5mC,KAAKylC,MAAM,IAAMmB,EAEjB5mC,KAAK8mC,OAAOF,GAIhB,GAAY,IAARD,EAAW,CACb,IAAI/uB,EAAM,EAGV,IAFAgvB,EAAOb,EAAU/gB,EAAQ7gB,EAAG6gB,EAAOhhB,OAAQ/B,GAEtCkC,EAAI,EAAGA,EAAIwiC,EAAKxiC,IACnByT,GAAO3V,EAGTjC,KAAK6mC,MAAMjvB,GACP5X,KAAKylC,MAAM,GAAKmB,EAAO,SACzB5mC,KAAKylC,MAAM,IAAMmB,EAEjB5mC,KAAK8mC,OAAOF,EAEhB,CAEA5mC,KAAKumC,OACP,EAEAhxB,EAAGrU,UAAU2F,KAAO,SAAe+L,GACjCA,EAAK6yB,MAAQ,IAAIvgC,MAAMlF,KAAKgE,QAC5B,IAAK,IAAIG,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAC/ByO,EAAK6yB,MAAMthC,GAAKnE,KAAKylC,MAAMthC,GAE7ByO,EAAK5O,OAAShE,KAAKgE,OACnB4O,EAAK4yB,SAAWxlC,KAAKwlC,SACrB5yB,EAAKsI,IAAMlb,KAAKkb,GAClB,EAEA3F,EAAGrU,UAAU2c,MAAQ,WACnB,IAAIioB,EAAI,IAAIvwB,EAAG,MAEf,OADAvV,KAAK6G,KAAKi/B,GACHA,CACT,EAEAvwB,EAAGrU,UAAU6lC,QAAU,SAAkBvhC,GACvC,KAAOxF,KAAKgE,OAASwB,GACnBxF,KAAKylC,MAAMzlC,KAAKgE,UAAY,EAE9B,OAAOhE,IACT,EAGAuV,EAAGrU,UAAUqlC,MAAQ,WACnB,KAAOvmC,KAAKgE,OAAS,GAAqC,IAAhChE,KAAKylC,MAAMzlC,KAAKgE,OAAS,IACjDhE,KAAKgE,SAEP,OAAOhE,KAAKgnC,WACd,EAEAzxB,EAAGrU,UAAU8lC,UAAY,WAKvB,OAHoB,IAAhBhnC,KAAKgE,QAAkC,IAAlBhE,KAAKylC,MAAM,KAClCzlC,KAAKwlC,SAAW,GAEXxlC,IACT,EAEAuV,EAAGrU,UAAU+Y,QAAU,WACrB,OAAQja,KAAKkb,IAAM,UAAY,SAAWlb,KAAK2B,SAAS,IAAM,GAChE,EAgCA,IAAIwxB,EAAQ,CACV,GACA,IACA,KACA,MACA,OACA,QACA,SACA,UACA,WACA,YACA,aACA,cACA,eACA,gBACA,iBACA,kBACA,mBACA,oBACA,qBACA,sBACA,uBACA,wBACA,yBACA,0BACA,2BACA,6BAGE8T,EAAa,CACf,EAAG,EACH,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EACvB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAClB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAClB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAClB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAGhBC,EAAa,CACf,EAAG,EACH,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAC5D,SAAU,IAAU,SAAU,SAAU,SAAU,QAAS,SAC3D,SAAU,SAAU,SAAU,SAAU,KAAU,QAAS,QAC3D,QAAS,QAAS,QAAS,SAAU,SAAU,SAAU,SACzD,MAAU,SAAU,SAAU,SAAU,SAAU,SAAU,UAsjB9D,SAASC,EAAYj7B,EAAMpJ,EAAK8D,GAC9BA,EAAI4+B,SAAW1iC,EAAI0iC,SAAWt5B,EAAKs5B,SACnC,IAAIv8B,EAAOiD,EAAKlI,OAASlB,EAAIkB,OAAU,EACvC4C,EAAI5C,OAASiF,EACbA,EAAOA,EAAM,EAAK,EAGlB,IAAIiP,EAAoB,EAAhBhM,EAAKu5B,MAAM,GACfttB,EAAmB,EAAfrV,EAAI2iC,MAAM,GACdK,EAAI5tB,EAAIC,EAERivB,EAAS,SAAJtB,EACLuB,EAASvB,EAAI,SAAa,EAC9Bl/B,EAAI6+B,MAAM,GAAK2B,EAEf,IAAK,IAAIzpB,EAAI,EAAGA,EAAI1U,EAAK0U,IAAK,CAM5B,IAHA,IAAI2pB,EAASD,IAAU,GACnBE,EAAgB,SAARF,EACRG,EAAOl6B,KAAK8K,IAAIuF,EAAG7a,EAAIkB,OAAS,GAC3BI,EAAIkJ,KAAK4S,IAAI,EAAGvC,EAAIzR,EAAKlI,OAAS,GAAII,GAAKojC,EAAMpjC,IAAK,CAC7D,IAAID,EAAKwZ,EAAIvZ,EAAK,EAIlBkjC,IADAxB,GAFA5tB,EAAoB,EAAhBhM,EAAKu5B,MAAMthC,KACfgU,EAAmB,EAAfrV,EAAI2iC,MAAMrhC,IACFmjC,GACG,SAAa,EAC5BA,EAAY,SAAJzB,CACV,CACAl/B,EAAI6+B,MAAM9nB,GAAa,EAAR4pB,EACfF,EAAiB,EAATC,CACV,CAOA,OANc,IAAVD,EACFzgC,EAAI6+B,MAAM9nB,GAAa,EAAR0pB,EAEfzgC,EAAI5C,SAGC4C,EAAI2/B,OACb,CA1lBAhxB,EAAGrU,UAAUS,SAAW,SAAmBM,EAAMwlC,GAI/C,IAAI7gC,EACJ,GAHA6gC,EAAoB,EAAVA,GAAe,EAGZ,MAJbxlC,EAAOA,GAAQ,KAIa,QAATA,EAAgB,CACjC2E,EAAM,GAGN,IAFA,IAAIiyB,EAAM,EACNwO,EAAQ,EACHljC,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAAK,CACpC,IAAImiC,EAAItmC,KAAKylC,MAAMthC,GACfyiC,GAA+B,UAArBN,GAAKzN,EAAOwO,IAAmB1lC,SAAS,IACtD0lC,EAASf,IAAO,GAAKzN,EAAQ,UAC7BA,GAAO,IACI,KACTA,GAAO,GACP10B,KAGAyC,EADY,IAAVygC,GAAeljC,IAAMnE,KAAKgE,OAAS,EAC/BmvB,EAAM,EAAIyT,EAAK5iC,QAAU4iC,EAAOhgC,EAEhCggC,EAAOhgC,CAEjB,CAIA,IAHc,IAAVygC,IACFzgC,EAAMygC,EAAM1lC,SAAS,IAAMiF,GAEtBA,EAAI5C,OAASyjC,GAAY,GAC9B7gC,EAAM,IAAMA,EAKd,OAHsB,IAAlB5G,KAAKwlC,WACP5+B,EAAM,IAAMA,GAEPA,CACT,CAEA,GAAI3E,KAAiB,EAAPA,IAAaA,GAAQ,GAAKA,GAAQ,GAAI,CAElD,IAAIylC,EAAYT,EAAWhlC,GAEvB0lC,EAAYT,EAAWjlC,GAC3B2E,EAAM,GACN,IAAI+K,EAAI3R,KAAK6d,QAEb,IADAlM,EAAE6zB,SAAW,GACL7zB,EAAEi2B,UAAU,CAClB,IAAI9B,EAAIn0B,EAAEk2B,KAAKF,GAAWhmC,SAASM,GAMjC2E,GALF+K,EAAIA,EAAEm2B,MAAMH,IAELC,SAGC9B,EAAIl/B,EAFJusB,EAAMuU,EAAY5B,EAAE9hC,QAAU8hC,EAAIl/B,CAI5C,CAIA,IAHI5G,KAAK4nC,WACPhhC,EAAM,IAAMA,GAEPA,EAAI5C,OAASyjC,GAAY,GAC9B7gC,EAAM,IAAMA,EAKd,OAHsB,IAAlB5G,KAAKwlC,WACP5+B,EAAM,IAAMA,GAEPA,CACT,CAEA6O,GAAO,EAAO,kCAChB,EAEAF,EAAGrU,UAAU6mC,SAAW,WACtB,IAAI12B,EAAMrR,KAAKylC,MAAM,GASrB,OARoB,IAAhBzlC,KAAKgE,OACPqN,GAAuB,SAAhBrR,KAAKylC,MAAM,GACO,IAAhBzlC,KAAKgE,QAAkC,IAAlBhE,KAAKylC,MAAM,GAEzCp0B,GAAO,iBAAoC,SAAhBrR,KAAKylC,MAAM,GAC7BzlC,KAAKgE,OAAS,GACvByR,GAAO,EAAO,8CAEU,IAAlBzV,KAAKwlC,UAAmBn0B,EAAMA,CACxC,EAEAkE,EAAGrU,UAAU8mC,OAAS,WACpB,OAAOhoC,KAAK2B,SAAS,GACvB,EAEA4T,EAAGrU,UAAU02B,SAAW,SAAmB0N,EAAQthC,GAEjD,OADAyR,OAAyB,IAAXpW,GACPW,KAAKioC,YAAY5oC,EAAQimC,EAAQthC,EAC1C,EAEAuR,EAAGrU,UAAUwF,QAAU,SAAkB4+B,EAAQthC,GAC/C,OAAOhE,KAAKioC,YAAY/iC,MAAOogC,EAAQthC,EACzC,EAEAuR,EAAGrU,UAAU+mC,YAAc,SAAsBC,EAAW5C,EAAQthC,GAClE,IAAI2Y,EAAa3c,KAAK2c,aAClBwrB,EAAYnkC,GAAUsJ,KAAK4S,IAAI,EAAGvD,GACtClH,EAAOkH,GAAcwrB,EAAW,yCAChC1yB,EAAO0yB,EAAY,EAAG,+BAEtBnoC,KAAKumC,QACL,IAGIpuB,EAAGhU,EAHHikC,EAA0B,OAAX9C,EACf5hC,EAAM,IAAIwkC,EAAUC,GAGpBE,EAAIroC,KAAK6d,QACb,GAAKuqB,EAYE,CACL,IAAKjkC,EAAI,GAAIkkC,EAAET,SAAUzjC,IACvBgU,EAAIkwB,EAAErqB,MAAM,KACZqqB,EAAEtqB,OAAO,GAETra,EAAIS,GAAKgU,EAGX,KAAOhU,EAAIgkC,EAAWhkC,IACpBT,EAAIS,GAAK,CAEb,KAvBmB,CAEjB,IAAKA,EAAI,EAAGA,EAAIgkC,EAAYxrB,EAAYxY,IACtCT,EAAIS,GAAK,EAGX,IAAKA,EAAI,GAAIkkC,EAAET,SAAUzjC,IACvBgU,EAAIkwB,EAAErqB,MAAM,KACZqqB,EAAEtqB,OAAO,GAETra,EAAIykC,EAAYhkC,EAAI,GAAKgU,CAE7B,CAaA,OAAOzU,CACT,EAEI4J,KAAKg7B,MACP/yB,EAAGrU,UAAUqnC,WAAa,SAAqBjC,GAC7C,OAAO,GAAKh5B,KAAKg7B,MAAMhC,EACzB,EAEA/wB,EAAGrU,UAAUqnC,WAAa,SAAqBjC,GAC7C,IAAI1oB,EAAI0oB,EACJR,EAAI,EAiBR,OAhBIloB,GAAK,OACPkoB,GAAK,GACLloB,KAAO,IAELA,GAAK,KACPkoB,GAAK,EACLloB,KAAO,GAELA,GAAK,IACPkoB,GAAK,EACLloB,KAAO,GAELA,GAAK,IACPkoB,GAAK,EACLloB,KAAO,GAEFkoB,EAAIloB,CACb,EAGFrI,EAAGrU,UAAUsnC,UAAY,SAAoBlC,GAE3C,GAAU,IAANA,EAAS,OAAO,GAEpB,IAAI1oB,EAAI0oB,EACJR,EAAI,EAoBR,OAnBS,KAAJloB,IACHkoB,GAAK,GACLloB,KAAO,IAEA,IAAJA,IACHkoB,GAAK,EACLloB,KAAO,GAEA,GAAJA,IACHkoB,GAAK,EACLloB,KAAO,GAEA,EAAJA,IACHkoB,GAAK,EACLloB,KAAO,GAEA,EAAJA,GACHkoB,IAEKA,CACT,EAGAvwB,EAAGrU,UAAUunC,UAAY,WACvB,IAAInC,EAAItmC,KAAKylC,MAAMzlC,KAAKgE,OAAS,GAC7B0kC,EAAK1oC,KAAKuoC,WAAWjC,GACzB,OAA2B,IAAnBtmC,KAAKgE,OAAS,GAAU0kC,CAClC,EAgBAnzB,EAAGrU,UAAUynC,SAAW,WACtB,GAAI3oC,KAAK4nC,SAAU,OAAO,EAG1B,IADA,IAAI9B,EAAI,EACC3hC,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAAK,CACpC,IAAIgU,EAAInY,KAAKwoC,UAAUxoC,KAAKylC,MAAMthC,IAElC,GADA2hC,GAAK3tB,EACK,KAANA,EAAU,KAChB,CACA,OAAO2tB,CACT,EAEAvwB,EAAGrU,UAAUyb,WAAa,WACxB,OAAOrP,KAAK8qB,KAAKp4B,KAAKyoC,YAAc,EACtC,EAEAlzB,EAAGrU,UAAU0nC,OAAS,SAAiBC,GACrC,OAAsB,IAAlB7oC,KAAKwlC,SACAxlC,KAAK8X,MAAMgxB,MAAMD,GAAOE,MAAM,GAEhC/oC,KAAK6d,OACd,EAEAtI,EAAGrU,UAAU8nC,SAAW,SAAmBH,GACzC,OAAI7oC,KAAKipC,MAAMJ,EAAQ,GACd7oC,KAAKkpC,KAAKL,GAAOE,MAAM,GAAGI,OAE5BnpC,KAAK6d,OACd,EAEAtI,EAAGrU,UAAUkoC,MAAQ,WACnB,OAAyB,IAAlBppC,KAAKwlC,QACd,EAGAjwB,EAAGrU,UAAUmoC,IAAM,WACjB,OAAOrpC,KAAK6d,QAAQsrB,MACtB,EAEA5zB,EAAGrU,UAAUioC,KAAO,WAKlB,OAJKnpC,KAAK4nC,WACR5nC,KAAKwlC,UAAY,GAGZxlC,IACT,EAGAuV,EAAGrU,UAAUooC,KAAO,SAAexmC,GACjC,KAAO9C,KAAKgE,OAASlB,EAAIkB,QACvBhE,KAAKylC,MAAMzlC,KAAKgE,UAAY,EAG9B,IAAK,IAAIG,EAAI,EAAGA,EAAIrB,EAAIkB,OAAQG,IAC9BnE,KAAKylC,MAAMthC,GAAKnE,KAAKylC,MAAMthC,GAAKrB,EAAI2iC,MAAMthC,GAG5C,OAAOnE,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAUqoC,IAAM,SAAczmC,GAE/B,OADA2S,IAAQzV,KAAKwlC,SAAW1iC,EAAI0iC,WACrBxlC,KAAKspC,KAAKxmC,EACnB,EAGAyS,EAAGrU,UAAUsoC,GAAK,SAAa1mC,GAC7B,OAAI9C,KAAKgE,OAASlB,EAAIkB,OAAehE,KAAK6d,QAAQ0rB,IAAIzmC,GAC/CA,EAAI+a,QAAQ0rB,IAAIvpC,KACzB,EAEAuV,EAAGrU,UAAUuoC,IAAM,SAAc3mC,GAC/B,OAAI9C,KAAKgE,OAASlB,EAAIkB,OAAehE,KAAK6d,QAAQyrB,KAAKxmC,GAChDA,EAAI+a,QAAQyrB,KAAKtpC,KAC1B,EAGAuV,EAAGrU,UAAUwoC,MAAQ,SAAgB5mC,GAEnC,IAAIqV,EAEFA,EADEnY,KAAKgE,OAASlB,EAAIkB,OAChBlB,EAEA9C,KAGN,IAAK,IAAImE,EAAI,EAAGA,EAAIgU,EAAEnU,OAAQG,IAC5BnE,KAAKylC,MAAMthC,GAAKnE,KAAKylC,MAAMthC,GAAKrB,EAAI2iC,MAAMthC,GAK5C,OAFAnE,KAAKgE,OAASmU,EAAEnU,OAEThE,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAUyoC,KAAO,SAAe7mC,GAEjC,OADA2S,IAAQzV,KAAKwlC,SAAW1iC,EAAI0iC,WACrBxlC,KAAK0pC,MAAM5mC,EACpB,EAGAyS,EAAGrU,UAAU0oC,IAAM,SAAc9mC,GAC/B,OAAI9C,KAAKgE,OAASlB,EAAIkB,OAAehE,KAAK6d,QAAQ8rB,KAAK7mC,GAChDA,EAAI+a,QAAQ8rB,KAAK3pC,KAC1B,EAEAuV,EAAGrU,UAAU2oC,KAAO,SAAe/mC,GACjC,OAAI9C,KAAKgE,OAASlB,EAAIkB,OAAehE,KAAK6d,QAAQ6rB,MAAM5mC,GACjDA,EAAI+a,QAAQ6rB,MAAM1pC,KAC3B,EAGAuV,EAAGrU,UAAU4oC,MAAQ,SAAgBhnC,GAEnC,IAAIoV,EACAC,EACAnY,KAAKgE,OAASlB,EAAIkB,QACpBkU,EAAIlY,KACJmY,EAAIrV,IAEJoV,EAAIpV,EACJqV,EAAInY,MAGN,IAAK,IAAImE,EAAI,EAAGA,EAAIgU,EAAEnU,OAAQG,IAC5BnE,KAAKylC,MAAMthC,GAAK+T,EAAEutB,MAAMthC,GAAKgU,EAAEstB,MAAMthC,GAGvC,GAAInE,OAASkY,EACX,KAAO/T,EAAI+T,EAAElU,OAAQG,IACnBnE,KAAKylC,MAAMthC,GAAK+T,EAAEutB,MAAMthC,GAM5B,OAFAnE,KAAKgE,OAASkU,EAAElU,OAEThE,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAU6oC,KAAO,SAAejnC,GAEjC,OADA2S,IAAQzV,KAAKwlC,SAAW1iC,EAAI0iC,WACrBxlC,KAAK8pC,MAAMhnC,EACpB,EAGAyS,EAAGrU,UAAU8oC,IAAM,SAAclnC,GAC/B,OAAI9C,KAAKgE,OAASlB,EAAIkB,OAAehE,KAAK6d,QAAQksB,KAAKjnC,GAChDA,EAAI+a,QAAQksB,KAAK/pC,KAC1B,EAEAuV,EAAGrU,UAAU+oC,KAAO,SAAennC,GACjC,OAAI9C,KAAKgE,OAASlB,EAAIkB,OAAehE,KAAK6d,QAAQisB,MAAMhnC,GACjDA,EAAI+a,QAAQisB,MAAM9pC,KAC3B,EAGAuV,EAAGrU,UAAU4nC,MAAQ,SAAgBD,GACnCpzB,EAAwB,iBAAVozB,GAAsBA,GAAS,GAE7C,IAAIqB,EAAsC,EAAxB58B,KAAK8qB,KAAKyQ,EAAQ,IAChCsB,EAAWtB,EAAQ,GAGvB7oC,KAAK+mC,QAAQmD,GAETC,EAAW,GACbD,IAIF,IAAK,IAAI/lC,EAAI,EAAGA,EAAI+lC,EAAa/lC,IAC/BnE,KAAKylC,MAAMthC,GAAsB,UAAhBnE,KAAKylC,MAAMthC,GAS9B,OALIgmC,EAAW,IACbnqC,KAAKylC,MAAMthC,IAAMnE,KAAKylC,MAAMthC,GAAM,UAAc,GAAKgmC,GAIhDnqC,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAUgoC,KAAO,SAAeL,GACjC,OAAO7oC,KAAK6d,QAAQirB,MAAMD,EAC5B,EAGAtzB,EAAGrU,UAAUkpC,KAAO,SAAeC,EAAK7c,GACtC/X,EAAsB,iBAAR40B,GAAoBA,GAAO,GAEzC,IAAIxR,EAAOwR,EAAM,GAAM,EACnBC,EAAOD,EAAM,GAUjB,OARArqC,KAAK+mC,QAAQlO,EAAM,GAGjB74B,KAAKylC,MAAM5M,GADTrL,EACgBxtB,KAAKylC,MAAM5M,GAAQ,GAAKyR,EAExBtqC,KAAKylC,MAAM5M,KAAS,GAAKyR,GAGtCtqC,KAAKumC,OACd,EAGAhxB,EAAGrU,UAAUqpC,KAAO,SAAeznC,GACjC,IAAIgjC,EAkBA5tB,EAAGC,EAfP,GAAsB,IAAlBnY,KAAKwlC,UAAmC,IAAjB1iC,EAAI0iC,SAI7B,OAHAxlC,KAAKwlC,SAAW,EAChBM,EAAI9lC,KAAKwqC,KAAK1nC,GACd9C,KAAKwlC,UAAY,EACVxlC,KAAKgnC,YAGP,GAAsB,IAAlBhnC,KAAKwlC,UAAmC,IAAjB1iC,EAAI0iC,SAIpC,OAHA1iC,EAAI0iC,SAAW,EACfM,EAAI9lC,KAAKwqC,KAAK1nC,GACdA,EAAI0iC,SAAW,EACRM,EAAEkB,YAKPhnC,KAAKgE,OAASlB,EAAIkB,QACpBkU,EAAIlY,KACJmY,EAAIrV,IAEJoV,EAAIpV,EACJqV,EAAInY,MAIN,IADA,IAAIqnC,EAAQ,EACHljC,EAAI,EAAGA,EAAIgU,EAAEnU,OAAQG,IAC5B2hC,GAAkB,EAAb5tB,EAAEutB,MAAMthC,KAAwB,EAAbgU,EAAEstB,MAAMthC,IAAUkjC,EAC1CrnC,KAAKylC,MAAMthC,GAAS,SAAJ2hC,EAChBuB,EAAQvB,IAAM,GAEhB,KAAiB,IAAVuB,GAAeljC,EAAI+T,EAAElU,OAAQG,IAClC2hC,GAAkB,EAAb5tB,EAAEutB,MAAMthC,IAAUkjC,EACvBrnC,KAAKylC,MAAMthC,GAAS,SAAJ2hC,EAChBuB,EAAQvB,IAAM,GAIhB,GADA9lC,KAAKgE,OAASkU,EAAElU,OACF,IAAVqjC,EACFrnC,KAAKylC,MAAMzlC,KAAKgE,QAAUqjC,EAC1BrnC,KAAKgE,cAEA,GAAIkU,IAAMlY,KACf,KAAOmE,EAAI+T,EAAElU,OAAQG,IACnBnE,KAAKylC,MAAMthC,GAAK+T,EAAEutB,MAAMthC,GAI5B,OAAOnE,IACT,EAGAuV,EAAGrU,UAAUmc,IAAM,SAAcva,GAC/B,IAAIY,EACJ,OAAqB,IAAjBZ,EAAI0iC,UAAoC,IAAlBxlC,KAAKwlC,UAC7B1iC,EAAI0iC,SAAW,EACf9hC,EAAM1D,KAAKyqC,IAAI3nC,GACfA,EAAI0iC,UAAY,EACT9hC,GACmB,IAAjBZ,EAAI0iC,UAAoC,IAAlBxlC,KAAKwlC,UACpCxlC,KAAKwlC,SAAW,EAChB9hC,EAAMZ,EAAI2nC,IAAIzqC,MACdA,KAAKwlC,SAAW,EACT9hC,GAGL1D,KAAKgE,OAASlB,EAAIkB,OAAehE,KAAK6d,QAAQ0sB,KAAKznC,GAEhDA,EAAI+a,QAAQ0sB,KAAKvqC,KAC1B,EAGAuV,EAAGrU,UAAUspC,KAAO,SAAe1nC,GAEjC,GAAqB,IAAjBA,EAAI0iC,SAAgB,CACtB1iC,EAAI0iC,SAAW,EACf,IAAIM,EAAI9lC,KAAKuqC,KAAKznC,GAElB,OADAA,EAAI0iC,SAAW,EACRM,EAAEkB,WAGX,CAAO,GAAsB,IAAlBhnC,KAAKwlC,SAId,OAHAxlC,KAAKwlC,SAAW,EAChBxlC,KAAKuqC,KAAKznC,GACV9C,KAAKwlC,SAAW,EACTxlC,KAAKgnC,YAId,IAWI9uB,EAAGC,EAXHkE,EAAMrc,KAAKqc,IAAIvZ,GAGnB,GAAY,IAARuZ,EAIF,OAHArc,KAAKwlC,SAAW,EAChBxlC,KAAKgE,OAAS,EACdhE,KAAKylC,MAAM,GAAK,EACTzlC,KAKLqc,EAAM,GACRnE,EAAIlY,KACJmY,EAAIrV,IAEJoV,EAAIpV,EACJqV,EAAInY,MAIN,IADA,IAAIqnC,EAAQ,EACHljC,EAAI,EAAGA,EAAIgU,EAAEnU,OAAQG,IAE5BkjC,GADAvB,GAAkB,EAAb5tB,EAAEutB,MAAMthC,KAAwB,EAAbgU,EAAEstB,MAAMthC,IAAUkjC,IAC7B,GACbrnC,KAAKylC,MAAMthC,GAAS,SAAJ2hC,EAElB,KAAiB,IAAVuB,GAAeljC,EAAI+T,EAAElU,OAAQG,IAElCkjC,GADAvB,GAAkB,EAAb5tB,EAAEutB,MAAMthC,IAAUkjC,IACV,GACbrnC,KAAKylC,MAAMthC,GAAS,SAAJ2hC,EAIlB,GAAc,IAAVuB,GAAeljC,EAAI+T,EAAElU,QAAUkU,IAAMlY,KACvC,KAAOmE,EAAI+T,EAAElU,OAAQG,IACnBnE,KAAKylC,MAAMthC,GAAK+T,EAAEutB,MAAMthC,GAU5B,OANAnE,KAAKgE,OAASsJ,KAAK4S,IAAIlgB,KAAKgE,OAAQG,GAEhC+T,IAAMlY,OACRA,KAAKwlC,SAAW,GAGXxlC,KAAKumC,OACd,EAGAhxB,EAAGrU,UAAUupC,IAAM,SAAc3nC,GAC/B,OAAO9C,KAAK6d,QAAQ2sB,KAAK1nC,EAC3B,EA8CA,IAAI4nC,EAAc,SAAsBx+B,EAAMpJ,EAAK8D,GACjD,IAIIwgC,EACAuD,EACAjC,EANAxwB,EAAIhM,EAAKu5B,MACTttB,EAAIrV,EAAI2iC,MACR1W,EAAInoB,EAAI6+B,MACR9zB,EAAI,EAIJi5B,EAAY,EAAP1yB,EAAE,GACP2yB,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAP7yB,EAAE,GACP8yB,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPhzB,EAAE,GACPizB,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPnzB,EAAE,GACPozB,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPtzB,EAAE,GACPuzB,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPzzB,EAAE,GACP0zB,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAP5zB,EAAE,GACP6zB,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAP/zB,EAAE,GACPg0B,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPl0B,EAAE,GACPm0B,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPr0B,EAAE,GACPs0B,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPv0B,EAAE,GACPw0B,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAP10B,EAAE,GACP20B,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAP70B,EAAE,GACP80B,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPh1B,EAAE,GACPi1B,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPn1B,EAAE,GACPo1B,EAAW,KAALD,EACNE,GAAMF,IAAO,GACbG,GAAY,EAAPt1B,EAAE,GACPu1B,GAAW,KAALD,GACNE,GAAMF,KAAO,GACbG,GAAY,EAAPz1B,EAAE,GACP01B,GAAW,KAALD,GACNE,GAAMF,KAAO,GACbG,GAAY,EAAP51B,EAAE,GACP61B,GAAW,KAALD,GACNE,GAAMF,KAAO,GACbG,GAAY,EAAP/1B,EAAE,GACPg2B,GAAW,KAALD,GACNE,GAAMF,KAAO,GACbG,GAAY,EAAPl2B,EAAE,GACPm2B,GAAW,KAALD,GACNE,GAAMF,KAAO,GAEjBznC,EAAI4+B,SAAWt5B,EAAKs5B,SAAW1iC,EAAI0iC,SACnC5+B,EAAI5C,OAAS,GAMb,IAAIwqC,IAAQ78B,GAJZy1B,EAAK95B,KAAKmhC,KAAK5D,EAAK8B,IAIE,KAAa,MAFnChC,GADAA,EAAMr9B,KAAKmhC,KAAK5D,EAAK+B,IACRt/B,KAAKmhC,KAAK3D,EAAK6B,GAAQ,KAEU,IAAO,EACrDh7B,IAFA+2B,EAAKp7B,KAAKmhC,KAAK3D,EAAK8B,KAEPjC,IAAQ,IAAO,IAAM6D,KAAO,IAAO,EAChDA,IAAM,SAENpH,EAAK95B,KAAKmhC,KAAKzD,EAAK2B,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAKzD,EAAK4B,IACRt/B,KAAKmhC,KAAKxD,EAAK0B,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAKxD,EAAK2B,GAKpB,IAAI8B,IAAQ/8B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAKiC,GAAQ,GAIZ,KAAa,MAFnCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAKkC,GAAQ,GACvBz/B,KAAKmhC,KAAK3D,EAAKgC,GAAQ,KAEU,IAAO,EACrDn7B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAKiC,GAAQ,IAErBpC,IAAQ,IAAO,IAAM+D,KAAO,IAAO,EAChDA,IAAM,SAENtH,EAAK95B,KAAKmhC,KAAKtD,EAAKwB,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAKtD,EAAKyB,IACRt/B,KAAKmhC,KAAKrD,EAAKuB,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAKrD,EAAKwB,GACpBxF,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAK8B,GAAQ,EAElCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAK+B,GAAQ,GACvBz/B,KAAKmhC,KAAKxD,EAAK6B,GAAQ,EACpCpE,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAK8B,GAAQ,EAKlC,IAAI4B,IAAQh9B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAKoC,GAAQ,GAIZ,KAAa,MAFnCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAKqC,GAAQ,GACvB5/B,KAAKmhC,KAAK3D,EAAKmC,GAAQ,KAEU,IAAO,EACrDt7B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAKoC,GAAQ,IAErBvC,IAAQ,IAAO,IAAMgE,KAAO,IAAO,EAChDA,IAAM,SAENvH,EAAK95B,KAAKmhC,KAAKnD,EAAKqB,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAKnD,EAAKsB,IACRt/B,KAAKmhC,KAAKlD,EAAKoB,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAKlD,EAAKqB,GACpBxF,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAK2B,GAAQ,EAElCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAK4B,GAAQ,GACvBz/B,KAAKmhC,KAAKrD,EAAK0B,GAAQ,EACpCpE,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAK2B,GAAQ,EAClC3F,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAKiC,GAAQ,EAElCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAKkC,GAAQ,GACvB5/B,KAAKmhC,KAAKxD,EAAKgC,GAAQ,EACpCvE,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAKiC,GAAQ,EAKlC,IAAI0B,IAAQj9B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAKuC,GAAQ,GAIZ,KAAa,MAFnCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAKwC,GAAQ,GACvB//B,KAAKmhC,KAAK3D,EAAKsC,GAAQ,KAEU,IAAO,EACrDz7B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAKuC,GAAQ,IAErB1C,IAAQ,IAAO,IAAMiE,KAAO,IAAO,EAChDA,IAAM,SAENxH,EAAK95B,KAAKmhC,KAAKhD,EAAKkB,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAKhD,EAAKmB,IACRt/B,KAAKmhC,KAAK/C,EAAKiB,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAK/C,EAAKkB,GACpBxF,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAKwB,GAAQ,EAElCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAKyB,GAAQ,GACvBz/B,KAAKmhC,KAAKlD,EAAKuB,GAAQ,EACpCpE,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAKwB,GAAQ,EAClC3F,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAK8B,GAAQ,EAElCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAK+B,GAAQ,GACvB5/B,KAAKmhC,KAAKrD,EAAK6B,GAAQ,EACpCvE,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAK8B,GAAQ,EAClC9F,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAKoC,GAAQ,EAElCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAKqC,GAAQ,GACvB//B,KAAKmhC,KAAKxD,EAAKmC,GAAQ,EACpC1E,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAKoC,GAAQ,EAKlC,IAAIwB,IAAQl9B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAK0C,GAAQ,GAIZ,KAAa,MAFnC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAK2C,IAAQ,GACvBlgC,KAAKmhC,KAAK3D,EAAKyC,GAAQ,KAEU,IAAO,EACrD57B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAK0C,IAAQ,IAErB7C,IAAQ,IAAO,IAAMkE,KAAO,IAAO,EAChDA,IAAM,SAENzH,EAAK95B,KAAKmhC,KAAK7C,EAAKe,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAK7C,EAAKgB,IACRt/B,KAAKmhC,KAAK5C,EAAKc,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAK5C,EAAKe,GACpBxF,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAKqB,GAAQ,EAElCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAKsB,GAAQ,GACvBz/B,KAAKmhC,KAAK/C,EAAKoB,GAAQ,EACpCpE,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAKqB,GAAQ,EAClC3F,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAK2B,GAAQ,EAElCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAK4B,GAAQ,GACvB5/B,KAAKmhC,KAAKlD,EAAK0B,GAAQ,EACpCvE,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAK2B,GAAQ,EAClC9F,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAKiC,GAAQ,EAElCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAKkC,GAAQ,GACvB//B,KAAKmhC,KAAKrD,EAAKgC,GAAQ,EACpC1E,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAKiC,GAAQ,EAClCjG,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAKuC,GAAQ,EAElC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAKwC,IAAQ,GACvBlgC,KAAKmhC,KAAKxD,EAAKsC,GAAQ,EACpC7E,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAKuC,IAAQ,EAKlC,IAAIsB,IAAQn9B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAK6C,IAAQ,GAIZ,KAAa,MAFnC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAK8C,IAAQ,GACvBrgC,KAAKmhC,KAAK3D,EAAK4C,IAAQ,KAEU,IAAO,EACrD/7B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAK6C,IAAQ,IAErBhD,IAAQ,IAAO,IAAMmE,KAAO,IAAO,EAChDA,IAAM,SAEN1H,EAAK95B,KAAKmhC,KAAK1C,EAAKY,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAK1C,EAAKa,IACRt/B,KAAKmhC,KAAKzC,EAAKW,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAKzC,EAAKY,GACpBxF,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAKkB,GAAQ,EAElCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAKmB,GAAQ,GACvBz/B,KAAKmhC,KAAK5C,EAAKiB,GAAQ,EACpCpE,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAKkB,GAAQ,EAClC3F,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAKwB,GAAQ,EAElCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAKyB,GAAQ,GACvB5/B,KAAKmhC,KAAK/C,EAAKuB,GAAQ,EACpCvE,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAKwB,GAAQ,EAClC9F,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAK8B,GAAQ,EAElCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAK+B,GAAQ,GACvB//B,KAAKmhC,KAAKlD,EAAK6B,GAAQ,EACpC1E,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAK8B,GAAQ,EAClCjG,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAKoC,GAAQ,EAElC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAKqC,IAAQ,GACvBlgC,KAAKmhC,KAAKrD,EAAKmC,GAAQ,EACpC7E,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAKoC,IAAQ,EAClCpG,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAK0C,IAAQ,EAElC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAK2C,IAAQ,GACvBrgC,KAAKmhC,KAAKxD,EAAKyC,IAAQ,EACpChF,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAK0C,IAAQ,EAKlC,IAAIoB,IAAQp9B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAKgD,IAAQ,GAIZ,KAAa,MAFnClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAKiD,IAAQ,GACvBxgC,KAAKmhC,KAAK3D,EAAK+C,IAAQ,KAEU,IAAO,EACrDl8B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAKgD,IAAQ,IAErBnD,IAAQ,IAAO,IAAMoE,KAAO,IAAO,EAChDA,IAAM,SAEN3H,EAAK95B,KAAKmhC,KAAKvC,EAAKS,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAKvC,EAAKU,IACRt/B,KAAKmhC,KAAKtC,EAAKQ,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAKtC,EAAKS,GACpBxF,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAKe,GAAQ,EAElCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAKgB,GAAQ,GACvBz/B,KAAKmhC,KAAKzC,EAAKc,GAAQ,EACpCpE,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAKe,GAAQ,EAClC3F,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAKqB,GAAQ,EAElCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAKsB,GAAQ,GACvB5/B,KAAKmhC,KAAK5C,EAAKoB,GAAQ,EACpCvE,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAKqB,GAAQ,EAClC9F,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAK2B,GAAQ,EAElCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAK4B,GAAQ,GACvB//B,KAAKmhC,KAAK/C,EAAK0B,GAAQ,EACpC1E,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAK2B,GAAQ,EAClCjG,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAKiC,GAAQ,EAElC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAKkC,IAAQ,GACvBlgC,KAAKmhC,KAAKlD,EAAKgC,GAAQ,EACpC7E,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAKiC,IAAQ,EAClCpG,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAKuC,IAAQ,EAElC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAKwC,IAAQ,GACvBrgC,KAAKmhC,KAAKrD,EAAKsC,IAAQ,EACpChF,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAKuC,IAAQ,EAClCvG,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAK6C,IAAQ,EAElClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAK8C,IAAQ,GACvBxgC,KAAKmhC,KAAKxD,EAAK4C,IAAQ,EACpCnF,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAK6C,IAAQ,EAKlC,IAAIkB,IAAQr9B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAKmD,IAAQ,GAIZ,KAAa,MAFnCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAKoD,IAAQ,GACvB3gC,KAAKmhC,KAAK3D,EAAKkD,IAAQ,KAEU,IAAO,EACrDr8B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAKmD,IAAQ,IAErBtD,IAAQ,IAAO,IAAMqE,KAAO,IAAO,EAChDA,IAAM,SAEN5H,EAAK95B,KAAKmhC,KAAKpC,EAAKM,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAKpC,EAAKO,IACRt/B,KAAKmhC,KAAKnC,EAAKK,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAKnC,EAAKM,GACpBxF,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAKY,GAAQ,EAElCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAKa,GAAQ,GACvBz/B,KAAKmhC,KAAKtC,EAAKW,GAAQ,EACpCpE,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAKY,GAAQ,EAClC3F,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAKkB,GAAQ,EAElCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAKmB,GAAQ,GACvB5/B,KAAKmhC,KAAKzC,EAAKiB,GAAQ,EACpCvE,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAKkB,GAAQ,EAClC9F,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAKwB,GAAQ,EAElCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAKyB,GAAQ,GACvB//B,KAAKmhC,KAAK5C,EAAKuB,GAAQ,EACpC1E,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAKwB,GAAQ,EAClCjG,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAK8B,GAAQ,EAElC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAK+B,IAAQ,GACvBlgC,KAAKmhC,KAAK/C,EAAK6B,GAAQ,EACpC7E,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAK8B,IAAQ,EAClCpG,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAKoC,IAAQ,EAElC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAKqC,IAAQ,GACvBrgC,KAAKmhC,KAAKlD,EAAKmC,IAAQ,EACpChF,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAKoC,IAAQ,EAClCvG,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAK0C,IAAQ,EAElClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAK2C,IAAQ,GACvBxgC,KAAKmhC,KAAKrD,EAAKyC,IAAQ,EACpCnF,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAK0C,IAAQ,EAClC1G,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAKgD,IAAQ,EAElCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAKiD,IAAQ,GACvB3gC,KAAKmhC,KAAKxD,EAAK+C,IAAQ,EACpCtF,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAKgD,IAAQ,EAKlC,IAAIgB,IAAQt9B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAKsD,IAAQ,GAIZ,KAAa,MAFnCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAKuD,IAAQ,GACvB9gC,KAAKmhC,KAAK3D,EAAKqD,IAAQ,KAEU,IAAO,EACrDx8B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAKsD,IAAQ,IAErBzD,IAAQ,IAAO,IAAMsE,KAAO,IAAO,EAChDA,IAAM,SAEN7H,EAAK95B,KAAKmhC,KAAKjC,EAAKG,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAKI,IACRt/B,KAAKmhC,KAAKhC,EAAKE,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAKhC,EAAKG,GACpBxF,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAKS,GAAQ,EAElCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAKU,GAAQ,GACvBz/B,KAAKmhC,KAAKnC,EAAKQ,GAAQ,EACpCpE,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAKS,GAAQ,EAClC3F,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAKe,GAAQ,EAElCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAKgB,GAAQ,GACvB5/B,KAAKmhC,KAAKtC,EAAKc,GAAQ,EACpCvE,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAKe,GAAQ,EAClC9F,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAKqB,GAAQ,EAElCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAKsB,GAAQ,GACvB//B,KAAKmhC,KAAKzC,EAAKoB,GAAQ,EACpC1E,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAKqB,GAAQ,EAClCjG,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAK2B,GAAQ,EAElC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAK4B,IAAQ,GACvBlgC,KAAKmhC,KAAK5C,EAAK0B,GAAQ,EACpC7E,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAK2B,IAAQ,EAClCpG,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAKiC,IAAQ,EAElC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAKkC,IAAQ,GACvBrgC,KAAKmhC,KAAK/C,EAAKgC,IAAQ,EACpChF,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAKiC,IAAQ,EAClCvG,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAKuC,IAAQ,EAElClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAKwC,IAAQ,GACvBxgC,KAAKmhC,KAAKlD,EAAKsC,IAAQ,EACpCnF,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAKuC,IAAQ,EAClC1G,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAK6C,IAAQ,EAElCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAK8C,IAAQ,GACvB3gC,KAAKmhC,KAAKrD,EAAK4C,IAAQ,EACpCtF,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAK6C,IAAQ,EAClC7G,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAKmD,IAAQ,EAElCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAKoD,IAAQ,GACvB9gC,KAAKmhC,KAAKxD,EAAKkD,IAAQ,EACpCzF,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAKmD,IAAQ,EAKlC,IAAIc,IAAQv9B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAKyD,IAAQ,GAIZ,KAAa,MAFnC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAK0D,IAAQ,GACvBjhC,KAAKmhC,KAAK3D,EAAKwD,IAAQ,KAEU,IAAO,EACrD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAKyD,IAAQ,IAErB5D,IAAQ,IAAO,IAAMuE,KAAO,IAAO,EAChDA,IAAM,SAEN9H,EAAK95B,KAAKmhC,KAAKjC,EAAKM,GAEpBnC,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAKO,IACRz/B,KAAKmhC,KAAKhC,EAAKK,GAAQ,EACpCpE,EAAKp7B,KAAKmhC,KAAKhC,EAAKM,GACpB3F,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAKY,GAAQ,EAElCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAKa,GAAQ,GACvB5/B,KAAKmhC,KAAKnC,EAAKW,GAAQ,EACpCvE,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAKY,GAAQ,EAClC9F,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAKkB,GAAQ,EAElCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAKmB,GAAQ,GACvB//B,KAAKmhC,KAAKtC,EAAKiB,GAAQ,EACpC1E,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAKkB,GAAQ,EAClCjG,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAKwB,GAAQ,EAElC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAKyB,IAAQ,GACvBlgC,KAAKmhC,KAAKzC,EAAKuB,GAAQ,EACpC7E,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAKwB,IAAQ,EAClCpG,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAK8B,IAAQ,EAElC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAK+B,IAAQ,GACvBrgC,KAAKmhC,KAAK5C,EAAK6B,IAAQ,EACpChF,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAK8B,IAAQ,EAClCvG,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAKoC,IAAQ,EAElClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAKqC,IAAQ,GACvBxgC,KAAKmhC,KAAK/C,EAAKmC,IAAQ,EACpCnF,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAKoC,IAAQ,EAClC1G,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAK0C,IAAQ,EAElCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAK2C,IAAQ,GACvB3gC,KAAKmhC,KAAKlD,EAAKyC,IAAQ,EACpCtF,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAK0C,IAAQ,EAClC7G,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAKgD,IAAQ,EAElCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAKiD,IAAQ,GACvB9gC,KAAKmhC,KAAKrD,EAAK+C,IAAQ,EACpCzF,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAKgD,IAAQ,EAKlC,IAAIe,IAASx9B,GAJby1B,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAKsD,IAAQ,GAIX,KAAa,MAFpC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAKuD,IAAQ,GACvBjhC,KAAKmhC,KAAKxD,EAAKqD,IAAQ,KAEW,IAAO,EACtD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAKsD,IAAQ,IAErB5D,IAAQ,IAAO,IAAMwE,KAAQ,IAAO,EACjDA,IAAO,SAEP/H,EAAK95B,KAAKmhC,KAAKjC,EAAKS,GAEpBtC,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAKU,IACR5/B,KAAKmhC,KAAKhC,EAAKQ,GAAQ,EACpCvE,EAAKp7B,KAAKmhC,KAAKhC,EAAKS,GACpB9F,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAKe,GAAQ,EAElCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAKgB,GAAQ,GACvB//B,KAAKmhC,KAAKnC,EAAKc,GAAQ,EACpC1E,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAKe,GAAQ,EAClCjG,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAKqB,GAAQ,EAElC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAKsB,IAAQ,GACvBlgC,KAAKmhC,KAAKtC,EAAKoB,GAAQ,EACpC7E,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAKqB,IAAQ,EAClCpG,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAK2B,IAAQ,EAElC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAK4B,IAAQ,GACvBrgC,KAAKmhC,KAAKzC,EAAK0B,IAAQ,EACpChF,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAK2B,IAAQ,EAClCvG,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAKiC,IAAQ,EAElClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAKkC,IAAQ,GACvBxgC,KAAKmhC,KAAK5C,EAAKgC,IAAQ,EACpCnF,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAKiC,IAAQ,EAClC1G,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAKuC,IAAQ,EAElCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAKwC,IAAQ,GACvB3gC,KAAKmhC,KAAK/C,EAAKsC,IAAQ,EACpCtF,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAKuC,IAAQ,EAClC7G,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAK6C,IAAQ,EAElCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAK8C,IAAQ,GACvB9gC,KAAKmhC,KAAKlD,EAAK4C,IAAQ,EACpCzF,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAK6C,IAAQ,EAKlC,IAAIgB,IAASz9B,GAJby1B,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAKmD,IAAQ,GAIX,KAAa,MAFpC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAKoD,IAAQ,GACvBjhC,KAAKmhC,KAAKrD,EAAKkD,IAAQ,KAEW,IAAO,EACtD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAKmD,IAAQ,IAErB5D,IAAQ,IAAO,IAAMyE,KAAQ,IAAO,EACjDA,IAAO,SAEPhI,EAAK95B,KAAKmhC,KAAKjC,EAAKY,GAEpBzC,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAKa,IACR//B,KAAKmhC,KAAKhC,EAAKW,GAAQ,EACpC1E,EAAKp7B,KAAKmhC,KAAKhC,EAAKY,GACpBjG,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAKkB,GAAQ,EAElC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAKmB,IAAQ,GACvBlgC,KAAKmhC,KAAKnC,EAAKiB,GAAQ,EACpC7E,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAKkB,IAAQ,EAClCpG,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAKwB,IAAQ,EAElC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAKyB,IAAQ,GACvBrgC,KAAKmhC,KAAKtC,EAAKuB,IAAQ,EACpChF,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAKwB,IAAQ,EAClCvG,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAK8B,IAAQ,EAElClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAK+B,IAAQ,GACvBxgC,KAAKmhC,KAAKzC,EAAK6B,IAAQ,EACpCnF,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAK8B,IAAQ,EAClC1G,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAKoC,IAAQ,EAElCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAKqC,IAAQ,GACvB3gC,KAAKmhC,KAAK5C,EAAKmC,IAAQ,EACpCtF,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAKoC,IAAQ,EAClC7G,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAK0C,IAAQ,EAElCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAK2C,IAAQ,GACvB9gC,KAAKmhC,KAAK/C,EAAKyC,IAAQ,EACpCzF,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAK0C,IAAQ,EAKlC,IAAIiB,IAAS19B,GAJby1B,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAKgD,IAAQ,GAIX,KAAa,MAFpC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAKiD,IAAQ,GACvBjhC,KAAKmhC,KAAKlD,EAAK+C,IAAQ,KAEW,IAAO,EACtD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAKgD,IAAQ,IAErB5D,IAAQ,IAAO,IAAM0E,KAAQ,IAAO,EACjDA,IAAO,SAEPjI,EAAK95B,KAAKmhC,KAAKjC,EAAKe,GAEpB5C,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAKgB,KACRlgC,KAAKmhC,KAAKhC,EAAKc,GAAQ,EACpC7E,EAAKp7B,KAAKmhC,KAAKhC,EAAKe,IACpBpG,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAKqB,IAAQ,EAElC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAKsB,IAAQ,GACvBrgC,KAAKmhC,KAAKnC,EAAKoB,IAAQ,EACpChF,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAKqB,IAAQ,EAClCvG,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAK2B,IAAQ,EAElClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAK4B,IAAQ,GACvBxgC,KAAKmhC,KAAKtC,EAAK0B,IAAQ,EACpCnF,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAK2B,IAAQ,EAClC1G,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAKiC,IAAQ,EAElCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAKkC,IAAQ,GACvB3gC,KAAKmhC,KAAKzC,EAAKgC,IAAQ,EACpCtF,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAKiC,IAAQ,EAClC7G,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAKuC,IAAQ,EAElCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAKwC,IAAQ,GACvB9gC,KAAKmhC,KAAK5C,EAAKsC,IAAQ,EACpCzF,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAKuC,IAAQ,EAKlC,IAAIkB,IAAS39B,GAJby1B,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAK6C,IAAQ,GAIX,KAAa,MAFpC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAK8C,IAAQ,GACvBjhC,KAAKmhC,KAAK/C,EAAK4C,IAAQ,KAEW,IAAO,EACtD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAK6C,IAAQ,IAErB5D,IAAQ,IAAO,IAAM2E,KAAQ,IAAO,EACjDA,IAAO,SAEPlI,EAAK95B,KAAKmhC,KAAKjC,EAAKkB,IAEpB/C,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAKmB,KACRrgC,KAAKmhC,KAAKhC,EAAKiB,IAAQ,EACpChF,EAAKp7B,KAAKmhC,KAAKhC,EAAKkB,IACpBvG,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAKwB,IAAQ,EAElClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAKyB,IAAQ,GACvBxgC,KAAKmhC,KAAKnC,EAAKuB,IAAQ,EACpCnF,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAKwB,IAAQ,EAClC1G,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAK8B,IAAQ,EAElCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAK+B,IAAQ,GACvB3gC,KAAKmhC,KAAKtC,EAAK6B,IAAQ,EACpCtF,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAK8B,IAAQ,EAClC7G,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAKoC,IAAQ,EAElCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAKqC,IAAQ,GACvB9gC,KAAKmhC,KAAKzC,EAAKmC,IAAQ,EACpCzF,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAKoC,IAAQ,EAKlC,IAAImB,IAAS59B,GAJby1B,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAK0C,IAAQ,GAIX,KAAa,MAFpC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAK2C,IAAQ,GACvBjhC,KAAKmhC,KAAK5C,EAAKyC,IAAQ,KAEW,IAAO,EACtD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAK0C,IAAQ,IAErB5D,IAAQ,IAAO,IAAM4E,KAAQ,IAAO,EACjDA,IAAO,SAEPnI,EAAK95B,KAAKmhC,KAAKjC,EAAKqB,IAEpBlD,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAKsB,KACRxgC,KAAKmhC,KAAKhC,EAAKoB,IAAQ,EACpCnF,EAAKp7B,KAAKmhC,KAAKhC,EAAKqB,IACpB1G,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAK2B,IAAQ,EAElCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAK4B,IAAQ,GACvB3gC,KAAKmhC,KAAKnC,EAAK0B,IAAQ,EACpCtF,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAK2B,IAAQ,EAClC7G,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAKiC,IAAQ,EAElCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAKkC,IAAQ,GACvB9gC,KAAKmhC,KAAKtC,EAAKgC,IAAQ,EACpCzF,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAKiC,IAAQ,EAKlC,IAAIoB,IAAS79B,GAJby1B,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAKuC,IAAQ,GAIX,KAAa,MAFpC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAKwC,IAAQ,GACvBjhC,KAAKmhC,KAAKzC,EAAKsC,IAAQ,KAEW,IAAO,EACtD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAKuC,IAAQ,IAErB5D,IAAQ,IAAO,IAAM6E,KAAQ,IAAO,EACjDA,IAAO,SAEPpI,EAAK95B,KAAKmhC,KAAKjC,EAAKwB,IAEpBrD,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAKyB,KACR3gC,KAAKmhC,KAAKhC,EAAKuB,IAAQ,EACpCtF,EAAKp7B,KAAKmhC,KAAKhC,EAAKwB,IACpB7G,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAK8B,IAAQ,EAElCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAK+B,IAAQ,GACvB9gC,KAAKmhC,KAAKnC,EAAK6B,IAAQ,EACpCzF,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAK8B,IAAQ,EAKlC,IAAIqB,IAAS99B,GAJby1B,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAKoC,IAAQ,GAIX,KAAa,MAFpC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAKqC,IAAQ,GACvBjhC,KAAKmhC,KAAKtC,EAAKmC,IAAQ,KAEW,IAAO,EACtD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAKoC,IAAQ,IAErB5D,IAAQ,IAAO,IAAM8E,KAAQ,IAAO,EACjDA,IAAO,SAEPrI,EAAK95B,KAAKmhC,KAAKjC,EAAK2B,IAEpBxD,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAK4B,KACR9gC,KAAKmhC,KAAKhC,EAAK0B,IAAQ,EACpCzF,EAAKp7B,KAAKmhC,KAAKhC,EAAK2B,IAKpB,IAAIsB,IAAS/9B,GAJby1B,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAKiC,IAAQ,GAIX,KAAa,MAFpC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAKkC,IAAQ,GACvBjhC,KAAKmhC,KAAKnC,EAAKgC,IAAQ,KAEW,IAAO,EACtD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAKiC,IAAQ,IAErB5D,IAAQ,IAAO,IAAM+E,KAAQ,IAAO,EACjDA,IAAO,SAMP,IAAIC,IAASh+B,GAJby1B,EAAK95B,KAAKmhC,KAAKjC,EAAK8B,KAIG,KAAa,MAFpC3D,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAK+B,KACRjhC,KAAKmhC,KAAKhC,EAAK6B,IAAQ,KAEW,IAAO,EA0BtD,OAzBA38B,IAFA+2B,EAAKp7B,KAAKmhC,KAAKhC,EAAK8B,MAEP5D,IAAQ,IAAO,IAAMgF,KAAQ,IAAO,EACjDA,IAAO,SACP5gB,EAAE,GAAKyf,GACPzf,EAAE,GAAK2f,GACP3f,EAAE,GAAK4f,GACP5f,EAAE,GAAK6f,GACP7f,EAAE,GAAK8f,GACP9f,EAAE,GAAK+f,GACP/f,EAAE,GAAKggB,GACPhgB,EAAE,GAAKigB,GACPjgB,EAAE,GAAKkgB,GACPlgB,EAAE,GAAKmgB,GACPngB,EAAE,IAAMogB,GACRpgB,EAAE,IAAMqgB,GACRrgB,EAAE,IAAMsgB,GACRtgB,EAAE,IAAMugB,GACRvgB,EAAE,IAAMwgB,GACRxgB,EAAE,IAAMygB,GACRzgB,EAAE,IAAM0gB,GACR1gB,EAAE,IAAM2gB,GACR3gB,EAAE,IAAM4gB,GACE,IAANh+B,IACFod,EAAE,IAAMpd,EACR/K,EAAI5C,UAEC4C,CACT,EAgDA,SAASgpC,EAAY1jC,EAAMpJ,EAAK8D,GAE9B,OADW,IAAIipC,GACHC,KAAK5jC,EAAMpJ,EAAK8D,EAC9B,CAqBA,SAASipC,EAAMv9B,EAAGy9B,GAChB/vC,KAAKsS,EAAIA,EACTtS,KAAK+vC,EAAIA,CACX,CAxEKziC,KAAKmhC,OACR/D,EAAcvD,GAiDhB5xB,EAAGrU,UAAU8uC,MAAQ,SAAgBltC,EAAK8D,GACxC,IAAIlD,EACAuF,EAAMjJ,KAAKgE,OAASlB,EAAIkB,OAW5B,OATEN,EADkB,KAAhB1D,KAAKgE,QAAgC,KAAflB,EAAIkB,OACtB0mC,EAAY1qC,KAAM8C,EAAK8D,GACpBqC,EAAM,GACTk+B,EAAWnnC,KAAM8C,EAAK8D,GACnBqC,EAAM,KArDnB,SAAmBiD,EAAMpJ,EAAK8D,GAC5BA,EAAI4+B,SAAW1iC,EAAI0iC,SAAWt5B,EAAKs5B,SACnC5+B,EAAI5C,OAASkI,EAAKlI,OAASlB,EAAIkB,OAI/B,IAFA,IAAIqjC,EAAQ,EACR4I,EAAU,EACLtyB,EAAI,EAAGA,EAAI/W,EAAI5C,OAAS,EAAG2Z,IAAK,CAGvC,IAAI2pB,EAAS2I,EACbA,EAAU,EAGV,IAFA,IAAI1I,EAAgB,SAARF,EACRG,EAAOl6B,KAAK8K,IAAIuF,EAAG7a,EAAIkB,OAAS,GAC3BI,EAAIkJ,KAAK4S,IAAI,EAAGvC,EAAIzR,EAAKlI,OAAS,GAAII,GAAKojC,EAAMpjC,IAAK,CAC7D,IAAID,EAAIwZ,EAAIvZ,EAGR0hC,GAFoB,EAAhB55B,EAAKu5B,MAAMthC,KACI,EAAfrB,EAAI2iC,MAAMrhC,IAGdgjC,EAAS,SAAJtB,EAGTyB,EAAa,UADbH,EAAMA,EAAKG,EAAS,GAIpB0I,IAFA3I,GAHAA,EAAUA,GAAWxB,EAAI,SAAa,GAAM,IAGxBsB,IAAO,IAAO,KAEZ,GACtBE,GAAU,QACZ,CACA1gC,EAAI6+B,MAAM9nB,GAAK4pB,EACfF,EAAQC,EACRA,EAAS2I,CACX,CAOA,OANc,IAAV5I,EACFzgC,EAAI6+B,MAAM9nB,GAAK0pB,EAEfzgC,EAAI5C,SAGC4C,EAAI2/B,OACb,CAeU2J,CAASlwC,KAAM8C,EAAK8D,GAEpBgpC,EAAW5vC,KAAM8C,EAAK8D,GAGvBlD,CACT,EAUAmsC,EAAK3uC,UAAUivC,QAAU,SAAkBC,GAGzC,IAFA,IAAIxyB,EAAI,IAAI1Y,MAAMkrC,GACd79B,EAAIgD,EAAGrU,UAAUqnC,WAAW6H,GAAK,EAC5BjsC,EAAI,EAAGA,EAAIisC,EAAGjsC,IACrByZ,EAAEzZ,GAAKnE,KAAKqwC,OAAOlsC,EAAGoO,EAAG69B,GAG3B,OAAOxyB,CACT,EAGAiyB,EAAK3uC,UAAUmvC,OAAS,SAAiB/9B,EAAGC,EAAG69B,GAC7C,GAAU,IAAN99B,GAAWA,IAAM89B,EAAI,EAAG,OAAO99B,EAGnC,IADA,IAAIg+B,EAAK,EACAnsC,EAAI,EAAGA,EAAIoO,EAAGpO,IACrBmsC,IAAW,EAAJh+B,IAAWC,EAAIpO,EAAI,EAC1BmO,IAAM,EAGR,OAAOg+B,CACT,EAIAT,EAAK3uC,UAAUqvC,QAAU,SAAkBC,EAAKC,EAAKC,EAAKC,EAAMC,EAAMR,GACpE,IAAK,IAAIjsC,EAAI,EAAGA,EAAIisC,EAAGjsC,IACrBwsC,EAAKxsC,GAAKssC,EAAID,EAAIrsC,IAClBysC,EAAKzsC,GAAKusC,EAAIF,EAAIrsC,GAEtB,EAEA0rC,EAAK3uC,UAAU2vC,UAAY,SAAoBJ,EAAKC,EAAKC,EAAMC,EAAMR,EAAGI,GACtExwC,KAAKuwC,QAAQC,EAAKC,EAAKC,EAAKC,EAAMC,EAAMR,GAExC,IAAK,IAAI34B,EAAI,EAAGA,EAAI24B,EAAG34B,IAAM,EAM3B,IALA,IAAIlF,EAAIkF,GAAK,EAETq5B,EAAQxjC,KAAKyjC,IAAI,EAAIzjC,KAAK0jC,GAAKz+B,GAC/B0+B,EAAQ3jC,KAAK4jC,IAAI,EAAI5jC,KAAK0jC,GAAKz+B,GAE1Bb,EAAI,EAAGA,EAAI0+B,EAAG1+B,GAAKa,EAI1B,IAHA,IAAI4+B,EAASL,EACTM,EAASH,EAEJ7sC,EAAI,EAAGA,EAAIqT,EAAGrT,IAAK,CAC1B,IAAIyqB,EAAK8hB,EAAKj/B,EAAItN,GACditC,EAAKT,EAAKl/B,EAAItN,GAEdktC,EAAKX,EAAKj/B,EAAItN,EAAIqT,GAClB85B,EAAKX,EAAKl/B,EAAItN,EAAIqT,GAElB+5B,EAAKL,EAASG,EAAKF,EAASG,EAEhCA,EAAKJ,EAASI,EAAKH,EAASE,EAC5BA,EAAKE,EAELb,EAAKj/B,EAAItN,GAAKyqB,EAAKyiB,EACnBV,EAAKl/B,EAAItN,GAAKitC,EAAKE,EAEnBZ,EAAKj/B,EAAItN,EAAIqT,GAAKoX,EAAKyiB,EACvBV,EAAKl/B,EAAItN,EAAIqT,GAAK45B,EAAKE,EAGnBntC,IAAMmO,IACRi/B,EAAKV,EAAQK,EAASF,EAAQG,EAE9BA,EAASN,EAAQM,EAASH,EAAQE,EAClCA,EAASK,EAEb,CAGN,EAEA3B,EAAK3uC,UAAUuwC,YAAc,SAAsB9gC,EAAGwG,GACpD,IAAIi5B,EAAqB,EAAjB9iC,KAAK4S,IAAI/I,EAAGxG,GAChB+gC,EAAU,EAAJtB,EACNjsC,EAAI,EACR,IAAKisC,EAAIA,EAAI,EAAI,EAAGA,EAAGA,KAAU,EAC/BjsC,IAGF,OAAO,GAAKA,EAAI,EAAIutC,CACtB,EAEA7B,EAAK3uC,UAAUywC,UAAY,SAAoBlB,EAAKC,EAAKN,GACvD,KAAIA,GAAK,GAET,IAAK,IAAIjsC,EAAI,EAAGA,EAAIisC,EAAI,EAAGjsC,IAAK,CAC9B,IAAIyZ,EAAI6yB,EAAItsC,GAEZssC,EAAItsC,GAAKssC,EAAIL,EAAIjsC,EAAI,GACrBssC,EAAIL,EAAIjsC,EAAI,GAAKyZ,EAEjBA,EAAI8yB,EAAIvsC,GAERusC,EAAIvsC,IAAMusC,EAAIN,EAAIjsC,EAAI,GACtBusC,EAAIN,EAAIjsC,EAAI,IAAMyZ,CACpB,CACF,EAEAiyB,EAAK3uC,UAAU0wC,aAAe,SAAuBC,EAAIzB,GAEvD,IADA,IAAI/I,EAAQ,EACHljC,EAAI,EAAGA,EAAIisC,EAAI,EAAGjsC,IAAK,CAC9B,IAAImiC,EAAoC,KAAhCh5B,KAAKmS,MAAMoyB,EAAG,EAAI1tC,EAAI,GAAKisC,GACjC9iC,KAAKmS,MAAMoyB,EAAG,EAAI1tC,GAAKisC,GACvB/I,EAEFwK,EAAG1tC,GAAS,SAAJmiC,EAGNe,EADEf,EAAI,SACE,EAEAA,EAAI,SAAY,CAE5B,CAEA,OAAOuL,CACT,EAEAhC,EAAK3uC,UAAU4wC,WAAa,SAAqBD,EAAI5oC,EAAKwnC,EAAKL,GAE7D,IADA,IAAI/I,EAAQ,EACHljC,EAAI,EAAGA,EAAI8E,EAAK9E,IACvBkjC,GAAyB,EAARwK,EAAG1tC,GAEpBssC,EAAI,EAAItsC,GAAa,KAARkjC,EAAgBA,KAAkB,GAC/CoJ,EAAI,EAAItsC,EAAI,GAAa,KAARkjC,EAAgBA,KAAkB,GAIrD,IAAKljC,EAAI,EAAI8E,EAAK9E,EAAIisC,IAAKjsC,EACzBssC,EAAItsC,GAAK,EAGXsR,EAAiB,IAAV4xB,GACP5xB,KAAgB,KAAR4xB,GACV,EAEAwI,EAAK3uC,UAAU6wC,KAAO,SAAe3B,GAEnC,IADA,IAAI4B,EAAK,IAAI9sC,MAAMkrC,GACVjsC,EAAI,EAAGA,EAAIisC,EAAGjsC,IACrB6tC,EAAG7tC,GAAK,EAGV,OAAO6tC,CACT,EAEAnC,EAAK3uC,UAAU4uC,KAAO,SAAex9B,EAAGy9B,EAAGnpC,GACzC,IAAIwpC,EAAI,EAAIpwC,KAAKyxC,YAAYn/B,EAAEtO,OAAQ+rC,EAAE/rC,QAErCwsC,EAAMxwC,KAAKmwC,QAAQC,GAEnBhvC,EAAIpB,KAAK+xC,KAAK3B,GAEdK,EAAM,IAAIvrC,MAAMkrC,GAChB6B,EAAO,IAAI/sC,MAAMkrC,GACjB8B,EAAO,IAAIhtC,MAAMkrC,GAEjB+B,EAAO,IAAIjtC,MAAMkrC,GACjBgC,EAAQ,IAAIltC,MAAMkrC,GAClBiC,EAAQ,IAAIntC,MAAMkrC,GAElBkC,EAAO1rC,EAAI6+B,MACf6M,EAAKtuC,OAASosC,EAEdpwC,KAAK8xC,WAAWx/B,EAAEmzB,MAAOnzB,EAAEtO,OAAQysC,EAAKL,GACxCpwC,KAAK8xC,WAAW/B,EAAEtK,MAAOsK,EAAE/rC,OAAQmuC,EAAM/B,GAEzCpwC,KAAK6wC,UAAUJ,EAAKrvC,EAAG6wC,EAAMC,EAAM9B,EAAGI,GACtCxwC,KAAK6wC,UAAUsB,EAAM/wC,EAAGgxC,EAAOC,EAAOjC,EAAGI,GAEzC,IAAK,IAAIrsC,EAAI,EAAGA,EAAIisC,EAAGjsC,IAAK,CAC1B,IAAIqtC,EAAKS,EAAK9tC,GAAKiuC,EAAMjuC,GAAK+tC,EAAK/tC,GAAKkuC,EAAMluC,GAC9C+tC,EAAK/tC,GAAK8tC,EAAK9tC,GAAKkuC,EAAMluC,GAAK+tC,EAAK/tC,GAAKiuC,EAAMjuC,GAC/C8tC,EAAK9tC,GAAKqtC,CACZ,CASA,OAPAxxC,KAAK2xC,UAAUM,EAAMC,EAAM9B,GAC3BpwC,KAAK6wC,UAAUoB,EAAMC,EAAMI,EAAMlxC,EAAGgvC,EAAGI,GACvCxwC,KAAK2xC,UAAUW,EAAMlxC,EAAGgvC,GACxBpwC,KAAK4xC,aAAaU,EAAMlC,GAExBxpC,EAAI4+B,SAAWlzB,EAAEkzB,SAAWuK,EAAEvK,SAC9B5+B,EAAI5C,OAASsO,EAAEtO,OAAS+rC,EAAE/rC,OACnB4C,EAAI2/B,OACb,EAGAhxB,EAAGrU,UAAUwc,IAAM,SAAc5a,GAC/B,IAAI8D,EAAM,IAAI2O,EAAG,MAEjB,OADA3O,EAAI6+B,MAAQ,IAAIvgC,MAAMlF,KAAKgE,OAASlB,EAAIkB,QACjChE,KAAKgwC,MAAMltC,EAAK8D,EACzB,EAGA2O,EAAGrU,UAAUqxC,KAAO,SAAezvC,GACjC,IAAI8D,EAAM,IAAI2O,EAAG,MAEjB,OADA3O,EAAI6+B,MAAQ,IAAIvgC,MAAMlF,KAAKgE,OAASlB,EAAIkB,QACjC4rC,EAAW5vC,KAAM8C,EAAK8D,EAC/B,EAGA2O,EAAGrU,UAAUutC,KAAO,SAAe3rC,GACjC,OAAO9C,KAAK6d,QAAQmyB,MAAMltC,EAAK9C,KACjC,EAEAuV,EAAGrU,UAAU2lC,MAAQ,SAAgB/jC,GACnC2S,EAAsB,iBAAR3S,GACd2S,EAAO3S,EAAM,UAIb,IADA,IAAIukC,EAAQ,EACHljC,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAAK,CACpC,IAAImiC,GAAqB,EAAhBtmC,KAAKylC,MAAMthC,IAAUrB,EAC1BskC,GAAU,SAAJd,IAA0B,SAARe,GAC5BA,IAAU,GACVA,GAAUf,EAAI,SAAa,EAE3Be,GAASD,IAAO,GAChBpnC,KAAKylC,MAAMthC,GAAU,SAALijC,CAClB,CAOA,OALc,IAAVC,IACFrnC,KAAKylC,MAAMthC,GAAKkjC,EAChBrnC,KAAKgE,UAGAhE,IACT,EAEAuV,EAAGrU,UAAUsxC,KAAO,SAAe1vC,GACjC,OAAO9C,KAAK6d,QAAQgpB,MAAM/jC,EAC5B,EAGAyS,EAAGrU,UAAUuxC,IAAM,WACjB,OAAOzyC,KAAK0d,IAAI1d,KAClB,EAGAuV,EAAGrU,UAAUwxC,KAAO,WAClB,OAAO1yC,KAAKyuC,KAAKzuC,KAAK6d,QACxB,EAGAtI,EAAGrU,UAAU0W,IAAM,SAAc9U,GAC/B,IAAIwjC,EAxxCN,SAAqBxjC,GAGnB,IAFA,IAAIwjC,EAAI,IAAIphC,MAAMpC,EAAI2lC,aAEb4B,EAAM,EAAGA,EAAM/D,EAAEtiC,OAAQqmC,IAAO,CACvC,IAAIxR,EAAOwR,EAAM,GAAM,EACnBC,EAAOD,EAAM,GAEjB/D,EAAE+D,IAAQvnC,EAAI2iC,MAAM5M,GAAQ,GAAKyR,KAAWA,CAC9C,CAEA,OAAOhE,CACT,CA6wCUqM,CAAW7vC,GACnB,GAAiB,IAAbwjC,EAAEtiC,OAAc,OAAO,IAAIuR,EAAG,GAIlC,IADA,IAAI7R,EAAM1D,KACDmE,EAAI,EAAGA,EAAImiC,EAAEtiC,QACP,IAATsiC,EAAEniC,GADsBA,IAAKT,EAAMA,EAAI+uC,OAI7C,KAAMtuC,EAAImiC,EAAEtiC,OACV,IAAK,IAAIqkC,EAAI3kC,EAAI+uC,MAAOtuC,EAAImiC,EAAEtiC,OAAQG,IAAKkkC,EAAIA,EAAEoK,MAClC,IAATnM,EAAEniC,KAENT,EAAMA,EAAIga,IAAI2qB,IAIlB,OAAO3kC,CACT,EAGA6R,EAAGrU,UAAU0xC,OAAS,SAAiB90B,GACrCrI,EAAuB,iBAATqI,GAAqBA,GAAQ,GAC3C,IAGI3Z,EAHA2hC,EAAIhoB,EAAO,GACXrG,GAAKqG,EAAOgoB,GAAK,GACjB+M,EAAa,WAAe,GAAK/M,GAAQ,GAAKA,EAGlD,GAAU,IAANA,EAAS,CACX,IAAIuB,EAAQ,EAEZ,IAAKljC,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAAK,CAChC,IAAI2uC,EAAW9yC,KAAKylC,MAAMthC,GAAK0uC,EAC3BlhC,GAAsB,EAAhB3R,KAAKylC,MAAMthC,IAAU2uC,GAAahN,EAC5C9lC,KAAKylC,MAAMthC,GAAKwN,EAAI01B,EACpBA,EAAQyL,IAAc,GAAKhN,CAC7B,CAEIuB,IACFrnC,KAAKylC,MAAMthC,GAAKkjC,EAChBrnC,KAAKgE,SAET,CAEA,GAAU,IAANyT,EAAS,CACX,IAAKtT,EAAInE,KAAKgE,OAAS,EAAGG,GAAK,EAAGA,IAChCnE,KAAKylC,MAAMthC,EAAIsT,GAAKzX,KAAKylC,MAAMthC,GAGjC,IAAKA,EAAI,EAAGA,EAAIsT,EAAGtT,IACjBnE,KAAKylC,MAAMthC,GAAK,EAGlBnE,KAAKgE,QAAUyT,CACjB,CAEA,OAAOzX,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAU6xC,MAAQ,SAAgBj1B,GAGnC,OADArI,EAAyB,IAAlBzV,KAAKwlC,UACLxlC,KAAK4yC,OAAO90B,EACrB,EAKAvI,EAAGrU,UAAU6c,OAAS,SAAiBD,EAAMnE,EAAMq5B,GAEjD,IAAIxpB,EADJ/T,EAAuB,iBAATqI,GAAqBA,GAAQ,GAGzC0L,EADE7P,GACGA,EAAQA,EAAO,IAAO,GAEvB,EAGN,IAAImsB,EAAIhoB,EAAO,GACXrG,EAAInK,KAAK8K,KAAK0F,EAAOgoB,GAAK,GAAI9lC,KAAKgE,QACnCivC,EAAO,SAAc,WAAcnN,GAAMA,EACzCoN,EAAcF,EAMlB,GAJAxpB,GAAK/R,EACL+R,EAAIlc,KAAK4S,IAAI,EAAGsJ,GAGZ0pB,EAAa,CACf,IAAK,IAAI/uC,EAAI,EAAGA,EAAIsT,EAAGtT,IACrB+uC,EAAYzN,MAAMthC,GAAKnE,KAAKylC,MAAMthC,GAEpC+uC,EAAYlvC,OAASyT,CACvB,CAEA,GAAU,IAANA,QAEG,GAAIzX,KAAKgE,OAASyT,EAEvB,IADAzX,KAAKgE,QAAUyT,EACVtT,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAC3BnE,KAAKylC,MAAMthC,GAAKnE,KAAKylC,MAAMthC,EAAIsT,QAGjCzX,KAAKylC,MAAM,GAAK,EAChBzlC,KAAKgE,OAAS,EAGhB,IAAIqjC,EAAQ,EACZ,IAAKljC,EAAInE,KAAKgE,OAAS,EAAGG,GAAK,IAAgB,IAAVkjC,GAAeljC,GAAKqlB,GAAIrlB,IAAK,CAChE,IAAIyiC,EAAuB,EAAhB5mC,KAAKylC,MAAMthC,GACtBnE,KAAKylC,MAAMthC,GAAMkjC,GAAU,GAAKvB,EAAOc,IAASd,EAChDuB,EAAQT,EAAOqM,CACjB,CAYA,OATIC,GAAyB,IAAV7L,IACjB6L,EAAYzN,MAAMyN,EAAYlvC,UAAYqjC,GAGxB,IAAhBrnC,KAAKgE,SACPhE,KAAKylC,MAAM,GAAK,EAChBzlC,KAAKgE,OAAS,GAGThE,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAUiyC,MAAQ,SAAgBr1B,EAAMnE,EAAMq5B,GAG/C,OADAv9B,EAAyB,IAAlBzV,KAAKwlC,UACLxlC,KAAK+d,OAAOD,EAAMnE,EAAMq5B,EACjC,EAGAz9B,EAAGrU,UAAUkyC,KAAO,SAAet1B,GACjC,OAAO9d,KAAK6d,QAAQk1B,MAAMj1B,EAC5B,EAEAvI,EAAGrU,UAAUmyC,MAAQ,SAAgBv1B,GACnC,OAAO9d,KAAK6d,QAAQ+0B,OAAO90B,EAC7B,EAGAvI,EAAGrU,UAAUoyC,KAAO,SAAex1B,GACjC,OAAO9d,KAAK6d,QAAQs1B,MAAMr1B,EAC5B,EAEAvI,EAAGrU,UAAUqyC,MAAQ,SAAgBz1B,GACnC,OAAO9d,KAAK6d,QAAQE,OAAOD,EAC7B,EAGAvI,EAAGrU,UAAU+nC,MAAQ,SAAgBoB,GACnC50B,EAAsB,iBAAR40B,GAAoBA,GAAO,GACzC,IAAIvE,EAAIuE,EAAM,GACV5yB,GAAK4yB,EAAMvE,GAAK,GAChBuC,EAAI,GAAKvC,EAGb,QAAI9lC,KAAKgE,QAAUyT,OAGXzX,KAAKylC,MAAMhuB,GAEL4wB,EAChB,EAGA9yB,EAAGrU,UAAUsyC,OAAS,SAAiB11B,GACrCrI,EAAuB,iBAATqI,GAAqBA,GAAQ,GAC3C,IAAIgoB,EAAIhoB,EAAO,GACXrG,GAAKqG,EAAOgoB,GAAK,GAIrB,GAFArwB,EAAyB,IAAlBzV,KAAKwlC,SAAgB,2CAExBxlC,KAAKgE,QAAUyT,EACjB,OAAOzX,KAQT,GALU,IAAN8lC,GACFruB,IAEFzX,KAAKgE,OAASsJ,KAAK8K,IAAIX,EAAGzX,KAAKgE,QAErB,IAAN8hC,EAAS,CACX,IAAImN,EAAO,SAAc,WAAcnN,GAAMA,EAC7C9lC,KAAKylC,MAAMzlC,KAAKgE,OAAS,IAAMivC,CACjC,CAEA,OAAOjzC,KAAKumC,OACd,EAGAhxB,EAAGrU,UAAUuyC,MAAQ,SAAgB31B,GACnC,OAAO9d,KAAK6d,QAAQ21B,OAAO11B,EAC7B,EAGAvI,EAAGrU,UAAU6nC,MAAQ,SAAgBjmC,GAGnC,OAFA2S,EAAsB,iBAAR3S,GACd2S,EAAO3S,EAAM,UACTA,EAAM,EAAU9C,KAAK0zC,OAAO5wC,GAGV,IAAlB9C,KAAKwlC,SACa,IAAhBxlC,KAAKgE,SAAiC,EAAhBhE,KAAKylC,MAAM,IAAU3iC,GAC7C9C,KAAKylC,MAAM,GAAK3iC,GAAuB,EAAhB9C,KAAKylC,MAAM,IAClCzlC,KAAKwlC,SAAW,EACTxlC,OAGTA,KAAKwlC,SAAW,EAChBxlC,KAAK0zC,MAAM5wC,GACX9C,KAAKwlC,SAAW,EACTxlC,MAIFA,KAAK8mC,OAAOhkC,EACrB,EAEAyS,EAAGrU,UAAU4lC,OAAS,SAAiBhkC,GACrC9C,KAAKylC,MAAM,IAAM3iC,EAGjB,IAAK,IAAIqB,EAAI,EAAGA,EAAInE,KAAKgE,QAAUhE,KAAKylC,MAAMthC,IAAM,SAAWA,IAC7DnE,KAAKylC,MAAMthC,IAAM,SACbA,IAAMnE,KAAKgE,OAAS,EACtBhE,KAAKylC,MAAMthC,EAAI,GAAK,EAEpBnE,KAAKylC,MAAMthC,EAAI,KAKnB,OAFAnE,KAAKgE,OAASsJ,KAAK4S,IAAIlgB,KAAKgE,OAAQG,EAAI,GAEjCnE,IACT,EAGAuV,EAAGrU,UAAUwyC,MAAQ,SAAgB5wC,GAGnC,GAFA2S,EAAsB,iBAAR3S,GACd2S,EAAO3S,EAAM,UACTA,EAAM,EAAG,OAAO9C,KAAK+oC,OAAOjmC,GAEhC,GAAsB,IAAlB9C,KAAKwlC,SAIP,OAHAxlC,KAAKwlC,SAAW,EAChBxlC,KAAK+oC,MAAMjmC,GACX9C,KAAKwlC,SAAW,EACTxlC,KAKT,GAFAA,KAAKylC,MAAM,IAAM3iC,EAEG,IAAhB9C,KAAKgE,QAAgBhE,KAAKylC,MAAM,GAAK,EACvCzlC,KAAKylC,MAAM,IAAMzlC,KAAKylC,MAAM,GAC5BzlC,KAAKwlC,SAAW,OAGhB,IAAK,IAAIrhC,EAAI,EAAGA,EAAInE,KAAKgE,QAAUhE,KAAKylC,MAAMthC,GAAK,EAAGA,IACpDnE,KAAKylC,MAAMthC,IAAM,SACjBnE,KAAKylC,MAAMthC,EAAI,IAAM,EAIzB,OAAOnE,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAUyyC,KAAO,SAAe7wC,GACjC,OAAO9C,KAAK6d,QAAQkrB,MAAMjmC,EAC5B,EAEAyS,EAAGrU,UAAU0yC,KAAO,SAAe9wC,GACjC,OAAO9C,KAAK6d,QAAQ61B,MAAM5wC,EAC5B,EAEAyS,EAAGrU,UAAU2yC,KAAO,WAGlB,OAFA7zC,KAAKwlC,SAAW,EAETxlC,IACT,EAEAuV,EAAGrU,UAAU4W,IAAM,WACjB,OAAO9X,KAAK6d,QAAQg2B,MACtB,EAEAt+B,EAAGrU,UAAU4yC,aAAe,SAAuBhxC,EAAK4a,EAAKpM,GAC3D,IACInN,EAIAmiC,EALAr9B,EAAMnG,EAAIkB,OAASsN,EAGvBtR,KAAK+mC,QAAQ99B,GAGb,IAAIo+B,EAAQ,EACZ,IAAKljC,EAAI,EAAGA,EAAIrB,EAAIkB,OAAQG,IAAK,CAC/BmiC,GAA6B,EAAxBtmC,KAAKylC,MAAMthC,EAAImN,IAAc+1B,EAClC,IAAIpB,GAAwB,EAAfnjC,EAAI2iC,MAAMthC,IAAUuZ,EAEjC2pB,IADAf,GAAa,SAARL,IACS,KAAQA,EAAQ,SAAa,GAC3CjmC,KAAKylC,MAAMthC,EAAImN,GAAa,SAAJg1B,CAC1B,CACA,KAAOniC,EAAInE,KAAKgE,OAASsN,EAAOnN,IAE9BkjC,GADAf,GAA6B,EAAxBtmC,KAAKylC,MAAMthC,EAAImN,IAAc+1B,IACrB,GACbrnC,KAAKylC,MAAMthC,EAAImN,GAAa,SAAJg1B,EAG1B,GAAc,IAAVe,EAAa,OAAOrnC,KAAKumC,QAK7B,IAFA9wB,GAAkB,IAAX4xB,GACPA,EAAQ,EACHljC,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAE3BkjC,GADAf,IAAsB,EAAhBtmC,KAAKylC,MAAMthC,IAAUkjC,IACd,GACbrnC,KAAKylC,MAAMthC,GAAS,SAAJmiC,EAIlB,OAFAtmC,KAAKwlC,SAAW,EAETxlC,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAU6yC,SAAW,SAAmBjxC,EAAK8H,GAC9C,IAAI0G,GAAQtR,KAAKgE,OAASlB,EAAIkB,QAE1BkU,EAAIlY,KAAK6d,QACT1F,EAAIrV,EAGJkxC,EAA8B,EAAxB77B,EAAEstB,MAAMttB,EAAEnU,OAAS,GAGf,KADdsN,EAAQ,GADMtR,KAAKuoC,WAAWyL,MAG5B77B,EAAIA,EAAEk7B,MAAM/hC,GACZ4G,EAAE06B,OAAOthC,GACT0iC,EAA8B,EAAxB77B,EAAEstB,MAAMttB,EAAEnU,OAAS,IAI3B,IACIqkC,EADAlxB,EAAIe,EAAElU,OAASmU,EAAEnU,OAGrB,GAAa,QAAT4G,EAAgB,EAClBy9B,EAAI,IAAI9yB,EAAG,OACTvR,OAASmT,EAAI,EACfkxB,EAAE5C,MAAQ,IAAIvgC,MAAMmjC,EAAErkC,QACtB,IAAK,IAAIG,EAAI,EAAGA,EAAIkkC,EAAErkC,OAAQG,IAC5BkkC,EAAE5C,MAAMthC,GAAK,CAEjB,CAEA,IAAIoZ,EAAOrF,EAAE2F,QAAQi2B,aAAa37B,EAAG,EAAGhB,GAClB,IAAlBoG,EAAKioB,WACPttB,EAAIqF,EACA8qB,IACFA,EAAE5C,MAAMtuB,GAAK,IAIjB,IAAK,IAAI/S,EAAI+S,EAAI,EAAG/S,GAAK,EAAGA,IAAK,CAC/B,IAAI6vC,EAAmC,UAAL,EAAxB/7B,EAAEutB,MAAMttB,EAAEnU,OAASI,KACE,EAA5B8T,EAAEutB,MAAMttB,EAAEnU,OAASI,EAAI,IAO1B,IAHA6vC,EAAK3mC,KAAK8K,IAAK67B,EAAKD,EAAO,EAAG,UAE9B97B,EAAE47B,aAAa37B,EAAG87B,EAAI7vC,GACA,IAAf8T,EAAEstB,UACPyO,IACA/7B,EAAEstB,SAAW,EACbttB,EAAE47B,aAAa37B,EAAG,EAAG/T,GAChB8T,EAAE0vB,WACL1vB,EAAEstB,UAAY,GAGd6C,IACFA,EAAE5C,MAAMrhC,GAAK6vC,EAEjB,CAWA,OAVI5L,GACFA,EAAE9B,QAEJruB,EAAEquB,QAGW,QAAT37B,GAA4B,IAAV0G,GACpB4G,EAAE6F,OAAOzM,GAGJ,CACL4iC,IAAK7L,GAAK,KACV1B,IAAKzuB,EAET,EAMA3C,EAAGrU,UAAUizC,OAAS,SAAiBrxC,EAAK8H,EAAMwpC,GAGhD,OAFA3+B,GAAQ3S,EAAI8kC,UAER5nC,KAAK4nC,SACA,CACLsM,IAAK,IAAI3+B,EAAG,GACZoxB,IAAK,IAAIpxB,EAAG,IAKM,IAAlBvV,KAAKwlC,UAAmC,IAAjB1iC,EAAI0iC,UAC7B9hC,EAAM1D,KAAKqpC,MAAM8K,OAAOrxC,EAAK8H,GAEhB,QAATA,IACFspC,EAAMxwC,EAAIwwC,IAAI7K,OAGH,QAATz+B,IACF+7B,EAAMjjC,EAAIijC,IAAI0C,MACV+K,GAA6B,IAAjBzN,EAAInB,UAClBmB,EAAI4D,KAAKznC,IAIN,CACLoxC,IAAKA,EACLvN,IAAKA,IAIa,IAAlB3mC,KAAKwlC,UAAmC,IAAjB1iC,EAAI0iC,UAC7B9hC,EAAM1D,KAAKm0C,OAAOrxC,EAAIumC,MAAOz+B,GAEhB,QAATA,IACFspC,EAAMxwC,EAAIwwC,IAAI7K,OAGT,CACL6K,IAAKA,EACLvN,IAAKjjC,EAAIijC,MAIR3mC,KAAKwlC,SAAW1iC,EAAI0iC,UACvB9hC,EAAM1D,KAAKqpC,MAAM8K,OAAOrxC,EAAIumC,MAAOz+B,GAEtB,QAATA,IACF+7B,EAAMjjC,EAAIijC,IAAI0C,MACV+K,GAA6B,IAAjBzN,EAAInB,UAClBmB,EAAI6D,KAAK1nC,IAIN,CACLoxC,IAAKxwC,EAAIwwC,IACTvN,IAAKA,IAOL7jC,EAAIkB,OAAShE,KAAKgE,QAAUhE,KAAKqc,IAAIvZ,GAAO,EACvC,CACLoxC,IAAK,IAAI3+B,EAAG,GACZoxB,IAAK3mC,MAKU,IAAf8C,EAAIkB,OACO,QAAT4G,EACK,CACLspC,IAAKl0C,KAAKq0C,KAAKvxC,EAAI2iC,MAAM,IACzBkB,IAAK,MAII,QAAT/7B,EACK,CACLspC,IAAK,KACLvN,IAAK,IAAIpxB,EAAGvV,KAAK6nC,KAAK/kC,EAAI2iC,MAAM,MAI7B,CACLyO,IAAKl0C,KAAKq0C,KAAKvxC,EAAI2iC,MAAM,IACzBkB,IAAK,IAAIpxB,EAAGvV,KAAK6nC,KAAK/kC,EAAI2iC,MAAM,MAI7BzlC,KAAK+zC,SAASjxC,EAAK8H,GAlF1B,IAAIspC,EAAKvN,EAAKjjC,CAmFhB,EAGA6R,EAAGrU,UAAUgzC,IAAM,SAAcpxC,GAC/B,OAAO9C,KAAKm0C,OAAOrxC,EAAK,OAAO,GAAOoxC,GACxC,EAGA3+B,EAAGrU,UAAUylC,IAAM,SAAc7jC,GAC/B,OAAO9C,KAAKm0C,OAAOrxC,EAAK,OAAO,GAAO6jC,GACxC,EAEApxB,EAAGrU,UAAUozC,KAAO,SAAexxC,GACjC,OAAO9C,KAAKm0C,OAAOrxC,EAAK,OAAO,GAAM6jC,GACvC,EAGApxB,EAAGrU,UAAUqzC,SAAW,SAAmBzxC,GACzC,IAAI0xC,EAAKx0C,KAAKm0C,OAAOrxC,GAGrB,GAAI0xC,EAAG7N,IAAIiB,SAAU,OAAO4M,EAAGN,IAE/B,IAAIvN,EAA0B,IAApB6N,EAAGN,IAAI1O,SAAiBgP,EAAG7N,IAAI6D,KAAK1nC,GAAO0xC,EAAG7N,IAEpD8N,EAAO3xC,EAAIywC,MAAM,GACjBmB,EAAK5xC,EAAIkb,MAAM,GACf3B,EAAMsqB,EAAItqB,IAAIo4B,GAGlB,OAAIp4B,EAAM,GAAY,IAAPq4B,GAAoB,IAARr4B,EAAkBm4B,EAAGN,IAGrB,IAApBM,EAAGN,IAAI1O,SAAiBgP,EAAGN,IAAIR,MAAM,GAAKc,EAAGN,IAAInL,MAAM,EAChE,EAEAxzB,EAAGrU,UAAU2mC,KAAO,SAAe/kC,GACjC2S,EAAO3S,GAAO,UAId,IAHA,IAAI4O,GAAK,GAAK,IAAM5O,EAEhB6xC,EAAM,EACDxwC,EAAInE,KAAKgE,OAAS,EAAGG,GAAK,EAAGA,IACpCwwC,GAAOjjC,EAAIijC,GAAuB,EAAhB30C,KAAKylC,MAAMthC,KAAWrB,EAG1C,OAAO6xC,CACT,EAGAp/B,EAAGrU,UAAU4mC,MAAQ,SAAgBhlC,GACnC2S,EAAO3S,GAAO,UAGd,IADA,IAAIukC,EAAQ,EACHljC,EAAInE,KAAKgE,OAAS,EAAGG,GAAK,EAAGA,IAAK,CACzC,IAAImiC,GAAqB,EAAhBtmC,KAAKylC,MAAMthC,IAAkB,SAARkjC,EAC9BrnC,KAAKylC,MAAMthC,GAAMmiC,EAAIxjC,EAAO,EAC5BukC,EAAQf,EAAIxjC,CACd,CAEA,OAAO9C,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAUmzC,KAAO,SAAevxC,GACjC,OAAO9C,KAAK6d,QAAQiqB,MAAMhlC,EAC5B,EAEAyS,EAAGrU,UAAU0zC,KAAO,SAAeljC,GACjC+D,EAAsB,IAAf/D,EAAE8zB,UACT/vB,GAAQ/D,EAAEk2B,UAEV,IAAIt1B,EAAItS,KACJ+vC,EAAIr+B,EAAEmM,QAGRvL,EADiB,IAAfA,EAAEkzB,SACAlzB,EAAEgiC,KAAK5iC,GAEPY,EAAEuL,QAaR,IATA,IAAIg3B,EAAI,IAAIt/B,EAAG,GACXu/B,EAAI,IAAIv/B,EAAG,GAGXw/B,EAAI,IAAIx/B,EAAG,GACXy/B,EAAI,IAAIz/B,EAAG,GAEX0T,EAAI,EAED3W,EAAE2iC,UAAYlF,EAAEkF,UACrB3iC,EAAEyL,OAAO,GACTgyB,EAAEhyB,OAAO,KACPkL,EAMJ,IAHA,IAAIisB,EAAKnF,EAAElyB,QACPs3B,EAAK7iC,EAAEuL,SAEHvL,EAAEs1B,UAAU,CAClB,IAAK,IAAIzjC,EAAI,EAAGixC,EAAK,IAAI9iC,EAAEmzB,MAAM,GAAK2P,IAAajxC,EAAI,KAAMA,EAAGixC,IAAO,GACvE,GAAIjxC,EAAI,EAEN,IADAmO,EAAEyL,OAAO5Z,GACFA,KAAM,IACP0wC,EAAEQ,SAAWP,EAAEO,WACjBR,EAAEtK,KAAK2K,GACPJ,EAAEtK,KAAK2K,IAGTN,EAAE92B,OAAO,GACT+2B,EAAE/2B,OAAO,GAIb,IAAK,IAAI3Z,EAAI,EAAGkxC,EAAK,IAAIvF,EAAEtK,MAAM,GAAK6P,IAAalxC,EAAI,KAAMA,EAAGkxC,IAAO,GACvE,GAAIlxC,EAAI,EAEN,IADA2rC,EAAEhyB,OAAO3Z,GACFA,KAAM,IACP2wC,EAAEM,SAAWL,EAAEK,WACjBN,EAAExK,KAAK2K,GACPF,EAAExK,KAAK2K,IAGTJ,EAAEh3B,OAAO,GACTi3B,EAAEj3B,OAAO,GAITzL,EAAE+J,IAAI0zB,IAAM,GACdz9B,EAAEk4B,KAAKuF,GACP8E,EAAErK,KAAKuK,GACPD,EAAEtK,KAAKwK,KAEPjF,EAAEvF,KAAKl4B,GACPyiC,EAAEvK,KAAKqK,GACPG,EAAExK,KAAKsK,GAEX,CAEA,MAAO,CACL58B,EACAC,EAAG68B,EACHO,IAAKxF,EAAE6C,OAAO3pB,GAElB,EAKA1T,EAAGrU,UAAUs0C,OAAS,SAAiB9jC,GACrC+D,EAAsB,IAAf/D,EAAE8zB,UACT/vB,GAAQ/D,EAAEk2B,UAEV,IAAI1vB,EAAIlY,KACJmY,EAAIzG,EAAEmM,QAGR3F,EADiB,IAAfA,EAAEstB,SACAttB,EAAEo8B,KAAK5iC,GAEPwG,EAAE2F,QAQR,IALA,IAuCIna,EAvCA+xC,EAAK,IAAIlgC,EAAG,GACZ0G,EAAK,IAAI1G,EAAG,GAEZ8tB,EAAQlrB,EAAE0F,QAEP3F,EAAE4E,KAAK,GAAK,GAAK3E,EAAE2E,KAAK,GAAK,GAAG,CACrC,IAAK,IAAI3Y,EAAI,EAAGixC,EAAK,IAAIl9B,EAAEutB,MAAM,GAAK2P,IAAajxC,EAAI,KAAMA,EAAGixC,IAAO,GACvE,GAAIjxC,EAAI,EAEN,IADA+T,EAAE6F,OAAO5Z,GACFA,KAAM,GACPsxC,EAAGJ,SACLI,EAAGlL,KAAKlH,GAGVoS,EAAG13B,OAAO,GAId,IAAK,IAAI3Z,EAAI,EAAGkxC,EAAK,IAAIn9B,EAAEstB,MAAM,GAAK6P,IAAalxC,EAAI,KAAMA,EAAGkxC,IAAO,GACvE,GAAIlxC,EAAI,EAEN,IADA+T,EAAE4F,OAAO3Z,GACFA,KAAM,GACP6X,EAAGo5B,SACLp5B,EAAGsuB,KAAKlH,GAGVpnB,EAAG8B,OAAO,GAIV7F,EAAEmE,IAAIlE,IAAM,GACdD,EAAEsyB,KAAKryB,GACPs9B,EAAGjL,KAAKvuB,KAER9D,EAAEqyB,KAAKtyB,GACP+D,EAAGuuB,KAAKiL,GAEZ,CAaA,OATE/xC,EADgB,IAAdwU,EAAE4E,KAAK,GACH24B,EAEAx5B,GAGAa,KAAK,GAAK,GAChBpZ,EAAI6mC,KAAK74B,GAGJhO,CACT,EAEA6R,EAAGrU,UAAUq0C,IAAM,SAAczyC,GAC/B,GAAI9C,KAAK4nC,SAAU,OAAO9kC,EAAIgV,MAC9B,GAAIhV,EAAI8kC,SAAU,OAAO5nC,KAAK8X,MAE9B,IAAII,EAAIlY,KAAK6d,QACT1F,EAAIrV,EAAI+a,QACZ3F,EAAEstB,SAAW,EACbrtB,EAAEqtB,SAAW,EAGb,IAAK,IAAIl0B,EAAQ,EAAG4G,EAAE+8B,UAAY98B,EAAE88B,SAAU3jC,IAC5C4G,EAAE6F,OAAO,GACT5F,EAAE4F,OAAO,GAGX,OAAG,CACD,KAAO7F,EAAE+8B,UACP/8B,EAAE6F,OAAO,GAEX,KAAO5F,EAAE88B,UACP98B,EAAE4F,OAAO,GAGX,IAAI+nB,EAAI5tB,EAAEmE,IAAIlE,GACd,GAAI2tB,EAAI,EAAG,CAET,IAAIloB,EAAI1F,EACRA,EAAIC,EACJA,EAAIyF,CACN,MAAO,GAAU,IAANkoB,GAAyB,IAAd3tB,EAAE2E,KAAK,GAC3B,MAGF5E,EAAEsyB,KAAKryB,EACT,CAEA,OAAOA,EAAEy6B,OAAOthC,EAClB,EAGAiE,EAAGrU,UAAUw0C,KAAO,SAAe5yC,GACjC,OAAO9C,KAAK40C,KAAK9xC,GAAKoV,EAAEo8B,KAAKxxC,EAC/B,EAEAyS,EAAGrU,UAAU+zC,OAAS,WACpB,QAAwB,EAAhBj1C,KAAKylC,MAAM,GACrB,EAEAlwB,EAAGrU,UAAUm0C,MAAQ,WACnB,QAA+B,GAAvBr1C,KAAKylC,MAAM,GACrB,EAGAlwB,EAAGrU,UAAU8c,MAAQ,SAAgBlb,GACnC,OAAO9C,KAAKylC,MAAM,GAAK3iC,CACzB,EAGAyS,EAAGrU,UAAUy0C,MAAQ,SAAgBtL,GACnC50B,EAAsB,iBAAR40B,GACd,IAAIvE,EAAIuE,EAAM,GACV5yB,GAAK4yB,EAAMvE,GAAK,GAChBuC,EAAI,GAAKvC,EAGb,GAAI9lC,KAAKgE,QAAUyT,EAGjB,OAFAzX,KAAK+mC,QAAQtvB,EAAI,GACjBzX,KAAKylC,MAAMhuB,IAAM4wB,EACVroC,KAKT,IADA,IAAIqnC,EAAQgB,EACHlkC,EAAIsT,EAAa,IAAV4vB,GAAeljC,EAAInE,KAAKgE,OAAQG,IAAK,CACnD,IAAImiC,EAAoB,EAAhBtmC,KAAKylC,MAAMthC,GAEnBkjC,GADAf,GAAKe,KACS,GACdf,GAAK,SACLtmC,KAAKylC,MAAMthC,GAAKmiC,CAClB,CAKA,OAJc,IAAVe,IACFrnC,KAAKylC,MAAMthC,GAAKkjC,EAChBrnC,KAAKgE,UAEAhE,IACT,EAEAuV,EAAGrU,UAAU0mC,OAAS,WACpB,OAAuB,IAAhB5nC,KAAKgE,QAAkC,IAAlBhE,KAAKylC,MAAM,EACzC,EAEAlwB,EAAGrU,UAAU4b,KAAO,SAAeha,GACjC,IAOIY,EAPA8hC,EAAW1iC,EAAM,EAErB,GAAsB,IAAlB9C,KAAKwlC,WAAmBA,EAAU,OAAQ,EAC9C,GAAsB,IAAlBxlC,KAAKwlC,UAAkBA,EAAU,OAAO,EAK5C,GAHAxlC,KAAKumC,QAGDvmC,KAAKgE,OAAS,EAChBN,EAAM,MACD,CACD8hC,IACF1iC,GAAOA,GAGT2S,EAAO3S,GAAO,SAAW,qBAEzB,IAAIwjC,EAAoB,EAAhBtmC,KAAKylC,MAAM,GACnB/hC,EAAM4iC,IAAMxjC,EAAM,EAAIwjC,EAAIxjC,GAAO,EAAI,CACvC,CACA,OAAsB,IAAlB9C,KAAKwlC,SAA8B,GAAN9hC,EAC1BA,CACT,EAMA6R,EAAGrU,UAAUmb,IAAM,SAAcvZ,GAC/B,GAAsB,IAAlB9C,KAAKwlC,UAAmC,IAAjB1iC,EAAI0iC,SAAgB,OAAQ,EACvD,GAAsB,IAAlBxlC,KAAKwlC,UAAmC,IAAjB1iC,EAAI0iC,SAAgB,OAAO,EAEtD,IAAI9hC,EAAM1D,KAAK41C,KAAK9yC,GACpB,OAAsB,IAAlB9C,KAAKwlC,SAA8B,GAAN9hC,EAC1BA,CACT,EAGA6R,EAAGrU,UAAU00C,KAAO,SAAe9yC,GAEjC,GAAI9C,KAAKgE,OAASlB,EAAIkB,OAAQ,OAAO,EACrC,GAAIhE,KAAKgE,OAASlB,EAAIkB,OAAQ,OAAQ,EAGtC,IADA,IAAIN,EAAM,EACDS,EAAInE,KAAKgE,OAAS,EAAGG,GAAK,EAAGA,IAAK,CACzC,IAAI+T,EAAoB,EAAhBlY,KAAKylC,MAAMthC,GACfgU,EAAmB,EAAfrV,EAAI2iC,MAAMthC,GAElB,GAAI+T,IAAMC,EAAV,CACID,EAAIC,EACNzU,GAAO,EACEwU,EAAIC,IACbzU,EAAM,GAER,KANqB,CAOvB,CACA,OAAOA,CACT,EAEA6R,EAAGrU,UAAU20C,IAAM,SAAc/yC,GAC/B,OAA0B,IAAnB9C,KAAK8c,KAAKha,EACnB,EAEAyS,EAAGrU,UAAU40C,GAAK,SAAahzC,GAC7B,OAAyB,IAAlB9C,KAAKqc,IAAIvZ,EAClB,EAEAyS,EAAGrU,UAAU60C,KAAO,SAAejzC,GACjC,OAAO9C,KAAK8c,KAAKha,IAAQ,CAC3B,EAEAyS,EAAGrU,UAAU80C,IAAM,SAAclzC,GAC/B,OAAO9C,KAAKqc,IAAIvZ,IAAQ,CAC1B,EAEAyS,EAAGrU,UAAU+0C,IAAM,SAAcnzC,GAC/B,OAA2B,IAApB9C,KAAK8c,KAAKha,EACnB,EAEAyS,EAAGrU,UAAUg1C,GAAK,SAAapzC,GAC7B,OAA0B,IAAnB9C,KAAKqc,IAAIvZ,EAClB,EAEAyS,EAAGrU,UAAUi1C,KAAO,SAAerzC,GACjC,OAAO9C,KAAK8c,KAAKha,IAAQ,CAC3B,EAEAyS,EAAGrU,UAAUk1C,IAAM,SAActzC,GAC/B,OAAO9C,KAAKqc,IAAIvZ,IAAQ,CAC1B,EAEAyS,EAAGrU,UAAUm1C,IAAM,SAAcvzC,GAC/B,OAA0B,IAAnB9C,KAAK8c,KAAKha,EACnB,EAEAyS,EAAGrU,UAAUid,GAAK,SAAarb,GAC7B,OAAyB,IAAlB9C,KAAKqc,IAAIvZ,EAClB,EAMAyS,EAAG2F,IAAM,SAAcpY,GACrB,OAAO,IAAIwzC,EAAIxzC,EACjB,EAEAyS,EAAGrU,UAAU+Z,MAAQ,SAAgBmR,GAGnC,OAFA3W,GAAQzV,KAAKkb,IAAK,yCAClBzF,EAAyB,IAAlBzV,KAAKwlC,SAAgB,iCACrBpZ,EAAImqB,UAAUv2C,MAAMw2C,UAAUpqB,EACvC,EAEA7W,EAAGrU,UAAU2b,QAAU,WAErB,OADApH,EAAOzV,KAAKkb,IAAK,wDACVlb,KAAKkb,IAAIu7B,YAAYz2C,KAC9B,EAEAuV,EAAGrU,UAAUs1C,UAAY,SAAoBpqB,GAE3C,OADApsB,KAAKkb,IAAMkR,EACJpsB,IACT,EAEAuV,EAAGrU,UAAUw1C,SAAW,SAAmBtqB,GAEzC,OADA3W,GAAQzV,KAAKkb,IAAK,yCACXlb,KAAKw2C,UAAUpqB,EACxB,EAEA7W,EAAGrU,UAAUqa,OAAS,SAAiBzY,GAErC,OADA2S,EAAOzV,KAAKkb,IAAK,sCACVlb,KAAKkb,IAAImC,IAAIrd,KAAM8C,EAC5B,EAEAyS,EAAGrU,UAAUy1C,QAAU,SAAkB7zC,GAEvC,OADA2S,EAAOzV,KAAKkb,IAAK,uCACVlb,KAAKkb,IAAIqvB,KAAKvqC,KAAM8C,EAC7B,EAEAyS,EAAGrU,UAAUgc,OAAS,SAAiBpa,GAErC,OADA2S,EAAOzV,KAAKkb,IAAK,sCACVlb,KAAKkb,IAAIuvB,IAAIzqC,KAAM8C,EAC5B,EAEAyS,EAAGrU,UAAUuc,QAAU,SAAkB3a,GAEvC,OADA2S,EAAOzV,KAAKkb,IAAK,uCACVlb,KAAKkb,IAAIsvB,KAAKxqC,KAAM8C,EAC7B,EAEAyS,EAAGrU,UAAU01C,OAAS,SAAiB9zC,GAErC,OADA2S,EAAOzV,KAAKkb,IAAK,sCACVlb,KAAKkb,IAAI27B,IAAI72C,KAAM8C,EAC5B,EAEAyS,EAAGrU,UAAUoa,OAAS,SAAiBxY,GAGrC,OAFA2S,EAAOzV,KAAKkb,IAAK,sCACjBlb,KAAKkb,IAAI47B,SAAS92C,KAAM8C,GACjB9C,KAAKkb,IAAIwC,IAAI1d,KAAM8C,EAC5B,EAEAyS,EAAGrU,UAAU61C,QAAU,SAAkBj0C,GAGvC,OAFA2S,EAAOzV,KAAKkb,IAAK,sCACjBlb,KAAKkb,IAAI47B,SAAS92C,KAAM8C,GACjB9C,KAAKkb,IAAIuzB,KAAKzuC,KAAM8C,EAC7B,EAEAyS,EAAGrU,UAAUgb,OAAS,WAGpB,OAFAzG,EAAOzV,KAAKkb,IAAK,sCACjBlb,KAAKkb,IAAI87B,SAASh3C,MACXA,KAAKkb,IAAIu3B,IAAIzyC,KACtB,EAEAuV,EAAGrU,UAAU+1C,QAAU,WAGrB,OAFAxhC,EAAOzV,KAAKkb,IAAK,uCACjBlb,KAAKkb,IAAI87B,SAASh3C,MACXA,KAAKkb,IAAIw3B,KAAK1yC,KACvB,EAGAuV,EAAGrU,UAAUkb,QAAU,WAGrB,OAFA3G,EAAOzV,KAAKkb,IAAK,uCACjBlb,KAAKkb,IAAI87B,SAASh3C,MACXA,KAAKkb,IAAIg8B,KAAKl3C,KACvB,EAEAuV,EAAGrU,UAAUka,QAAU,WAGrB,OAFA3F,EAAOzV,KAAKkb,IAAK,uCACjBlb,KAAKkb,IAAI87B,SAASh3C,MACXA,KAAKkb,IAAIw6B,KAAK11C,KACvB,EAGAuV,EAAGrU,UAAUi2C,OAAS,WAGpB,OAFA1hC,EAAOzV,KAAKkb,IAAK,sCACjBlb,KAAKkb,IAAI87B,SAASh3C,MACXA,KAAKkb,IAAImuB,IAAIrpC,KACtB,EAEAuV,EAAGrU,UAAUk2C,OAAS,SAAiBt0C,GAGrC,OAFA2S,EAAOzV,KAAKkb,MAAQpY,EAAIoY,IAAK,qBAC7Blb,KAAKkb,IAAI87B,SAASh3C,MACXA,KAAKkb,IAAItD,IAAI5X,KAAM8C,EAC5B,EAGA,IAAIu0C,EAAS,CACXC,KAAM,KACNC,KAAM,KACNC,KAAM,KACNC,OAAQ,MAIV,SAASC,EAAQp1C,EAAMoP,GAErB1R,KAAKsC,KAAOA,EACZtC,KAAK0R,EAAI,IAAI6D,EAAG7D,EAAG,IACnB1R,KAAK2Q,EAAI3Q,KAAK0R,EAAE+2B,YAChBzoC,KAAK2d,EAAI,IAAIpI,EAAG,GAAGq9B,OAAO5yC,KAAK2Q,GAAG65B,KAAKxqC,KAAK0R,GAE5C1R,KAAK23C,IAAM33C,KAAK43C,MAClB,CAgDA,SAASC,IACPH,EAAO33C,KACLC,KACA,OACA,0EACJ,CA8DA,SAAS83C,IACPJ,EAAO33C,KACLC,KACA,OACA,iEACJ,CAGA,SAAS+3C,IACPL,EAAO33C,KACLC,KACA,OACA,wDACJ,CAGA,SAASg4C,IAEPN,EAAO33C,KACLC,KACA,QACA,sEACJ,CA6CA,SAASs2C,EAAKn/B,GACZ,GAAiB,iBAANA,EAAgB,CACzB,IAAIgS,EAAQ5T,EAAG0iC,OAAO9gC,GACtBnX,KAAKmX,EAAIgS,EAAMzX,EACf1R,KAAKmpB,MAAQA,CACf,MACE1T,EAAO0B,EAAE0+B,IAAI,GAAI,kCACjB71C,KAAKmX,EAAIA,EACTnX,KAAKmpB,MAAQ,IAEjB,CAgOA,SAAS+uB,EAAM/gC,GACbm/B,EAAIv2C,KAAKC,KAAMmX,GAEfnX,KAAKsR,MAAQtR,KAAKmX,EAAEsxB,YAChBzoC,KAAKsR,MAAQ,IAAO,IACtBtR,KAAKsR,OAAS,GAAMtR,KAAKsR,MAAQ,IAGnCtR,KAAK8lC,EAAI,IAAIvwB,EAAG,GAAGq9B,OAAO5yC,KAAKsR,OAC/BtR,KAAK00C,GAAK10C,KAAKm4C,KAAKn4C,KAAK8lC,EAAE2M,OAC3BzyC,KAAKo4C,KAAOp4C,KAAK8lC,EAAE0P,OAAOx1C,KAAKmX,GAE/BnX,KAAKq4C,KAAOr4C,KAAKo4C,KAAK16B,IAAI1d,KAAK8lC,GAAG4N,MAAM,GAAGQ,IAAIl0C,KAAKmX,GACpDnX,KAAKq4C,KAAOr4C,KAAKq4C,KAAK/D,KAAKt0C,KAAK8lC,GAChC9lC,KAAKq4C,KAAOr4C,KAAK8lC,EAAE2E,IAAIzqC,KAAKq4C,KAC9B,CA7aAX,EAAOx2C,UAAU02C,KAAO,WACtB,IAAID,EAAM,IAAIpiC,EAAG,MAEjB,OADAoiC,EAAIlS,MAAQ,IAAIvgC,MAAMoI,KAAK8qB,KAAKp4B,KAAK2Q,EAAI,KAClCgnC,CACT,EAEAD,EAAOx2C,UAAUo3C,QAAU,SAAkBx1C,GAG3C,IACIy1C,EADAzS,EAAIhjC,EAGR,GACE9C,KAAKiF,MAAM6gC,EAAG9lC,KAAK23C,KAGnBY,GADAzS,GADAA,EAAI9lC,KAAKw4C,MAAM1S,IACTyE,KAAKvqC,KAAK23C,MACPlP,kBACF8P,EAAOv4C,KAAK2Q,GAErB,IAAI0L,EAAMk8B,EAAOv4C,KAAK2Q,GAAK,EAAIm1B,EAAE8P,KAAK51C,KAAK0R,GAgB3C,OAfY,IAAR2K,GACFypB,EAAEL,MAAM,GAAK,EACbK,EAAE9hC,OAAS,GACFqY,EAAM,EACfypB,EAAE0E,KAAKxqC,KAAK0R,QAEInK,IAAZu+B,EAAES,MAEJT,EAAES,QAGFT,EAAE2S,SAIC3S,CACT,EAEA4R,EAAOx2C,UAAU+D,MAAQ,SAAgByU,EAAO9S,GAC9C8S,EAAMqE,OAAO/d,KAAK2Q,EAAG,EAAG/J,EAC1B,EAEA8wC,EAAOx2C,UAAUs3C,MAAQ,SAAgB11C,GACvC,OAAOA,EAAI2rC,KAAKzuC,KAAK2d,EACvB,EAQAne,EAASq4C,EAAMH,GAEfG,EAAK32C,UAAU+D,MAAQ,SAAgByU,EAAOsU,GAK5C,IAHA,IAAIilB,EAAO,QAEPyF,EAASprC,KAAK8K,IAAIsB,EAAM1V,OAAQ,GAC3BG,EAAI,EAAGA,EAAIu0C,EAAQv0C,IAC1B6pB,EAAOyX,MAAMthC,GAAKuV,EAAM+rB,MAAMthC,GAIhC,GAFA6pB,EAAOhqB,OAAS00C,EAEZh/B,EAAM1V,QAAU,EAGlB,OAFA0V,EAAM+rB,MAAM,GAAK,OACjB/rB,EAAM1V,OAAS,GAKjB,IAAIuqB,EAAO7U,EAAM+rB,MAAM,GAGvB,IAFAzX,EAAOyX,MAAMzX,EAAOhqB,UAAYuqB,EAAO0kB,EAElC9uC,EAAI,GAAIA,EAAIuV,EAAM1V,OAAQG,IAAK,CAClC,IAAIyN,EAAwB,EAAjB8H,EAAM+rB,MAAMthC,GACvBuV,EAAM+rB,MAAMthC,EAAI,KAAQyN,EAAOqhC,IAAS,EAAM1kB,IAAS,GACvDA,EAAO3c,CACT,CACA2c,KAAU,GACV7U,EAAM+rB,MAAMthC,EAAI,IAAMoqB,EACT,IAATA,GAAc7U,EAAM1V,OAAS,GAC/B0V,EAAM1V,QAAU,GAEhB0V,EAAM1V,QAAU,CAEpB,EAEA6zC,EAAK32C,UAAUs3C,MAAQ,SAAgB11C,GAErCA,EAAI2iC,MAAM3iC,EAAIkB,QAAU,EACxBlB,EAAI2iC,MAAM3iC,EAAIkB,OAAS,GAAK,EAC5BlB,EAAIkB,QAAU,EAId,IADA,IAAIojC,EAAK,EACAjjC,EAAI,EAAGA,EAAIrB,EAAIkB,OAAQG,IAAK,CACnC,IAAImiC,EAAmB,EAAfxjC,EAAI2iC,MAAMthC,GAClBijC,GAAU,IAAJd,EACNxjC,EAAI2iC,MAAMthC,GAAU,SAALijC,EACfA,EAAS,GAAJd,GAAac,EAAK,SAAa,EACtC,CASA,OANkC,IAA9BtkC,EAAI2iC,MAAM3iC,EAAIkB,OAAS,KACzBlB,EAAIkB,SAC8B,IAA9BlB,EAAI2iC,MAAM3iC,EAAIkB,OAAS,IACzBlB,EAAIkB,UAGDlB,CACT,EAQAtD,EAASs4C,EAAMJ,GAQfl4C,EAASu4C,EAAML,GASfl4C,EAASw4C,EAAQN,GAEjBM,EAAO92C,UAAUs3C,MAAQ,SAAgB11C,GAGvC,IADA,IAAIukC,EAAQ,EACHljC,EAAI,EAAGA,EAAIrB,EAAIkB,OAAQG,IAAK,CACnC,IAAIukC,EAA0B,IAAL,EAAf5lC,EAAI2iC,MAAMthC,IAAiBkjC,EACjCD,EAAU,SAALsB,EACTA,KAAQ,GAER5lC,EAAI2iC,MAAMthC,GAAKijC,EACfC,EAAQqB,CACV,CAIA,OAHc,IAAVrB,IACFvkC,EAAI2iC,MAAM3iC,EAAIkB,UAAYqjC,GAErBvkC,CACT,EAGAyS,EAAG0iC,OAAS,SAAgB31C,GAE1B,GAAI+0C,EAAO/0C,GAAO,OAAO+0C,EAAO/0C,GAEhC,IAAI6mB,EACJ,GAAa,SAAT7mB,EACF6mB,EAAQ,IAAI0uB,OACP,GAAa,SAATv1C,EACT6mB,EAAQ,IAAI2uB,OACP,GAAa,SAATx1C,EACT6mB,EAAQ,IAAI4uB,MACP,IAAa,WAATz1C,EAGT,MAAM,IAAIpC,MAAM,iBAAmBoC,GAFnC6mB,EAAQ,IAAI6uB,CAGd,CAGA,OAFAX,EAAO/0C,GAAQ6mB,EAERA,CACT,EAiBAmtB,EAAIp1C,UAAU81C,SAAW,SAAmB9+B,GAC1CzC,EAAsB,IAAfyC,EAAEstB,SAAgB,iCACzB/vB,EAAOyC,EAAEgD,IAAK,kCAChB,EAEAo7B,EAAIp1C,UAAU41C,SAAW,SAAmB5+B,EAAGC,GAC7C1C,IAAQyC,EAAEstB,SAAWrtB,EAAEqtB,UAAiB,iCACxC/vB,EAAOyC,EAAEgD,KAAOhD,EAAEgD,MAAQ/C,EAAE+C,IAC1B,kCACJ,EAEAo7B,EAAIp1C,UAAUi3C,KAAO,SAAejgC,GAClC,OAAIlY,KAAKmpB,MAAcnpB,KAAKmpB,MAAMmvB,QAAQpgC,GAAGs+B,UAAUx2C,MAChDkY,EAAEo8B,KAAKt0C,KAAKmX,GAAGq/B,UAAUx2C,KAClC,EAEAs2C,EAAIp1C,UAAUmoC,IAAM,SAAcnxB,GAChC,OAAIA,EAAE0vB,SACG1vB,EAAE2F,QAGJ7d,KAAKmX,EAAEszB,IAAIvyB,GAAGs+B,UAAUx2C,KACjC,EAEAs2C,EAAIp1C,UAAUmc,IAAM,SAAcnF,EAAGC,GACnCnY,KAAK82C,SAAS5+B,EAAGC,GAEjB,IAAIzU,EAAMwU,EAAEmF,IAAIlF,GAIhB,OAHIzU,EAAI2Y,IAAIrc,KAAKmX,IAAM,GACrBzT,EAAI8mC,KAAKxqC,KAAKmX,GAETzT,EAAI8yC,UAAUx2C,KACvB,EAEAs2C,EAAIp1C,UAAUqpC,KAAO,SAAeryB,EAAGC,GACrCnY,KAAK82C,SAAS5+B,EAAGC,GAEjB,IAAIzU,EAAMwU,EAAEqyB,KAAKpyB,GAIjB,OAHIzU,EAAI2Y,IAAIrc,KAAKmX,IAAM,GACrBzT,EAAI8mC,KAAKxqC,KAAKmX,GAETzT,CACT,EAEA4yC,EAAIp1C,UAAUupC,IAAM,SAAcvyB,EAAGC,GACnCnY,KAAK82C,SAAS5+B,EAAGC,GAEjB,IAAIzU,EAAMwU,EAAEuyB,IAAItyB,GAIhB,OAHIzU,EAAIoZ,KAAK,GAAK,GAChBpZ,EAAI6mC,KAAKvqC,KAAKmX,GAETzT,EAAI8yC,UAAUx2C,KACvB,EAEAs2C,EAAIp1C,UAAUspC,KAAO,SAAetyB,EAAGC,GACrCnY,KAAK82C,SAAS5+B,EAAGC,GAEjB,IAAIzU,EAAMwU,EAAEsyB,KAAKryB,GAIjB,OAHIzU,EAAIoZ,KAAK,GAAK,GAChBpZ,EAAI6mC,KAAKvqC,KAAKmX,GAETzT,CACT,EAEA4yC,EAAIp1C,UAAU21C,IAAM,SAAc3+B,EAAGpV,GAEnC,OADA9C,KAAKg3C,SAAS9+B,GACPlY,KAAKm4C,KAAKjgC,EAAEm7B,MAAMvwC,GAC3B,EAEAwzC,EAAIp1C,UAAUutC,KAAO,SAAev2B,EAAGC,GAErC,OADAnY,KAAK82C,SAAS5+B,EAAGC,GACVnY,KAAKm4C,KAAKjgC,EAAEu2B,KAAKt2B,GAC1B,EAEAm+B,EAAIp1C,UAAUwc,IAAM,SAAcxF,EAAGC,GAEnC,OADAnY,KAAK82C,SAAS5+B,EAAGC,GACVnY,KAAKm4C,KAAKjgC,EAAEwF,IAAIvF,GACzB,EAEAm+B,EAAIp1C,UAAUwxC,KAAO,SAAex6B,GAClC,OAAOlY,KAAKyuC,KAAKv2B,EAAGA,EAAE2F,QACxB,EAEAy4B,EAAIp1C,UAAUuxC,IAAM,SAAcv6B,GAChC,OAAOlY,KAAK0d,IAAIxF,EAAGA,EACrB,EAEAo+B,EAAIp1C,UAAUg2C,KAAO,SAAeh/B,GAClC,GAAIA,EAAE0vB,SAAU,OAAO1vB,EAAE2F,QAEzB,IAAI86B,EAAO34C,KAAKmX,EAAE6G,MAAM,GAIxB,GAHAvI,EAAOkjC,EAAO,GAAM,GAGP,IAATA,EAAY,CACd,IAAI/gC,EAAM5X,KAAKmX,EAAEkG,IAAI,IAAI9H,EAAG,IAAIwI,OAAO,GACvC,OAAO/d,KAAK4X,IAAIM,EAAGN,EACrB,CAOA,IAFA,IAAIywB,EAAIroC,KAAKmX,EAAEy8B,KAAK,GAChBn8B,EAAI,GACA4wB,EAAET,UAA2B,IAAfS,EAAErqB,MAAM,IAC5BvG,IACA4wB,EAAEtqB,OAAO,GAEXtI,GAAQ4yB,EAAET,UAEV,IAAIhsB,EAAM,IAAIrG,EAAG,GAAG0F,MAAMjb,MACtB44C,EAAOh9B,EAAIu7B,SAIX0B,EAAO74C,KAAKmX,EAAEy8B,KAAK,GAAG71B,OAAO,GAC7BrC,EAAI1b,KAAKmX,EAAEsxB,YAGf,IAFA/sB,EAAI,IAAInG,EAAG,EAAImG,EAAIA,GAAGT,MAAMjb,MAEW,IAAhCA,KAAK4X,IAAI8D,EAAGm9B,GAAMx8B,IAAIu8B,IAC3Bl9B,EAAEi7B,QAAQiC,GAOZ,IAJA,IAAIjnC,EAAI3R,KAAK4X,IAAI8D,EAAG2sB,GAChBvC,EAAI9lC,KAAK4X,IAAIM,EAAGmwB,EAAEsL,KAAK,GAAG51B,OAAO,IACjCH,EAAI5d,KAAK4X,IAAIM,EAAGmwB,GAChBlxB,EAAIM,EACc,IAAfmG,EAAEvB,IAAIT,IAAY,CAEvB,IADA,IAAI+7B,EAAM/5B,EACDzZ,EAAI,EAAoB,IAAjBwzC,EAAIt7B,IAAIT,GAAYzX,IAClCwzC,EAAMA,EAAIz7B,SAEZzG,EAAOtR,EAAIgT,GACX,IAAIgB,EAAInY,KAAK4X,IAAIjG,EAAG,IAAI4D,EAAG,GAAGq9B,OAAOz7B,EAAIhT,EAAI,IAE7C2hC,EAAIA,EAAExqB,OAAOnD,GACbxG,EAAIwG,EAAE+D,SACN0B,EAAIA,EAAEtC,OAAO3J,GACbwF,EAAIhT,CACN,CAEA,OAAO2hC,CACT,EAEAwQ,EAAIp1C,UAAUw0C,KAAO,SAAex9B,GAClC,IAAI4gC,EAAM5gC,EAAEs9B,OAAOx1C,KAAKmX,GACxB,OAAqB,IAAjB2hC,EAAItT,UACNsT,EAAItT,SAAW,EACRxlC,KAAKm4C,KAAKW,GAAK3B,UAEfn3C,KAAKm4C,KAAKW,EAErB,EAEAxC,EAAIp1C,UAAU0W,IAAM,SAAcM,EAAGpV,GACnC,GAAIA,EAAI8kC,SAAU,OAAO,IAAIryB,EAAG,GAAG0F,MAAMjb,MACzC,GAAoB,IAAhB8C,EAAIga,KAAK,GAAU,OAAO5E,EAAE2F,QAEhC,IACIk7B,EAAM,IAAI7zC,MAAM,IACpB6zC,EAAI,GAAK,IAAIxjC,EAAG,GAAG0F,MAAMjb,MACzB+4C,EAAI,GAAK7gC,EACT,IAAK,IAAI/T,EAAI,EAAGA,EAAI40C,EAAI/0C,OAAQG,IAC9B40C,EAAI50C,GAAKnE,KAAK0d,IAAIq7B,EAAI50C,EAAI,GAAI+T,GAGhC,IAAIxU,EAAMq1C,EAAI,GACVC,EAAU,EACVC,EAAa,EACbjvC,EAAQlH,EAAI2lC,YAAc,GAK9B,IAJc,IAAVz+B,IACFA,EAAQ,IAGL7F,EAAIrB,EAAIkB,OAAS,EAAGG,GAAK,EAAGA,IAAK,CAEpC,IADA,IAAIyiC,EAAO9jC,EAAI2iC,MAAMthC,GACZC,EAAI4F,EAAQ,EAAG5F,GAAK,EAAGA,IAAK,CACnC,IAAIimC,EAAOzD,GAAQxiC,EAAK,EACpBV,IAAQq1C,EAAI,KACdr1C,EAAM1D,KAAKyyC,IAAI/uC,IAGL,IAAR2mC,GAAyB,IAAZ2O,GAKjBA,IAAY,EACZA,GAAW3O,GA9BE,MA+Bb4O,GACwC,IAAN90C,GAAiB,IAANC,KAE7CV,EAAM1D,KAAK0d,IAAIha,EAAKq1C,EAAIC,IACxBC,EAAa,EACbD,EAAU,IAXRC,EAAa,CAYjB,CACAjvC,EAAQ,EACV,CAEA,OAAOtG,CACT,EAEA4yC,EAAIp1C,UAAUq1C,UAAY,SAAoBzzC,GAC5C,IAAIgjC,EAAIhjC,EAAIwxC,KAAKt0C,KAAKmX,GAEtB,OAAO2uB,IAAMhjC,EAAMgjC,EAAEjoB,QAAUioB,CACjC,EAEAwQ,EAAIp1C,UAAUu1C,YAAc,SAAsB3zC,GAChD,IAAIY,EAAMZ,EAAI+a,QAEd,OADAna,EAAIwX,IAAM,KACHxX,CACT,EAMA6R,EAAGyT,KAAO,SAAelmB,GACvB,OAAO,IAAIo1C,EAAKp1C,EAClB,EAkBAtD,EAAS04C,EAAM5B,GAEf4B,EAAKh3C,UAAUq1C,UAAY,SAAoBzzC,GAC7C,OAAO9C,KAAKm4C,KAAKr1C,EAAIuwC,MAAMrzC,KAAKsR,OAClC,EAEA4mC,EAAKh3C,UAAUu1C,YAAc,SAAsB3zC,GACjD,IAAIgjC,EAAI9lC,KAAKm4C,KAAKr1C,EAAI4a,IAAI1d,KAAKo4C,OAE/B,OADAtS,EAAE5qB,IAAM,KACD4qB,CACT,EAEAoS,EAAKh3C,UAAUutC,KAAO,SAAev2B,EAAGC,GACtC,GAAID,EAAE0vB,UAAYzvB,EAAEyvB,SAGlB,OAFA1vB,EAAEutB,MAAM,GAAK,EACbvtB,EAAElU,OAAS,EACJkU,EAGT,IAAI0F,EAAI1F,EAAEu2B,KAAKt2B,GACXxG,EAAIiM,EAAE61B,MAAMzzC,KAAKsR,OAAOoM,IAAI1d,KAAKq4C,MAAM7E,OAAOxzC,KAAKsR,OAAOoM,IAAI1d,KAAKmX,GACnE+hC,EAAIt7B,EAAE4sB,KAAK74B,GAAGoM,OAAO/d,KAAKsR,OAC1B5N,EAAMw1C,EAQV,OANIA,EAAE78B,IAAIrc,KAAKmX,IAAM,EACnBzT,EAAMw1C,EAAE1O,KAAKxqC,KAAKmX,GACT+hC,EAAEp8B,KAAK,GAAK,IACrBpZ,EAAMw1C,EAAE3O,KAAKvqC,KAAKmX,IAGbzT,EAAI8yC,UAAUx2C,KACvB,EAEAk4C,EAAKh3C,UAAUwc,IAAM,SAAcxF,EAAGC,GACpC,GAAID,EAAE0vB,UAAYzvB,EAAEyvB,SAAU,OAAO,IAAIryB,EAAG,GAAGihC,UAAUx2C,MAEzD,IAAI4d,EAAI1F,EAAEwF,IAAIvF,GACVxG,EAAIiM,EAAE61B,MAAMzzC,KAAKsR,OAAOoM,IAAI1d,KAAKq4C,MAAM7E,OAAOxzC,KAAKsR,OAAOoM,IAAI1d,KAAKmX,GACnE+hC,EAAIt7B,EAAE4sB,KAAK74B,GAAGoM,OAAO/d,KAAKsR,OAC1B5N,EAAMw1C,EAOV,OANIA,EAAE78B,IAAIrc,KAAKmX,IAAM,EACnBzT,EAAMw1C,EAAE1O,KAAKxqC,KAAKmX,GACT+hC,EAAEp8B,KAAK,GAAK,IACrBpZ,EAAMw1C,EAAE3O,KAAKvqC,KAAKmX,IAGbzT,EAAI8yC,UAAUx2C,KACvB,EAEAk4C,EAAKh3C,UAAUw0C,KAAO,SAAex9B,GAGnC,OADUlY,KAAKm4C,KAAKjgC,EAAEs9B,OAAOx1C,KAAKmX,GAAGuG,IAAI1d,KAAK00C,KACnC8B,UAAUx2C,KACvB,CACD,CAr3GD,C,WAq3G4CA,K,eCr3G5C8B,EAAQo1B,QAAU,SAAUhrB,EAAM0S,GAChC,OAAO1S,EAAK0qB,QAAQrO,aAAa3J,EACnC,EAEA9c,EAAQgJ,QAAU,SAAUoB,EAAM0S,GAChC,OAAO1S,EAAK0qB,QAAQpO,aAAa5J,EACnC,C,iBCJA,IAAIpJ,EAAQ,EAAQ,MAEhB8U,EAAM1pB,OAAOM,UAAU0C,eACvBuB,EAAUD,MAAMC,QAEhB2tD,EAAW,CACXC,WAAW,EACXC,kBAAkB,EAClBC,iBAAiB,EACjBC,aAAa,EACbC,WAAY,GACZC,QAAS,QACTC,iBAAiB,EACjBC,OAAO,EACPC,iBAAiB,EACjB/kD,QAASgH,EAAMopB,OACfjE,UAAW,IACX9f,MAAO,EACP24C,WAAY,UACZC,mBAAmB,EACnBC,0BAA0B,EAC1BC,eAAgB,IAChBC,aAAa,EACbC,cAAc,EACdC,aAAa,EACbC,oBAAoB,GAGpBL,EAA2B,SAAUpvD,GACrC,OAAOA,EAAIqF,QAAQ,aAAa,SAAUqqD,EAAIC,GAC1C,OAAO9qD,OAAO+1B,aAAa1sB,SAASyhD,EAAW,IACnD,GACJ,EAEIC,EAAkB,SAAU1mC,EAAK3gB,GACjC,OAAI2gB,GAAsB,iBAARA,GAAoB3gB,EAAQymD,OAAS9lC,EAAIvjB,QAAQ,MAAQ,EAChEujB,EAAIvoB,MAAM,KAGduoB,CACX,EAqHI2mC,EAAY,SAA8BC,EAAU5mC,EAAK3gB,EAASwnD,GAClE,GAAKD,EAAL,CAKA,IAAIrzD,EAAM8L,EAAQkmD,UAAYqB,EAASzqD,QAAQ,cAAe,QAAUyqD,EAKpEvzB,EAAQ,gBAIRyzB,EAAUznD,EAAQgO,MAAQ,GALf,eAK6BsJ,KAAKpjB,GAC7C4B,EAAS2xD,EAAUvzD,EAAIqE,MAAM,EAAGkvD,EAAQ3/C,OAAS5T,EAIjDF,EAAO,GACX,GAAI8B,EAAQ,CAER,IAAKkK,EAAQgnD,cAAgBvpC,EAAIvqB,KAAKa,OAAOM,UAAWyB,KAC/CkK,EAAQomD,gBACT,OAIRpyD,EAAKwO,KAAK1M,EACd,CAKA,IADA,IAAIwB,EAAI,EACD0I,EAAQgO,MAAQ,GAAqC,QAA/By5C,EAAUzzB,EAAM1c,KAAKpjB,KAAkBoD,EAAI0I,EAAQgO,OAAO,CAEnF,GADA1W,GAAK,GACA0I,EAAQgnD,cAAgBvpC,EAAIvqB,KAAKa,OAAOM,UAAWozD,EAAQ,GAAGlvD,MAAM,GAAI,MACpEyH,EAAQomD,gBACT,OAGRpyD,EAAKwO,KAAKilD,EAAQ,GACtB,CAIA,GAAIA,EAAS,CACT,IAA4B,IAAxBznD,EAAQinD,YACR,MAAM,IAAIpL,WAAW,wCAA0C77C,EAAQgO,MAAQ,4BAEnFha,EAAKwO,KAAK,IAAMtO,EAAIqE,MAAMkvD,EAAQ3/C,OAAS,IAC/C,CAEA,OA5Fc,SAAU4/C,EAAO/mC,EAAK3gB,EAASwnD,GAG7C,IAFA,IAAIG,EAAOH,EAAe7mC,EAAM0mC,EAAgB1mC,EAAK3gB,GAE5C1I,EAAIowD,EAAMvwD,OAAS,EAAGG,GAAK,IAAKA,EAAG,CACxC,IAAI8C,EACAipB,EAAOqkC,EAAMpwD,GAEjB,GAAa,OAAT+rB,GAAiBrjB,EAAQ+mD,YACzB3sD,EAAM4F,EAAQmmD,mBAA8B,KAATwB,GAAgB3nD,EAAQknD,oBAA+B,OAATS,GAC3E,GACA,GAAG9oD,OAAO8oD,OACb,CACHvtD,EAAM4F,EAAQgnD,aAAejzD,OAAOyL,OAAO,MAAQ,CAAC,EACpD,IAAIooD,EAA+B,MAAnBvkC,EAAKwkC,OAAO,IAA+C,MAAjCxkC,EAAKwkC,OAAOxkC,EAAKlsB,OAAS,GAAaksB,EAAK9qB,MAAM,GAAI,GAAK8qB,EACjGykC,EAAc9nD,EAAQ0mD,gBAAkBkB,EAAU9qD,QAAQ,OAAQ,KAAO8qD,EACzE9/C,EAAQnC,SAASmiD,EAAa,IAC7B9nD,EAAQ+mD,aAA+B,KAAhBe,GAGvB58C,MAAMpD,IACJub,IAASykC,GACTxrD,OAAOwL,KAAWggD,GAClBhgD,GAAS,GACR9H,EAAQ+mD,aAAej/C,GAAS9H,EAAQsmD,YAE5ClsD,EAAM,IACF0N,GAAS6/C,EACU,cAAhBG,IACP1tD,EAAI0tD,GAAeH,GAXnBvtD,EAAM,CAAE,EAAGutD,EAanB,CAEAA,EAAOvtD,CACX,CAEA,OAAOutD,CACX,CAwDWI,CAAY/zD,EAAM2sB,EAAK3gB,EAASwnD,EAnDvC,CAoDJ,EAyDAxyD,EAAOC,QAAU,SAAUwC,EAAK6nB,GAC5B,IAAItf,EAxDoB,SAA+Bsf,GACvD,IAAKA,EACD,OAAO2mC,EAGX,QAAqC,IAA1B3mC,EAAK6mC,kBAAqE,kBAA1B7mC,EAAK6mC,iBAC5D,MAAM,IAAI5pD,UAAU,0EAGxB,QAAoC,IAAzB+iB,EAAKonC,iBAAmE,kBAAzBpnC,EAAKonC,gBAC3D,MAAM,IAAInqD,UAAU,yEAGxB,GAAqB,OAAjB+iB,EAAK3d,cAA4C,IAAjB2d,EAAK3d,SAAmD,mBAAjB2d,EAAK3d,QAC5E,MAAM,IAAIpF,UAAU,iCAGxB,QAA4B,IAAjB+iB,EAAKinC,SAA4C,UAAjBjnC,EAAKinC,SAAwC,eAAjBjnC,EAAKinC,QACxE,MAAM,IAAIhqD,UAAU,qEAExB,IAAIgqD,OAAkC,IAAjBjnC,EAAKinC,QAA0BN,EAASM,QAAUjnC,EAAKinC,QAExEI,OAAwC,IAApBrnC,EAAKqnC,WAA6BV,EAASU,WAAarnC,EAAKqnC,WAErF,GAAmB,YAAfA,GAA2C,UAAfA,GAAyC,SAAfA,EACtD,MAAM,IAAIpqD,UAAU,gEAKxB,MAAO,CACH2pD,eAHsC,IAAnB5mC,EAAK4mC,WAAqD,IAAzB5mC,EAAKonC,iBAAkCT,EAASC,YAAc5mC,EAAK4mC,UAIvHC,iBAAmD,kBAA1B7mC,EAAK6mC,mBAAmC7mC,EAAK6mC,iBAAmBF,EAASE,iBAClGC,gBAAiD,kBAAzB9mC,EAAK8mC,gBAAgC9mC,EAAK8mC,gBAAkBH,EAASG,gBAC7FC,YAAyC,kBAArB/mC,EAAK+mC,YAA4B/mC,EAAK+mC,YAAcJ,EAASI,YACjFC,WAAuC,iBAApBhnC,EAAKgnC,WAA0BhnC,EAAKgnC,WAAaL,EAASK,WAC7EC,QAASA,EACTC,gBAAiD,kBAAzBlnC,EAAKknC,gBAAgClnC,EAAKknC,gBAAkBP,EAASO,gBAC7FC,MAA6B,kBAAfnnC,EAAKmnC,MAAsBnnC,EAAKmnC,MAAQR,EAASQ,MAC/DC,gBAAiD,kBAAzBpnC,EAAKonC,gBAAgCpnC,EAAKonC,gBAAkBT,EAASS,gBAC7F/kD,QAAiC,mBAAjB2d,EAAK3d,QAAyB2d,EAAK3d,QAAUskD,EAAStkD,QACtEmsB,UAAqC,iBAAnBxO,EAAKwO,WAA0BnlB,EAAMsY,SAAS3B,EAAKwO,WAAaxO,EAAKwO,UAAYm4B,EAASn4B,UAE5G9f,MAA8B,iBAAfsR,EAAKtR,QAAqC,IAAfsR,EAAKtR,OAAoBsR,EAAKtR,MAAQi4C,EAASj4C,MACzF24C,WAAYA,EACZC,mBAA8C,IAA3BtnC,EAAKsnC,kBACxBC,yBAAmE,kBAAlCvnC,EAAKunC,yBAAyCvnC,EAAKunC,yBAA2BZ,EAASY,yBACxHC,eAA+C,iBAAxBxnC,EAAKwnC,eAA8BxnC,EAAKwnC,eAAiBb,EAASa,eACzFC,aAAkC,IAArBznC,EAAKynC,YAClBC,aAA2C,kBAAtB1nC,EAAK0nC,aAA6B1nC,EAAK0nC,aAAef,EAASe,aACpFC,YAAyC,kBAArB3nC,EAAK2nC,cAA8B3nC,EAAK2nC,YAAchB,EAASgB,YACnFC,mBAAuD,kBAA5B5nC,EAAK4nC,mBAAmC5nC,EAAK4nC,mBAAqBjB,EAASiB,mBAE9G,CAGkBc,CAAsB1oC,GAEpC,GAAY,KAAR7nB,SAAcA,EACd,OAAOuI,EAAQgnD,aAAejzD,OAAOyL,OAAO,MAAQ,CAAC,EASzD,IANA,IAAIyoD,EAAyB,iBAARxwD,EAhOP,SAAgCA,EAAKuI,GACnD,IAAI5F,EAAM,CAAEoa,UAAW,MAEnB0zC,EAAWloD,EAAQ4mD,kBAAoBnvD,EAAIqF,QAAQ,MAAO,IAAMrF,EACpEywD,EAAWA,EAASprD,QAAQ,QAAS,KAAKA,QAAQ,QAAS,KAC3D,IAGIxF,EAHA6wD,EAAQnoD,EAAQ8mD,iBAAmBh8C,SAAWpQ,EAAYsF,EAAQ8mD,eAClEjvC,EAAQqwC,EAAS9vD,MAAM4H,EAAQ8tB,UAAWq6B,GAC1CC,GAAa,EAGb7B,EAAUvmD,EAAQumD,QACtB,GAAIvmD,EAAQwmD,gBACR,IAAKlvD,EAAI,EAAGA,EAAIugB,EAAM1gB,SAAUG,EACM,IAA9BugB,EAAMvgB,GAAG8F,QAAQ,WAfX,mBAgBFya,EAAMvgB,GACNivD,EAAU,QApBZ,wBAqBS1uC,EAAMvgB,KACbivD,EAAU,cAEd6B,EAAY9wD,EACZA,EAAIugB,EAAM1gB,QAKtB,IAAKG,EAAI,EAAGA,EAAIugB,EAAM1gB,SAAUG,EAC5B,GAAIA,IAAM8wD,EAAV,CAGA,IAKIl0D,EAAKysB,EALL/H,EAAOf,EAAMvgB,GAEb+wD,EAAmBzvC,EAAKxb,QAAQ,MAChCT,GAA4B,IAAtB0rD,EAA0BzvC,EAAKxb,QAAQ,KAAOirD,EAAmB,GAG9D,IAAT1rD,GACAzI,EAAM8L,EAAQ2B,QAAQiX,EAAMqtC,EAAStkD,QAAS4kD,EAAS,OACvD5lC,EAAM3gB,EAAQknD,mBAAqB,KAAO,KAE1ChzD,EAAM8L,EAAQ2B,QAAQiX,EAAKrgB,MAAM,EAAGoE,GAAMspD,EAAStkD,QAAS4kD,EAAS,OACrE5lC,EAAMhY,EAAM2/C,SACRjB,EAAgBzuC,EAAKrgB,MAAMoE,EAAM,GAAIqD,IACrC,SAAUuoD,GACN,OAAOvoD,EAAQ2B,QAAQ4mD,EAAYtC,EAAStkD,QAAS4kD,EAAS,QAClE,KAIJ5lC,GAAO3gB,EAAQ6mD,0BAAwC,eAAZN,IAC3C5lC,EAAMkmC,EAAyBlmC,IAG/B/H,EAAKxb,QAAQ,QAAU,IACvBujB,EAAMroB,EAAQqoB,GAAO,CAACA,GAAOA,GAGjC,IAAI6nC,EAAW/qC,EAAIvqB,KAAKkH,EAAKlG,GACzBs0D,GAAmC,YAAvBxoD,EAAQ2mD,WACpBvsD,EAAIlG,GAAOyU,EAAM8/C,QAAQruD,EAAIlG,GAAMysB,GAC3B6nC,GAAmC,SAAvBxoD,EAAQ2mD,aAC5BvsD,EAAIlG,GAAOysB,EAhCf,CAoCJ,OAAOvmB,CACX,CA+J4CsuD,CAAYjxD,EAAKuI,GAAWvI,EAChE2C,EAAM4F,EAAQgnD,aAAejzD,OAAOyL,OAAO,MAAQ,CAAC,EAIpDxL,EAAOD,OAAOC,KAAKi0D,GACd3wD,EAAI,EAAGA,EAAItD,EAAKmD,SAAUG,EAAG,CAClC,IAAIpD,EAAMF,EAAKsD,GACXqxD,EAASrB,EAAUpzD,EAAK+zD,EAAQ/zD,GAAM8L,EAAwB,iBAARvI,GAC1D2C,EAAMuO,EAAMigD,MAAMxuD,EAAKuuD,EAAQ3oD,EACnC,CAEA,OAA4B,IAAxBA,EAAQqmD,YACDjsD,EAGJuO,EAAM4kC,QAAQnzC,EACzB,C,iBCrSA,IAAI7G,EAAO,EAAQ,MACfoV,EAAQ,EAAQ,MAChBC,EAAS,EAAQ,MAErB,SAASigD,EAAS7oD,GAChB,KAAM7M,gBAAgB01D,GACpB,OAAO,IAAIA,EAAS7oD,GACtB7M,KAAKI,KAAOyM,EAAQzM,KACpBJ,KAAK21D,aAAe9oD,EAAQ8oD,WAE5B31D,KAAK04C,OAAS14C,KAAKI,KAAKoqD,QACxBxqD,KAAK41D,WAAa/oD,EAAQ+oD,YAAc51D,KAAKI,KAAKqqD,aAElDzqD,KAAK61D,QAAU,KACf71D,KAAK81D,eAAiB,KACtB91D,KAAK+1D,EAAI,KACT/1D,KAAKg2D,EAAI,KAET,IAAIC,EAAUzgD,EAAM9O,QAAQmG,EAAQopD,QAASppD,EAAQqpD,YAAc,OAC/DC,EAAQ3gD,EAAM9O,QAAQmG,EAAQspD,MAAOtpD,EAAQupD,UAAY,OACzDC,EAAO7gD,EAAM9O,QAAQmG,EAAQwpD,KAAMxpD,EAAQypD,SAAW,OAC1D7gD,EAAOwgD,EAAQjyD,QAAWhE,KAAK41D,WAAa,EACrC,mCAAqC51D,KAAK41D,WAAa,SAC9D51D,KAAKyC,MAAMwzD,EAASE,EAAOE,EAC7B,CACAx0D,EAAOC,QAAU4zD,EAEjBA,EAASx0D,UAAUuB,MAAQ,SAAcwzD,EAASE,EAAOE,GACvD,IAAIE,EAAON,EAAQvqD,OAAOyqD,GAAOzqD,OAAO2qD,GAExCr2D,KAAK+1D,EAAI,IAAI7wD,MAAMlF,KAAK04C,OAAS,GACjC14C,KAAKg2D,EAAI,IAAI9wD,MAAMlF,KAAK04C,OAAS,GACjC,IAAK,IAAIv0C,EAAI,EAAGA,EAAInE,KAAKg2D,EAAEhyD,OAAQG,IACjCnE,KAAK+1D,EAAE5xD,GAAK,EACZnE,KAAKg2D,EAAE7xD,GAAK,EAGdnE,KAAKgf,QAAQu3C,GACbv2D,KAAK61D,QAAU,EACf71D,KAAK81D,eAAiB,eACxB,EAEAJ,EAASx0D,UAAUs1D,MAAQ,WACzB,OAAO,IAAIp2D,EAAKq2D,KAAKz2D,KAAKI,KAAMJ,KAAK+1D,EACvC,EAEAL,EAASx0D,UAAU8d,QAAU,SAAgBu3C,GAC3C,IAAIG,EAAO12D,KAAKw2D,QACAl1D,OAAOtB,KAAKg2D,GACZ10D,OAAO,CAAE,IACrBi1D,IACFG,EAAOA,EAAKp1D,OAAOi1D,IACrBv2D,KAAK+1D,EAAIW,EAAKj1D,SACdzB,KAAKg2D,EAAIh2D,KAAKw2D,QAAQl1D,OAAOtB,KAAKg2D,GAAGv0D,SAChC80D,IAGLv2D,KAAK+1D,EAAI/1D,KAAKw2D,QACAl1D,OAAOtB,KAAKg2D,GACZ10D,OAAO,CAAE,IACTA,OAAOi1D,GACP90D,SACdzB,KAAKg2D,EAAIh2D,KAAKw2D,QAAQl1D,OAAOtB,KAAKg2D,GAAGv0D,SACvC,EAEAi0D,EAASx0D,UAAUy1D,OAAS,SAAgBV,EAASC,EAAY74C,EAAKu5C,GAE1C,iBAAfV,IACTU,EAASv5C,EACTA,EAAM64C,EACNA,EAAa,MAGfD,EAAUzgD,EAAM9O,QAAQuvD,EAASC,GACjC74C,EAAM7H,EAAM9O,QAAQ2W,EAAKu5C,GAEzBnhD,EAAOwgD,EAAQjyD,QAAWhE,KAAK41D,WAAa,EACrC,mCAAqC51D,KAAK41D,WAAa,SAE9D51D,KAAKgf,QAAQi3C,EAAQvqD,OAAO2R,GAAO,KACnCrd,KAAK61D,QAAU,CACjB,EAEAH,EAASx0D,UAAU2uD,SAAW,SAAkB5mD,EAAK1H,EAAK8b,EAAKu5C,GAC7D,GAAI52D,KAAK61D,QAAU71D,KAAK81D,eACtB,MAAM,IAAI51D,MAAM,sBAGC,iBAARqB,IACTq1D,EAASv5C,EACTA,EAAM9b,EACNA,EAAM,MAIJ8b,IACFA,EAAM7H,EAAM9O,QAAQ2W,EAAKu5C,GAAU,OACnC52D,KAAKgf,QAAQ3B,IAIf,IADA,IAAIw5C,EAAO,GACJA,EAAK7yD,OAASiF,GACnBjJ,KAAKg2D,EAAIh2D,KAAKw2D,QAAQl1D,OAAOtB,KAAKg2D,GAAGv0D,SACrCo1D,EAAOA,EAAKnrD,OAAO1L,KAAKg2D,GAG1B,IAAItyD,EAAMmzD,EAAKzxD,MAAM,EAAG6D,GAGxB,OAFAjJ,KAAKgf,QAAQ3B,GACbrd,KAAK61D,UACErgD,EAAMzS,OAAOW,EAAKnC,EAC3B,C,iBC9GA,MAAM43B,EAAU,EAAQ,MAClB4G,EAAU5G,EAAQ4G,QAClB2iB,EAAavpB,EAAQupB,WAErBplB,EAAW,gBACXonB,EAAW,EAAQ,MACnBsI,EAAkBtI,EAASsI,gBAC3BnF,EAAYnD,EAASmD,UACrBC,EAAWpD,EAASoD,SAEpBv7C,EAAQ,gBAAyB,QACvCzK,EAAQyK,MAAQA,EAEhBzK,EAAQghD,KAAO,OACfhhD,EAAQkhD,gBAAkB,SAC1BlhD,EAAQihD,mBAAqB,gBAC7BjhD,EAAQi+B,QAAUA,EAElB,MAAM+2B,EAAqC,EAAxBpU,EAAWoU,WACxBC,EAAqD,EAAhCrU,EAAWqU,mBAChCC,EAA+B,EAArBtU,EAAWsU,QACrBC,EAAqD,EAAhCvU,EAAWuU,mBAChC7T,EAAqC,EAAxBV,EAAWU,WAO9B,SAAS8T,EAAgBtT,EAASuT,IAE5Bn3D,KAAKylD,gBAAkB,GACvBzlD,KAAKwoD,SAASxkD,OAAShE,KAAKylD,kBAC9BzlD,KAAKwoD,SAAWxoD,KAAKwoD,SAAS98C,OAAOk4C,IAEvC5jD,KAAKo3D,MAAQD,CACf,CAMA,SAASE,EAAwBC,EAAcC,EAAc3T,EAAS3uC,EACrCkiD,EAAKlP,EAAYC,EAAehB,EAChCpD,GAC/B,IAAI7vB,EAASj0B,KAER4jD,IACHA,EAAU3vB,EAAOu0B,SACjBv0B,EAAOu0B,SAAW,IAGf2O,IACHA,EAAMljC,EAAOmjC,KACbnjC,EAAOmjC,KAAO,IAGhBnjC,EAAOywB,SAAW,IAAIsI,EAAgB/4B,EAAOuwB,QAC7CvwB,EAAOywB,SAASjB,iBAAmB6T,EACnCrjC,EAAOywB,SAAShB,iBAAmB6T,EACnCtjC,EAAOywB,SAAS8S,YAAcF,EAAe,IAAMC,EACnDtjC,EAAOywB,SAASyS,IAAMA,EAEtB,IAAIxmD,EAAIizC,EAAQ5/C,OAGZiwB,EAAOwxB,eAAiB,IAC1B90C,EAAIrD,KAAK8K,IAAIzH,EAAGsjB,EAAOwxB,iBAEzBxxB,EAAOywB,SAAS+S,gBAAgB7T,EAASjzC,GAEnB,iBAAXsE,EAETgf,EAAOywB,SAASzvC,OAAS8qB,EAAQ9qB,IAGjCgf,EAAOywB,SAASuD,WAAaA,EAC7Bh0B,EAAOywB,SAASwD,cAAgBA,IAU9BhB,GACoB,OAApBjzB,EAAOwwB,eAC+Bl9C,IAArC0sB,EAAOwwB,SAAS+D,SAAStB,SACxB,uBAAuBriD,KAAKovB,EAAOwwB,SAAS+D,SAASL,cACzDjB,GAAU,GAGZjzB,EAAOywB,SAASwC,QAAUA,EAE1B,IAAIwQ,EAAW,EASf,OAPKxQ,IAIHwQ,EAAWzjC,EAAO0xB,WAAW1xB,EAAOywB,SAAUZ,IAGxB,iBAAb4T,EACFA,EAAW,EAAI,EAEfA,CACX,CAIA,SAASC,EAAax/C,EAAGnO,EAAOf,GAC9B,IACI1J,EADSS,KACO0kD,SAGpB,GAAKnlD,EAAL,CAGA,IAAIilD,EAASjlD,EAAOilD,OAGpB,GAAIv7C,EAAM,IAAM1J,EAAOq4D,QAAS,CAC9B,IAAIxyD,EAAQ+S,EAAE/S,MAAM4E,EAAOA,EAAQf,GACzB1J,EAAO8P,KAAKjK,IAEpB0iD,EAAStD,EACb,CAVQ,CAWV,CAEA,SAASqT,IACP,IAAI5jC,EAASj0B,KACTT,EAAS00B,EAAOywB,SAEpB,GAAInlD,EAAQ,CACVA,EAAO4lD,UAAW,EAElB,IAAIvB,EAAU3vB,EAAOu0B,SACjB5E,IACF3vB,EAAOywB,SAAS+S,gBAAgB7T,EAASA,EAAQ5/C,QACjDiwB,EAAOu0B,SAAW,GAClBv0B,EAAOmjC,KAAO,IAIhB73D,EAAO8P,KAAK,KACd,CAGAw4C,EAAU5zB,EAAOuwB,OACnB,CAGA,IAAI5B,EAAU,IAAItlB,EAAS,UAAW,KAAM,WAC1C,IAAIrJ,EAAS,IAAIyuB,EAAWA,EAAW6C,SAqBvC,OAnBAtxB,EAAOu0B,SAAW,GAClBv0B,EAAOmjC,KAAO,GACdnjC,EAAOyzB,WAAY,EAEnBzzB,EAAOuwB,OAAS,KAChBvwB,EAAOywB,SAAW,KAClBzwB,EAAOwwB,SAAW,KAOlBxwB,EAAO6iC,GAAcI,EACrBjjC,EAAO8iC,GAAsBM,EAC7BpjC,EAAO+iC,GAAWW,EAClB1jC,EAAOgjC,GAAsBY,EAC7B5jC,EAAOmvB,GAAc,KAEdnvB,CACT,IAsCA,SAASvgB,IACH1T,KAAKgkD,cAAchkD,KAAKgkD,aAAav0C,KAAK,QAChD,CAmCA,SAASqoD,EAAiBC,GACxB,OAAIA,GAAM,IAAMA,GAAM,MAElBA,GAAM,IAAMA,GAAM,KAEX,KAAPA,IAEAA,GAAM,IAAMA,GAAM,IAEX,KAAPA,GAAoB,KAAPA,GAAoB,KAAPA,GAAoB,KAAPA,IAEvCA,GAAM,IAAMA,GAAM,KAEX,MAAPA,GAAqB,MAAPA,MAGpB,CA1FAj2D,EAAQ8gD,QAAUA,EAkClB9gD,EAAQ+gD,WAxBR,SAAoB5uB,EAAQqvB,EAAKkB,GAC3BvwB,IACFA,EAAOu0B,SAAW,GAClBv0B,EAAO0xB,WAAa,KAChB1xB,EAAOyzB,WACTzzB,EAAOozB,YACTpzB,EAAOyzB,WAAY,EACfzzB,EAAOuwB,SACTvwB,EAAOuwB,OAAOvwB,OAAS,MACzBA,EAAOuwB,OAAS,KAChBvwB,EAAOywB,SAAW,KAClBzwB,EAAOwwB,SAAW,KAClBxwB,EAAOmvB,GAAc,MACQ,IAAzBR,EAAQrlB,KAAKtJ,IACfA,EAAOyI,QACTzI,EAAS,MAEPqvB,IACFA,EAAIrvB,OAAS,MAEXuwB,IACFA,EAAOvwB,OAAS,KAEpB,EAaAnyB,EAAQmhD,gBAJR,SAAyBuB,GACvBA,EAAOjxC,eAAe,QAASG,GAC/B8wC,EAAOvwC,GAAG,QAASP,EACrB,EAsEA5R,EAAQk2D,kBAxBR,SAA0BxqC,GACxB,GAAmB,iBAARA,GAAmC,IAAfA,EAAIxpB,OACjC,OAAO,EACT,IAAK8zD,EAAiBtqC,EAAI9oB,WAAW,IACnC,OAAO,EACT,MAAMuE,EAAMukB,EAAIxpB,OAChB,GAAIiF,EAAM,EAAG,CACX,IAAK6uD,EAAiBtqC,EAAI9oB,WAAW,IACnC,OAAO,EACT,GAAIuE,EAAM,EAAG,CACX,IAAK6uD,EAAiBtqC,EAAI9oB,WAAW,IACnC,OAAO,EACT,GAAIuE,EAAM,EAAG,CACX,IAAK6uD,EAAiBtqC,EAAI9oB,WAAW,IACnC,OAAO,EACT,IAAK,IAAIP,EAAI,EAAGA,EAAI8E,EAAK9E,IACvB,IAAK2zD,EAAiBtqC,EAAI9oB,WAAWP,IACnC,OAAO,CAEb,CACF,CACF,CACA,OAAO,CACT,EAqCArC,EAAQm2D,wBAxBR,SAAgCzqC,GAE9B,IADAA,GAAO,IACCxpB,OAAS,EACf,OAAO,EACT,IAAI2N,EAAI6b,EAAI9oB,WAAW,GACvB,GAAKiN,GAAK,IAAY,IAANA,GAAYA,EAAI,KAAa,MAANA,EACrC,OAAO,EACT,GAAI6b,EAAIxpB,OAAS,EACf,OAAO,EAET,IADA2N,EAAI6b,EAAI9oB,WAAW,KACT,IAAY,IAANiN,GAAYA,EAAI,KAAa,MAANA,EACrC,OAAO,EACT,GAAI6b,EAAIxpB,OAAS,EACf,OAAO,EAET,IADA2N,EAAI6b,EAAI9oB,WAAW,KACT,IAAY,IAANiN,GAAYA,EAAI,KAAa,MAANA,EACrC,OAAO,EACT,IAAK,IAAIxN,EAAI,EAAGA,EAAIqpB,EAAIxpB,SAAUG,EAEhC,IADAwN,EAAI6b,EAAI9oB,WAAWP,KACT,IAAY,IAANwN,GAAYA,EAAI,KAAa,MAANA,EACrC,OAAO,EAEX,OAAO,CACT,C,qCC3UC,SAAUumD,GAGP,IAAIA,EAAOC,aAAX,CAIA,IAIIC,EA6HIpoC,EAZA3F,EArBAguC,EACAC,EAjGJC,EAAa,EACbC,EAAgB,CAAC,EACjBC,GAAwB,EACxBC,EAAMR,EAAOS,SAoJbC,EAAWh4D,OAAO8O,gBAAkB9O,OAAO8O,eAAewoD,GAC9DU,EAAWA,GAAYA,EAAS3T,WAAa2T,EAAWV,EAGf,qBAArC,CAAC,EAAEv2D,SAAS5B,KAAKm4D,EAAOvwD,SApFxBywD,EAAoB,SAASS,GACzBlxD,EAAQmJ,UAAS,WAAcgoD,EAAaD,EAAS,GACzD,GAGJ,WAGI,GAAIX,EAAOa,cAAgBb,EAAOc,cAAe,CAC7C,IAAIC,GAA4B,EAC5BC,EAAehB,EAAOiB,UAM1B,OALAjB,EAAOiB,UAAY,WACfF,GAA4B,CAChC,EACAf,EAAOa,YAAY,GAAI,KACvBb,EAAOiB,UAAYD,EACZD,CACX,CACJ,CAsEWG,GAIAlB,EAAOmB,iBA9CVhvC,EAAU,IAAIgvC,gBACVC,MAAMH,UAAY,SAAS9kD,GAE/BykD,EADazkD,EAAMpU,KAEvB,EAEAm4D,EAAoB,SAASS,GACzBxuC,EAAQkvC,MAAMR,YAAYF,EAC9B,GA0COH,GAAO,uBAAwBA,EAAIc,cAAc,WAtCpDxpC,EAAO0oC,EAAIe,gBACfrB,EAAoB,SAASS,GAGzB,IAAIa,EAAShB,EAAIc,cAAc,UAC/BE,EAAOC,mBAAqB,WACxBb,EAAaD,GACba,EAAOC,mBAAqB,KAC5B3pC,EAAK4pC,YAAYF,GACjBA,EAAS,IACb,EACA1pC,EAAK6pC,YAAYH,EACrB,GAIAtB,EAAoB,SAASS,GACzB5T,WAAW6T,EAAc,EAAGD,EAChC,GAnDIR,EAAgB,gBAAkB/qD,KAAKwsD,SAAW,IAClDxB,EAAkB,SAASjkD,GACvBA,EAAM2E,SAAWk/C,GACK,iBAAf7jD,EAAMpU,MACyB,IAAtCoU,EAAMpU,KAAKgK,QAAQouD,IACnBS,GAAczkD,EAAMpU,KAAKmF,MAAMizD,EAAcr0D,QAErD,EAEIk0D,EAAO6B,iBACP7B,EAAO6B,iBAAiB,UAAWzB,GAAiB,GAEpDJ,EAAO8B,YAAY,YAAa1B,GAGpCF,EAAoB,SAASS,GACzBX,EAAOa,YAAYV,EAAgBQ,EAAQ,IAC/C,GA+DJD,EAAST,aA1KT,SAAsB77B,GAEI,mBAAbA,IACTA,EAAW,IAAIv6B,SAAS,GAAKu6B,IAI/B,IADA,IAAIhR,EAAO,IAAIpmB,MAAMiQ,UAAUnR,OAAS,GAC/BG,EAAI,EAAGA,EAAImnB,EAAKtnB,OAAQG,IAC7BmnB,EAAKnnB,GAAKgR,UAAUhR,EAAI,GAG5B,IAAI81D,EAAO,CAAE39B,SAAUA,EAAUhR,KAAMA,GAGvC,OAFAktC,EAAcD,GAAc0B,EAC5B7B,EAAkBG,GACXA,GACT,EA4JAK,EAASsB,eAAiBA,CAnL1B,CAyBA,SAASA,EAAerB,UACbL,EAAcK,EACzB,CAwBA,SAASC,EAAaD,GAGlB,GAAIJ,EAGAxT,WAAW6T,EAAc,EAAGD,OACzB,CACH,IAAIoB,EAAOzB,EAAcK,GACzB,GAAIoB,EAAM,CACNxB,GAAwB,EACxB,KAjCZ,SAAawB,GACT,IAAI39B,EAAW29B,EAAK39B,SAChBhR,EAAO2uC,EAAK3uC,KAChB,OAAQA,EAAKtnB,QACb,KAAK,EACDs4B,IACA,MACJ,KAAK,EACDA,EAAShR,EAAK,IACd,MACJ,KAAK,EACDgR,EAAShR,EAAK,GAAIA,EAAK,IACvB,MACJ,KAAK,EACDgR,EAAShR,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAChC,MACJ,QACIgR,EAASpnB,WAnDrB,EAmDsCoW,GAGlC,CAcgB6uC,CAAIF,EACR,CAAE,QACEC,EAAerB,GACfJ,GAAwB,CAC5B,CACJ,CACJ,CACJ,CA8GJ,CAzLA,CAyLkB,oBAATvsD,KAAyC,oBAAX,WAAyBlM,KAAO,WAASkM,K,wBCzLhF,SAAWrK,EAAQC,GAIjB,SAAS2T,EAAQ+X,EAAK/jB,GACpB,IAAK+jB,EAAK,MAAM,IAAIttB,MAAMuJ,GAAO,mBACnC,CAIA,SAASjK,EAAU0lC,EAAMC,GACvBD,EAAKE,OAASD,EACd,IAAIE,EAAW,WAAa,EAC5BA,EAASnkC,UAAYikC,EAAUjkC,UAC/BgkC,EAAKhkC,UAAY,IAAImkC,EACrBH,EAAKhkC,UAAUsH,YAAc08B,CAC/B,CAIA,SAAS3vB,EAAIyP,EAAQ/iB,EAAMqjC,GACzB,GAAI/vB,EAAGgwB,KAAKvgB,GACV,OAAOA,EAGThlB,KAAKwlC,SAAW,EAChBxlC,KAAKylC,MAAQ,KACbzlC,KAAKgE,OAAS,EAGdhE,KAAKkb,IAAM,KAEI,OAAX8J,IACW,OAAT/iB,GAA0B,OAATA,IACnBqjC,EAASrjC,EACTA,EAAO,IAGTjC,KAAKyC,MAAMuiB,GAAU,EAAG/iB,GAAQ,GAAIqjC,GAAU,MAElD,CAUA,IAAIjmC,EATkB,iBAAXwC,EACTA,EAAOC,QAAUyT,EAEjBzT,EAAQyT,GAAKA,EAGfA,EAAGA,GAAKA,EACRA,EAAGmwB,SAAW,GAGd,IAEIrmC,EADoB,oBAAX4M,aAAmD,IAAlBA,OAAO5M,OACxC4M,OAAO5M,OAEP,cAEb,CAAE,MAAO6X,GACT,CA+HA,SAASyuB,EAAehhB,EAAQhQ,GAC9B,IAAIhD,EAAIgT,EAAOjgB,WAAWiQ,GAE1B,OAAIhD,GAAK,IAAMA,GAAK,GACXA,EAAI,GAEFA,GAAK,IAAMA,GAAK,IAClBA,EAAI,GAGHA,EAAI,GAAM,EAEtB,CAEA,SAASi0B,EAAcjhB,EAAQkhB,EAAYlxB,GACzC,IAAImxB,EAAIH,EAAchhB,EAAQhQ,GAI9B,OAHIA,EAAQ,GAAKkxB,IACfC,GAAKH,EAAchhB,EAAQhQ,EAAQ,IAAM,GAEpCmxB,CACT,CA6CA,SAASC,EAAWzhC,EAAK0F,EAAOxI,EAAKkc,GAGnC,IAFA,IAAIooB,EAAI,EACJ78B,EAAMqE,KAAK8K,IAAI9T,EAAIN,OAAQxC,GACtB2C,EAAI6F,EAAO7F,EAAI8E,EAAK9E,IAAK,CAChC,IAAIwN,EAAIrN,EAAII,WAAWP,GAAK,GAE5B2hC,GAAKpoB,EAIHooB,GADEn0B,GAAK,GACFA,EAAI,GAAK,GAGLA,GAAK,GACTA,EAAI,GAAK,GAITA,CAET,CACA,OAAOm0B,CACT,CApNAvwB,EAAGgwB,KAAO,SAAeziC,GACvB,OAAIA,aAAeyS,GAIJ,OAARzS,GAA+B,iBAARA,GAC5BA,EAAI0F,YAAYk9B,WAAanwB,EAAGmwB,UAAYxgC,MAAMC,QAAQrC,EAAI2iC,MAClE,EAEAlwB,EAAG2K,IAAM,SAAc8lB,EAAMC,GAC3B,OAAID,EAAK3pB,IAAI4pB,GAAS,EAAUD,EACzBC,CACT,EAEA1wB,EAAG6C,IAAM,SAAc4tB,EAAMC,GAC3B,OAAID,EAAK3pB,IAAI4pB,GAAS,EAAUD,EACzBC,CACT,EAEA1wB,EAAGrU,UAAUuB,MAAQ,SAAeuiB,EAAQ/iB,EAAMqjC,GAChD,GAAsB,iBAAXtgB,EACT,OAAOhlB,KAAKkmC,YAAYlhB,EAAQ/iB,EAAMqjC,GAGxC,GAAsB,iBAAXtgB,EACT,OAAOhlB,KAAKmmC,WAAWnhB,EAAQ/iB,EAAMqjC,GAG1B,QAATrjC,IACFA,EAAO,IAETwT,EAAOxT,KAAiB,EAAPA,IAAaA,GAAQ,GAAKA,GAAQ,IAGnD,IAAI+H,EAAQ,EACM,OAFlBgb,EAASA,EAAOrjB,WAAWgI,QAAQ,OAAQ,KAEhC,KACTK,IACAhK,KAAKwlC,SAAW,GAGdx7B,EAAQgb,EAAOhhB,SACJ,KAAT/B,EACFjC,KAAKomC,UAAUphB,EAAQhb,EAAOs7B,IAE9BtlC,KAAKqmC,WAAWrhB,EAAQ/iB,EAAM+H,GACf,OAAXs7B,GACFtlC,KAAKmmC,WAAWnmC,KAAK0G,UAAWzE,EAAMqjC,IAI9C,EAEA/vB,EAAGrU,UAAUglC,YAAc,SAAsBlhB,EAAQ/iB,EAAMqjC,GACzDtgB,EAAS,IACXhlB,KAAKwlC,SAAW,EAChBxgB,GAAUA,GAERA,EAAS,UACXhlB,KAAKylC,MAAQ,CAAW,SAATzgB,GACfhlB,KAAKgE,OAAS,GACLghB,EAAS,kBAClBhlB,KAAKylC,MAAQ,CACF,SAATzgB,EACCA,EAAS,SAAa,UAEzBhlB,KAAKgE,OAAS,IAEdyR,EAAOuP,EAAS,kBAChBhlB,KAAKylC,MAAQ,CACF,SAATzgB,EACCA,EAAS,SAAa,SACvB,GAEFhlB,KAAKgE,OAAS,GAGD,OAAXshC,GAGJtlC,KAAKmmC,WAAWnmC,KAAK0G,UAAWzE,EAAMqjC,EACxC,EAEA/vB,EAAGrU,UAAUilC,WAAa,SAAqBnhB,EAAQ/iB,EAAMqjC,GAG3D,GADA7vB,EAAgC,iBAAlBuP,EAAOhhB,QACjBghB,EAAOhhB,QAAU,EAGnB,OAFAhE,KAAKylC,MAAQ,CAAE,GACfzlC,KAAKgE,OAAS,EACPhE,KAGTA,KAAKgE,OAASsJ,KAAK8qB,KAAKpT,EAAOhhB,OAAS,GACxChE,KAAKylC,MAAQ,IAAIvgC,MAAMlF,KAAKgE,QAC5B,IAAK,IAAIG,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAC/BnE,KAAKylC,MAAMthC,GAAK,EAGlB,IAAIC,EAAGkiC,EACHzN,EAAM,EACV,GAAe,OAAXyM,EACF,IAAKnhC,EAAI6gB,EAAOhhB,OAAS,EAAGI,EAAI,EAAGD,GAAK,EAAGA,GAAK,EAC9CmiC,EAAIthB,EAAO7gB,GAAM6gB,EAAO7gB,EAAI,IAAM,EAAM6gB,EAAO7gB,EAAI,IAAM,GACzDnE,KAAKylC,MAAMrhC,IAAOkiC,GAAKzN,EAAO,SAC9B74B,KAAKylC,MAAMrhC,EAAI,GAAMkiC,IAAO,GAAKzN,EAAQ,UACzCA,GAAO,KACI,KACTA,GAAO,GACPz0B,UAGC,GAAe,OAAXkhC,EACT,IAAKnhC,EAAI,EAAGC,EAAI,EAAGD,EAAI6gB,EAAOhhB,OAAQG,GAAK,EACzCmiC,EAAIthB,EAAO7gB,GAAM6gB,EAAO7gB,EAAI,IAAM,EAAM6gB,EAAO7gB,EAAI,IAAM,GACzDnE,KAAKylC,MAAMrhC,IAAOkiC,GAAKzN,EAAO,SAC9B74B,KAAKylC,MAAMrhC,EAAI,GAAMkiC,IAAO,GAAKzN,EAAQ,UACzCA,GAAO,KACI,KACTA,GAAO,GACPz0B,KAIN,OAAOpE,KAAKumC,OACd,EAwBAhxB,EAAGrU,UAAUklC,UAAY,SAAoBphB,EAAQhb,EAAOs7B,GAE1DtlC,KAAKgE,OAASsJ,KAAK8qB,MAAMpT,EAAOhhB,OAASgG,GAAS,GAClDhK,KAAKylC,MAAQ,IAAIvgC,MAAMlF,KAAKgE,QAC5B,IAAK,IAAIG,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAC/BnE,KAAKylC,MAAMthC,GAAK,EAIlB,IAGImiC,EAHAzN,EAAM,EACNz0B,EAAI,EAGR,GAAe,OAAXkhC,EACF,IAAKnhC,EAAI6gB,EAAOhhB,OAAS,EAAGG,GAAK6F,EAAO7F,GAAK,EAC3CmiC,EAAIV,EAAa5gB,EAAQhb,EAAO7F,IAAM00B,EACtC74B,KAAKylC,MAAMrhC,IAAU,SAAJkiC,EACbzN,GAAO,IACTA,GAAO,GACPz0B,GAAK,EACLpE,KAAKylC,MAAMrhC,IAAMkiC,IAAM,IAEvBzN,GAAO,OAKX,IAAK10B,GADa6gB,EAAOhhB,OAASgG,GACX,GAAM,EAAIA,EAAQ,EAAIA,EAAO7F,EAAI6gB,EAAOhhB,OAAQG,GAAK,EAC1EmiC,EAAIV,EAAa5gB,EAAQhb,EAAO7F,IAAM00B,EACtC74B,KAAKylC,MAAMrhC,IAAU,SAAJkiC,EACbzN,GAAO,IACTA,GAAO,GACPz0B,GAAK,EACLpE,KAAKylC,MAAMrhC,IAAMkiC,IAAM,IAEvBzN,GAAO,EAKb74B,KAAKumC,OACP,EA0BAhxB,EAAGrU,UAAUmlC,WAAa,SAAqBrhB,EAAQ/iB,EAAM+H,GAE3DhK,KAAKylC,MAAQ,CAAE,GACfzlC,KAAKgE,OAAS,EAGd,IAAK,IAAIwiC,EAAU,EAAGC,EAAU,EAAGA,GAAW,SAAWA,GAAWxkC,EAClEukC,IAEFA,IACAC,EAAWA,EAAUxkC,EAAQ,EAO7B,IALA,IAAIykC,EAAQ1hB,EAAOhhB,OAASgG,EACxB28B,EAAMD,EAAQF,EACdhlC,EAAM8L,KAAK8K,IAAIsuB,EAAOA,EAAQC,GAAO38B,EAErC48B,EAAO,EACFziC,EAAI6F,EAAO7F,EAAI3C,EAAK2C,GAAKqiC,EAChCI,EAAOb,EAAU/gB,EAAQ7gB,EAAGA,EAAIqiC,EAASvkC,GAEzCjC,KAAK6mC,MAAMJ,GACPzmC,KAAKylC,MAAM,GAAKmB,EAAO,SACzB5mC,KAAKylC,MAAM,IAAMmB,EAEjB5mC,KAAK8mC,OAAOF,GAIhB,GAAY,IAARD,EAAW,CACb,IAAI/uB,EAAM,EAGV,IAFAgvB,EAAOb,EAAU/gB,EAAQ7gB,EAAG6gB,EAAOhhB,OAAQ/B,GAEtCkC,EAAI,EAAGA,EAAIwiC,EAAKxiC,IACnByT,GAAO3V,EAGTjC,KAAK6mC,MAAMjvB,GACP5X,KAAKylC,MAAM,GAAKmB,EAAO,SACzB5mC,KAAKylC,MAAM,IAAMmB,EAEjB5mC,KAAK8mC,OAAOF,EAEhB,CAEA5mC,KAAKumC,OACP,EAEAhxB,EAAGrU,UAAU2F,KAAO,SAAe+L,GACjCA,EAAK6yB,MAAQ,IAAIvgC,MAAMlF,KAAKgE,QAC5B,IAAK,IAAIG,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAC/ByO,EAAK6yB,MAAMthC,GAAKnE,KAAKylC,MAAMthC,GAE7ByO,EAAK5O,OAAShE,KAAKgE,OACnB4O,EAAK4yB,SAAWxlC,KAAKwlC,SACrB5yB,EAAKsI,IAAMlb,KAAKkb,GAClB,EAEA3F,EAAGrU,UAAU2c,MAAQ,WACnB,IAAIioB,EAAI,IAAIvwB,EAAG,MAEf,OADAvV,KAAK6G,KAAKi/B,GACHA,CACT,EAEAvwB,EAAGrU,UAAU6lC,QAAU,SAAkBvhC,GACvC,KAAOxF,KAAKgE,OAASwB,GACnBxF,KAAKylC,MAAMzlC,KAAKgE,UAAY,EAE9B,OAAOhE,IACT,EAGAuV,EAAGrU,UAAUqlC,MAAQ,WACnB,KAAOvmC,KAAKgE,OAAS,GAAqC,IAAhChE,KAAKylC,MAAMzlC,KAAKgE,OAAS,IACjDhE,KAAKgE,SAEP,OAAOhE,KAAKgnC,WACd,EAEAzxB,EAAGrU,UAAU8lC,UAAY,WAKvB,OAHoB,IAAhBhnC,KAAKgE,QAAkC,IAAlBhE,KAAKylC,MAAM,KAClCzlC,KAAKwlC,SAAW,GAEXxlC,IACT,EAEAuV,EAAGrU,UAAU+Y,QAAU,WACrB,OAAQja,KAAKkb,IAAM,UAAY,SAAWlb,KAAK2B,SAAS,IAAM,GAChE,EAgCA,IAAIwxB,EAAQ,CACV,GACA,IACA,KACA,MACA,OACA,QACA,SACA,UACA,WACA,YACA,aACA,cACA,eACA,gBACA,iBACA,kBACA,mBACA,oBACA,qBACA,sBACA,uBACA,wBACA,yBACA,0BACA,2BACA,6BAGE8T,EAAa,CACf,EAAG,EACH,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EACvB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAClB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAClB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAClB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAGhBC,EAAa,CACf,EAAG,EACH,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAC5D,SAAU,IAAU,SAAU,SAAU,SAAU,QAAS,SAC3D,SAAU,SAAU,SAAU,SAAU,KAAU,QAAS,QAC3D,QAAS,QAAS,QAAS,SAAU,SAAU,SAAU,SACzD,MAAU,SAAU,SAAU,SAAU,SAAU,SAAU,UAsjB9D,SAASC,EAAYj7B,EAAMpJ,EAAK8D,GAC9BA,EAAI4+B,SAAW1iC,EAAI0iC,SAAWt5B,EAAKs5B,SACnC,IAAIv8B,EAAOiD,EAAKlI,OAASlB,EAAIkB,OAAU,EACvC4C,EAAI5C,OAASiF,EACbA,EAAOA,EAAM,EAAK,EAGlB,IAAIiP,EAAoB,EAAhBhM,EAAKu5B,MAAM,GACfttB,EAAmB,EAAfrV,EAAI2iC,MAAM,GACdK,EAAI5tB,EAAIC,EAERivB,EAAS,SAAJtB,EACLuB,EAASvB,EAAI,SAAa,EAC9Bl/B,EAAI6+B,MAAM,GAAK2B,EAEf,IAAK,IAAIzpB,EAAI,EAAGA,EAAI1U,EAAK0U,IAAK,CAM5B,IAHA,IAAI2pB,EAASD,IAAU,GACnBE,EAAgB,SAARF,EACRG,EAAOl6B,KAAK8K,IAAIuF,EAAG7a,EAAIkB,OAAS,GAC3BI,EAAIkJ,KAAK4S,IAAI,EAAGvC,EAAIzR,EAAKlI,OAAS,GAAII,GAAKojC,EAAMpjC,IAAK,CAC7D,IAAID,EAAKwZ,EAAIvZ,EAAK,EAIlBkjC,IADAxB,GAFA5tB,EAAoB,EAAhBhM,EAAKu5B,MAAMthC,KACfgU,EAAmB,EAAfrV,EAAI2iC,MAAMrhC,IACFmjC,GACG,SAAa,EAC5BA,EAAY,SAAJzB,CACV,CACAl/B,EAAI6+B,MAAM9nB,GAAa,EAAR4pB,EACfF,EAAiB,EAATC,CACV,CAOA,OANc,IAAVD,EACFzgC,EAAI6+B,MAAM9nB,GAAa,EAAR0pB,EAEfzgC,EAAI5C,SAGC4C,EAAI2/B,OACb,CA1lBAhxB,EAAGrU,UAAUS,SAAW,SAAmBM,EAAMwlC,GAI/C,IAAI7gC,EACJ,GAHA6gC,EAAoB,EAAVA,GAAe,EAGZ,MAJbxlC,EAAOA,GAAQ,KAIa,QAATA,EAAgB,CACjC2E,EAAM,GAGN,IAFA,IAAIiyB,EAAM,EACNwO,EAAQ,EACHljC,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAAK,CACpC,IAAImiC,EAAItmC,KAAKylC,MAAMthC,GACfyiC,GAA+B,UAArBN,GAAKzN,EAAOwO,IAAmB1lC,SAAS,IACtD0lC,EAASf,IAAO,GAAKzN,EAAQ,UAC7BA,GAAO,IACI,KACTA,GAAO,GACP10B,KAGAyC,EADY,IAAVygC,GAAeljC,IAAMnE,KAAKgE,OAAS,EAC/BmvB,EAAM,EAAIyT,EAAK5iC,QAAU4iC,EAAOhgC,EAEhCggC,EAAOhgC,CAEjB,CAIA,IAHc,IAAVygC,IACFzgC,EAAMygC,EAAM1lC,SAAS,IAAMiF,GAEtBA,EAAI5C,OAASyjC,GAAY,GAC9B7gC,EAAM,IAAMA,EAKd,OAHsB,IAAlB5G,KAAKwlC,WACP5+B,EAAM,IAAMA,GAEPA,CACT,CAEA,GAAI3E,KAAiB,EAAPA,IAAaA,GAAQ,GAAKA,GAAQ,GAAI,CAElD,IAAIylC,EAAYT,EAAWhlC,GAEvB0lC,EAAYT,EAAWjlC,GAC3B2E,EAAM,GACN,IAAI+K,EAAI3R,KAAK6d,QAEb,IADAlM,EAAE6zB,SAAW,GACL7zB,EAAEi2B,UAAU,CAClB,IAAI9B,EAAIn0B,EAAEk2B,KAAKF,GAAWhmC,SAASM,GAMjC2E,GALF+K,EAAIA,EAAEm2B,MAAMH,IAELC,SAGC9B,EAAIl/B,EAFJusB,EAAMuU,EAAY5B,EAAE9hC,QAAU8hC,EAAIl/B,CAI5C,CAIA,IAHI5G,KAAK4nC,WACPhhC,EAAM,IAAMA,GAEPA,EAAI5C,OAASyjC,GAAY,GAC9B7gC,EAAM,IAAMA,EAKd,OAHsB,IAAlB5G,KAAKwlC,WACP5+B,EAAM,IAAMA,GAEPA,CACT,CAEA6O,GAAO,EAAO,kCAChB,EAEAF,EAAGrU,UAAU6mC,SAAW,WACtB,IAAI12B,EAAMrR,KAAKylC,MAAM,GASrB,OARoB,IAAhBzlC,KAAKgE,OACPqN,GAAuB,SAAhBrR,KAAKylC,MAAM,GACO,IAAhBzlC,KAAKgE,QAAkC,IAAlBhE,KAAKylC,MAAM,GAEzCp0B,GAAO,iBAAoC,SAAhBrR,KAAKylC,MAAM,GAC7BzlC,KAAKgE,OAAS,GACvByR,GAAO,EAAO,8CAEU,IAAlBzV,KAAKwlC,UAAmBn0B,EAAMA,CACxC,EAEAkE,EAAGrU,UAAU8mC,OAAS,WACpB,OAAOhoC,KAAK2B,SAAS,GACvB,EAEA4T,EAAGrU,UAAU02B,SAAW,SAAmB0N,EAAQthC,GAEjD,OADAyR,OAAyB,IAAXpW,GACPW,KAAKioC,YAAY5oC,EAAQimC,EAAQthC,EAC1C,EAEAuR,EAAGrU,UAAUwF,QAAU,SAAkB4+B,EAAQthC,GAC/C,OAAOhE,KAAKioC,YAAY/iC,MAAOogC,EAAQthC,EACzC,EAEAuR,EAAGrU,UAAU+mC,YAAc,SAAsBC,EAAW5C,EAAQthC,GAClE,IAAI2Y,EAAa3c,KAAK2c,aAClBwrB,EAAYnkC,GAAUsJ,KAAK4S,IAAI,EAAGvD,GACtClH,EAAOkH,GAAcwrB,EAAW,yCAChC1yB,EAAO0yB,EAAY,EAAG,+BAEtBnoC,KAAKumC,QACL,IAGIpuB,EAAGhU,EAHHikC,EAA0B,OAAX9C,EACf5hC,EAAM,IAAIwkC,EAAUC,GAGpBE,EAAIroC,KAAK6d,QACb,GAAKuqB,EAYE,CACL,IAAKjkC,EAAI,GAAIkkC,EAAET,SAAUzjC,IACvBgU,EAAIkwB,EAAErqB,MAAM,KACZqqB,EAAEtqB,OAAO,GAETra,EAAIS,GAAKgU,EAGX,KAAOhU,EAAIgkC,EAAWhkC,IACpBT,EAAIS,GAAK,CAEb,KAvBmB,CAEjB,IAAKA,EAAI,EAAGA,EAAIgkC,EAAYxrB,EAAYxY,IACtCT,EAAIS,GAAK,EAGX,IAAKA,EAAI,GAAIkkC,EAAET,SAAUzjC,IACvBgU,EAAIkwB,EAAErqB,MAAM,KACZqqB,EAAEtqB,OAAO,GAETra,EAAIykC,EAAYhkC,EAAI,GAAKgU,CAE7B,CAaA,OAAOzU,CACT,EAEI4J,KAAKg7B,MACP/yB,EAAGrU,UAAUqnC,WAAa,SAAqBjC,GAC7C,OAAO,GAAKh5B,KAAKg7B,MAAMhC,EACzB,EAEA/wB,EAAGrU,UAAUqnC,WAAa,SAAqBjC,GAC7C,IAAI1oB,EAAI0oB,EACJR,EAAI,EAiBR,OAhBIloB,GAAK,OACPkoB,GAAK,GACLloB,KAAO,IAELA,GAAK,KACPkoB,GAAK,EACLloB,KAAO,GAELA,GAAK,IACPkoB,GAAK,EACLloB,KAAO,GAELA,GAAK,IACPkoB,GAAK,EACLloB,KAAO,GAEFkoB,EAAIloB,CACb,EAGFrI,EAAGrU,UAAUsnC,UAAY,SAAoBlC,GAE3C,GAAU,IAANA,EAAS,OAAO,GAEpB,IAAI1oB,EAAI0oB,EACJR,EAAI,EAoBR,OAnBS,KAAJloB,IACHkoB,GAAK,GACLloB,KAAO,IAEA,IAAJA,IACHkoB,GAAK,EACLloB,KAAO,GAEA,GAAJA,IACHkoB,GAAK,EACLloB,KAAO,GAEA,EAAJA,IACHkoB,GAAK,EACLloB,KAAO,GAEA,EAAJA,GACHkoB,IAEKA,CACT,EAGAvwB,EAAGrU,UAAUunC,UAAY,WACvB,IAAInC,EAAItmC,KAAKylC,MAAMzlC,KAAKgE,OAAS,GAC7B0kC,EAAK1oC,KAAKuoC,WAAWjC,GACzB,OAA2B,IAAnBtmC,KAAKgE,OAAS,GAAU0kC,CAClC,EAgBAnzB,EAAGrU,UAAUynC,SAAW,WACtB,GAAI3oC,KAAK4nC,SAAU,OAAO,EAG1B,IADA,IAAI9B,EAAI,EACC3hC,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAAK,CACpC,IAAIgU,EAAInY,KAAKwoC,UAAUxoC,KAAKylC,MAAMthC,IAElC,GADA2hC,GAAK3tB,EACK,KAANA,EAAU,KAChB,CACA,OAAO2tB,CACT,EAEAvwB,EAAGrU,UAAUyb,WAAa,WACxB,OAAOrP,KAAK8qB,KAAKp4B,KAAKyoC,YAAc,EACtC,EAEAlzB,EAAGrU,UAAU0nC,OAAS,SAAiBC,GACrC,OAAsB,IAAlB7oC,KAAKwlC,SACAxlC,KAAK8X,MAAMgxB,MAAMD,GAAOE,MAAM,GAEhC/oC,KAAK6d,OACd,EAEAtI,EAAGrU,UAAU8nC,SAAW,SAAmBH,GACzC,OAAI7oC,KAAKipC,MAAMJ,EAAQ,GACd7oC,KAAKkpC,KAAKL,GAAOE,MAAM,GAAGI,OAE5BnpC,KAAK6d,OACd,EAEAtI,EAAGrU,UAAUkoC,MAAQ,WACnB,OAAyB,IAAlBppC,KAAKwlC,QACd,EAGAjwB,EAAGrU,UAAUmoC,IAAM,WACjB,OAAOrpC,KAAK6d,QAAQsrB,MACtB,EAEA5zB,EAAGrU,UAAUioC,KAAO,WAKlB,OAJKnpC,KAAK4nC,WACR5nC,KAAKwlC,UAAY,GAGZxlC,IACT,EAGAuV,EAAGrU,UAAUooC,KAAO,SAAexmC,GACjC,KAAO9C,KAAKgE,OAASlB,EAAIkB,QACvBhE,KAAKylC,MAAMzlC,KAAKgE,UAAY,EAG9B,IAAK,IAAIG,EAAI,EAAGA,EAAIrB,EAAIkB,OAAQG,IAC9BnE,KAAKylC,MAAMthC,GAAKnE,KAAKylC,MAAMthC,GAAKrB,EAAI2iC,MAAMthC,GAG5C,OAAOnE,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAUqoC,IAAM,SAAczmC,GAE/B,OADA2S,IAAQzV,KAAKwlC,SAAW1iC,EAAI0iC,WACrBxlC,KAAKspC,KAAKxmC,EACnB,EAGAyS,EAAGrU,UAAUsoC,GAAK,SAAa1mC,GAC7B,OAAI9C,KAAKgE,OAASlB,EAAIkB,OAAehE,KAAK6d,QAAQ0rB,IAAIzmC,GAC/CA,EAAI+a,QAAQ0rB,IAAIvpC,KACzB,EAEAuV,EAAGrU,UAAUuoC,IAAM,SAAc3mC,GAC/B,OAAI9C,KAAKgE,OAASlB,EAAIkB,OAAehE,KAAK6d,QAAQyrB,KAAKxmC,GAChDA,EAAI+a,QAAQyrB,KAAKtpC,KAC1B,EAGAuV,EAAGrU,UAAUwoC,MAAQ,SAAgB5mC,GAEnC,IAAIqV,EAEFA,EADEnY,KAAKgE,OAASlB,EAAIkB,OAChBlB,EAEA9C,KAGN,IAAK,IAAImE,EAAI,EAAGA,EAAIgU,EAAEnU,OAAQG,IAC5BnE,KAAKylC,MAAMthC,GAAKnE,KAAKylC,MAAMthC,GAAKrB,EAAI2iC,MAAMthC,GAK5C,OAFAnE,KAAKgE,OAASmU,EAAEnU,OAEThE,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAUyoC,KAAO,SAAe7mC,GAEjC,OADA2S,IAAQzV,KAAKwlC,SAAW1iC,EAAI0iC,WACrBxlC,KAAK0pC,MAAM5mC,EACpB,EAGAyS,EAAGrU,UAAU0oC,IAAM,SAAc9mC,GAC/B,OAAI9C,KAAKgE,OAASlB,EAAIkB,OAAehE,KAAK6d,QAAQ8rB,KAAK7mC,GAChDA,EAAI+a,QAAQ8rB,KAAK3pC,KAC1B,EAEAuV,EAAGrU,UAAU2oC,KAAO,SAAe/mC,GACjC,OAAI9C,KAAKgE,OAASlB,EAAIkB,OAAehE,KAAK6d,QAAQ6rB,MAAM5mC,GACjDA,EAAI+a,QAAQ6rB,MAAM1pC,KAC3B,EAGAuV,EAAGrU,UAAU4oC,MAAQ,SAAgBhnC,GAEnC,IAAIoV,EACAC,EACAnY,KAAKgE,OAASlB,EAAIkB,QACpBkU,EAAIlY,KACJmY,EAAIrV,IAEJoV,EAAIpV,EACJqV,EAAInY,MAGN,IAAK,IAAImE,EAAI,EAAGA,EAAIgU,EAAEnU,OAAQG,IAC5BnE,KAAKylC,MAAMthC,GAAK+T,EAAEutB,MAAMthC,GAAKgU,EAAEstB,MAAMthC,GAGvC,GAAInE,OAASkY,EACX,KAAO/T,EAAI+T,EAAElU,OAAQG,IACnBnE,KAAKylC,MAAMthC,GAAK+T,EAAEutB,MAAMthC,GAM5B,OAFAnE,KAAKgE,OAASkU,EAAElU,OAEThE,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAU6oC,KAAO,SAAejnC,GAEjC,OADA2S,IAAQzV,KAAKwlC,SAAW1iC,EAAI0iC,WACrBxlC,KAAK8pC,MAAMhnC,EACpB,EAGAyS,EAAGrU,UAAU8oC,IAAM,SAAclnC,GAC/B,OAAI9C,KAAKgE,OAASlB,EAAIkB,OAAehE,KAAK6d,QAAQksB,KAAKjnC,GAChDA,EAAI+a,QAAQksB,KAAK/pC,KAC1B,EAEAuV,EAAGrU,UAAU+oC,KAAO,SAAennC,GACjC,OAAI9C,KAAKgE,OAASlB,EAAIkB,OAAehE,KAAK6d,QAAQisB,MAAMhnC,GACjDA,EAAI+a,QAAQisB,MAAM9pC,KAC3B,EAGAuV,EAAGrU,UAAU4nC,MAAQ,SAAgBD,GACnCpzB,EAAwB,iBAAVozB,GAAsBA,GAAS,GAE7C,IAAIqB,EAAsC,EAAxB58B,KAAK8qB,KAAKyQ,EAAQ,IAChCsB,EAAWtB,EAAQ,GAGvB7oC,KAAK+mC,QAAQmD,GAETC,EAAW,GACbD,IAIF,IAAK,IAAI/lC,EAAI,EAAGA,EAAI+lC,EAAa/lC,IAC/BnE,KAAKylC,MAAMthC,GAAsB,UAAhBnE,KAAKylC,MAAMthC,GAS9B,OALIgmC,EAAW,IACbnqC,KAAKylC,MAAMthC,IAAMnE,KAAKylC,MAAMthC,GAAM,UAAc,GAAKgmC,GAIhDnqC,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAUgoC,KAAO,SAAeL,GACjC,OAAO7oC,KAAK6d,QAAQirB,MAAMD,EAC5B,EAGAtzB,EAAGrU,UAAUkpC,KAAO,SAAeC,EAAK7c,GACtC/X,EAAsB,iBAAR40B,GAAoBA,GAAO,GAEzC,IAAIxR,EAAOwR,EAAM,GAAM,EACnBC,EAAOD,EAAM,GAUjB,OARArqC,KAAK+mC,QAAQlO,EAAM,GAGjB74B,KAAKylC,MAAM5M,GADTrL,EACgBxtB,KAAKylC,MAAM5M,GAAQ,GAAKyR,EAExBtqC,KAAKylC,MAAM5M,KAAS,GAAKyR,GAGtCtqC,KAAKumC,OACd,EAGAhxB,EAAGrU,UAAUqpC,KAAO,SAAeznC,GACjC,IAAIgjC,EAkBA5tB,EAAGC,EAfP,GAAsB,IAAlBnY,KAAKwlC,UAAmC,IAAjB1iC,EAAI0iC,SAI7B,OAHAxlC,KAAKwlC,SAAW,EAChBM,EAAI9lC,KAAKwqC,KAAK1nC,GACd9C,KAAKwlC,UAAY,EACVxlC,KAAKgnC,YAGP,GAAsB,IAAlBhnC,KAAKwlC,UAAmC,IAAjB1iC,EAAI0iC,SAIpC,OAHA1iC,EAAI0iC,SAAW,EACfM,EAAI9lC,KAAKwqC,KAAK1nC,GACdA,EAAI0iC,SAAW,EACRM,EAAEkB,YAKPhnC,KAAKgE,OAASlB,EAAIkB,QACpBkU,EAAIlY,KACJmY,EAAIrV,IAEJoV,EAAIpV,EACJqV,EAAInY,MAIN,IADA,IAAIqnC,EAAQ,EACHljC,EAAI,EAAGA,EAAIgU,EAAEnU,OAAQG,IAC5B2hC,GAAkB,EAAb5tB,EAAEutB,MAAMthC,KAAwB,EAAbgU,EAAEstB,MAAMthC,IAAUkjC,EAC1CrnC,KAAKylC,MAAMthC,GAAS,SAAJ2hC,EAChBuB,EAAQvB,IAAM,GAEhB,KAAiB,IAAVuB,GAAeljC,EAAI+T,EAAElU,OAAQG,IAClC2hC,GAAkB,EAAb5tB,EAAEutB,MAAMthC,IAAUkjC,EACvBrnC,KAAKylC,MAAMthC,GAAS,SAAJ2hC,EAChBuB,EAAQvB,IAAM,GAIhB,GADA9lC,KAAKgE,OAASkU,EAAElU,OACF,IAAVqjC,EACFrnC,KAAKylC,MAAMzlC,KAAKgE,QAAUqjC,EAC1BrnC,KAAKgE,cAEA,GAAIkU,IAAMlY,KACf,KAAOmE,EAAI+T,EAAElU,OAAQG,IACnBnE,KAAKylC,MAAMthC,GAAK+T,EAAEutB,MAAMthC,GAI5B,OAAOnE,IACT,EAGAuV,EAAGrU,UAAUmc,IAAM,SAAcva,GAC/B,IAAIY,EACJ,OAAqB,IAAjBZ,EAAI0iC,UAAoC,IAAlBxlC,KAAKwlC,UAC7B1iC,EAAI0iC,SAAW,EACf9hC,EAAM1D,KAAKyqC,IAAI3nC,GACfA,EAAI0iC,UAAY,EACT9hC,GACmB,IAAjBZ,EAAI0iC,UAAoC,IAAlBxlC,KAAKwlC,UACpCxlC,KAAKwlC,SAAW,EAChB9hC,EAAMZ,EAAI2nC,IAAIzqC,MACdA,KAAKwlC,SAAW,EACT9hC,GAGL1D,KAAKgE,OAASlB,EAAIkB,OAAehE,KAAK6d,QAAQ0sB,KAAKznC,GAEhDA,EAAI+a,QAAQ0sB,KAAKvqC,KAC1B,EAGAuV,EAAGrU,UAAUspC,KAAO,SAAe1nC,GAEjC,GAAqB,IAAjBA,EAAI0iC,SAAgB,CACtB1iC,EAAI0iC,SAAW,EACf,IAAIM,EAAI9lC,KAAKuqC,KAAKznC,GAElB,OADAA,EAAI0iC,SAAW,EACRM,EAAEkB,WAGX,CAAO,GAAsB,IAAlBhnC,KAAKwlC,SAId,OAHAxlC,KAAKwlC,SAAW,EAChBxlC,KAAKuqC,KAAKznC,GACV9C,KAAKwlC,SAAW,EACTxlC,KAAKgnC,YAId,IAWI9uB,EAAGC,EAXHkE,EAAMrc,KAAKqc,IAAIvZ,GAGnB,GAAY,IAARuZ,EAIF,OAHArc,KAAKwlC,SAAW,EAChBxlC,KAAKgE,OAAS,EACdhE,KAAKylC,MAAM,GAAK,EACTzlC,KAKLqc,EAAM,GACRnE,EAAIlY,KACJmY,EAAIrV,IAEJoV,EAAIpV,EACJqV,EAAInY,MAIN,IADA,IAAIqnC,EAAQ,EACHljC,EAAI,EAAGA,EAAIgU,EAAEnU,OAAQG,IAE5BkjC,GADAvB,GAAkB,EAAb5tB,EAAEutB,MAAMthC,KAAwB,EAAbgU,EAAEstB,MAAMthC,IAAUkjC,IAC7B,GACbrnC,KAAKylC,MAAMthC,GAAS,SAAJ2hC,EAElB,KAAiB,IAAVuB,GAAeljC,EAAI+T,EAAElU,OAAQG,IAElCkjC,GADAvB,GAAkB,EAAb5tB,EAAEutB,MAAMthC,IAAUkjC,IACV,GACbrnC,KAAKylC,MAAMthC,GAAS,SAAJ2hC,EAIlB,GAAc,IAAVuB,GAAeljC,EAAI+T,EAAElU,QAAUkU,IAAMlY,KACvC,KAAOmE,EAAI+T,EAAElU,OAAQG,IACnBnE,KAAKylC,MAAMthC,GAAK+T,EAAEutB,MAAMthC,GAU5B,OANAnE,KAAKgE,OAASsJ,KAAK4S,IAAIlgB,KAAKgE,OAAQG,GAEhC+T,IAAMlY,OACRA,KAAKwlC,SAAW,GAGXxlC,KAAKumC,OACd,EAGAhxB,EAAGrU,UAAUupC,IAAM,SAAc3nC,GAC/B,OAAO9C,KAAK6d,QAAQ2sB,KAAK1nC,EAC3B,EA8CA,IAAI4nC,EAAc,SAAsBx+B,EAAMpJ,EAAK8D,GACjD,IAIIwgC,EACAuD,EACAjC,EANAxwB,EAAIhM,EAAKu5B,MACTttB,EAAIrV,EAAI2iC,MACR1W,EAAInoB,EAAI6+B,MACR9zB,EAAI,EAIJi5B,EAAY,EAAP1yB,EAAE,GACP2yB,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAP7yB,EAAE,GACP8yB,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPhzB,EAAE,GACPizB,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPnzB,EAAE,GACPozB,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPtzB,EAAE,GACPuzB,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPzzB,EAAE,GACP0zB,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAP5zB,EAAE,GACP6zB,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAP/zB,EAAE,GACPg0B,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPl0B,EAAE,GACPm0B,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPr0B,EAAE,GACPs0B,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPv0B,EAAE,GACPw0B,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAP10B,EAAE,GACP20B,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAP70B,EAAE,GACP80B,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPh1B,EAAE,GACPi1B,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPn1B,EAAE,GACPo1B,EAAW,KAALD,EACNE,GAAMF,IAAO,GACbG,GAAY,EAAPt1B,EAAE,GACPu1B,GAAW,KAALD,GACNE,GAAMF,KAAO,GACbG,GAAY,EAAPz1B,EAAE,GACP01B,GAAW,KAALD,GACNE,GAAMF,KAAO,GACbG,GAAY,EAAP51B,EAAE,GACP61B,GAAW,KAALD,GACNE,GAAMF,KAAO,GACbG,GAAY,EAAP/1B,EAAE,GACPg2B,GAAW,KAALD,GACNE,GAAMF,KAAO,GACbG,GAAY,EAAPl2B,EAAE,GACPm2B,GAAW,KAALD,GACNE,GAAMF,KAAO,GAEjBznC,EAAI4+B,SAAWt5B,EAAKs5B,SAAW1iC,EAAI0iC,SACnC5+B,EAAI5C,OAAS,GAMb,IAAIwqC,IAAQ78B,GAJZy1B,EAAK95B,KAAKmhC,KAAK5D,EAAK8B,IAIE,KAAa,MAFnChC,GADAA,EAAMr9B,KAAKmhC,KAAK5D,EAAK+B,IACRt/B,KAAKmhC,KAAK3D,EAAK6B,GAAQ,KAEU,IAAO,EACrDh7B,IAFA+2B,EAAKp7B,KAAKmhC,KAAK3D,EAAK8B,KAEPjC,IAAQ,IAAO,IAAM6D,KAAO,IAAO,EAChDA,IAAM,SAENpH,EAAK95B,KAAKmhC,KAAKzD,EAAK2B,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAKzD,EAAK4B,IACRt/B,KAAKmhC,KAAKxD,EAAK0B,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAKxD,EAAK2B,GAKpB,IAAI8B,IAAQ/8B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAKiC,GAAQ,GAIZ,KAAa,MAFnCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAKkC,GAAQ,GACvBz/B,KAAKmhC,KAAK3D,EAAKgC,GAAQ,KAEU,IAAO,EACrDn7B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAKiC,GAAQ,IAErBpC,IAAQ,IAAO,IAAM+D,KAAO,IAAO,EAChDA,IAAM,SAENtH,EAAK95B,KAAKmhC,KAAKtD,EAAKwB,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAKtD,EAAKyB,IACRt/B,KAAKmhC,KAAKrD,EAAKuB,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAKrD,EAAKwB,GACpBxF,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAK8B,GAAQ,EAElCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAK+B,GAAQ,GACvBz/B,KAAKmhC,KAAKxD,EAAK6B,GAAQ,EACpCpE,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAK8B,GAAQ,EAKlC,IAAI4B,IAAQh9B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAKoC,GAAQ,GAIZ,KAAa,MAFnCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAKqC,GAAQ,GACvB5/B,KAAKmhC,KAAK3D,EAAKmC,GAAQ,KAEU,IAAO,EACrDt7B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAKoC,GAAQ,IAErBvC,IAAQ,IAAO,IAAMgE,KAAO,IAAO,EAChDA,IAAM,SAENvH,EAAK95B,KAAKmhC,KAAKnD,EAAKqB,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAKnD,EAAKsB,IACRt/B,KAAKmhC,KAAKlD,EAAKoB,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAKlD,EAAKqB,GACpBxF,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAK2B,GAAQ,EAElCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAK4B,GAAQ,GACvBz/B,KAAKmhC,KAAKrD,EAAK0B,GAAQ,EACpCpE,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAK2B,GAAQ,EAClC3F,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAKiC,GAAQ,EAElCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAKkC,GAAQ,GACvB5/B,KAAKmhC,KAAKxD,EAAKgC,GAAQ,EACpCvE,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAKiC,GAAQ,EAKlC,IAAI0B,IAAQj9B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAKuC,GAAQ,GAIZ,KAAa,MAFnCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAKwC,GAAQ,GACvB//B,KAAKmhC,KAAK3D,EAAKsC,GAAQ,KAEU,IAAO,EACrDz7B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAKuC,GAAQ,IAErB1C,IAAQ,IAAO,IAAMiE,KAAO,IAAO,EAChDA,IAAM,SAENxH,EAAK95B,KAAKmhC,KAAKhD,EAAKkB,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAKhD,EAAKmB,IACRt/B,KAAKmhC,KAAK/C,EAAKiB,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAK/C,EAAKkB,GACpBxF,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAKwB,GAAQ,EAElCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAKyB,GAAQ,GACvBz/B,KAAKmhC,KAAKlD,EAAKuB,GAAQ,EACpCpE,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAKwB,GAAQ,EAClC3F,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAK8B,GAAQ,EAElCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAK+B,GAAQ,GACvB5/B,KAAKmhC,KAAKrD,EAAK6B,GAAQ,EACpCvE,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAK8B,GAAQ,EAClC9F,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAKoC,GAAQ,EAElCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAKqC,GAAQ,GACvB//B,KAAKmhC,KAAKxD,EAAKmC,GAAQ,EACpC1E,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAKoC,GAAQ,EAKlC,IAAIwB,IAAQl9B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAK0C,GAAQ,GAIZ,KAAa,MAFnC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAK2C,IAAQ,GACvBlgC,KAAKmhC,KAAK3D,EAAKyC,GAAQ,KAEU,IAAO,EACrD57B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAK0C,IAAQ,IAErB7C,IAAQ,IAAO,IAAMkE,KAAO,IAAO,EAChDA,IAAM,SAENzH,EAAK95B,KAAKmhC,KAAK7C,EAAKe,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAK7C,EAAKgB,IACRt/B,KAAKmhC,KAAK5C,EAAKc,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAK5C,EAAKe,GACpBxF,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAKqB,GAAQ,EAElCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAKsB,GAAQ,GACvBz/B,KAAKmhC,KAAK/C,EAAKoB,GAAQ,EACpCpE,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAKqB,GAAQ,EAClC3F,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAK2B,GAAQ,EAElCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAK4B,GAAQ,GACvB5/B,KAAKmhC,KAAKlD,EAAK0B,GAAQ,EACpCvE,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAK2B,GAAQ,EAClC9F,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAKiC,GAAQ,EAElCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAKkC,GAAQ,GACvB//B,KAAKmhC,KAAKrD,EAAKgC,GAAQ,EACpC1E,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAKiC,GAAQ,EAClCjG,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAKuC,GAAQ,EAElC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAKwC,IAAQ,GACvBlgC,KAAKmhC,KAAKxD,EAAKsC,GAAQ,EACpC7E,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAKuC,IAAQ,EAKlC,IAAIsB,IAAQn9B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAK6C,IAAQ,GAIZ,KAAa,MAFnC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAK8C,IAAQ,GACvBrgC,KAAKmhC,KAAK3D,EAAK4C,IAAQ,KAEU,IAAO,EACrD/7B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAK6C,IAAQ,IAErBhD,IAAQ,IAAO,IAAMmE,KAAO,IAAO,EAChDA,IAAM,SAEN1H,EAAK95B,KAAKmhC,KAAK1C,EAAKY,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAK1C,EAAKa,IACRt/B,KAAKmhC,KAAKzC,EAAKW,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAKzC,EAAKY,GACpBxF,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAKkB,GAAQ,EAElCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAKmB,GAAQ,GACvBz/B,KAAKmhC,KAAK5C,EAAKiB,GAAQ,EACpCpE,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAKkB,GAAQ,EAClC3F,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAKwB,GAAQ,EAElCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAKyB,GAAQ,GACvB5/B,KAAKmhC,KAAK/C,EAAKuB,GAAQ,EACpCvE,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAKwB,GAAQ,EAClC9F,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAK8B,GAAQ,EAElCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAK+B,GAAQ,GACvB//B,KAAKmhC,KAAKlD,EAAK6B,GAAQ,EACpC1E,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAK8B,GAAQ,EAClCjG,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAKoC,GAAQ,EAElC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAKqC,IAAQ,GACvBlgC,KAAKmhC,KAAKrD,EAAKmC,GAAQ,EACpC7E,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAKoC,IAAQ,EAClCpG,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAK0C,IAAQ,EAElC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAK2C,IAAQ,GACvBrgC,KAAKmhC,KAAKxD,EAAKyC,IAAQ,EACpChF,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAK0C,IAAQ,EAKlC,IAAIoB,IAAQp9B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAKgD,IAAQ,GAIZ,KAAa,MAFnClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAKiD,IAAQ,GACvBxgC,KAAKmhC,KAAK3D,EAAK+C,IAAQ,KAEU,IAAO,EACrDl8B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAKgD,IAAQ,IAErBnD,IAAQ,IAAO,IAAMoE,KAAO,IAAO,EAChDA,IAAM,SAEN3H,EAAK95B,KAAKmhC,KAAKvC,EAAKS,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAKvC,EAAKU,IACRt/B,KAAKmhC,KAAKtC,EAAKQ,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAKtC,EAAKS,GACpBxF,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAKe,GAAQ,EAElCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAKgB,GAAQ,GACvBz/B,KAAKmhC,KAAKzC,EAAKc,GAAQ,EACpCpE,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAKe,GAAQ,EAClC3F,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAKqB,GAAQ,EAElCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAKsB,GAAQ,GACvB5/B,KAAKmhC,KAAK5C,EAAKoB,GAAQ,EACpCvE,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAKqB,GAAQ,EAClC9F,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAK2B,GAAQ,EAElCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAK4B,GAAQ,GACvB//B,KAAKmhC,KAAK/C,EAAK0B,GAAQ,EACpC1E,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAK2B,GAAQ,EAClCjG,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAKiC,GAAQ,EAElC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAKkC,IAAQ,GACvBlgC,KAAKmhC,KAAKlD,EAAKgC,GAAQ,EACpC7E,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAKiC,IAAQ,EAClCpG,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAKuC,IAAQ,EAElC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAKwC,IAAQ,GACvBrgC,KAAKmhC,KAAKrD,EAAKsC,IAAQ,EACpChF,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAKuC,IAAQ,EAClCvG,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAK6C,IAAQ,EAElClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAK8C,IAAQ,GACvBxgC,KAAKmhC,KAAKxD,EAAK4C,IAAQ,EACpCnF,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAK6C,IAAQ,EAKlC,IAAIkB,IAAQr9B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAKmD,IAAQ,GAIZ,KAAa,MAFnCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAKoD,IAAQ,GACvB3gC,KAAKmhC,KAAK3D,EAAKkD,IAAQ,KAEU,IAAO,EACrDr8B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAKmD,IAAQ,IAErBtD,IAAQ,IAAO,IAAMqE,KAAO,IAAO,EAChDA,IAAM,SAEN5H,EAAK95B,KAAKmhC,KAAKpC,EAAKM,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAKpC,EAAKO,IACRt/B,KAAKmhC,KAAKnC,EAAKK,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAKnC,EAAKM,GACpBxF,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAKY,GAAQ,EAElCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAKa,GAAQ,GACvBz/B,KAAKmhC,KAAKtC,EAAKW,GAAQ,EACpCpE,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAKY,GAAQ,EAClC3F,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAKkB,GAAQ,EAElCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAKmB,GAAQ,GACvB5/B,KAAKmhC,KAAKzC,EAAKiB,GAAQ,EACpCvE,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAKkB,GAAQ,EAClC9F,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAKwB,GAAQ,EAElCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAKyB,GAAQ,GACvB//B,KAAKmhC,KAAK5C,EAAKuB,GAAQ,EACpC1E,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAKwB,GAAQ,EAClCjG,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAK8B,GAAQ,EAElC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAK+B,IAAQ,GACvBlgC,KAAKmhC,KAAK/C,EAAK6B,GAAQ,EACpC7E,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAK8B,IAAQ,EAClCpG,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAKoC,IAAQ,EAElC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAKqC,IAAQ,GACvBrgC,KAAKmhC,KAAKlD,EAAKmC,IAAQ,EACpChF,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAKoC,IAAQ,EAClCvG,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAK0C,IAAQ,EAElClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAK2C,IAAQ,GACvBxgC,KAAKmhC,KAAKrD,EAAKyC,IAAQ,EACpCnF,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAK0C,IAAQ,EAClC1G,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAKgD,IAAQ,EAElCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAKiD,IAAQ,GACvB3gC,KAAKmhC,KAAKxD,EAAK+C,IAAQ,EACpCtF,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAKgD,IAAQ,EAKlC,IAAIgB,IAAQt9B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAKsD,IAAQ,GAIZ,KAAa,MAFnCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAKuD,IAAQ,GACvB9gC,KAAKmhC,KAAK3D,EAAKqD,IAAQ,KAEU,IAAO,EACrDx8B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAKsD,IAAQ,IAErBzD,IAAQ,IAAO,IAAMsE,KAAO,IAAO,EAChDA,IAAM,SAEN7H,EAAK95B,KAAKmhC,KAAKjC,EAAKG,GAEpBhC,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAKI,IACRt/B,KAAKmhC,KAAKhC,EAAKE,GAAQ,EACpCjE,EAAKp7B,KAAKmhC,KAAKhC,EAAKG,GACpBxF,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAKS,GAAQ,EAElCnC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAKU,GAAQ,GACvBz/B,KAAKmhC,KAAKnC,EAAKQ,GAAQ,EACpCpE,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAKS,GAAQ,EAClC3F,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAKe,GAAQ,EAElCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAKgB,GAAQ,GACvB5/B,KAAKmhC,KAAKtC,EAAKc,GAAQ,EACpCvE,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAKe,GAAQ,EAClC9F,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAKqB,GAAQ,EAElCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAKsB,GAAQ,GACvB//B,KAAKmhC,KAAKzC,EAAKoB,GAAQ,EACpC1E,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAKqB,GAAQ,EAClCjG,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAK2B,GAAQ,EAElC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAK4B,IAAQ,GACvBlgC,KAAKmhC,KAAK5C,EAAK0B,GAAQ,EACpC7E,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAK2B,IAAQ,EAClCpG,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAKiC,IAAQ,EAElC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAKkC,IAAQ,GACvBrgC,KAAKmhC,KAAK/C,EAAKgC,IAAQ,EACpChF,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAKiC,IAAQ,EAClCvG,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAKuC,IAAQ,EAElClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAKwC,IAAQ,GACvBxgC,KAAKmhC,KAAKlD,EAAKsC,IAAQ,EACpCnF,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAKuC,IAAQ,EAClC1G,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAK6C,IAAQ,EAElCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAK8C,IAAQ,GACvB3gC,KAAKmhC,KAAKrD,EAAK4C,IAAQ,EACpCtF,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAK6C,IAAQ,EAClC7G,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAKmD,IAAQ,EAElCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAKoD,IAAQ,GACvB9gC,KAAKmhC,KAAKxD,EAAKkD,IAAQ,EACpCzF,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAKmD,IAAQ,EAKlC,IAAIc,IAAQv9B,GAJZy1B,EAAMA,EAAK95B,KAAKmhC,KAAK5D,EAAKyD,IAAQ,GAIZ,KAAa,MAFnC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK5D,EAAK0D,IAAQ,GACvBjhC,KAAKmhC,KAAK3D,EAAKwD,IAAQ,KAEU,IAAO,EACrD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK3D,EAAKyD,IAAQ,IAErB5D,IAAQ,IAAO,IAAMuE,KAAO,IAAO,EAChDA,IAAM,SAEN9H,EAAK95B,KAAKmhC,KAAKjC,EAAKM,GAEpBnC,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAKO,IACRz/B,KAAKmhC,KAAKhC,EAAKK,GAAQ,EACpCpE,EAAKp7B,KAAKmhC,KAAKhC,EAAKM,GACpB3F,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAKY,GAAQ,EAElCtC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAKa,GAAQ,GACvB5/B,KAAKmhC,KAAKnC,EAAKW,GAAQ,EACpCvE,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAKY,GAAQ,EAClC9F,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAKkB,GAAQ,EAElCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAKmB,GAAQ,GACvB//B,KAAKmhC,KAAKtC,EAAKiB,GAAQ,EACpC1E,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAKkB,GAAQ,EAClCjG,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAKwB,GAAQ,EAElC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAKyB,IAAQ,GACvBlgC,KAAKmhC,KAAKzC,EAAKuB,GAAQ,EACpC7E,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAKwB,IAAQ,EAClCpG,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAK8B,IAAQ,EAElC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAK+B,IAAQ,GACvBrgC,KAAKmhC,KAAK5C,EAAK6B,IAAQ,EACpChF,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAK8B,IAAQ,EAClCvG,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAKoC,IAAQ,EAElClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAKqC,IAAQ,GACvBxgC,KAAKmhC,KAAK/C,EAAKmC,IAAQ,EACpCnF,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAKoC,IAAQ,EAClC1G,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAK0C,IAAQ,EAElCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAK2C,IAAQ,GACvB3gC,KAAKmhC,KAAKlD,EAAKyC,IAAQ,EACpCtF,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAK0C,IAAQ,EAClC7G,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAKgD,IAAQ,EAElCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAKiD,IAAQ,GACvB9gC,KAAKmhC,KAAKrD,EAAK+C,IAAQ,EACpCzF,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAKgD,IAAQ,EAKlC,IAAIe,IAASx9B,GAJby1B,EAAMA,EAAK95B,KAAKmhC,KAAKzD,EAAKsD,IAAQ,GAIX,KAAa,MAFpC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKzD,EAAKuD,IAAQ,GACvBjhC,KAAKmhC,KAAKxD,EAAKqD,IAAQ,KAEW,IAAO,EACtD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAKxD,EAAKsD,IAAQ,IAErB5D,IAAQ,IAAO,IAAMwE,KAAQ,IAAO,EACjDA,IAAO,SAEP/H,EAAK95B,KAAKmhC,KAAKjC,EAAKS,GAEpBtC,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAKU,IACR5/B,KAAKmhC,KAAKhC,EAAKQ,GAAQ,EACpCvE,EAAKp7B,KAAKmhC,KAAKhC,EAAKS,GACpB9F,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAKe,GAAQ,EAElCzC,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAKgB,GAAQ,GACvB//B,KAAKmhC,KAAKnC,EAAKc,GAAQ,EACpC1E,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAKe,GAAQ,EAClCjG,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAKqB,GAAQ,EAElC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAKsB,IAAQ,GACvBlgC,KAAKmhC,KAAKtC,EAAKoB,GAAQ,EACpC7E,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAKqB,IAAQ,EAClCpG,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAK2B,IAAQ,EAElC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAK4B,IAAQ,GACvBrgC,KAAKmhC,KAAKzC,EAAK0B,IAAQ,EACpChF,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAK2B,IAAQ,EAClCvG,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAKiC,IAAQ,EAElClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAKkC,IAAQ,GACvBxgC,KAAKmhC,KAAK5C,EAAKgC,IAAQ,EACpCnF,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAKiC,IAAQ,EAClC1G,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAKuC,IAAQ,EAElCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAKwC,IAAQ,GACvB3gC,KAAKmhC,KAAK/C,EAAKsC,IAAQ,EACpCtF,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAKuC,IAAQ,EAClC7G,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAK6C,IAAQ,EAElCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAK8C,IAAQ,GACvB9gC,KAAKmhC,KAAKlD,EAAK4C,IAAQ,EACpCzF,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAK6C,IAAQ,EAKlC,IAAIgB,IAASz9B,GAJby1B,EAAMA,EAAK95B,KAAKmhC,KAAKtD,EAAKmD,IAAQ,GAIX,KAAa,MAFpC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKtD,EAAKoD,IAAQ,GACvBjhC,KAAKmhC,KAAKrD,EAAKkD,IAAQ,KAEW,IAAO,EACtD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAKrD,EAAKmD,IAAQ,IAErB5D,IAAQ,IAAO,IAAMyE,KAAQ,IAAO,EACjDA,IAAO,SAEPhI,EAAK95B,KAAKmhC,KAAKjC,EAAKY,GAEpBzC,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAKa,IACR//B,KAAKmhC,KAAKhC,EAAKW,GAAQ,EACpC1E,EAAKp7B,KAAKmhC,KAAKhC,EAAKY,GACpBjG,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAKkB,GAAQ,EAElC5C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAKmB,IAAQ,GACvBlgC,KAAKmhC,KAAKnC,EAAKiB,GAAQ,EACpC7E,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAKkB,IAAQ,EAClCpG,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAKwB,IAAQ,EAElC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAKyB,IAAQ,GACvBrgC,KAAKmhC,KAAKtC,EAAKuB,IAAQ,EACpChF,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAKwB,IAAQ,EAClCvG,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAK8B,IAAQ,EAElClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAK+B,IAAQ,GACvBxgC,KAAKmhC,KAAKzC,EAAK6B,IAAQ,EACpCnF,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAK8B,IAAQ,EAClC1G,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAKoC,IAAQ,EAElCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAKqC,IAAQ,GACvB3gC,KAAKmhC,KAAK5C,EAAKmC,IAAQ,EACpCtF,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAKoC,IAAQ,EAClC7G,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAK0C,IAAQ,EAElCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAK2C,IAAQ,GACvB9gC,KAAKmhC,KAAK/C,EAAKyC,IAAQ,EACpCzF,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAK0C,IAAQ,EAKlC,IAAIiB,IAAS19B,GAJby1B,EAAMA,EAAK95B,KAAKmhC,KAAKnD,EAAKgD,IAAQ,GAIX,KAAa,MAFpC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKnD,EAAKiD,IAAQ,GACvBjhC,KAAKmhC,KAAKlD,EAAK+C,IAAQ,KAEW,IAAO,EACtD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAKlD,EAAKgD,IAAQ,IAErB5D,IAAQ,IAAO,IAAM0E,KAAQ,IAAO,EACjDA,IAAO,SAEPjI,EAAK95B,KAAKmhC,KAAKjC,EAAKe,GAEpB5C,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAKgB,KACRlgC,KAAKmhC,KAAKhC,EAAKc,GAAQ,EACpC7E,EAAKp7B,KAAKmhC,KAAKhC,EAAKe,IACpBpG,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAKqB,IAAQ,EAElC/C,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAKsB,IAAQ,GACvBrgC,KAAKmhC,KAAKnC,EAAKoB,IAAQ,EACpChF,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAKqB,IAAQ,EAClCvG,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAK2B,IAAQ,EAElClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAK4B,IAAQ,GACvBxgC,KAAKmhC,KAAKtC,EAAK0B,IAAQ,EACpCnF,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAK2B,IAAQ,EAClC1G,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAKiC,IAAQ,EAElCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAKkC,IAAQ,GACvB3gC,KAAKmhC,KAAKzC,EAAKgC,IAAQ,EACpCtF,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAKiC,IAAQ,EAClC7G,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAKuC,IAAQ,EAElCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAKwC,IAAQ,GACvB9gC,KAAKmhC,KAAK5C,EAAKsC,IAAQ,EACpCzF,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAKuC,IAAQ,EAKlC,IAAIkB,IAAS39B,GAJby1B,EAAMA,EAAK95B,KAAKmhC,KAAKhD,EAAK6C,IAAQ,GAIX,KAAa,MAFpC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKhD,EAAK8C,IAAQ,GACvBjhC,KAAKmhC,KAAK/C,EAAK4C,IAAQ,KAEW,IAAO,EACtD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK/C,EAAK6C,IAAQ,IAErB5D,IAAQ,IAAO,IAAM2E,KAAQ,IAAO,EACjDA,IAAO,SAEPlI,EAAK95B,KAAKmhC,KAAKjC,EAAKkB,IAEpB/C,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAKmB,KACRrgC,KAAKmhC,KAAKhC,EAAKiB,IAAQ,EACpChF,EAAKp7B,KAAKmhC,KAAKhC,EAAKkB,IACpBvG,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAKwB,IAAQ,EAElClD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAKyB,IAAQ,GACvBxgC,KAAKmhC,KAAKnC,EAAKuB,IAAQ,EACpCnF,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAKwB,IAAQ,EAClC1G,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAK8B,IAAQ,EAElCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAK+B,IAAQ,GACvB3gC,KAAKmhC,KAAKtC,EAAK6B,IAAQ,EACpCtF,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAK8B,IAAQ,EAClC7G,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAKoC,IAAQ,EAElCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAKqC,IAAQ,GACvB9gC,KAAKmhC,KAAKzC,EAAKmC,IAAQ,EACpCzF,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAKoC,IAAQ,EAKlC,IAAImB,IAAS59B,GAJby1B,EAAMA,EAAK95B,KAAKmhC,KAAK7C,EAAK0C,IAAQ,GAIX,KAAa,MAFpC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK7C,EAAK2C,IAAQ,GACvBjhC,KAAKmhC,KAAK5C,EAAKyC,IAAQ,KAEW,IAAO,EACtD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAK5C,EAAK0C,IAAQ,IAErB5D,IAAQ,IAAO,IAAM4E,KAAQ,IAAO,EACjDA,IAAO,SAEPnI,EAAK95B,KAAKmhC,KAAKjC,EAAKqB,IAEpBlD,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAKsB,KACRxgC,KAAKmhC,KAAKhC,EAAKoB,IAAQ,EACpCnF,EAAKp7B,KAAKmhC,KAAKhC,EAAKqB,IACpB1G,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAK2B,IAAQ,EAElCrD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAK4B,IAAQ,GACvB3gC,KAAKmhC,KAAKnC,EAAK0B,IAAQ,EACpCtF,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAK2B,IAAQ,EAClC7G,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAKiC,IAAQ,EAElCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAKkC,IAAQ,GACvB9gC,KAAKmhC,KAAKtC,EAAKgC,IAAQ,EACpCzF,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAKiC,IAAQ,EAKlC,IAAIoB,IAAS79B,GAJby1B,EAAMA,EAAK95B,KAAKmhC,KAAK1C,EAAKuC,IAAQ,GAIX,KAAa,MAFpC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAK1C,EAAKwC,IAAQ,GACvBjhC,KAAKmhC,KAAKzC,EAAKsC,IAAQ,KAEW,IAAO,EACtD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAKzC,EAAKuC,IAAQ,IAErB5D,IAAQ,IAAO,IAAM6E,KAAQ,IAAO,EACjDA,IAAO,SAEPpI,EAAK95B,KAAKmhC,KAAKjC,EAAKwB,IAEpBrD,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAKyB,KACR3gC,KAAKmhC,KAAKhC,EAAKuB,IAAQ,EACpCtF,EAAKp7B,KAAKmhC,KAAKhC,EAAKwB,IACpB7G,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAK8B,IAAQ,EAElCxD,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAK+B,IAAQ,GACvB9gC,KAAKmhC,KAAKnC,EAAK6B,IAAQ,EACpCzF,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAK8B,IAAQ,EAKlC,IAAIqB,IAAS99B,GAJby1B,EAAMA,EAAK95B,KAAKmhC,KAAKvC,EAAKoC,IAAQ,GAIX,KAAa,MAFpC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKvC,EAAKqC,IAAQ,GACvBjhC,KAAKmhC,KAAKtC,EAAKmC,IAAQ,KAEW,IAAO,EACtD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAKtC,EAAKoC,IAAQ,IAErB5D,IAAQ,IAAO,IAAM8E,KAAQ,IAAO,EACjDA,IAAO,SAEPrI,EAAK95B,KAAKmhC,KAAKjC,EAAK2B,IAEpBxD,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAK4B,KACR9gC,KAAKmhC,KAAKhC,EAAK0B,IAAQ,EACpCzF,EAAKp7B,KAAKmhC,KAAKhC,EAAK2B,IAKpB,IAAIsB,IAAS/9B,GAJby1B,EAAMA,EAAK95B,KAAKmhC,KAAKpC,EAAKiC,IAAQ,GAIX,KAAa,MAFpC3D,GADAA,EAAOA,EAAMr9B,KAAKmhC,KAAKpC,EAAKkC,IAAQ,GACvBjhC,KAAKmhC,KAAKnC,EAAKgC,IAAQ,KAEW,IAAO,EACtD38B,IAFA+2B,EAAMA,EAAKp7B,KAAKmhC,KAAKnC,EAAKiC,IAAQ,IAErB5D,IAAQ,IAAO,IAAM+E,KAAQ,IAAO,EACjDA,IAAO,SAMP,IAAIC,IAASh+B,GAJby1B,EAAK95B,KAAKmhC,KAAKjC,EAAK8B,KAIG,KAAa,MAFpC3D,GADAA,EAAMr9B,KAAKmhC,KAAKjC,EAAK+B,KACRjhC,KAAKmhC,KAAKhC,EAAK6B,IAAQ,KAEW,IAAO,EA0BtD,OAzBA38B,IAFA+2B,EAAKp7B,KAAKmhC,KAAKhC,EAAK8B,MAEP5D,IAAQ,IAAO,IAAMgF,KAAQ,IAAO,EACjDA,IAAO,SACP5gB,EAAE,GAAKyf,GACPzf,EAAE,GAAK2f,GACP3f,EAAE,GAAK4f,GACP5f,EAAE,GAAK6f,GACP7f,EAAE,GAAK8f,GACP9f,EAAE,GAAK+f,GACP/f,EAAE,GAAKggB,GACPhgB,EAAE,GAAKigB,GACPjgB,EAAE,GAAKkgB,GACPlgB,EAAE,GAAKmgB,GACPngB,EAAE,IAAMogB,GACRpgB,EAAE,IAAMqgB,GACRrgB,EAAE,IAAMsgB,GACRtgB,EAAE,IAAMugB,GACRvgB,EAAE,IAAMwgB,GACRxgB,EAAE,IAAMygB,GACRzgB,EAAE,IAAM0gB,GACR1gB,EAAE,IAAM2gB,GACR3gB,EAAE,IAAM4gB,GACE,IAANh+B,IACFod,EAAE,IAAMpd,EACR/K,EAAI5C,UAEC4C,CACT,EAgDA,SAASgpC,EAAY1jC,EAAMpJ,EAAK8D,GAE9B,OADW,IAAIipC,GACHC,KAAK5jC,EAAMpJ,EAAK8D,EAC9B,CAqBA,SAASipC,EAAMv9B,EAAGy9B,GAChB/vC,KAAKsS,EAAIA,EACTtS,KAAK+vC,EAAIA,CACX,CAxEKziC,KAAKmhC,OACR/D,EAAcvD,GAiDhB5xB,EAAGrU,UAAU8uC,MAAQ,SAAgBltC,EAAK8D,GACxC,IAAIlD,EACAuF,EAAMjJ,KAAKgE,OAASlB,EAAIkB,OAW5B,OATEN,EADkB,KAAhB1D,KAAKgE,QAAgC,KAAflB,EAAIkB,OACtB0mC,EAAY1qC,KAAM8C,EAAK8D,GACpBqC,EAAM,GACTk+B,EAAWnnC,KAAM8C,EAAK8D,GACnBqC,EAAM,KArDnB,SAAmBiD,EAAMpJ,EAAK8D,GAC5BA,EAAI4+B,SAAW1iC,EAAI0iC,SAAWt5B,EAAKs5B,SACnC5+B,EAAI5C,OAASkI,EAAKlI,OAASlB,EAAIkB,OAI/B,IAFA,IAAIqjC,EAAQ,EACR4I,EAAU,EACLtyB,EAAI,EAAGA,EAAI/W,EAAI5C,OAAS,EAAG2Z,IAAK,CAGvC,IAAI2pB,EAAS2I,EACbA,EAAU,EAGV,IAFA,IAAI1I,EAAgB,SAARF,EACRG,EAAOl6B,KAAK8K,IAAIuF,EAAG7a,EAAIkB,OAAS,GAC3BI,EAAIkJ,KAAK4S,IAAI,EAAGvC,EAAIzR,EAAKlI,OAAS,GAAII,GAAKojC,EAAMpjC,IAAK,CAC7D,IAAID,EAAIwZ,EAAIvZ,EAGR0hC,GAFoB,EAAhB55B,EAAKu5B,MAAMthC,KACI,EAAfrB,EAAI2iC,MAAMrhC,IAGdgjC,EAAS,SAAJtB,EAGTyB,EAAa,UADbH,EAAMA,EAAKG,EAAS,GAIpB0I,IAFA3I,GAHAA,EAAUA,GAAWxB,EAAI,SAAa,GAAM,IAGxBsB,IAAO,IAAO,KAEZ,GACtBE,GAAU,QACZ,CACA1gC,EAAI6+B,MAAM9nB,GAAK4pB,EACfF,EAAQC,EACRA,EAAS2I,CACX,CAOA,OANc,IAAV5I,EACFzgC,EAAI6+B,MAAM9nB,GAAK0pB,EAEfzgC,EAAI5C,SAGC4C,EAAI2/B,OACb,CAeU2J,CAASlwC,KAAM8C,EAAK8D,GAEpBgpC,EAAW5vC,KAAM8C,EAAK8D,GAGvBlD,CACT,EAUAmsC,EAAK3uC,UAAUivC,QAAU,SAAkBC,GAGzC,IAFA,IAAIxyB,EAAI,IAAI1Y,MAAMkrC,GACd79B,EAAIgD,EAAGrU,UAAUqnC,WAAW6H,GAAK,EAC5BjsC,EAAI,EAAGA,EAAIisC,EAAGjsC,IACrByZ,EAAEzZ,GAAKnE,KAAKqwC,OAAOlsC,EAAGoO,EAAG69B,GAG3B,OAAOxyB,CACT,EAGAiyB,EAAK3uC,UAAUmvC,OAAS,SAAiB/9B,EAAGC,EAAG69B,GAC7C,GAAU,IAAN99B,GAAWA,IAAM89B,EAAI,EAAG,OAAO99B,EAGnC,IADA,IAAIg+B,EAAK,EACAnsC,EAAI,EAAGA,EAAIoO,EAAGpO,IACrBmsC,IAAW,EAAJh+B,IAAWC,EAAIpO,EAAI,EAC1BmO,IAAM,EAGR,OAAOg+B,CACT,EAIAT,EAAK3uC,UAAUqvC,QAAU,SAAkBC,EAAKC,EAAKC,EAAKC,EAAMC,EAAMR,GACpE,IAAK,IAAIjsC,EAAI,EAAGA,EAAIisC,EAAGjsC,IACrBwsC,EAAKxsC,GAAKssC,EAAID,EAAIrsC,IAClBysC,EAAKzsC,GAAKusC,EAAIF,EAAIrsC,GAEtB,EAEA0rC,EAAK3uC,UAAU2vC,UAAY,SAAoBJ,EAAKC,EAAKC,EAAMC,EAAMR,EAAGI,GACtExwC,KAAKuwC,QAAQC,EAAKC,EAAKC,EAAKC,EAAMC,EAAMR,GAExC,IAAK,IAAI34B,EAAI,EAAGA,EAAI24B,EAAG34B,IAAM,EAM3B,IALA,IAAIlF,EAAIkF,GAAK,EAETq5B,EAAQxjC,KAAKyjC,IAAI,EAAIzjC,KAAK0jC,GAAKz+B,GAC/B0+B,EAAQ3jC,KAAK4jC,IAAI,EAAI5jC,KAAK0jC,GAAKz+B,GAE1Bb,EAAI,EAAGA,EAAI0+B,EAAG1+B,GAAKa,EAI1B,IAHA,IAAI4+B,EAASL,EACTM,EAASH,EAEJ7sC,EAAI,EAAGA,EAAIqT,EAAGrT,IAAK,CAC1B,IAAIyqB,EAAK8hB,EAAKj/B,EAAItN,GACditC,EAAKT,EAAKl/B,EAAItN,GAEdktC,EAAKX,EAAKj/B,EAAItN,EAAIqT,GAClB85B,EAAKX,EAAKl/B,EAAItN,EAAIqT,GAElB+5B,EAAKL,EAASG,EAAKF,EAASG,EAEhCA,EAAKJ,EAASI,EAAKH,EAASE,EAC5BA,EAAKE,EAELb,EAAKj/B,EAAItN,GAAKyqB,EAAKyiB,EACnBV,EAAKl/B,EAAItN,GAAKitC,EAAKE,EAEnBZ,EAAKj/B,EAAItN,EAAIqT,GAAKoX,EAAKyiB,EACvBV,EAAKl/B,EAAItN,EAAIqT,GAAK45B,EAAKE,EAGnBntC,IAAMmO,IACRi/B,EAAKV,EAAQK,EAASF,EAAQG,EAE9BA,EAASN,EAAQM,EAASH,EAAQE,EAClCA,EAASK,EAEb,CAGN,EAEA3B,EAAK3uC,UAAUuwC,YAAc,SAAsB9gC,EAAGwG,GACpD,IAAIi5B,EAAqB,EAAjB9iC,KAAK4S,IAAI/I,EAAGxG,GAChB+gC,EAAU,EAAJtB,EACNjsC,EAAI,EACR,IAAKisC,EAAIA,EAAI,EAAI,EAAGA,EAAGA,KAAU,EAC/BjsC,IAGF,OAAO,GAAKA,EAAI,EAAIutC,CACtB,EAEA7B,EAAK3uC,UAAUywC,UAAY,SAAoBlB,EAAKC,EAAKN,GACvD,KAAIA,GAAK,GAET,IAAK,IAAIjsC,EAAI,EAAGA,EAAIisC,EAAI,EAAGjsC,IAAK,CAC9B,IAAIyZ,EAAI6yB,EAAItsC,GAEZssC,EAAItsC,GAAKssC,EAAIL,EAAIjsC,EAAI,GACrBssC,EAAIL,EAAIjsC,EAAI,GAAKyZ,EAEjBA,EAAI8yB,EAAIvsC,GAERusC,EAAIvsC,IAAMusC,EAAIN,EAAIjsC,EAAI,GACtBusC,EAAIN,EAAIjsC,EAAI,IAAMyZ,CACpB,CACF,EAEAiyB,EAAK3uC,UAAU0wC,aAAe,SAAuBC,EAAIzB,GAEvD,IADA,IAAI/I,EAAQ,EACHljC,EAAI,EAAGA,EAAIisC,EAAI,EAAGjsC,IAAK,CAC9B,IAAImiC,EAAoC,KAAhCh5B,KAAKmS,MAAMoyB,EAAG,EAAI1tC,EAAI,GAAKisC,GACjC9iC,KAAKmS,MAAMoyB,EAAG,EAAI1tC,GAAKisC,GACvB/I,EAEFwK,EAAG1tC,GAAS,SAAJmiC,EAGNe,EADEf,EAAI,SACE,EAEAA,EAAI,SAAY,CAE5B,CAEA,OAAOuL,CACT,EAEAhC,EAAK3uC,UAAU4wC,WAAa,SAAqBD,EAAI5oC,EAAKwnC,EAAKL,GAE7D,IADA,IAAI/I,EAAQ,EACHljC,EAAI,EAAGA,EAAI8E,EAAK9E,IACvBkjC,GAAyB,EAARwK,EAAG1tC,GAEpBssC,EAAI,EAAItsC,GAAa,KAARkjC,EAAgBA,KAAkB,GAC/CoJ,EAAI,EAAItsC,EAAI,GAAa,KAARkjC,EAAgBA,KAAkB,GAIrD,IAAKljC,EAAI,EAAI8E,EAAK9E,EAAIisC,IAAKjsC,EACzBssC,EAAItsC,GAAK,EAGXsR,EAAiB,IAAV4xB,GACP5xB,KAAgB,KAAR4xB,GACV,EAEAwI,EAAK3uC,UAAU6wC,KAAO,SAAe3B,GAEnC,IADA,IAAI4B,EAAK,IAAI9sC,MAAMkrC,GACVjsC,EAAI,EAAGA,EAAIisC,EAAGjsC,IACrB6tC,EAAG7tC,GAAK,EAGV,OAAO6tC,CACT,EAEAnC,EAAK3uC,UAAU4uC,KAAO,SAAex9B,EAAGy9B,EAAGnpC,GACzC,IAAIwpC,EAAI,EAAIpwC,KAAKyxC,YAAYn/B,EAAEtO,OAAQ+rC,EAAE/rC,QAErCwsC,EAAMxwC,KAAKmwC,QAAQC,GAEnBhvC,EAAIpB,KAAK+xC,KAAK3B,GAEdK,EAAM,IAAIvrC,MAAMkrC,GAChB6B,EAAO,IAAI/sC,MAAMkrC,GACjB8B,EAAO,IAAIhtC,MAAMkrC,GAEjB+B,EAAO,IAAIjtC,MAAMkrC,GACjBgC,EAAQ,IAAIltC,MAAMkrC,GAClBiC,EAAQ,IAAIntC,MAAMkrC,GAElBkC,EAAO1rC,EAAI6+B,MACf6M,EAAKtuC,OAASosC,EAEdpwC,KAAK8xC,WAAWx/B,EAAEmzB,MAAOnzB,EAAEtO,OAAQysC,EAAKL,GACxCpwC,KAAK8xC,WAAW/B,EAAEtK,MAAOsK,EAAE/rC,OAAQmuC,EAAM/B,GAEzCpwC,KAAK6wC,UAAUJ,EAAKrvC,EAAG6wC,EAAMC,EAAM9B,EAAGI,GACtCxwC,KAAK6wC,UAAUsB,EAAM/wC,EAAGgxC,EAAOC,EAAOjC,EAAGI,GAEzC,IAAK,IAAIrsC,EAAI,EAAGA,EAAIisC,EAAGjsC,IAAK,CAC1B,IAAIqtC,EAAKS,EAAK9tC,GAAKiuC,EAAMjuC,GAAK+tC,EAAK/tC,GAAKkuC,EAAMluC,GAC9C+tC,EAAK/tC,GAAK8tC,EAAK9tC,GAAKkuC,EAAMluC,GAAK+tC,EAAK/tC,GAAKiuC,EAAMjuC,GAC/C8tC,EAAK9tC,GAAKqtC,CACZ,CASA,OAPAxxC,KAAK2xC,UAAUM,EAAMC,EAAM9B,GAC3BpwC,KAAK6wC,UAAUoB,EAAMC,EAAMI,EAAMlxC,EAAGgvC,EAAGI,GACvCxwC,KAAK2xC,UAAUW,EAAMlxC,EAAGgvC,GACxBpwC,KAAK4xC,aAAaU,EAAMlC,GAExBxpC,EAAI4+B,SAAWlzB,EAAEkzB,SAAWuK,EAAEvK,SAC9B5+B,EAAI5C,OAASsO,EAAEtO,OAAS+rC,EAAE/rC,OACnB4C,EAAI2/B,OACb,EAGAhxB,EAAGrU,UAAUwc,IAAM,SAAc5a,GAC/B,IAAI8D,EAAM,IAAI2O,EAAG,MAEjB,OADA3O,EAAI6+B,MAAQ,IAAIvgC,MAAMlF,KAAKgE,OAASlB,EAAIkB,QACjChE,KAAKgwC,MAAMltC,EAAK8D,EACzB,EAGA2O,EAAGrU,UAAUqxC,KAAO,SAAezvC,GACjC,IAAI8D,EAAM,IAAI2O,EAAG,MAEjB,OADA3O,EAAI6+B,MAAQ,IAAIvgC,MAAMlF,KAAKgE,OAASlB,EAAIkB,QACjC4rC,EAAW5vC,KAAM8C,EAAK8D,EAC/B,EAGA2O,EAAGrU,UAAUutC,KAAO,SAAe3rC,GACjC,OAAO9C,KAAK6d,QAAQmyB,MAAMltC,EAAK9C,KACjC,EAEAuV,EAAGrU,UAAU2lC,MAAQ,SAAgB/jC,GACnC2S,EAAsB,iBAAR3S,GACd2S,EAAO3S,EAAM,UAIb,IADA,IAAIukC,EAAQ,EACHljC,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAAK,CACpC,IAAImiC,GAAqB,EAAhBtmC,KAAKylC,MAAMthC,IAAUrB,EAC1BskC,GAAU,SAAJd,IAA0B,SAARe,GAC5BA,IAAU,GACVA,GAAUf,EAAI,SAAa,EAE3Be,GAASD,IAAO,GAChBpnC,KAAKylC,MAAMthC,GAAU,SAALijC,CAClB,CAOA,OALc,IAAVC,IACFrnC,KAAKylC,MAAMthC,GAAKkjC,EAChBrnC,KAAKgE,UAGAhE,IACT,EAEAuV,EAAGrU,UAAUsxC,KAAO,SAAe1vC,GACjC,OAAO9C,KAAK6d,QAAQgpB,MAAM/jC,EAC5B,EAGAyS,EAAGrU,UAAUuxC,IAAM,WACjB,OAAOzyC,KAAK0d,IAAI1d,KAClB,EAGAuV,EAAGrU,UAAUwxC,KAAO,WAClB,OAAO1yC,KAAKyuC,KAAKzuC,KAAK6d,QACxB,EAGAtI,EAAGrU,UAAU0W,IAAM,SAAc9U,GAC/B,IAAIwjC,EAxxCN,SAAqBxjC,GAGnB,IAFA,IAAIwjC,EAAI,IAAIphC,MAAMpC,EAAI2lC,aAEb4B,EAAM,EAAGA,EAAM/D,EAAEtiC,OAAQqmC,IAAO,CACvC,IAAIxR,EAAOwR,EAAM,GAAM,EACnBC,EAAOD,EAAM,GAEjB/D,EAAE+D,IAAQvnC,EAAI2iC,MAAM5M,GAAQ,GAAKyR,KAAWA,CAC9C,CAEA,OAAOhE,CACT,CA6wCUqM,CAAW7vC,GACnB,GAAiB,IAAbwjC,EAAEtiC,OAAc,OAAO,IAAIuR,EAAG,GAIlC,IADA,IAAI7R,EAAM1D,KACDmE,EAAI,EAAGA,EAAImiC,EAAEtiC,QACP,IAATsiC,EAAEniC,GADsBA,IAAKT,EAAMA,EAAI+uC,OAI7C,KAAMtuC,EAAImiC,EAAEtiC,OACV,IAAK,IAAIqkC,EAAI3kC,EAAI+uC,MAAOtuC,EAAImiC,EAAEtiC,OAAQG,IAAKkkC,EAAIA,EAAEoK,MAClC,IAATnM,EAAEniC,KAENT,EAAMA,EAAIga,IAAI2qB,IAIlB,OAAO3kC,CACT,EAGA6R,EAAGrU,UAAU0xC,OAAS,SAAiB90B,GACrCrI,EAAuB,iBAATqI,GAAqBA,GAAQ,GAC3C,IAGI3Z,EAHA2hC,EAAIhoB,EAAO,GACXrG,GAAKqG,EAAOgoB,GAAK,GACjB+M,EAAa,WAAe,GAAK/M,GAAQ,GAAKA,EAGlD,GAAU,IAANA,EAAS,CACX,IAAIuB,EAAQ,EAEZ,IAAKljC,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAAK,CAChC,IAAI2uC,EAAW9yC,KAAKylC,MAAMthC,GAAK0uC,EAC3BlhC,GAAsB,EAAhB3R,KAAKylC,MAAMthC,IAAU2uC,GAAahN,EAC5C9lC,KAAKylC,MAAMthC,GAAKwN,EAAI01B,EACpBA,EAAQyL,IAAc,GAAKhN,CAC7B,CAEIuB,IACFrnC,KAAKylC,MAAMthC,GAAKkjC,EAChBrnC,KAAKgE,SAET,CAEA,GAAU,IAANyT,EAAS,CACX,IAAKtT,EAAInE,KAAKgE,OAAS,EAAGG,GAAK,EAAGA,IAChCnE,KAAKylC,MAAMthC,EAAIsT,GAAKzX,KAAKylC,MAAMthC,GAGjC,IAAKA,EAAI,EAAGA,EAAIsT,EAAGtT,IACjBnE,KAAKylC,MAAMthC,GAAK,EAGlBnE,KAAKgE,QAAUyT,CACjB,CAEA,OAAOzX,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAU6xC,MAAQ,SAAgBj1B,GAGnC,OADArI,EAAyB,IAAlBzV,KAAKwlC,UACLxlC,KAAK4yC,OAAO90B,EACrB,EAKAvI,EAAGrU,UAAU6c,OAAS,SAAiBD,EAAMnE,EAAMq5B,GAEjD,IAAIxpB,EADJ/T,EAAuB,iBAATqI,GAAqBA,GAAQ,GAGzC0L,EADE7P,GACGA,EAAQA,EAAO,IAAO,GAEvB,EAGN,IAAImsB,EAAIhoB,EAAO,GACXrG,EAAInK,KAAK8K,KAAK0F,EAAOgoB,GAAK,GAAI9lC,KAAKgE,QACnCivC,EAAO,SAAc,WAAcnN,GAAMA,EACzCoN,EAAcF,EAMlB,GAJAxpB,GAAK/R,EACL+R,EAAIlc,KAAK4S,IAAI,EAAGsJ,GAGZ0pB,EAAa,CACf,IAAK,IAAI/uC,EAAI,EAAGA,EAAIsT,EAAGtT,IACrB+uC,EAAYzN,MAAMthC,GAAKnE,KAAKylC,MAAMthC,GAEpC+uC,EAAYlvC,OAASyT,CACvB,CAEA,GAAU,IAANA,QAEG,GAAIzX,KAAKgE,OAASyT,EAEvB,IADAzX,KAAKgE,QAAUyT,EACVtT,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAC3BnE,KAAKylC,MAAMthC,GAAKnE,KAAKylC,MAAMthC,EAAIsT,QAGjCzX,KAAKylC,MAAM,GAAK,EAChBzlC,KAAKgE,OAAS,EAGhB,IAAIqjC,EAAQ,EACZ,IAAKljC,EAAInE,KAAKgE,OAAS,EAAGG,GAAK,IAAgB,IAAVkjC,GAAeljC,GAAKqlB,GAAIrlB,IAAK,CAChE,IAAIyiC,EAAuB,EAAhB5mC,KAAKylC,MAAMthC,GACtBnE,KAAKylC,MAAMthC,GAAMkjC,GAAU,GAAKvB,EAAOc,IAASd,EAChDuB,EAAQT,EAAOqM,CACjB,CAYA,OATIC,GAAyB,IAAV7L,IACjB6L,EAAYzN,MAAMyN,EAAYlvC,UAAYqjC,GAGxB,IAAhBrnC,KAAKgE,SACPhE,KAAKylC,MAAM,GAAK,EAChBzlC,KAAKgE,OAAS,GAGThE,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAUiyC,MAAQ,SAAgBr1B,EAAMnE,EAAMq5B,GAG/C,OADAv9B,EAAyB,IAAlBzV,KAAKwlC,UACLxlC,KAAK+d,OAAOD,EAAMnE,EAAMq5B,EACjC,EAGAz9B,EAAGrU,UAAUkyC,KAAO,SAAet1B,GACjC,OAAO9d,KAAK6d,QAAQk1B,MAAMj1B,EAC5B,EAEAvI,EAAGrU,UAAUmyC,MAAQ,SAAgBv1B,GACnC,OAAO9d,KAAK6d,QAAQ+0B,OAAO90B,EAC7B,EAGAvI,EAAGrU,UAAUoyC,KAAO,SAAex1B,GACjC,OAAO9d,KAAK6d,QAAQs1B,MAAMr1B,EAC5B,EAEAvI,EAAGrU,UAAUqyC,MAAQ,SAAgBz1B,GACnC,OAAO9d,KAAK6d,QAAQE,OAAOD,EAC7B,EAGAvI,EAAGrU,UAAU+nC,MAAQ,SAAgBoB,GACnC50B,EAAsB,iBAAR40B,GAAoBA,GAAO,GACzC,IAAIvE,EAAIuE,EAAM,GACV5yB,GAAK4yB,EAAMvE,GAAK,GAChBuC,EAAI,GAAKvC,EAGb,QAAI9lC,KAAKgE,QAAUyT,OAGXzX,KAAKylC,MAAMhuB,GAEL4wB,EAChB,EAGA9yB,EAAGrU,UAAUsyC,OAAS,SAAiB11B,GACrCrI,EAAuB,iBAATqI,GAAqBA,GAAQ,GAC3C,IAAIgoB,EAAIhoB,EAAO,GACXrG,GAAKqG,EAAOgoB,GAAK,GAIrB,GAFArwB,EAAyB,IAAlBzV,KAAKwlC,SAAgB,2CAExBxlC,KAAKgE,QAAUyT,EACjB,OAAOzX,KAQT,GALU,IAAN8lC,GACFruB,IAEFzX,KAAKgE,OAASsJ,KAAK8K,IAAIX,EAAGzX,KAAKgE,QAErB,IAAN8hC,EAAS,CACX,IAAImN,EAAO,SAAc,WAAcnN,GAAMA,EAC7C9lC,KAAKylC,MAAMzlC,KAAKgE,OAAS,IAAMivC,CACjC,CAEA,OAAOjzC,KAAKumC,OACd,EAGAhxB,EAAGrU,UAAUuyC,MAAQ,SAAgB31B,GACnC,OAAO9d,KAAK6d,QAAQ21B,OAAO11B,EAC7B,EAGAvI,EAAGrU,UAAU6nC,MAAQ,SAAgBjmC,GAGnC,OAFA2S,EAAsB,iBAAR3S,GACd2S,EAAO3S,EAAM,UACTA,EAAM,EAAU9C,KAAK0zC,OAAO5wC,GAGV,IAAlB9C,KAAKwlC,SACa,IAAhBxlC,KAAKgE,SAAiC,EAAhBhE,KAAKylC,MAAM,IAAU3iC,GAC7C9C,KAAKylC,MAAM,GAAK3iC,GAAuB,EAAhB9C,KAAKylC,MAAM,IAClCzlC,KAAKwlC,SAAW,EACTxlC,OAGTA,KAAKwlC,SAAW,EAChBxlC,KAAK0zC,MAAM5wC,GACX9C,KAAKwlC,SAAW,EACTxlC,MAIFA,KAAK8mC,OAAOhkC,EACrB,EAEAyS,EAAGrU,UAAU4lC,OAAS,SAAiBhkC,GACrC9C,KAAKylC,MAAM,IAAM3iC,EAGjB,IAAK,IAAIqB,EAAI,EAAGA,EAAInE,KAAKgE,QAAUhE,KAAKylC,MAAMthC,IAAM,SAAWA,IAC7DnE,KAAKylC,MAAMthC,IAAM,SACbA,IAAMnE,KAAKgE,OAAS,EACtBhE,KAAKylC,MAAMthC,EAAI,GAAK,EAEpBnE,KAAKylC,MAAMthC,EAAI,KAKnB,OAFAnE,KAAKgE,OAASsJ,KAAK4S,IAAIlgB,KAAKgE,OAAQG,EAAI,GAEjCnE,IACT,EAGAuV,EAAGrU,UAAUwyC,MAAQ,SAAgB5wC,GAGnC,GAFA2S,EAAsB,iBAAR3S,GACd2S,EAAO3S,EAAM,UACTA,EAAM,EAAG,OAAO9C,KAAK+oC,OAAOjmC,GAEhC,GAAsB,IAAlB9C,KAAKwlC,SAIP,OAHAxlC,KAAKwlC,SAAW,EAChBxlC,KAAK+oC,MAAMjmC,GACX9C,KAAKwlC,SAAW,EACTxlC,KAKT,GAFAA,KAAKylC,MAAM,IAAM3iC,EAEG,IAAhB9C,KAAKgE,QAAgBhE,KAAKylC,MAAM,GAAK,EACvCzlC,KAAKylC,MAAM,IAAMzlC,KAAKylC,MAAM,GAC5BzlC,KAAKwlC,SAAW,OAGhB,IAAK,IAAIrhC,EAAI,EAAGA,EAAInE,KAAKgE,QAAUhE,KAAKylC,MAAMthC,GAAK,EAAGA,IACpDnE,KAAKylC,MAAMthC,IAAM,SACjBnE,KAAKylC,MAAMthC,EAAI,IAAM,EAIzB,OAAOnE,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAUyyC,KAAO,SAAe7wC,GACjC,OAAO9C,KAAK6d,QAAQkrB,MAAMjmC,EAC5B,EAEAyS,EAAGrU,UAAU0yC,KAAO,SAAe9wC,GACjC,OAAO9C,KAAK6d,QAAQ61B,MAAM5wC,EAC5B,EAEAyS,EAAGrU,UAAU2yC,KAAO,WAGlB,OAFA7zC,KAAKwlC,SAAW,EAETxlC,IACT,EAEAuV,EAAGrU,UAAU4W,IAAM,WACjB,OAAO9X,KAAK6d,QAAQg2B,MACtB,EAEAt+B,EAAGrU,UAAU4yC,aAAe,SAAuBhxC,EAAK4a,EAAKpM,GAC3D,IACInN,EAIAmiC,EALAr9B,EAAMnG,EAAIkB,OAASsN,EAGvBtR,KAAK+mC,QAAQ99B,GAGb,IAAIo+B,EAAQ,EACZ,IAAKljC,EAAI,EAAGA,EAAIrB,EAAIkB,OAAQG,IAAK,CAC/BmiC,GAA6B,EAAxBtmC,KAAKylC,MAAMthC,EAAImN,IAAc+1B,EAClC,IAAIpB,GAAwB,EAAfnjC,EAAI2iC,MAAMthC,IAAUuZ,EAEjC2pB,IADAf,GAAa,SAARL,IACS,KAAQA,EAAQ,SAAa,GAC3CjmC,KAAKylC,MAAMthC,EAAImN,GAAa,SAAJg1B,CAC1B,CACA,KAAOniC,EAAInE,KAAKgE,OAASsN,EAAOnN,IAE9BkjC,GADAf,GAA6B,EAAxBtmC,KAAKylC,MAAMthC,EAAImN,IAAc+1B,IACrB,GACbrnC,KAAKylC,MAAMthC,EAAImN,GAAa,SAAJg1B,EAG1B,GAAc,IAAVe,EAAa,OAAOrnC,KAAKumC,QAK7B,IAFA9wB,GAAkB,IAAX4xB,GACPA,EAAQ,EACHljC,EAAI,EAAGA,EAAInE,KAAKgE,OAAQG,IAE3BkjC,GADAf,IAAsB,EAAhBtmC,KAAKylC,MAAMthC,IAAUkjC,IACd,GACbrnC,KAAKylC,MAAMthC,GAAS,SAAJmiC,EAIlB,OAFAtmC,KAAKwlC,SAAW,EAETxlC,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAU6yC,SAAW,SAAmBjxC,EAAK8H,GAC9C,IAAI0G,GAAQtR,KAAKgE,OAASlB,EAAIkB,QAE1BkU,EAAIlY,KAAK6d,QACT1F,EAAIrV,EAGJkxC,EAA8B,EAAxB77B,EAAEstB,MAAMttB,EAAEnU,OAAS,GAGf,KADdsN,EAAQ,GADMtR,KAAKuoC,WAAWyL,MAG5B77B,EAAIA,EAAEk7B,MAAM/hC,GACZ4G,EAAE06B,OAAOthC,GACT0iC,EAA8B,EAAxB77B,EAAEstB,MAAMttB,EAAEnU,OAAS,IAI3B,IACIqkC,EADAlxB,EAAIe,EAAElU,OAASmU,EAAEnU,OAGrB,GAAa,QAAT4G,EAAgB,EAClBy9B,EAAI,IAAI9yB,EAAG,OACTvR,OAASmT,EAAI,EACfkxB,EAAE5C,MAAQ,IAAIvgC,MAAMmjC,EAAErkC,QACtB,IAAK,IAAIG,EAAI,EAAGA,EAAIkkC,EAAErkC,OAAQG,IAC5BkkC,EAAE5C,MAAMthC,GAAK,CAEjB,CAEA,IAAIoZ,EAAOrF,EAAE2F,QAAQi2B,aAAa37B,EAAG,EAAGhB,GAClB,IAAlBoG,EAAKioB,WACPttB,EAAIqF,EACA8qB,IACFA,EAAE5C,MAAMtuB,GAAK,IAIjB,IAAK,IAAI/S,EAAI+S,EAAI,EAAG/S,GAAK,EAAGA,IAAK,CAC/B,IAAI6vC,EAAmC,UAAL,EAAxB/7B,EAAEutB,MAAMttB,EAAEnU,OAASI,KACE,EAA5B8T,EAAEutB,MAAMttB,EAAEnU,OAASI,EAAI,IAO1B,IAHA6vC,EAAK3mC,KAAK8K,IAAK67B,EAAKD,EAAO,EAAG,UAE9B97B,EAAE47B,aAAa37B,EAAG87B,EAAI7vC,GACA,IAAf8T,EAAEstB,UACPyO,IACA/7B,EAAEstB,SAAW,EACbttB,EAAE47B,aAAa37B,EAAG,EAAG/T,GAChB8T,EAAE0vB,WACL1vB,EAAEstB,UAAY,GAGd6C,IACFA,EAAE5C,MAAMrhC,GAAK6vC,EAEjB,CAWA,OAVI5L,GACFA,EAAE9B,QAEJruB,EAAEquB,QAGW,QAAT37B,GAA4B,IAAV0G,GACpB4G,EAAE6F,OAAOzM,GAGJ,CACL4iC,IAAK7L,GAAK,KACV1B,IAAKzuB,EAET,EAMA3C,EAAGrU,UAAUizC,OAAS,SAAiBrxC,EAAK8H,EAAMwpC,GAGhD,OAFA3+B,GAAQ3S,EAAI8kC,UAER5nC,KAAK4nC,SACA,CACLsM,IAAK,IAAI3+B,EAAG,GACZoxB,IAAK,IAAIpxB,EAAG,IAKM,IAAlBvV,KAAKwlC,UAAmC,IAAjB1iC,EAAI0iC,UAC7B9hC,EAAM1D,KAAKqpC,MAAM8K,OAAOrxC,EAAK8H,GAEhB,QAATA,IACFspC,EAAMxwC,EAAIwwC,IAAI7K,OAGH,QAATz+B,IACF+7B,EAAMjjC,EAAIijC,IAAI0C,MACV+K,GAA6B,IAAjBzN,EAAInB,UAClBmB,EAAI4D,KAAKznC,IAIN,CACLoxC,IAAKA,EACLvN,IAAKA,IAIa,IAAlB3mC,KAAKwlC,UAAmC,IAAjB1iC,EAAI0iC,UAC7B9hC,EAAM1D,KAAKm0C,OAAOrxC,EAAIumC,MAAOz+B,GAEhB,QAATA,IACFspC,EAAMxwC,EAAIwwC,IAAI7K,OAGT,CACL6K,IAAKA,EACLvN,IAAKjjC,EAAIijC,MAIR3mC,KAAKwlC,SAAW1iC,EAAI0iC,UACvB9hC,EAAM1D,KAAKqpC,MAAM8K,OAAOrxC,EAAIumC,MAAOz+B,GAEtB,QAATA,IACF+7B,EAAMjjC,EAAIijC,IAAI0C,MACV+K,GAA6B,IAAjBzN,EAAInB,UAClBmB,EAAI6D,KAAK1nC,IAIN,CACLoxC,IAAKxwC,EAAIwwC,IACTvN,IAAKA,IAOL7jC,EAAIkB,OAAShE,KAAKgE,QAAUhE,KAAKqc,IAAIvZ,GAAO,EACvC,CACLoxC,IAAK,IAAI3+B,EAAG,GACZoxB,IAAK3mC,MAKU,IAAf8C,EAAIkB,OACO,QAAT4G,EACK,CACLspC,IAAKl0C,KAAKq0C,KAAKvxC,EAAI2iC,MAAM,IACzBkB,IAAK,MAII,QAAT/7B,EACK,CACLspC,IAAK,KACLvN,IAAK,IAAIpxB,EAAGvV,KAAK6nC,KAAK/kC,EAAI2iC,MAAM,MAI7B,CACLyO,IAAKl0C,KAAKq0C,KAAKvxC,EAAI2iC,MAAM,IACzBkB,IAAK,IAAIpxB,EAAGvV,KAAK6nC,KAAK/kC,EAAI2iC,MAAM,MAI7BzlC,KAAK+zC,SAASjxC,EAAK8H,GAlF1B,IAAIspC,EAAKvN,EAAKjjC,CAmFhB,EAGA6R,EAAGrU,UAAUgzC,IAAM,SAAcpxC,GAC/B,OAAO9C,KAAKm0C,OAAOrxC,EAAK,OAAO,GAAOoxC,GACxC,EAGA3+B,EAAGrU,UAAUylC,IAAM,SAAc7jC,GAC/B,OAAO9C,KAAKm0C,OAAOrxC,EAAK,OAAO,GAAO6jC,GACxC,EAEApxB,EAAGrU,UAAUozC,KAAO,SAAexxC,GACjC,OAAO9C,KAAKm0C,OAAOrxC,EAAK,OAAO,GAAM6jC,GACvC,EAGApxB,EAAGrU,UAAUqzC,SAAW,SAAmBzxC,GACzC,IAAI0xC,EAAKx0C,KAAKm0C,OAAOrxC,GAGrB,GAAI0xC,EAAG7N,IAAIiB,SAAU,OAAO4M,EAAGN,IAE/B,IAAIvN,EAA0B,IAApB6N,EAAGN,IAAI1O,SAAiBgP,EAAG7N,IAAI6D,KAAK1nC,GAAO0xC,EAAG7N,IAEpD8N,EAAO3xC,EAAIywC,MAAM,GACjBmB,EAAK5xC,EAAIkb,MAAM,GACf3B,EAAMsqB,EAAItqB,IAAIo4B,GAGlB,OAAIp4B,EAAM,GAAY,IAAPq4B,GAAoB,IAARr4B,EAAkBm4B,EAAGN,IAGrB,IAApBM,EAAGN,IAAI1O,SAAiBgP,EAAGN,IAAIR,MAAM,GAAKc,EAAGN,IAAInL,MAAM,EAChE,EAEAxzB,EAAGrU,UAAU2mC,KAAO,SAAe/kC,GACjC2S,EAAO3S,GAAO,UAId,IAHA,IAAI4O,GAAK,GAAK,IAAM5O,EAEhB6xC,EAAM,EACDxwC,EAAInE,KAAKgE,OAAS,EAAGG,GAAK,EAAGA,IACpCwwC,GAAOjjC,EAAIijC,GAAuB,EAAhB30C,KAAKylC,MAAMthC,KAAWrB,EAG1C,OAAO6xC,CACT,EAGAp/B,EAAGrU,UAAU4mC,MAAQ,SAAgBhlC,GACnC2S,EAAO3S,GAAO,UAGd,IADA,IAAIukC,EAAQ,EACHljC,EAAInE,KAAKgE,OAAS,EAAGG,GAAK,EAAGA,IAAK,CACzC,IAAImiC,GAAqB,EAAhBtmC,KAAKylC,MAAMthC,IAAkB,SAARkjC,EAC9BrnC,KAAKylC,MAAMthC,GAAMmiC,EAAIxjC,EAAO,EAC5BukC,EAAQf,EAAIxjC,CACd,CAEA,OAAO9C,KAAKumC,OACd,EAEAhxB,EAAGrU,UAAUmzC,KAAO,SAAevxC,GACjC,OAAO9C,KAAK6d,QAAQiqB,MAAMhlC,EAC5B,EAEAyS,EAAGrU,UAAU0zC,KAAO,SAAeljC,GACjC+D,EAAsB,IAAf/D,EAAE8zB,UACT/vB,GAAQ/D,EAAEk2B,UAEV,IAAIt1B,EAAItS,KACJ+vC,EAAIr+B,EAAEmM,QAGRvL,EADiB,IAAfA,EAAEkzB,SACAlzB,EAAEgiC,KAAK5iC,GAEPY,EAAEuL,QAaR,IATA,IAAIg3B,EAAI,IAAIt/B,EAAG,GACXu/B,EAAI,IAAIv/B,EAAG,GAGXw/B,EAAI,IAAIx/B,EAAG,GACXy/B,EAAI,IAAIz/B,EAAG,GAEX0T,EAAI,EAED3W,EAAE2iC,UAAYlF,EAAEkF,UACrB3iC,EAAEyL,OAAO,GACTgyB,EAAEhyB,OAAO,KACPkL,EAMJ,IAHA,IAAIisB,EAAKnF,EAAElyB,QACPs3B,EAAK7iC,EAAEuL,SAEHvL,EAAEs1B,UAAU,CAClB,IAAK,IAAIzjC,EAAI,EAAGixC,EAAK,IAAI9iC,EAAEmzB,MAAM,GAAK2P,IAAajxC,EAAI,KAAMA,EAAGixC,IAAO,GACvE,GAAIjxC,EAAI,EAEN,IADAmO,EAAEyL,OAAO5Z,GACFA,KAAM,IACP0wC,EAAEQ,SAAWP,EAAEO,WACjBR,EAAEtK,KAAK2K,GACPJ,EAAEtK,KAAK2K,IAGTN,EAAE92B,OAAO,GACT+2B,EAAE/2B,OAAO,GAIb,IAAK,IAAI3Z,EAAI,EAAGkxC,EAAK,IAAIvF,EAAEtK,MAAM,GAAK6P,IAAalxC,EAAI,KAAMA,EAAGkxC,IAAO,GACvE,GAAIlxC,EAAI,EAEN,IADA2rC,EAAEhyB,OAAO3Z,GACFA,KAAM,IACP2wC,EAAEM,SAAWL,EAAEK,WACjBN,EAAExK,KAAK2K,GACPF,EAAExK,KAAK2K,IAGTJ,EAAEh3B,OAAO,GACTi3B,EAAEj3B,OAAO,GAITzL,EAAE+J,IAAI0zB,IAAM,GACdz9B,EAAEk4B,KAAKuF,GACP8E,EAAErK,KAAKuK,GACPD,EAAEtK,KAAKwK,KAEPjF,EAAEvF,KAAKl4B,GACPyiC,EAAEvK,KAAKqK,GACPG,EAAExK,KAAKsK,GAEX,CAEA,MAAO,CACL58B,EACAC,EAAG68B,EACHO,IAAKxF,EAAE6C,OAAO3pB,GAElB,EAKA1T,EAAGrU,UAAUs0C,OAAS,SAAiB9jC,GACrC+D,EAAsB,IAAf/D,EAAE8zB,UACT/vB,GAAQ/D,EAAEk2B,UAEV,IAAI1vB,EAAIlY,KACJmY,EAAIzG,EAAEmM,QAGR3F,EADiB,IAAfA,EAAEstB,SACAttB,EAAEo8B,KAAK5iC,GAEPwG,EAAE2F,QAQR,IALA,IAuCIna,EAvCA+xC,EAAK,IAAIlgC,EAAG,GACZ0G,EAAK,IAAI1G,EAAG,GAEZ8tB,EAAQlrB,EAAE0F,QAEP3F,EAAE4E,KAAK,GAAK,GAAK3E,EAAE2E,KAAK,GAAK,GAAG,CACrC,IAAK,IAAI3Y,EAAI,EAAGixC,EAAK,IAAIl9B,EAAEutB,MAAM,GAAK2P,IAAajxC,EAAI,KAAMA,EAAGixC,IAAO,GACvE,GAAIjxC,EAAI,EAEN,IADA+T,EAAE6F,OAAO5Z,GACFA,KAAM,GACPsxC,EAAGJ,SACLI,EAAGlL,KAAKlH,GAGVoS,EAAG13B,OAAO,GAId,IAAK,IAAI3Z,EAAI,EAAGkxC,EAAK,IAAIn9B,EAAEstB,MAAM,GAAK6P,IAAalxC,EAAI,KAAMA,EAAGkxC,IAAO,GACvE,GAAIlxC,EAAI,EAEN,IADA+T,EAAE4F,OAAO3Z,GACFA,KAAM,GACP6X,EAAGo5B,SACLp5B,EAAGsuB,KAAKlH,GAGVpnB,EAAG8B,OAAO,GAIV7F,EAAEmE,IAAIlE,IAAM,GACdD,EAAEsyB,KAAKryB,GACPs9B,EAAGjL,KAAKvuB,KAER9D,EAAEqyB,KAAKtyB,GACP+D,EAAGuuB,KAAKiL,GAEZ,CAaA,OATE/xC,EADgB,IAAdwU,EAAE4E,KAAK,GACH24B,EAEAx5B,GAGAa,KAAK,GAAK,GAChBpZ,EAAI6mC,KAAK74B,GAGJhO,CACT,EAEA6R,EAAGrU,UAAUq0C,IAAM,SAAczyC,GAC/B,GAAI9C,KAAK4nC,SAAU,OAAO9kC,EAAIgV,MAC9B,GAAIhV,EAAI8kC,SAAU,OAAO5nC,KAAK8X,MAE9B,IAAII,EAAIlY,KAAK6d,QACT1F,EAAIrV,EAAI+a,QACZ3F,EAAEstB,SAAW,EACbrtB,EAAEqtB,SAAW,EAGb,IAAK,IAAIl0B,EAAQ,EAAG4G,EAAE+8B,UAAY98B,EAAE88B,SAAU3jC,IAC5C4G,EAAE6F,OAAO,GACT5F,EAAE4F,OAAO,GAGX,OAAG,CACD,KAAO7F,EAAE+8B,UACP/8B,EAAE6F,OAAO,GAEX,KAAO5F,EAAE88B,UACP98B,EAAE4F,OAAO,GAGX,IAAI+nB,EAAI5tB,EAAEmE,IAAIlE,GACd,GAAI2tB,EAAI,EAAG,CAET,IAAIloB,EAAI1F,EACRA,EAAIC,EACJA,EAAIyF,CACN,MAAO,GAAU,IAANkoB,GAAyB,IAAd3tB,EAAE2E,KAAK,GAC3B,MAGF5E,EAAEsyB,KAAKryB,EACT,CAEA,OAAOA,EAAEy6B,OAAOthC,EAClB,EAGAiE,EAAGrU,UAAUw0C,KAAO,SAAe5yC,GACjC,OAAO9C,KAAK40C,KAAK9xC,GAAKoV,EAAEo8B,KAAKxxC,EAC/B,EAEAyS,EAAGrU,UAAU+zC,OAAS,WACpB,QAAwB,EAAhBj1C,KAAKylC,MAAM,GACrB,EAEAlwB,EAAGrU,UAAUm0C,MAAQ,WACnB,QAA+B,GAAvBr1C,KAAKylC,MAAM,GACrB,EAGAlwB,EAAGrU,UAAU8c,MAAQ,SAAgBlb,GACnC,OAAO9C,KAAKylC,MAAM,GAAK3iC,CACzB,EAGAyS,EAAGrU,UAAUy0C,MAAQ,SAAgBtL,GACnC50B,EAAsB,iBAAR40B,GACd,IAAIvE,EAAIuE,EAAM,GACV5yB,GAAK4yB,EAAMvE,GAAK,GAChBuC,EAAI,GAAKvC,EAGb,GAAI9lC,KAAKgE,QAAUyT,EAGjB,OAFAzX,KAAK+mC,QAAQtvB,EAAI,GACjBzX,KAAKylC,MAAMhuB,IAAM4wB,EACVroC,KAKT,IADA,IAAIqnC,EAAQgB,EACHlkC,EAAIsT,EAAa,IAAV4vB,GAAeljC,EAAInE,KAAKgE,OAAQG,IAAK,CACnD,IAAImiC,EAAoB,EAAhBtmC,KAAKylC,MAAMthC,GAEnBkjC,GADAf,GAAKe,KACS,GACdf,GAAK,SACLtmC,KAAKylC,MAAMthC,GAAKmiC,CAClB,CAKA,OAJc,IAAVe,IACFrnC,KAAKylC,MAAMthC,GAAKkjC,EAChBrnC,KAAKgE,UAEAhE,IACT,EAEAuV,EAAGrU,UAAU0mC,OAAS,WACpB,OAAuB,IAAhB5nC,KAAKgE,QAAkC,IAAlBhE,KAAKylC,MAAM,EACzC,EAEAlwB,EAAGrU,UAAU4b,KAAO,SAAeha,GACjC,IAOIY,EAPA8hC,EAAW1iC,EAAM,EAErB,GAAsB,IAAlB9C,KAAKwlC,WAAmBA,EAAU,OAAQ,EAC9C,GAAsB,IAAlBxlC,KAAKwlC,UAAkBA,EAAU,OAAO,EAK5C,GAHAxlC,KAAKumC,QAGDvmC,KAAKgE,OAAS,EAChBN,EAAM,MACD,CACD8hC,IACF1iC,GAAOA,GAGT2S,EAAO3S,GAAO,SAAW,qBAEzB,IAAIwjC,EAAoB,EAAhBtmC,KAAKylC,MAAM,GACnB/hC,EAAM4iC,IAAMxjC,EAAM,EAAIwjC,EAAIxjC,GAAO,EAAI,CACvC,CACA,OAAsB,IAAlB9C,KAAKwlC,SAA8B,GAAN9hC,EAC1BA,CACT,EAMA6R,EAAGrU,UAAUmb,IAAM,SAAcvZ,GAC/B,GAAsB,IAAlB9C,KAAKwlC,UAAmC,IAAjB1iC,EAAI0iC,SAAgB,OAAQ,EACvD,GAAsB,IAAlBxlC,KAAKwlC,UAAmC,IAAjB1iC,EAAI0iC,SAAgB,OAAO,EAEtD,IAAI9hC,EAAM1D,KAAK41C,KAAK9yC,GACpB,OAAsB,IAAlB9C,KAAKwlC,SAA8B,GAAN9hC,EAC1BA,CACT,EAGA6R,EAAGrU,UAAU00C,KAAO,SAAe9yC,GAEjC,GAAI9C,KAAKgE,OAASlB,EAAIkB,OAAQ,OAAO,EACrC,GAAIhE,KAAKgE,OAASlB,EAAIkB,OAAQ,OAAQ,EAGtC,IADA,IAAIN,EAAM,EACDS,EAAInE,KAAKgE,OAAS,EAAGG,GAAK,EAAGA,IAAK,CACzC,IAAI+T,EAAoB,EAAhBlY,KAAKylC,MAAMthC,GACfgU,EAAmB,EAAfrV,EAAI2iC,MAAMthC,GAElB,GAAI+T,IAAMC,EAAV,CACID,EAAIC,EACNzU,GAAO,EACEwU,EAAIC,IACbzU,EAAM,GAER,KANqB,CAOvB,CACA,OAAOA,CACT,EAEA6R,EAAGrU,UAAU20C,IAAM,SAAc/yC,GAC/B,OAA0B,IAAnB9C,KAAK8c,KAAKha,EACnB,EAEAyS,EAAGrU,UAAU40C,GAAK,SAAahzC,GAC7B,OAAyB,IAAlB9C,KAAKqc,IAAIvZ,EAClB,EAEAyS,EAAGrU,UAAU60C,KAAO,SAAejzC,GACjC,OAAO9C,KAAK8c,KAAKha,IAAQ,CAC3B,EAEAyS,EAAGrU,UAAU80C,IAAM,SAAclzC,GAC/B,OAAO9C,KAAKqc,IAAIvZ,IAAQ,CAC1B,EAEAyS,EAAGrU,UAAU+0C,IAAM,SAAcnzC,GAC/B,OAA2B,IAApB9C,KAAK8c,KAAKha,EACnB,EAEAyS,EAAGrU,UAAUg1C,GAAK,SAAapzC,GAC7B,OAA0B,IAAnB9C,KAAKqc,IAAIvZ,EAClB,EAEAyS,EAAGrU,UAAUi1C,KAAO,SAAerzC,GACjC,OAAO9C,KAAK8c,KAAKha,IAAQ,CAC3B,EAEAyS,EAAGrU,UAAUk1C,IAAM,SAActzC,GAC/B,OAAO9C,KAAKqc,IAAIvZ,IAAQ,CAC1B,EAEAyS,EAAGrU,UAAUm1C,IAAM,SAAcvzC,GAC/B,OAA0B,IAAnB9C,KAAK8c,KAAKha,EACnB,EAEAyS,EAAGrU,UAAUid,GAAK,SAAarb,GAC7B,OAAyB,IAAlB9C,KAAKqc,IAAIvZ,EAClB,EAMAyS,EAAG2F,IAAM,SAAcpY,GACrB,OAAO,IAAIwzC,EAAIxzC,EACjB,EAEAyS,EAAGrU,UAAU+Z,MAAQ,SAAgBmR,GAGnC,OAFA3W,GAAQzV,KAAKkb,IAAK,yCAClBzF,EAAyB,IAAlBzV,KAAKwlC,SAAgB,iCACrBpZ,EAAImqB,UAAUv2C,MAAMw2C,UAAUpqB,EACvC,EAEA7W,EAAGrU,UAAU2b,QAAU,WAErB,OADApH,EAAOzV,KAAKkb,IAAK,wDACVlb,KAAKkb,IAAIu7B,YAAYz2C,KAC9B,EAEAuV,EAAGrU,UAAUs1C,UAAY,SAAoBpqB,GAE3C,OADApsB,KAAKkb,IAAMkR,EACJpsB,IACT,EAEAuV,EAAGrU,UAAUw1C,SAAW,SAAmBtqB,GAEzC,OADA3W,GAAQzV,KAAKkb,IAAK,yCACXlb,KAAKw2C,UAAUpqB,EACxB,EAEA7W,EAAGrU,UAAUqa,OAAS,SAAiBzY,GAErC,OADA2S,EAAOzV,KAAKkb,IAAK,sCACVlb,KAAKkb,IAAImC,IAAIrd,KAAM8C,EAC5B,EAEAyS,EAAGrU,UAAUy1C,QAAU,SAAkB7zC,GAEvC,OADA2S,EAAOzV,KAAKkb,IAAK,uCACVlb,KAAKkb,IAAIqvB,KAAKvqC,KAAM8C,EAC7B,EAEAyS,EAAGrU,UAAUgc,OAAS,SAAiBpa,GAErC,OADA2S,EAAOzV,KAAKkb,IAAK,sCACVlb,KAAKkb,IAAIuvB,IAAIzqC,KAAM8C,EAC5B,EAEAyS,EAAGrU,UAAUuc,QAAU,SAAkB3a,GAEvC,OADA2S,EAAOzV,KAAKkb,IAAK,uCACVlb,KAAKkb,IAAIsvB,KAAKxqC,KAAM8C,EAC7B,EAEAyS,EAAGrU,UAAU01C,OAAS,SAAiB9zC,GAErC,OADA2S,EAAOzV,KAAKkb,IAAK,sCACVlb,KAAKkb,IAAI27B,IAAI72C,KAAM8C,EAC5B,EAEAyS,EAAGrU,UAAUoa,OAAS,SAAiBxY,GAGrC,OAFA2S,EAAOzV,KAAKkb,IAAK,sCACjBlb,KAAKkb,IAAI47B,SAAS92C,KAAM8C,GACjB9C,KAAKkb,IAAIwC,IAAI1d,KAAM8C,EAC5B,EAEAyS,EAAGrU,UAAU61C,QAAU,SAAkBj0C,GAGvC,OAFA2S,EAAOzV,KAAKkb,IAAK,sCACjBlb,KAAKkb,IAAI47B,SAAS92C,KAAM8C,GACjB9C,KAAKkb,IAAIuzB,KAAKzuC,KAAM8C,EAC7B,EAEAyS,EAAGrU,UAAUgb,OAAS,WAGpB,OAFAzG,EAAOzV,KAAKkb,IAAK,sCACjBlb,KAAKkb,IAAI87B,SAASh3C,MACXA,KAAKkb,IAAIu3B,IAAIzyC,KACtB,EAEAuV,EAAGrU,UAAU+1C,QAAU,WAGrB,OAFAxhC,EAAOzV,KAAKkb,IAAK,uCACjBlb,KAAKkb,IAAI87B,SAASh3C,MACXA,KAAKkb,IAAIw3B,KAAK1yC,KACvB,EAGAuV,EAAGrU,UAAUkb,QAAU,WAGrB,OAFA3G,EAAOzV,KAAKkb,IAAK,uCACjBlb,KAAKkb,IAAI87B,SAASh3C,MACXA,KAAKkb,IAAIg8B,KAAKl3C,KACvB,EAEAuV,EAAGrU,UAAUka,QAAU,WAGrB,OAFA3F,EAAOzV,KAAKkb,IAAK,uCACjBlb,KAAKkb,IAAI87B,SAASh3C,MACXA,KAAKkb,IAAIw6B,KAAK11C,KACvB,EAGAuV,EAAGrU,UAAUi2C,OAAS,WAGpB,OAFA1hC,EAAOzV,KAAKkb,IAAK,sCACjBlb,KAAKkb,IAAI87B,SAASh3C,MACXA,KAAKkb,IAAImuB,IAAIrpC,KACtB,EAEAuV,EAAGrU,UAAUk2C,OAAS,SAAiBt0C,GAGrC,OAFA2S,EAAOzV,KAAKkb,MAAQpY,EAAIoY,IAAK,qBAC7Blb,KAAKkb,IAAI87B,SAASh3C,MACXA,KAAKkb,IAAItD,IAAI5X,KAAM8C,EAC5B,EAGA,IAAIu0C,EAAS,CACXC,KAAM,KACNC,KAAM,KACNC,KAAM,KACNC,OAAQ,MAIV,SAASC,EAAQp1C,EAAMoP,GAErB1R,KAAKsC,KAAOA,EACZtC,KAAK0R,EAAI,IAAI6D,EAAG7D,EAAG,IACnB1R,KAAK2Q,EAAI3Q,KAAK0R,EAAE+2B,YAChBzoC,KAAK2d,EAAI,IAAIpI,EAAG,GAAGq9B,OAAO5yC,KAAK2Q,GAAG65B,KAAKxqC,KAAK0R,GAE5C1R,KAAK23C,IAAM33C,KAAK43C,MAClB,CAgDA,SAASC,IACPH,EAAO33C,KACLC,KACA,OACA,0EACJ,CA8DA,SAAS83C,IACPJ,EAAO33C,KACLC,KACA,OACA,iEACJ,CAGA,SAAS+3C,IACPL,EAAO33C,KACLC,KACA,OACA,wDACJ,CAGA,SAASg4C,IAEPN,EAAO33C,KACLC,KACA,QACA,sEACJ,CA6CA,SAASs2C,EAAKn/B,GACZ,GAAiB,iBAANA,EAAgB,CACzB,IAAIgS,EAAQ5T,EAAG0iC,OAAO9gC,GACtBnX,KAAKmX,EAAIgS,EAAMzX,EACf1R,KAAKmpB,MAAQA,CACf,MACE1T,EAAO0B,EAAE0+B,IAAI,GAAI,kCACjB71C,KAAKmX,EAAIA,EACTnX,KAAKmpB,MAAQ,IAEjB,CAgOA,SAAS+uB,EAAM/gC,GACbm/B,EAAIv2C,KAAKC,KAAMmX,GAEfnX,KAAKsR,MAAQtR,KAAKmX,EAAEsxB,YAChBzoC,KAAKsR,MAAQ,IAAO,IACtBtR,KAAKsR,OAAS,GAAMtR,KAAKsR,MAAQ,IAGnCtR,KAAK8lC,EAAI,IAAIvwB,EAAG,GAAGq9B,OAAO5yC,KAAKsR,OAC/BtR,KAAK00C,GAAK10C,KAAKm4C,KAAKn4C,KAAK8lC,EAAE2M,OAC3BzyC,KAAKo4C,KAAOp4C,KAAK8lC,EAAE0P,OAAOx1C,KAAKmX,GAE/BnX,KAAKq4C,KAAOr4C,KAAKo4C,KAAK16B,IAAI1d,KAAK8lC,GAAG4N,MAAM,GAAGQ,IAAIl0C,KAAKmX,GACpDnX,KAAKq4C,KAAOr4C,KAAKq4C,KAAK/D,KAAKt0C,KAAK8lC,GAChC9lC,KAAKq4C,KAAOr4C,KAAK8lC,EAAE2E,IAAIzqC,KAAKq4C,KAC9B,CA7aAX,EAAOx2C,UAAU02C,KAAO,WACtB,IAAID,EAAM,IAAIpiC,EAAG,MAEjB,OADAoiC,EAAIlS,MAAQ,IAAIvgC,MAAMoI,KAAK8qB,KAAKp4B,KAAK2Q,EAAI,KAClCgnC,CACT,EAEAD,EAAOx2C,UAAUo3C,QAAU,SAAkBx1C,GAG3C,IACIy1C,EADAzS,EAAIhjC,EAGR,GACE9C,KAAKiF,MAAM6gC,EAAG9lC,KAAK23C,KAGnBY,GADAzS,GADAA,EAAI9lC,KAAKw4C,MAAM1S,IACTyE,KAAKvqC,KAAK23C,MACPlP,kBACF8P,EAAOv4C,KAAK2Q,GAErB,IAAI0L,EAAMk8B,EAAOv4C,KAAK2Q,GAAK,EAAIm1B,EAAE8P,KAAK51C,KAAK0R,GAgB3C,OAfY,IAAR2K,GACFypB,EAAEL,MAAM,GAAK,EACbK,EAAE9hC,OAAS,GACFqY,EAAM,EACfypB,EAAE0E,KAAKxqC,KAAK0R,QAEInK,IAAZu+B,EAAES,MAEJT,EAAES,QAGFT,EAAE2S,SAIC3S,CACT,EAEA4R,EAAOx2C,UAAU+D,MAAQ,SAAgByU,EAAO9S,GAC9C8S,EAAMqE,OAAO/d,KAAK2Q,EAAG,EAAG/J,EAC1B,EAEA8wC,EAAOx2C,UAAUs3C,MAAQ,SAAgB11C,GACvC,OAAOA,EAAI2rC,KAAKzuC,KAAK2d,EACvB,EAQAne,EAASq4C,EAAMH,GAEfG,EAAK32C,UAAU+D,MAAQ,SAAgByU,EAAOsU,GAK5C,IAHA,IAAIilB,EAAO,QAEPyF,EAASprC,KAAK8K,IAAIsB,EAAM1V,OAAQ,GAC3BG,EAAI,EAAGA,EAAIu0C,EAAQv0C,IAC1B6pB,EAAOyX,MAAMthC,GAAKuV,EAAM+rB,MAAMthC,GAIhC,GAFA6pB,EAAOhqB,OAAS00C,EAEZh/B,EAAM1V,QAAU,EAGlB,OAFA0V,EAAM+rB,MAAM,GAAK,OACjB/rB,EAAM1V,OAAS,GAKjB,IAAIuqB,EAAO7U,EAAM+rB,MAAM,GAGvB,IAFAzX,EAAOyX,MAAMzX,EAAOhqB,UAAYuqB,EAAO0kB,EAElC9uC,EAAI,GAAIA,EAAIuV,EAAM1V,OAAQG,IAAK,CAClC,IAAIyN,EAAwB,EAAjB8H,EAAM+rB,MAAMthC,GACvBuV,EAAM+rB,MAAMthC,EAAI,KAAQyN,EAAOqhC,IAAS,EAAM1kB,IAAS,GACvDA,EAAO3c,CACT,CACA2c,KAAU,GACV7U,EAAM+rB,MAAMthC,EAAI,IAAMoqB,EACT,IAATA,GAAc7U,EAAM1V,OAAS,GAC/B0V,EAAM1V,QAAU,GAEhB0V,EAAM1V,QAAU,CAEpB,EAEA6zC,EAAK32C,UAAUs3C,MAAQ,SAAgB11C,GAErCA,EAAI2iC,MAAM3iC,EAAIkB,QAAU,EACxBlB,EAAI2iC,MAAM3iC,EAAIkB,OAAS,GAAK,EAC5BlB,EAAIkB,QAAU,EAId,IADA,IAAIojC,EAAK,EACAjjC,EAAI,EAAGA,EAAIrB,EAAIkB,OAAQG,IAAK,CACnC,IAAImiC,EAAmB,EAAfxjC,EAAI2iC,MAAMthC,GAClBijC,GAAU,IAAJd,EACNxjC,EAAI2iC,MAAMthC,GAAU,SAALijC,EACfA,EAAS,GAAJd,GAAac,EAAK,SAAa,EACtC,CASA,OANkC,IAA9BtkC,EAAI2iC,MAAM3iC,EAAIkB,OAAS,KACzBlB,EAAIkB,SAC8B,IAA9BlB,EAAI2iC,MAAM3iC,EAAIkB,OAAS,IACzBlB,EAAIkB,UAGDlB,CACT,EAQAtD,EAASs4C,EAAMJ,GAQfl4C,EAASu4C,EAAML,GASfl4C,EAASw4C,EAAQN,GAEjBM,EAAO92C,UAAUs3C,MAAQ,SAAgB11C,GAGvC,IADA,IAAIukC,EAAQ,EACHljC,EAAI,EAAGA,EAAIrB,EAAIkB,OAAQG,IAAK,CACnC,IAAIukC,EAA0B,IAAL,EAAf5lC,EAAI2iC,MAAMthC,IAAiBkjC,EACjCD,EAAU,SAALsB,EACTA,KAAQ,GAER5lC,EAAI2iC,MAAMthC,GAAKijC,EACfC,EAAQqB,CACV,CAIA,OAHc,IAAVrB,IACFvkC,EAAI2iC,MAAM3iC,EAAIkB,UAAYqjC,GAErBvkC,CACT,EAGAyS,EAAG0iC,OAAS,SAAgB31C,GAE1B,GAAI+0C,EAAO/0C,GAAO,OAAO+0C,EAAO/0C,GAEhC,IAAI6mB,EACJ,GAAa,SAAT7mB,EACF6mB,EAAQ,IAAI0uB,OACP,GAAa,SAATv1C,EACT6mB,EAAQ,IAAI2uB,OACP,GAAa,SAATx1C,EACT6mB,EAAQ,IAAI4uB,MACP,IAAa,WAATz1C,EAGT,MAAM,IAAIpC,MAAM,iBAAmBoC,GAFnC6mB,EAAQ,IAAI6uB,CAGd,CAGA,OAFAX,EAAO/0C,GAAQ6mB,EAERA,CACT,EAiBAmtB,EAAIp1C,UAAU81C,SAAW,SAAmB9+B,GAC1CzC,EAAsB,IAAfyC,EAAEstB,SAAgB,iCACzB/vB,EAAOyC,EAAEgD,IAAK,kCAChB,EAEAo7B,EAAIp1C,UAAU41C,SAAW,SAAmB5+B,EAAGC,GAC7C1C,IAAQyC,EAAEstB,SAAWrtB,EAAEqtB,UAAiB,iCACxC/vB,EAAOyC,EAAEgD,KAAOhD,EAAEgD,MAAQ/C,EAAE+C,IAC1B,kCACJ,EAEAo7B,EAAIp1C,UAAUi3C,KAAO,SAAejgC,GAClC,OAAIlY,KAAKmpB,MAAcnpB,KAAKmpB,MAAMmvB,QAAQpgC,GAAGs+B,UAAUx2C,MAChDkY,EAAEo8B,KAAKt0C,KAAKmX,GAAGq/B,UAAUx2C,KAClC,EAEAs2C,EAAIp1C,UAAUmoC,IAAM,SAAcnxB,GAChC,OAAIA,EAAE0vB,SACG1vB,EAAE2F,QAGJ7d,KAAKmX,EAAEszB,IAAIvyB,GAAGs+B,UAAUx2C,KACjC,EAEAs2C,EAAIp1C,UAAUmc,IAAM,SAAcnF,EAAGC,GACnCnY,KAAK82C,SAAS5+B,EAAGC,GAEjB,IAAIzU,EAAMwU,EAAEmF,IAAIlF,GAIhB,OAHIzU,EAAI2Y,IAAIrc,KAAKmX,IAAM,GACrBzT,EAAI8mC,KAAKxqC,KAAKmX,GAETzT,EAAI8yC,UAAUx2C,KACvB,EAEAs2C,EAAIp1C,UAAUqpC,KAAO,SAAeryB,EAAGC,GACrCnY,KAAK82C,SAAS5+B,EAAGC,GAEjB,IAAIzU,EAAMwU,EAAEqyB,KAAKpyB,GAIjB,OAHIzU,EAAI2Y,IAAIrc,KAAKmX,IAAM,GACrBzT,EAAI8mC,KAAKxqC,KAAKmX,GAETzT,CACT,EAEA4yC,EAAIp1C,UAAUupC,IAAM,SAAcvyB,EAAGC,GACnCnY,KAAK82C,SAAS5+B,EAAGC,GAEjB,IAAIzU,EAAMwU,EAAEuyB,IAAItyB,GAIhB,OAHIzU,EAAIoZ,KAAK,GAAK,GAChBpZ,EAAI6mC,KAAKvqC,KAAKmX,GAETzT,EAAI8yC,UAAUx2C,KACvB,EAEAs2C,EAAIp1C,UAAUspC,KAAO,SAAetyB,EAAGC,GACrCnY,KAAK82C,SAAS5+B,EAAGC,GAEjB,IAAIzU,EAAMwU,EAAEsyB,KAAKryB,GAIjB,OAHIzU,EAAIoZ,KAAK,GAAK,GAChBpZ,EAAI6mC,KAAKvqC,KAAKmX,GAETzT,CACT,EAEA4yC,EAAIp1C,UAAU21C,IAAM,SAAc3+B,EAAGpV,GAEnC,OADA9C,KAAKg3C,SAAS9+B,GACPlY,KAAKm4C,KAAKjgC,EAAEm7B,MAAMvwC,GAC3B,EAEAwzC,EAAIp1C,UAAUutC,KAAO,SAAev2B,EAAGC,GAErC,OADAnY,KAAK82C,SAAS5+B,EAAGC,GACVnY,KAAKm4C,KAAKjgC,EAAEu2B,KAAKt2B,GAC1B,EAEAm+B,EAAIp1C,UAAUwc,IAAM,SAAcxF,EAAGC,GAEnC,OADAnY,KAAK82C,SAAS5+B,EAAGC,GACVnY,KAAKm4C,KAAKjgC,EAAEwF,IAAIvF,GACzB,EAEAm+B,EAAIp1C,UAAUwxC,KAAO,SAAex6B,GAClC,OAAOlY,KAAKyuC,KAAKv2B,EAAGA,EAAE2F,QACxB,EAEAy4B,EAAIp1C,UAAUuxC,IAAM,SAAcv6B,GAChC,OAAOlY,KAAK0d,IAAIxF,EAAGA,EACrB,EAEAo+B,EAAIp1C,UAAUg2C,KAAO,SAAeh/B,GAClC,GAAIA,EAAE0vB,SAAU,OAAO1vB,EAAE2F,QAEzB,IAAI86B,EAAO34C,KAAKmX,EAAE6G,MAAM,GAIxB,GAHAvI,EAAOkjC,EAAO,GAAM,GAGP,IAATA,EAAY,CACd,IAAI/gC,EAAM5X,KAAKmX,EAAEkG,IAAI,IAAI9H,EAAG,IAAIwI,OAAO,GACvC,OAAO/d,KAAK4X,IAAIM,EAAGN,EACrB,CAOA,IAFA,IAAIywB,EAAIroC,KAAKmX,EAAEy8B,KAAK,GAChBn8B,EAAI,GACA4wB,EAAET,UAA2B,IAAfS,EAAErqB,MAAM,IAC5BvG,IACA4wB,EAAEtqB,OAAO,GAEXtI,GAAQ4yB,EAAET,UAEV,IAAIhsB,EAAM,IAAIrG,EAAG,GAAG0F,MAAMjb,MACtB44C,EAAOh9B,EAAIu7B,SAIX0B,EAAO74C,KAAKmX,EAAEy8B,KAAK,GAAG71B,OAAO,GAC7BrC,EAAI1b,KAAKmX,EAAEsxB,YAGf,IAFA/sB,EAAI,IAAInG,EAAG,EAAImG,EAAIA,GAAGT,MAAMjb,MAEW,IAAhCA,KAAK4X,IAAI8D,EAAGm9B,GAAMx8B,IAAIu8B,IAC3Bl9B,EAAEi7B,QAAQiC,GAOZ,IAJA,IAAIjnC,EAAI3R,KAAK4X,IAAI8D,EAAG2sB,GAChBvC,EAAI9lC,KAAK4X,IAAIM,EAAGmwB,EAAEsL,KAAK,GAAG51B,OAAO,IACjCH,EAAI5d,KAAK4X,IAAIM,EAAGmwB,GAChBlxB,EAAIM,EACc,IAAfmG,EAAEvB,IAAIT,IAAY,CAEvB,IADA,IAAI+7B,EAAM/5B,EACDzZ,EAAI,EAAoB,IAAjBwzC,EAAIt7B,IAAIT,GAAYzX,IAClCwzC,EAAMA,EAAIz7B,SAEZzG,EAAOtR,EAAIgT,GACX,IAAIgB,EAAInY,KAAK4X,IAAIjG,EAAG,IAAI4D,EAAG,GAAGq9B,OAAOz7B,EAAIhT,EAAI,IAE7C2hC,EAAIA,EAAExqB,OAAOnD,GACbxG,EAAIwG,EAAE+D,SACN0B,EAAIA,EAAEtC,OAAO3J,GACbwF,EAAIhT,CACN,CAEA,OAAO2hC,CACT,EAEAwQ,EAAIp1C,UAAUw0C,KAAO,SAAex9B,GAClC,IAAI4gC,EAAM5gC,EAAEs9B,OAAOx1C,KAAKmX,GACxB,OAAqB,IAAjB2hC,EAAItT,UACNsT,EAAItT,SAAW,EACRxlC,KAAKm4C,KAAKW,GAAK3B,UAEfn3C,KAAKm4C,KAAKW,EAErB,EAEAxC,EAAIp1C,UAAU0W,IAAM,SAAcM,EAAGpV,GACnC,GAAIA,EAAI8kC,SAAU,OAAO,IAAIryB,EAAG,GAAG0F,MAAMjb,MACzC,GAAoB,IAAhB8C,EAAIga,KAAK,GAAU,OAAO5E,EAAE2F,QAEhC,IACIk7B,EAAM,IAAI7zC,MAAM,IACpB6zC,EAAI,GAAK,IAAIxjC,EAAG,GAAG0F,MAAMjb,MACzB+4C,EAAI,GAAK7gC,EACT,IAAK,IAAI/T,EAAI,EAAGA,EAAI40C,EAAI/0C,OAAQG,IAC9B40C,EAAI50C,GAAKnE,KAAK0d,IAAIq7B,EAAI50C,EAAI,GAAI+T,GAGhC,IAAIxU,EAAMq1C,EAAI,GACVC,EAAU,EACVC,EAAa,EACbjvC,EAAQlH,EAAI2lC,YAAc,GAK9B,IAJc,IAAVz+B,IACFA,EAAQ,IAGL7F,EAAIrB,EAAIkB,OAAS,EAAGG,GAAK,EAAGA,IAAK,CAEpC,IADA,IAAIyiC,EAAO9jC,EAAI2iC,MAAMthC,GACZC,EAAI4F,EAAQ,EAAG5F,GAAK,EAAGA,IAAK,CACnC,IAAIimC,EAAOzD,GAAQxiC,EAAK,EACpBV,IAAQq1C,EAAI,KACdr1C,EAAM1D,KAAKyyC,IAAI/uC,IAGL,IAAR2mC,GAAyB,IAAZ2O,GAKjBA,IAAY,EACZA,GAAW3O,GA9BE,MA+Bb4O,GACwC,IAAN90C,GAAiB,IAANC,KAE7CV,EAAM1D,KAAK0d,IAAIha,EAAKq1C,EAAIC,IACxBC,EAAa,EACbD,EAAU,IAXRC,EAAa,CAYjB,CACAjvC,EAAQ,EACV,CAEA,OAAOtG,CACT,EAEA4yC,EAAIp1C,UAAUq1C,UAAY,SAAoBzzC,GAC5C,IAAIgjC,EAAIhjC,EAAIwxC,KAAKt0C,KAAKmX,GAEtB,OAAO2uB,IAAMhjC,EAAMgjC,EAAEjoB,QAAUioB,CACjC,EAEAwQ,EAAIp1C,UAAUu1C,YAAc,SAAsB3zC,GAChD,IAAIY,EAAMZ,EAAI+a,QAEd,OADAna,EAAIwX,IAAM,KACHxX,CACT,EAMA6R,EAAGyT,KAAO,SAAelmB,GACvB,OAAO,IAAIo1C,EAAKp1C,EAClB,EAkBAtD,EAAS04C,EAAM5B,GAEf4B,EAAKh3C,UAAUq1C,UAAY,SAAoBzzC,GAC7C,OAAO9C,KAAKm4C,KAAKr1C,EAAIuwC,MAAMrzC,KAAKsR,OAClC,EAEA4mC,EAAKh3C,UAAUu1C,YAAc,SAAsB3zC,GACjD,IAAIgjC,EAAI9lC,KAAKm4C,KAAKr1C,EAAI4a,IAAI1d,KAAKo4C,OAE/B,OADAtS,EAAE5qB,IAAM,KACD4qB,CACT,EAEAoS,EAAKh3C,UAAUutC,KAAO,SAAev2B,EAAGC,GACtC,GAAID,EAAE0vB,UAAYzvB,EAAEyvB,SAGlB,OAFA1vB,EAAEutB,MAAM,GAAK,EACbvtB,EAAElU,OAAS,EACJkU,EAGT,IAAI0F,EAAI1F,EAAEu2B,KAAKt2B,GACXxG,EAAIiM,EAAE61B,MAAMzzC,KAAKsR,OAAOoM,IAAI1d,KAAKq4C,MAAM7E,OAAOxzC,KAAKsR,OAAOoM,IAAI1d,KAAKmX,GACnE+hC,EAAIt7B,EAAE4sB,KAAK74B,GAAGoM,OAAO/d,KAAKsR,OAC1B5N,EAAMw1C,EAQV,OANIA,EAAE78B,IAAIrc,KAAKmX,IAAM,EACnBzT,EAAMw1C,EAAE1O,KAAKxqC,KAAKmX,GACT+hC,EAAEp8B,KAAK,GAAK,IACrBpZ,EAAMw1C,EAAE3O,KAAKvqC,KAAKmX,IAGbzT,EAAI8yC,UAAUx2C,KACvB,EAEAk4C,EAAKh3C,UAAUwc,IAAM,SAAcxF,EAAGC,GACpC,GAAID,EAAE0vB,UAAYzvB,EAAEyvB,SAAU,OAAO,IAAIryB,EAAG,GAAGihC,UAAUx2C,MAEzD,IAAI4d,EAAI1F,EAAEwF,IAAIvF,GACVxG,EAAIiM,EAAE61B,MAAMzzC,KAAKsR,OAAOoM,IAAI1d,KAAKq4C,MAAM7E,OAAOxzC,KAAKsR,OAAOoM,IAAI1d,KAAKmX,GACnE+hC,EAAIt7B,EAAE4sB,KAAK74B,GAAGoM,OAAO/d,KAAKsR,OAC1B5N,EAAMw1C,EAOV,OANIA,EAAE78B,IAAIrc,KAAKmX,IAAM,EACnBzT,EAAMw1C,EAAE1O,KAAKxqC,KAAKmX,GACT+hC,EAAEp8B,KAAK,GAAK,IACrBpZ,EAAMw1C,EAAE3O,KAAKvqC,KAAKmX,IAGbzT,EAAI8yC,UAAUx2C,KACvB,EAEAk4C,EAAKh3C,UAAUw0C,KAAO,SAAex9B,GAGnC,OADUlY,KAAKm4C,KAAKjgC,EAAEs9B,OAAOx1C,KAAKmX,GAAGuG,IAAI1d,KAAK00C,KACnC8B,UAAUx2C,KACvB,CACD,CAr3GD,C,WAq3G4CA,K,iBCr3G5C,IAAI8B,EAAUD,EAAOC,QAAU,SAAcjC,GAC3CA,EAAYA,EAAUoB,cAEtB,IAAIm5D,EAAYt4D,EAAQjC,GACxB,IAAKu6D,EAAW,MAAM,IAAIl6D,MAAML,EAAY,+CAE5C,OAAO,IAAIu6D,CACb,EAEAt4D,EAAQu4D,IAAM,EAAQ,MACtBv4D,EAAQw1B,KAAO,EAAQ,MACvBx1B,EAAQy1B,OAAS,EAAQ,MACzBz1B,EAAQsnB,OAAS,EAAQ,MACzBtnB,EAAQwnB,OAAS,EAAQ,MACzBxnB,EAAQynB,OAAS,EAAQ,K,iBCZzB,IAAI9T,EAAS,EAAQ,MAErB,SAASzK,EAAO6B,GACd7M,KAAK6M,QAAUA,EAEf7M,KAAK+J,KAAO/J,KAAK6M,QAAQ9C,KACzB/J,KAAKse,UAAY,EACjBte,KAAKyC,QAELzC,KAAKwN,OAAS,IAAItI,MAAMlF,KAAKse,WAC7Bte,KAAKs6D,UAAY,EACjBt6D,KAAKynC,SAA8B,IAApB56B,EAAQ46B,OACzB,CACA5lC,EAAOC,QAAUkJ,EAEjBA,EAAO9J,UAAUuB,MAAQ,WAEzB,EAEAuI,EAAO9J,UAAUI,OAAS,SAAgBrB,GACxC,OAAoB,IAAhBA,EAAK+D,OACA,GAES,YAAdhE,KAAK+J,KACA/J,KAAKu6D,eAAet6D,GAEpBD,KAAKw6D,eAAev6D,EAC/B,EAEA+K,EAAO9J,UAAUu5D,QAAU,SAAiBx6D,EAAM44B,GAGhD,IADA,IAAIzgB,EAAM9K,KAAK8K,IAAIpY,KAAKwN,OAAOxJ,OAAShE,KAAKs6D,UAAWr6D,EAAK+D,OAAS60B,GAC7D10B,EAAI,EAAGA,EAAIiU,EAAKjU,IACvBnE,KAAKwN,OAAOxN,KAAKs6D,UAAYn2D,GAAKlE,EAAK44B,EAAM10B,GAI/C,OAHAnE,KAAKs6D,WAAaliD,EAGXA,CACT,EAEApN,EAAO9J,UAAUw5D,aAAe,SAAsB9zD,EAAKiyB,GAGzD,OAFA74B,KAAKgf,QAAQhf,KAAKwN,OAAQ,EAAG5G,EAAKiyB,GAClC74B,KAAKs6D,UAAY,EACVt6D,KAAKse,SACd,EAEAtT,EAAO9J,UAAUs5D,eAAiB,SAAwBv6D,GACxD,IAAI06D,EAAW,EACXC,EAAY,EAEZC,GAAU76D,KAAKs6D,UAAYr6D,EAAK+D,QAAUhE,KAAKse,UAAa,EAC5D1X,EAAM,IAAI1B,MAAM21D,EAAQ76D,KAAKse,WAEV,IAAnBte,KAAKs6D,YACPK,GAAY36D,KAAKy6D,QAAQx6D,EAAM06D,GAE3B36D,KAAKs6D,YAAct6D,KAAKwN,OAAOxJ,SACjC42D,GAAa56D,KAAK06D,aAAa9zD,EAAKg0D,KAKxC,IADA,IAAI16C,EAAMjgB,EAAK+D,QAAW/D,EAAK+D,OAAS22D,GAAY36D,KAAKse,UAClDq8C,EAAWz6C,EAAKy6C,GAAY36D,KAAKse,UACtCte,KAAKgf,QAAQ/e,EAAM06D,EAAU/zD,EAAKg0D,GAClCA,GAAa56D,KAAKse,UAIpB,KAAOq8C,EAAW16D,EAAK+D,OAAQ22D,IAAY36D,KAAKs6D,YAC9Ct6D,KAAKwN,OAAOxN,KAAKs6D,WAAar6D,EAAK06D,GAErC,OAAO/zD,CACT,EAEAoE,EAAO9J,UAAUq5D,eAAiB,SAAwBt6D,GAQxD,IAPA,IAAI06D,EAAW,EACXC,EAAY,EAEZC,EAAQvtD,KAAK8qB,MAAMp4B,KAAKs6D,UAAYr6D,EAAK+D,QAAUhE,KAAKse,WAAa,EACrE1X,EAAM,IAAI1B,MAAM21D,EAAQ76D,KAAKse,WAG1Bu8C,EAAQ,EAAGA,IAChBF,GAAY36D,KAAKy6D,QAAQx6D,EAAM06D,GAC/BC,GAAa56D,KAAK06D,aAAa9zD,EAAKg0D,GAMtC,OAFAD,GAAY36D,KAAKy6D,QAAQx6D,EAAM06D,GAExB/zD,CACT,EAEAoE,EAAO9J,UAAUqxD,MAAQ,SAAe/kD,GACtC,IAAIoX,EAIAC,EAMJ,OATIrX,IACFoX,EAAQ5kB,KAAKsB,OAAOkM,IAIpBqX,EADgB,YAAd7kB,KAAK+J,KACA/J,KAAK86D,gBAEL96D,KAAK+6D,gBAEVn2C,EACKA,EAAMlZ,OAAOmZ,GAEbA,CACX,EAEA7Z,EAAO9J,UAAU4tD,KAAO,SAActhD,EAAQqrB,GAC5C,GAAY,IAARA,EACF,OAAO,EAET,KAAOA,EAAMrrB,EAAOxJ,QAClBwJ,EAAOqrB,KAAS,EAElB,OAAO,CACT,EAEA7tB,EAAO9J,UAAU45D,cAAgB,WAC/B,IAAK96D,KAAK8uD,KAAK9uD,KAAKwN,OAAQxN,KAAKs6D,WAC/B,MAAO,GAET,IAAI1zD,EAAM,IAAI1B,MAAMlF,KAAKse,WAEzB,OADAte,KAAKgf,QAAQhf,KAAKwN,OAAQ,EAAG5G,EAAK,GAC3BA,CACT,EAEAoE,EAAO9J,UAAU6tD,OAAS,SAAgBvhD,GACxC,OAAOA,CACT,EAEAxC,EAAO9J,UAAU65D,cAAgB,WAC/BtlD,EAAOqrB,MAAM9gC,KAAKs6D,UAAWt6D,KAAKse,UAAW,8BAC7C,IAAI1X,EAAM,IAAI1B,MAAMlF,KAAKse,WAGzB,OAFAte,KAAK06D,aAAa9zD,EAAK,GAEhB5G,KAAK+uD,OAAOnoD,EACrB,C,iBC7IA,IAAIpH,EAAW,EAAQ,MACnB8qD,EAAS,EAAQ,MACjBjsC,EAAO,EAAQ,KACfhf,EAAS,eAETiyD,EAAI,IAAIpsD,MAAM,KAElB,SAAS81D,IACPh7D,KAAK06B,OACL16B,KAAKi7D,GAAK3J,EAEVjzC,EAAKte,KAAKC,KAAM,IAAK,IACvB,CAEAR,EAASw7D,EAAQ1Q,GAEjB0Q,EAAO95D,UAAUw5B,KAAO,WAmBtB,OAlBA16B,KAAKk7D,IAAM,WACXl7D,KAAKm7D,IAAM,WACXn7D,KAAKo7D,IAAM,WACXp7D,KAAKq7D,IAAM,UACXr7D,KAAKs7D,IAAM,WACXt7D,KAAKu7D,IAAM,WACXv7D,KAAKw7D,IAAM,WACXx7D,KAAKy7D,IAAM,WAEXz7D,KAAK07D,IAAM,WACX17D,KAAK27D,IAAM,UACX37D,KAAK47D,IAAM,UACX57D,KAAK67D,IAAM,WACX77D,KAAK87D,IAAM,WACX97D,KAAK+7D,IAAM,WACX/7D,KAAKg8D,IAAM,WACXh8D,KAAKi8D,IAAM,WAEJj8D,IACT,EAEAg7D,EAAO95D,UAAUb,MAAQ,WACvB,IAAI67D,EAAI78D,EAAO2S,YAAY,IAE3B,SAASmqD,EAAc3yC,EAAGjX,EAAG5M,GAC3Bu2D,EAAEE,aAAa5yC,EAAG7jB,GAClBu2D,EAAEE,aAAa7pD,EAAG5M,EAAS,EAC7B,CASA,OAPAw2D,EAAan8D,KAAKk7D,IAAKl7D,KAAK07D,IAAK,GACjCS,EAAan8D,KAAKm7D,IAAKn7D,KAAK27D,IAAK,GACjCQ,EAAan8D,KAAKo7D,IAAKp7D,KAAK47D,IAAK,IACjCO,EAAan8D,KAAKq7D,IAAKr7D,KAAK67D,IAAK,IACjCM,EAAan8D,KAAKs7D,IAAKt7D,KAAK87D,IAAK,IACjCK,EAAan8D,KAAKu7D,IAAKv7D,KAAK+7D,IAAK,IAE1BG,CACT,EAEAr6D,EAAOC,QAAUk5D,C,iBCxDjB,IAAIqB,EAAWv6D,EAEfu6D,EAASn6D,IAAM,EAAQ,MACvBm6D,EAASC,IAAM,EAAQ,K,iBCDvB,IAAI9uD,EAAS,EAAQ,MACjBnO,EAASmO,EAAOnO,OAGpB,SAASk9D,EAAWzpD,EAAK0pD,GACvB,IAAK,IAAIz7D,KAAO+R,EACd0pD,EAAIz7D,GAAO+R,EAAI/R,EAEnB,CASA,SAAS07D,EAAYtyD,EAAKuyD,EAAkB14D,GAC1C,OAAO3E,EAAO8K,EAAKuyD,EAAkB14D,EACvC,CAVI3E,EAAO2B,MAAQ3B,EAAOqb,OAASrb,EAAO2S,aAAe3S,EAAOs9D,gBAC9D96D,EAAOC,QAAU0L,GAGjB+uD,EAAU/uD,EAAQ1L,GAClBA,EAAQzC,OAASo9D,GAOnBA,EAAWv7D,UAAYN,OAAOyL,OAAOhN,EAAO6B,WAG5Cq7D,EAAUl9D,EAAQo9D,GAElBA,EAAWz7D,KAAO,SAAUmJ,EAAKuyD,EAAkB14D,GACjD,GAAmB,iBAARmG,EACT,MAAM,IAAIf,UAAU,iCAEtB,OAAO/J,EAAO8K,EAAKuyD,EAAkB14D,EACvC,EAEAy4D,EAAW/hD,MAAQ,SAAUlV,EAAM0Z,EAAMzQ,GACvC,GAAoB,iBAATjJ,EACT,MAAM,IAAI4D,UAAU,6BAEtB,IAAI5E,EAAMnF,EAAOmG,GAUjB,YATa+B,IAAT2X,EACsB,iBAAbzQ,EACTjK,EAAI0a,KAAKA,EAAMzQ,GAEfjK,EAAI0a,KAAKA,GAGX1a,EAAI0a,KAAK,GAEJ1a,CACT,EAEAi4D,EAAWzqD,YAAc,SAAUxM,GACjC,GAAoB,iBAATA,EACT,MAAM,IAAI4D,UAAU,6BAEtB,OAAO/J,EAAOmG,EAChB,EAEAi3D,EAAWE,gBAAkB,SAAUn3D,GACrC,GAAoB,iBAATA,EACT,MAAM,IAAI4D,UAAU,6BAEtB,OAAOoE,EAAOovD,WAAWp3D,EAC3B,C,WC6DA,SAASq3D,EAAczpC,EAAOze,GAC5B,MAAO,CACL3K,MAAOopB,EAAMppB,MACbxI,IAAK4xB,EAAM5xB,IACXmT,MAAOA,EAEX,CAOA,SAASmoD,EAAiB1pC,GACxB,MAAO,CACLppB,MAAOopB,EAAMppB,MACbxI,IAAK4xB,EAAM5xB,IAEf,CAOA,SAASu7D,EAAkB7kD,EAAGC,GAC5B,OAAOD,EAAEvD,MAAQwD,EAAExD,KACrB,CAOA,SAASqoD,EAAkB9kD,EAAGC,GAC5B,OAAOD,EAAElO,MAAQmO,EAAEnO,KACrB,CAnJAnI,EAAOC,QAYP,SAAsB0D,EAAMlB,EAAKuI,GAC/B,GAAmB,iBAARvI,EACT,MAAM,IAAI8E,UAAU,iCAGtB,IAAIuL,EAAQrQ,EAAI2F,QAAQ,KAExB,IAAe,IAAX0K,EACF,OAAQ,EAIV,IAAIioC,EAAMt4C,EAAIc,MAAMuP,EAAQ,GAAG1P,MAAM,KACjCg4D,EAAS,GAGbA,EAAOlzD,KAAOzF,EAAIc,MAAM,EAAGuP,GAG3B,IAAK,IAAIxQ,EAAI,EAAGA,EAAIy4C,EAAI54C,OAAQG,IAAK,CACnC,IAAIivB,EAAQwpB,EAAIz4C,GAAGc,MAAM,KACrB+E,EAAQwI,SAAS4gB,EAAM,GAAI,IAC3B5xB,EAAMgR,SAAS4gB,EAAM,GAAI,IAGzBrb,MAAM/N,IACRA,EAAQxE,EAAOhE,EACfA,EAAMgE,EAAO,GAEJuS,MAAMvW,KACfA,EAAMgE,EAAO,GAIXhE,EAAMgE,EAAO,IACfhE,EAAMgE,EAAO,GAIXuS,MAAM/N,IAAU+N,MAAMvW,IAAQwI,EAAQxI,GAAOwI,EAAQ,GAKzDizD,EAAO5tD,KAAK,CACVrF,MAAOA,EACPxI,IAAKA,GAET,CAEA,GAAIy7D,EAAOj5D,OAAS,EAElB,OAAQ,EAGV,OAAO6I,GAAWA,EAAQyoD,QAU5B,SAAwB2H,GAGtB,IAFA,IAAIC,EAAUD,EAAO/zD,IAAI2zD,GAAct+B,KAAKy+B,GAEnC54D,EAAI,EAAGD,EAAI,EAAGA,EAAI+4D,EAAQl5D,OAAQG,IAAK,CAC9C,IAAIivB,EAAQ8pC,EAAQ/4D,GAChB60C,EAAUkkB,EAAQ94D,GAElBgvB,EAAMppB,MAAQgvC,EAAQx3C,IAAM,EAE9B07D,IAAU94D,GAAKgvB,EACNA,EAAM5xB,IAAMw3C,EAAQx3C,MAE7Bw3C,EAAQx3C,IAAM4xB,EAAM5xB,IACpBw3C,EAAQrkC,MAAQrH,KAAK8K,IAAI4gC,EAAQrkC,MAAOye,EAAMze,OAElD,CAGAuoD,EAAQl5D,OAASI,EAAI,EAGrB,IAAI+4D,EAAWD,EAAQ3+B,KAAKw+B,GAAkB7zD,IAAI4zD,GAKlD,OAFAK,EAASpzD,KAAOkzD,EAAOlzD,KAEhBozD,CACT,CApCMC,CAAcH,GACdA,CACN,C,iBCpFA,IAAIjzB,EAAM,EAAQ,KAElBloC,EAAQo1B,QAAU,SAAUhrB,EAAM0S,GAChC,IAAI3e,EAAO+pC,EAAIprB,EAAO1S,EAAK2qB,OAG3B,OADA3qB,EAAK2qB,MAAQ3qB,EAAK0qB,QAAQrO,aAAatoB,GAChCiM,EAAK2qB,KACd,EAEA/0B,EAAQgJ,QAAU,SAAUoB,EAAM0S,GAChC,IAAIoQ,EAAM9iB,EAAK2qB,MAEf3qB,EAAK2qB,MAAQjY,EACb,IAAIhY,EAAMsF,EAAK0qB,QAAQpO,aAAa5J,GAEpC,OAAOorB,EAAIpjC,EAAKooB,EAClB,C,iBChBA,IAAIxvB,EAAW,EAAQ,MACnB6e,EAAO,EAAQ,KACfhf,EAAS,eAET02D,EAAI,CACN,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,UAAY,WAAY,UAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,UAAY,UACpC,UAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,UACpC,UAAY,WAAY,UAAY,WACpC,UAAY,WAAY,UAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,UAAY,WACpC,UAAY,WAAY,UAAY,UACpC,UAAY,UAAY,UAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,YAGlCzE,EAAI,IAAIpsD,MAAM,KAElB,SAASm4D,IACPr9D,KAAK06B,OACL16B,KAAKi7D,GAAK3J,EAEVjzC,EAAKte,KAAKC,KAAM,IAAK,IACvB,CA0BA,SAASs9D,EAAIhrD,EAAGy9B,EAAGr0B,GACjB,OAAOA,EAAKpJ,GAAKy9B,EAAIr0B,EACvB,CAEA,SAAS6hD,EAAKjrD,EAAGy9B,EAAGr0B,GAClB,OAAQpJ,EAAIy9B,EAAMr0B,GAAKpJ,EAAIy9B,EAC7B,CAEA,SAASytB,EAAQlrD,EAAGmrD,GAClB,OAAQnrD,IAAM,GAAKmrD,GAAM,IAAMA,IAAO,EAAInrD,GAAK,KAAOmrD,IAAO,EAAInrD,GAAK,GACxE,CAEA,SAASorD,EAAQprD,EAAGmrD,GAClB,OAAQnrD,IAAM,GAAKmrD,GAAM,KAAOnrD,IAAM,GAAKmrD,GAAM,KAAOA,IAAO,EAAInrD,GAAK,GAC1E,CAEA,SAASqrD,EAAQrrD,EAAGmrD,GAClB,OAAQnrD,IAAM,EAAImrD,GAAM,KAAOnrD,IAAM,EAAImrD,GAAM,IAAOnrD,IAAM,CAC9D,CAEA,SAASsrD,EAAStrD,EAAGmrD,GACnB,OAAQnrD,IAAM,EAAImrD,GAAM,KAAOnrD,IAAM,EAAImrD,GAAM,KAAOnrD,IAAM,EAAImrD,GAAM,GACxE,CAEA,SAASI,EAAQvrD,EAAGmrD,GAClB,OAAQnrD,IAAM,GAAKmrD,GAAM,KAAOA,IAAO,GAAKnrD,GAAK,GAAMA,IAAM,CAC/D,CAEA,SAASwrD,EAASxrD,EAAGmrD,GACnB,OAAQnrD,IAAM,GAAKmrD,GAAM,KAAOA,IAAO,GAAKnrD,GAAK,IAAMA,IAAM,EAAImrD,GAAM,GACzE,CAEA,SAASM,EAAU7lD,EAAGC,GACpB,OAAQD,IAAM,EAAMC,IAAM,EAAK,EAAI,CACrC,CA1DA3Y,EAAS69D,EAAQh/C,GAEjBg/C,EAAOn8D,UAAUw5B,KAAO,WAmBtB,OAlBA16B,KAAKk7D,IAAM,WACXl7D,KAAKm7D,IAAM,WACXn7D,KAAKo7D,IAAM,WACXp7D,KAAKq7D,IAAM,WACXr7D,KAAKs7D,IAAM,WACXt7D,KAAKu7D,IAAM,WACXv7D,KAAKw7D,IAAM,UACXx7D,KAAKy7D,IAAM,WAEXz7D,KAAK07D,IAAM,WACX17D,KAAK27D,IAAM,WACX37D,KAAK47D,IAAM,WACX57D,KAAK67D,IAAM,WACX77D,KAAK87D,IAAM,WACX97D,KAAK+7D,IAAM,UACX/7D,KAAKg8D,IAAM,WACXh8D,KAAKi8D,IAAM,UAEJj8D,IACT,EAsCAq9D,EAAOn8D,UAAU8d,QAAU,SAAU+G,GAqBnC,IApBA,IAAIurC,EAAItxD,KAAKi7D,GAET+C,EAAgB,EAAXh+D,KAAKk7D,IACV+C,EAAgB,EAAXj+D,KAAKm7D,IACVpD,EAAgB,EAAX/3D,KAAKo7D,IACVjb,EAAgB,EAAXngD,KAAKq7D,IACV6C,EAAgB,EAAXl+D,KAAKs7D,IACV6C,EAAgB,EAAXn+D,KAAKu7D,IACV6C,EAAgB,EAAXp+D,KAAKw7D,IACV6C,EAAgB,EAAXr+D,KAAKy7D,IAEV6C,EAAgB,EAAXt+D,KAAK07D,IACV6C,EAAgB,EAAXv+D,KAAK27D,IACV6C,EAAgB,EAAXx+D,KAAK47D,IACV6C,EAAgB,EAAXz+D,KAAK67D,IACV6C,EAAgB,EAAX1+D,KAAK87D,IACV6C,EAAgB,EAAX3+D,KAAK+7D,IACV6C,EAAgB,EAAX5+D,KAAKg8D,IACV6C,EAAgB,EAAX7+D,KAAKi8D,IAEL93D,EAAI,EAAGA,EAAI,GAAIA,GAAK,EAC3BmtD,EAAEntD,GAAK4hB,EAAE+4C,YAAgB,EAAJ36D,GACrBmtD,EAAEntD,EAAI,GAAK4hB,EAAE+4C,YAAgB,EAAJ36D,EAAQ,GAEnC,KAAOA,EAAI,IAAKA,GAAK,EAAG,CACtB,IAAI46D,EAAKzN,EAAEntD,EAAI,IACXs5D,EAAKnM,EAAEntD,EAAI,GAAS,GACpB66D,EAASrB,EAAOoB,EAAItB,GACpBwB,EAAUrB,EAAQH,EAAIsB,GAItBG,EAASrB,EAFbkB,EAAKzN,EAAEntD,EAAI,GACXs5D,EAAKnM,EAAEntD,EAAI,EAAQ,IAEfg7D,EAAUrB,EAAQL,EAAIsB,GAGtBK,EAAO9N,EAAEntD,EAAI,IACbk7D,EAAO/N,EAAEntD,EAAI,GAAQ,GAErBm7D,EAAQhO,EAAEntD,EAAI,IACdo7D,EAAQjO,EAAEntD,EAAI,GAAS,GAEvBq7D,EAAOP,EAAUI,EAAQ,EACzBI,EAAOT,EAASI,EAAOrB,EAASyB,EAAKP,GAAY,EAIrDQ,GAFAA,EAAOA,EAAMP,EAASnB,EADtByB,EAAOA,EAAML,EAAW,EACYA,GAAY,GAEnCG,EAAQvB,EADrByB,EAAOA,EAAMD,EAAS,EACaA,GAAU,EAE7CjO,EAAEntD,GAAKs7D,EACPnO,EAAEntD,EAAI,GAAKq7D,CACb,CAEA,IAAK,IAAIp7D,EAAI,EAAGA,EAAI,IAAKA,GAAK,EAAG,CAC/Bq7D,EAAMnO,EAAEltD,GACRo7D,EAAMlO,EAAEltD,EAAI,GAEZ,IAAIs7D,EAAOnC,EAAIS,EAAIC,EAAIlG,GACnB4H,EAAOpC,EAAIe,EAAIC,EAAIC,GAEnBoB,EAAUpC,EAAOQ,EAAIM,GACrBuB,EAAUrC,EAAOc,EAAIN,GACrB8B,EAAUpC,EAAOQ,EAAIQ,GACrBqB,EAAUrC,EAAOgB,EAAIR,GAGrB8B,EAAMjK,EAAE3xD,GACR67D,EAAMlK,EAAE3xD,EAAI,GAEZ87D,EAAM5C,EAAGY,EAAIC,EAAIC,GACjB+B,EAAM7C,EAAGoB,EAAIC,EAAIC,GAEjBwB,EAAOvB,EAAKkB,EAAW,EACvBM,EAAOhC,EAAKyB,EAAU/B,EAASqC,EAAKvB,GAAO,EAM/CwB,GAFAA,GAFAA,EAAOA,EAAMH,EAAMnC,EADnBqC,EAAOA,EAAMD,EAAO,EACaA,GAAQ,GAE5BH,EAAMjC,EADnBqC,EAAOA,EAAMH,EAAO,EACaA,GAAQ,GAE5BR,EAAM1B,EADnBqC,EAAOA,EAAMZ,EAAO,EACaA,GAAQ,EAGzC,IAAIc,GAAOT,EAAUF,EAAQ,EACzBY,GAAOX,EAAUF,EAAO3B,EAASuC,GAAKT,GAAY,EAEtDxB,EAAKD,EACLS,EAAKD,EACLR,EAAKD,EACLS,EAAKD,EACLR,EAAKD,EACLS,EAAKD,EAELR,EAAM/d,EAAKkgB,EAAMtC,EADjBW,EAAMD,EAAK2B,EAAO,EACY3B,GAAO,EACrCte,EAAK4X,EACL0G,EAAKD,EACLzG,EAAKkG,EACLO,EAAKD,EACLN,EAAKD,EACLO,EAAKD,EAELN,EAAMqC,EAAME,GAAMxC,EADlBO,EAAM8B,EAAME,GAAO,EACYF,GAAQ,CACzC,CAEApgE,KAAK07D,IAAO17D,KAAK07D,IAAM4C,EAAM,EAC7Bt+D,KAAK27D,IAAO37D,KAAK27D,IAAM4C,EAAM,EAC7Bv+D,KAAK47D,IAAO57D,KAAK47D,IAAM4C,EAAM,EAC7Bx+D,KAAK67D,IAAO77D,KAAK67D,IAAM4C,EAAM,EAC7Bz+D,KAAK87D,IAAO97D,KAAK87D,IAAM4C,EAAM,EAC7B1+D,KAAK+7D,IAAO/7D,KAAK+7D,IAAM4C,EAAM,EAC7B3+D,KAAKg8D,IAAOh8D,KAAKg8D,IAAM4C,EAAM,EAC7B5+D,KAAKi8D,IAAOj8D,KAAKi8D,IAAM4C,EAAM,EAE7B7+D,KAAKk7D,IAAOl7D,KAAKk7D,IAAM8C,EAAKD,EAAS/9D,KAAK07D,IAAK4C,GAAO,EACtDt+D,KAAKm7D,IAAOn7D,KAAKm7D,IAAM8C,EAAKF,EAAS/9D,KAAK27D,IAAK4C,GAAO,EACtDv+D,KAAKo7D,IAAOp7D,KAAKo7D,IAAMrD,EAAKgG,EAAS/9D,KAAK47D,IAAK4C,GAAO,EACtDx+D,KAAKq7D,IAAOr7D,KAAKq7D,IAAMlb,EAAK4d,EAAS/9D,KAAK67D,IAAK4C,GAAO,EACtDz+D,KAAKs7D,IAAOt7D,KAAKs7D,IAAM4C,EAAKH,EAAS/9D,KAAK87D,IAAK4C,GAAO,EACtD1+D,KAAKu7D,IAAOv7D,KAAKu7D,IAAM4C,EAAKJ,EAAS/9D,KAAK+7D,IAAK4C,GAAO,EACtD3+D,KAAKw7D,IAAOx7D,KAAKw7D,IAAM4C,EAAKL,EAAS/9D,KAAKg8D,IAAK4C,GAAO,EACtD5+D,KAAKy7D,IAAOz7D,KAAKy7D,IAAM4C,EAAKN,EAAS/9D,KAAKi8D,IAAK4C,GAAO,CACxD,EAEAxB,EAAOn8D,UAAUb,MAAQ,WACvB,IAAI67D,EAAI78D,EAAO2S,YAAY,IAE3B,SAASmqD,EAAc3yC,EAAGjX,EAAG5M,GAC3Bu2D,EAAEE,aAAa5yC,EAAG7jB,GAClBu2D,EAAEE,aAAa7pD,EAAG5M,EAAS,EAC7B,CAWA,OATAw2D,EAAan8D,KAAKk7D,IAAKl7D,KAAK07D,IAAK,GACjCS,EAAan8D,KAAKm7D,IAAKn7D,KAAK27D,IAAK,GACjCQ,EAAan8D,KAAKo7D,IAAKp7D,KAAK47D,IAAK,IACjCO,EAAan8D,KAAKq7D,IAAKr7D,KAAK67D,IAAK,IACjCM,EAAan8D,KAAKs7D,IAAKt7D,KAAK87D,IAAK,IACjCK,EAAan8D,KAAKu7D,IAAKv7D,KAAK+7D,IAAK,IACjCI,EAAan8D,KAAKw7D,IAAKx7D,KAAKg8D,IAAK,IACjCG,EAAan8D,KAAKy7D,IAAKz7D,KAAKi8D,IAAK,IAE1BC,CACT,EAEAr6D,EAAOC,QAAUu7D,C,unECjQbmD,E,SACJ,SAASvnD,EAAgBhS,EAAKlG,EAAKgG,GAA4L,OAAnLhG,EAC5C,SAAwBoJ,GAAO,IAAIpJ,EACnC,SAAsB2Y,EAAOC,GAAQ,GAAqB,iBAAVD,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAIE,EAAOF,EAAMG,OAAOC,aAAc,QAAavS,IAATqS,EAAoB,CAAE,IAAIlW,EAAMkW,EAAK7Z,KAAK2Z,EAAOC,GAAQ,WAAY,GAAmB,iBAARjW,EAAkB,OAAOA,EAAK,MAAM,IAAI0F,UAAU,+CAAiD,CAAE,OAAiB,WAATuQ,EAAoBxQ,OAAS4Q,QAAQL,EAAQ,CAD/UM,CAAa7P,EAAK,UAAW,MAAsB,iBAARpJ,EAAmBA,EAAMoI,OAAOpI,EAAM,CADxEqY,CAAerY,MAAiBkG,EAAOrG,OAAOoP,eAAe/I,EAAKlG,EAAK,CAAEgG,MAAOA,EAAOsO,YAAY,EAAMgE,cAAc,EAAMC,UAAU,IAAkBrS,EAAIlG,GAAOgG,EAAgBE,CAAK,CAG3O,IAAIw5D,EAAW,EAAQ,MACnBC,EAAe7mD,OAAO,eACtB8mD,EAAc9mD,OAAO,cACrB+mD,EAAS/mD,OAAO,SAChBgnD,EAAShnD,OAAO,SAChBinD,EAAejnD,OAAO,eACtBknD,EAAiBlnD,OAAO,iBACxBmnD,EAAUnnD,OAAO,UACrB,SAASonD,EAAiBl6D,EAAO1F,GAC/B,MAAO,CACL0F,MAAOA,EACP1F,KAAMA,EAEV,CACA,SAAS6/D,EAAeC,GACtB,IAAI3U,EAAU2U,EAAKT,GACnB,GAAgB,OAAZlU,EAAkB,CACpB,IAAIvsD,EAAOkhE,EAAKH,GAASpyD,OAIZ,OAAT3O,IACFkhE,EAAKL,GAAgB,KACrBK,EAAKT,GAAgB,KACrBS,EAAKR,GAAe,KACpBnU,EAAQyU,EAAiBhhE,GAAM,IAEnC,CACF,CACA,SAASmhE,EAAWD,GAGlBx5D,EAAQmJ,SAASowD,EAAgBC,EACnC,CAYA,IAAIE,EAAyBzgE,OAAO8O,gBAAe,WAAa,IAC5D4xD,EAAuC1gE,OAAO2gE,gBAmD/CtoD,EAnD+DunD,EAAwB,CACxF,UAAIjhE,GACF,OAAOS,KAAKghE,EACd,EACApvD,KAAM,WACJ,IAAImD,EAAQ/U,KAGR6D,EAAQ7D,KAAK4gE,GACjB,GAAc,OAAV/8D,EACF,OAAOgf,QAAQ2+C,OAAO39D,GAExB,GAAI7D,KAAK6gE,GACP,OAAOh+C,QAAQ2pC,QAAQyU,OAAiB15D,GAAW,IAErD,GAAIvH,KAAKghE,GAAS5yD,UAKhB,OAAO,IAAIyU,SAAQ,SAAU2pC,EAASgV,GACpC75D,EAAQmJ,UAAS,WACXiE,EAAM6rD,GACRY,EAAOzsD,EAAM6rD,IAEbpU,EAAQyU,OAAiB15D,GAAW,GAExC,GACF,IAOF,IACIk6D,EADAC,EAAc1hE,KAAK8gE,GAEvB,GAAIY,EACFD,EAAU,IAAI5+C,QAlDpB,SAAqB6+C,EAAaP,GAChC,OAAO,SAAU3U,EAASgV,GACxBE,EAAYC,MAAK,WACXR,EAAKN,GACPrU,EAAQyU,OAAiB15D,GAAW,IAGtC45D,EAAKJ,GAAgBvU,EAASgV,EAChC,GAAGA,EACL,CACF,CAwC4BI,CAAYF,EAAa1hE,WAC1C,CAGL,IAAIC,EAAOD,KAAKghE,GAASpyD,OACzB,GAAa,OAAT3O,EACF,OAAO4iB,QAAQ2pC,QAAQyU,EAAiBhhE,GAAM,IAEhDwhE,EAAU,IAAI5+C,QAAQ7iB,KAAK+gE,GAC7B,CAEA,OADA/gE,KAAK8gE,GAAgBW,EACdA,CACT,GACwC5nD,OAAOgoD,eAAe,WAC9D,OAAO7hE,IACT,IAAIiZ,EAAgBunD,EAAuB,UAAU,WACnD,IAAIpW,EAASpqD,KAIb,OAAO,IAAI6iB,SAAQ,SAAU2pC,EAASgV,GACpCpX,EAAO4W,GAASlyD,QAAQ,MAAM,SAAUuB,GAClCA,EACFmxD,EAAOnxD,GAGTm8C,EAAQyU,OAAiB15D,GAAW,GACtC,GACF,GACF,IAAIi5D,GAAwBa,GA4D5Bx/D,EAAOC,QA3DiC,SAA2CvC,GACjF,IAAIuiE,EACAtiD,EAAW5e,OAAOyL,OAAOi1D,GAA4DroD,EAArB6oD,EAAiB,CAAC,EAAmCd,EAAS,CAChIj6D,MAAOxH,EACP+Z,UAAU,IACRL,EAAgB6oD,EAAgBpB,EAAc,CAChD35D,MAAO,KACPuS,UAAU,IACRL,EAAgB6oD,EAAgBnB,EAAa,CAC/C55D,MAAO,KACPuS,UAAU,IACRL,EAAgB6oD,EAAgBlB,EAAQ,CAC1C75D,MAAO,KACPuS,UAAU,IACRL,EAAgB6oD,EAAgBjB,EAAQ,CAC1C95D,MAAOxH,EAAOmP,eAAeb,WAC7ByL,UAAU,IACRL,EAAgB6oD,EAAgBf,EAAgB,CAClDh6D,MAAO,SAAeylD,EAASgV,GAC7B,IAAIvhE,EAAOuf,EAASwhD,GAASpyD,OACzB3O,GACFuf,EAASshD,GAAgB,KACzBthD,EAASkhD,GAAgB,KACzBlhD,EAASmhD,GAAe,KACxBnU,EAAQyU,EAAiBhhE,GAAM,MAE/Buf,EAASkhD,GAAgBlU,EACzBhtC,EAASmhD,GAAea,EAE5B,EACAloD,UAAU,IACRwoD,IA0BJ,OAzBAtiD,EAASshD,GAAgB,KACzBL,EAASlhE,GAAQ,SAAU8Q,GACzB,GAAIA,GAAoB,+BAAbA,EAAIjI,KAAuC,CACpD,IAAIo5D,EAAShiD,EAASmhD,GAUtB,OAPe,OAAXa,IACFhiD,EAASshD,GAAgB,KACzBthD,EAASkhD,GAAgB,KACzBlhD,EAASmhD,GAAe,KACxBa,EAAOnxD,SAETmP,EAASohD,GAAUvwD,EAErB,CACA,IAAIm8C,EAAUhtC,EAASkhD,GACP,OAAZlU,IACFhtC,EAASshD,GAAgB,KACzBthD,EAASkhD,GAAgB,KACzBlhD,EAASmhD,GAAe,KACxBnU,EAAQyU,OAAiB15D,GAAW,KAEtCiY,EAASqhD,IAAU,CACrB,IACAthE,EAAO0U,GAAG,WAAYmtD,EAAWhsD,KAAK,KAAMoK,IACrCA,CACT,C,iBC5KA,SAASuiD,EAAYC,GACjB,OAAQA,GAAgB,GAAKjoD,OAAOioD,EAAe,GAAM,EAC7D,C,iBACe,MAAMC,EAEjB,UAAIj+D,GACA,OAAOhE,KAAKwN,OAAOxJ,QAAU,CACjC,CAOA,WAAAwE,CAAYvI,EAAO,EAAG4M,GAClB,MAAMq1D,EAAOr1D,aAAyC,EAASA,EAAQq1D,KACvEliE,KAAKkiE,KAAOA,EACNnoD,OAAO2I,SAASw/C,GACZH,EAAYG,GACZA,EACJ,EACNliE,KAAKwN,OACe,iBAATvN,EAAoB,IAAIkM,WAAW41D,EAAY9hE,IAASA,CACvE,CAOA,GAAAgQ,CAAIkyD,GACA,MAAMC,EAAYD,GAAY,EAC9B,OAAQC,EAAYpiE,KAAKwN,OAAOxJ,WACzBhE,KAAKwN,OAAO40D,GAAc,KAAOD,EAAW,EACvD,CASA,GAAAjyD,CAAIiyD,EAAUp7D,GAAQ,GAClB,MAAMq7D,EAAYD,GAAY,EAC9B,GAAIp7D,EAAO,CACP,GAAIq7D,GAAapiE,KAAKwN,OAAOxJ,OAAQ,CACjC,MAAMq+D,EAAY/0D,KAAK4S,IAAIkiD,EAAY,EAAG90D,KAAK8K,IAAI,EAAIpY,KAAKwN,OAAOxJ,OAAQhE,KAAKkiE,OAChF,GAAIG,GAAariE,KAAKkiE,KAAM,CACxB,MAAMI,EAAY,IAAIn2D,WAAWk2D,GACjCC,EAAUpyD,IAAIlQ,KAAKwN,QACnBxN,KAAKwN,OAAS80D,CAClB,CACJ,CACAtiE,KAAKwN,OAAO40D,IAAc,KAAOD,EAAW,CAChD,MACSC,EAAYpiE,KAAKwN,OAAOxJ,SAC7BhE,KAAKwN,OAAO40D,MAAgB,KAAOD,EAAW,GAEtD,CAOA,MAAAI,CAAOh1C,EAAO5nB,EAAS,GACnB,MAAM68D,EAAel1D,KAAK8K,IAAI2pD,EAAYp8D,EAAS4nB,EAAMvpB,QAAShE,KAAKkiE,MACvE,GAAIliE,KAAKwN,OAAOxJ,OAASw+D,EAAc,CACnC,MAAMF,EAAY,IAAIn2D,WAAWq2D,GACjCF,EAAUpyD,IAAIlQ,KAAKwN,QACnBxN,KAAKwN,OAAS80D,CAClB,CACA,IAAIF,EAAYz8D,GAAU,EACtB88D,EAAU,KAAO98D,EAAS,EAC9B,IAAK,IAAIgP,EAAQ,EAAGA,EAAQ4Y,EAAMvpB,OAAQ2Q,IAOtC,GANI4Y,EAAM5Y,GACN3U,KAAKwN,OAAO40D,IAAcK,EAG1BziE,KAAKwN,OAAO40D,KAAeK,EAEf,IAAZA,EAAe,CAEf,GADAL,GAAa,EACTA,GAAapiE,KAAKwN,OAAOxJ,OACzB,MAEJy+D,EAAU,GACd,MAEIA,IAAY,CAGxB,CAQA,OAAA3hE,CAAQ4hE,EAAY14D,EAAQ,EAAGxI,EAA2B,EAArBxB,KAAKwN,OAAOxJ,QAC7C,IAAIo+D,EAAYp4D,GAAS,EACrBy4D,EAAU,KAAOz4D,EAAQ,EAC7B,IAAK,IAAIm4D,EAAWn4D,EAAOm4D,EAAW3gE,EAAK2gE,IACvCO,KAAc1iE,KAAKwN,OAAO40D,GAAaK,GAAUN,GACjC,IAAZM,GACAL,GAAa,EACbK,EAAU,KAGVA,IAAY,CAGxB,CAMA,OAAAlX,GACI,IAAK,IAAIpnD,EAAI,EAAGA,EAAInE,KAAKwN,OAAOxJ,OAAQG,IACpC,GAAuB,IAAnBnE,KAAKwN,OAAOrJ,GACZ,OAAO,EAGf,OAAO,CACX,E,iBCrIJ,IAAI6lC,EAAM,EAAQ,KACd3qC,EAAS,eACTqyD,EAAS,EAAQ,MAErB,SAASiR,EAAUz2D,GACjB,IAAItF,EAAMsF,EAAK0qB,QAAQtO,gBAAgBpc,EAAK2qB,OAE5C,OADA66B,EAAOxlD,EAAK2qB,OACLjwB,CACT,CAGA9E,EAAQo1B,QAAU,SAAUhrB,EAAM+C,GAChC,IAAI2zD,EAAWt1D,KAAK8qB,KAAKnpB,EAAMjL,OAFjB,IAGVgG,EAAQkC,EAAK4qB,OAAO9yB,OACxBkI,EAAK4qB,OAASz3B,EAAOqM,OAAO,CAC1BQ,EAAK4qB,OACLz3B,EAAO2S,YANK,GAMO4wD,KAErB,IAAK,IAAIz+D,EAAI,EAAGA,EAAIy+D,EAAUz+D,IAAK,CACjC,IAAIyC,EAAM+7D,EAASz2D,GACfvG,EAASqE,EAVD,GAUS7F,EACrB+H,EAAK4qB,OAAO3X,cAAcvY,EAAI,GAAIjB,EAAS,GAC3CuG,EAAK4qB,OAAO3X,cAAcvY,EAAI,GAAIjB,EAAS,GAC3CuG,EAAK4qB,OAAO3X,cAAcvY,EAAI,GAAIjB,EAAS,GAC3CuG,EAAK4qB,OAAO3X,cAAcvY,EAAI,GAAIjB,EAAS,GAC7C,CACA,IAAIqpB,EAAM9iB,EAAK4qB,OAAO1xB,MAAM,EAAG6J,EAAMjL,QAErC,OADAkI,EAAK4qB,OAAS5qB,EAAK4qB,OAAO1xB,MAAM6J,EAAMjL,QAC/BgmC,EAAI/6B,EAAO+f,EACpB,C,8BC7BI6zC,EAAc,EAAQ,MACtBC,EAAkB,EAAQ,MAc1BC,EAAc,SAASC,EAAmBC,EAAUC,GACtDljE,KAAKmjE,YAAc,IAAIN,EAAYG,EAAmBA,EACpDC,EAAU,MAGZjjE,KAAKmjE,YAAY5/D,QAAUy/D,EAE3BhjE,KAAKojE,iBAAmBN,IACxB9iE,KAAKqjE,mBAAqB,EAC1BrjE,KAAKkjE,gBAAkBA,CACzB,EAEAH,EAAY7hE,UAAY,CACtBiiE,YAAa,KACbC,iBAAkB,EAClBC,mBAAoB,EACpBH,iBAAiB,EAYjBI,aAAc,SAASzI,EAAOv+B,GAE5B,GAAIu+B,EAAQ76D,KAAKmjE,YAAYI,WAI3B,OAHA57D,EAAQmJ,SAASwrB,EAASlnB,KAAK,KAAM,oBAAsBylD,EACzD,wCAA0C76D,KAAKmjE,YAAYI,WAC3D,QACK,EAGT,IAAIr3D,EAAOlM,KACPkjC,EAAM4/B,IAYV,IARI5/B,EAAMljC,KAAKojE,kBACVlgC,EAAMljC,KAAKojE,kBAAoBpjE,KAAKmjE,YAAYF,YACnDjjE,KAAKojE,iBAAmBlgC,EACxBljC,KAAKqjE,mBAAqB,GAKxBxI,EAAQ76D,KAAKmjE,YAAYH,kBAAoBhjE,KAAKqjE,mBAAoB,CACxE,GAAIrjE,KAAKkjE,gBACPv7D,EAAQmJ,SAASwrB,EAASlnB,KAAK,KAAM,MAAO,QACvC,CACL,IAAIouD,EAAel2D,KAAK8qB,KACtBp4B,KAAKojE,iBAAmBpjE,KAAKmjE,YAAYF,SAAW//B,GAEtD+hB,YAAW,WACT/4C,EAAKi3D,YAAYG,aAAazI,EAAO4I,EACvC,GAAGD,EACL,CACA,OAAO,CACT,CAGA,OAAOxjE,KAAKmjE,YAAYG,aAAazI,EAAO4I,GAE5C,SAASA,EAAmBpzD,EAAKqzD,GAC/B,GAAIrzD,EAAK,OAAOisB,EAASjsB,EAAK,MAE9BnE,EAAKm3D,oBAAsBxI,EAC3Bv+B,EAAS,KAAMonC,EACjB,CACF,EAWAC,gBAAiB,SAAS9I,GAExB,GAAIA,EAAQ76D,KAAKmjE,YAAYI,WAC3B,OAAO,EAET,IAAIrgC,EAAM4/B,IAWV,IAPI5/B,EAAMljC,KAAKojE,kBACVlgC,EAAMljC,KAAKojE,kBAAoBpjE,KAAKmjE,YAAYF,YACnDjjE,KAAKojE,iBAAmBlgC,EACxBljC,KAAKqjE,mBAAqB,GAIxBxI,EAAQ76D,KAAKmjE,YAAYH,kBAAoBhjE,KAAKqjE,mBACpD,OAAO,EAGT,IAAIO,EAAU5jE,KAAKmjE,YAAYQ,gBAAgB9I,GAI/C,OAHI+I,IACF5jE,KAAKqjE,oBAAsBxI,GAEtB+I,CACT,EAMAC,mBAAoB,WAElB,OADA7jE,KAAKmjE,YAAYW,OACV9jE,KAAKmjE,YAAY5/D,OAC1B,GAGF1B,EAAOC,QAAUihE,C,8BC5HjBlhE,EAAOC,QAZe,WACpB,QAAuB,IAAZ6F,GAA2BA,EAAQo8D,OAAQ,CACpD,IAAIA,EAASp8D,EAAQo8D,SACjB5gC,EAAU4gC,EAAO,GACjBC,EAAcD,EAAO,GAEzB,OAAiB,IAAV5gC,EAAiB71B,KAAKC,MAAMy2D,EAAc,IACnD,CAEA,OAAO,IAAIj+D,MAAOk+D,SACpB,C,iBCRA,IAAIC,EAAS,EAAQ,MAGrBriE,EAAOC,QAAU,SAAckjB,GAC9B,OAAIk/C,EAAOl/C,IAAsB,IAAXA,EACdA,EAEDA,EAAS,GAAK,EAAI,CAC1B,C,iBCRA,IAAI5P,EAAO,EAAQ,MACf4K,EAAa,EAAQ,MAErBiB,EAAQ,EAAQ,IAChBkjD,EAAe,EAAQ,MAG3BtiE,EAAOC,QAAU,SAAuBwpB,GACvC,GAAIA,EAAKtnB,OAAS,GAAwB,mBAAZsnB,EAAK,GAClC,MAAM,IAAItL,EAAW,0BAEtB,OAAOmkD,EAAa/uD,EAAM6L,EAAOqK,EAClC,C,iBCWA,IAAIjsB,EAAS,eAGT+kE,EAAa/kE,EAAO+kE,YAAc,SAAU31D,GAE9C,QADAA,EAAW,GAAKA,IACIA,EAASxN,eAC3B,IAAK,MAAM,IAAK,OAAO,IAAK,QAAQ,IAAK,QAAQ,IAAK,SAAS,IAAK,SAAS,IAAK,OAAO,IAAK,QAAQ,IAAK,UAAU,IAAK,WAAW,IAAK,MACxI,OAAO,EACT,QACE,OAAO,EAEb,EA0CA,SAASwL,EAAcgC,GAErB,IAAIoD,EACJ,OAFA7R,KAAKyO,SAXP,SAA2BlN,GACzB,IAAI8iE,EA/BN,SAA4B9iE,GAC1B,IAAKA,EAAK,MAAO,OAEjB,IADA,IAAI+iE,IAEF,OAAQ/iE,GACN,IAAK,OACL,IAAK,QACH,MAAO,OACT,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,MAAO,UACT,IAAK,SACL,IAAK,SACH,MAAO,SACT,IAAK,SACL,IAAK,QACL,IAAK,MACH,OAAOA,EACT,QACE,GAAI+iE,EAAS,OACb/iE,GAAO,GAAKA,GAAKN,cACjBqjE,GAAU,EAGlB,CAKaC,CAAmBhjE,GAC9B,GAAoB,iBAAT8iE,IAAsBhlE,EAAO+kE,aAAeA,IAAeA,EAAW7iE,IAAO,MAAM,IAAIrB,MAAM,qBAAuBqB,GAC/H,OAAO8iE,GAAQ9iE,CACjB,CAOkBijE,CAAkB/1D,GAE1BzO,KAAKyO,UACX,IAAK,UACHzO,KAAKykE,KAAOC,EACZ1kE,KAAKwB,IAAMmjE,EACX9yD,EAAK,EACL,MACF,IAAK,OACH7R,KAAK4kE,SAAWC,EAChBhzD,EAAK,EACL,MACF,IAAK,SACH7R,KAAKykE,KAAOK,EACZ9kE,KAAKwB,IAAMujE,EACXlzD,EAAK,EACL,MACF,QAGE,OAFA7R,KAAK6P,MAAQm1D,OACbhlE,KAAKwB,IAAMyjE,GAGfjlE,KAAKklE,SAAW,EAChBllE,KAAKmlE,UAAY,EACjBnlE,KAAKolE,SAAW/lE,EAAO2S,YAAYH,EACrC,CAmCA,SAASwzD,EAAcC,GACrB,OAAIA,GAAQ,IAAa,EAAWA,GAAQ,GAAM,EAAa,EAAWA,GAAQ,GAAM,GAAa,EAAWA,GAAQ,GAAM,GAAa,EACpIA,GAAQ,GAAM,GAAQ,GAAK,CACpC,CA0DA,SAAST,EAAargE,GACpB,IAAIkN,EAAI1R,KAAKmlE,UAAYnlE,KAAKklE,SAC1Bp/B,EAtBN,SAA6B55B,EAAM1H,GACjC,GAAwB,MAAV,IAATA,EAAI,IAEP,OADA0H,EAAKg5D,SAAW,EACT,IAET,GAAIh5D,EAAKg5D,SAAW,GAAK1gE,EAAIR,OAAS,EAAG,CACvC,GAAwB,MAAV,IAATQ,EAAI,IAEP,OADA0H,EAAKg5D,SAAW,EACT,IAET,GAAIh5D,EAAKg5D,SAAW,GAAK1gE,EAAIR,OAAS,GACZ,MAAV,IAATQ,EAAI,IAEP,OADA0H,EAAKg5D,SAAW,EACT,GAGb,CACF,CAKUK,CAAoBvlE,KAAMwE,GAClC,YAAU+C,IAANu+B,EAAwBA,EACxB9lC,KAAKklE,UAAY1gE,EAAIR,QACvBQ,EAAIqC,KAAK7G,KAAKolE,SAAU1zD,EAAG,EAAG1R,KAAKklE,UAC5BllE,KAAKolE,SAASzjE,SAAS3B,KAAKyO,SAAU,EAAGzO,KAAKmlE,aAEvD3gE,EAAIqC,KAAK7G,KAAKolE,SAAU1zD,EAAG,EAAGlN,EAAIR,aAClChE,KAAKklE,UAAY1gE,EAAIR,QACvB,CA0BA,SAAS0gE,EAAUlgE,EAAKL,GACtB,IAAKK,EAAIR,OAASG,GAAK,GAAM,EAAG,CAC9B,IAAI2hC,EAAIthC,EAAI7C,SAAS,UAAWwC,GAChC,GAAI2hC,EAAG,CACL,IAAIn0B,EAAIm0B,EAAEphC,WAAWohC,EAAE9hC,OAAS,GAChC,GAAI2N,GAAK,OAAUA,GAAK,MAKtB,OAJA3R,KAAKklE,SAAW,EAChBllE,KAAKmlE,UAAY,EACjBnlE,KAAKolE,SAAS,GAAK5gE,EAAIA,EAAIR,OAAS,GACpChE,KAAKolE,SAAS,GAAK5gE,EAAIA,EAAIR,OAAS,GAC7B8hC,EAAE1gC,MAAM,GAAI,EAEvB,CACA,OAAO0gC,CACT,CAIA,OAHA9lC,KAAKklE,SAAW,EAChBllE,KAAKmlE,UAAY,EACjBnlE,KAAKolE,SAAS,GAAK5gE,EAAIA,EAAIR,OAAS,GAC7BQ,EAAI7C,SAAS,UAAWwC,EAAGK,EAAIR,OAAS,EACjD,CAIA,SAAS2gE,EAASngE,GAChB,IAAIshC,EAAIthC,GAAOA,EAAIR,OAAShE,KAAK6P,MAAMrL,GAAO,GAC9C,GAAIxE,KAAKklE,SAAU,CACjB,IAAI1jE,EAAMxB,KAAKmlE,UAAYnlE,KAAKklE,SAChC,OAAOp/B,EAAI9lC,KAAKolE,SAASzjE,SAAS,UAAW,EAAGH,EAClD,CACA,OAAOskC,CACT,CAEA,SAASg/B,EAAWtgE,EAAKL,GACvB,IAAIwM,GAAKnM,EAAIR,OAASG,GAAK,EAC3B,OAAU,IAANwM,EAAgBnM,EAAI7C,SAAS,SAAUwC,IAC3CnE,KAAKklE,SAAW,EAAIv0D,EACpB3Q,KAAKmlE,UAAY,EACP,IAANx0D,EACF3Q,KAAKolE,SAAS,GAAK5gE,EAAIA,EAAIR,OAAS,IAEpChE,KAAKolE,SAAS,GAAK5gE,EAAIA,EAAIR,OAAS,GACpChE,KAAKolE,SAAS,GAAK5gE,EAAIA,EAAIR,OAAS,IAE/BQ,EAAI7C,SAAS,SAAUwC,EAAGK,EAAIR,OAAS2M,GAChD,CAEA,SAASo0D,EAAUvgE,GACjB,IAAIshC,EAAIthC,GAAOA,EAAIR,OAAShE,KAAK6P,MAAMrL,GAAO,GAC9C,OAAIxE,KAAKklE,SAAiBp/B,EAAI9lC,KAAKolE,SAASzjE,SAAS,SAAU,EAAG,EAAI3B,KAAKklE,UACpEp/B,CACT,CAGA,SAASk/B,EAAYxgE,GACnB,OAAOA,EAAI7C,SAAS3B,KAAKyO,SAC3B,CAEA,SAASw2D,EAAUzgE,GACjB,OAAOA,GAAOA,EAAIR,OAAShE,KAAK6P,MAAMrL,GAAO,EAC/C,CA1NA1C,EAAQ,EAAgB2K,EA6BxBA,EAAcvL,UAAU2O,MAAQ,SAAUrL,GACxC,GAAmB,IAAfA,EAAIR,OAAc,MAAO,GAC7B,IAAI8hC,EACA3hC,EACJ,GAAInE,KAAKklE,SAAU,CAEjB,QAAU39D,KADVu+B,EAAI9lC,KAAK4kE,SAASpgE,IACG,MAAO,GAC5BL,EAAInE,KAAKklE,SACTllE,KAAKklE,SAAW,CAClB,MACE/gE,EAAI,EAEN,OAAIA,EAAIK,EAAIR,OAAe8hC,EAAIA,EAAI9lC,KAAKykE,KAAKjgE,EAAKL,GAAKnE,KAAKykE,KAAKjgE,EAAKL,GAC/D2hC,GAAK,EACd,EAEAr5B,EAAcvL,UAAUM,IAwGxB,SAAiBgD,GACf,IAAIshC,EAAIthC,GAAOA,EAAIR,OAAShE,KAAK6P,MAAMrL,GAAO,GAC9C,OAAIxE,KAAKklE,SAAiBp/B,EAAI,IACvBA,CACT,EAzGAr5B,EAAcvL,UAAUujE,KA0FxB,SAAkBjgE,EAAKL,GACrB,IAAIuiC,EArEN,SAA6Bx6B,EAAM1H,EAAKL,GACtC,IAAIC,EAAII,EAAIR,OAAS,EACrB,GAAII,EAAID,EAAG,OAAO,EAClB,IAAI0N,EAAKwzD,EAAc7gE,EAAIJ,IAC3B,GAAIyN,GAAM,EAER,OADIA,EAAK,IAAG3F,EAAKg5D,SAAWrzD,EAAK,GAC1BA,EAET,KAAMzN,EAAID,IAAa,IAAR0N,EAAW,OAAO,EAEjC,GADAA,EAAKwzD,EAAc7gE,EAAIJ,IACnByN,GAAM,EAER,OADIA,EAAK,IAAG3F,EAAKg5D,SAAWrzD,EAAK,GAC1BA,EAET,KAAMzN,EAAID,IAAa,IAAR0N,EAAW,OAAO,EAEjC,GADAA,EAAKwzD,EAAc7gE,EAAIJ,IACnByN,GAAM,EAIR,OAHIA,EAAK,IACI,IAAPA,EAAUA,EAAK,EAAO3F,EAAKg5D,SAAWrzD,EAAK,GAE1CA,EAET,OAAO,CACT,CA8Cc2zD,CAAoBxlE,KAAMwE,EAAKL,GAC3C,IAAKnE,KAAKklE,SAAU,OAAO1gE,EAAI7C,SAAS,OAAQwC,GAChDnE,KAAKmlE,UAAYz+B,EACjB,IAAIllC,EAAMgD,EAAIR,QAAU0iC,EAAQ1mC,KAAKklE,UAErC,OADA1gE,EAAIqC,KAAK7G,KAAKolE,SAAU,EAAG5jE,GACpBgD,EAAI7C,SAAS,OAAQwC,EAAG3C,EACjC,EA9FAiL,EAAcvL,UAAU0jE,SAAW,SAAUpgE,GAC3C,GAAIxE,KAAKklE,UAAY1gE,EAAIR,OAEvB,OADAQ,EAAIqC,KAAK7G,KAAKolE,SAAUplE,KAAKmlE,UAAYnlE,KAAKklE,SAAU,EAAGllE,KAAKklE,UACzDllE,KAAKolE,SAASzjE,SAAS3B,KAAKyO,SAAU,EAAGzO,KAAKmlE,WAEvD3gE,EAAIqC,KAAK7G,KAAKolE,SAAUplE,KAAKmlE,UAAYnlE,KAAKklE,SAAU,EAAG1gE,EAAIR,QAC/DhE,KAAKklE,UAAY1gE,EAAIR,MACvB,C,iBCrIA,IAAIoR,EAAO,EAAQ,MAEf4L,EAAS,EAAQ,MACjBC,EAAQ,EAAQ,IAChBwkD,EAAgB,EAAQ,MAG5B5jE,EAAOC,QAAU2jE,GAAiBrwD,EAAKrV,KAAKkhB,EAAOD,E,0CCL/C0kD,EAAY,MAIZC,EAAa,WAMjB,IAAItmE,EAAS,eACTumE,EAAS,WAAOA,QAAU,WAAOC,SAEjCD,GAAUA,EAAOE,gBACnBjkE,EAAOC,QAKT,SAAsB0D,EAAM8K,GAE1B,GAAI9K,EAAOmgE,EAAY,MAAM,IAAIjd,WAAW,mCAE5C,IAAIpsC,EAAQjd,EAAO2S,YAAYxM,GAE/B,GAAIA,EAAO,EACT,GAAIA,EAAOkgE,EAET,IAAK,IAAIK,EAAY,EAAGA,EAAYvgE,EAAMugE,GAAaL,EAGrDE,EAAOE,gBAAgBxpD,EAAMlX,MAAM2gE,EAAWA,EAAYL,SAG5DE,EAAOE,gBAAgBxpD,GAI3B,GAAkB,mBAAPhM,EACT,OAAO3I,EAAQmJ,UAAS,WACtBR,EAAG,KAAMgM,EACX,IAGF,OAAOA,CACT,EA7BEza,EAAOC,QAVT,WACE,MAAM,IAAI5B,MAAM,iHAClB,C,4mECVuB,IAAZyH,IACNA,EAAQ+wB,SAC0B,IAAnC/wB,EAAQ+wB,QAAQzuB,QAAQ,QACW,IAAnCtC,EAAQ+wB,QAAQzuB,QAAQ,QAAqD,IAArCtC,EAAQ+wB,QAAQzuB,QAAQ,SAClEpI,EAAOC,QAAU,CAAEgP,SAKrB,SAAkBwD,EAAI7L,EAAMC,EAAMC,GAChC,GAAkB,mBAAP2L,EACT,MAAM,IAAIlL,UAAU,0CAEtB,IACIkiB,EAAMnnB,EADN8E,EAAMkM,UAAUnR,OAEpB,OAAQiF,GACR,KAAK,EACL,KAAK,EACH,OAAOtB,EAAQmJ,SAASwD,GAC1B,KAAK,EACH,OAAO3M,EAAQmJ,UAAS,WACtBwD,EAAGvU,KAAK,KAAM0I,EAChB,IACF,KAAK,EACH,OAAOd,EAAQmJ,UAAS,WACtBwD,EAAGvU,KAAK,KAAM0I,EAAMC,EACtB,IACF,KAAK,EACH,OAAOf,EAAQmJ,UAAS,WACtBwD,EAAGvU,KAAK,KAAM0I,EAAMC,EAAMC,EAC5B,IACF,QAGE,IAFA2iB,EAAO,IAAIpmB,MAAM+D,EAAM,GACvB9E,EAAI,EACGA,EAAImnB,EAAKtnB,QACdsnB,EAAKnnB,KAAOgR,UAAUhR,GAExB,OAAOwD,EAAQmJ,UAAS,WACtBwD,EAAGY,MAAM,KAAMoW,EACjB,IAEJ,GAnCEzpB,EAAOC,QAAU6F,C,g4NCNnB,SAAS8N,EAAO+X,EAAK/jB,GACnB,IAAK+jB,EACH,MAAM,IAAIttB,MAAMuJ,GAAO,mBAC3B,CALA5H,EAAOC,QAAU2T,EAOjBA,EAAOqrB,MAAQ,SAAqBvuB,EAAGuzB,EAAGr8B,GACxC,GAAI8I,GAAKuzB,EACP,MAAM,IAAI5lC,MAAMuJ,GAAQ,qBAAuB8I,EAAI,OAASuzB,EAChE,C,iBCVA,IAAIzmC,EAAS,eAEbwC,EAAOC,QAAU,SAAUkH,EAAOyF,EAAUnM,GAC1C,GAAIjD,EAAOmH,SAASwC,GAClB,OAAOA,EACF,GAAqB,iBAAVA,EAChB,OAAO3J,EAAO2B,KAAKgI,EAAOyF,GACrB,GAAI8S,YAAYoc,OAAO30B,GAC5B,OAAO3J,EAAO2B,KAAKgI,EAAMwE,QAEzB,MAAM,IAAIpE,UAAU9G,EAAO,2DAE/B,C,iBCVA,IAAImT,EAAS,EAAQ,MACjBjW,EAAW,EAAQ,MAEnBwmE,EAAQ,CAAC,EAEb,SAASC,EAASt7D,GAChB8K,EAAOqrB,MAAMn2B,EAAG3G,OAAQ,EAAG,qBAE3BhE,KAAK2K,GAAK,IAAIzF,MAAM,GACpB,IAAK,IAAIf,EAAI,EAAGA,EAAInE,KAAK2K,GAAG3G,OAAQG,IAClCnE,KAAK2K,GAAGxG,GAAKwG,EAAGxG,EACpB,CAsBArC,EAAQokE,YApBR,SAAqB59D,GACnB,SAASmiB,EAAI5d,GACXvE,EAAKvI,KAAKC,KAAM6M,GAChB7M,KAAKmmE,UACP,CACA3mE,EAASirB,EAAKniB,GAGd,IADA,IAAIzH,EAAOD,OAAOC,KAAKmlE,GACd7hE,EAAI,EAAGA,EAAItD,EAAKmD,OAAQG,IAAK,CACpC,IAAIpD,EAAMF,EAAKsD,GACfsmB,EAAIvpB,UAAUH,GAAOilE,EAAMjlE,EAC7B,CAMA,OAJA0pB,EAAIpe,OAAS,SAAgBQ,GAC3B,OAAO,IAAI4d,EAAI5d,EACjB,EAEO4d,CACT,EAIAu7C,EAAMG,SAAW,WACf,IAAI9+D,EAAQ,IAAI4+D,EAASjmE,KAAK6M,QAAQlC,IACtC3K,KAAKomE,UAAY/+D,CACnB,EAEA2+D,EAAMhnD,QAAU,SAAiByvC,EAAKC,EAAO9nD,EAAK+nD,GAChD,IAAItnD,EAAQrH,KAAKomE,UACbC,EAAarmE,KAAKwI,YAAY48B,OAAOlkC,UAErCyJ,EAAKtD,EAAMsD,GACf,GAAkB,YAAd3K,KAAK+J,KAAoB,CAC3B,IAAK,IAAI5F,EAAI,EAAGA,EAAInE,KAAKse,UAAWna,IAClCwG,EAAGxG,IAAMsqD,EAAIC,EAAQvqD,GAEvBkiE,EAAWrnD,QAAQjf,KAAKC,KAAM2K,EAAI,EAAG/D,EAAK+nD,GAE1C,IAASxqD,EAAI,EAAGA,EAAInE,KAAKse,UAAWna,IAClCwG,EAAGxG,GAAKyC,EAAI+nD,EAASxqD,EACzB,KAAO,CACLkiE,EAAWrnD,QAAQjf,KAAKC,KAAMyuD,EAAKC,EAAO9nD,EAAK+nD,GAE/C,IAASxqD,EAAI,EAAGA,EAAInE,KAAKse,UAAWna,IAClCyC,EAAI+nD,EAASxqD,IAAMwG,EAAGxG,GAExB,IAASA,EAAI,EAAGA,EAAInE,KAAKse,UAAWna,IAClCwG,EAAGxG,GAAKsqD,EAAIC,EAAQvqD,EACxB,CACF,C,YChE8B,oBAAnBmiE,iBACJA,eAAeplE,UAAU2Y,OAAOgoD,iBACnCyE,eAAeplE,UAAU2Y,OAAOgoD,eAAiB,UAAU,cAAE0E,GAAkB,CAAC,GAC9E,MAAMC,EAASxmE,KAAKymE,YACdlnE,EAASS,KACf,IAAI6kB,EAAO2hD,EAAO53D,OAClB,MAAO,CACL,IAAAgD,GACE,MAAMilD,EAAOhyC,EAEb,OADAA,EAAO2hD,EAAO53D,OACPioD,CACT,EACAv3C,OAAa,MAACvY,UACN8d,EACN2hD,EAAOE,cACFH,GAAehnE,EAAOonE,SACpB,CAAEtlE,MAAM,EAAM0F,UAEvB,WAAM,CAAOsJ,GAEX,YADMrQ,KAAK4mE,SACLv2D,CACR,EACA,CAACwJ,OAAOgoD,iBACN,OAAO7hE,IACT,EAEJ,GAEGsmE,eAAeplE,UAAU2lE,cAC5BP,eAAeplE,UAAU2lE,YAAc,UAAU,cAAEN,GAAkB,CAAC,GACpE,OAAOvmE,KAAK6Z,OAAOgoD,eAAe,CAAE0E,iBACtC,G,iBC9BJ,IAAI/mE,EAAW,EAAQ,MACnBsnE,EAAS,EAAQ,MACjBx+D,EAAO,EAAQ,MACfjJ,EAAS,eACTg4B,EAAM,EAAQ,KACd0vC,EAAY,EAAQ,MAEpB1M,EAAM,EAAQ,MAEdrR,EAAQ3pD,EAAOqb,MAAM,KAEzB,SAASklC,EAAMsJ,EAAKnoD,GAClBuH,EAAKvI,KAAKC,KAAM,UACG,iBAARe,IACTA,EAAM1B,EAAO2B,KAAKD,IAGpB,IAAIkoD,EAAqB,WAARC,GAA4B,WAARA,EAAoB,IAAM,IAE/DlpD,KAAKmpD,KAAOD,EACZlpD,KAAK0nB,KAAO3mB,EACRA,EAAIiD,OAASilD,GAEfloD,GADmB,WAARmoD,EAAmB,IAAI6d,EAAc1M,EAAInR,IACzC5nD,OAAOP,GAAKU,SACdV,EAAIiD,OAASilD,IACtBloD,EAAM1B,EAAOqM,OAAO,CAAC3K,EAAKioD,GAAQC,IAMpC,IAHA,IAAIG,EAAOppD,KAAKqpD,MAAQhqD,EAAO2S,YAAYi3C,GACvCK,EAAOtpD,KAAKupD,MAAQlqD,EAAO2S,YAAYi3C,GAElC9kD,EAAI,EAAGA,EAAI8kD,EAAW9kD,IAC7BilD,EAAKjlD,GAAc,GAATpD,EAAIoD,GACdmlD,EAAKnlD,GAAc,GAATpD,EAAIoD,GAEhBnE,KAAKK,MAAgB,WAAR6oD,EAAmB,IAAI6d,EAAc1M,EAAInR,GACtDlpD,KAAKK,MAAMiB,OAAO8nD,EACpB,CAEA5pD,EAASogD,EAAMt3C,GAEfs3C,EAAK1+C,UAAU8d,QAAU,SAAU/e,GACjCD,KAAKK,MAAMiB,OAAOrB,EACpB,EAEA2/C,EAAK1+C,UAAUi2B,OAAS,WACtB,IAAI3N,EAAIxpB,KAAKK,MAAMoB,SAEnB,OADyB,WAAdzB,KAAKmpD,KAAoB,IAAI4d,EAAc1M,EAAIr6D,KAAKmpD,OACnD7nD,OAAOtB,KAAKupD,OAAOjoD,OAAOkoB,GAAG/nB,QAC3C,EAEAI,EAAOC,QAAU,SAAqBonD,EAAKnoD,GAEzC,MAAY,YADZmoD,EAAMA,EAAIjoD,gBACsB,cAARioD,EACf,IAAItJ,EAAK,SAAU7+C,GAEhB,QAARmoD,EACK,IAAI4d,EAAOzvC,EAAKt2B,GAElB,IAAI6+C,EAAKsJ,EAAKnoD,EACvB,C,iBC7DA,IAAIimE,EAAS,EAAQ,MAoBrB,SAAShzD,EAAMM,GACb,IAAI6W,EAAI,WACN,OAAIA,EAAE87C,OAAe97C,EAAEpkB,OACvBokB,EAAE87C,QAAS,EACJ97C,EAAEpkB,MAAQuN,EAAGY,MAAMlV,KAAMmV,WAClC,EAEA,OADAgW,EAAE87C,QAAS,EACJ97C,CACT,CAEA,SAAS+7C,EAAY5yD,GACnB,IAAI6W,EAAI,WACN,GAAIA,EAAE87C,OACJ,MAAM,IAAI/mE,MAAMirB,EAAEg8C,WAEpB,OADAh8C,EAAE87C,QAAS,EACJ97C,EAAEpkB,MAAQuN,EAAGY,MAAMlV,KAAMmV,UAClC,EACI7S,EAAOgS,EAAGhS,MAAQ,+BAGtB,OAFA6oB,EAAEg8C,UAAY7kE,EAAO,sCACrB6oB,EAAE87C,QAAS,EACJ97C,CACT,CAxCAtpB,EAAOC,QAAUklE,EAAOhzD,GACxBnS,EAAOC,QAAQslE,OAASJ,EAAOE,GAE/BlzD,EAAKgyD,MAAQhyD,GAAK,WAChBpT,OAAOoP,eAAejO,SAASb,UAAW,OAAQ,CAChD6F,MAAO,WACL,OAAOiN,EAAKhU,KACd,EACAqZ,cAAc,IAGhBzY,OAAOoP,eAAejO,SAASb,UAAW,aAAc,CACtD6F,MAAO,WACL,OAAOmgE,EAAWlnE,KACpB,EACAqZ,cAAc,GAElB,G,6BCSAxX,EAAOC,QAAUmG,EACjB,IAAID,EAAY,EAAQ,MAExB,SAASC,EAAY4E,GACnB,KAAM7M,gBAAgBiI,GAAc,OAAO,IAAIA,EAAY4E,GAC3D7E,EAAUjI,KAAKC,KAAM6M,EACvB,CAJA,EAAQ,KAAR,CAAoB5E,EAAaD,GAKjCC,EAAY/G,UAAU+oD,WAAa,SAAUh7C,EAAOR,EAAU6B,GAC5DA,EAAG,KAAMrB,EACX,C,iBClCA,IAAIo4D,EAAkB,EAAQ,MAC1BC,EAAmB,EAAQ,MAE3BC,EAAiB,EAAQ,MAG7B1lE,EAAOC,QAAUulE,EACd,SAAkBG,GAEnB,OAAOH,EAAgBG,EACxB,EACEF,EACC,SAAkBE,GACnB,IAAKA,GAAmB,iBAANA,GAA+B,mBAANA,EAC1C,MAAM,IAAIp+D,UAAU,2BAGrB,OAAOk+D,EAAiBE,EACzB,EACED,EACC,SAAkBC,GAEnB,OAAOD,EAAeC,EACvB,EACE,I,iBCxBL,MAAMC,EAAiB,EAAQ,MAoD/B5lE,EAAOC,QAlDP,MACE,WAAA0G,CAAak/D,GAIX,GAHA1nE,KAAK0nE,MAAQA,EACb1nE,KAAK2nE,YAAcD,EAAMC,aAEpB3nE,KAAK0nE,QAAU1nE,KAAK0nE,MAAMz3D,MAAQjQ,KAAK0nE,MAAME,IAChD,MAAM,IAAI1nE,MAAM,yDAGlBF,KAAK6nE,IAAM,EACb,CAEA,GAAAD,CAAKjzD,EAAOnQ,EAAK8L,EAAK,QACpBtQ,KAAK6nE,IAAIlzD,GAASnQ,EAClBxE,KAAK0nE,MAAME,IAAIjzD,EAAOnQ,GAAK6L,IACzBrQ,KAAK6nE,IAAIlzD,GAAS,KAClBrE,EAAGD,EAAG,GAEV,CAEA,GAAAJ,CAAK0E,EAAOwX,EAAM7b,EAAK,QACrB,GAAoB,mBAAT6b,EAAqB,OAAOnsB,KAAKiQ,IAAI0E,EAAO,KAAMwX,GAE7D,IAAI3nB,EAAMxE,KAAK6nE,IAAIlzD,GAGnB,IAAKnQ,EACH,OAAOxE,KAAK0nE,MAAMz3D,IAAI0E,EAAOwX,EAAM7b,GAGhC6b,IAAMA,EAAO,CAAC,GAEnB,MAAMxmB,EAASwmB,EAAKxmB,QAAU,EACxBsD,EAAMkjB,EAAKnoB,QAAWQ,EAAIR,OAAS2B,EAE1B,IAAXA,GAAgBsD,IAAQzE,EAAIR,SAC9BQ,EAAMA,EAAIY,MAAMO,EAAQsD,EAAMtD,IAEhC8hE,GAAe,IAAMn3D,EAAG,KAAM9L,IAChC,CAEA,KAAAk4B,CAAOpsB,EAAK,QACVtQ,KAAK0nE,MAAMhrC,MAAMpsB,EACnB,CAEA,OAAAxB,CAASwB,EAAK,QACZtQ,KAAK0nE,MAAM54D,QAAQwB,EACrB,E,iBC1CF,IAAI9Q,EAAW,EAAQ,MACnB6e,EAAO,EAAQ,KACfhf,EAAS,eAET02D,EAAI,CACN,WAAY,YAAY,YAAgB,WAGtCzE,EAAI,IAAIpsD,MAAM,IAElB,SAAS4iE,IACP9nE,KAAK06B,OACL16B,KAAKi7D,GAAK3J,EAEVjzC,EAAKte,KAAKC,KAAM,GAAI,GACtB,CAkBA,SAAS+nE,EAAOjlE,GACd,OAAQA,GAAO,EAAMA,IAAQ,EAC/B,CAEA,SAASklE,EAAQllE,GACf,OAAQA,GAAO,GAAOA,IAAQ,CAChC,CAEA,SAASmlE,EAAIxwD,EAAGU,EAAGxG,EAAG6F,GACpB,OAAU,IAANC,EAAiBU,EAAIxG,GAAQwG,EAAKX,EAC5B,IAANC,EAAiBU,EAAIxG,EAAMwG,EAAIX,EAAM7F,EAAI6F,EACtCW,EAAIxG,EAAI6F,CACjB,CA5BAhY,EAASsoE,EAAMzpD,GAEfypD,EAAK5mE,UAAUw5B,KAAO,WAOpB,OANA16B,KAAKkoE,GAAK,WACVloE,KAAKmoE,GAAK,WACVnoE,KAAKooE,GAAK,WACVpoE,KAAKqoE,GAAK,UACVroE,KAAKsoE,GAAK,WAEHtoE,IACT,EAoBA8nE,EAAK5mE,UAAU8d,QAAU,SAAU+G,GASjC,IARA,IAnBcjjB,EAmBVwuD,EAAItxD,KAAKi7D,GAET/iD,EAAc,EAAVlY,KAAKkoE,GACT/vD,EAAc,EAAVnY,KAAKmoE,GACTx2D,EAAc,EAAV3R,KAAKooE,GACT5wD,EAAc,EAAVxX,KAAKqoE,GACTnxD,EAAc,EAAVlX,KAAKsoE,GAEJnkE,EAAI,EAAGA,EAAI,KAAMA,EAAGmtD,EAAEntD,GAAK4hB,EAAE+4C,YAAgB,EAAJ36D,GAClD,KAAOA,EAAI,KAAMA,EAAGmtD,EAAEntD,IA5BRrB,EA4BmBwuD,EAAEntD,EAAI,GAAKmtD,EAAEntD,EAAI,GAAKmtD,EAAEntD,EAAI,IAAMmtD,EAAEntD,EAAI,MA3B1D,EAAMrB,IAAQ,GA6B7B,IAAK,IAAIsB,EAAI,EAAGA,EAAI,KAAMA,EAAG,CAC3B,IAAIqT,KAAOrT,EAAI,IACXwZ,EAAKmqD,EAAM7vD,GAAK+vD,EAAGxwD,EAAGU,EAAGxG,EAAG6F,GAAKN,EAAIo6C,EAAEltD,GAAK2xD,EAAEt+C,GAAM,EAExDP,EAAIM,EACJA,EAAI7F,EACJA,EAAIq2D,EAAO7vD,GACXA,EAAID,EACJA,EAAI0F,CACN,CAEA5d,KAAKkoE,GAAMhwD,EAAIlY,KAAKkoE,GAAM,EAC1BloE,KAAKmoE,GAAMhwD,EAAInY,KAAKmoE,GAAM,EAC1BnoE,KAAKooE,GAAMz2D,EAAI3R,KAAKooE,GAAM,EAC1BpoE,KAAKqoE,GAAM7wD,EAAIxX,KAAKqoE,GAAM,EAC1BroE,KAAKsoE,GAAMpxD,EAAIlX,KAAKsoE,GAAM,CAC5B,EAEAR,EAAK5mE,UAAUb,MAAQ,WACrB,IAAI67D,EAAI78D,EAAO2S,YAAY,IAQ3B,OANAkqD,EAAEE,aAAuB,EAAVp8D,KAAKkoE,GAAQ,GAC5BhM,EAAEE,aAAuB,EAAVp8D,KAAKmoE,GAAQ,GAC5BjM,EAAEE,aAAuB,EAAVp8D,KAAKooE,GAAQ,GAC5BlM,EAAEE,aAAuB,EAAVp8D,KAAKqoE,GAAQ,IAC5BnM,EAAEE,aAAuB,EAAVp8D,KAAKsoE,GAAQ,IAErBpM,CACT,EAEAr6D,EAAOC,QAAUgmE,C,iBClGjB,IAOIS,EAkCAz3D,EAzCAzR,EAAS,eAETs4B,EAAkB,EAAQ,MAC1BtpB,EAAkB,EAAQ,MAC1BN,EAAO,EAAQ,KACf6pB,EAAW,EAAQ,MAGnB4wC,EAAS,WAAO5C,QAAU,WAAOA,OAAO4C,OACxCC,EAAY,CACdpO,IAAK,QACL,QAAS,QACT/iC,KAAM,QACNlO,OAAQ,UACR,UAAW,UACXE,OAAQ,UACR,UAAW,UACX,UAAW,UACXC,OAAQ,WAENm/C,EAAS,GAsBb,SAASC,IACP,OAAI73D,IAIFA,EADE,WAAOnJ,SAAW,WAAOA,QAAQmJ,SACxB,WAAOnJ,QAAQmJ,SACjB,WAAO22D,eACL,WAAOA,eACT,WAAOtP,aACL,WAAOA,aAEP,WAAOlT,WAGtB,CACA,SAAS2jB,EAAe39D,EAAU4sB,EAAMC,EAAY9zB,EAAQ6kE,GAC1D,OAAOL,EAAOM,UACZ,MAAO79D,EAAU,CAAE3I,KAAM,WAAY,EAAO,CAAC,eAC7Cq/D,MAAK,SAAU5gE,GACf,OAAOynE,EAAOO,WAAW,CACvBzmE,KAAM,SACNu1B,KAAMA,EACNC,WAAYA,EACZ13B,KAAM,CACJkC,KAAMumE,IAEP9nE,EAAKiD,GAAU,EACpB,IAAG29D,MAAK,SAAUj+D,GAChB,OAAOrE,EAAO2B,KAAK0C,EACrB,GACF,CAaA7B,EAAOC,QAAU,SAAUmJ,EAAU4sB,EAAMC,EAAYC,EAAQt2B,EAAQ66B,GAC/C,mBAAX76B,IACT66B,EAAW76B,EACXA,OAAS8F,GAIX,IAAIshE,EAAOJ,GADXhnE,EAASA,GAAU,QACSR,eAE5B,GAAK4nE,GAAkC,mBAAnB,WAAOhmD,QAA3B,CAgBA,GAHA8U,EAAgBG,EAAYC,GAC5B9sB,EAAW2sB,EAAS3sB,EAAUoD,EAAiB,YAC/CwpB,EAAOD,EAASC,EAAMxpB,EAAiB,QACf,mBAAbiuB,EAAyB,MAAM,IAAIp8B,MAAM,mCApCtD,SAAyBuhE,EAASnlC,GAChCmlC,EAAQE,MAAK,SAAU/6D,GACrB+hE,KAAc,WACZrsC,EAAS,KAAM11B,EACjB,GACF,IAAG,SAAUsQ,GACXyxD,KAAc,WACZrsC,EAASplB,EACX,GACF,GACF,CA4BE8xD,CA3FF,SAAsBH,GACpB,GAAI,WAAOlhE,UAAY,WAAOA,QAAQ6wB,QACpC,OAAO3V,QAAQ2pC,SAAQ,GAEzB,IAAKgc,IAAWA,EAAOM,YAAcN,EAAOO,WAC1C,OAAOlmD,QAAQ2pC,SAAQ,GAEzB,QAAqBjlD,IAAjBmhE,EAAOG,GACT,OAAOH,EAAOG,GAGhB,IAAII,EAAOL,EADXL,EAAWA,GAAYlpE,EAAOqb,MAAM,GACD6tD,EAAU,GAAI,IAAKM,GACnDlH,MAAK,WACJ,OAAO,CACT,IAAGuH,OAAM,WACP,OAAO,CACT,IAEF,OADAR,EAAOG,GAAQI,EACRA,CACT,CAwEiBE,CAAYN,GAAMlH,MAAK,SAAUyH,GAC9C,OAAIA,EAAaR,EAAc39D,EAAU4sB,EAAMC,EAAYC,EAAQ8wC,GAE5D96D,EAAK9C,EAAU4sB,EAAMC,EAAYC,EAAQt2B,EAClD,IAAI66B,EAXJ,MAVEqsC,KAAc,WACZ,IAAI/hE,EACJ,IACEA,EAAMmH,EAAK9C,EAAU4sB,EAAMC,EAAYC,EAAQt2B,EACjD,CAAE,MAAOyV,GACP,OAAOolB,EAASplB,EAClB,CACAolB,EAAS,KAAM11B,EACjB,GAcJ,C,iBCnHA,IAAI4O,EAAQ,EAAQ,MAChBmtC,EAAS,EAAQ,MACjB8N,EAAY,EAAQ,MAEpB4Y,EAAS7zD,EAAM6zD,OACf3Y,EAAQl7C,EAAMk7C,MACdE,EAAUp7C,EAAMo7C,QAChB0Y,EAAO7Y,EAAU6Y,KACjBnY,EAAYxO,EAAOwO,UAEnBoY,EAAS,CACX,WAAY,WACZ,WAAY,YAGd,SAASC,IACP,KAAMxpE,gBAAgBwpE,GACpB,OAAO,IAAIA,EAEbrY,EAAUpxD,KAAKC,MACfA,KAAKwpB,EAAI,CACP,WAAY,WAAY,WACxB,UAAY,YACdxpB,KAAKsxD,EAAI,IAAIpsD,MAAM,GACrB,CAEAsQ,EAAMhW,SAASgqE,EAAMrY,GACrBtvD,EAAOC,QAAU0nE,EAEjBA,EAAKlrD,UAAY,IACjBkrD,EAAKhf,QAAU,IACfgf,EAAK/e,aAAe,GACpB+e,EAAK9e,UAAY,GAEjB8e,EAAKtoE,UAAU8d,QAAU,SAAiBvV,EAAKO,GAG7C,IAFA,IAAIsnD,EAAItxD,KAAKsxD,EAEJntD,EAAI,EAAGA,EAAI,GAAIA,IACtBmtD,EAAEntD,GAAKsF,EAAIO,EAAQ7F,GAErB,KAAMA,EAAImtD,EAAEttD,OAAQG,IAClBmtD,EAAEntD,GAAKklE,EAAO/X,EAAEntD,EAAI,GAAKmtD,EAAEntD,EAAI,GAAKmtD,EAAEntD,EAAI,IAAMmtD,EAAEntD,EAAI,IAAK,GAE7D,IAAI+T,EAAIlY,KAAKwpB,EAAE,GACXrR,EAAInY,KAAKwpB,EAAE,GACX7X,EAAI3R,KAAKwpB,EAAE,GACXhS,EAAIxX,KAAKwpB,EAAE,GACXtS,EAAIlX,KAAKwpB,EAAE,GAEf,IAAKrlB,EAAI,EAAGA,EAAImtD,EAAEttD,OAAQG,IAAK,CAC7B,IAAIsT,KAAOtT,EAAI,IACXyZ,EAAIgzC,EAAQyY,EAAOnxD,EAAG,GAAIoxD,EAAK7xD,EAAGU,EAAGxG,EAAG6F,GAAIN,EAAGo6C,EAAEntD,GAAIolE,EAAO9xD,IAChEP,EAAIM,EACJA,EAAI7F,EACJA,EAAI03D,EAAOlxD,EAAG,IACdA,EAAID,EACJA,EAAI0F,CACN,CAEA5d,KAAKwpB,EAAE,GAAKknC,EAAM1wD,KAAKwpB,EAAE,GAAItR,GAC7BlY,KAAKwpB,EAAE,GAAKknC,EAAM1wD,KAAKwpB,EAAE,GAAIrR,GAC7BnY,KAAKwpB,EAAE,GAAKknC,EAAM1wD,KAAKwpB,EAAE,GAAI7X,GAC7B3R,KAAKwpB,EAAE,GAAKknC,EAAM1wD,KAAKwpB,EAAE,GAAIhS,GAC7BxX,KAAKwpB,EAAE,GAAKknC,EAAM1wD,KAAKwpB,EAAE,GAAItS,EAC/B,EAEAsyD,EAAKtoE,UAAUypD,QAAU,SAAgBppD,GACvC,MAAY,QAARA,EACKiU,EAAMo1C,QAAQ5qD,KAAKwpB,EAAG,OAEtBhU,EAAMq1C,QAAQ7qD,KAAKwpB,EAAG,MACjC,C,iBCvEA,MAAMpd,EAAO,EAAQ,KACf1E,EAAS,EAAQ,MAEvB,SAASmgD,EAAUrD,GACbA,IAAWA,EAAOK,SAAWL,EAAO71C,UACtC61C,EAAO/vC,QACX,CAWA,SAASu4C,EAAgBxI,GACvB98C,EAAOI,SAAS/H,KAAKC,MAOrBA,KAAK0O,eAAeH,aAAc,EAElCvO,KAAKwkD,OAASA,EACdxkD,KAAKmoD,WAAa3D,EAElBxkD,KAAKyjD,iBAAmB,KACxBzjD,KAAK0jD,iBAAmB,KACxB1jD,KAAKw3D,YAAc,KACnBx3D,KAAKmlD,UAAW,EAChBnlD,KAAK4jD,QAAU,CAAC,EAChB5jD,KAAKypE,WAAa,GAClBzpE,KAAK0pE,SAAW,CAAC,EACjB1pE,KAAK2pE,YAAc,GAEnB3pE,KAAK2O,UAAW,EAEhB3O,KAAKknD,QAAU,KAGflnD,KAAKm3D,IAAM,GACXn3D,KAAKiV,OAAS,KAGdjV,KAAKioD,WAAa,KAClBjoD,KAAKkoD,cAAgB,KACrBloD,KAAKstD,OAAS9I,EAGdxkD,KAAK8lD,YAAa,EAIlB9lD,KAAK43D,SAAU,CACjB,CAnDA91D,EAAQ+lD,UAAYA,EAMpB/lD,EAAQgmD,SAJR,SAAkBtD,GACZA,GACFA,EAAOpwC,OACX,EA+CAhI,EAAK5M,SAASwtD,EAAiBtlD,EAAOI,UAGtChG,EAAQkrD,gBAAkBA,EAG1BA,EAAgB9rD,UAAU+jD,WAAa,SAAS6D,EAAOxsB,GAIrD,OAHIA,GACFt8B,KAAKiU,GAAG,UAAWqoB,GACrBt8B,KAAKwkD,OAAOS,WAAW6D,GAChB9oD,IACT,EAGAgtD,EAAgB9rD,UAAU0N,KAAO,SAAS+B,GAKxC,OAJK3Q,KAAK8lD,aACR9lD,KAAK0O,eAAeH,aAAc,GACpCvO,KAAK8lD,YAAa,EAClB9lD,KAAK4O,KAAOlH,EAAOI,SAAS5G,UAAU0N,KAC/B5O,KAAK4O,KAAK+B,EACnB,EAGAq8C,EAAgB9rD,UAAU2N,MAAQ,SAAS8B,GAIrC3Q,KAAKwkD,OAAO71C,UACdk5C,EAAU7nD,KAAKwkD,OACnB,EAMAwI,EAAgB9rD,UAAU4N,QAAU,SAASjL,GACvC7D,KAAKwkD,QACPxkD,KAAKwkD,OAAO11C,QAAQjL,EACxB,EAGAmpD,EAAgB9rD,UAAUu2D,gBAAkB,SAAS7T,EAASjzC,GAC5D,GAAIizC,GAAWA,EAAQ5/C,OAAQ,CAC7B,IAAI89B,EAAKlvB,EACL5S,KAAKmlD,UACPrjB,EAAM9hC,KAAK2pE,YACX/2D,EAAO5S,KAAK0pE,WAEZ5nC,EAAM9hC,KAAKypE,WACX72D,EAAO5S,KAAK4jD,SAGd,IAAK,IAAIz/C,EAAI,EAAGA,EAAIwM,EAAGxM,GAAK,EAAG,CAC7B,IAAIwZ,EAAIimC,EAAQz/C,GACZqW,EAAIopC,EAAQz/C,EAAI,GACpB29B,EAAIzyB,KAAKsO,GACTmkB,EAAIzyB,KAAKmL,GACTxa,KAAK4pE,eAAejsD,EAAGnD,EAAG5H,EAC5B,CACF,CACF,EAUAo6C,EAAgB9rD,UAAU0oE,eAAiB,SAASC,EAAO9iE,EAAO6L,GAEhE,OADAi3D,EAAQA,EAAM5oE,eAGZ,IAAK,kBACiBsG,IAAhBqL,EAAKi3D,GACPj3D,EAAKi3D,GAAOx6D,KAAKtI,GAEjB6L,EAAKi3D,GAAS,CAAC9iE,GAEjB,MAMF,IAAK,eACL,IAAK,iBACL,IAAK,aACL,IAAK,UACL,IAAK,OACL,IAAK,gBACL,IAAK,sBACL,IAAK,oBACL,IAAK,sBACL,IAAK,OACL,IAAK,WACL,IAAK,eACL,IAAK,cACL,IAAK,OACL,IAAK,gBACL,IAAK,SACL,IAAK,MACL,IAAK,eAEiBQ,IAAhBqL,EAAKi3D,KACPj3D,EAAKi3D,GAAS9iE,GAChB,MAEF,QAE6B,iBAAhB6L,EAAKi3D,GACdj3D,EAAKi3D,IAAU,KAAO9iE,EAEtB6L,EAAKi3D,GAAS9iE,EAGtB,EAKAimD,EAAgB9rD,UAAU6kD,MAAQ,WAC3B/lD,KAAK43D,UACR53D,KAAK43D,SAAU,EACf53D,KAAKyU,SAET,C,WC5LA5S,EAAOC,QAAU,CACfgoE,QAAS,CACPC,KAAM,EACNC,OAAQ,CACN,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,kEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,sEAINC,IAAK,CACHlxB,IAAK,EACLixB,OAAQ,CACN,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,iEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAE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","sources":["webpack://webtorrent/./node_modules/browserify-sign/browser/index.js","webpack://webtorrent/./node_modules/call-bind-apply-helpers/functionCall.js","webpack://webtorrent/./node_modules/asn1.js/lib/asn1/encoders/der.js","webpack://webtorrent/./node_modules/browserify-sign/node_modules/readable-stream/readable.js","webpack://webtorrent/./node_modules/readable-stream/errors.js","webpack://webtorrent/./node_modules/browserify-cipher/browser.js","webpack://webtorrent/./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_readable.js","webpack://webtorrent/./node_modules/elliptic/lib/elliptic/eddsa/signature.js","webpack://webtorrent/./node_modules/ieee754/index.js","webpack://webtorrent/./node_modules/buffer-xor/index.js","webpack://webtorrent/./node_modules/create-hash/md5.js","webpack://webtorrent/./node_modules/readable-stream/lib/internal/streams/buffer_list.js","webpack://webtorrent/./node_modules/elliptic/lib/elliptic/curve/mont.js","webpack://webtorrent/./node_modules/sha.js/hash.js","webpack://webtorrent/./node_modules/join-async-iterator/index.js","webpack://webtorrent/./node_modules/math-intrinsics/round.js","webpack://webtorrent/./node_modules/get-intrinsic/index.js","webpack://webtorrent/./node_modules/browserify-aes/aes.js","webpack://webtorrent/./node_modules/elliptic/lib/elliptic/curves.js","webpack://webtorrent/./node_modules/side-channel-map/index.js","webpack://webtorrent/./node_modules/browserify-aes/modes/index.js","webpack://webtorrent/./node_modules/util/util.js","webpack://webtorrent/./node_modules/escape-html/index.js","webpack://webtorrent/./node_modules/ipaddr.js/lib/ipaddr.js","webpack://webtorrent/./node_modules/browserify-aes/streamCipher.js","webpack://webtorrent/./node_modules/es-define-property/index.js","webpack://webtorrent/./node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams/BufferList.js","webpack://webtorrent/./node_modules/pbkdf2/lib/sync.js","webpack://webtorrent/./polyfills/process-fast.js","webpack://webtorrent/./node_modules/asn1.js/lib/asn1/encoders/pem.js","webpack://webtorrent/./node_modules/debug/src/common.js","webpack://webtorrent/./node_modules/pump/index.js","webpack://webtorrent/./node_modules/elliptic/lib/elliptic/curve/index.js","webpack://webtorrent/./node_modules/side-channel/index.js","webpack://webtorrent/./node_modules/freelist/index.js","webpack://webtorrent/./node_modules/bencode/lib/util.js","webpack://webtorrent/./node_modules/bencode/lib/encode.js","webpack://webtorrent/./node_modules/bencode/lib/decode.js","webpack://webtorrent/./node_modules/bencode/lib/encoding-length.js","webpack://webtorrent/./node_modules/bencode/index.js","webpack://webtorrent/./node_modules/asn1.js/lib/asn1/base/node.js","webpack://webtorrent/./node_modules/call-bind-apply-helpers/functionApply.js","webpack://webtorrent/./node_modules/throughput/index.js","webpack://webtorrent/./node_modules/get-proto/Object.getPrototypeOf.js","webpack://webtorrent/./node_modules/object-keys/isArguments.js","webpack://webtorrent/./node_modules/mime/lite.js","webpack://webtorrent/./node_modules/parse-asn1/asn1.js","webpack://webtorrent/./node_modules/miller-rabin/node_modules/bn.js/lib/bn.js","webpack://webtorrent/./node_modules/object-keys/index.js","webpack://webtorrent/./node_modules/elliptic/lib/elliptic/ec/key.js","webpack://webtorrent/./node_modules/es-errors/eval.js","webpack://webtorrent/./node_modules/browserify-aes/browser.js","webpack://webtorrent/./node_modules/elliptic/lib/elliptic/curve/edwards.js","webpack://webtorrent/./node_modules/unordered-array-remove/index.js","webpack://webtorrent/./node_modules/create-ecdh/browser.js","webpack://webtorrent/./node_modules/has-symbols/shams.js","webpack://webtorrent/./node_modules/readable-stream/lib/internal/streams/stream.js","webpack://webtorrent/./node_modules/block-iterator/index.js","webpack://webtorrent/./node_modules/object.assign/polyfill.js","webpack://webtorrent/./node_modules/crypto-browserify/index.js","webpack://webtorrent/./node_modules/ws/browser.js","webpack://webtorrent/./node_modules/querystring/decode.js","webpack://webtorrent/./node_modules/run-series/index.js","webpack://webtorrent/./node_modules/@webtorrent/http-node/_http_server.js","webpack://webtorrent/./node_modules/create-hmac/legacy.js","webpack://webtorrent/./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_transform.js","webpack://webtorrent/./node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams/stream.js","webpack://webtorrent/./node_modules/hash.js/lib/hash/sha/384.js","webpack://webtorrent/./node_modules/asn1.js/lib/asn1/decoders/der.js","webpack://webtorrent/./node_modules/public-encrypt/xor.js","webpack://webtorrent/./node_modules/speed-limiter/lib/utils.js","webpack://webtorrent/./node_modules/compact2string/index.js","webpack://webtorrent/./node_modules/asn1.js/lib/asn1/constants/index.js","webpack://webtorrent/./node_modules/@webtorrent/http-node/http.js","webpack://webtorrent/./node_modules/des.js/lib/des/des.js","webpack://webtorrent/./node_modules/browserify-sign/node_modules/isarray/index.js","webpack://webtorrent/./node_modules/miller-rabin/lib/mr.js","webpack://webtorrent/./node_modules/side-channel-weakmap/index.js","webpack://webtorrent/./node_modules/hash.js/lib/hash/sha/256.js","webpack://webtorrent/./node_modules/asn1.js/node_modules/bn.js/lib/bn.js","webpack://webtorrent/./node_modules/browserify-aes/authCipher.js","webpack://webtorrent/./node_modules/browserify-des/modes.js","webpack://webtorrent/./node_modules/pbkdf2/lib/default-encoding.js","webpack://webtorrent/./node_modules/util/support/isBuffer.js","webpack://webtorrent/./node_modules/public-encrypt/node_modules/bn.js/lib/bn.js","webpack://webtorrent/./node_modules/browserify-aes/modes/ecb.js","webpack://webtorrent/./node_modules/qs/lib/parse.js","webpack://webtorrent/./node_modules/hmac-drbg/lib/hmac-drbg.js","webpack://webtorrent/./node_modules/@webtorrent/http-node/_http_common.js","webpack://webtorrent/./node_modules/setimmediate/setImmediate.js","webpack://webtorrent/./node_modules/create-ecdh/node_modules/bn.js/lib/bn.js","webpack://webtorrent/./node_modules/sha.js/index.js","webpack://webtorrent/./node_modules/des.js/lib/des/cipher.js","webpack://webtorrent/./node_modules/sha.js/sha384.js","webpack://webtorrent/./node_modules/asn1.js/lib/asn1/decoders/index.js","webpack://webtorrent/./node_modules/safe-buffer/index.js","webpack://webtorrent/./node_modules/range-parser/index.js","webpack://webtorrent/./node_modules/browserify-aes/modes/cbc.js","webpack://webtorrent/./node_modules/sha.js/sha512.js","webpack://webtorrent/./node_modules/readable-stream/lib/internal/streams/async_iterator.js","webpack://webtorrent/./node_modules/bitfield/lib/esm/index.js","webpack://webtorrent/./node_modules/browserify-aes/modes/ctr.js","webpack://webtorrent/./node_modules/limiter/lib/rateLimiter.js","webpack://webtorrent/./node_modules/limiter/lib/clock.js","webpack://webtorrent/./node_modules/math-intrinsics/sign.js","webpack://webtorrent/./node_modules/call-bind-apply-helpers/index.js","webpack://webtorrent/./node_modules/string_decoder/lib/string_decoder.js","webpack://webtorrent/./node_modules/call-bind-apply-helpers/actualApply.js","webpack://webtorrent/./node_modules/randombytes/browser.js","webpack://webtorrent/./node_modules/process-nextick-args/index.js","webpack://webtorrent/./node_modules/minimalistic-assert/index.js","webpack://webtorrent/./node_modules/pbkdf2/lib/to-buffer.js","webpack://webtorrent/./node_modules/des.js/lib/des/cbc.js","webpack://webtorrent/./node_modules/fast-readable-async-iterator/index.js","webpack://webtorrent/./node_modules/create-hmac/browser.js","webpack://webtorrent/./node_modules/once/once.js","webpack://webtorrent/./node_modules/readable-stream/lib/_stream_passthrough.js","webpack://webtorrent/./node_modules/get-proto/index.js","webpack://webtorrent/./node_modules/immediate-chunk-store/index.js","webpack://webtorrent/./node_modules/sha.js/sha1.js","webpack://webtorrent/./node_modules/pbkdf2/lib/async.js","webpack://webtorrent/./node_modules/hash.js/lib/hash/sha/1.js","webpack://webtorrent/./node_modules/@webtorrent/http-node/_http_incoming.js","webpack://webtorrent/./node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js","webpack://webtorrent/./node_modules/cpus/browser.js","webpack://webtorrent/./node_modules/has-symbols/index.js","webpack://webtorrent/./node_modules/browserify-des/index.js","webpack://webtorrent/./node_modules/parse-asn1/fixProc.js","webpack://webtorrent/./node_modules/sha.js/sha256.js","webpack://webtorrent/./node_modules/browserify-sign/node_modules/readable-stream/node_modules/safe-buffer/index.js","webpack://webtorrent/./node_modules/pbkdf2/lib/precondition.js","webpack://webtorrent/./node_modules/minimalistic-crypto-utils/lib/utils.js","webpack://webtorrent/./node_modules/math-intrinsics/isNaN.js","webpack://webtorrent/./node_modules/cache-chunk-store/index.js","webpack://webtorrent/./node_modules/assert/assert.js","webpack://webtorrent/./node_modules/asn1.js/lib/asn1/constants/der.js","webpack://webtorrent/./node_modules/readable-stream/lib/_stream_transform.js","webpack://webtorrent/./node_modules/text-decoder/lib/pass-through-decoder.js","webpack://webtorrent/./node_modules/util-deprecate/browser.js","webpack://webtorrent/./node_modules/k-rpc-socket/node_modules/bencode/lib/decode.js","webpack://webtorrent/./node_modules/asn1.js/lib/asn1/encoders/index.js","webpack://webtorrent/./node_modules/hash-base/index.js","webpack://webtorrent/./node_modules/qs/lib/formats.js","webpack://webtorrent/./node_modules/side-channel-list/index.js","webpack://webtorrent/./node_modules/browserify-sign/browser/verify.js","webpack://webtorrent/./node_modules/memory-chunk-store/index.js","webpack://webtorrent/./node_modules/diffie-hellman/lib/dh.js","webpack://webtorrent/./node_modules/diffie-hellman/lib/generatePrime.js","webpack://webtorrent/./node_modules/k-rpc/index.js","webpack://webtorrent/./node_modules/brorand/index.js","webpack://webtorrent/./node_modules/browserify-aes/incr32.js","webpack://webtorrent/./node_modules/chrome-dns/index.js","webpack://webtorrent/./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_passthrough.js","webpack://webtorrent/./node_modules/browserify-aes/modes/cfb1.js","webpack://webtorrent/./node_modules/des.js/lib/des/ede.js","webpack://webtorrent/./node_modules/readable-stream/lib/internal/streams/state.js","webpack://webtorrent/./node_modules/record-cache/index.js","webpack://webtorrent/./node_modules/text-decoder/index.js","webpack://webtorrent/./node_modules/es-errors/uri.js","webpack://webtorrent/./node_modules/browserify-sign/browser/sign.js","webpack://webtorrent/./node_modules/run-parallel-limit/index.js","webpack://webtorrent/./node_modules/qs/lib/index.js","webpack://webtorrent/./node_modules/diffie-hellman/browser.js","webpack://webtorrent/./node_modules/readable-stream/lib/_stream_duplex.js","webpack://webtorrent/./node_modules/readable-stream/lib/_stream_readable.js","webpack://webtorrent/./node_modules/limiter/lib/tokenBucket.js","webpack://webtorrent/./node_modules/pbkdf2/index.js","webpack://webtorrent/./node_modules/core-util-is/lib/util.js","webpack://webtorrent/./lib/peer.js","webpack://webtorrent/./node_modules/browserify-sign/algos.js","webpack://webtorrent/./node_modules/gopd/index.js","webpack://webtorrent/./node_modules/browserify-aes/encrypter.js","webpack://webtorrent/./node_modules/fast-fifo/fixed-size.js","webpack://webtorrent/./node_modules/math-intrinsics/pow.js","webpack://webtorrent/./node_modules/browserify-aes/ghash.js","webpack://webtorrent/./node_modules/readable-stream/lib/internal/streams/destroy.js","webpack://webtorrent/./node_modules/http-parser-js/http-parser.js","webpack://webtorrent/./node_modules/@webtorrent/http-node/_http_client.js","webpack://webtorrent/./node_modules/ripemd160/index.js","webpack://webtorrent/./node_modules/text-decoder/lib/utf8-decoder.js","webpack://webtorrent/./node_modules/fast-fifo/index.js","webpack://webtorrent/./node_modules/hash.js/lib/hash/common.js","webpack://webtorrent/./node_modules/cipher-base/index.js","webpack://webtorrent/./node_modules/browserify-aes/decrypter.js","webpack://webtorrent/./node_modules/math-intrinsics/max.js","webpack://webtorrent/./node_modules/hash.js/lib/hash/sha/common.js","webpack://webtorrent/./node_modules/hash.js/lib/hash/sha.js","webpack://webtorrent/./node_modules/readable-stream/lib/internal/streams/end-of-stream.js","webpack://webtorrent/./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_duplex.js","webpack://webtorrent/./node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams/destroy.js","webpack://webtorrent/./node_modules/err-code/index.js","webpack://webtorrent/./node_modules/browserify-aes/modes/cfb.js","webpack://webtorrent/./node_modules/parse-asn1/certificate.js","webpack://webtorrent/./node_modules/browserify-sign/node_modules/string_decoder/lib/string_decoder.js","webpack://webtorrent/./node_modules/bittorrent-protocol/index.js","webpack://webtorrent/./node_modules/diffie-hellman/node_modules/bn.js/lib/bn.js","webpack://webtorrent/./node_modules/readable-stream/lib/internal/streams/from.js","webpack://webtorrent/./node_modules/gopd/gOPD.js","webpack://webtorrent/./node_modules/call-bound/index.js","webpack://webtorrent/./node_modules/ms/index.js","webpack://webtorrent/./node_modules/wrappy/wrappy.js","webpack://webtorrent/./node_modules/end-of-stream/index.js","webpack://webtorrent/./node_modules/util/node_modules/inherits/inherits_browser.js","webpack://webtorrent/./node_modules/elliptic/lib/elliptic/eddsa/key.js","webpack://webtorrent/./node_modules/elliptic/lib/elliptic/curve/base.js","webpack://webtorrent/./node_modules/inherits/inherits_browser.js","webpack://webtorrent/./node_modules/readable-stream/lib/_stream_writable.js","webpack://webtorrent/./node_modules/sha.js/sha224.js","webpack://webtorrent/./node_modules/elliptic/lib/elliptic.js","webpack://webtorrent/./node_modules/function-bind/index.js","webpack://webtorrent/./node_modules/hash.js/lib/hash/ripemd.js","webpack://webtorrent/./node_modules/k-rpc-socket/node_modules/bencode/lib/encoding-length.js","webpack://webtorrent/./version.cjs","webpack://webtorrent/./node_modules/browserify-aes/modes/ofb.js","webpack://webtorrent/./node_modules/browserify-aes/modes/cfb8.js","webpack://webtorrent/./node_modules/randomfill/browser.js","webpack://webtorrent/./node_modules/events/events.js","webpack://webtorrent/./node_modules/elliptic/lib/elliptic/utils.js","webpack://webtorrent/./node_modules/b4a/index.js","webpack://webtorrent/./node_modules/timers-browserify/main.js","webpack://webtorrent/./node_modules/create-hash/browser.js","webpack://webtorrent/./node_modules/call-bind-apply-helpers/reflectApply.js","webpack://webtorrent/./node_modules/public-encrypt/browser.js","webpack://webtorrent/./node_modules/dunder-proto/get.js","webpack://webtorrent/./node_modules/last-one-wins/index.js","webpack://webtorrent/./node_modules/querystring/index.js","webpack://webtorrent/./node_modules/asn1.js/lib/asn1/base/buffer.js","webpack://webtorrent/./node_modules/is-file/index.js","webpack://webtorrent/./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_writable.js","webpack://webtorrent/./node_modules/browserify-rsa/index.js","webpack://webtorrent/./node_modules/public-encrypt/privateDecrypt.js","webpack://webtorrent/./node_modules/asn1.js/lib/asn1/api.js","webpack://webtorrent/./node_modules/random-iterate/index.js","webpack://webtorrent/./node_modules/hash.js/lib/hash/utils.js","webpack://webtorrent/./node_modules/elliptic/lib/elliptic/ec/index.js","webpack://webtorrent/./node_modules/base64-js/index.js","webpack://webtorrent/./node_modules/speed-limiter/index.js","webpack://webtorrent/./node_modules/k-rpc-socket/index.js","webpack://webtorrent/./node_modules/asn1.js/lib/asn1.js","webpack://webtorrent/./node_modules/des.js/lib/des/utils.js","webpack://webtorrent/./node_modules/hash.js/lib/hash/sha/224.js","webpack://webtorrent/./node_modules/qs/lib/utils.js","webpack://webtorrent/./node_modules/readable-stream/lib/internal/streams/pipeline.js","webpack://webtorrent/./node_modules/hash.js/lib/hash/sha/512.js","webpack://webtorrent/./node_modules/sha.js/sha.js","webpack://webtorrent/./node_modules/debug/src/browser.js","webpack://webtorrent/./node_modules/chrome-dgram/index.js","webpack://webtorrent/./node_modules/hash.js/lib/hash.js","webpack://webtorrent/./node_modules/k-rpc-socket/node_modules/bencode/lib/util.js","webpack://webtorrent/./node_modules/math-intrinsics/min.js","webpack://webtorrent/./node_modules/es-errors/syntax.js","webpack://webtorrent/./node_modules/evp_bytestokey/index.js","webpack://webtorrent/./node_modules/object-inspect/util.inspect.js","webpack://webtorrent/./node_modules/parse-asn1/index.js","webpack://webtorrent/./node_modules/streamx/index.js","webpack://webtorrent/./node_modules/run-parallel/index.js","webpack://webtorrent/./node_modules/public-encrypt/mgf.js","webpack://webtorrent/./node_modules/md5.js/index.js","webpack://webtorrent/./node_modules/buffer/index.js","webpack://webtorrent/./node_modules/stream-browserify/index.js","webpack://webtorrent/./node_modules/browserify-sign/node_modules/string_decoder/node_modules/safe-buffer/index.js","webpack://webtorrent/./node_modules/k-rpc-socket/node_modules/bencode/lib/index.js","webpack://webtorrent/./node_modules/object.assign/implementation.js","webpack://webtorrent/./node_modules/@webtorrent/http-node/_http_outgoing.js","webpack://webtorrent/./node_modules/piece-length/index.js","webpack://webtorrent/./node_modules/mime/types/standard.js","webpack://webtorrent/./node_modules/lru/index.js","webpack://webtorrent/./node_modules/elliptic/node_modules/bn.js/lib/bn.js","webpack://webtorrent/./node_modules/speed-limiter/lib/throttle-group.js","webpack://webtorrent/./node_modules/elliptic/lib/elliptic/ec/signature.js","webpack://webtorrent/./node_modules/qs/lib/stringify.js","webpack://webtorrent/./node_modules/get-proto/Reflect.getPrototypeOf.js","webpack://webtorrent/./node_modules/elliptic/lib/elliptic/eddsa/index.js","webpack://webtorrent/./node_modules/mime/Mime.js","webpack://webtorrent/./node_modules/rc4/rc4.js","webpack://webtorrent/./node_modules/k-rpc-socket/node_modules/bencode/lib/encode.js","webpack://webtorrent/./node_modules/@webtorrent/http-node/_http_agent.js","webpack://webtorrent/./node_modules/speed-limiter/lib/throttle.js","webpack://webtorrent/./node_modules/url/url.js","webpack://webtorrent/./node_modules/object-inspect/index.js","webpack://webtorrent/./node_modules/object-keys/implementation.js","webpack://webtorrent/./node_modules/public-encrypt/publicEncrypt.js","webpack://webtorrent/./node_modules/asn1.js/lib/asn1/decoders/pem.js","webpack://webtorrent/./node_modules/hash.js/lib/hash/hmac.js","webpack://webtorrent/./node_modules/chrome-net/index.js","webpack://webtorrent/./node_modules/math-intrinsics/floor.js","webpack://webtorrent/./node_modules/querystring/encode.js","webpack://webtorrent/./node_modules/math-intrinsics/abs.js","webpack://webtorrent/./node_modules/elliptic/lib/elliptic/curve/short.js","webpack://webtorrent/./node_modules/asn1.js/lib/asn1/base/reporter.js","webpack://webtorrent/./node_modules/public-encrypt/withPublic.js","webpack://webtorrent/./node_modules/es-errors/range.js","webpack://webtorrent/./node_modules/function-bind/implementation.js","webpack://webtorrent/./node_modules/es-errors/index.js","webpack://webtorrent/./node_modules/bn.js/lib/bn.js","webpack://webtorrent/./node_modules/limiter/index.js","webpack://webtorrent/./node_modules/es-errors/ref.js","webpack://webtorrent/./node_modules/des.js/lib/des.js","webpack://webtorrent/./node_modules/queue-microtask/index.js","webpack://webtorrent/./node_modules/es-object-atoms/index.js","webpack://webtorrent/./node_modules/uint8-util/util.js","webpack://webtorrent/./node_modules/base64-arraybuffer/dist/base64-arraybuffer.es5.js","webpack://webtorrent/./node_modules/uint8-util/browser.js","webpack://webtorrent/./node_modules/punycode/punycode.js","webpack://webtorrent/./node_modules/asn1.js/lib/asn1/base/index.js","webpack://webtorrent/./node_modules/es-errors/type.js","webpack://webtorrent/./node_modules/hasown/index.js","webpack://webtorrent/./node_modules/k-bucket/index.js","webpack://webtorrent/webpack/bootstrap","webpack://webtorrent/webpack/runtime/define property getters","webpack://webtorrent/webpack/runtime/hasOwnProperty shorthand","webpack://webtorrent/webpack/runtime/make namespace object","webpack://webtorrent/webpack/runtime/node module decorator","webpack://webtorrent/./node_modules/path-esm/lib/util.js","webpack://webtorrent/./node_modules/path-esm/lib/normalize.js","webpack://webtorrent/./node_modules/path-esm/lib/join.js","webpack://webtorrent/./node_modules/path-esm/index.js","webpack://webtorrent/./node_modules/junk/index.js","webpack://webtorrent/./node_modules/create-torrent/get-files.js","webpack://webtorrent/./node_modules/create-torrent/index.js","webpack://webtorrent/./node_modules/path-esm/lib/basename.js","webpack://webtorrent/./node_modules/bittorrent-dht/client.js","webpack://webtorrent/./node_modules/cross-fetch-ponyfill/browser.js","webpack://webtorrent/./node_modules/@thaunknown/thirty-two/lib/thirty-two/index.js","webpack://webtorrent/./node_modules/bep53-range/index.js","webpack://webtorrent/./node_modules/magnet-uri/index.js","webpack://webtorrent/./node_modules/parse-torrent/index.js","webpack://webtorrent/./node_modules/webrtc-polyfill/browser.js","webpack://webtorrent/./node_modules/@thaunknown/simple-peer/lite.js","webpack://webtorrent/./lib/conn-pool.js","webpack://webtorrent/./node_modules/addr-to-ip-port/index.js","webpack://webtorrent/./node_modules/chunk-store-iterator/index.js","webpack://webtorrent/./node_modules/bittorrent-tracker/lib/common-node.js","webpack://webtorrent/./node_modules/bittorrent-tracker/lib/common.js","webpack://webtorrent/./node_modules/bittorrent-tracker/lib/client/tracker.js","webpack://webtorrent/./node_modules/bittorrent-tracker/lib/client/http-tracker.js","webpack://webtorrent/./node_modules/bittorrent-tracker/lib/client/udp-tracker.js","webpack://webtorrent/./node_modules/@thaunknown/simple-websocket/index.js","webpack://webtorrent/./node_modules/bittorrent-tracker/lib/client/websocket-tracker.js","webpack://webtorrent/./node_modules/bittorrent-tracker/client.js","webpack://webtorrent/./node_modules/bittorrent-tracker/index.js","webpack://webtorrent/./node_modules/bittorrent-lsd/index.js","webpack://webtorrent/./node_modules/torrent-discovery/index.js","webpack://webtorrent/./node_modules/lt_donthave/index.js","webpack://webtorrent/./node_modules/torrent-piece/index.js","webpack://webtorrent/./node_modules/ut_metadata/index.js","webpack://webtorrent/./node_modules/string2compact/index.js","webpack://webtorrent/./node_modules/ut_pex/index.js","webpack://webtorrent/./lib/file-iterator.js","webpack://webtorrent/./lib/file.js","webpack://webtorrent/./lib/rarity-map.js","webpack://webtorrent/./lib/webconn.js","webpack://webtorrent/./lib/selections.js","webpack://webtorrent/./lib/torrent.js","webpack://webtorrent/./lib/server.js","webpack://webtorrent/./index.js","webpack://webtorrent/./node_modules/path-esm/lib/dirname.js"],"sourcesContent":["'use strict';\n\nvar Buffer = require('safe-buffer').Buffer;\nvar createHash = require('create-hash');\nvar stream = require('readable-stream');\nvar inherits = require('inherits');\nvar sign = require('./sign');\nvar verify = require('./verify');\n\nvar algorithms = require('./algorithms.json');\nObject.keys(algorithms).forEach(function (key) {\n algorithms[key].id = Buffer.from(algorithms[key].id, 'hex');\n algorithms[key.toLowerCase()] = algorithms[key];\n});\n\nfunction Sign(algorithm) {\n stream.Writable.call(this);\n\n var data = algorithms[algorithm];\n if (!data) { throw new Error('Unknown message digest'); }\n\n this._hashType = data.hash;\n this._hash = createHash(data.hash);\n this._tag = data.id;\n this._signType = data.sign;\n}\ninherits(Sign, stream.Writable);\n\nSign.prototype._write = function _write(data, _, done) {\n this._hash.update(data);\n done();\n};\n\nSign.prototype.update = function update(data, enc) {\n this._hash.update(typeof data === 'string' ? Buffer.from(data, enc) : data);\n\n return this;\n};\n\nSign.prototype.sign = function signMethod(key, enc) {\n this.end();\n var hash = this._hash.digest();\n var sig = sign(hash, key, this._hashType, this._signType, this._tag);\n\n return enc ? sig.toString(enc) : sig;\n};\n\nfunction Verify(algorithm) {\n stream.Writable.call(this);\n\n var data = algorithms[algorithm];\n if (!data) { throw new Error('Unknown message digest'); }\n\n this._hash = createHash(data.hash);\n this._tag = data.id;\n this._signType = data.sign;\n}\ninherits(Verify, stream.Writable);\n\nVerify.prototype._write = function _write(data, _, done) {\n this._hash.update(data);\n done();\n};\n\nVerify.prototype.update = function update(data, enc) {\n this._hash.update(typeof data === 'string' ? Buffer.from(data, enc) : data);\n\n return this;\n};\n\nVerify.prototype.verify = function verifyMethod(key, sig, enc) {\n var sigBuffer = typeof sig === 'string' ? Buffer.from(sig, enc) : sig;\n\n this.end();\n var hash = this._hash.digest();\n return verify(sigBuffer, hash, key, this._signType, this._tag);\n};\n\nfunction createSign(algorithm) {\n return new Sign(algorithm);\n}\n\nfunction createVerify(algorithm) {\n return new Verify(algorithm);\n}\n\nmodule.exports = {\n Sign: createSign,\n Verify: createVerify,\n createSign: createSign,\n createVerify: createVerify\n};\n","'use strict';\n\n/** @type {import('./functionCall')} */\nmodule.exports = Function.prototype.call;\n","var inherits = require('inherits');\nvar Buffer = require('buffer').Buffer;\n\nvar asn1 = require('../../asn1');\nvar base = asn1.base;\n\n// Import DER constants\nvar der = asn1.constants.der;\n\nfunction DEREncoder(entity) {\n this.enc = 'der';\n this.name = entity.name;\n this.entity = entity;\n\n // Construct base tree\n this.tree = new DERNode();\n this.tree._init(entity.body);\n};\nmodule.exports = DEREncoder;\n\nDEREncoder.prototype.encode = function encode(data, reporter) {\n return this.tree._encode(data, reporter).join();\n};\n\n// Tree methods\n\nfunction DERNode(parent) {\n base.Node.call(this, 'der', parent);\n}\ninherits(DERNode, base.Node);\n\nDERNode.prototype._encodeComposite = function encodeComposite(tag,\n primitive,\n cls,\n content) {\n var encodedTag = encodeTag(tag, primitive, cls, this.reporter);\n\n // Short form\n if (content.length < 0x80) {\n var header = new Buffer(2);\n header[0] = encodedTag;\n header[1] = content.length;\n return this._createEncoderBuffer([ header, content ]);\n }\n\n // Long form\n // Count octets required to store length\n var lenOctets = 1;\n for (var i = content.length; i >= 0x100; i >>= 8)\n lenOctets++;\n\n var header = new Buffer(1 + 1 + lenOctets);\n header[0] = encodedTag;\n header[1] = 0x80 | lenOctets;\n\n for (var i = 1 + lenOctets, j = content.length; j > 0; i--, j >>= 8)\n header[i] = j & 0xff;\n\n return this._createEncoderBuffer([ header, content ]);\n};\n\nDERNode.prototype._encodeStr = function encodeStr(str, tag) {\n if (tag === 'bitstr') {\n return this._createEncoderBuffer([ str.unused | 0, str.data ]);\n } else if (tag === 'bmpstr') {\n var buf = new Buffer(str.length * 2);\n for (var i = 0; i < str.length; i++) {\n buf.writeUInt16BE(str.charCodeAt(i), i * 2);\n }\n return this._createEncoderBuffer(buf);\n } else if (tag === 'numstr') {\n if (!this._isNumstr(str)) {\n return this.reporter.error('Encoding of string type: numstr supports ' +\n 'only digits and space');\n }\n return this._createEncoderBuffer(str);\n } else if (tag === 'printstr') {\n if (!this._isPrintstr(str)) {\n return this.reporter.error('Encoding of string type: printstr supports ' +\n 'only latin upper and lower case letters, ' +\n 'digits, space, apostrophe, left and rigth ' +\n 'parenthesis, plus sign, comma, hyphen, ' +\n 'dot, slash, colon, equal sign, ' +\n 'question mark');\n }\n return this._createEncoderBuffer(str);\n } else if (/str$/.test(tag)) {\n return this._createEncoderBuffer(str);\n } else if (tag === 'objDesc') {\n return this._createEncoderBuffer(str);\n } else {\n return this.reporter.error('Encoding of string type: ' + tag +\n ' unsupported');\n }\n};\n\nDERNode.prototype._encodeObjid = function encodeObjid(id, values, relative) {\n if (typeof id === 'string') {\n if (!values)\n return this.reporter.error('string objid given, but no values map found');\n if (!values.hasOwnProperty(id))\n return this.reporter.error('objid not found in values map');\n id = values[id].split(/[\\s\\.]+/g);\n for (var i = 0; i < id.length; i++)\n id[i] |= 0;\n } else if (Array.isArray(id)) {\n id = id.slice();\n for (var i = 0; i < id.length; i++)\n id[i] |= 0;\n }\n\n if (!Array.isArray(id)) {\n return this.reporter.error('objid() should be either array or string, ' +\n 'got: ' + JSON.stringify(id));\n }\n\n if (!relative) {\n if (id[1] >= 40)\n return this.reporter.error('Second objid identifier OOB');\n id.splice(0, 2, id[0] * 40 + id[1]);\n }\n\n // Count number of octets\n var size = 0;\n for (var i = 0; i < id.length; i++) {\n var ident = id[i];\n for (size++; ident >= 0x80; ident >>= 7)\n size++;\n }\n\n var objid = new Buffer(size);\n var offset = objid.length - 1;\n for (var i = id.length - 1; i >= 0; i--) {\n var ident = id[i];\n objid[offset--] = ident & 0x7f;\n while ((ident >>= 7) > 0)\n objid[offset--] = 0x80 | (ident & 0x7f);\n }\n\n return this._createEncoderBuffer(objid);\n};\n\nfunction two(num) {\n if (num < 10)\n return '0' + num;\n else\n return num;\n}\n\nDERNode.prototype._encodeTime = function encodeTime(time, tag) {\n var str;\n var date = new Date(time);\n\n if (tag === 'gentime') {\n str = [\n two(date.getFullYear()),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n 'Z'\n ].join('');\n } else if (tag === 'utctime') {\n str = [\n two(date.getFullYear() % 100),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n 'Z'\n ].join('');\n } else {\n this.reporter.error('Encoding ' + tag + ' time is not supported yet');\n }\n\n return this._encodeStr(str, 'octstr');\n};\n\nDERNode.prototype._encodeNull = function encodeNull() {\n return this._createEncoderBuffer('');\n};\n\nDERNode.prototype._encodeInt = function encodeInt(num, values) {\n if (typeof num === 'string') {\n if (!values)\n return this.reporter.error('String int or enum given, but no values map');\n if (!values.hasOwnProperty(num)) {\n return this.reporter.error('Values map doesn\\'t contain: ' +\n JSON.stringify(num));\n }\n num = values[num];\n }\n\n // Bignum, assume big endian\n if (typeof num !== 'number' && !Buffer.isBuffer(num)) {\n var numArray = num.toArray();\n if (!num.sign && numArray[0] & 0x80) {\n numArray.unshift(0);\n }\n num = new Buffer(numArray);\n }\n\n if (Buffer.isBuffer(num)) {\n var size = num.length;\n if (num.length === 0)\n size++;\n\n var out = new Buffer(size);\n num.copy(out);\n if (num.length === 0)\n out[0] = 0\n return this._createEncoderBuffer(out);\n }\n\n if (num < 0x80)\n return this._createEncoderBuffer(num);\n\n if (num < 0x100)\n return this._createEncoderBuffer([0, num]);\n\n var size = 1;\n for (var i = num; i >= 0x100; i >>= 8)\n size++;\n\n var out = new Array(size);\n for (var i = out.length - 1; i >= 0; i--) {\n out[i] = num & 0xff;\n num >>= 8;\n }\n if(out[0] & 0x80) {\n out.unshift(0);\n }\n\n return this._createEncoderBuffer(new Buffer(out));\n};\n\nDERNode.prototype._encodeBool = function encodeBool(value) {\n return this._createEncoderBuffer(value ? 0xff : 0);\n};\n\nDERNode.prototype._use = function use(entity, obj) {\n if (typeof entity === 'function')\n entity = entity(obj);\n return entity._getEncoder('der').tree;\n};\n\nDERNode.prototype._skipDefault = function skipDefault(dataBuffer, reporter, parent) {\n var state = this._baseState;\n var i;\n if (state['default'] === null)\n return false;\n\n var data = dataBuffer.join();\n if (state.defaultBuffer === undefined)\n state.defaultBuffer = this._encodeValue(state['default'], reporter, parent).join();\n\n if (data.length !== state.defaultBuffer.length)\n return false;\n\n for (i=0; i < data.length; i++)\n if (data[i] !== state.defaultBuffer[i])\n return false;\n\n return true;\n};\n\n// Utility methods\n\nfunction encodeTag(tag, primitive, cls, reporter) {\n var res;\n\n if (tag === 'seqof')\n tag = 'seq';\n else if (tag === 'setof')\n tag = 'set';\n\n if (der.tagByName.hasOwnProperty(tag))\n res = der.tagByName[tag];\n else if (typeof tag === 'number' && (tag | 0) === tag)\n res = tag;\n else\n return reporter.error('Unknown tag: ' + tag);\n\n if (res >= 0x1f)\n return reporter.error('Multi-octet tag encoding unsupported');\n\n if (!primitive)\n res |= 0x20;\n\n res |= (der.tagClassByName[cls || 'universal'] << 6);\n\n return res;\n}\n","var Stream = require('stream');\nif (process.env.READABLE_STREAM === 'disable' && Stream) {\n module.exports = Stream;\n exports = module.exports = Stream.Readable;\n exports.Readable = Stream.Readable;\n exports.Writable = Stream.Writable;\n exports.Duplex = Stream.Duplex;\n exports.Transform = Stream.Transform;\n exports.PassThrough = Stream.PassThrough;\n exports.Stream = Stream;\n} else {\n exports = module.exports = require('./lib/_stream_readable.js');\n exports.Stream = Stream || exports;\n exports.Readable = exports;\n exports.Writable = require('./lib/_stream_writable.js');\n exports.Duplex = require('./lib/_stream_duplex.js');\n exports.Transform = require('./lib/_stream_transform.js');\n exports.PassThrough = require('./lib/_stream_passthrough.js');\n}\n","'use strict';\n\nconst codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error\n }\n\n function getMessage (arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message\n } else {\n return message(arg1, arg2, arg3)\n }\n }\n\n class NodeError extends Base {\n constructor (arg1, arg2, arg3) {\n super(getMessage(arg1, arg2, arg3));\n }\n }\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n\n codes[code] = NodeError;\n}\n\n// https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n const len = expected.length;\n expected = expected.map((i) => String(i));\n if (len > 2) {\n return `one of ${thing} ${expected.slice(0, len - 1).join(', ')}, or ` +\n expected[len - 1];\n } else if (len === 2) {\n return `one of ${thing} ${expected[0]} or ${expected[1]}`;\n } else {\n return `of ${thing} ${expected[0]}`;\n }\n } else {\n return `of ${thing} ${String(expected)}`;\n }\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\nfunction startsWith(str, search, pos) {\n\treturn str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\nfunction endsWith(str, search, this_len) {\n\tif (this_len === undefined || this_len > str.length) {\n\t\tthis_len = str.length;\n\t}\n\treturn str.substring(this_len - search.length, this_len) === search;\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"'\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n let determiner;\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n let msg;\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = `The ${name} ${determiner} ${oneOf(expected, 'type')}`;\n } else {\n const type = includes(name, '.') ? 'property' : 'argument';\n msg = `The \"${name}\" ${type} ${determiner} ${oneOf(expected, 'type')}`;\n }\n\n msg += `. Received type ${typeof actual}`;\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented'\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\n\nmodule.exports.codes = codes;\n","var DES = require('browserify-des')\nvar aes = require('browserify-aes/browser')\nvar aesModes = require('browserify-aes/modes')\nvar desModes = require('browserify-des/modes')\nvar ebtk = require('evp_bytestokey')\n\nfunction createCipher (suite, password) {\n suite = suite.toLowerCase()\n\n var keyLen, ivLen\n if (aesModes[suite]) {\n keyLen = aesModes[suite].key\n ivLen = aesModes[suite].iv\n } else if (desModes[suite]) {\n keyLen = desModes[suite].key * 8\n ivLen = desModes[suite].iv\n } else {\n throw new TypeError('invalid suite type')\n }\n\n var keys = ebtk(password, false, keyLen, ivLen)\n return createCipheriv(suite, keys.key, keys.iv)\n}\n\nfunction createDecipher (suite, password) {\n suite = suite.toLowerCase()\n\n var keyLen, ivLen\n if (aesModes[suite]) {\n keyLen = aesModes[suite].key\n ivLen = aesModes[suite].iv\n } else if (desModes[suite]) {\n keyLen = desModes[suite].key * 8\n ivLen = desModes[suite].iv\n } else {\n throw new TypeError('invalid suite type')\n }\n\n var keys = ebtk(password, false, keyLen, ivLen)\n return createDecipheriv(suite, keys.key, keys.iv)\n}\n\nfunction createCipheriv (suite, key, iv) {\n suite = suite.toLowerCase()\n if (aesModes[suite]) return aes.createCipheriv(suite, key, iv)\n if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite })\n\n throw new TypeError('invalid suite type')\n}\n\nfunction createDecipheriv (suite, key, iv) {\n suite = suite.toLowerCase()\n if (aesModes[suite]) return aes.createDecipheriv(suite, key, iv)\n if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite, decrypt: true })\n\n throw new TypeError('invalid suite type')\n}\n\nfunction getCiphers () {\n return Object.keys(desModes).concat(aes.getCiphers())\n}\n\nexports.createCipher = exports.Cipher = createCipher\nexports.createCipheriv = exports.Cipheriv = createCipheriv\nexports.createDecipher = exports.Decipher = createDecipher\nexports.createDecipheriv = exports.Decipheriv = createDecipheriv\nexports.listCiphers = exports.getCiphers = getCiphers\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\nmodule.exports = Readable;\n\n/**/\nvar isArray = require('isarray');\n/**/\n\n/**/\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n\n/**/\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function (emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\nvar OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\n/**/\nvar debugUtil = require('util');\nvar debug = void 0;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function () {};\n}\n/**/\n\nvar BufferList = require('./internal/streams/BufferList');\nvar destroyImpl = require('./internal/streams/destroy');\nvar StringDecoder;\n\nutil.inherits(Readable, Stream);\n\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream) {\n Duplex = Duplex || require('./_stream_duplex');\n\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n var isDuplex = stream instanceof Duplex;\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n var hwm = options.highWaterMark;\n var readableHwm = options.readableHighWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;else this.highWaterMark = defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n if (!(this instanceof Readable)) return new Readable(options);\n\n this._readableState = new ReadableState(options, this);\n\n // legacy\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n get: function () {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\n\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n this.push(null);\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n stream.emit('error', er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) stream.emit('error', new Error('stream.unshift() after end event'));else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n stream.emit('error', new Error('stream.push() after EOF'));\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n }\n }\n\n return needMoreData(state);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n stream.emit('data', chunk);\n stream.read(0);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n return er;\n}\n\n// if it's past the high water mark, we can push in some more.\n// Also, if we have no data yet, we can stand some\n// more bytes. This is to work around cases where hwm=0,\n// such as the repl. Also, if the push() triggered a\n// readable event, and the user called read(largeNumber) such that\n// needReadable was set, then we ought to push more, so that another\n// 'readable' event will be triggered.\nfunction needMoreData(state) {\n return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this._readableState.decoder = new StringDecoder(enc);\n this._readableState.encoding = enc;\n return this;\n};\n\n// Don't raise the hwm > 8MB\nvar MAX_HWM = 0x800000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = true;\n n = 0;\n } else {\n state.length -= n;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n\n // emit 'readable' now to make sure it gets picked up.\n emitReadable(stream);\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n if (state.sync) pna.nextTick(emitReadable_, stream);else emitReadable_(stream);\n }\n}\n\nfunction emitReadable_(stream) {\n debug('emit readable');\n stream.emit('readable');\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n pna.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n var len = state.length;\n while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;else len = state.length;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n this.emit('error', new Error('_read() is not implemented'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) pna.nextTick(endFn);else src.once('end', endFn);\n\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n // If the user pushes more data while we're writing to dest then we'll end up\n // in ondata again. However, we only want to increase awaitDrain once because\n // dest will only emit one 'drain' event for the multiple writes.\n // => Introduce a guard on increasing awaitDrain.\n var increasedAwaitDrain = false;\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n increasedAwaitDrain = false;\n var ret = dest.write(chunk);\n if (false === ret && !increasedAwaitDrain) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n increasedAwaitDrain = true;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) dest.emit('error', er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function () {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = { hasUnpiped: false };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, { hasUnpiped: false });\n }return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n\n dest.emit('unpipe', this, unpipeInfo);\n\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n\n if (ev === 'data') {\n // Start flowing on next tick if stream isn't explicitly paused\n if (this._readableState.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n var state = this._readableState;\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.emittedReadable = false;\n if (!state.reading) {\n pna.nextTick(nReadingNextTick, this);\n } else if (state.length) {\n emitReadable(this);\n }\n }\n }\n\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n state.flowing = true;\n resume(this, state);\n }\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n pna.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n if (!state.reading) {\n debug('resume read 0');\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n state.awaitDrain = 0;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (false !== this._readableState.flowing) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null) {}\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function (method) {\n return function () {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._readableState.highWaterMark;\n }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.head.data;else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = fromListPartial(n, state.buffer, state.decoder);\n }\n\n return ret;\n}\n\n// Extracts only enough buffered data to satisfy the amount requested.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromListPartial(n, list, hasStrings) {\n var ret;\n if (n < list.head.data.length) {\n // slice is the same for buffers and strings\n ret = list.head.data.slice(0, n);\n list.head.data = list.head.data.slice(n);\n } else if (n === list.head.data.length) {\n // first chunk is a perfect match\n ret = list.shift();\n } else {\n // result spans more than one buffer\n ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);\n }\n return ret;\n}\n\n// Copies a specified amount of characters from the list of buffered data\n// chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBufferString(n, list) {\n var p = list.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\n// Copies a specified amount of bytes from the list of buffered data chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBuffer(n, list) {\n var ret = Buffer.allocUnsafe(n);\n var p = list.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n\n // If we get here before consuming all the bytes, then that is a\n // bug in node. Should never happen.\n if (state.length > 0) throw new Error('\"endReadable()\" called on non-empty stream');\n\n if (!state.endEmitted) {\n state.ended = true;\n pna.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n }\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar cachedProperty = utils.cachedProperty;\nvar parseBytes = utils.parseBytes;\n\n/**\n* @param {EDDSA} eddsa - eddsa instance\n* @param {Array|Object} sig -\n* @param {Array|Point} [sig.R] - R point as Point or bytes\n* @param {Array|bn} [sig.S] - S scalar as bn or bytes\n* @param {Array} [sig.Rencoded] - R point encoded\n* @param {Array} [sig.Sencoded] - S scalar encoded\n*/\nfunction Signature(eddsa, sig) {\n this.eddsa = eddsa;\n\n if (typeof sig !== 'object')\n sig = parseBytes(sig);\n\n if (Array.isArray(sig)) {\n assert(sig.length === eddsa.encodingLength * 2, 'Signature has invalid size');\n sig = {\n R: sig.slice(0, eddsa.encodingLength),\n S: sig.slice(eddsa.encodingLength),\n };\n }\n\n assert(sig.R && sig.S, 'Signature without R or S');\n\n if (eddsa.isPoint(sig.R))\n this._R = sig.R;\n if (sig.S instanceof BN)\n this._S = sig.S;\n\n this._Rencoded = Array.isArray(sig.R) ? sig.R : sig.Rencoded;\n this._Sencoded = Array.isArray(sig.S) ? sig.S : sig.Sencoded;\n}\n\ncachedProperty(Signature, 'S', function S() {\n return this.eddsa.decodeInt(this.Sencoded());\n});\n\ncachedProperty(Signature, 'R', function R() {\n return this.eddsa.decodePoint(this.Rencoded());\n});\n\ncachedProperty(Signature, 'Rencoded', function Rencoded() {\n return this.eddsa.encodePoint(this.R());\n});\n\ncachedProperty(Signature, 'Sencoded', function Sencoded() {\n return this.eddsa.encodeInt(this.S());\n});\n\nSignature.prototype.toBytes = function toBytes() {\n return this.Rencoded().concat(this.Sencoded());\n};\n\nSignature.prototype.toHex = function toHex() {\n return utils.encode(this.toBytes(), 'hex').toUpperCase();\n};\n\nmodule.exports = Signature;\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","module.exports = function xor (a, b) {\n var length = Math.min(a.length, b.length)\n var buffer = new Buffer(length)\n\n for (var i = 0; i < length; ++i) {\n buffer[i] = a[i] ^ b[i]\n }\n\n return buffer\n}\n","var MD5 = require('md5.js')\n\nmodule.exports = function (buffer) {\n return new MD5().update(buffer).digest()\n}\n","'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar _require = require('buffer'),\n Buffer = _require.Buffer;\nvar _require2 = require('util'),\n inspect = _require2.inspect;\nvar custom = inspect && inspect.custom || 'inspect';\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\nmodule.exports = /*#__PURE__*/function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n _createClass(BufferList, [{\n key: \"push\",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: \"unshift\",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: \"join\",\n value: function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) ret += s + p.data;\n return ret;\n }\n }, {\n key: \"concat\",\n value: function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n }\n\n // Consumes a specified amount of bytes or characters from the buffered data.\n }, {\n key: \"consume\",\n value: function consume(n, hasStrings) {\n var ret;\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n return ret;\n }\n }, {\n key: \"first\",\n value: function first() {\n return this.head.data;\n }\n\n // Consumes a specified amount of characters from the buffered data.\n }, {\n key: \"_getString\",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Consumes a specified amount of bytes from the buffered data.\n }, {\n key: \"_getBuffer\",\n value: function _getBuffer(n) {\n var ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Make sure the linked list only shows the minimal necessary information.\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread(_objectSpread({}, options), {}, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n return BufferList;\n}();","'use strict';\n\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar utils = require('../utils');\n\nfunction MontCurve(conf) {\n Base.call(this, 'mont', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.i4 = new BN(4).toRed(this.red).redInvm();\n this.two = new BN(2).toRed(this.red);\n this.a24 = this.i4.redMul(this.a.redAdd(this.two));\n}\ninherits(MontCurve, Base);\nmodule.exports = MontCurve;\n\nMontCurve.prototype.validate = function validate(point) {\n var x = point.normalize().x;\n var x2 = x.redSqr();\n var rhs = x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x);\n var y = rhs.redSqrt();\n\n return y.redSqr().cmp(rhs) === 0;\n};\n\nfunction Point(curve, x, z) {\n Base.BasePoint.call(this, curve, 'projective');\n if (x === null && z === null) {\n this.x = this.curve.one;\n this.z = this.curve.zero;\n } else {\n this.x = new BN(x, 16);\n this.z = new BN(z, 16);\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n }\n}\ninherits(Point, Base.BasePoint);\n\nMontCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n return this.point(utils.toArray(bytes, enc), 1);\n};\n\nMontCurve.prototype.point = function point(x, z) {\n return new Point(this, x, z);\n};\n\nMontCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return Point.fromJSON(this, obj);\n};\n\nPoint.prototype.precompute = function precompute() {\n // No-op\n};\n\nPoint.prototype._encode = function _encode() {\n return this.getX().toArray('be', this.curve.p.byteLength());\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1] || curve.one);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n\nPoint.prototype.dbl = function dbl() {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#doubling-dbl-1987-m-3\n // 2M + 2S + 4A\n\n // A = X1 + Z1\n var a = this.x.redAdd(this.z);\n // AA = A^2\n var aa = a.redSqr();\n // B = X1 - Z1\n var b = this.x.redSub(this.z);\n // BB = B^2\n var bb = b.redSqr();\n // C = AA - BB\n var c = aa.redSub(bb);\n // X3 = AA * BB\n var nx = aa.redMul(bb);\n // Z3 = C * (BB + A24 * C)\n var nz = c.redMul(bb.redAdd(this.curve.a24.redMul(c)));\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.add = function add() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.diffAdd = function diffAdd(p, diff) {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#diffadd-dadd-1987-m-3\n // 4M + 2S + 6A\n\n // A = X2 + Z2\n var a = this.x.redAdd(this.z);\n // B = X2 - Z2\n var b = this.x.redSub(this.z);\n // C = X3 + Z3\n var c = p.x.redAdd(p.z);\n // D = X3 - Z3\n var d = p.x.redSub(p.z);\n // DA = D * A\n var da = d.redMul(a);\n // CB = C * B\n var cb = c.redMul(b);\n // X5 = Z1 * (DA + CB)^2\n var nx = diff.z.redMul(da.redAdd(cb).redSqr());\n // Z5 = X1 * (DA - CB)^2\n var nz = diff.x.redMul(da.redISub(cb).redSqr());\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.mul = function mul(k) {\n var t = k.clone();\n var a = this; // (N / 2) * Q + Q\n var b = this.curve.point(null, null); // (N / 2) * Q\n var c = this; // Q\n\n for (var bits = []; t.cmpn(0) !== 0; t.iushrn(1))\n bits.push(t.andln(1));\n\n for (var i = bits.length - 1; i >= 0; i--) {\n if (bits[i] === 0) {\n // N * Q + Q = ((N / 2) * Q + Q)) + (N / 2) * Q\n a = a.diffAdd(b, c);\n // N * Q = 2 * ((N / 2) * Q + Q))\n b = b.dbl();\n } else {\n // N * Q = ((N / 2) * Q + Q) + ((N / 2) * Q)\n b = a.diffAdd(b, c);\n // N * Q + Q = 2 * ((N / 2) * Q + Q)\n a = a.dbl();\n }\n }\n return b;\n};\n\nPoint.prototype.mulAdd = function mulAdd() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.jumlAdd = function jumlAdd() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.eq = function eq(other) {\n return this.getX().cmp(other.getX()) === 0;\n};\n\nPoint.prototype.normalize = function normalize() {\n this.x = this.x.redMul(this.z.redInvm());\n this.z = this.curve.one;\n return this;\n};\n\nPoint.prototype.getX = function getX() {\n // Normalize coordinates\n this.normalize();\n\n return this.x.fromRed();\n};\n","var Buffer = require('safe-buffer').Buffer\n\n// prototype class for hash functions\nfunction Hash (blockSize, finalSize) {\n this._block = Buffer.alloc(blockSize)\n this._finalSize = finalSize\n this._blockSize = blockSize\n this._len = 0\n}\n\nHash.prototype.update = function (data, enc) {\n if (typeof data === 'string') {\n enc = enc || 'utf8'\n data = Buffer.from(data, enc)\n }\n\n var block = this._block\n var blockSize = this._blockSize\n var length = data.length\n var accum = this._len\n\n for (var offset = 0; offset < length;) {\n var assigned = accum % blockSize\n var remainder = Math.min(length - offset, blockSize - assigned)\n\n for (var i = 0; i < remainder; i++) {\n block[assigned + i] = data[offset + i]\n }\n\n accum += remainder\n offset += remainder\n\n if ((accum % blockSize) === 0) {\n this._update(block)\n }\n }\n\n this._len += length\n return this\n}\n\nHash.prototype.digest = function (enc) {\n var rem = this._len % this._blockSize\n\n this._block[rem] = 0x80\n\n // zero (rem + 1) trailing bits, where (rem + 1) is the smallest\n // non-negative solution to the equation (length + 1 + (rem + 1)) === finalSize mod blockSize\n this._block.fill(0, rem + 1)\n\n if (rem >= this._finalSize) {\n this._update(this._block)\n this._block.fill(0)\n }\n\n var bits = this._len * 8\n\n // uint32\n if (bits <= 0xffffffff) {\n this._block.writeUInt32BE(bits, this._blockSize - 4)\n\n // uint64\n } else {\n var lowBits = (bits & 0xffffffff) >>> 0\n var highBits = (bits - lowBits) / 0x100000000\n\n this._block.writeUInt32BE(highBits, this._blockSize - 8)\n this._block.writeUInt32BE(lowBits, this._blockSize - 4)\n }\n\n this._update(this._block)\n var hash = this._hash()\n\n return enc ? hash.toString(enc) : hash\n}\n\nHash.prototype._update = function () {\n throw new Error('_update must be implemented by subclass')\n}\n\nmodule.exports = Hash\n","module.exports = async function * (iterators) {\r\n for (let iterator of iterators) {\r\n // can be lazy functions returning streams\r\n if (typeof iterator === 'function') iterator = iterator()\r\n yield * iterator\r\n }\r\n}\r\n","'use strict';\n\n/** @type {import('./round')} */\nmodule.exports = Math.round;\n","'use strict';\n\nvar undefined;\n\nvar $Object = require('es-object-atoms');\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar abs = require('math-intrinsics/abs');\nvar floor = require('math-intrinsics/floor');\nvar max = require('math-intrinsics/max');\nvar min = require('math-intrinsics/min');\nvar pow = require('math-intrinsics/pow');\nvar round = require('math-intrinsics/round');\nvar sign = require('math-intrinsics/sign');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = require('gopd');\nvar $defineProperty = require('es-define-property');\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = require('get-proto');\nvar $ObjectGPO = require('get-proto/Object.getPrototypeOf');\nvar $ReflectGPO = require('get-proto/Reflect.getPrototypeOf');\n\nvar $apply = require('call-bind-apply-helpers/functionApply');\nvar $call = require('call-bind-apply-helpers/functionCall');\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float16Array%': typeof Float16Array === 'undefined' ? undefined : Float16Array,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': $Object,\n\t'%Object.getOwnPropertyDescriptor%': $gOPD,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,\n\n\t'%Function.prototype.call%': $call,\n\t'%Function.prototype.apply%': $apply,\n\t'%Object.defineProperty%': $defineProperty,\n\t'%Object.getPrototypeOf%': $ObjectGPO,\n\t'%Math.abs%': abs,\n\t'%Math.floor%': floor,\n\t'%Math.max%': max,\n\t'%Math.min%': min,\n\t'%Math.pow%': pow,\n\t'%Math.round%': round,\n\t'%Math.sign%': sign,\n\t'%Reflect.getPrototypeOf%': $ReflectGPO\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call($call, Array.prototype.concat);\nvar $spliceApply = bind.call($apply, Array.prototype.splice);\nvar $replace = bind.call($call, String.prototype.replace);\nvar $strSlice = bind.call($call, String.prototype.slice);\nvar $exec = bind.call($call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","// based on the aes implimentation in triple sec\n// https://github.com/keybase/triplesec\n// which is in turn based on the one from crypto-js\n// https://code.google.com/p/crypto-js/\n\nvar Buffer = require('safe-buffer').Buffer\n\nfunction asUInt32Array (buf) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n\n var len = (buf.length / 4) | 0\n var out = new Array(len)\n\n for (var i = 0; i < len; i++) {\n out[i] = buf.readUInt32BE(i * 4)\n }\n\n return out\n}\n\nfunction scrubVec (v) {\n for (var i = 0; i < v.length; v++) {\n v[i] = 0\n }\n}\n\nfunction cryptBlock (M, keySchedule, SUB_MIX, SBOX, nRounds) {\n var SUB_MIX0 = SUB_MIX[0]\n var SUB_MIX1 = SUB_MIX[1]\n var SUB_MIX2 = SUB_MIX[2]\n var SUB_MIX3 = SUB_MIX[3]\n\n var s0 = M[0] ^ keySchedule[0]\n var s1 = M[1] ^ keySchedule[1]\n var s2 = M[2] ^ keySchedule[2]\n var s3 = M[3] ^ keySchedule[3]\n var t0, t1, t2, t3\n var ksRow = 4\n\n for (var round = 1; round < nRounds; round++) {\n t0 = SUB_MIX0[s0 >>> 24] ^ SUB_MIX1[(s1 >>> 16) & 0xff] ^ SUB_MIX2[(s2 >>> 8) & 0xff] ^ SUB_MIX3[s3 & 0xff] ^ keySchedule[ksRow++]\n t1 = SUB_MIX0[s1 >>> 24] ^ SUB_MIX1[(s2 >>> 16) & 0xff] ^ SUB_MIX2[(s3 >>> 8) & 0xff] ^ SUB_MIX3[s0 & 0xff] ^ keySchedule[ksRow++]\n t2 = SUB_MIX0[s2 >>> 24] ^ SUB_MIX1[(s3 >>> 16) & 0xff] ^ SUB_MIX2[(s0 >>> 8) & 0xff] ^ SUB_MIX3[s1 & 0xff] ^ keySchedule[ksRow++]\n t3 = SUB_MIX0[s3 >>> 24] ^ SUB_MIX1[(s0 >>> 16) & 0xff] ^ SUB_MIX2[(s1 >>> 8) & 0xff] ^ SUB_MIX3[s2 & 0xff] ^ keySchedule[ksRow++]\n s0 = t0\n s1 = t1\n s2 = t2\n s3 = t3\n }\n\n t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++]\n t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++]\n t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++]\n t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++]\n t0 = t0 >>> 0\n t1 = t1 >>> 0\n t2 = t2 >>> 0\n t3 = t3 >>> 0\n\n return [t0, t1, t2, t3]\n}\n\n// AES constants\nvar RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36]\nvar G = (function () {\n // Compute double table\n var d = new Array(256)\n for (var j = 0; j < 256; j++) {\n if (j < 128) {\n d[j] = j << 1\n } else {\n d[j] = (j << 1) ^ 0x11b\n }\n }\n\n var SBOX = []\n var INV_SBOX = []\n var SUB_MIX = [[], [], [], []]\n var INV_SUB_MIX = [[], [], [], []]\n\n // Walk GF(2^8)\n var x = 0\n var xi = 0\n for (var i = 0; i < 256; ++i) {\n // Compute sbox\n var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4)\n sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63\n SBOX[x] = sx\n INV_SBOX[sx] = x\n\n // Compute multiplication\n var x2 = d[x]\n var x4 = d[x2]\n var x8 = d[x4]\n\n // Compute sub bytes, mix columns tables\n var t = (d[sx] * 0x101) ^ (sx * 0x1010100)\n SUB_MIX[0][x] = (t << 24) | (t >>> 8)\n SUB_MIX[1][x] = (t << 16) | (t >>> 16)\n SUB_MIX[2][x] = (t << 8) | (t >>> 24)\n SUB_MIX[3][x] = t\n\n // Compute inv sub bytes, inv mix columns tables\n t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100)\n INV_SUB_MIX[0][sx] = (t << 24) | (t >>> 8)\n INV_SUB_MIX[1][sx] = (t << 16) | (t >>> 16)\n INV_SUB_MIX[2][sx] = (t << 8) | (t >>> 24)\n INV_SUB_MIX[3][sx] = t\n\n if (x === 0) {\n x = xi = 1\n } else {\n x = x2 ^ d[d[d[x8 ^ x2]]]\n xi ^= d[d[xi]]\n }\n }\n\n return {\n SBOX: SBOX,\n INV_SBOX: INV_SBOX,\n SUB_MIX: SUB_MIX,\n INV_SUB_MIX: INV_SUB_MIX\n }\n})()\n\nfunction AES (key) {\n this._key = asUInt32Array(key)\n this._reset()\n}\n\nAES.blockSize = 4 * 4\nAES.keySize = 256 / 8\nAES.prototype.blockSize = AES.blockSize\nAES.prototype.keySize = AES.keySize\nAES.prototype._reset = function () {\n var keyWords = this._key\n var keySize = keyWords.length\n var nRounds = keySize + 6\n var ksRows = (nRounds + 1) * 4\n\n var keySchedule = []\n for (var k = 0; k < keySize; k++) {\n keySchedule[k] = keyWords[k]\n }\n\n for (k = keySize; k < ksRows; k++) {\n var t = keySchedule[k - 1]\n\n if (k % keySize === 0) {\n t = (t << 8) | (t >>> 24)\n t =\n (G.SBOX[t >>> 24] << 24) |\n (G.SBOX[(t >>> 16) & 0xff] << 16) |\n (G.SBOX[(t >>> 8) & 0xff] << 8) |\n (G.SBOX[t & 0xff])\n\n t ^= RCON[(k / keySize) | 0] << 24\n } else if (keySize > 6 && k % keySize === 4) {\n t =\n (G.SBOX[t >>> 24] << 24) |\n (G.SBOX[(t >>> 16) & 0xff] << 16) |\n (G.SBOX[(t >>> 8) & 0xff] << 8) |\n (G.SBOX[t & 0xff])\n }\n\n keySchedule[k] = keySchedule[k - keySize] ^ t\n }\n\n var invKeySchedule = []\n for (var ik = 0; ik < ksRows; ik++) {\n var ksR = ksRows - ik\n var tt = keySchedule[ksR - (ik % 4 ? 0 : 4)]\n\n if (ik < 4 || ksR <= 4) {\n invKeySchedule[ik] = tt\n } else {\n invKeySchedule[ik] =\n G.INV_SUB_MIX[0][G.SBOX[tt >>> 24]] ^\n G.INV_SUB_MIX[1][G.SBOX[(tt >>> 16) & 0xff]] ^\n G.INV_SUB_MIX[2][G.SBOX[(tt >>> 8) & 0xff]] ^\n G.INV_SUB_MIX[3][G.SBOX[tt & 0xff]]\n }\n }\n\n this._nRounds = nRounds\n this._keySchedule = keySchedule\n this._invKeySchedule = invKeySchedule\n}\n\nAES.prototype.encryptBlockRaw = function (M) {\n M = asUInt32Array(M)\n return cryptBlock(M, this._keySchedule, G.SUB_MIX, G.SBOX, this._nRounds)\n}\n\nAES.prototype.encryptBlock = function (M) {\n var out = this.encryptBlockRaw(M)\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0], 0)\n buf.writeUInt32BE(out[1], 4)\n buf.writeUInt32BE(out[2], 8)\n buf.writeUInt32BE(out[3], 12)\n return buf\n}\n\nAES.prototype.decryptBlock = function (M) {\n M = asUInt32Array(M)\n\n // swap\n var m1 = M[1]\n M[1] = M[3]\n M[3] = m1\n\n var out = cryptBlock(M, this._invKeySchedule, G.INV_SUB_MIX, G.INV_SBOX, this._nRounds)\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0], 0)\n buf.writeUInt32BE(out[3], 4)\n buf.writeUInt32BE(out[2], 8)\n buf.writeUInt32BE(out[1], 12)\n return buf\n}\n\nAES.prototype.scrub = function () {\n scrubVec(this._keySchedule)\n scrubVec(this._invKeySchedule)\n scrubVec(this._key)\n}\n\nmodule.exports.AES = AES\n","'use strict';\n\nvar curves = exports;\n\nvar hash = require('hash.js');\nvar curve = require('./curve');\nvar utils = require('./utils');\n\nvar assert = utils.assert;\n\nfunction PresetCurve(options) {\n if (options.type === 'short')\n this.curve = new curve.short(options);\n else if (options.type === 'edwards')\n this.curve = new curve.edwards(options);\n else\n this.curve = new curve.mont(options);\n this.g = this.curve.g;\n this.n = this.curve.n;\n this.hash = options.hash;\n\n assert(this.g.validate(), 'Invalid curve');\n assert(this.g.mul(this.n).isInfinity(), 'Invalid curve, G*N != O');\n}\ncurves.PresetCurve = PresetCurve;\n\nfunction defineCurve(name, options) {\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n get: function() {\n var curve = new PresetCurve(options);\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n value: curve,\n });\n return curve;\n },\n });\n}\n\ndefineCurve('p192', {\n type: 'short',\n prime: 'p192',\n p: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc',\n b: '64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1',\n n: 'ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831',\n hash: hash.sha256,\n gRed: false,\n g: [\n '188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012',\n '07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811',\n ],\n});\n\ndefineCurve('p224', {\n type: 'short',\n prime: 'p224',\n p: 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe',\n b: 'b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4',\n n: 'ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d',\n hash: hash.sha256,\n gRed: false,\n g: [\n 'b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21',\n 'bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34',\n ],\n});\n\ndefineCurve('p256', {\n type: 'short',\n prime: null,\n p: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff',\n a: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc',\n b: '5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b',\n n: 'ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551',\n hash: hash.sha256,\n gRed: false,\n g: [\n '6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296',\n '4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5',\n ],\n});\n\ndefineCurve('p384', {\n type: 'short',\n prime: null,\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 ffffffff',\n a: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 fffffffc',\n b: 'b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f ' +\n '5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef',\n n: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 ' +\n 'f4372ddf 581a0db2 48b0a77a ecec196a ccc52973',\n hash: hash.sha384,\n gRed: false,\n g: [\n 'aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 ' +\n '5502f25d bf55296c 3a545e38 72760ab7',\n '3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 ' +\n '0a60b1ce 1d7e819d 7a431d7c 90ea0e5f',\n ],\n});\n\ndefineCurve('p521', {\n type: 'short',\n prime: null,\n p: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff',\n a: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff fffffffc',\n b: '00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b ' +\n '99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd ' +\n '3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00',\n n: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 ' +\n 'f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409',\n hash: hash.sha512,\n gRed: false,\n g: [\n '000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 ' +\n '053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 ' +\n 'a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66',\n '00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 ' +\n '579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 ' +\n '3fad0761 353c7086 a272c240 88be9476 9fd16650',\n ],\n});\n\ndefineCurve('curve25519', {\n type: 'mont',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '76d06',\n b: '1',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '9',\n ],\n});\n\ndefineCurve('ed25519', {\n type: 'edwards',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '-1',\n c: '1',\n // -121665 * (121666^(-1)) (mod P)\n d: '52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a',\n\n // 4/5\n '6666666666666666666666666666666666666666666666666666666666666658',\n ],\n});\n\nvar pre;\ntry {\n pre = require('./precomputed/secp256k1');\n} catch (e) {\n pre = undefined;\n}\n\ndefineCurve('secp256k1', {\n type: 'short',\n prime: 'k256',\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f',\n a: '0',\n b: '7',\n n: 'ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141',\n h: '1',\n hash: hash.sha256,\n\n // Precomputed endomorphism\n beta: '7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee',\n lambda: '5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72',\n basis: [\n {\n a: '3086d221a7d46bcde86c90e49284eb15',\n b: '-e4437ed6010e88286f547fa90abfe4c3',\n },\n {\n a: '114ca50f7a8e2f3f657c1108d9d44cfd8',\n b: '3086d221a7d46bcde86c90e49284eb15',\n },\n ],\n\n gRed: false,\n g: [\n '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798',\n '483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8',\n pre,\n ],\n});\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bound');\nvar inspect = require('object-inspect');\n\nvar $TypeError = require('es-errors/type');\nvar $Map = GetIntrinsic('%Map%', true);\n\n/** @type {(thisArg: Map, key: K) => V} */\nvar $mapGet = callBound('Map.prototype.get', true);\n/** @type {(thisArg: Map, key: K, value: V) => void} */\nvar $mapSet = callBound('Map.prototype.set', true);\n/** @type {(thisArg: Map, key: K) => boolean} */\nvar $mapHas = callBound('Map.prototype.has', true);\n/** @type {(thisArg: Map, key: K) => boolean} */\nvar $mapDelete = callBound('Map.prototype.delete', true);\n/** @type {(thisArg: Map) => number} */\nvar $mapSize = callBound('Map.prototype.size', true);\n\n/** @type {import('.')} */\nmodule.exports = !!$Map && /** @type {Exclude} */ function getSideChannelMap() {\n\t/** @typedef {ReturnType} Channel */\n\t/** @typedef {Parameters[0]} K */\n\t/** @typedef {Parameters[1]} V */\n\n\t/** @type {Map | undefined} */ var $m;\n\n\t/** @type {Channel} */\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\t'delete': function (key) {\n\t\t\tif ($m) {\n\t\t\t\tvar result = $mapDelete($m, key);\n\t\t\t\tif ($mapSize($m) === 0) {\n\t\t\t\t\t$m = void undefined;\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tget: function (key) { // eslint-disable-line consistent-return\n\t\t\tif ($m) {\n\t\t\t\treturn $mapGet($m, key);\n\t\t\t}\n\t\t},\n\t\thas: function (key) {\n\t\t\tif ($m) {\n\t\t\t\treturn $mapHas($m, key);\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif (!$m) {\n\t\t\t\t// @ts-expect-error TS can't handle narrowing a variable inside a closure\n\t\t\t\t$m = new $Map();\n\t\t\t}\n\t\t\t$mapSet($m, key, value);\n\t\t}\n\t};\n\n\t// @ts-expect-error TODO: figure out why TS is erroring here\n\treturn channel;\n};\n","var modeModules = {\n ECB: require('./ecb'),\n CBC: require('./cbc'),\n CFB: require('./cfb'),\n CFB8: require('./cfb8'),\n CFB1: require('./cfb1'),\n OFB: require('./ofb'),\n CTR: require('./ctr'),\n GCM: require('./ctr')\n}\n\nvar modes = require('./list.json')\n\nfor (var key in modes) {\n modes[key].module = modeModules[modes[key].mode]\n}\n\nmodule.exports = modes\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n // Allow for deprecating things in the process of starting up.\n if (isUndefined(global.process)) {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n if (process.noDeprecation === true) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function(set) {\n if (isUndefined(debugEnviron))\n debugEnviron = process.env.NODE_DEBUG || '';\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n","/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n","(function (root) {\n 'use strict';\n // A list of regular expressions that match arbitrary IPv4 addresses,\n // for which a number of weird notations exist.\n // Note that an address like 0010.0xa5.1.1 is considered legal.\n const ipv4Part = '(0?\\\\d+|0x[a-f0-9]+)';\n const ipv4Regexes = {\n fourOctet: new RegExp(`^${ipv4Part}\\\\.${ipv4Part}\\\\.${ipv4Part}\\\\.${ipv4Part}$`, 'i'),\n threeOctet: new RegExp(`^${ipv4Part}\\\\.${ipv4Part}\\\\.${ipv4Part}$`, 'i'),\n twoOctet: new RegExp(`^${ipv4Part}\\\\.${ipv4Part}$`, 'i'),\n longValue: new RegExp(`^${ipv4Part}$`, 'i')\n };\n\n // Regular Expression for checking Octal numbers\n const octalRegex = new RegExp(`^0[0-7]+$`, 'i');\n const hexRegex = new RegExp(`^0x[a-f0-9]+$`, 'i');\n\n const zoneIndex = '%[0-9a-z]{1,}';\n\n // IPv6-matching regular expressions.\n // For IPv6, the task is simpler: it is enough to match the colon-delimited\n // hexadecimal IPv6 and a transitional variant with dotted-decimal IPv4 at\n // the end.\n const ipv6Part = '(?:[0-9a-f]+::?)+';\n const ipv6Regexes = {\n zoneIndex: new RegExp(zoneIndex, 'i'),\n 'native': new RegExp(`^(::)?(${ipv6Part})?([0-9a-f]+)?(::)?(${zoneIndex})?$`, 'i'),\n deprecatedTransitional: new RegExp(`^(?:::)(${ipv4Part}\\\\.${ipv4Part}\\\\.${ipv4Part}\\\\.${ipv4Part}(${zoneIndex})?)$`, 'i'),\n transitional: new RegExp(`^((?:${ipv6Part})|(?:::)(?:${ipv6Part})?)${ipv4Part}\\\\.${ipv4Part}\\\\.${ipv4Part}\\\\.${ipv4Part}(${zoneIndex})?$`, 'i')\n };\n\n // Expand :: in an IPv6 address or address part consisting of `parts` groups.\n function expandIPv6 (string, parts) {\n // More than one '::' means invalid adddress\n if (string.indexOf('::') !== string.lastIndexOf('::')) {\n return null;\n }\n\n let colonCount = 0;\n let lastColon = -1;\n let zoneId = (string.match(ipv6Regexes.zoneIndex) || [])[0];\n let replacement, replacementCount;\n\n // Remove zone index and save it for later\n if (zoneId) {\n zoneId = zoneId.substring(1);\n string = string.replace(/%.+$/, '');\n }\n\n // How many parts do we already have?\n while ((lastColon = string.indexOf(':', lastColon + 1)) >= 0) {\n colonCount++;\n }\n\n // 0::0 is two parts more than ::\n if (string.substr(0, 2) === '::') {\n colonCount--;\n }\n\n if (string.substr(-2, 2) === '::') {\n colonCount--;\n }\n\n // The following loop would hang if colonCount > parts\n if (colonCount > parts) {\n return null;\n }\n\n // replacement = ':' + '0:' * (parts - colonCount)\n replacementCount = parts - colonCount;\n replacement = ':';\n while (replacementCount--) {\n replacement += '0:';\n }\n\n // Insert the missing zeroes\n string = string.replace('::', replacement);\n\n // Trim any garbage which may be hanging around if :: was at the edge in\n // the source strin\n if (string[0] === ':') {\n string = string.slice(1);\n }\n\n if (string[string.length - 1] === ':') {\n string = string.slice(0, -1);\n }\n\n parts = (function () {\n const ref = string.split(':');\n const results = [];\n\n for (let i = 0; i < ref.length; i++) {\n results.push(parseInt(ref[i], 16));\n }\n\n return results;\n })();\n\n return {\n parts: parts,\n zoneId: zoneId\n };\n }\n\n // A generic CIDR (Classless Inter-Domain Routing) RFC1518 range matcher.\n function matchCIDR (first, second, partSize, cidrBits) {\n if (first.length !== second.length) {\n throw new Error('ipaddr: cannot match CIDR for objects with different lengths');\n }\n\n let part = 0;\n let shift;\n\n while (cidrBits > 0) {\n shift = partSize - cidrBits;\n if (shift < 0) {\n shift = 0;\n }\n\n if (first[part] >> shift !== second[part] >> shift) {\n return false;\n }\n\n cidrBits -= partSize;\n part += 1;\n }\n\n return true;\n }\n\n function parseIntAuto (string) {\n // Hexadedimal base 16 (0x#)\n if (hexRegex.test(string)) {\n return parseInt(string, 16);\n }\n // While octal representation is discouraged by ECMAScript 3\n // and forbidden by ECMAScript 5, we silently allow it to\n // work only if the rest of the string has numbers less than 8.\n if (string[0] === '0' && !isNaN(parseInt(string[1], 10))) {\n if (octalRegex.test(string)) {\n return parseInt(string, 8);\n }\n throw new Error(`ipaddr: cannot parse ${string} as octal`);\n }\n // Always include the base 10 radix!\n return parseInt(string, 10);\n }\n\n function padPart (part, length) {\n while (part.length < length) {\n part = `0${part}`;\n }\n\n return part;\n }\n\n const ipaddr = {};\n\n // An IPv4 address (RFC791).\n ipaddr.IPv4 = (function () {\n // Constructs a new IPv4 address from an array of four octets\n // in network order (MSB first)\n // Verifies the input.\n function IPv4 (octets) {\n if (octets.length !== 4) {\n throw new Error('ipaddr: ipv4 octet count should be 4');\n }\n\n let i, octet;\n\n for (i = 0; i < octets.length; i++) {\n octet = octets[i];\n if (!((0 <= octet && octet <= 255))) {\n throw new Error('ipaddr: ipv4 octet should fit in 8 bits');\n }\n }\n\n this.octets = octets;\n }\n\n // Special IPv4 address ranges.\n // See also https://en.wikipedia.org/wiki/Reserved_IP_addresses\n IPv4.prototype.SpecialRanges = {\n unspecified: [[new IPv4([0, 0, 0, 0]), 8]],\n broadcast: [[new IPv4([255, 255, 255, 255]), 32]],\n // RFC3171\n multicast: [[new IPv4([224, 0, 0, 0]), 4]],\n // RFC3927\n linkLocal: [[new IPv4([169, 254, 0, 0]), 16]],\n // RFC5735\n loopback: [[new IPv4([127, 0, 0, 0]), 8]],\n // RFC6598\n carrierGradeNat: [[new IPv4([100, 64, 0, 0]), 10]],\n // RFC1918\n 'private': [\n [new IPv4([10, 0, 0, 0]), 8],\n [new IPv4([172, 16, 0, 0]), 12],\n [new IPv4([192, 168, 0, 0]), 16]\n ],\n // Reserved and testing-only ranges; RFCs 5735, 5737, 2544, 1700\n reserved: [\n [new IPv4([192, 0, 0, 0]), 24],\n [new IPv4([192, 0, 2, 0]), 24],\n [new IPv4([192, 88, 99, 0]), 24],\n [new IPv4([198, 18, 0, 0]), 15],\n [new IPv4([198, 51, 100, 0]), 24],\n [new IPv4([203, 0, 113, 0]), 24],\n [new IPv4([240, 0, 0, 0]), 4]\n ],\n // RFC7534, RFC7535\n as112: [\n [new IPv4([192, 175, 48, 0]), 24],\n [new IPv4([192, 31, 196, 0]), 24],\n ],\n // RFC7450\n amt: [\n [new IPv4([192, 52, 193, 0]), 24],\n ],\n };\n\n // The 'kind' method exists on both IPv4 and IPv6 classes.\n IPv4.prototype.kind = function () {\n return 'ipv4';\n };\n\n // Checks if this address matches other one within given CIDR range.\n IPv4.prototype.match = function (other, cidrRange) {\n let ref;\n if (cidrRange === undefined) {\n ref = other;\n other = ref[0];\n cidrRange = ref[1];\n }\n\n if (other.kind() !== 'ipv4') {\n throw new Error('ipaddr: cannot match ipv4 address with non-ipv4 one');\n }\n\n return matchCIDR(this.octets, other.octets, 8, cidrRange);\n };\n\n // returns a number of leading ones in IPv4 address, making sure that\n // the rest is a solid sequence of 0's (valid netmask)\n // returns either the CIDR length or null if mask is not valid\n IPv4.prototype.prefixLengthFromSubnetMask = function () {\n let cidr = 0;\n // non-zero encountered stop scanning for zeroes\n let stop = false;\n // number of zeroes in octet\n const zerotable = {\n 0: 8,\n 128: 7,\n 192: 6,\n 224: 5,\n 240: 4,\n 248: 3,\n 252: 2,\n 254: 1,\n 255: 0\n };\n let i, octet, zeros;\n\n for (i = 3; i >= 0; i -= 1) {\n octet = this.octets[i];\n if (octet in zerotable) {\n zeros = zerotable[octet];\n if (stop && zeros !== 0) {\n return null;\n }\n\n if (zeros !== 8) {\n stop = true;\n }\n\n cidr += zeros;\n } else {\n return null;\n }\n }\n\n return 32 - cidr;\n };\n\n // Checks if the address corresponds to one of the special ranges.\n IPv4.prototype.range = function () {\n return ipaddr.subnetMatch(this, this.SpecialRanges);\n };\n\n // Returns an array of byte-sized values in network order (MSB first)\n IPv4.prototype.toByteArray = function () {\n return this.octets.slice(0);\n };\n\n // Converts this IPv4 address to an IPv4-mapped IPv6 address.\n IPv4.prototype.toIPv4MappedAddress = function () {\n return ipaddr.IPv6.parse(`::ffff:${this.toString()}`);\n };\n\n // Symmetrical method strictly for aligning with the IPv6 methods.\n IPv4.prototype.toNormalizedString = function () {\n return this.toString();\n };\n\n // Returns the address in convenient, decimal-dotted format.\n IPv4.prototype.toString = function () {\n return this.octets.join('.');\n };\n\n return IPv4;\n })();\n\n // A utility function to return broadcast address given the IPv4 interface and prefix length in CIDR notation\n ipaddr.IPv4.broadcastAddressFromCIDR = function (string) {\n\n try {\n const cidr = this.parseCIDR(string);\n const ipInterfaceOctets = cidr[0].toByteArray();\n const subnetMaskOctets = this.subnetMaskFromPrefixLength(cidr[1]).toByteArray();\n const octets = [];\n let i = 0;\n while (i < 4) {\n // Broadcast address is bitwise OR between ip interface and inverted mask\n octets.push(parseInt(ipInterfaceOctets[i], 10) | parseInt(subnetMaskOctets[i], 10) ^ 255);\n i++;\n }\n\n return new this(octets);\n } catch (e) {\n throw new Error('ipaddr: the address does not have IPv4 CIDR format');\n }\n };\n\n // Checks if a given string is formatted like IPv4 address.\n ipaddr.IPv4.isIPv4 = function (string) {\n return this.parser(string) !== null;\n };\n\n // Checks if a given string is a valid IPv4 address.\n ipaddr.IPv4.isValid = function (string) {\n try {\n new this(this.parser(string));\n return true;\n } catch (e) {\n return false;\n }\n };\n\n // Checks if a given string is a valid IPv4 address in CIDR notation.\n ipaddr.IPv4.isValidCIDR = function (string) {\n try {\n this.parseCIDR(string);\n return true;\n } catch (e) {\n return false;\n }\n };\n\n // Checks if a given string is a full four-part IPv4 Address.\n ipaddr.IPv4.isValidFourPartDecimal = function (string) {\n if (ipaddr.IPv4.isValid(string) && string.match(/^(0|[1-9]\\d*)(\\.(0|[1-9]\\d*)){3}$/)) {\n return true;\n } else {\n return false;\n }\n };\n\n // A utility function to return network address given the IPv4 interface and prefix length in CIDR notation\n ipaddr.IPv4.networkAddressFromCIDR = function (string) {\n let cidr, i, ipInterfaceOctets, octets, subnetMaskOctets;\n\n try {\n cidr = this.parseCIDR(string);\n ipInterfaceOctets = cidr[0].toByteArray();\n subnetMaskOctets = this.subnetMaskFromPrefixLength(cidr[1]).toByteArray();\n octets = [];\n i = 0;\n while (i < 4) {\n // Network address is bitwise AND between ip interface and mask\n octets.push(parseInt(ipInterfaceOctets[i], 10) & parseInt(subnetMaskOctets[i], 10));\n i++;\n }\n\n return new this(octets);\n } catch (e) {\n throw new Error('ipaddr: the address does not have IPv4 CIDR format');\n }\n };\n\n // Tries to parse and validate a string with IPv4 address.\n // Throws an error if it fails.\n ipaddr.IPv4.parse = function (string) {\n const parts = this.parser(string);\n\n if (parts === null) {\n throw new Error('ipaddr: string is not formatted like an IPv4 Address');\n }\n\n return new this(parts);\n };\n\n // Parses the string as an IPv4 Address with CIDR Notation.\n ipaddr.IPv4.parseCIDR = function (string) {\n let match;\n\n if ((match = string.match(/^(.+)\\/(\\d+)$/))) {\n const maskLength = parseInt(match[2]);\n if (maskLength >= 0 && maskLength <= 32) {\n const parsed = [this.parse(match[1]), maskLength];\n Object.defineProperty(parsed, 'toString', {\n value: function () {\n return this.join('/');\n }\n });\n return parsed;\n }\n }\n\n throw new Error('ipaddr: string is not formatted like an IPv4 CIDR range');\n };\n\n // Classful variants (like a.b, where a is an octet, and b is a 24-bit\n // value representing last three octets; this corresponds to a class C\n // address) are omitted due to classless nature of modern Internet.\n ipaddr.IPv4.parser = function (string) {\n let match, part, value;\n\n // parseInt recognizes all that octal & hexadecimal weirdness for us\n if ((match = string.match(ipv4Regexes.fourOctet))) {\n return (function () {\n const ref = match.slice(1, 6);\n const results = [];\n\n for (let i = 0; i < ref.length; i++) {\n part = ref[i];\n results.push(parseIntAuto(part));\n }\n\n return results;\n })();\n } else if ((match = string.match(ipv4Regexes.longValue))) {\n value = parseIntAuto(match[1]);\n if (value > 0xffffffff || value < 0) {\n throw new Error('ipaddr: address outside defined range');\n }\n\n return ((function () {\n const results = [];\n let shift;\n\n for (shift = 0; shift <= 24; shift += 8) {\n results.push((value >> shift) & 0xff);\n }\n\n return results;\n })()).reverse();\n } else if ((match = string.match(ipv4Regexes.twoOctet))) {\n return (function () {\n const ref = match.slice(1, 4);\n const results = [];\n\n value = parseIntAuto(ref[1]);\n if (value > 0xffffff || value < 0) {\n throw new Error('ipaddr: address outside defined range');\n }\n\n results.push(parseIntAuto(ref[0]));\n results.push((value >> 16) & 0xff);\n results.push((value >> 8) & 0xff);\n results.push( value & 0xff);\n\n return results;\n })();\n } else if ((match = string.match(ipv4Regexes.threeOctet))) {\n return (function () {\n const ref = match.slice(1, 5);\n const results = [];\n\n value = parseIntAuto(ref[2]);\n if (value > 0xffff || value < 0) {\n throw new Error('ipaddr: address outside defined range');\n }\n\n results.push(parseIntAuto(ref[0]));\n results.push(parseIntAuto(ref[1]));\n results.push((value >> 8) & 0xff);\n results.push( value & 0xff);\n\n return results;\n })();\n } else {\n return null;\n }\n };\n\n // A utility function to return subnet mask in IPv4 format given the prefix length\n ipaddr.IPv4.subnetMaskFromPrefixLength = function (prefix) {\n prefix = parseInt(prefix);\n if (prefix < 0 || prefix > 32) {\n throw new Error('ipaddr: invalid IPv4 prefix length');\n }\n\n const octets = [0, 0, 0, 0];\n let j = 0;\n const filledOctetCount = Math.floor(prefix / 8);\n\n while (j < filledOctetCount) {\n octets[j] = 255;\n j++;\n }\n\n if (filledOctetCount < 4) {\n octets[filledOctetCount] = Math.pow(2, prefix % 8) - 1 << 8 - (prefix % 8);\n }\n\n return new this(octets);\n };\n\n // An IPv6 address (RFC2460)\n ipaddr.IPv6 = (function () {\n // Constructs an IPv6 address from an array of eight 16 - bit parts\n // or sixteen 8 - bit parts in network order(MSB first).\n // Throws an error if the input is invalid.\n function IPv6 (parts, zoneId) {\n let i, part;\n\n if (parts.length === 16) {\n this.parts = [];\n for (i = 0; i <= 14; i += 2) {\n this.parts.push((parts[i] << 8) | parts[i + 1]);\n }\n } else if (parts.length === 8) {\n this.parts = parts;\n } else {\n throw new Error('ipaddr: ipv6 part count should be 8 or 16');\n }\n\n for (i = 0; i < this.parts.length; i++) {\n part = this.parts[i];\n if (!((0 <= part && part <= 0xffff))) {\n throw new Error('ipaddr: ipv6 part should fit in 16 bits');\n }\n }\n\n if (zoneId) {\n this.zoneId = zoneId;\n }\n }\n\n // Special IPv6 ranges\n IPv6.prototype.SpecialRanges = {\n // RFC4291, here and after\n unspecified: [new IPv6([0, 0, 0, 0, 0, 0, 0, 0]), 128],\n linkLocal: [new IPv6([0xfe80, 0, 0, 0, 0, 0, 0, 0]), 10],\n multicast: [new IPv6([0xff00, 0, 0, 0, 0, 0, 0, 0]), 8],\n loopback: [new IPv6([0, 0, 0, 0, 0, 0, 0, 1]), 128],\n uniqueLocal: [new IPv6([0xfc00, 0, 0, 0, 0, 0, 0, 0]), 7],\n ipv4Mapped: [new IPv6([0, 0, 0, 0, 0, 0xffff, 0, 0]), 96],\n // RFC6666\n discard: [new IPv6([0x100, 0, 0, 0, 0, 0, 0, 0]), 64],\n // RFC6145\n rfc6145: [new IPv6([0, 0, 0, 0, 0xffff, 0, 0, 0]), 96],\n // RFC6052\n rfc6052: [new IPv6([0x64, 0xff9b, 0, 0, 0, 0, 0, 0]), 96],\n // RFC3056\n '6to4': [new IPv6([0x2002, 0, 0, 0, 0, 0, 0, 0]), 16],\n // RFC6052, RFC6146\n teredo: [new IPv6([0x2001, 0, 0, 0, 0, 0, 0, 0]), 32],\n // RFC5180\n benchmarking: [new IPv6([0x2001, 0x2, 0, 0, 0, 0, 0, 0]), 48],\n // RFC7450\n amt: [new IPv6([0x2001, 0x3, 0, 0, 0, 0, 0, 0]), 32],\n as112v6: [\n [new IPv6([0x2001, 0x4, 0x112, 0, 0, 0, 0, 0]), 48],\n [new IPv6([0x2620, 0x4f, 0x8000, 0, 0, 0, 0, 0]), 48],\n ],\n deprecated: [new IPv6([0x2001, 0x10, 0, 0, 0, 0, 0, 0]), 28],\n orchid2: [new IPv6([0x2001, 0x20, 0, 0, 0, 0, 0, 0]), 28],\n droneRemoteIdProtocolEntityTags: [new IPv6([0x2001, 0x30, 0, 0, 0, 0, 0, 0]), 28],\n reserved: [\n // RFC3849\n [new IPv6([0x2001, 0, 0, 0, 0, 0, 0, 0]), 23],\n // RFC2928\n [new IPv6([0x2001, 0xdb8, 0, 0, 0, 0, 0, 0]), 32],\n ],\n };\n\n // Checks if this address is an IPv4-mapped IPv6 address.\n IPv6.prototype.isIPv4MappedAddress = function () {\n return this.range() === 'ipv4Mapped';\n };\n\n // The 'kind' method exists on both IPv4 and IPv6 classes.\n IPv6.prototype.kind = function () {\n return 'ipv6';\n };\n\n // Checks if this address matches other one within given CIDR range.\n IPv6.prototype.match = function (other, cidrRange) {\n let ref;\n\n if (cidrRange === undefined) {\n ref = other;\n other = ref[0];\n cidrRange = ref[1];\n }\n\n if (other.kind() !== 'ipv6') {\n throw new Error('ipaddr: cannot match ipv6 address with non-ipv6 one');\n }\n\n return matchCIDR(this.parts, other.parts, 16, cidrRange);\n };\n\n // returns a number of leading ones in IPv6 address, making sure that\n // the rest is a solid sequence of 0's (valid netmask)\n // returns either the CIDR length or null if mask is not valid\n IPv6.prototype.prefixLengthFromSubnetMask = function () {\n let cidr = 0;\n // non-zero encountered stop scanning for zeroes\n let stop = false;\n // number of zeroes in octet\n const zerotable = {\n 0: 16,\n 32768: 15,\n 49152: 14,\n 57344: 13,\n 61440: 12,\n 63488: 11,\n 64512: 10,\n 65024: 9,\n 65280: 8,\n 65408: 7,\n 65472: 6,\n 65504: 5,\n 65520: 4,\n 65528: 3,\n 65532: 2,\n 65534: 1,\n 65535: 0\n };\n let part, zeros;\n\n for (let i = 7; i >= 0; i -= 1) {\n part = this.parts[i];\n if (part in zerotable) {\n zeros = zerotable[part];\n if (stop && zeros !== 0) {\n return null;\n }\n\n if (zeros !== 16) {\n stop = true;\n }\n\n cidr += zeros;\n } else {\n return null;\n }\n }\n\n return 128 - cidr;\n };\n\n\n // Checks if the address corresponds to one of the special ranges.\n IPv6.prototype.range = function () {\n return ipaddr.subnetMatch(this, this.SpecialRanges);\n };\n\n // Returns an array of byte-sized values in network order (MSB first)\n IPv6.prototype.toByteArray = function () {\n let part;\n const bytes = [];\n const ref = this.parts;\n for (let i = 0; i < ref.length; i++) {\n part = ref[i];\n bytes.push(part >> 8);\n bytes.push(part & 0xff);\n }\n\n return bytes;\n };\n\n // Returns the address in expanded format with all zeroes included, like\n // 2001:0db8:0008:0066:0000:0000:0000:0001\n IPv6.prototype.toFixedLengthString = function () {\n const addr = ((function () {\n const results = [];\n for (let i = 0; i < this.parts.length; i++) {\n results.push(padPart(this.parts[i].toString(16), 4));\n }\n\n return results;\n }).call(this)).join(':');\n\n let suffix = '';\n\n if (this.zoneId) {\n suffix = `%${this.zoneId}`;\n }\n\n return addr + suffix;\n };\n\n // Converts this address to IPv4 address if it is an IPv4-mapped IPv6 address.\n // Throws an error otherwise.\n IPv6.prototype.toIPv4Address = function () {\n if (!this.isIPv4MappedAddress()) {\n throw new Error('ipaddr: trying to convert a generic ipv6 address to ipv4');\n }\n\n const ref = this.parts.slice(-2);\n const high = ref[0];\n const low = ref[1];\n\n return new ipaddr.IPv4([high >> 8, high & 0xff, low >> 8, low & 0xff]);\n };\n\n // Returns the address in expanded format with all zeroes included, like\n // 2001:db8:8:66:0:0:0:1\n //\n // Deprecated: use toFixedLengthString() instead.\n IPv6.prototype.toNormalizedString = function () {\n const addr = ((function () {\n const results = [];\n\n for (let i = 0; i < this.parts.length; i++) {\n results.push(this.parts[i].toString(16));\n }\n\n return results;\n }).call(this)).join(':');\n\n let suffix = '';\n\n if (this.zoneId) {\n suffix = `%${this.zoneId}`;\n }\n\n return addr + suffix;\n };\n\n // Returns the address in compact, human-readable format like\n // 2001:db8:8:66::1\n // in line with RFC 5952 (see https://tools.ietf.org/html/rfc5952#section-4)\n IPv6.prototype.toRFC5952String = function () {\n const regex = /((^|:)(0(:|$)){2,})/g;\n const string = this.toNormalizedString();\n let bestMatchIndex = 0;\n let bestMatchLength = -1;\n let match;\n\n while ((match = regex.exec(string))) {\n if (match[0].length > bestMatchLength) {\n bestMatchIndex = match.index;\n bestMatchLength = match[0].length;\n }\n }\n\n if (bestMatchLength < 0) {\n return string;\n }\n\n return `${string.substring(0, bestMatchIndex)}::${string.substring(bestMatchIndex + bestMatchLength)}`;\n };\n\n // Returns the address in compact, human-readable format like\n // 2001:db8:8:66::1\n // Calls toRFC5952String under the hood.\n IPv6.prototype.toString = function () {\n return this.toRFC5952String();\n };\n\n return IPv6;\n\n })();\n\n // A utility function to return broadcast address given the IPv6 interface and prefix length in CIDR notation\n ipaddr.IPv6.broadcastAddressFromCIDR = function (string) {\n try {\n const cidr = this.parseCIDR(string);\n const ipInterfaceOctets = cidr[0].toByteArray();\n const subnetMaskOctets = this.subnetMaskFromPrefixLength(cidr[1]).toByteArray();\n const octets = [];\n let i = 0;\n while (i < 16) {\n // Broadcast address is bitwise OR between ip interface and inverted mask\n octets.push(parseInt(ipInterfaceOctets[i], 10) | parseInt(subnetMaskOctets[i], 10) ^ 255);\n i++;\n }\n\n return new this(octets);\n } catch (e) {\n throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${e})`);\n }\n };\n\n // Checks if a given string is formatted like IPv6 address.\n ipaddr.IPv6.isIPv6 = function (string) {\n return this.parser(string) !== null;\n };\n\n // Checks to see if string is a valid IPv6 Address\n ipaddr.IPv6.isValid = function (string) {\n\n // Since IPv6.isValid is always called first, this shortcut\n // provides a substantial performance gain.\n if (typeof string === 'string' && string.indexOf(':') === -1) {\n return false;\n }\n\n try {\n const addr = this.parser(string);\n new this(addr.parts, addr.zoneId);\n return true;\n } catch (e) {\n return false;\n }\n };\n\n // Checks if a given string is a valid IPv6 address in CIDR notation.\n ipaddr.IPv6.isValidCIDR = function (string) {\n\n // See note in IPv6.isValid\n if (typeof string === 'string' && string.indexOf(':') === -1) {\n return false;\n }\n\n try {\n this.parseCIDR(string);\n return true;\n } catch (e) {\n return false;\n }\n };\n\n // A utility function to return network address given the IPv6 interface and prefix length in CIDR notation\n ipaddr.IPv6.networkAddressFromCIDR = function (string) {\n let cidr, i, ipInterfaceOctets, octets, subnetMaskOctets;\n\n try {\n cidr = this.parseCIDR(string);\n ipInterfaceOctets = cidr[0].toByteArray();\n subnetMaskOctets = this.subnetMaskFromPrefixLength(cidr[1]).toByteArray();\n octets = [];\n i = 0;\n while (i < 16) {\n // Network address is bitwise AND between ip interface and mask\n octets.push(parseInt(ipInterfaceOctets[i], 10) & parseInt(subnetMaskOctets[i], 10));\n i++;\n }\n\n return new this(octets);\n } catch (e) {\n throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${e})`);\n }\n };\n\n // Tries to parse and validate a string with IPv6 address.\n // Throws an error if it fails.\n ipaddr.IPv6.parse = function (string) {\n const addr = this.parser(string);\n\n if (addr.parts === null) {\n throw new Error('ipaddr: string is not formatted like an IPv6 Address');\n }\n\n return new this(addr.parts, addr.zoneId);\n };\n\n ipaddr.IPv6.parseCIDR = function (string) {\n let maskLength, match, parsed;\n\n if ((match = string.match(/^(.+)\\/(\\d+)$/))) {\n maskLength = parseInt(match[2]);\n if (maskLength >= 0 && maskLength <= 128) {\n parsed = [this.parse(match[1]), maskLength];\n Object.defineProperty(parsed, 'toString', {\n value: function () {\n return this.join('/');\n }\n });\n return parsed;\n }\n }\n\n throw new Error('ipaddr: string is not formatted like an IPv6 CIDR range');\n };\n\n // Parse an IPv6 address.\n ipaddr.IPv6.parser = function (string) {\n let addr, i, match, octet, octets, zoneId;\n\n if ((match = string.match(ipv6Regexes.deprecatedTransitional))) {\n return this.parser(`::ffff:${match[1]}`);\n }\n if (ipv6Regexes.native.test(string)) {\n return expandIPv6(string, 8);\n }\n if ((match = string.match(ipv6Regexes.transitional))) {\n zoneId = match[6] || '';\n addr = match[1]\n if (!match[1].endsWith('::')) {\n addr = addr.slice(0, -1)\n }\n addr = expandIPv6(addr + zoneId, 6);\n if (addr.parts) {\n octets = [\n parseInt(match[2]),\n parseInt(match[3]),\n parseInt(match[4]),\n parseInt(match[5])\n ];\n for (i = 0; i < octets.length; i++) {\n octet = octets[i];\n if (!((0 <= octet && octet <= 255))) {\n return null;\n }\n }\n\n addr.parts.push(octets[0] << 8 | octets[1]);\n addr.parts.push(octets[2] << 8 | octets[3]);\n return {\n parts: addr.parts,\n zoneId: addr.zoneId\n };\n }\n }\n\n return null;\n };\n\n // A utility function to return subnet mask in IPv6 format given the prefix length\n ipaddr.IPv6.subnetMaskFromPrefixLength = function (prefix) {\n prefix = parseInt(prefix);\n if (prefix < 0 || prefix > 128) {\n throw new Error('ipaddr: invalid IPv6 prefix length');\n }\n\n const octets = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n let j = 0;\n const filledOctetCount = Math.floor(prefix / 8);\n\n while (j < filledOctetCount) {\n octets[j] = 255;\n j++;\n }\n\n if (filledOctetCount < 16) {\n octets[filledOctetCount] = Math.pow(2, prefix % 8) - 1 << 8 - (prefix % 8);\n }\n\n return new this(octets);\n };\n\n // Try to parse an array in network order (MSB first) for IPv4 and IPv6\n ipaddr.fromByteArray = function (bytes) {\n const length = bytes.length;\n\n if (length === 4) {\n return new ipaddr.IPv4(bytes);\n } else if (length === 16) {\n return new ipaddr.IPv6(bytes);\n } else {\n throw new Error('ipaddr: the binary input is neither an IPv6 nor IPv4 address');\n }\n };\n\n // Checks if the address is valid IP address\n ipaddr.isValid = function (string) {\n return ipaddr.IPv6.isValid(string) || ipaddr.IPv4.isValid(string);\n };\n\n // Checks if the address is valid IP address in CIDR notation\n ipaddr.isValidCIDR = function (string) {\n return ipaddr.IPv6.isValidCIDR(string) || ipaddr.IPv4.isValidCIDR(string);\n };\n\n\n // Attempts to parse an IP Address, first through IPv6 then IPv4.\n // Throws an error if it could not be parsed.\n ipaddr.parse = function (string) {\n if (ipaddr.IPv6.isValid(string)) {\n return ipaddr.IPv6.parse(string);\n } else if (ipaddr.IPv4.isValid(string)) {\n return ipaddr.IPv4.parse(string);\n } else {\n throw new Error('ipaddr: the address has neither IPv6 nor IPv4 format');\n }\n };\n\n // Attempt to parse CIDR notation, first through IPv6 then IPv4.\n // Throws an error if it could not be parsed.\n ipaddr.parseCIDR = function (string) {\n try {\n return ipaddr.IPv6.parseCIDR(string);\n } catch (e) {\n try {\n return ipaddr.IPv4.parseCIDR(string);\n } catch (e2) {\n throw new Error('ipaddr: the address has neither IPv6 nor IPv4 CIDR format');\n }\n }\n };\n\n // Parse an address and return plain IPv4 address if it is an IPv4-mapped address\n ipaddr.process = function (string) {\n const addr = this.parse(string);\n\n if (addr.kind() === 'ipv6' && addr.isIPv4MappedAddress()) {\n return addr.toIPv4Address();\n } else {\n return addr;\n }\n };\n\n // An utility function to ease named range matching. See examples below.\n // rangeList can contain both IPv4 and IPv6 subnet entries and will not throw errors\n // on matching IPv4 addresses to IPv6 ranges or vice versa.\n ipaddr.subnetMatch = function (address, rangeList, defaultName) {\n let i, rangeName, rangeSubnets, subnet;\n\n if (defaultName === undefined || defaultName === null) {\n defaultName = 'unicast';\n }\n\n for (rangeName in rangeList) {\n if (Object.prototype.hasOwnProperty.call(rangeList, rangeName)) {\n rangeSubnets = rangeList[rangeName];\n // ECMA5 Array.isArray isn't available everywhere\n if (rangeSubnets[0] && !(rangeSubnets[0] instanceof Array)) {\n rangeSubnets = [rangeSubnets];\n }\n\n for (i = 0; i < rangeSubnets.length; i++) {\n subnet = rangeSubnets[i];\n if (address.kind() === subnet[0].kind() && address.match.apply(address, subnet)) {\n return rangeName;\n }\n }\n }\n }\n\n return defaultName;\n };\n\n // Export for both the CommonJS and browser-like environment\n if (typeof module !== 'undefined' && module.exports) {\n module.exports = ipaddr;\n\n } else {\n root.ipaddr = ipaddr;\n }\n\n}(this));\n","var aes = require('./aes')\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('cipher-base')\nvar inherits = require('inherits')\n\nfunction StreamCipher (mode, key, iv, decrypt) {\n Transform.call(this)\n\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._cache = Buffer.allocUnsafe(0)\n this._secCache = Buffer.allocUnsafe(0)\n this._decrypt = decrypt\n this._mode = mode\n}\n\ninherits(StreamCipher, Transform)\n\nStreamCipher.prototype._update = function (chunk) {\n return this._mode.encrypt(this, chunk, this._decrypt)\n}\n\nStreamCipher.prototype._final = function () {\n this._cipher.scrub()\n}\n\nmodule.exports = StreamCipher\n","'use strict';\n\n/** @type {import('.')} */\nvar $defineProperty = Object.defineProperty || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Buffer = require('safe-buffer').Buffer;\nvar util = require('util');\n\nfunction copyBuffer(src, target, offset) {\n src.copy(target, offset);\n}\n\nmodule.exports = function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n\n BufferList.prototype.push = function push(v) {\n var entry = { data: v, next: null };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n };\n\n BufferList.prototype.unshift = function unshift(v) {\n var entry = { data: v, next: this.head };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n };\n\n BufferList.prototype.shift = function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n };\n\n BufferList.prototype.clear = function clear() {\n this.head = this.tail = null;\n this.length = 0;\n };\n\n BufferList.prototype.join = function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) {\n ret += s + p.data;\n }return ret;\n };\n\n BufferList.prototype.concat = function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n };\n\n return BufferList;\n}();\n\nif (util && util.inspect && util.inspect.custom) {\n module.exports.prototype[util.inspect.custom] = function () {\n var obj = util.inspect({ length: this.length });\n return this.constructor.name + ' ' + obj;\n };\n}","var sizes = {\n md5: 16,\n sha1: 20,\n sha224: 28,\n sha256: 32,\n sha384: 48,\n sha512: 64,\n rmd160: 20,\n ripemd160: 20\n}\n\nvar createHmac = require('create-hmac')\nvar Buffer = require('safe-buffer').Buffer\n\nvar checkParameters = require('./precondition')\nvar defaultEncoding = require('./default-encoding')\nvar toBuffer = require('./to-buffer')\n\nfunction pbkdf2 (password, salt, iterations, keylen, digest) {\n checkParameters(iterations, keylen)\n password = toBuffer(password, defaultEncoding, 'Password')\n salt = toBuffer(salt, defaultEncoding, 'Salt')\n\n digest = digest || 'sha1'\n\n var DK = Buffer.allocUnsafe(keylen)\n var block1 = Buffer.allocUnsafe(salt.length + 4)\n salt.copy(block1, 0, 0, salt.length)\n\n var destPos = 0\n var hLen = sizes[digest]\n var l = Math.ceil(keylen / hLen)\n\n for (var i = 1; i <= l; i++) {\n block1.writeUInt32BE(i, salt.length)\n\n var T = createHmac(digest, password).update(block1).digest()\n var U = T\n\n for (var j = 1; j < iterations; j++) {\n U = createHmac(digest, password).update(U).digest()\n for (var k = 0; k < hLen; k++) T[k] ^= U[k]\n }\n\n T.copy(DK, destPos)\n destPos += hLen\n }\n\n return DK\n}\n\nmodule.exports = pbkdf2\n","/*!\n * Fast node `require('process')` for modern browsers\n *\n * @author Mathias Rasmussen \n * @license MIT\n */\nimport queueMicrotask from 'queue-microtask'\n\nconst title = 'browser'\nconst browser = true\nconst env = {}\nconst argv = []\nconst version = ''\nconst versions = {}\n\nfunction noop () {}\n\nconst on = noop\nconst addListener = noop\nconst once = noop\nconst off = noop\nconst removeListener = noop\nconst removeAllListeners = noop\nconst emit = noop\nconst prependListener = noop\nconst prependOnceListener = noop\n\nconst nextTick = (func, ...args) => queueMicrotask(() => func(...args))\n\nconst listeners = (name) => []\n\nconst cwd = () => '/'\nconst umask = () => 0\nconst binding = (name) => { throw new Error('process.binding is not supported') }\nconst chdir = (dir) => { throw new Error('process.chdir is not supported') }\n\nexport {\n title, browser, env, argv, version, versions, on, addListener, once, off, removeListener,\n removeAllListeners, emit, prependListener, prependOnceListener, nextTick, listeners, cwd, umask, binding, chdir\n}\n","var inherits = require('inherits');\n\nvar DEREncoder = require('./der');\n\nfunction PEMEncoder(entity) {\n DEREncoder.call(this, entity);\n this.enc = 'pem';\n};\ninherits(PEMEncoder, DEREncoder);\nmodule.exports = PEMEncoder;\n\nPEMEncoder.prototype.encode = function encode(data, options) {\n var buf = DEREncoder.prototype.encode.call(this, data);\n\n var p = buf.toString('base64');\n var out = [ '-----BEGIN ' + options.label + '-----' ];\n for (var i = 0; i < p.length; i += 64)\n out.push(p.slice(i, i + 64));\n out.push('-----END ' + options.label + '-----');\n return out.join('\\n');\n};\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '')\n\t\t\t.trim()\n\t\t\t.replace(' ', ',')\n\t\t\t.split(',')\n\t\t\t.filter(Boolean);\n\n\t\tfor (const ns of split) {\n\t\t\tif (ns[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(ns.slice(1));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(ns);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the given string matches a namespace template, honoring\n\t * asterisks as wildcards.\n\t *\n\t * @param {String} search\n\t * @param {String} template\n\t * @return {Boolean}\n\t */\n\tfunction matchesTemplate(search, template) {\n\t\tlet searchIndex = 0;\n\t\tlet templateIndex = 0;\n\t\tlet starIndex = -1;\n\t\tlet matchIndex = 0;\n\n\t\twhile (searchIndex < search.length) {\n\t\t\tif (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) {\n\t\t\t\t// Match character or proceed with wildcard\n\t\t\t\tif (template[templateIndex] === '*') {\n\t\t\t\t\tstarIndex = templateIndex;\n\t\t\t\t\tmatchIndex = searchIndex;\n\t\t\t\t\ttemplateIndex++; // Skip the '*'\n\t\t\t\t} else {\n\t\t\t\t\tsearchIndex++;\n\t\t\t\t\ttemplateIndex++;\n\t\t\t\t}\n\t\t\t} else if (starIndex !== -1) { // eslint-disable-line no-negated-condition\n\t\t\t\t// Backtrack to the last '*' and try to match more characters\n\t\t\t\ttemplateIndex = starIndex + 1;\n\t\t\t\tmatchIndex++;\n\t\t\t\tsearchIndex = matchIndex;\n\t\t\t} else {\n\t\t\t\treturn false; // No match\n\t\t\t}\n\t\t}\n\n\t\t// Handle trailing '*' in template\n\t\twhile (templateIndex < template.length && template[templateIndex] === '*') {\n\t\t\ttemplateIndex++;\n\t\t}\n\n\t\treturn templateIndex === template.length;\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names,\n\t\t\t...createDebug.skips.map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tfor (const skip of createDebug.skips) {\n\t\t\tif (matchesTemplate(name, skip)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (const ns of createDebug.names) {\n\t\t\tif (matchesTemplate(name, ns)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","var once = require('once')\nvar eos = require('end-of-stream')\nvar fs\n\ntry {\n fs = require('fs') // we only need fs to get the ReadStream and WriteStream prototypes\n} catch (e) {}\n\nvar noop = function () {}\nvar ancient = /^v?\\.0/.test(process.version)\n\nvar isFn = function (fn) {\n return typeof fn === 'function'\n}\n\nvar isFS = function (stream) {\n if (!ancient) return false // newer node version do not need to care about fs is a special way\n if (!fs) return false // browser\n return (stream instanceof (fs.ReadStream || noop) || stream instanceof (fs.WriteStream || noop)) && isFn(stream.close)\n}\n\nvar isRequest = function (stream) {\n return stream.setHeader && isFn(stream.abort)\n}\n\nvar destroyer = function (stream, reading, writing, callback) {\n callback = once(callback)\n\n var closed = false\n stream.on('close', function () {\n closed = true\n })\n\n eos(stream, {readable: reading, writable: writing}, function (err) {\n if (err) return callback(err)\n closed = true\n callback()\n })\n\n var destroyed = false\n return function (err) {\n if (closed) return\n if (destroyed) return\n destroyed = true\n\n if (isFS(stream)) return stream.close(noop) // use close for fs streams to avoid fd leaks\n if (isRequest(stream)) return stream.abort() // request.destroy just do .end - .abort is what we want\n\n if (isFn(stream.destroy)) return stream.destroy()\n\n callback(err || new Error('stream was destroyed'))\n }\n}\n\nvar call = function (fn) {\n fn()\n}\n\nvar pipe = function (from, to) {\n return from.pipe(to)\n}\n\nvar pump = function () {\n var streams = Array.prototype.slice.call(arguments)\n var callback = isFn(streams[streams.length - 1] || noop) && streams.pop() || noop\n\n if (Array.isArray(streams[0])) streams = streams[0]\n if (streams.length < 2) throw new Error('pump requires two streams per minimum')\n\n var error\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1\n var writing = i > 0\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err\n if (err) destroys.forEach(call)\n if (reading) return\n destroys.forEach(call)\n callback(error)\n })\n })\n\n return streams.reduce(pipe)\n}\n\nmodule.exports = pump\n","'use strict';\n\nvar curve = exports;\n\ncurve.base = require('./base');\ncurve.short = require('./short');\ncurve.mont = require('./mont');\ncurve.edwards = require('./edwards');\n","'use strict';\n\nvar $TypeError = require('es-errors/type');\nvar inspect = require('object-inspect');\nvar getSideChannelList = require('side-channel-list');\nvar getSideChannelMap = require('side-channel-map');\nvar getSideChannelWeakMap = require('side-channel-weakmap');\n\nvar makeChannel = getSideChannelWeakMap || getSideChannelMap || getSideChannelList;\n\n/** @type {import('.')} */\nmodule.exports = function getSideChannel() {\n\t/** @typedef {ReturnType} Channel */\n\n\t/** @type {Channel | undefined} */ var $channelData;\n\n\t/** @type {Channel} */\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\t'delete': function (key) {\n\t\t\treturn !!$channelData && $channelData['delete'](key);\n\t\t},\n\t\tget: function (key) {\n\t\t\treturn $channelData && $channelData.get(key);\n\t\t},\n\t\thas: function (key) {\n\t\t\treturn !!$channelData && $channelData.has(key);\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif (!$channelData) {\n\t\t\t\t$channelData = makeChannel();\n\t\t\t}\n\n\t\t\t$channelData.set(key, value);\n\t\t}\n\t};\n\t// @ts-expect-error TODO: figure out why this is erroring\n\treturn channel;\n};\n","var FreeList = (function() {\n\tfunction FreeList(name, max, constructor) {\n\t\tthis.name = name;\n\t\tthis.max = max;\n\t\tthis.constructor = constructor != null ? constructor : function() {};\n\t\tthis.list = [];\n\t}\n\n\tFreeList.prototype.alloc = function() {\n\t\tif (this.list.length) {\n\t\t\treturn this.list.shift();\n\t\t} else {\n\t\t\treturn this.constructor.apply(this, arguments);\n\t\t}\n\t};\n\n\tFreeList.prototype.free = function(obj) {\n\t\tif (this.list.length < this.max) {\n\t\t\tthis.list.push(obj);\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\treturn FreeList;\n})();\n\n// remain backward compatible\nFreeList.FreeList = FreeList;\n\nmodule.exports = FreeList;\n","export function digitCount (value) {\n // Add a digit for negative numbers, as the sign will be prefixed\n const sign = value < 0 ? 1 : 0\n // Guard against negative numbers & zero going into log10(),\n // as that would return -Infinity\n value = Math.abs(Number(value || 1))\n return Math.floor(Math.log10(value)) + 1 + sign\n}\n\nexport function getType (value) {\n if (ArrayBuffer.isView(value)) return 'arraybufferview'\n if (Array.isArray(value)) return 'array'\n if (value instanceof Number) return 'number'\n if (value instanceof Boolean) return 'boolean'\n if (value instanceof Set) return 'set'\n if (value instanceof Map) return 'map'\n if (value instanceof String) return 'string'\n if (value instanceof ArrayBuffer) return 'arraybuffer'\n return typeof value\n}\n","import { concat, text2arr } from 'uint8-util'\nimport { getType } from './util.js'\n\n/**\n * Encodes data in bencode.\n *\n * @param {Uint8Array|Array|String|Object|Number|Boolean} data\n * @return {Uint8Array}\n */\nfunction encode (data, buffer, offset) {\n const buffers = []\n let result = null\n\n encode._encode(buffers, data)\n result = concat(buffers)\n encode.bytes = result.length\n\n if (ArrayBuffer.isView(buffer)) {\n buffer.set(result, offset)\n return buffer\n }\n\n return result\n}\n\nencode.bytes = -1\nencode._floatConversionDetected = false\n\nencode._encode = function (buffers, data) {\n if (data == null) { return }\n\n switch (getType(data)) {\n case 'object': encode.dict(buffers, data); break\n case 'map': encode.dictMap(buffers, data); break\n case 'array': encode.list(buffers, data); break\n case 'set': encode.listSet(buffers, data); break\n case 'string': encode.string(buffers, data); break\n case 'number': encode.number(buffers, data); break\n case 'boolean': encode.number(buffers, data); break\n case 'arraybufferview': encode.buffer(buffers, new Uint8Array(data.buffer, data.byteOffset, data.byteLength)); break\n case 'arraybuffer': encode.buffer(buffers, new Uint8Array(data)); break\n }\n}\n\nconst buffE = new Uint8Array([0x65])\nconst buffD = new Uint8Array([0x64])\nconst buffL = new Uint8Array([0x6C])\n\nencode.buffer = function (buffers, data) {\n buffers.push(text2arr(data.length + ':'), data)\n}\n\nencode.string = function (buffers, data) {\n buffers.push(text2arr(text2arr(data).byteLength + ':' + data))\n}\n\nencode.number = function (buffers, data) {\n if (Number.isInteger(data)) return buffers.push(text2arr('i' + BigInt(data) + 'e'))\n\n const maxLo = 0x80000000\n const hi = (data / maxLo) << 0\n const lo = (data % maxLo) << 0\n const val = hi * maxLo + lo\n\n buffers.push(text2arr('i' + val + 'e'))\n\n if (val !== data && !encode._floatConversionDetected) {\n encode._floatConversionDetected = true\n console.warn(\n 'WARNING: Possible data corruption detected with value \"' + data + '\":',\n 'Bencoding only defines support for integers, value was converted to \"' + val + '\"'\n )\n console.trace()\n }\n}\n\nencode.dict = function (buffers, data) {\n buffers.push(buffD)\n\n let j = 0\n let k\n // fix for issue #13 - sorted dicts\n const keys = Object.keys(data).sort()\n const kl = keys.length\n\n for (; j < kl; j++) {\n k = keys[j]\n if (data[k] == null) continue\n encode.string(buffers, k)\n encode._encode(buffers, data[k])\n }\n\n buffers.push(buffE)\n}\n\nencode.dictMap = function (buffers, data) {\n buffers.push(buffD)\n\n const keys = Array.from(data.keys()).sort()\n\n for (const key of keys) {\n if (data.get(key) == null) continue\n ArrayBuffer.isView(key)\n ? encode._encode(buffers, key)\n : encode.string(buffers, String(key))\n encode._encode(buffers, data.get(key))\n }\n\n buffers.push(buffE)\n}\n\nencode.list = function (buffers, data) {\n let i = 0\n const c = data.length\n buffers.push(buffL)\n\n for (; i < c; i++) {\n if (data[i] == null) continue\n encode._encode(buffers, data[i])\n }\n\n buffers.push(buffE)\n}\n\nencode.listSet = function (buffers, data) {\n buffers.push(buffL)\n\n for (const item of data) {\n if (item == null) continue\n encode._encode(buffers, item)\n }\n\n buffers.push(buffE)\n}\n\nexport default encode\n","import { arr2text, text2arr, arr2hex } from 'uint8-util'\n\nconst INTEGER_START = 0x69 // 'i'\nconst STRING_DELIM = 0x3A // ':'\nconst DICTIONARY_START = 0x64 // 'd'\nconst LIST_START = 0x6C // 'l'\nconst END_OF_TYPE = 0x65 // 'e'\n\n/**\n * replaces parseInt(buffer.toString('ascii', start, end)).\n * For strings with less then ~30 charachters, this is actually a lot faster.\n *\n * @param {Uint8Array} data\n * @param {Number} start\n * @param {Number} end\n * @return {Number} calculated number\n */\nfunction getIntFromBuffer (buffer, start, end) {\n let sum = 0\n let sign = 1\n\n for (let i = start; i < end; i++) {\n const num = buffer[i]\n\n if (num < 58 && num >= 48) {\n sum = sum * 10 + (num - 48)\n continue\n }\n\n if (i === start && num === 43) { // +\n continue\n }\n\n if (i === start && num === 45) { // -\n sign = -1\n continue\n }\n\n if (num === 46) { // .\n // its a float. break here.\n break\n }\n\n throw new Error('not a number: buffer[' + i + '] = ' + num)\n }\n\n return sum * sign\n}\n\n/**\n * Decodes bencoded data.\n *\n * @param {Uint8Array} data\n * @param {Number} start (optional)\n * @param {Number} end (optional)\n * @param {String} encoding (optional)\n * @return {Object|Array|Uint8Array|String|Number}\n */\nfunction decode (data, start, end, encoding) {\n if (data == null || data.length === 0) {\n return null\n }\n\n if (typeof start !== 'number' && encoding == null) {\n encoding = start\n start = undefined\n }\n\n if (typeof end !== 'number' && encoding == null) {\n encoding = end\n end = undefined\n }\n\n decode.position = 0\n decode.encoding = encoding || null\n\n decode.data = !(ArrayBuffer.isView(data))\n ? text2arr(data)\n : new Uint8Array(data.slice(start, end))\n\n decode.bytes = decode.data.length\n\n return decode.next()\n}\n\ndecode.bytes = 0\ndecode.position = 0\ndecode.data = null\ndecode.encoding = null\n\ndecode.next = function () {\n switch (decode.data[decode.position]) {\n case DICTIONARY_START:\n return decode.dictionary()\n case LIST_START:\n return decode.list()\n case INTEGER_START:\n return decode.integer()\n default:\n return decode.buffer()\n }\n}\n\ndecode.find = function (chr) {\n let i = decode.position\n const c = decode.data.length\n const d = decode.data\n\n while (i < c) {\n if (d[i] === chr) return i\n i++\n }\n\n throw new Error(\n 'Invalid data: Missing delimiter \"' +\n String.fromCharCode(chr) + '\" [0x' +\n chr.toString(16) + ']'\n )\n}\n\ndecode.dictionary = function () {\n decode.position++\n\n const dict = {}\n\n while (decode.data[decode.position] !== END_OF_TYPE) {\n const buffer = decode.buffer()\n let key = arr2text(buffer)\n if (key.includes('\\uFFFD')) key = arr2hex(buffer)\n dict[key] = decode.next()\n }\n\n decode.position++\n\n return dict\n}\n\ndecode.list = function () {\n decode.position++\n\n const lst = []\n\n while (decode.data[decode.position] !== END_OF_TYPE) {\n lst.push(decode.next())\n }\n\n decode.position++\n\n return lst\n}\n\ndecode.integer = function () {\n const end = decode.find(END_OF_TYPE)\n const number = getIntFromBuffer(decode.data, decode.position + 1, end)\n\n decode.position += end + 1 - decode.position\n\n return number\n}\n\ndecode.buffer = function () {\n let sep = decode.find(STRING_DELIM)\n const length = getIntFromBuffer(decode.data, decode.position, sep)\n const end = ++sep + length\n\n decode.position = end\n\n return decode.encoding\n ? arr2text(decode.data.slice(sep, end))\n : decode.data.slice(sep, end)\n}\n\nexport default decode\n","import { text2arr } from 'uint8-util'\nimport { digitCount, getType } from './util.js'\n\nfunction listLength (list) {\n let length = 1 + 1 // type marker + end-of-type marker\n\n for (const value of list) {\n length += encodingLength(value)\n }\n\n return length\n}\n\nfunction mapLength (map) {\n let length = 1 + 1 // type marker + end-of-type marker\n\n for (const [key, value] of map) {\n const keyLength = text2arr(key).byteLength\n length += digitCount(keyLength) + 1 + keyLength\n length += encodingLength(value)\n }\n\n return length\n}\n\nfunction objectLength (value) {\n let length = 1 + 1 // type marker + end-of-type marker\n const keys = Object.keys(value)\n\n for (let i = 0; i < keys.length; i++) {\n const keyLength = text2arr(keys[i]).byteLength\n length += digitCount(keyLength) + 1 + keyLength\n length += encodingLength(value[keys[i]])\n }\n\n return length\n}\n\nfunction stringLength (value) {\n const length = text2arr(value).byteLength\n return digitCount(length) + 1 + length\n}\n\nfunction arrayBufferLength (value) {\n const length = value.byteLength - value.byteOffset\n return digitCount(length) + 1 + length\n}\n\nfunction encodingLength (value) {\n const length = 0\n\n if (value == null) return length\n\n const type = getType(value)\n\n switch (type) {\n case 'arraybufferview': return arrayBufferLength(value)\n case 'string': return stringLength(value)\n case 'array': case 'set': return listLength(value)\n case 'number': return 1 + digitCount(Math.floor(value)) + 1\n case 'bigint': return 1 + value.toString().length + 1\n case 'object': return objectLength(value)\n case 'map': return mapLength(value)\n default:\n throw new TypeError(`Unsupported value of type \"${type}\"`)\n }\n}\n\nexport default encodingLength\n","import encode from './lib/encode.js'\nimport decode from './lib/decode.js'\nimport byteLength from './lib/encoding-length.js'\n/**\n * Determines the amount of bytes\n * needed to encode the given value\n * @param {Object|Array|Uint8Array|String|Number|Boolean} value\n * @return {Number} byteCount\n */\nconst encodingLength = byteLength\nexport default { encode, decode, byteLength, encodingLength }\n","var Reporter = require('../base').Reporter;\nvar EncoderBuffer = require('../base').EncoderBuffer;\nvar DecoderBuffer = require('../base').DecoderBuffer;\nvar assert = require('minimalistic-assert');\n\n// Supported tags\nvar tags = [\n 'seq', 'seqof', 'set', 'setof', 'objid', 'bool',\n 'gentime', 'utctime', 'null_', 'enum', 'int', 'objDesc',\n 'bitstr', 'bmpstr', 'charstr', 'genstr', 'graphstr', 'ia5str', 'iso646str',\n 'numstr', 'octstr', 'printstr', 't61str', 'unistr', 'utf8str', 'videostr'\n];\n\n// Public methods list\nvar methods = [\n 'key', 'obj', 'use', 'optional', 'explicit', 'implicit', 'def', 'choice',\n 'any', 'contains'\n].concat(tags);\n\n// Overrided methods list\nvar overrided = [\n '_peekTag', '_decodeTag', '_use',\n '_decodeStr', '_decodeObjid', '_decodeTime',\n '_decodeNull', '_decodeInt', '_decodeBool', '_decodeList',\n\n '_encodeComposite', '_encodeStr', '_encodeObjid', '_encodeTime',\n '_encodeNull', '_encodeInt', '_encodeBool'\n];\n\nfunction Node(enc, parent) {\n var state = {};\n this._baseState = state;\n\n state.enc = enc;\n\n state.parent = parent || null;\n state.children = null;\n\n // State\n state.tag = null;\n state.args = null;\n state.reverseArgs = null;\n state.choice = null;\n state.optional = false;\n state.any = false;\n state.obj = false;\n state.use = null;\n state.useDecoder = null;\n state.key = null;\n state['default'] = null;\n state.explicit = null;\n state.implicit = null;\n state.contains = null;\n\n // Should create new instance on each method\n if (!state.parent) {\n state.children = [];\n this._wrap();\n }\n}\nmodule.exports = Node;\n\nvar stateProps = [\n 'enc', 'parent', 'children', 'tag', 'args', 'reverseArgs', 'choice',\n 'optional', 'any', 'obj', 'use', 'alteredUse', 'key', 'default', 'explicit',\n 'implicit', 'contains'\n];\n\nNode.prototype.clone = function clone() {\n var state = this._baseState;\n var cstate = {};\n stateProps.forEach(function(prop) {\n cstate[prop] = state[prop];\n });\n var res = new this.constructor(cstate.parent);\n res._baseState = cstate;\n return res;\n};\n\nNode.prototype._wrap = function wrap() {\n var state = this._baseState;\n methods.forEach(function(method) {\n this[method] = function _wrappedMethod() {\n var clone = new this.constructor(this);\n state.children.push(clone);\n return clone[method].apply(clone, arguments);\n };\n }, this);\n};\n\nNode.prototype._init = function init(body) {\n var state = this._baseState;\n\n assert(state.parent === null);\n body.call(this);\n\n // Filter children\n state.children = state.children.filter(function(child) {\n return child._baseState.parent === this;\n }, this);\n assert.equal(state.children.length, 1, 'Root node can have only one child');\n};\n\nNode.prototype._useArgs = function useArgs(args) {\n var state = this._baseState;\n\n // Filter children and args\n var children = args.filter(function(arg) {\n return arg instanceof this.constructor;\n }, this);\n args = args.filter(function(arg) {\n return !(arg instanceof this.constructor);\n }, this);\n\n if (children.length !== 0) {\n assert(state.children === null);\n state.children = children;\n\n // Replace parent to maintain backward link\n children.forEach(function(child) {\n child._baseState.parent = this;\n }, this);\n }\n if (args.length !== 0) {\n assert(state.args === null);\n state.args = args;\n state.reverseArgs = args.map(function(arg) {\n if (typeof arg !== 'object' || arg.constructor !== Object)\n return arg;\n\n var res = {};\n Object.keys(arg).forEach(function(key) {\n if (key == (key | 0))\n key |= 0;\n var value = arg[key];\n res[value] = key;\n });\n return res;\n });\n }\n};\n\n//\n// Overrided methods\n//\n\noverrided.forEach(function(method) {\n Node.prototype[method] = function _overrided() {\n var state = this._baseState;\n throw new Error(method + ' not implemented for encoding: ' + state.enc);\n };\n});\n\n//\n// Public methods\n//\n\ntags.forEach(function(tag) {\n Node.prototype[tag] = function _tagMethod() {\n var state = this._baseState;\n var args = Array.prototype.slice.call(arguments);\n\n assert(state.tag === null);\n state.tag = tag;\n\n this._useArgs(args);\n\n return this;\n };\n});\n\nNode.prototype.use = function use(item) {\n assert(item);\n var state = this._baseState;\n\n assert(state.use === null);\n state.use = item;\n\n return this;\n};\n\nNode.prototype.optional = function optional() {\n var state = this._baseState;\n\n state.optional = true;\n\n return this;\n};\n\nNode.prototype.def = function def(val) {\n var state = this._baseState;\n\n assert(state['default'] === null);\n state['default'] = val;\n state.optional = true;\n\n return this;\n};\n\nNode.prototype.explicit = function explicit(num) {\n var state = this._baseState;\n\n assert(state.explicit === null && state.implicit === null);\n state.explicit = num;\n\n return this;\n};\n\nNode.prototype.implicit = function implicit(num) {\n var state = this._baseState;\n\n assert(state.explicit === null && state.implicit === null);\n state.implicit = num;\n\n return this;\n};\n\nNode.prototype.obj = function obj() {\n var state = this._baseState;\n var args = Array.prototype.slice.call(arguments);\n\n state.obj = true;\n\n if (args.length !== 0)\n this._useArgs(args);\n\n return this;\n};\n\nNode.prototype.key = function key(newKey) {\n var state = this._baseState;\n\n assert(state.key === null);\n state.key = newKey;\n\n return this;\n};\n\nNode.prototype.any = function any() {\n var state = this._baseState;\n\n state.any = true;\n\n return this;\n};\n\nNode.prototype.choice = function choice(obj) {\n var state = this._baseState;\n\n assert(state.choice === null);\n state.choice = obj;\n this._useArgs(Object.keys(obj).map(function(key) {\n return obj[key];\n }));\n\n return this;\n};\n\nNode.prototype.contains = function contains(item) {\n var state = this._baseState;\n\n assert(state.use === null);\n state.contains = item;\n\n return this;\n};\n\n//\n// Decoding\n//\n\nNode.prototype._decode = function decode(input, options) {\n var state = this._baseState;\n\n // Decode root node\n if (state.parent === null)\n return input.wrapResult(state.children[0]._decode(input, options));\n\n var result = state['default'];\n var present = true;\n\n var prevKey = null;\n if (state.key !== null)\n prevKey = input.enterKey(state.key);\n\n // Check if tag is there\n if (state.optional) {\n var tag = null;\n if (state.explicit !== null)\n tag = state.explicit;\n else if (state.implicit !== null)\n tag = state.implicit;\n else if (state.tag !== null)\n tag = state.tag;\n\n if (tag === null && !state.any) {\n // Trial and Error\n var save = input.save();\n try {\n if (state.choice === null)\n this._decodeGeneric(state.tag, input, options);\n else\n this._decodeChoice(input, options);\n present = true;\n } catch (e) {\n present = false;\n }\n input.restore(save);\n } else {\n present = this._peekTag(input, tag, state.any);\n\n if (input.isError(present))\n return present;\n }\n }\n\n // Push object on stack\n var prevObj;\n if (state.obj && present)\n prevObj = input.enterObject();\n\n if (present) {\n // Unwrap explicit values\n if (state.explicit !== null) {\n var explicit = this._decodeTag(input, state.explicit);\n if (input.isError(explicit))\n return explicit;\n input = explicit;\n }\n\n var start = input.offset;\n\n // Unwrap implicit and normal values\n if (state.use === null && state.choice === null) {\n if (state.any)\n var save = input.save();\n var body = this._decodeTag(\n input,\n state.implicit !== null ? state.implicit : state.tag,\n state.any\n );\n if (input.isError(body))\n return body;\n\n if (state.any)\n result = input.raw(save);\n else\n input = body;\n }\n\n if (options && options.track && state.tag !== null)\n options.track(input.path(), start, input.length, 'tagged');\n\n if (options && options.track && state.tag !== null)\n options.track(input.path(), input.offset, input.length, 'content');\n\n // Select proper method for tag\n if (state.any)\n result = result;\n else if (state.choice === null)\n result = this._decodeGeneric(state.tag, input, options);\n else\n result = this._decodeChoice(input, options);\n\n if (input.isError(result))\n return result;\n\n // Decode children\n if (!state.any && state.choice === null && state.children !== null) {\n state.children.forEach(function decodeChildren(child) {\n // NOTE: We are ignoring errors here, to let parser continue with other\n // parts of encoded data\n child._decode(input, options);\n });\n }\n\n // Decode contained/encoded by schema, only in bit or octet strings\n if (state.contains && (state.tag === 'octstr' || state.tag === 'bitstr')) {\n var data = new DecoderBuffer(result);\n result = this._getUse(state.contains, input._reporterState.obj)\n ._decode(data, options);\n }\n }\n\n // Pop object\n if (state.obj && present)\n result = input.leaveObject(prevObj);\n\n // Set key\n if (state.key !== null && (result !== null || present === true))\n input.leaveKey(prevKey, state.key, result);\n else if (prevKey !== null)\n input.exitKey(prevKey);\n\n return result;\n};\n\nNode.prototype._decodeGeneric = function decodeGeneric(tag, input, options) {\n var state = this._baseState;\n\n if (tag === 'seq' || tag === 'set')\n return null;\n if (tag === 'seqof' || tag === 'setof')\n return this._decodeList(input, tag, state.args[0], options);\n else if (/str$/.test(tag))\n return this._decodeStr(input, tag, options);\n else if (tag === 'objid' && state.args)\n return this._decodeObjid(input, state.args[0], state.args[1], options);\n else if (tag === 'objid')\n return this._decodeObjid(input, null, null, options);\n else if (tag === 'gentime' || tag === 'utctime')\n return this._decodeTime(input, tag, options);\n else if (tag === 'null_')\n return this._decodeNull(input, options);\n else if (tag === 'bool')\n return this._decodeBool(input, options);\n else if (tag === 'objDesc')\n return this._decodeStr(input, tag, options);\n else if (tag === 'int' || tag === 'enum')\n return this._decodeInt(input, state.args && state.args[0], options);\n\n if (state.use !== null) {\n return this._getUse(state.use, input._reporterState.obj)\n ._decode(input, options);\n } else {\n return input.error('unknown tag: ' + tag);\n }\n};\n\nNode.prototype._getUse = function _getUse(entity, obj) {\n\n var state = this._baseState;\n // Create altered use decoder if implicit is set\n state.useDecoder = this._use(entity, obj);\n assert(state.useDecoder._baseState.parent === null);\n state.useDecoder = state.useDecoder._baseState.children[0];\n if (state.implicit !== state.useDecoder._baseState.implicit) {\n state.useDecoder = state.useDecoder.clone();\n state.useDecoder._baseState.implicit = state.implicit;\n }\n return state.useDecoder;\n};\n\nNode.prototype._decodeChoice = function decodeChoice(input, options) {\n var state = this._baseState;\n var result = null;\n var match = false;\n\n Object.keys(state.choice).some(function(key) {\n var save = input.save();\n var node = state.choice[key];\n try {\n var value = node._decode(input, options);\n if (input.isError(value))\n return false;\n\n result = { type: key, value: value };\n match = true;\n } catch (e) {\n input.restore(save);\n return false;\n }\n return true;\n }, this);\n\n if (!match)\n return input.error('Choice not matched');\n\n return result;\n};\n\n//\n// Encoding\n//\n\nNode.prototype._createEncoderBuffer = function createEncoderBuffer(data) {\n return new EncoderBuffer(data, this.reporter);\n};\n\nNode.prototype._encode = function encode(data, reporter, parent) {\n var state = this._baseState;\n if (state['default'] !== null && state['default'] === data)\n return;\n\n var result = this._encodeValue(data, reporter, parent);\n if (result === undefined)\n return;\n\n if (this._skipDefault(result, reporter, parent))\n return;\n\n return result;\n};\n\nNode.prototype._encodeValue = function encode(data, reporter, parent) {\n var state = this._baseState;\n\n // Decode root node\n if (state.parent === null)\n return state.children[0]._encode(data, reporter || new Reporter());\n\n var result = null;\n\n // Set reporter to share it with a child class\n this.reporter = reporter;\n\n // Check if data is there\n if (state.optional && data === undefined) {\n if (state['default'] !== null)\n data = state['default']\n else\n return;\n }\n\n // Encode children first\n var content = null;\n var primitive = false;\n if (state.any) {\n // Anything that was given is translated to buffer\n result = this._createEncoderBuffer(data);\n } else if (state.choice) {\n result = this._encodeChoice(data, reporter);\n } else if (state.contains) {\n content = this._getUse(state.contains, parent)._encode(data, reporter);\n primitive = true;\n } else if (state.children) {\n content = state.children.map(function(child) {\n if (child._baseState.tag === 'null_')\n return child._encode(null, reporter, data);\n\n if (child._baseState.key === null)\n return reporter.error('Child should have a key');\n var prevKey = reporter.enterKey(child._baseState.key);\n\n if (typeof data !== 'object')\n return reporter.error('Child expected, but input is not object');\n\n var res = child._encode(data[child._baseState.key], reporter, data);\n reporter.leaveKey(prevKey);\n\n return res;\n }, this).filter(function(child) {\n return child;\n });\n content = this._createEncoderBuffer(content);\n } else {\n if (state.tag === 'seqof' || state.tag === 'setof') {\n // TODO(indutny): this should be thrown on DSL level\n if (!(state.args && state.args.length === 1))\n return reporter.error('Too many args for : ' + state.tag);\n\n if (!Array.isArray(data))\n return reporter.error('seqof/setof, but data is not Array');\n\n var child = this.clone();\n child._baseState.implicit = null;\n content = this._createEncoderBuffer(data.map(function(item) {\n var state = this._baseState;\n\n return this._getUse(state.args[0], data)._encode(item, reporter);\n }, child));\n } else if (state.use !== null) {\n result = this._getUse(state.use, parent)._encode(data, reporter);\n } else {\n content = this._encodePrimitive(state.tag, data);\n primitive = true;\n }\n }\n\n // Encode data itself\n var result;\n if (!state.any && state.choice === null) {\n var tag = state.implicit !== null ? state.implicit : state.tag;\n var cls = state.implicit === null ? 'universal' : 'context';\n\n if (tag === null) {\n if (state.use === null)\n reporter.error('Tag could be omitted only for .use()');\n } else {\n if (state.use === null)\n result = this._encodeComposite(tag, primitive, cls, content);\n }\n }\n\n // Wrap in explicit\n if (state.explicit !== null)\n result = this._encodeComposite(state.explicit, false, 'context', result);\n\n return result;\n};\n\nNode.prototype._encodeChoice = function encodeChoice(data, reporter) {\n var state = this._baseState;\n\n var node = state.choice[data.type];\n if (!node) {\n assert(\n false,\n data.type + ' not found in ' +\n JSON.stringify(Object.keys(state.choice)));\n }\n return node._encode(data.value, reporter);\n};\n\nNode.prototype._encodePrimitive = function encodePrimitive(tag, data) {\n var state = this._baseState;\n\n if (/str$/.test(tag))\n return this._encodeStr(data, tag);\n else if (tag === 'objid' && state.args)\n return this._encodeObjid(data, state.reverseArgs[0], state.args[1]);\n else if (tag === 'objid')\n return this._encodeObjid(data, null, null);\n else if (tag === 'gentime' || tag === 'utctime')\n return this._encodeTime(data, tag);\n else if (tag === 'null_')\n return this._encodeNull();\n else if (tag === 'int' || tag === 'enum')\n return this._encodeInt(data, state.args && state.reverseArgs[0]);\n else if (tag === 'bool')\n return this._encodeBool(data);\n else if (tag === 'objDesc')\n return this._encodeStr(data, tag);\n else\n throw new Error('Unsupported tag: ' + tag);\n};\n\nNode.prototype._isNumstr = function isNumstr(str) {\n return /^[0-9 ]*$/.test(str);\n};\n\nNode.prototype._isPrintstr = function isPrintstr(str) {\n return /^[A-Za-z0-9 '\\(\\)\\+,\\-\\.\\/:=\\?]*$/.test(str);\n};\n","'use strict';\n\n/** @type {import('./functionApply')} */\nmodule.exports = Function.prototype.apply;\n","const maxTick = 65535\r\nconst resolution = 10\r\nconst timeDiff = 1000 / resolution\r\nfunction getTick (start) {\r\n return (+Date.now() - start) / timeDiff & 65535\r\n}\r\n\r\nmodule.exports = function (seconds) {\r\n const start = +Date.now()\r\n\r\n const size = resolution * (seconds || 5)\r\n const buffer = [0]\r\n let pointer = 1\r\n let last = (getTick(start) - 1) & maxTick\r\n\r\n return function (delta) {\r\n const tick = getTick(start)\r\n let dist = (tick - last) & maxTick\r\n if (dist > size) dist = size\r\n last = tick\r\n\r\n while (dist--) {\r\n if (pointer === size) pointer = 0\r\n buffer[pointer] = buffer[pointer === 0 ? size - 1 : pointer - 1]\r\n pointer++\r\n }\r\n\r\n if (delta) buffer[pointer - 1] += delta\r\n\r\n const top = buffer[pointer - 1]\r\n const btm = buffer.length < size ? 0 : buffer[pointer === size ? 0 : pointer]\r\n\r\n return buffer.length < resolution ? top : (top - btm) * resolution / buffer.length\r\n }\r\n}\r\n","'use strict';\n\nvar $Object = require('es-object-atoms');\n\n/** @type {import('./Object.getPrototypeOf')} */\nmodule.exports = $Object.getPrototypeOf || null;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n","'use strict';\n\nlet Mime = require('./Mime');\nmodule.exports = new Mime(require('./types/standard'));\n","// from https://github.com/indutny/self-signed/blob/gh-pages/lib/asn1.js\n// Fedor, you are amazing.\n\n'use strict';\n\nvar asn1 = require('asn1.js');\n\nexports.certificate = require('./certificate');\n\nvar RSAPrivateKey = asn1.define('RSAPrivateKey', function () {\n\tthis.seq().obj(\n\t\tthis.key('version')['int'](),\n\t\tthis.key('modulus')['int'](),\n\t\tthis.key('publicExponent')['int'](),\n\t\tthis.key('privateExponent')['int'](),\n\t\tthis.key('prime1')['int'](),\n\t\tthis.key('prime2')['int'](),\n\t\tthis.key('exponent1')['int'](),\n\t\tthis.key('exponent2')['int'](),\n\t\tthis.key('coefficient')['int']()\n\t);\n});\nexports.RSAPrivateKey = RSAPrivateKey;\n\nvar RSAPublicKey = asn1.define('RSAPublicKey', function () {\n\tthis.seq().obj(\n\t\tthis.key('modulus')['int'](),\n\t\tthis.key('publicExponent')['int']()\n\t);\n});\nexports.RSAPublicKey = RSAPublicKey;\n\nvar AlgorithmIdentifier = asn1.define('AlgorithmIdentifier', function () {\n\tthis.seq().obj(\n\t\tthis.key('algorithm').objid(),\n\t\tthis.key('none').null_().optional(),\n\t\tthis.key('curve').objid().optional(),\n\t\tthis.key('params').seq().obj(\n\t\t\tthis.key('p')['int'](),\n\t\t\tthis.key('q')['int'](),\n\t\t\tthis.key('g')['int']()\n\t\t).optional()\n\t);\n});\n\nvar PublicKey = asn1.define('SubjectPublicKeyInfo', function () {\n\tthis.seq().obj(\n\t\tthis.key('algorithm').use(AlgorithmIdentifier),\n\t\tthis.key('subjectPublicKey').bitstr()\n\t);\n});\nexports.PublicKey = PublicKey;\n\nvar PrivateKeyInfo = asn1.define('PrivateKeyInfo', function () {\n\tthis.seq().obj(\n\t\tthis.key('version')['int'](),\n\t\tthis.key('algorithm').use(AlgorithmIdentifier),\n\t\tthis.key('subjectPrivateKey').octstr()\n\t);\n});\nexports.PrivateKey = PrivateKeyInfo;\nvar EncryptedPrivateKeyInfo = asn1.define('EncryptedPrivateKeyInfo', function () {\n\tthis.seq().obj(\n\t\tthis.key('algorithm').seq().obj(\n\t\t\tthis.key('id').objid(),\n\t\t\tthis.key('decrypt').seq().obj(\n\t\t\t\tthis.key('kde').seq().obj(\n\t\t\t\t\tthis.key('id').objid(),\n\t\t\t\t\tthis.key('kdeparams').seq().obj(\n\t\t\t\t\t\tthis.key('salt').octstr(),\n\t\t\t\t\t\tthis.key('iters')['int']()\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\tthis.key('cipher').seq().obj(\n\t\t\t\t\tthis.key('algo').objid(),\n\t\t\t\t\tthis.key('iv').octstr()\n\t\t\t\t)\n\t\t\t)\n\t\t),\n\t\tthis.key('subjectPrivateKey').octstr()\n\t);\n});\n\nexports.EncryptedPrivateKey = EncryptedPrivateKeyInfo;\n\nvar DSAPrivateKey = asn1.define('DSAPrivateKey', function () {\n\tthis.seq().obj(\n\t\tthis.key('version')['int'](),\n\t\tthis.key('p')['int'](),\n\t\tthis.key('q')['int'](),\n\t\tthis.key('g')['int'](),\n\t\tthis.key('pub_key')['int'](),\n\t\tthis.key('priv_key')['int']()\n\t);\n});\nexports.DSAPrivateKey = DSAPrivateKey;\n\nexports.DSAparam = asn1.define('DSAparam', function () {\n\tthis['int']();\n});\n\nvar ECParameters = asn1.define('ECParameters', function () {\n\tthis.choice({\n\t\tnamedCurve: this.objid()\n\t});\n});\n\nvar ECPrivateKey = asn1.define('ECPrivateKey', function () {\n\tthis.seq().obj(\n\t\tthis.key('version')['int'](),\n\t\tthis.key('privateKey').octstr(),\n\t\tthis.key('parameters').optional().explicit(0).use(ECParameters),\n\t\tthis.key('publicKey').optional().explicit(1).bitstr()\n\t);\n});\nexports.ECPrivateKey = ECPrivateKey;\n\nexports.signature = asn1.define('signature', function () {\n\tthis.seq().obj(\n\t\tthis.key('r')['int'](),\n\t\tthis.key('s')['int']()\n\t);\n});\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = require('buffer').Buffer;\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // 'A' - 'F'\n if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n // '0' - '9'\n } else {\n return (c - 48) & 0xf;\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this.strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","'use strict';\n\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\n\nvar origKeys = Object.keys;\nvar keysShim = origKeys ? function keys(o) { return origKeys(o); } : require('./implementation');\n\nvar originalKeys = Object.keys;\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\tvar args = Object.keys(arguments);\n\t\t\treturn args && args.length === arguments.length;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t}\n\t\t\t\treturn originalKeys(object);\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction KeyPair(ec, options) {\n this.ec = ec;\n this.priv = null;\n this.pub = null;\n\n // KeyPair(ec, { priv: ..., pub: ... })\n if (options.priv)\n this._importPrivate(options.priv, options.privEnc);\n if (options.pub)\n this._importPublic(options.pub, options.pubEnc);\n}\nmodule.exports = KeyPair;\n\nKeyPair.fromPublic = function fromPublic(ec, pub, enc) {\n if (pub instanceof KeyPair)\n return pub;\n\n return new KeyPair(ec, {\n pub: pub,\n pubEnc: enc,\n });\n};\n\nKeyPair.fromPrivate = function fromPrivate(ec, priv, enc) {\n if (priv instanceof KeyPair)\n return priv;\n\n return new KeyPair(ec, {\n priv: priv,\n privEnc: enc,\n });\n};\n\nKeyPair.prototype.validate = function validate() {\n var pub = this.getPublic();\n\n if (pub.isInfinity())\n return { result: false, reason: 'Invalid public key' };\n if (!pub.validate())\n return { result: false, reason: 'Public key is not a point' };\n if (!pub.mul(this.ec.curve.n).isInfinity())\n return { result: false, reason: 'Public key * N != O' };\n\n return { result: true, reason: null };\n};\n\nKeyPair.prototype.getPublic = function getPublic(compact, enc) {\n // compact is optional argument\n if (typeof compact === 'string') {\n enc = compact;\n compact = null;\n }\n\n if (!this.pub)\n this.pub = this.ec.g.mul(this.priv);\n\n if (!enc)\n return this.pub;\n\n return this.pub.encode(enc, compact);\n};\n\nKeyPair.prototype.getPrivate = function getPrivate(enc) {\n if (enc === 'hex')\n return this.priv.toString(16, 2);\n else\n return this.priv;\n};\n\nKeyPair.prototype._importPrivate = function _importPrivate(key, enc) {\n this.priv = new BN(key, enc || 16);\n\n // Ensure that the priv won't be bigger than n, otherwise we may fail\n // in fixed multiplication method\n this.priv = this.priv.umod(this.ec.curve.n);\n};\n\nKeyPair.prototype._importPublic = function _importPublic(key, enc) {\n if (key.x || key.y) {\n // Montgomery points only have an `x` coordinate.\n // Weierstrass/Edwards points on the other hand have both `x` and\n // `y` coordinates.\n if (this.ec.curve.type === 'mont') {\n assert(key.x, 'Need x coordinate');\n } else if (this.ec.curve.type === 'short' ||\n this.ec.curve.type === 'edwards') {\n assert(key.x && key.y, 'Need both x and y coordinate');\n }\n this.pub = this.ec.curve.point(key.x, key.y);\n return;\n }\n this.pub = this.ec.curve.decodePoint(key, enc);\n};\n\n// ECDH\nKeyPair.prototype.derive = function derive(pub) {\n if(!pub.validate()) {\n assert(pub.validate(), 'public point not validated');\n }\n return pub.mul(this.priv).getX();\n};\n\n// ECDSA\nKeyPair.prototype.sign = function sign(msg, enc, options) {\n return this.ec.sign(msg, this, enc, options);\n};\n\nKeyPair.prototype.verify = function verify(msg, signature, options) {\n return this.ec.verify(msg, signature, this, undefined, options);\n};\n\nKeyPair.prototype.inspect = function inspect() {\n return '';\n};\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","var ciphers = require('./encrypter')\nvar deciphers = require('./decrypter')\nvar modes = require('./modes/list.json')\n\nfunction getCiphers () {\n return Object.keys(modes)\n}\n\nexports.createCipher = exports.Cipher = ciphers.createCipher\nexports.createCipheriv = exports.Cipheriv = ciphers.createCipheriv\nexports.createDecipher = exports.Decipher = deciphers.createDecipher\nexports.createDecipheriv = exports.Decipheriv = deciphers.createDecipheriv\nexports.listCiphers = exports.getCiphers = getCiphers\n","'use strict';\n\nvar utils = require('../utils');\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar assert = utils.assert;\n\nfunction EdwardsCurve(conf) {\n // NOTE: Important as we are creating point in Base.call()\n this.twisted = (conf.a | 0) !== 1;\n this.mOneA = this.twisted && (conf.a | 0) === -1;\n this.extended = this.mOneA;\n\n Base.call(this, 'edwards', conf);\n\n this.a = new BN(conf.a, 16).umod(this.red.m);\n this.a = this.a.toRed(this.red);\n this.c = new BN(conf.c, 16).toRed(this.red);\n this.c2 = this.c.redSqr();\n this.d = new BN(conf.d, 16).toRed(this.red);\n this.dd = this.d.redAdd(this.d);\n\n assert(!this.twisted || this.c.fromRed().cmpn(1) === 0);\n this.oneC = (conf.c | 0) === 1;\n}\ninherits(EdwardsCurve, Base);\nmodule.exports = EdwardsCurve;\n\nEdwardsCurve.prototype._mulA = function _mulA(num) {\n if (this.mOneA)\n return num.redNeg();\n else\n return this.a.redMul(num);\n};\n\nEdwardsCurve.prototype._mulC = function _mulC(num) {\n if (this.oneC)\n return num;\n else\n return this.c.redMul(num);\n};\n\n// Just for compatibility with Short curve\nEdwardsCurve.prototype.jpoint = function jpoint(x, y, z, t) {\n return this.point(x, y, z, t);\n};\n\nEdwardsCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var x2 = x.redSqr();\n var rhs = this.c2.redSub(this.a.redMul(x2));\n var lhs = this.one.redSub(this.c2.redMul(this.d).redMul(x2));\n\n var y2 = rhs.redMul(lhs.redInvm());\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nEdwardsCurve.prototype.pointFromY = function pointFromY(y, odd) {\n y = new BN(y, 16);\n if (!y.red)\n y = y.toRed(this.red);\n\n // x^2 = (y^2 - c^2) / (c^2 d y^2 - a)\n var y2 = y.redSqr();\n var lhs = y2.redSub(this.c2);\n var rhs = y2.redMul(this.d).redMul(this.c2).redSub(this.a);\n var x2 = lhs.redMul(rhs.redInvm());\n\n if (x2.cmp(this.zero) === 0) {\n if (odd)\n throw new Error('invalid point');\n else\n return this.point(this.zero, y);\n }\n\n var x = x2.redSqrt();\n if (x.redSqr().redSub(x2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n if (x.fromRed().isOdd() !== odd)\n x = x.redNeg();\n\n return this.point(x, y);\n};\n\nEdwardsCurve.prototype.validate = function validate(point) {\n if (point.isInfinity())\n return true;\n\n // Curve: A * X^2 + Y^2 = C^2 * (1 + D * X^2 * Y^2)\n point.normalize();\n\n var x2 = point.x.redSqr();\n var y2 = point.y.redSqr();\n var lhs = x2.redMul(this.a).redAdd(y2);\n var rhs = this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));\n\n return lhs.cmp(rhs) === 0;\n};\n\nfunction Point(curve, x, y, z, t) {\n Base.BasePoint.call(this, curve, 'projective');\n if (x === null && y === null && z === null) {\n this.x = this.curve.zero;\n this.y = this.curve.one;\n this.z = this.curve.one;\n this.t = this.curve.zero;\n this.zOne = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = z ? new BN(z, 16) : this.curve.one;\n this.t = t && new BN(t, 16);\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n if (this.t && !this.t.red)\n this.t = this.t.toRed(this.curve.red);\n this.zOne = this.z === this.curve.one;\n\n // Use extended coordinates\n if (this.curve.extended && !this.t) {\n this.t = this.x.redMul(this.y);\n if (!this.zOne)\n this.t = this.t.redMul(this.z.redInvm());\n }\n }\n}\ninherits(Point, Base.BasePoint);\n\nEdwardsCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return Point.fromJSON(this, obj);\n};\n\nEdwardsCurve.prototype.point = function point(x, y, z, t) {\n return new Point(this, x, y, z, t);\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1], obj[2]);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.x.cmpn(0) === 0 &&\n (this.y.cmp(this.z) === 0 ||\n (this.zOne && this.y.cmp(this.curve.c) === 0));\n};\n\nPoint.prototype._extDbl = function _extDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #doubling-dbl-2008-hwcd\n // 4M + 4S\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = 2 * Z1^2\n var c = this.z.redSqr();\n c = c.redIAdd(c);\n // D = a * A\n var d = this.curve._mulA(a);\n // E = (X1 + Y1)^2 - A - B\n var e = this.x.redAdd(this.y).redSqr().redISub(a).redISub(b);\n // G = D + B\n var g = d.redAdd(b);\n // F = G - C\n var f = g.redSub(c);\n // H = D - B\n var h = d.redSub(b);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n\nPoint.prototype._projDbl = function _projDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #doubling-dbl-2008-bbjlp\n // #doubling-dbl-2007-bl\n // and others\n // Generally 3M + 4S or 2M + 4S\n\n // B = (X1 + Y1)^2\n var b = this.x.redAdd(this.y).redSqr();\n // C = X1^2\n var c = this.x.redSqr();\n // D = Y1^2\n var d = this.y.redSqr();\n\n var nx;\n var ny;\n var nz;\n var e;\n var h;\n var j;\n if (this.curve.twisted) {\n // E = a * C\n e = this.curve._mulA(c);\n // F = E + D\n var f = e.redAdd(d);\n if (this.zOne) {\n // X3 = (B - C - D) * (F - 2)\n nx = b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two));\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F^2 - 2 * F\n nz = f.redSqr().redSub(f).redSub(f);\n } else {\n // H = Z1^2\n h = this.z.redSqr();\n // J = F - 2 * H\n j = f.redSub(h).redISub(h);\n // X3 = (B-C-D)*J\n nx = b.redSub(c).redISub(d).redMul(j);\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F * J\n nz = f.redMul(j);\n }\n } else {\n // E = C + D\n e = c.redAdd(d);\n // H = (c * Z1)^2\n h = this.curve._mulC(this.z).redSqr();\n // J = E - 2 * H\n j = e.redSub(h).redSub(h);\n // X3 = c * (B - E) * J\n nx = this.curve._mulC(b.redISub(e)).redMul(j);\n // Y3 = c * E * (C - D)\n ny = this.curve._mulC(e).redMul(c.redISub(d));\n // Z3 = E * J\n nz = e.redMul(j);\n }\n return this.curve.point(nx, ny, nz);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n // Double in extended coordinates\n if (this.curve.extended)\n return this._extDbl();\n else\n return this._projDbl();\n};\n\nPoint.prototype._extAdd = function _extAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #addition-add-2008-hwcd-3\n // 8M\n\n // A = (Y1 - X1) * (Y2 - X2)\n var a = this.y.redSub(this.x).redMul(p.y.redSub(p.x));\n // B = (Y1 + X1) * (Y2 + X2)\n var b = this.y.redAdd(this.x).redMul(p.y.redAdd(p.x));\n // C = T1 * k * T2\n var c = this.t.redMul(this.curve.dd).redMul(p.t);\n // D = Z1 * 2 * Z2\n var d = this.z.redMul(p.z.redAdd(p.z));\n // E = B - A\n var e = b.redSub(a);\n // F = D - C\n var f = d.redSub(c);\n // G = D + C\n var g = d.redAdd(c);\n // H = B + A\n var h = b.redAdd(a);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n\nPoint.prototype._projAdd = function _projAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #addition-add-2008-bbjlp\n // #addition-add-2007-bl\n // 10M + 1S\n\n // A = Z1 * Z2\n var a = this.z.redMul(p.z);\n // B = A^2\n var b = a.redSqr();\n // C = X1 * X2\n var c = this.x.redMul(p.x);\n // D = Y1 * Y2\n var d = this.y.redMul(p.y);\n // E = d * C * D\n var e = this.curve.d.redMul(c).redMul(d);\n // F = B - E\n var f = b.redSub(e);\n // G = B + E\n var g = b.redAdd(e);\n // X3 = A * F * ((X1 + Y1) * (X2 + Y2) - C - D)\n var tmp = this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d);\n var nx = a.redMul(f).redMul(tmp);\n var ny;\n var nz;\n if (this.curve.twisted) {\n // Y3 = A * G * (D - a * C)\n ny = a.redMul(g).redMul(d.redSub(this.curve._mulA(c)));\n // Z3 = F * G\n nz = f.redMul(g);\n } else {\n // Y3 = A * G * (D - C)\n ny = a.redMul(g).redMul(d.redSub(c));\n // Z3 = c * F * G\n nz = this.curve._mulC(f).redMul(g);\n }\n return this.curve.point(nx, ny, nz);\n};\n\nPoint.prototype.add = function add(p) {\n if (this.isInfinity())\n return p;\n if (p.isInfinity())\n return this;\n\n if (this.curve.extended)\n return this._extAdd(p);\n else\n return this._projAdd(p);\n};\n\nPoint.prototype.mul = function mul(k) {\n if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, false);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, true);\n};\n\nPoint.prototype.normalize = function normalize() {\n if (this.zOne)\n return this;\n\n // Normalize coordinates\n var zi = this.z.redInvm();\n this.x = this.x.redMul(zi);\n this.y = this.y.redMul(zi);\n if (this.t)\n this.t = this.t.redMul(zi);\n this.z = this.curve.one;\n this.zOne = true;\n return this;\n};\n\nPoint.prototype.neg = function neg() {\n return this.curve.point(this.x.redNeg(),\n this.y,\n this.z,\n this.t && this.t.redNeg());\n};\n\nPoint.prototype.getX = function getX() {\n this.normalize();\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n this.normalize();\n return this.y.fromRed();\n};\n\nPoint.prototype.eq = function eq(other) {\n return this === other ||\n this.getX().cmp(other.getX()) === 0 &&\n this.getY().cmp(other.getY()) === 0;\n};\n\nPoint.prototype.eqXToP = function eqXToP(x) {\n var rx = x.toRed(this.curve.red).redMul(this.z);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(this.z);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\n// Compatibility with BaseCurve\nPoint.prototype.toP = Point.prototype.normalize;\nPoint.prototype.mixedAdd = Point.prototype.add;\n","module.exports = remove\n\nfunction remove (arr, i) {\n if (i >= arr.length || i < 0) return\n var last = arr.pop()\n if (i < arr.length) {\n var tmp = arr[i]\n arr[i] = last\n return tmp\n }\n return last\n}\n","var elliptic = require('elliptic')\nvar BN = require('bn.js')\n\nmodule.exports = function createECDH (curve) {\n return new ECDH(curve)\n}\n\nvar aliases = {\n secp256k1: {\n name: 'secp256k1',\n byteLength: 32\n },\n secp224r1: {\n name: 'p224',\n byteLength: 28\n },\n prime256v1: {\n name: 'p256',\n byteLength: 32\n },\n prime192v1: {\n name: 'p192',\n byteLength: 24\n },\n ed25519: {\n name: 'ed25519',\n byteLength: 32\n },\n secp384r1: {\n name: 'p384',\n byteLength: 48\n },\n secp521r1: {\n name: 'p521',\n byteLength: 66\n }\n}\n\naliases.p224 = aliases.secp224r1\naliases.p256 = aliases.secp256r1 = aliases.prime256v1\naliases.p192 = aliases.secp192r1 = aliases.prime192v1\naliases.p384 = aliases.secp384r1\naliases.p521 = aliases.secp521r1\n\nfunction ECDH (curve) {\n this.curveType = aliases[curve]\n if (!this.curveType) {\n this.curveType = {\n name: curve\n }\n }\n this.curve = new elliptic.ec(this.curveType.name) // eslint-disable-line new-cap\n this.keys = void 0\n}\n\nECDH.prototype.generateKeys = function (enc, format) {\n this.keys = this.curve.genKeyPair()\n return this.getPublicKey(enc, format)\n}\n\nECDH.prototype.computeSecret = function (other, inenc, enc) {\n inenc = inenc || 'utf8'\n if (!Buffer.isBuffer(other)) {\n other = new Buffer(other, inenc)\n }\n var otherPub = this.curve.keyFromPublic(other).getPublic()\n var out = otherPub.mul(this.keys.getPrivate()).getX()\n return formatReturnValue(out, enc, this.curveType.byteLength)\n}\n\nECDH.prototype.getPublicKey = function (enc, format) {\n var key = this.keys.getPublic(format === 'compressed', true)\n if (format === 'hybrid') {\n if (key[key.length - 1] % 2) {\n key[0] = 7\n } else {\n key[0] = 6\n }\n }\n return formatReturnValue(key, enc)\n}\n\nECDH.prototype.getPrivateKey = function (enc) {\n return formatReturnValue(this.keys.getPrivate(), enc)\n}\n\nECDH.prototype.setPublicKey = function (pub, enc) {\n enc = enc || 'utf8'\n if (!Buffer.isBuffer(pub)) {\n pub = new Buffer(pub, enc)\n }\n this.keys._importPublic(pub)\n return this\n}\n\nECDH.prototype.setPrivateKey = function (priv, enc) {\n enc = enc || 'utf8'\n if (!Buffer.isBuffer(priv)) {\n priv = new Buffer(priv, enc)\n }\n\n var _priv = new BN(priv)\n _priv = _priv.toString(16)\n this.keys = this.curve.genKeyPair()\n this.keys._importPrivate(_priv)\n return this\n}\n\nfunction formatReturnValue (bn, enc, len) {\n if (!Array.isArray(bn)) {\n bn = bn.toArray()\n }\n var buf = new Buffer(bn)\n if (len && buf.length < len) {\n var zeros = new Buffer(len - buf.length)\n zeros.fill(0)\n buf = Buffer.concat([zeros, buf])\n }\n if (!enc) {\n return buf\n } else {\n return buf.toString(enc)\n }\n}\n","'use strict';\n\n/** @type {import('./shams')} */\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\t/** @type {{ [k in symbol]?: unknown }} */\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (var _ in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\t// eslint-disable-next-line no-extra-parens\n\t\tvar descriptor = /** @type {PropertyDescriptor} */ (Object.getOwnPropertyDescriptor(obj, sym));\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","module.exports = require('stream');\n","function concat (chunks, size) {\r\n if (typeof chunks[0] === 'string') return chunks.join('')\r\n if (typeof chunks[0] === 'number') return new Uint8Array(chunks)\r\n const b = new Uint8Array(size)\r\n let offset = 0\r\n for (let i = 0, l = chunks.length; i < l; i++) {\r\n const chunk = chunks[i]\r\n b.set(chunk, offset)\r\n offset += chunk.byteLength || chunk.length\r\n }\r\n\r\n return b\r\n}\r\n\r\nmodule.exports = async function * (iterator, size = 512, opts = {}) {\r\n if (typeof size === 'object') {\r\n opts = size\r\n size = opts.size\r\n }\r\n let { nopad, zeroPadding = true } = opts\r\n\r\n if (nopad) zeroPadding = false\r\n\r\n let buffered = []\r\n let bufferedBytes = 0\r\n\r\n for await (const value of iterator) {\r\n bufferedBytes += value.byteLength || value.length || 1\r\n buffered.push(value)\r\n\r\n if (bufferedBytes >= size) {\r\n const b = concat(buffered, bufferedBytes)\r\n let offset = 0\r\n\r\n while (bufferedBytes >= size) {\r\n yield b.slice(offset, offset + size)\r\n bufferedBytes -= size\r\n offset += size\r\n }\r\n\r\n buffered = [b.slice(offset, b.length)]\r\n }\r\n }\r\n if (bufferedBytes) yield concat(buffered, zeroPadding ? size : bufferedBytes)\r\n}\r\n","'use strict';\n\nvar implementation = require('./implementation');\n\nvar lacksProperEnumerationOrder = function () {\n\tif (!Object.assign) {\n\t\treturn false;\n\t}\n\t/*\n\t * v8, specifically in node 4.x, has a bug with incorrect property enumeration order\n\t * note: this does not detect the bug unless there's 20 characters\n\t */\n\tvar str = 'abcdefghijklmnopqrst';\n\tvar letters = str.split('');\n\tvar map = {};\n\tfor (var i = 0; i < letters.length; ++i) {\n\t\tmap[letters[i]] = letters[i];\n\t}\n\tvar obj = Object.assign({}, map);\n\tvar actual = '';\n\tfor (var k in obj) {\n\t\tactual += k;\n\t}\n\treturn str !== actual;\n};\n\nvar assignHasPendingExceptions = function () {\n\tif (!Object.assign || !Object.preventExtensions) {\n\t\treturn false;\n\t}\n\t/*\n\t * Firefox 37 still has \"pending exception\" logic in its Object.assign implementation,\n\t * which is 72% slower than our shim, and Firefox 40's native implementation.\n\t */\n\tvar thrower = Object.preventExtensions({ 1: 2 });\n\ttry {\n\t\tObject.assign(thrower, 'xy');\n\t} catch (e) {\n\t\treturn thrower[1] === 'y';\n\t}\n\treturn false;\n};\n\nmodule.exports = function getPolyfill() {\n\tif (!Object.assign) {\n\t\treturn implementation;\n\t}\n\tif (lacksProperEnumerationOrder()) {\n\t\treturn implementation;\n\t}\n\tif (assignHasPendingExceptions()) {\n\t\treturn implementation;\n\t}\n\treturn Object.assign;\n};\n","'use strict';\n\n// eslint-disable-next-line no-multi-assign\nexports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = require('randombytes');\n\n// eslint-disable-next-line no-multi-assign\nexports.createHash = exports.Hash = require('create-hash');\n\n// eslint-disable-next-line no-multi-assign\nexports.createHmac = exports.Hmac = require('create-hmac');\n\nvar algos = require('browserify-sign/algos');\nvar algoKeys = Object.keys(algos);\nvar hashes = [\n\t'sha1',\n\t'sha224',\n\t'sha256',\n\t'sha384',\n\t'sha512',\n\t'md5',\n\t'rmd160'\n].concat(algoKeys);\n\nexports.getHashes = function () {\n\treturn hashes;\n};\n\nvar p = require('pbkdf2');\nexports.pbkdf2 = p.pbkdf2;\nexports.pbkdf2Sync = p.pbkdf2Sync;\n\nvar aes = require('browserify-cipher');\n\nexports.Cipher = aes.Cipher;\nexports.createCipher = aes.createCipher;\nexports.Cipheriv = aes.Cipheriv;\nexports.createCipheriv = aes.createCipheriv;\nexports.Decipher = aes.Decipher;\nexports.createDecipher = aes.createDecipher;\nexports.Decipheriv = aes.Decipheriv;\nexports.createDecipheriv = aes.createDecipheriv;\nexports.getCiphers = aes.getCiphers;\nexports.listCiphers = aes.listCiphers;\n\nvar dh = require('diffie-hellman');\n\nexports.DiffieHellmanGroup = dh.DiffieHellmanGroup;\nexports.createDiffieHellmanGroup = dh.createDiffieHellmanGroup;\nexports.getDiffieHellman = dh.getDiffieHellman;\nexports.createDiffieHellman = dh.createDiffieHellman;\nexports.DiffieHellman = dh.DiffieHellman;\n\nvar sign = require('browserify-sign');\n\nexports.createSign = sign.createSign;\nexports.Sign = sign.Sign;\nexports.createVerify = sign.createVerify;\nexports.Verify = sign.Verify;\n\nexports.createECDH = require('create-ecdh');\n\nvar publicEncrypt = require('public-encrypt');\n\nexports.publicEncrypt = publicEncrypt.publicEncrypt;\nexports.privateEncrypt = publicEncrypt.privateEncrypt;\nexports.publicDecrypt = publicEncrypt.publicDecrypt;\nexports.privateDecrypt = publicEncrypt.privateDecrypt;\n\n// the least I can do is make error messages for the rest of the node.js/crypto api.\n// [\n// 'createCredentials'\n// ].forEach(function (name) {\n// exports[name] = function () {\n// throw new Error('sorry, ' + name + ' is not implemented yet\\nwe accept pull requests\\nhttps://github.com/browserify/crypto-browserify');\n// };\n// });\n\nvar rf = require('randomfill');\n\nexports.randomFill = rf.randomFill;\nexports.randomFillSync = rf.randomFillSync;\n\nexports.createCredentials = function () {\n\tthrow new Error('sorry, createCredentials is not implemented yet\\nwe accept pull requests\\nhttps://github.com/browserify/crypto-browserify');\n};\n\nexports.constants = {\n\tDH_CHECK_P_NOT_SAFE_PRIME: 2,\n\tDH_CHECK_P_NOT_PRIME: 1,\n\tDH_UNABLE_TO_CHECK_GENERATOR: 4,\n\tDH_NOT_SUITABLE_GENERATOR: 8,\n\tNPN_ENABLED: 1,\n\tALPN_ENABLED: 1,\n\tRSA_PKCS1_PADDING: 1,\n\tRSA_SSLV23_PADDING: 2,\n\tRSA_NO_PADDING: 3,\n\tRSA_PKCS1_OAEP_PADDING: 4,\n\tRSA_X931_PADDING: 5,\n\tRSA_PKCS1_PSS_PADDING: 6,\n\tPOINT_CONVERSION_COMPRESSED: 2,\n\tPOINT_CONVERSION_UNCOMPRESSED: 4,\n\tPOINT_CONVERSION_HYBRID: 6\n};\n","'use strict';\n\nmodule.exports = function () {\n throw new Error(\n 'ws does not work in the browser. Browser clients must use the native ' +\n 'WebSocket object'\n );\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (Array.isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n","/*! run-series. MIT License. Feross Aboukhadijeh */\nmodule.exports = runSeries\n\nfunction runSeries (tasks, cb) {\n var current = 0\n var results = []\n var isSync = true\n\n function done (err) {\n function end () {\n if (cb) cb(err, results)\n }\n if (isSync) process.nextTick(end)\n else end()\n }\n\n function each (err, result) {\n results.push(result)\n if (++current >= tasks.length || err) done(err)\n else tasks[current](each)\n }\n\n if (tasks.length > 0) tasks[0](each)\n else done(null)\n\n isSync = false\n}\n","'use strict';\n\nconst util = require('util');\nconst net = require('net');\nconst HTTPParser = require('http-parser-js').HTTPParser;\nconst assert = require('assert').ok;\nconst common = require('./_http_common');\nconst parsers = common.parsers;\nconst freeParser = common.freeParser;\nconst debug = common.debug;\nconst CRLF = common.CRLF;\nconst continueExpression = common.continueExpression;\nconst chunkExpression = common.chunkExpression;\nconst httpSocketSetup = common.httpSocketSetup;\nconst OutgoingMessage = require('./_http_outgoing').OutgoingMessage;\n\nconst STATUS_CODES = exports.STATUS_CODES = {\n 100: 'Continue',\n 101: 'Switching Protocols',\n 102: 'Processing', // RFC 2518, obsoleted by RFC 4918\n 200: 'OK',\n 201: 'Created',\n 202: 'Accepted',\n 203: 'Non-Authoritative Information',\n 204: 'No Content',\n 205: 'Reset Content',\n 206: 'Partial Content',\n 207: 'Multi-Status', // RFC 4918\n 208: 'Already Reported',\n 226: 'IM Used',\n 300: 'Multiple Choices',\n 301: 'Moved Permanently',\n 302: 'Found',\n 303: 'See Other',\n 304: 'Not Modified',\n 305: 'Use Proxy',\n 307: 'Temporary Redirect',\n 308: 'Permanent Redirect', // RFC 7238\n 400: 'Bad Request',\n 401: 'Unauthorized',\n 402: 'Payment Required',\n 403: 'Forbidden',\n 404: 'Not Found',\n 405: 'Method Not Allowed',\n 406: 'Not Acceptable',\n 407: 'Proxy Authentication Required',\n 408: 'Request Timeout',\n 409: 'Conflict',\n 410: 'Gone',\n 411: 'Length Required',\n 412: 'Precondition Failed',\n 413: 'Payload Too Large',\n 414: 'URI Too Long',\n 415: 'Unsupported Media Type',\n 416: 'Range Not Satisfiable',\n 417: 'Expectation Failed',\n 418: 'I\\'m a teapot', // RFC 2324\n 421: 'Misdirected Request',\n 422: 'Unprocessable Entity', // RFC 4918\n 423: 'Locked', // RFC 4918\n 424: 'Failed Dependency', // RFC 4918\n 425: 'Unordered Collection', // RFC 4918\n 426: 'Upgrade Required', // RFC 2817\n 428: 'Precondition Required', // RFC 6585\n 429: 'Too Many Requests', // RFC 6585\n 431: 'Request Header Fields Too Large', // RFC 6585\n 451: 'Unavailable For Legal Reasons',\n 500: 'Internal Server Error',\n 501: 'Not Implemented',\n 502: 'Bad Gateway',\n 503: 'Service Unavailable',\n 504: 'Gateway Timeout',\n 505: 'HTTP Version Not Supported',\n 506: 'Variant Also Negotiates', // RFC 2295\n 507: 'Insufficient Storage', // RFC 4918\n 508: 'Loop Detected',\n 509: 'Bandwidth Limit Exceeded',\n 510: 'Not Extended', // RFC 2774\n 511: 'Network Authentication Required' // RFC 6585\n};\n\nconst kOnExecute = HTTPParser.kOnExecute | 0;\n\n\nfunction ServerResponse(req) {\n OutgoingMessage.call(this);\n\n if (req.method === 'HEAD') this._hasBody = false;\n\n this.sendDate = true;\n\n if (req.httpVersionMajor < 1 || req.httpVersionMinor < 1) {\n this.useChunkedEncodingByDefault = chunkExpression.test(req.headers.te);\n this.shouldKeepAlive = false;\n }\n}\nutil.inherits(ServerResponse, OutgoingMessage);\n\nServerResponse.prototype._finish = function() {\n // DTRACE_HTTP_SERVER_RESPONSE(this.connection);\n // LTTNG_HTTP_SERVER_RESPONSE(this.connection);\n // COUNTER_HTTP_SERVER_RESPONSE();\n OutgoingMessage.prototype._finish.call(this);\n};\n\n\nexports.ServerResponse = ServerResponse;\n\nServerResponse.prototype.statusCode = 200;\nServerResponse.prototype.statusMessage = undefined;\n\nfunction onServerResponseClose() {\n // EventEmitter.emit makes a copy of the 'close' listeners array before\n // calling the listeners. detachSocket() unregisters onServerResponseClose\n // but if detachSocket() is called, directly or indirectly, by a 'close'\n // listener, onServerResponseClose is still in that copy of the listeners\n // array. That is, in the example below, b still gets called even though\n // it's been removed by a:\n //\n // var EventEmitter = require('events');\n // var obj = new EventEmitter();\n // obj.on('event', a);\n // obj.on('event', b);\n // function a() { obj.removeListener('event', b) }\n // function b() { throw \"BAM!\" }\n // obj.emit('event'); // throws\n //\n // Ergo, we need to deal with stale 'close' events and handle the case\n // where the ServerResponse object has already been deconstructed.\n // Fortunately, that requires only a single if check. :-)\n if (this._httpMessage) this._httpMessage.emit('close');\n}\n\nServerResponse.prototype.assignSocket = function(socket) {\n assert(!socket._httpMessage);\n socket._httpMessage = this;\n socket.on('close', onServerResponseClose);\n this.socket = socket;\n this.connection = socket;\n this.emit('socket', socket);\n this._flush();\n};\n\nServerResponse.prototype.detachSocket = function(socket) {\n assert(socket._httpMessage === this);\n socket.removeListener('close', onServerResponseClose);\n socket._httpMessage = null;\n this.socket = this.connection = null;\n};\n\nServerResponse.prototype.writeContinue = function(cb) {\n this._writeRaw('HTTP/1.1 100 Continue' + CRLF + CRLF, 'ascii', cb);\n this._sent100 = true;\n};\n\nServerResponse.prototype._implicitHeader = function() {\n this.writeHead(this.statusCode);\n};\n\nServerResponse.prototype.writeHead = function(statusCode, reason, obj) {\n var headers;\n\n if (typeof reason === 'string') {\n // writeHead(statusCode, reasonPhrase[, headers])\n this.statusMessage = reason;\n } else {\n // writeHead(statusCode[, headers])\n this.statusMessage =\n this.statusMessage || STATUS_CODES[statusCode] || 'unknown';\n obj = reason;\n }\n this.statusCode = statusCode;\n\n if (this._headers) {\n // Slow-case: when progressive API and header fields are passed.\n if (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n var k = keys[i];\n if (k) this.setHeader(k, obj[k]);\n }\n }\n // only progressive api is used\n headers = this._renderHeaders();\n } else {\n // only writeHead() called\n headers = obj;\n }\n\n statusCode |= 0;\n if (statusCode < 100 || statusCode > 999)\n throw new RangeError(`Invalid status code: ${statusCode}`);\n\n var statusLine = 'HTTP/1.1 ' + statusCode.toString() + ' ' +\n this.statusMessage + CRLF;\n\n if (statusCode === 204 || statusCode === 304 ||\n (100 <= statusCode && statusCode <= 199)) {\n // RFC 2616, 10.2.5:\n // The 204 response MUST NOT include a message-body, and thus is always\n // terminated by the first empty line after the header fields.\n // RFC 2616, 10.3.5:\n // The 304 response MUST NOT contain a message-body, and thus is always\n // terminated by the first empty line after the header fields.\n // RFC 2616, 10.1 Informational 1xx:\n // This class of status code indicates a provisional response,\n // consisting only of the Status-Line and optional headers, and is\n // terminated by an empty line.\n this._hasBody = false;\n }\n\n // don't keep alive connections where the client expects 100 Continue\n // but we sent a final status; they may put extra bytes on the wire.\n if (this._expect_continue && !this._sent100) {\n this.shouldKeepAlive = false;\n }\n\n this._storeHeader(statusLine, headers);\n};\n\nServerResponse.prototype.writeHeader = function() {\n this.writeHead.apply(this, arguments);\n};\n\n\nfunction Server(requestListener) {\n if (!(this instanceof Server)) return new Server(requestListener);\n net.Server.call(this, { allowHalfOpen: true });\n\n if (requestListener) {\n this.addListener('request', requestListener);\n }\n\n /* eslint-disable max-len */\n // Similar option to this. Too lazy to write my own docs.\n // http://www.squid-cache.org/Doc/config/half_closed_clients/\n // http://wiki.squid-cache.org/SquidFaq/InnerWorkings#What_is_a_half-closed_filedescriptor.3F\n /* eslint-enable max-len */\n this.httpAllowHalfOpen = false;\n\n this.addListener('connection', connectionListener);\n\n this.timeout = 2 * 60 * 1000;\n\n this._pendingResponseData = 0;\n}\nutil.inherits(Server, net.Server);\n\n\nServer.prototype.setTimeout = function(msecs, callback) {\n this.timeout = msecs;\n if (callback)\n this.on('timeout', callback);\n return this;\n};\n\n\nexports.Server = Server;\n\n\nfunction connectionListener(socket) {\n var self = this;\n var outgoing = [];\n var incoming = [];\n var outgoingData = 0;\n\n function updateOutgoingData(delta) {\n // `outgoingData` is an approximate amount of bytes queued through all\n // inactive responses. If more data than the high watermark is queued - we\n // need to pause TCP socket/HTTP parser, and wait until the data will be\n // sent to the client.\n outgoingData += delta;\n if (socket._paused && outgoingData < socket._writableState.highWaterMark)\n return socketOnDrain();\n }\n\n function abortIncoming() {\n while (incoming.length) {\n var req = incoming.shift();\n req.emit('aborted');\n req.emit('close');\n }\n // abort socket._httpMessage ?\n }\n\n function serverSocketCloseListener() {\n debug('server socket close');\n // mark this parser as reusable\n if (this.parser) {\n freeParser(this.parser, null, this);\n }\n\n abortIncoming();\n }\n\n debug('SERVER new http connection');\n\n httpSocketSetup(socket);\n\n // If the user has added a listener to the server,\n // request, or response, then it's their responsibility.\n // otherwise, destroy on timeout by default\n if (self.timeout)\n socket.setTimeout(self.timeout);\n socket.on('timeout', function() {\n var req = socket.parser && socket.parser.incoming;\n var reqTimeout = req && !req.complete && req.emit('timeout', socket);\n var res = socket._httpMessage;\n var resTimeout = res && res.emit('timeout', socket);\n var serverTimeout = self.emit('timeout', socket);\n\n if (!reqTimeout && !resTimeout && !serverTimeout)\n socket.destroy();\n });\n\n var parser = parsers.alloc();\n parser.reinitialize(HTTPParser.REQUEST);\n parser.socket = socket;\n socket.parser = parser;\n parser.incoming = null;\n\n // Propagate headers limit from server instance to parser\n if (typeof this.maxHeadersCount === 'number') {\n parser.maxHeaderPairs = this.maxHeadersCount << 1;\n } else {\n // Set default value because parser may be reused from FreeList\n parser.maxHeaderPairs = 2000;\n }\n\n socket.addListener('error', socketOnError);\n socket.addListener('close', serverSocketCloseListener);\n parser.onIncoming = parserOnIncoming;\n socket.on('end', socketOnEnd);\n socket.on('data', socketOnData);\n\n // We are consuming socket, so it won't get any actual data\n socket.on('resume', onSocketResume);\n socket.on('pause', onSocketPause);\n\n socket.on('drain', socketOnDrain);\n\n // Override on to unconsume on `data`, `readable` listeners\n socket.on = socketOnWrap;\n\n var external = socket._handle && socket._handle._externalStream;\n if (external) {\n parser._consumed = true;\n parser.consume(external);\n }\n external = null;\n parser[kOnExecute] = onParserExecute;\n\n // TODO(isaacs): Move all these functions out of here\n function socketOnError(e) {\n // Ignore further errors\n this.removeListener('error', socketOnError);\n this.on('error', () => {});\n\n if (!self.emit('clientError', e, this))\n this.destroy(e);\n }\n\n function socketOnData(d) {\n assert(!socket._paused);\n debug('SERVER socketOnData %d', d.length);\n var ret = parser.execute(d);\n\n onParserExecuteCommon(ret, d);\n }\n\n function onParserExecute(ret, d) {\n socket._unrefTimer();\n debug('SERVER socketOnParserExecute %d', ret);\n onParserExecuteCommon(ret, undefined);\n }\n\n function onParserExecuteCommon(ret, d) {\n if (ret instanceof Error) {\n debug('parse error');\n socketOnError.call(socket, ret);\n } else if (parser.incoming && parser.incoming.upgrade) {\n // Upgrade or CONNECT\n var bytesParsed = ret;\n var req = parser.incoming;\n debug('SERVER upgrade or connect', req.method);\n\n if (!d)\n d = parser.getCurrentBuffer();\n\n socket.removeListener('data', socketOnData);\n socket.removeListener('end', socketOnEnd);\n socket.removeListener('close', serverSocketCloseListener);\n unconsume(parser, socket);\n parser.finish();\n freeParser(parser, req, null);\n parser = null;\n\n var eventName = req.method === 'CONNECT' ? 'connect' : 'upgrade';\n if (self.listenerCount(eventName) > 0) {\n debug('SERVER have listener for %s', eventName);\n var bodyHead = d.slice(bytesParsed, d.length);\n\n // TODO(isaacs): Need a way to reset a stream to fresh state\n // IE, not flowing, and not explicitly paused.\n socket._readableState.flowing = null;\n self.emit(eventName, req, socket, bodyHead);\n } else {\n // Got upgrade header or CONNECT method, but have no handler.\n socket.destroy();\n }\n }\n\n if (socket._paused && socket.parser) {\n // onIncoming paused the socket, we should pause the parser as well\n debug('pause parser');\n socket.parser.pause();\n }\n }\n\n function socketOnEnd() {\n var socket = this;\n var ret = parser.finish();\n\n if (ret instanceof Error) {\n debug('parse error');\n socketOnError.call(socket, ret);\n return;\n }\n\n if (!self.httpAllowHalfOpen) {\n abortIncoming();\n if (socket.writable) socket.end();\n } else if (outgoing.length) {\n outgoing[outgoing.length - 1]._last = true;\n } else if (socket._httpMessage) {\n socket._httpMessage._last = true;\n } else {\n if (socket.writable) socket.end();\n }\n }\n\n\n // The following callback is issued after the headers have been read on a\n // new message. In this callback we setup the response object and pass it\n // to the user.\n\n socket._paused = false;\n function socketOnDrain() {\n var needPause = outgoingData > socket._writableState.highWaterMark;\n\n // If we previously paused, then start reading again.\n if (socket._paused && !needPause) {\n socket._paused = false;\n if (socket.parser)\n socket.parser.resume();\n socket.resume();\n }\n }\n\n function parserOnIncoming(req, shouldKeepAlive) {\n incoming.push(req);\n\n // If the writable end isn't consuming, then stop reading\n // so that we don't become overwhelmed by a flood of\n // pipelined requests that may never be resolved.\n if (!socket._paused) {\n var needPause = socket._writableState.needDrain ||\n outgoingData >= socket._writableState.highWaterMark;\n if (needPause) {\n socket._paused = true;\n // We also need to pause the parser, but don't do that until after\n // the call to execute, because we may still be processing the last\n // chunk.\n socket.pause();\n }\n }\n\n var res = new ServerResponse(req);\n res._onPendingData = updateOutgoingData;\n\n res.shouldKeepAlive = shouldKeepAlive;\n // DTRACE_HTTP_SERVER_REQUEST(req, socket);\n // LTTNG_HTTP_SERVER_REQUEST(req, socket);\n // COUNTER_HTTP_SERVER_REQUEST();\n\n if (socket._httpMessage) {\n // There are already pending outgoing res, append.\n outgoing.push(res);\n } else {\n res.assignSocket(socket);\n }\n\n // When we're finished writing the response, check if this is the last\n // response, if so destroy the socket.\n res.on('finish', resOnFinish);\n function resOnFinish() {\n // Usually the first incoming element should be our request. it may\n // be that in the case abortIncoming() was called that the incoming\n // array will be empty.\n assert(incoming.length === 0 || incoming[0] === req);\n\n incoming.shift();\n\n // if the user never called req.read(), and didn't pipe() or\n // .resume() or .on('data'), then we call req._dump() so that the\n // bytes will be pulled off the wire.\n if (!req._consuming && !req._readableState.resumeScheduled)\n req._dump();\n\n res.detachSocket(socket);\n\n if (res._last) {\n socket.destroySoon();\n } else {\n // start sending the next message\n var m = outgoing.shift();\n if (m) {\n m.assignSocket(socket);\n }\n }\n }\n\n if (req.headers.expect !== undefined &&\n (req.httpVersionMajor == 1 && req.httpVersionMinor == 1)) {\n if (continueExpression.test(req.headers.expect)) {\n res._expect_continue = true;\n\n if (self.listenerCount('checkContinue') > 0) {\n self.emit('checkContinue', req, res);\n } else {\n res.writeContinue();\n self.emit('request', req, res);\n }\n } else {\n if (self.listenerCount('checkExpectation') > 0) {\n self.emit('checkExpectation', req, res);\n } else {\n res.writeHead(417);\n res.end();\n }\n }\n } else {\n self.emit('request', req, res);\n }\n return false; // Not a HEAD response. (Not even a response!)\n }\n}\nexports._connectionListener = connectionListener;\n\nfunction onSocketResume() {\n // It may seem that the socket is resumed, but this is an enemy's trick to\n // deceive us! `resume` is emitted asynchronously, and may be called from\n // `incoming.readStart()`. Stop the socket again here, just to preserve the\n // state.\n //\n // We don't care about stream semantics for the consumed socket anyway.\n if (this._paused) {\n this.pause();\n return;\n }\n\n if (this._handle && !this._handle.reading) {\n this._handle.reading = true;\n this._handle.readStart();\n }\n}\n\nfunction onSocketPause() {\n if (this._handle && this._handle.reading) {\n this._handle.reading = false;\n this._handle.readStop();\n }\n}\n\nfunction unconsume(parser, socket) {\n if (socket._handle) {\n if (parser._consumed)\n parser.unconsume(socket._handle._externalStream);\n parser._consumed = false;\n socket.removeListener('pause', onSocketPause);\n socket.removeListener('resume', onSocketResume);\n }\n}\n\nfunction socketOnWrap(ev, fn) {\n var res = net.Socket.prototype.on.call(this, ev, fn);\n if (!this.parser) {\n this.on = net.Socket.prototype.on;\n return res;\n }\n\n if (ev === 'data' || ev === 'readable')\n unconsume(this.parser, this);\n\n return res;\n}\n","'use strict'\nvar inherits = require('inherits')\nvar Buffer = require('safe-buffer').Buffer\n\nvar Base = require('cipher-base')\n\nvar ZEROS = Buffer.alloc(128)\nvar blocksize = 64\n\nfunction Hmac (alg, key) {\n Base.call(this, 'digest')\n if (typeof key === 'string') {\n key = Buffer.from(key)\n }\n\n this._alg = alg\n this._key = key\n\n if (key.length > blocksize) {\n key = alg(key)\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = this._ipad = Buffer.allocUnsafe(blocksize)\n var opad = this._opad = Buffer.allocUnsafe(blocksize)\n\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n\n this._hash = [ipad]\n}\n\ninherits(Hmac, Base)\n\nHmac.prototype._update = function (data) {\n this._hash.push(data)\n}\n\nHmac.prototype._final = function () {\n var h = this._alg(Buffer.concat(this._hash))\n return this._alg(Buffer.concat([this._opad, h]))\n}\nmodule.exports = Hmac\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict';\n\nmodule.exports = Transform;\n\nvar Duplex = require('./_stream_duplex');\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\nutil.inherits(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n\n var cb = ts.writecb;\n\n if (!cb) {\n return this.emit('error', new Error('write callback called multiple times'));\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n\n cb(er);\n\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n\n Duplex.call(this, options);\n\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function') {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n throw new Error('_transform() is not implemented');\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && ts.writecb && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n var _this2 = this;\n\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n _this2.emit('close');\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data);\n\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n if (stream._writableState.length) throw new Error('Calling transform done when ws.length != 0');\n\n if (stream._transformState.transforming) throw new Error('Calling transform done when still transforming');\n\n return stream.push(null);\n}","module.exports = require('stream');\n","'use strict';\n\nvar utils = require('../utils');\n\nvar SHA512 = require('./512');\n\nfunction SHA384() {\n if (!(this instanceof SHA384))\n return new SHA384();\n\n SHA512.call(this);\n this.h = [\n 0xcbbb9d5d, 0xc1059ed8,\n 0x629a292a, 0x367cd507,\n 0x9159015a, 0x3070dd17,\n 0x152fecd8, 0xf70e5939,\n 0x67332667, 0xffc00b31,\n 0x8eb44a87, 0x68581511,\n 0xdb0c2e0d, 0x64f98fa7,\n 0x47b5481d, 0xbefa4fa4 ];\n}\nutils.inherits(SHA384, SHA512);\nmodule.exports = SHA384;\n\nSHA384.blockSize = 1024;\nSHA384.outSize = 384;\nSHA384.hmacStrength = 192;\nSHA384.padLength = 128;\n\nSHA384.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h.slice(0, 12), 'big');\n else\n return utils.split32(this.h.slice(0, 12), 'big');\n};\n","var inherits = require('inherits');\n\nvar asn1 = require('../../asn1');\nvar base = asn1.base;\nvar bignum = asn1.bignum;\n\n// Import DER constants\nvar der = asn1.constants.der;\n\nfunction DERDecoder(entity) {\n this.enc = 'der';\n this.name = entity.name;\n this.entity = entity;\n\n // Construct base tree\n this.tree = new DERNode();\n this.tree._init(entity.body);\n};\nmodule.exports = DERDecoder;\n\nDERDecoder.prototype.decode = function decode(data, options) {\n if (!(data instanceof base.DecoderBuffer))\n data = new base.DecoderBuffer(data, options);\n\n return this.tree._decode(data, options);\n};\n\n// Tree methods\n\nfunction DERNode(parent) {\n base.Node.call(this, 'der', parent);\n}\ninherits(DERNode, base.Node);\n\nDERNode.prototype._peekTag = function peekTag(buffer, tag, any) {\n if (buffer.isEmpty())\n return false;\n\n var state = buffer.save();\n var decodedTag = derDecodeTag(buffer, 'Failed to peek tag: \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n\n buffer.restore(state);\n\n return decodedTag.tag === tag || decodedTag.tagStr === tag ||\n (decodedTag.tagStr + 'of') === tag || any;\n};\n\nDERNode.prototype._decodeTag = function decodeTag(buffer, tag, any) {\n var decodedTag = derDecodeTag(buffer,\n 'Failed to decode tag of \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n\n var len = derDecodeLen(buffer,\n decodedTag.primitive,\n 'Failed to get length of \"' + tag + '\"');\n\n // Failure\n if (buffer.isError(len))\n return len;\n\n if (!any &&\n decodedTag.tag !== tag &&\n decodedTag.tagStr !== tag &&\n decodedTag.tagStr + 'of' !== tag) {\n return buffer.error('Failed to match tag: \"' + tag + '\"');\n }\n\n if (decodedTag.primitive || len !== null)\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n\n // Indefinite length... find END tag\n var state = buffer.save();\n var res = this._skipUntilEnd(\n buffer,\n 'Failed to skip indefinite length body: \"' + this.tag + '\"');\n if (buffer.isError(res))\n return res;\n\n len = buffer.offset - state.offset;\n buffer.restore(state);\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n};\n\nDERNode.prototype._skipUntilEnd = function skipUntilEnd(buffer, fail) {\n while (true) {\n var tag = derDecodeTag(buffer, fail);\n if (buffer.isError(tag))\n return tag;\n var len = derDecodeLen(buffer, tag.primitive, fail);\n if (buffer.isError(len))\n return len;\n\n var res;\n if (tag.primitive || len !== null)\n res = buffer.skip(len)\n else\n res = this._skipUntilEnd(buffer, fail);\n\n // Failure\n if (buffer.isError(res))\n return res;\n\n if (tag.tagStr === 'end')\n break;\n }\n};\n\nDERNode.prototype._decodeList = function decodeList(buffer, tag, decoder,\n options) {\n var result = [];\n while (!buffer.isEmpty()) {\n var possibleEnd = this._peekTag(buffer, 'end');\n if (buffer.isError(possibleEnd))\n return possibleEnd;\n\n var res = decoder.decode(buffer, 'der', options);\n if (buffer.isError(res) && possibleEnd)\n break;\n result.push(res);\n }\n return result;\n};\n\nDERNode.prototype._decodeStr = function decodeStr(buffer, tag) {\n if (tag === 'bitstr') {\n var unused = buffer.readUInt8();\n if (buffer.isError(unused))\n return unused;\n return { unused: unused, data: buffer.raw() };\n } else if (tag === 'bmpstr') {\n var raw = buffer.raw();\n if (raw.length % 2 === 1)\n return buffer.error('Decoding of string type: bmpstr length mismatch');\n\n var str = '';\n for (var i = 0; i < raw.length / 2; i++) {\n str += String.fromCharCode(raw.readUInt16BE(i * 2));\n }\n return str;\n } else if (tag === 'numstr') {\n var numstr = buffer.raw().toString('ascii');\n if (!this._isNumstr(numstr)) {\n return buffer.error('Decoding of string type: ' +\n 'numstr unsupported characters');\n }\n return numstr;\n } else if (tag === 'octstr') {\n return buffer.raw();\n } else if (tag === 'objDesc') {\n return buffer.raw();\n } else if (tag === 'printstr') {\n var printstr = buffer.raw().toString('ascii');\n if (!this._isPrintstr(printstr)) {\n return buffer.error('Decoding of string type: ' +\n 'printstr unsupported characters');\n }\n return printstr;\n } else if (/str$/.test(tag)) {\n return buffer.raw().toString();\n } else {\n return buffer.error('Decoding of string type: ' + tag + ' unsupported');\n }\n};\n\nDERNode.prototype._decodeObjid = function decodeObjid(buffer, values, relative) {\n var result;\n var identifiers = [];\n var ident = 0;\n while (!buffer.isEmpty()) {\n var subident = buffer.readUInt8();\n ident <<= 7;\n ident |= subident & 0x7f;\n if ((subident & 0x80) === 0) {\n identifiers.push(ident);\n ident = 0;\n }\n }\n if (subident & 0x80)\n identifiers.push(ident);\n\n var first = (identifiers[0] / 40) | 0;\n var second = identifiers[0] % 40;\n\n if (relative)\n result = identifiers;\n else\n result = [first, second].concat(identifiers.slice(1));\n\n if (values) {\n var tmp = values[result.join(' ')];\n if (tmp === undefined)\n tmp = values[result.join('.')];\n if (tmp !== undefined)\n result = tmp;\n }\n\n return result;\n};\n\nDERNode.prototype._decodeTime = function decodeTime(buffer, tag) {\n var str = buffer.raw().toString();\n if (tag === 'gentime') {\n var year = str.slice(0, 4) | 0;\n var mon = str.slice(4, 6) | 0;\n var day = str.slice(6, 8) | 0;\n var hour = str.slice(8, 10) | 0;\n var min = str.slice(10, 12) | 0;\n var sec = str.slice(12, 14) | 0;\n } else if (tag === 'utctime') {\n var year = str.slice(0, 2) | 0;\n var mon = str.slice(2, 4) | 0;\n var day = str.slice(4, 6) | 0;\n var hour = str.slice(6, 8) | 0;\n var min = str.slice(8, 10) | 0;\n var sec = str.slice(10, 12) | 0;\n if (year < 70)\n year = 2000 + year;\n else\n year = 1900 + year;\n } else {\n return buffer.error('Decoding ' + tag + ' time is not supported yet');\n }\n\n return Date.UTC(year, mon - 1, day, hour, min, sec, 0);\n};\n\nDERNode.prototype._decodeNull = function decodeNull(buffer) {\n return null;\n};\n\nDERNode.prototype._decodeBool = function decodeBool(buffer) {\n var res = buffer.readUInt8();\n if (buffer.isError(res))\n return res;\n else\n return res !== 0;\n};\n\nDERNode.prototype._decodeInt = function decodeInt(buffer, values) {\n // Bigint, return as it is (assume big endian)\n var raw = buffer.raw();\n var res = new bignum(raw);\n\n if (values)\n res = values[res.toString(10)] || res;\n\n return res;\n};\n\nDERNode.prototype._use = function use(entity, obj) {\n if (typeof entity === 'function')\n entity = entity(obj);\n return entity._getDecoder('der').tree;\n};\n\n// Utility methods\n\nfunction derDecodeTag(buf, fail) {\n var tag = buf.readUInt8(fail);\n if (buf.isError(tag))\n return tag;\n\n var cls = der.tagClass[tag >> 6];\n var primitive = (tag & 0x20) === 0;\n\n // Multi-octet tag - load\n if ((tag & 0x1f) === 0x1f) {\n var oct = tag;\n tag = 0;\n while ((oct & 0x80) === 0x80) {\n oct = buf.readUInt8(fail);\n if (buf.isError(oct))\n return oct;\n\n tag <<= 7;\n tag |= oct & 0x7f;\n }\n } else {\n tag &= 0x1f;\n }\n var tagStr = der.tag[tag];\n\n return {\n cls: cls,\n primitive: primitive,\n tag: tag,\n tagStr: tagStr\n };\n}\n\nfunction derDecodeLen(buf, primitive, fail) {\n var len = buf.readUInt8(fail);\n if (buf.isError(len))\n return len;\n\n // Indefinite form\n if (!primitive && len === 0x80)\n return null;\n\n // Definite form\n if ((len & 0x80) === 0) {\n // Short form\n return len;\n }\n\n // Long form\n var num = len & 0x7f;\n if (num > 4)\n return buf.error('length octect is too long');\n\n len = 0;\n for (var i = 0; i < num; i++) {\n len <<= 8;\n var j = buf.readUInt8(fail);\n if (buf.isError(j))\n return j;\n len |= j;\n }\n\n return len;\n}\n","module.exports = function xor (a, b) {\n var len = a.length\n var i = -1\n while (++i < len) {\n a[i] ^= b[i]\n }\n return a\n}\n","function wait (time) {\n return new Promise((resolve) => setTimeout(resolve, time))\n}\n\nmodule.exports = {\n wait\n}\n","var ipaddr = require('ipaddr.js');\n\nvar compact2string = function (buf) {\n switch(buf.length) {\n case 6:\n return buf[0] + \".\" + buf[1] + \".\" + buf[2] + \".\" + buf[3] + \":\" + buf.readUInt16BE(4);\n break;\n case 18:\n var hexGroups = [];\n for(var i = 0; i < 8; i++) {\n hexGroups.push(buf.readUInt16BE(i * 2).toString(16));\n }\n var host = ipaddr.parse(hexGroups.join(\":\")).toString();\n return \"[\" + host + \"]:\" + buf.readUInt16BE(16);\n default:\n throw new Error(\"Invalid Compact IP/PORT, It should contain 6 or 18 bytes\");\n }\n};\n\ncompact2string.multi = function (buf) {\n if(buf.length % 6 !== 0)\n throw new Error(\"buf length isn't multiple of compact IP/PORTs (6 bytes)\");\n\n var output = [];\n for (var i = 0; i <= buf.length - 1; i = i + 6) {\n output.push(compact2string(buf.slice(i, i + 6)));\n }\n\n return output;\n};\n\ncompact2string.multi6 = function (buf) {\n if(buf.length % 18 !== 0)\n throw new Error(\"buf length isn't multiple of compact IP6/PORTs (18 bytes)\");\n\n var output = [];\n for (var i = 0; i <= buf.length - 1; i = i + 18) {\n output.push(compact2string(buf.slice(i, i + 18)));\n }\n\n return output;\n};\n\nmodule.exports = compact2string;\n","var constants = exports;\n\n// Helper\nconstants._reverse = function reverse(map) {\n var res = {};\n\n Object.keys(map).forEach(function(key) {\n // Convert key to integer if it is stringified\n if ((key | 0) == key)\n key = key | 0;\n\n var value = map[key];\n res[value] = key;\n });\n\n return res;\n};\n\nconstants.der = require('./der');\n","'use strict';\n\nconst util = require('util');\nconst internalUtil = util;\nconst EventEmitter = require('events');\n\n\nexports.IncomingMessage = require('./_http_incoming').IncomingMessage;\n\n\nconst common = require('./_http_common');\nexports.METHODS = common.methods.slice().sort();\n\n\nexports.OutgoingMessage = require('./_http_outgoing').OutgoingMessage;\n\n\nconst server = require('./_http_server');\nexports.ServerResponse = server.ServerResponse;\nexports.STATUS_CODES = server.STATUS_CODES;\n\n\nconst agent = require('./_http_agent');\nconst Agent = exports.Agent = agent.Agent;\nexports.globalAgent = agent.globalAgent;\n\nconst client = require('./_http_client');\nconst ClientRequest = exports.ClientRequest = client.ClientRequest;\n\nexports.request = function(options, cb) {\n return new ClientRequest(options, cb);\n};\n\nexports.get = function(options, cb) {\n var req = exports.request(options, cb);\n req.end();\n return req;\n};\n\nexports._connectionListener = server._connectionListener;\nconst Server = exports.Server = server.Server;\n\nexports.createServer = function(requestListener) {\n return new Server(requestListener);\n};\n\n\n// Legacy Interface\n\nfunction Client(port, host) {\n if (!(this instanceof Client)) return new Client(port, host);\n EventEmitter.call(this);\n\n host = host || 'localhost';\n port = port || 80;\n this.host = host;\n this.port = port;\n this.agent = new Agent({ host: host, port: port, maxSockets: 1 });\n}\nutil.inherits(Client, EventEmitter);\nClient.prototype.request = function(method, path, headers) {\n var self = this;\n var options = {};\n options.host = self.host;\n options.port = self.port;\n if (method[0] === '/') {\n headers = path;\n path = method;\n method = 'GET';\n }\n options.method = method;\n options.path = path;\n options.headers = headers;\n options.agent = self.agent;\n var c = new ClientRequest(options);\n c.on('error', function(e) {\n self.emit('error', e);\n });\n // The old Client interface emitted 'end' on socket end.\n // This doesn't map to how we want things to operate in the future\n // but it will get removed when we remove this legacy interface.\n c.on('socket', function(s) {\n s.on('end', function() {\n if (self._decoder) {\n var ret = self._decoder.end();\n if (ret)\n self.emit('data', ret);\n }\n self.emit('end');\n });\n });\n return c;\n};\n\nexports.Client = internalUtil.deprecate(Client, 'http.Client is deprecated.');\n\nexports.createClient = internalUtil.deprecate(function(port, host) {\n return new Client(port, host);\n}, 'http.createClient is deprecated. Use http.request instead.');\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar utils = require('./utils');\nvar Cipher = require('./cipher');\n\nfunction DESState() {\n this.tmp = new Array(2);\n this.keys = null;\n}\n\nfunction DES(options) {\n Cipher.call(this, options);\n\n var state = new DESState();\n this._desState = state;\n\n this.deriveKeys(state, options.key);\n}\ninherits(DES, Cipher);\nmodule.exports = DES;\n\nDES.create = function create(options) {\n return new DES(options);\n};\n\nvar shiftTable = [\n 1, 1, 2, 2, 2, 2, 2, 2,\n 1, 2, 2, 2, 2, 2, 2, 1\n];\n\nDES.prototype.deriveKeys = function deriveKeys(state, key) {\n state.keys = new Array(16 * 2);\n\n assert.equal(key.length, this.blockSize, 'Invalid key length');\n\n var kL = utils.readUInt32BE(key, 0);\n var kR = utils.readUInt32BE(key, 4);\n\n utils.pc1(kL, kR, state.tmp, 0);\n kL = state.tmp[0];\n kR = state.tmp[1];\n for (var i = 0; i < state.keys.length; i += 2) {\n var shift = shiftTable[i >>> 1];\n kL = utils.r28shl(kL, shift);\n kR = utils.r28shl(kR, shift);\n utils.pc2(kL, kR, state.keys, i);\n }\n};\n\nDES.prototype._update = function _update(inp, inOff, out, outOff) {\n var state = this._desState;\n\n var l = utils.readUInt32BE(inp, inOff);\n var r = utils.readUInt32BE(inp, inOff + 4);\n\n // Initial Permutation\n utils.ip(l, r, state.tmp, 0);\n l = state.tmp[0];\n r = state.tmp[1];\n\n if (this.type === 'encrypt')\n this._encrypt(state, l, r, state.tmp, 0);\n else\n this._decrypt(state, l, r, state.tmp, 0);\n\n l = state.tmp[0];\n r = state.tmp[1];\n\n utils.writeUInt32BE(out, l, outOff);\n utils.writeUInt32BE(out, r, outOff + 4);\n};\n\nDES.prototype._pad = function _pad(buffer, off) {\n if (this.padding === false) {\n return false;\n }\n\n var value = buffer.length - off;\n for (var i = off; i < buffer.length; i++)\n buffer[i] = value;\n\n return true;\n};\n\nDES.prototype._unpad = function _unpad(buffer) {\n if (this.padding === false) {\n return buffer;\n }\n\n var pad = buffer[buffer.length - 1];\n for (var i = buffer.length - pad; i < buffer.length; i++)\n assert.equal(buffer[i], pad);\n\n return buffer.slice(0, buffer.length - pad);\n};\n\nDES.prototype._encrypt = function _encrypt(state, lStart, rStart, out, off) {\n var l = lStart;\n var r = rStart;\n\n // Apply f() x16 times\n for (var i = 0; i < state.keys.length; i += 2) {\n var keyL = state.keys[i];\n var keyR = state.keys[i + 1];\n\n // f(r, k)\n utils.expand(r, state.tmp, 0);\n\n keyL ^= state.tmp[0];\n keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR);\n var f = utils.permute(s);\n\n var t = r;\n r = (l ^ f) >>> 0;\n l = t;\n }\n\n // Reverse Initial Permutation\n utils.rip(r, l, out, off);\n};\n\nDES.prototype._decrypt = function _decrypt(state, lStart, rStart, out, off) {\n var l = rStart;\n var r = lStart;\n\n // Apply f() x16 times\n for (var i = state.keys.length - 2; i >= 0; i -= 2) {\n var keyL = state.keys[i];\n var keyR = state.keys[i + 1];\n\n // f(r, k)\n utils.expand(l, state.tmp, 0);\n\n keyL ^= state.tmp[0];\n keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR);\n var f = utils.permute(s);\n\n var t = l;\n l = (r ^ f) >>> 0;\n r = t;\n }\n\n // Reverse Initial Permutation\n utils.rip(l, r, out, off);\n};\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","var bn = require('bn.js');\nvar brorand = require('brorand');\n\nfunction MillerRabin(rand) {\n this.rand = rand || new brorand.Rand();\n}\nmodule.exports = MillerRabin;\n\nMillerRabin.create = function create(rand) {\n return new MillerRabin(rand);\n};\n\nMillerRabin.prototype._randbelow = function _randbelow(n) {\n var len = n.bitLength();\n var min_bytes = Math.ceil(len / 8);\n\n // Generage random bytes until a number less than n is found.\n // This ensures that 0..n-1 have an equal probability of being selected.\n do\n var a = new bn(this.rand.generate(min_bytes));\n while (a.cmp(n) >= 0);\n\n return a;\n};\n\nMillerRabin.prototype._randrange = function _randrange(start, stop) {\n // Generate a random number greater than or equal to start and less than stop.\n var size = stop.sub(start);\n return start.add(this._randbelow(size));\n};\n\nMillerRabin.prototype.test = function test(n, k, cb) {\n var len = n.bitLength();\n var red = bn.mont(n);\n var rone = new bn(1).toRed(red);\n\n if (!k)\n k = Math.max(1, (len / 48) | 0);\n\n // Find d and s, (n - 1) = (2 ^ s) * d;\n var n1 = n.subn(1);\n for (var s = 0; !n1.testn(s); s++) {}\n var d = n.shrn(s);\n\n var rn1 = n1.toRed(red);\n\n var prime = true;\n for (; k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n if (cb)\n cb(a);\n\n var x = a.toRed(red).redPow(d);\n if (x.cmp(rone) === 0 || x.cmp(rn1) === 0)\n continue;\n\n for (var i = 1; i < s; i++) {\n x = x.redSqr();\n\n if (x.cmp(rone) === 0)\n return false;\n if (x.cmp(rn1) === 0)\n break;\n }\n\n if (i === s)\n return false;\n }\n\n return prime;\n};\n\nMillerRabin.prototype.getDivisor = function getDivisor(n, k) {\n var len = n.bitLength();\n var red = bn.mont(n);\n var rone = new bn(1).toRed(red);\n\n if (!k)\n k = Math.max(1, (len / 48) | 0);\n\n // Find d and s, (n - 1) = (2 ^ s) * d;\n var n1 = n.subn(1);\n for (var s = 0; !n1.testn(s); s++) {}\n var d = n.shrn(s);\n\n var rn1 = n1.toRed(red);\n\n for (; k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n\n var g = n.gcd(a);\n if (g.cmpn(1) !== 0)\n return g;\n\n var x = a.toRed(red).redPow(d);\n if (x.cmp(rone) === 0 || x.cmp(rn1) === 0)\n continue;\n\n for (var i = 1; i < s; i++) {\n x = x.redSqr();\n\n if (x.cmp(rone) === 0)\n return x.fromRed().subn(1).gcd(n);\n if (x.cmp(rn1) === 0)\n break;\n }\n\n if (i === s) {\n x = x.redSqr();\n return x.fromRed().subn(1).gcd(n);\n }\n }\n\n return false;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bound');\nvar inspect = require('object-inspect');\nvar getSideChannelMap = require('side-channel-map');\n\nvar $TypeError = require('es-errors/type');\nvar $WeakMap = GetIntrinsic('%WeakMap%', true);\n\n/** @type {(thisArg: WeakMap, key: K) => V} */\nvar $weakMapGet = callBound('WeakMap.prototype.get', true);\n/** @type {(thisArg: WeakMap, key: K, value: V) => void} */\nvar $weakMapSet = callBound('WeakMap.prototype.set', true);\n/** @type {(thisArg: WeakMap, key: K) => boolean} */\nvar $weakMapHas = callBound('WeakMap.prototype.has', true);\n/** @type {(thisArg: WeakMap, key: K) => boolean} */\nvar $weakMapDelete = callBound('WeakMap.prototype.delete', true);\n\n/** @type {import('.')} */\nmodule.exports = $WeakMap\n\t? /** @type {Exclude} */ function getSideChannelWeakMap() {\n\t\t/** @typedef {ReturnType} Channel */\n\t\t/** @typedef {Parameters[0]} K */\n\t\t/** @typedef {Parameters[1]} V */\n\n\t\t/** @type {WeakMap | undefined} */ var $wm;\n\t\t/** @type {Channel | undefined} */ var $m;\n\n\t\t/** @type {Channel} */\n\t\tvar channel = {\n\t\t\tassert: function (key) {\n\t\t\t\tif (!channel.has(key)) {\n\t\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t\t}\n\t\t\t},\n\t\t\t'delete': function (key) {\n\t\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\t\tif ($wm) {\n\t\t\t\t\t\treturn $weakMapDelete($wm, key);\n\t\t\t\t\t}\n\t\t\t\t} else if (getSideChannelMap) {\n\t\t\t\t\tif ($m) {\n\t\t\t\t\t\treturn $m['delete'](key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\tget: function (key) {\n\t\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\t\tif ($wm) {\n\t\t\t\t\t\treturn $weakMapGet($wm, key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn $m && $m.get(key);\n\t\t\t},\n\t\t\thas: function (key) {\n\t\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\t\tif ($wm) {\n\t\t\t\t\t\treturn $weakMapHas($wm, key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn !!$m && $m.has(key);\n\t\t\t},\n\t\t\tset: function (key, value) {\n\t\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\t\tif (!$wm) {\n\t\t\t\t\t\t$wm = new $WeakMap();\n\t\t\t\t\t}\n\t\t\t\t\t$weakMapSet($wm, key, value);\n\t\t\t\t} else if (getSideChannelMap) {\n\t\t\t\t\tif (!$m) {\n\t\t\t\t\t\t$m = getSideChannelMap();\n\t\t\t\t\t}\n\t\t\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\t\t\t/** @type {NonNullable} */ ($m).set(key, value);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\t// @ts-expect-error TODO: figure out why this is erroring\n\t\treturn channel;\n\t}\n\t: getSideChannelMap;\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar shaCommon = require('./common');\nvar assert = require('minimalistic-assert');\n\nvar sum32 = utils.sum32;\nvar sum32_4 = utils.sum32_4;\nvar sum32_5 = utils.sum32_5;\nvar ch32 = shaCommon.ch32;\nvar maj32 = shaCommon.maj32;\nvar s0_256 = shaCommon.s0_256;\nvar s1_256 = shaCommon.s1_256;\nvar g0_256 = shaCommon.g0_256;\nvar g1_256 = shaCommon.g1_256;\n\nvar BlockHash = common.BlockHash;\n\nvar sha256_K = [\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,\n 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,\n 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,\n 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,\n 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,\n 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,\n 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n];\n\nfunction SHA256() {\n if (!(this instanceof SHA256))\n return new SHA256();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,\n 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19\n ];\n this.k = sha256_K;\n this.W = new Array(64);\n}\nutils.inherits(SHA256, BlockHash);\nmodule.exports = SHA256;\n\nSHA256.blockSize = 512;\nSHA256.outSize = 256;\nSHA256.hmacStrength = 192;\nSHA256.padLength = 64;\n\nSHA256.prototype._update = function _update(msg, start) {\n var W = this.W;\n\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i++)\n W[i] = sum32_4(g1_256(W[i - 2]), W[i - 7], g0_256(W[i - 15]), W[i - 16]);\n\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n var f = this.h[5];\n var g = this.h[6];\n var h = this.h[7];\n\n assert(this.k.length === W.length);\n for (i = 0; i < W.length; i++) {\n var T1 = sum32_5(h, s1_256(e), ch32(e, f, g), this.k[i], W[i]);\n var T2 = sum32(s0_256(a), maj32(a, b, c));\n h = g;\n g = f;\n f = e;\n e = sum32(d, T1);\n d = c;\n c = b;\n b = a;\n a = sum32(T1, T2);\n }\n\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n this.h[5] = sum32(this.h[5], f);\n this.h[6] = sum32(this.h[6], g);\n this.h[7] = sum32(this.h[7], h);\n};\n\nSHA256.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = require('buffer').Buffer;\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // 'A' - 'F'\n if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n // '0' - '9'\n } else {\n return (c - 48) & 0xf;\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this.strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","var aes = require('./aes')\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('cipher-base')\nvar inherits = require('inherits')\nvar GHASH = require('./ghash')\nvar xor = require('buffer-xor')\nvar incr32 = require('./incr32')\n\nfunction xorTest (a, b) {\n var out = 0\n if (a.length !== b.length) out++\n\n var len = Math.min(a.length, b.length)\n for (var i = 0; i < len; ++i) {\n out += (a[i] ^ b[i])\n }\n\n return out\n}\n\nfunction calcIv (self, iv, ck) {\n if (iv.length === 12) {\n self._finID = Buffer.concat([iv, Buffer.from([0, 0, 0, 1])])\n return Buffer.concat([iv, Buffer.from([0, 0, 0, 2])])\n }\n var ghash = new GHASH(ck)\n var len = iv.length\n var toPad = len % 16\n ghash.update(iv)\n if (toPad) {\n toPad = 16 - toPad\n ghash.update(Buffer.alloc(toPad, 0))\n }\n ghash.update(Buffer.alloc(8, 0))\n var ivBits = len * 8\n var tail = Buffer.alloc(8)\n tail.writeUIntBE(ivBits, 0, 8)\n ghash.update(tail)\n self._finID = ghash.state\n var out = Buffer.from(self._finID)\n incr32(out)\n return out\n}\nfunction StreamCipher (mode, key, iv, decrypt) {\n Transform.call(this)\n\n var h = Buffer.alloc(4, 0)\n\n this._cipher = new aes.AES(key)\n var ck = this._cipher.encryptBlock(h)\n this._ghash = new GHASH(ck)\n iv = calcIv(this, iv, ck)\n\n this._prev = Buffer.from(iv)\n this._cache = Buffer.allocUnsafe(0)\n this._secCache = Buffer.allocUnsafe(0)\n this._decrypt = decrypt\n this._alen = 0\n this._len = 0\n this._mode = mode\n\n this._authTag = null\n this._called = false\n}\n\ninherits(StreamCipher, Transform)\n\nStreamCipher.prototype._update = function (chunk) {\n if (!this._called && this._alen) {\n var rump = 16 - (this._alen % 16)\n if (rump < 16) {\n rump = Buffer.alloc(rump, 0)\n this._ghash.update(rump)\n }\n }\n\n this._called = true\n var out = this._mode.encrypt(this, chunk)\n if (this._decrypt) {\n this._ghash.update(chunk)\n } else {\n this._ghash.update(out)\n }\n this._len += chunk.length\n return out\n}\n\nStreamCipher.prototype._final = function () {\n if (this._decrypt && !this._authTag) throw new Error('Unsupported state or unable to authenticate data')\n\n var tag = xor(this._ghash.final(this._alen * 8, this._len * 8), this._cipher.encryptBlock(this._finID))\n if (this._decrypt && xorTest(tag, this._authTag)) throw new Error('Unsupported state or unable to authenticate data')\n\n this._authTag = tag\n this._cipher.scrub()\n}\n\nStreamCipher.prototype.getAuthTag = function getAuthTag () {\n if (this._decrypt || !Buffer.isBuffer(this._authTag)) throw new Error('Attempting to get auth tag in unsupported state')\n\n return this._authTag\n}\n\nStreamCipher.prototype.setAuthTag = function setAuthTag (tag) {\n if (!this._decrypt) throw new Error('Attempting to set auth tag in unsupported state')\n\n this._authTag = tag\n}\n\nStreamCipher.prototype.setAAD = function setAAD (buf) {\n if (this._called) throw new Error('Attempting to set AAD in unsupported state')\n\n this._ghash.update(buf)\n this._alen += buf.length\n}\n\nmodule.exports = StreamCipher\n","exports['des-ecb'] = {\n key: 8,\n iv: 0\n}\nexports['des-cbc'] = exports.des = {\n key: 8,\n iv: 8\n}\nexports['des-ede3-cbc'] = exports.des3 = {\n key: 24,\n iv: 8\n}\nexports['des-ede3'] = {\n key: 24,\n iv: 0\n}\nexports['des-ede-cbc'] = {\n key: 16,\n iv: 8\n}\nexports['des-ede'] = {\n key: 16,\n iv: 0\n}\n","var defaultEncoding\n/* istanbul ignore next */\nif (global.process && global.process.browser) {\n defaultEncoding = 'utf-8'\n} else if (global.process && global.process.version) {\n var pVersionMajor = parseInt(process.version.split('.')[0].slice(1), 10)\n\n defaultEncoding = pVersionMajor >= 6 ? 'utf-8' : 'binary'\n} else {\n defaultEncoding = 'utf-8'\n}\nmodule.exports = defaultEncoding\n","module.exports = function isBuffer(arg) {\n return arg instanceof Buffer;\n}\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = require('buffer').Buffer;\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // 'A' - 'F'\n if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n // '0' - '9'\n } else {\n return (c - 48) & 0xf;\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this.strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","exports.encrypt = function (self, block) {\n return self._cipher.encryptBlock(block)\n}\n\nexports.decrypt = function (self, block) {\n return self._cipher.decryptBlock(block)\n}\n","'use strict';\n\nvar utils = require('./utils');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar defaults = {\n allowDots: false,\n allowEmptyArrays: false,\n allowPrototypes: false,\n allowSparse: false,\n arrayLimit: 20,\n charset: 'utf-8',\n charsetSentinel: false,\n comma: false,\n decodeDotInKeys: false,\n decoder: utils.decode,\n delimiter: '&',\n depth: 5,\n duplicates: 'combine',\n ignoreQueryPrefix: false,\n interpretNumericEntities: false,\n parameterLimit: 1000,\n parseArrays: true,\n plainObjects: false,\n strictDepth: false,\n strictNullHandling: false\n};\n\nvar interpretNumericEntities = function (str) {\n return str.replace(/&#(\\d+);/g, function ($0, numberStr) {\n return String.fromCharCode(parseInt(numberStr, 10));\n });\n};\n\nvar parseArrayValue = function (val, options) {\n if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {\n return val.split(',');\n }\n\n return val;\n};\n\n// This is what browsers will submit when the ✓ character occurs in an\n// application/x-www-form-urlencoded body and the encoding of the page containing\n// the form is iso-8859-1, or when the submitted form has an accept-charset\n// attribute of iso-8859-1. Presumably also with other charsets that do not contain\n// the ✓ character, such as us-ascii.\nvar isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('✓')\n\n// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.\nvar charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')\n\nvar parseValues = function parseQueryStringValues(str, options) {\n var obj = { __proto__: null };\n\n var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, '') : str;\n cleanStr = cleanStr.replace(/%5B/gi, '[').replace(/%5D/gi, ']');\n var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;\n var parts = cleanStr.split(options.delimiter, limit);\n var skipIndex = -1; // Keep track of where the utf8 sentinel was found\n var i;\n\n var charset = options.charset;\n if (options.charsetSentinel) {\n for (i = 0; i < parts.length; ++i) {\n if (parts[i].indexOf('utf8=') === 0) {\n if (parts[i] === charsetSentinel) {\n charset = 'utf-8';\n } else if (parts[i] === isoSentinel) {\n charset = 'iso-8859-1';\n }\n skipIndex = i;\n i = parts.length; // The eslint settings do not allow break;\n }\n }\n }\n\n for (i = 0; i < parts.length; ++i) {\n if (i === skipIndex) {\n continue;\n }\n var part = parts[i];\n\n var bracketEqualsPos = part.indexOf(']=');\n var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;\n\n var key, val;\n if (pos === -1) {\n key = options.decoder(part, defaults.decoder, charset, 'key');\n val = options.strictNullHandling ? null : '';\n } else {\n key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');\n val = utils.maybeMap(\n parseArrayValue(part.slice(pos + 1), options),\n function (encodedVal) {\n return options.decoder(encodedVal, defaults.decoder, charset, 'value');\n }\n );\n }\n\n if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {\n val = interpretNumericEntities(val);\n }\n\n if (part.indexOf('[]=') > -1) {\n val = isArray(val) ? [val] : val;\n }\n\n var existing = has.call(obj, key);\n if (existing && options.duplicates === 'combine') {\n obj[key] = utils.combine(obj[key], val);\n } else if (!existing || options.duplicates === 'last') {\n obj[key] = val;\n }\n }\n\n return obj;\n};\n\nvar parseObject = function (chain, val, options, valuesParsed) {\n var leaf = valuesParsed ? val : parseArrayValue(val, options);\n\n for (var i = chain.length - 1; i >= 0; --i) {\n var obj;\n var root = chain[i];\n\n if (root === '[]' && options.parseArrays) {\n obj = options.allowEmptyArrays && (leaf === '' || (options.strictNullHandling && leaf === null))\n ? []\n : [].concat(leaf);\n } else {\n obj = options.plainObjects ? Object.create(null) : {};\n var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n var decodedRoot = options.decodeDotInKeys ? cleanRoot.replace(/%2E/g, '.') : cleanRoot;\n var index = parseInt(decodedRoot, 10);\n if (!options.parseArrays && decodedRoot === '') {\n obj = { 0: leaf };\n } else if (\n !isNaN(index)\n && root !== decodedRoot\n && String(index) === decodedRoot\n && index >= 0\n && (options.parseArrays && index <= options.arrayLimit)\n ) {\n obj = [];\n obj[index] = leaf;\n } else if (decodedRoot !== '__proto__') {\n obj[decodedRoot] = leaf;\n }\n }\n\n leaf = obj;\n }\n\n return leaf;\n};\n\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {\n if (!givenKey) {\n return;\n }\n\n // Transform dot notation to bracket notation\n var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n // The regex chunks\n\n var brackets = /(\\[[^[\\]]*])/;\n var child = /(\\[[^[\\]]*])/g;\n\n // Get the parent\n\n var segment = options.depth > 0 && brackets.exec(key);\n var parent = segment ? key.slice(0, segment.index) : key;\n\n // Stash the parent if it exists\n\n var keys = [];\n if (parent) {\n // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties\n if (!options.plainObjects && has.call(Object.prototype, parent)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n keys.push(parent);\n }\n\n // Loop through children appending to the array until we hit depth\n\n var i = 0;\n while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {\n i += 1;\n if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n keys.push(segment[1]);\n }\n\n // If there's a remainder, check strictDepth option for throw, else just add whatever is left\n\n if (segment) {\n if (options.strictDepth === true) {\n throw new RangeError('Input depth exceeded depth option of ' + options.depth + ' and strictDepth is true');\n }\n keys.push('[' + key.slice(segment.index) + ']');\n }\n\n return parseObject(keys, val, options, valuesParsed);\n};\n\nvar normalizeParseOptions = function normalizeParseOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (typeof opts.allowEmptyArrays !== 'undefined' && typeof opts.allowEmptyArrays !== 'boolean') {\n throw new TypeError('`allowEmptyArrays` option can only be `true` or `false`, when provided');\n }\n\n if (typeof opts.decodeDotInKeys !== 'undefined' && typeof opts.decodeDotInKeys !== 'boolean') {\n throw new TypeError('`decodeDotInKeys` option can only be `true` or `false`, when provided');\n }\n\n if (opts.decoder !== null && typeof opts.decoder !== 'undefined' && typeof opts.decoder !== 'function') {\n throw new TypeError('Decoder has to be a function.');\n }\n\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;\n\n var duplicates = typeof opts.duplicates === 'undefined' ? defaults.duplicates : opts.duplicates;\n\n if (duplicates !== 'combine' && duplicates !== 'first' && duplicates !== 'last') {\n throw new TypeError('The duplicates option must be either combine, first, or last');\n }\n\n var allowDots = typeof opts.allowDots === 'undefined' ? opts.decodeDotInKeys === true ? true : defaults.allowDots : !!opts.allowDots;\n\n return {\n allowDots: allowDots,\n allowEmptyArrays: typeof opts.allowEmptyArrays === 'boolean' ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays,\n allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,\n allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,\n arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,\n decodeDotInKeys: typeof opts.decodeDotInKeys === 'boolean' ? opts.decodeDotInKeys : defaults.decodeDotInKeys,\n decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,\n delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,\n // eslint-disable-next-line no-implicit-coercion, no-extra-parens\n depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,\n duplicates: duplicates,\n ignoreQueryPrefix: opts.ignoreQueryPrefix === true,\n interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,\n parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,\n parseArrays: opts.parseArrays !== false,\n plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,\n strictDepth: typeof opts.strictDepth === 'boolean' ? !!opts.strictDepth : defaults.strictDepth,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (str, opts) {\n var options = normalizeParseOptions(opts);\n\n if (str === '' || str === null || typeof str === 'undefined') {\n return options.plainObjects ? Object.create(null) : {};\n }\n\n var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n var obj = options.plainObjects ? Object.create(null) : {};\n\n // Iterate over the keys and setup the new object\n\n var keys = Object.keys(tempObj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');\n obj = utils.merge(obj, newObj, options);\n }\n\n if (options.allowSparse === true) {\n return obj;\n }\n\n return utils.compact(obj);\n};\n","'use strict';\n\nvar hash = require('hash.js');\nvar utils = require('minimalistic-crypto-utils');\nvar assert = require('minimalistic-assert');\n\nfunction HmacDRBG(options) {\n if (!(this instanceof HmacDRBG))\n return new HmacDRBG(options);\n this.hash = options.hash;\n this.predResist = !!options.predResist;\n\n this.outLen = this.hash.outSize;\n this.minEntropy = options.minEntropy || this.hash.hmacStrength;\n\n this._reseed = null;\n this.reseedInterval = null;\n this.K = null;\n this.V = null;\n\n var entropy = utils.toArray(options.entropy, options.entropyEnc || 'hex');\n var nonce = utils.toArray(options.nonce, options.nonceEnc || 'hex');\n var pers = utils.toArray(options.pers, options.persEnc || 'hex');\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n this._init(entropy, nonce, pers);\n}\nmodule.exports = HmacDRBG;\n\nHmacDRBG.prototype._init = function init(entropy, nonce, pers) {\n var seed = entropy.concat(nonce).concat(pers);\n\n this.K = new Array(this.outLen / 8);\n this.V = new Array(this.outLen / 8);\n for (var i = 0; i < this.V.length; i++) {\n this.K[i] = 0x00;\n this.V[i] = 0x01;\n }\n\n this._update(seed);\n this._reseed = 1;\n this.reseedInterval = 0x1000000000000; // 2^48\n};\n\nHmacDRBG.prototype._hmac = function hmac() {\n return new hash.hmac(this.hash, this.K);\n};\n\nHmacDRBG.prototype._update = function update(seed) {\n var kmac = this._hmac()\n .update(this.V)\n .update([ 0x00 ]);\n if (seed)\n kmac = kmac.update(seed);\n this.K = kmac.digest();\n this.V = this._hmac().update(this.V).digest();\n if (!seed)\n return;\n\n this.K = this._hmac()\n .update(this.V)\n .update([ 0x01 ])\n .update(seed)\n .digest();\n this.V = this._hmac().update(this.V).digest();\n};\n\nHmacDRBG.prototype.reseed = function reseed(entropy, entropyEnc, add, addEnc) {\n // Optional entropy enc\n if (typeof entropyEnc !== 'string') {\n addEnc = add;\n add = entropyEnc;\n entropyEnc = null;\n }\n\n entropy = utils.toArray(entropy, entropyEnc);\n add = utils.toArray(add, addEnc);\n\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n\n this._update(entropy.concat(add || []));\n this._reseed = 1;\n};\n\nHmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) {\n if (this._reseed > this.reseedInterval)\n throw new Error('Reseed is required');\n\n // Optional encoding\n if (typeof enc !== 'string') {\n addEnc = add;\n add = enc;\n enc = null;\n }\n\n // Optional additional data\n if (add) {\n add = utils.toArray(add, addEnc || 'hex');\n this._update(add);\n }\n\n var temp = [];\n while (temp.length < len) {\n this.V = this._hmac().update(this.V).digest();\n temp = temp.concat(this.V);\n }\n\n var res = temp.slice(0, len);\n this._update(add);\n this._reseed++;\n return utils.encode(res, enc);\n};\n","'use strict';\n\nconst binding = require('http-parser-js');\nconst methods = binding.methods;\nconst HTTPParser = binding.HTTPParser;\n\nconst FreeList = require('freelist').FreeList;\nconst incoming = require('./_http_incoming');\nconst IncomingMessage = incoming.IncomingMessage;\nconst readStart = incoming.readStart;\nconst readStop = incoming.readStop;\n\nconst debug = require('util').debuglog('http');\nexports.debug = debug;\n\nexports.CRLF = '\\r\\n';\nexports.chunkExpression = /chunk/i;\nexports.continueExpression = /100-continue/i;\nexports.methods = methods;\n\nconst kOnHeaders = HTTPParser.kOnHeaders | 0;\nconst kOnHeadersComplete = HTTPParser.kOnHeadersComplete | 0;\nconst kOnBody = HTTPParser.kOnBody | 0;\nconst kOnMessageComplete = HTTPParser.kOnMessageComplete | 0;\nconst kOnExecute = HTTPParser.kOnExecute | 0;\n\n// Only called in the slow case where slow means\n// that the request headers were either fragmented\n// across multiple TCP packets or too large to be\n// processed in a single run. This method is also\n// called to process trailing HTTP headers.\nfunction parserOnHeaders(headers, url) {\n // Once we exceeded headers limit - stop collecting them\n if (this.maxHeaderPairs <= 0 ||\n this._headers.length < this.maxHeaderPairs) {\n this._headers = this._headers.concat(headers);\n }\n this._url += url;\n}\n\n// `headers` and `url` are set only if .onHeaders() has not been called for\n// this request.\n// `url` is not set for response parsers but that's not applicable here since\n// all our parsers are request parsers.\nfunction parserOnHeadersComplete(versionMajor, versionMinor, headers, method,\n url, statusCode, statusMessage, upgrade,\n shouldKeepAlive) {\n var parser = this;\n\n if (!headers) {\n headers = parser._headers;\n parser._headers = [];\n }\n\n if (!url) {\n url = parser._url;\n parser._url = '';\n }\n\n parser.incoming = new IncomingMessage(parser.socket);\n parser.incoming.httpVersionMajor = versionMajor;\n parser.incoming.httpVersionMinor = versionMinor;\n parser.incoming.httpVersion = versionMajor + '.' + versionMinor;\n parser.incoming.url = url;\n\n var n = headers.length;\n\n // If parser.maxHeaderPairs <= 0 assume that there's no limit.\n if (parser.maxHeaderPairs > 0)\n n = Math.min(n, parser.maxHeaderPairs);\n\n parser.incoming._addHeaderLines(headers, n);\n\n if (typeof method === 'number') {\n // server only\n parser.incoming.method = methods[method];\n } else {\n // client only\n parser.incoming.statusCode = statusCode;\n parser.incoming.statusMessage = statusMessage;\n }\n\n // The client made non-upgrade request, and server is just advertising\n // supported protocols.\n //\n // See RFC7230 Section 6.7\n //\n // NOTE: RegExp below matches `upgrade` in `Connection: abc, upgrade, def`\n // header.\n if (upgrade &&\n parser.outgoing !== null &&\n (parser.outgoing._headers.upgrade === undefined ||\n !/(^|\\W)upgrade(\\W|$)/i.test(parser.outgoing._headers.connection))) {\n upgrade = false;\n }\n\n parser.incoming.upgrade = upgrade;\n\n var skipBody = 0; // response to HEAD or CONNECT\n\n if (!upgrade) {\n // For upgraded connections and CONNECT method request, we'll emit this\n // after parser.execute so that we can capture the first part of the new\n // protocol.\n skipBody = parser.onIncoming(parser.incoming, shouldKeepAlive);\n }\n\n if (typeof skipBody !== 'number')\n return skipBody ? 1 : 0;\n else\n return skipBody;\n}\n\n// XXX This is a mess.\n// TODO: http.Parser should be a Writable emits request/response events.\nfunction parserOnBody(b, start, len) {\n var parser = this;\n var stream = parser.incoming;\n\n // if the stream has already been removed, then drop it.\n if (!stream)\n return;\n\n var socket = stream.socket;\n\n // pretend this was the result of a stream._read call.\n if (len > 0 && !stream._dumped) {\n var slice = b.slice(start, start + len);\n var ret = stream.push(slice);\n if (!ret)\n readStop(socket);\n }\n}\n\nfunction parserOnMessageComplete() {\n var parser = this;\n var stream = parser.incoming;\n\n if (stream) {\n stream.complete = true;\n // Emit any trailing headers.\n var headers = parser._headers;\n if (headers) {\n parser.incoming._addHeaderLines(headers, headers.length);\n parser._headers = [];\n parser._url = '';\n }\n\n // For emit end event\n stream.push(null);\n }\n\n // force to read the next incoming message\n readStart(parser.socket);\n}\n\n\nvar parsers = new FreeList('parsers', 1000, function() {\n var parser = new HTTPParser(HTTPParser.REQUEST);\n\n parser._headers = [];\n parser._url = '';\n parser._consumed = false;\n\n parser.socket = null;\n parser.incoming = null;\n parser.outgoing = null;\n\n // Only called in the slow case where slow means\n // that the request headers were either fragmented\n // across multiple TCP packets or too large to be\n // processed in a single run. This method is also\n // called to process trailing HTTP headers.\n parser[kOnHeaders] = parserOnHeaders;\n parser[kOnHeadersComplete] = parserOnHeadersComplete;\n parser[kOnBody] = parserOnBody;\n parser[kOnMessageComplete] = parserOnMessageComplete;\n parser[kOnExecute] = null;\n\n return parser;\n});\nexports.parsers = parsers;\n\n\n// Free the parser and also break any links that it\n// might have to any other things.\n// TODO: All parser data should be attached to a\n// single object, so that it can be easily cleaned\n// up by doing `parser.data = {}`, which should\n// be done in FreeList.free. `parsers.free(parser)`\n// should be all that is needed.\nfunction freeParser(parser, req, socket) {\n if (parser) {\n parser._headers = [];\n parser.onIncoming = null;\n if (parser._consumed)\n parser.unconsume();\n parser._consumed = false;\n if (parser.socket)\n parser.socket.parser = null;\n parser.socket = null;\n parser.incoming = null;\n parser.outgoing = null;\n parser[kOnExecute] = null;\n if (parsers.free(parser) === false)\n parser.close();\n parser = null;\n }\n if (req) {\n req.parser = null;\n }\n if (socket) {\n socket.parser = null;\n }\n}\nexports.freeParser = freeParser;\n\n\nfunction ondrain() {\n if (this._httpMessage) this._httpMessage.emit('drain');\n}\n\n\nfunction httpSocketSetup(socket) {\n socket.removeListener('drain', ondrain);\n socket.on('drain', ondrain);\n}\nexports.httpSocketSetup = httpSocketSetup;\n\n/**\n * Verifies that the given val is a valid HTTP token\n * per the rules defined in RFC 7230\n * See https://tools.ietf.org/html/rfc7230#section-3.2.6\n *\n * Allowed characters in an HTTP token:\n * ^_`a-z 94-122\n * A-Z 65-90\n * - 45\n * 0-9 48-57\n * ! 33\n * #$%&' 35-39\n * *+ 42-43\n * . 46\n * | 124\n * ~ 126\n *\n * This implementation of checkIsHttpToken() loops over the string instead of\n * using a regular expression since the former is up to 180% faster with v8 4.9\n * depending on the string length (the shorter the string, the larger the\n * performance difference)\n *\n * Additionally, checkIsHttpToken() is currently designed to be inlinable by v8,\n * so take care when making changes to the implementation so that the source\n * code size does not exceed v8's default max_inlined_source_size setting.\n **/\nfunction isValidTokenChar(ch) {\n if (ch >= 94 && ch <= 122)\n return true;\n if (ch >= 65 && ch <= 90)\n return true;\n if (ch === 45)\n return true;\n if (ch >= 48 && ch <= 57)\n return true;\n if (ch === 34 || ch === 40 || ch === 41 || ch === 44)\n return false;\n if (ch >= 33 && ch <= 46)\n return true;\n if (ch === 124 || ch === 126)\n return true;\n return false;\n}\nfunction checkIsHttpToken(val) {\n if (typeof val !== 'string' || val.length === 0)\n return false;\n if (!isValidTokenChar(val.charCodeAt(0)))\n return false;\n const len = val.length;\n if (len > 1) {\n if (!isValidTokenChar(val.charCodeAt(1)))\n return false;\n if (len > 2) {\n if (!isValidTokenChar(val.charCodeAt(2)))\n return false;\n if (len > 3) {\n if (!isValidTokenChar(val.charCodeAt(3)))\n return false;\n for (var i = 4; i < len; i++) {\n if (!isValidTokenChar(val.charCodeAt(i)))\n return false;\n }\n }\n }\n }\n return true;\n}\nexports._checkIsHttpToken = checkIsHttpToken;\n\n/**\n * True if val contains an invalid field-vchar\n * field-value = *( field-content / obs-fold )\n * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]\n * field-vchar = VCHAR / obs-text\n *\n * checkInvalidHeaderChar() is currently designed to be inlinable by v8,\n * so take care when making changes to the implementation so that the source\n * code size does not exceed v8's default max_inlined_source_size setting.\n **/\nfunction checkInvalidHeaderChar(val) {\n val += '';\n if (val.length < 1)\n return false;\n var c = val.charCodeAt(0);\n if ((c <= 31 && c !== 9) || c > 255 || c === 127)\n return true;\n if (val.length < 2)\n return false;\n c = val.charCodeAt(1);\n if ((c <= 31 && c !== 9) || c > 255 || c === 127)\n return true;\n if (val.length < 3)\n return false;\n c = val.charCodeAt(2);\n if ((c <= 31 && c !== 9) || c > 255 || c === 127)\n return true;\n for (var i = 3; i < val.length; ++i) {\n c = val.charCodeAt(i);\n if ((c <= 31 && c !== 9) || c > 255 || c === 127)\n return true;\n }\n return false;\n}\nexports._checkInvalidHeaderChar = checkInvalidHeaderChar;\n","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a