s3db.js 3.2.0 → 3.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,21 +1,21 @@
1
1
  /* istanbul ignore file */
2
- (function(R,ii,I,de,pe,St,ja,ir){"use strict";function ni(e,t){for(var r=0,i=e.length-1;i>=0;i--){var n=e[i];n==="."?e.splice(i,1):n===".."?(e.splice(i,1),r++):r&&(e.splice(i,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}var $a=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,nr=function(e){return $a.exec(e).slice(1)};function ar(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var i=r>=0?arguments[r]:"/";if(typeof i!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!i)continue;e=i+"/"+e,t=i.charAt(0)==="/"}return e=ni(or(e.split("/"),function(n){return!!n}),!t).join("/"),(t?"/":"")+e||"."}function ai(e){var t=oi(e),r=Va(e,-1)==="/";return e=ni(or(e.split("/"),function(i){return!!i}),!t).join("/"),!e&&!t&&(e="."),e&&r&&(e+="/"),(t?"/":"")+e}function oi(e){return e.charAt(0)==="/"}function Y(){var e=Array.prototype.slice.call(arguments,0);return ai(or(e,function(t,r){if(typeof t!="string")throw new TypeError("Arguments to path.join must be strings");return t}).join("/"))}function Ha(e,t){e=ar(e).substr(1),t=ar(t).substr(1);function r(f){for(var l=0;l<f.length&&f[l]==="";l++);for(var d=f.length-1;d>=0&&f[d]==="";d--);return l>d?[]:f.slice(l,d-l+1)}for(var i=r(e.split("/")),n=r(t.split("/")),a=Math.min(i.length,n.length),o=a,s=0;s<a;s++)if(i[s]!==n[s]){o=s;break}for(var h=[],s=o;s<i.length;s++)h.push("..");return h=h.concat(n.slice(o)),h.join("/")}var Ka="/",Wa=":";function Ya(e){var t=nr(e),r=t[0],i=t[1];return!r&&!i?".":(i&&(i=i.substr(0,i.length-1)),r+i)}function qa(e,t){var r=nr(e)[2];return t&&r.substr(-1*t.length)===t&&(r=r.substr(0,r.length-t.length)),r}function Ga(e){return nr(e)[3]}var ae={extname:Ga,basename:qa,dirname:Ya,sep:Ka,delimiter:Wa,relative:Ha,join:Y,isAbsolute:oi,normalize:ai,resolve:ar};function or(e,t){if(e.filter)return e.filter(t);for(var r=[],i=0;i<e.length;i++)t(e[i],i,e)&&r.push(e[i]);return r}var Va="ab".substr(-1)==="b"?function(e,t,r){return e.substr(t,r)}:function(e,t,r){return t<0&&(t=e.length+t),e.substr(t,r)},Xa;function _e(){}_e.prototype=Object.create(null);function b(){b.init.call(this)}b.EventEmitter=b,b.usingDomains=!1,b.prototype.domain=void 0,b.prototype._events=void 0,b.prototype._maxListeners=void 0,b.defaultMaxListeners=10,b.init=function(){this.domain=null,b.usingDomains&&Xa.active,(!this._events||this._events===Object.getPrototypeOf(this)._events)&&(this._events=new _e,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},b.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||isNaN(t))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=t,this};function si(e){return e._maxListeners===void 0?b.defaultMaxListeners:e._maxListeners}b.prototype.getMaxListeners=function(){return si(this)};function Ja(e,t,r){if(t)e.call(r);else for(var i=e.length,n=at(e,i),a=0;a<i;++a)n[a].call(r)}function Qa(e,t,r,i){if(t)e.call(r,i);else for(var n=e.length,a=at(e,n),o=0;o<n;++o)a[o].call(r,i)}function eo(e,t,r,i,n){if(t)e.call(r,i,n);else for(var a=e.length,o=at(e,a),s=0;s<a;++s)o[s].call(r,i,n)}function to(e,t,r,i,n,a){if(t)e.call(r,i,n,a);else for(var o=e.length,s=at(e,o),h=0;h<o;++h)s[h].call(r,i,n,a)}function ro(e,t,r,i){if(t)e.apply(r,i);else for(var n=e.length,a=at(e,n),o=0;o<n;++o)a[o].apply(r,i)}b.prototype.emit=function(t){var r,i,n,a,o,s,h,f=t==="error";if(s=this._events,s)f=f&&s.error==null;else if(!f)return!1;if(h=this.domain,f){if(r=arguments[1],h)r||(r=new Error('Uncaught, unspecified "error" event')),r.domainEmitter=this,r.domain=h,r.domainThrown=!1,h.emit("error",r);else{if(r instanceof Error)throw r;var l=new Error('Uncaught, unspecified "error" event. ('+r+")");throw l.context=r,l}return!1}if(i=s[t],!i)return!1;var d=typeof i=="function";switch(n=arguments.length,n){case 1:Ja(i,d,this);break;case 2:Qa(i,d,this,arguments[1]);break;case 3:eo(i,d,this,arguments[1],arguments[2]);break;case 4:to(i,d,this,arguments[1],arguments[2],arguments[3]);break;default:for(a=new Array(n-1),o=1;o<n;o++)a[o-1]=arguments[o];ro(i,d,this,a)}return!0};function fi(e,t,r,i){var n,a,o;if(typeof r!="function")throw new TypeError('"listener" argument must be a function');if(a=e._events,a?(a.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),a=e._events),o=a[t]):(a=e._events=new _e,e._eventsCount=0),!o)o=a[t]=r,++e._eventsCount;else if(typeof o=="function"?o=a[t]=i?[r,o]:[o,r]:i?o.unshift(r):o.push(r),!o.warned&&(n=si(e),n&&n>0&&o.length>n)){o.warned=!0;var s=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit");s.name="MaxListenersExceededWarning",s.emitter=e,s.type=t,s.count=o.length,io(s)}return e}function io(e){typeof console.warn=="function"?console.warn(e):console.log(e)}b.prototype.addListener=function(t,r){return fi(this,t,r,!1)},b.prototype.on=b.prototype.addListener,b.prototype.prependListener=function(t,r){return fi(this,t,r,!0)};function li(e,t,r){var i=!1;function n(){e.removeListener(t,n),i||(i=!0,r.apply(e,arguments))}return n.listener=r,n}b.prototype.once=function(t,r){if(typeof r!="function")throw new TypeError('"listener" argument must be a function');return this.on(t,li(this,t,r)),this},b.prototype.prependOnceListener=function(t,r){if(typeof r!="function")throw new TypeError('"listener" argument must be a function');return this.prependListener(t,li(this,t,r)),this},b.prototype.removeListener=function(t,r){var i,n,a,o,s;if(typeof r!="function")throw new TypeError('"listener" argument must be a function');if(n=this._events,!n)return this;if(i=n[t],!i)return this;if(i===r||i.listener&&i.listener===r)--this._eventsCount===0?this._events=new _e:(delete n[t],n.removeListener&&this.emit("removeListener",t,i.listener||r));else if(typeof i!="function"){for(a=-1,o=i.length;o-- >0;)if(i[o]===r||i[o].listener&&i[o].listener===r){s=i[o].listener,a=o;break}if(a<0)return this;if(i.length===1){if(i[0]=void 0,--this._eventsCount===0)return this._events=new _e,this;delete n[t]}else no(i,a);n.removeListener&&this.emit("removeListener",t,s||r)}return this},b.prototype.off=function(e,t){return this.removeListener(e,t)},b.prototype.removeAllListeners=function(t){var r,i;if(i=this._events,!i)return this;if(!i.removeListener)return arguments.length===0?(this._events=new _e,this._eventsCount=0):i[t]&&(--this._eventsCount===0?this._events=new _e:delete i[t]),this;if(arguments.length===0){for(var n=Object.keys(i),a=0,o;a<n.length;++a)o=n[a],o!=="removeListener"&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=new _e,this._eventsCount=0,this}if(r=i[t],typeof r=="function")this.removeListener(t,r);else if(r)do this.removeListener(t,r[r.length-1]);while(r[0]);return this},b.prototype.listeners=function(t){var r,i,n=this._events;return n?(r=n[t],r?typeof r=="function"?i=[r.listener||r]:i=ao(r):i=[]):i=[],i},b.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):hi.call(e,t)},b.prototype.listenerCount=hi;function hi(e){var t=this._events;if(t){var r=t[e];if(typeof r=="function")return 1;if(r)return r.length}return 0}b.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};function no(e,t){for(var r=t,i=r+1,n=e.length;i<n;r+=1,i+=1)e[r]=e[i];e.pop()}function at(e,t){for(var r=new Array(t);t--;)r[t]=e[t];return r}function ao(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}class Ye extends Error{constructor({verbose:t,bucket:r,message:i,...n}){t&&(i=i+`
2
+ (function(R,ii,I,de,pe,St,ja,ir){"use strict";function ni(e,t){for(var r=0,i=e.length-1;i>=0;i--){var n=e[i];n==="."?e.splice(i,1):n===".."?(e.splice(i,1),r++):r&&(e.splice(i,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}var $a=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,nr=function(e){return $a.exec(e).slice(1)};function ar(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var i=r>=0?arguments[r]:"/";if(typeof i!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!i)continue;e=i+"/"+e,t=i.charAt(0)==="/"}return e=ni(or(e.split("/"),function(n){return!!n}),!t).join("/"),(t?"/":"")+e||"."}function ai(e){var t=oi(e),r=Va(e,-1)==="/";return e=ni(or(e.split("/"),function(i){return!!i}),!t).join("/"),!e&&!t&&(e="."),e&&r&&(e+="/"),(t?"/":"")+e}function oi(e){return e.charAt(0)==="/"}function Y(){var e=Array.prototype.slice.call(arguments,0);return ai(or(e,function(t,r){if(typeof t!="string")throw new TypeError("Arguments to path.join must be strings");return t}).join("/"))}function Ha(e,t){e=ar(e).substr(1),t=ar(t).substr(1);function r(f){for(var l=0;l<f.length&&f[l]==="";l++);for(var d=f.length-1;d>=0&&f[d]==="";d--);return l>d?[]:f.slice(l,d-l+1)}for(var i=r(e.split("/")),n=r(t.split("/")),a=Math.min(i.length,n.length),o=a,s=0;s<a;s++)if(i[s]!==n[s]){o=s;break}for(var h=[],s=o;s<i.length;s++)h.push("..");return h=h.concat(n.slice(o)),h.join("/")}var Ka="/",Wa=":";function Ya(e){var t=nr(e),r=t[0],i=t[1];return!r&&!i?".":(i&&(i=i.substr(0,i.length-1)),r+i)}function qa(e,t){var r=nr(e)[2];return t&&r.substr(-1*t.length)===t&&(r=r.substr(0,r.length-t.length)),r}function Ga(e){return nr(e)[3]}var ae={extname:Ga,basename:qa,dirname:Ya,sep:Ka,delimiter:Wa,relative:Ha,join:Y,isAbsolute:oi,normalize:ai,resolve:ar};function or(e,t){if(e.filter)return e.filter(t);for(var r=[],i=0;i<e.length;i++)t(e[i],i,e)&&r.push(e[i]);return r}var Va="ab".substr(-1)==="b"?function(e,t,r){return e.substr(t,r)}:function(e,t,r){return t<0&&(t=e.length+t),e.substr(t,r)},Xa;function _e(){}_e.prototype=Object.create(null);function m(){m.init.call(this)}m.EventEmitter=m,m.usingDomains=!1,m.prototype.domain=void 0,m.prototype._events=void 0,m.prototype._maxListeners=void 0,m.defaultMaxListeners=10,m.init=function(){this.domain=null,m.usingDomains&&Xa.active,(!this._events||this._events===Object.getPrototypeOf(this)._events)&&(this._events=new _e,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},m.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||isNaN(t))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=t,this};function si(e){return e._maxListeners===void 0?m.defaultMaxListeners:e._maxListeners}m.prototype.getMaxListeners=function(){return si(this)};function Ja(e,t,r){if(t)e.call(r);else for(var i=e.length,n=at(e,i),a=0;a<i;++a)n[a].call(r)}function Qa(e,t,r,i){if(t)e.call(r,i);else for(var n=e.length,a=at(e,n),o=0;o<n;++o)a[o].call(r,i)}function eo(e,t,r,i,n){if(t)e.call(r,i,n);else for(var a=e.length,o=at(e,a),s=0;s<a;++s)o[s].call(r,i,n)}function to(e,t,r,i,n,a){if(t)e.call(r,i,n,a);else for(var o=e.length,s=at(e,o),h=0;h<o;++h)s[h].call(r,i,n,a)}function ro(e,t,r,i){if(t)e.apply(r,i);else for(var n=e.length,a=at(e,n),o=0;o<n;++o)a[o].apply(r,i)}m.prototype.emit=function(t){var r,i,n,a,o,s,h,f=t==="error";if(s=this._events,s)f=f&&s.error==null;else if(!f)return!1;if(h=this.domain,f){if(r=arguments[1],h)r||(r=new Error('Uncaught, unspecified "error" event')),r.domainEmitter=this,r.domain=h,r.domainThrown=!1,h.emit("error",r);else{if(r instanceof Error)throw r;var l=new Error('Uncaught, unspecified "error" event. ('+r+")");throw l.context=r,l}return!1}if(i=s[t],!i)return!1;var d=typeof i=="function";switch(n=arguments.length,n){case 1:Ja(i,d,this);break;case 2:Qa(i,d,this,arguments[1]);break;case 3:eo(i,d,this,arguments[1],arguments[2]);break;case 4:to(i,d,this,arguments[1],arguments[2],arguments[3]);break;default:for(a=new Array(n-1),o=1;o<n;o++)a[o-1]=arguments[o];ro(i,d,this,a)}return!0};function fi(e,t,r,i){var n,a,o;if(typeof r!="function")throw new TypeError('"listener" argument must be a function');if(a=e._events,a?(a.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),a=e._events),o=a[t]):(a=e._events=new _e,e._eventsCount=0),!o)o=a[t]=r,++e._eventsCount;else if(typeof o=="function"?o=a[t]=i?[r,o]:[o,r]:i?o.unshift(r):o.push(r),!o.warned&&(n=si(e),n&&n>0&&o.length>n)){o.warned=!0;var s=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit");s.name="MaxListenersExceededWarning",s.emitter=e,s.type=t,s.count=o.length,io(s)}return e}function io(e){typeof console.warn=="function"?console.warn(e):console.log(e)}m.prototype.addListener=function(t,r){return fi(this,t,r,!1)},m.prototype.on=m.prototype.addListener,m.prototype.prependListener=function(t,r){return fi(this,t,r,!0)};function li(e,t,r){var i=!1;function n(){e.removeListener(t,n),i||(i=!0,r.apply(e,arguments))}return n.listener=r,n}m.prototype.once=function(t,r){if(typeof r!="function")throw new TypeError('"listener" argument must be a function');return this.on(t,li(this,t,r)),this},m.prototype.prependOnceListener=function(t,r){if(typeof r!="function")throw new TypeError('"listener" argument must be a function');return this.prependListener(t,li(this,t,r)),this},m.prototype.removeListener=function(t,r){var i,n,a,o,s;if(typeof r!="function")throw new TypeError('"listener" argument must be a function');if(n=this._events,!n)return this;if(i=n[t],!i)return this;if(i===r||i.listener&&i.listener===r)--this._eventsCount===0?this._events=new _e:(delete n[t],n.removeListener&&this.emit("removeListener",t,i.listener||r));else if(typeof i!="function"){for(a=-1,o=i.length;o-- >0;)if(i[o]===r||i[o].listener&&i[o].listener===r){s=i[o].listener,a=o;break}if(a<0)return this;if(i.length===1){if(i[0]=void 0,--this._eventsCount===0)return this._events=new _e,this;delete n[t]}else no(i,a);n.removeListener&&this.emit("removeListener",t,s||r)}return this},m.prototype.off=function(e,t){return this.removeListener(e,t)},m.prototype.removeAllListeners=function(t){var r,i;if(i=this._events,!i)return this;if(!i.removeListener)return arguments.length===0?(this._events=new _e,this._eventsCount=0):i[t]&&(--this._eventsCount===0?this._events=new _e:delete i[t]),this;if(arguments.length===0){for(var n=Object.keys(i),a=0,o;a<n.length;++a)o=n[a],o!=="removeListener"&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=new _e,this._eventsCount=0,this}if(r=i[t],typeof r=="function")this.removeListener(t,r);else if(r)do this.removeListener(t,r[r.length-1]);while(r[0]);return this},m.prototype.listeners=function(t){var r,i,n=this._events;return n?(r=n[t],r?typeof r=="function"?i=[r.listener||r]:i=ao(r):i=[]):i=[],i},m.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):hi.call(e,t)},m.prototype.listenerCount=hi;function hi(e){var t=this._events;if(t){var r=t[e];if(typeof r=="function")return 1;if(r)return r.length}return 0}m.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};function no(e,t){for(var r=t,i=r+1,n=e.length;i<n;r+=1,i+=1)e[r]=e[i];e.pop()}function at(e,t){for(var r=new Array(t);t--;)r[t]=e[t];return r}function ao(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}class Ye extends Error{constructor({verbose:t,bucket:r,message:i,...n}){t&&(i=i+`
3
3
 
4
4
  Verbose:
5
5
 
6
- ${JSON.stringify(n,null,2)}`),super(i),typeof Error.captureStackTrace=="function"?Error.captureStackTrace(this,this.constructor):this.stack=new Error(i).stack,super.name=this.constructor.name,this.name=this.constructor.name,this.bucket=r,this.thrownAt=new Date}toJson(){return{...this}}toString(){return`${this.name} | ${this.message}`}}class ci extends Ye{constructor({bucket:t,...r}){super({...r,bucket:t,message:`Bucket does not exists [bucket:${t}]`})}}class sr extends Ye{constructor({bucket:t,key:r,...i}){super({...i,bucket:t,message:`Key does not exists [bucket:${t}/${r}]`}),this.key=r}}class ui extends sr{}class di extends Ye{constructor({bucket:t,...r}){super({...r,bucket:t,message:`Missing metadata for bucket [bucket:${t}]`})}}class Rt extends Ye{constructor({bucket:t,resourceName:r,attributes:i,validation:n}){super({bucket:t,message:`This item is not valid. Resource=${r} [bucket:${t}].
7
- ${JSON.stringify(n,null,2)}`}),this.resourceName=r,this.attributes=i,this.validation=n}}class pi extends Ye{}const _i={NotFound:ui,NoSuchKey:sr,UnknownError:pi,NoSuchBucket:ci,MissingMetadata:di,InvalidResourceItem:Rt},wi="us-east-1",gi="https://s3.us-east-1.amazonaws.com";class vi{constructor(t){let r;try{r=new URL(t)}catch{throw new Error("Invalid connection string: "+t)}this.region=wi,r.protocol==="s3:"?this.defineS3(r):this.defineMinio(r);for(const[i,n]of r.searchParams.entries())this[i]=n}defineS3(t){if(this.bucket=t.hostname,this.accessKeyId=t.username,this.secretAccessKey=t.password,this.endpoint=gi,["/","",null].includes(t.pathname))this.keyPrefix="";else{let[,...r]=t.pathname.split("/");this.keyPrefix=[...r||[]].join("/")}}defineMinio(t){if(this.forcePathStyle=!0,this.endpoint=t.origin,this.accessKeyId=t.username,this.secretAccessKey=t.password,["/","",null].includes(t.pathname))this.bucket="s3db",this.keyPrefix="";else{let[,r,...i]=t.pathname.split("/");this.bucket=r,this.keyPrefix=[...i||[]].join("/")}}}class mi extends b{constructor({verbose:t=!1,id:r=null,AwsS3Client:i,connectionString:n,parallelism:a=10}){super(),this.verbose=t,this.id=r??ii.nanoid(7),this.parallelism=a,this.config=new vi(n),this.client=i||this.createClient()}createClient(){let t={region:this.config.region,endpoint:this.config.endpoint};return this.config.forcePathStyle&&(t.forcePathStyle=!0),this.config.accessKeyId&&(t.credentials={accessKeyId:this.config.accessKeyId,secretAccessKey:this.config.secretAccessKey}),new pe.S3Client(t)}async sendCommand(t){this.emit("command.request",t.constructor.name,t.input);const r=console.warn;try{console.warn=n=>{n.includes("Stream of unknown length")||r(n)}}catch(n){console.error(n)}const i=await this.client.send(t);this.emit("command.response",t.constructor.name,i,t.input);try{console.warn=r}catch(n){console.error(n)}return i}errorProxy(t,r){this.verbose&&(r.bucket=this.config.bucket,r.config=this.config,r.verbose=this.verbose),t.data=r;const i=_i[t.name];return i?new i(r):t}async putObject({key:t,metadata:r,contentType:i,body:n,contentEncoding:a}){const o={Bucket:this.config.bucket,Key:this.config.keyPrefix?ae.join(this.config.keyPrefix,t):t,Metadata:{...r},Body:n||"",ContentType:i,ContentEncoding:a};try{const s=await this.sendCommand(new pe.PutObjectCommand(o));return this.emit("putObject",s,o),s}catch(s){throw this.errorProxy(s,{key:t,command:o})}}async getObject(t){const r={Bucket:this.config.bucket,Key:ae.join(this.config.keyPrefix,t)};try{const i=await this.sendCommand(new pe.GetObjectCommand(r));return this.emit("getObject",i,r),i}catch(i){throw this.errorProxy(i,{key:t,command:r})}}async headObject(t){const r={Bucket:this.config.bucket,Key:this.config.keyPrefix?ae.join(this.config.keyPrefix,t):t};try{const i=await this.client.send(new pe.HeadObjectCommand(r));return this.emit("headObject",i,r),i}catch(i){throw this.errorProxy(i,{key:t,command:r})}}async copyObject({from:t,to:r}){const i={Bucket:this.config.bucket,Key:this.config.keyPrefix?ae.join(this.config.keyPrefix,r):r,CopySource:ae.join(this.config.bucket,this.config.keyPrefix?ae.join(this.config.keyPrefix,t):t)};try{const n=await this.client.send(new pe.CopyObjectCommand(i));return this.emit("copyObject",n,i),n}catch(n){throw this.errorProxy(n,{from:t,to:r,command:i})}}async exists(t){try{return await this.headObject(t),!0}catch(r){if(r.name==="NoSuchKey")return!1;if(r.name==="NotFound")return!1;throw r}}async deleteObject(t){const r={Bucket:this.config.bucket,Key:this.config.keyPrefix?ae.join(this.config.keyPrefix,t):t};try{const i=await this.sendCommand(new pe.DeleteObjectCommand(r));return this.emit("deleteObject",i,r),i}catch(i){throw this.errorProxy(i,{key:t,command:r})}}async deleteObjects(t){const r=I.chunk(t,1e3),{results:i,errors:n}=await de.PromisePool.for(r).withConcurrency(this.parallelism).process(async o=>{const s={Bucket:this.config.bucket,Delete:{Objects:o.map(h=>({Key:this.config.keyPrefix?ae.join(this.config.keyPrefix,h):h}))}};try{return await this.sendCommand(new pe.DeleteObjectsCommand(s))}catch(h){throw this.errorProxy(h,{key,command:s})}}),a={deleted:i,notFound:n};return this.emit("deleteObjects",a,t),a}async deleteAll({prefix:t}={}){const r=await this.getAllKeys({prefix:t}),i=await this.deleteObjects(r);return this.emit("deleteAll",{prefix:t,report:i}),i}async moveObject({from:t,to:r}){try{return await this.copyObject({from:t,to:r}),await this.deleteObject(t),!0}catch(i){throw this.errorProxy(i,{from:t,to:r,command:options})}}async listObjects({prefix:t,maxKeys:r=1e3,continuationToken:i}={}){const n={Bucket:this.config.bucket,MaxKeys:r,ContinuationToken:i,Prefix:this.config.keyPrefix?ae.join(this.config.keyPrefix,t||""):t||""};try{const a=await this.sendCommand(new pe.ListObjectsV2Command(n));return this.emit("listObjects",a,n),a}catch(a){throw this.errorProxy(a,{command:n})}}async count({prefix:t}={}){let r=0,i=!0,n;for(;i;){const a={prefix:t,continuationToken:n},o=await this.listObjects(a);r+=o.KeyCount||0,i=o.IsTruncated||!1,n=o.NextContinuationToken}return this.emit("count",r,{prefix:t}),r}async getAllKeys({prefix:t}={}){let r=[],i=!0,n;for(;i;){const a={prefix:t,continuationToken:n},o=await this.listObjects(a);o.Contents&&(r=r.concat(o.Contents.map(s=>s.Key))),i=o.IsTruncated||!1,n=o.NextContinuationToken}return this.config.keyPrefix&&(r=r.map(a=>a.replace(this.config.keyPrefix,"")).map(a=>a.startsWith("/")?a.replace("/",""):a)),this.emit("getAllKeys",r,{prefix:t}),r}async getContinuationTokenAfterOffset(t={}){const{prefix:r,offset:i=1e3}=t;if(i===0)return null;let n=!0,a,o=0;for(;n;){let s=i<1e3?i:i-o>1e3?1e3:i-o;const h={prefix:r,maxKeys:s,continuationToken:a},f=await this.listObjects(h);if(f.Contents&&(o+=f.Contents.length),n=f.IsTruncated||!1,a=f.NextContinuationToken,o>=i)break}return this.emit("getContinuationTokenAfterOffset",a,t),a}async getKeysPage(t={}){const{prefix:r,offset:i=0,amount:n=100}=t;let a=[],o=!0,s;for(i>0&&(s=await this.getContinuationTokenAfterOffset({prefix:r,offset:i}));o;){const h={prefix:r,continuationToken:s},f=await this.listObjects(h);if(f.Contents&&(a=a.concat(f.Contents.map(l=>l.Key))),o=f.IsTruncated||!1,s=f.NextContinuationToken,a.length>n){a=a.splice(0,n);break}}return this.config.keyPrefix&&(a=a.map(h=>h.replace(this.config.keyPrefix,"")).map(h=>h.startsWith("/")?h.replace("/",""):h)),this.emit("getKeysPage",a,t),a}async moveAllObjects({prefixFrom:t,prefixTo:r}){const i=await this.getAllKeys({prefix:t}),{results:n,errors:a}=await de.PromisePool.for(i).withConcurrency(this.parallelism).process(async o=>{const s=o.replace(t,r);try{return await this.moveObject({from:o,to:s}),s}catch(h){throw this.errorProxy(h,{from:o,to:s})}});if(this.emit("moveAllObjects",{results:n,errors:a},{prefixFrom:t,prefixTo:r}),a.length>0)throw console.log({errors:a}),new Error("Some objects could not be moved");return n}}async function At(){return I.isObject(process)?(await Promise.resolve().then(function(){return mh})).webcrypto:window.crypto}async function bi(e){const t=await At(),i=new TextEncoder().encode(e),n=await t.subtle.digest("SHA-256",i);return Array.from(new Uint8Array(n)).map(s=>s.toString(16).padStart(2,"0")).join("")}async function fr(e,t){const r=await At(),i=r.getRandomValues(new Uint8Array(16)),n=await xi(t,i),a=r.getRandomValues(new Uint8Array(12)),s=new TextEncoder().encode(e),h=await r.subtle.encrypt({name:"AES-GCM",iv:a},n,s),f=new Uint8Array(i.length+a.length+h.byteLength);return f.set(i),f.set(a,i.length),f.set(new Uint8Array(h),i.length+a.length),oo(f)}async function yi(e,t){const r=await At(),i=so(e),n=i.slice(0,16),a=i.slice(16,28),o=i.slice(28),s=await xi(t,n),h=await r.subtle.decrypt({name:"AES-GCM",iv:a},s,o);return new TextDecoder().decode(h)}async function xi(e,t){const r=await At(),n=new TextEncoder().encode(e),a=await r.subtle.importKey("raw",n,{name:"PBKDF2"},!1,["deriveKey"]);return await r.subtle.deriveKey({name:"PBKDF2",salt:t,iterations:1e5,hash:"SHA-256"},a,{name:"AES-GCM",length:256},!0,["encrypt","decrypt"])}function oo(e){if(I.isObject(process))return Buffer.from(e).toString("base64");{const t=String.fromCharCode.apply(null,new Uint8Array(e));return window.btoa(t)}}function so(e){if(I.isObject(process))return new Uint8Array(Buffer.from(e,"base64"));{const t=window.atob(e),r=t.length,i=new Uint8Array(r);for(let n=0;n<r;n++)i[n]=t.charCodeAt(n);return i}}async function lr(e,t,r){if(!this.passphrase)return t.push({actual:e,type:"encryptionKeyMissing"}),e;try{return await fr(String(e),this.passphrase)}catch(i){t.push({actual:e,type:"encryptionProblem",error:i})}return e}class Ei extends ja{constructor({options:t,passphrase:r,autoEncrypt:i=!0}={}){super(I.merge({},{useNewCustomCheckerFunction:!0,messages:{encryptionKeyMissing:"Missing configuration for secrets encryption.",encryptionProblem:"Problem encrypting secret. Actual: {actual}. Error: {error}"},defaults:{string:{trim:!0},object:{strict:"remove"}}},t)),this.passphrase=r,this.autoEncrypt=i,this.alias("secret",{type:"string",custom:this.autoEncrypt?lr:void 0,messages:{string:"The '{field}' field must be a string.",stringMin:"This secret '{field}' field length must be at least {expected} long."}}),this.alias("secretAny",{type:"any",custom:this.autoEncrypt?lr:void 0}),this.alias("secretNumber",{type:"number",custom:this.autoEncrypt?lr:void 0})}}const ki=new Proxy(Ei,{instance:null,construct(e,t){return this.instance||(this.instance=new e(...t)),this.instance}}),fo={trim:e=>e.trim(),encrypt:(e,{passphrase:t})=>fr(e,t),decrypt:(e,{passphrase:t})=>yi(e,t),toString:e=>String(e),fromArray:(e,{separator:t})=>(e||[]).join(t),toArray:(e,{separator:t})=>(e||"").split(t),toNumber:e=>I.isString(e)?e.includes(".")?parseFloat(e):parseInt(e):e,toJSON:e=>JSON.stringify(e),fromJSON:e=>JSON.parse(e)};class hr{constructor(t){const{map:r,name:i,attributes:n,passphrase:a,version:o=1,options:s={}}=t;if(this.name=i,this.version=o,this.attributes=n,this.passphrase=a??"secret",this.options=I.merge({},this.defaultOptions(),s),this.validator=new ki({autoEncrypt:!1}).compile(I.merge({$$async:!0},I.cloneDeep(this.attributes))),this.options.generateAutoHooks&&this.generateAutoHooks(),!I.isEmpty(r))this.map=r,this.reversedMap=I.invert(r);else{const h=St.flatten(this.attributes,{safe:!0});this.reversedMap={...Object.keys(h).filter(f=>!f.includes("$$"))},this.map=I.invert(this.reversedMap)}}defaultOptions(){return{autoEncrypt:!0,autoDecrypt:!0,arraySeparator:"|",generateAutoHooks:!0,hooks:{beforeMap:{},afterMap:{},beforeUnmap:{},afterUnmap:{}}}}addHook(t,r,i){this.options.hooks[t][r]||(this.options.hooks[t][r]=[]),this.options.hooks[t][r]=I.uniq([...this.options.hooks[t][r],i])}generateAutoHooks(){const t=St.flatten(I.cloneDeep(this.attributes),{safe:!0});for(const[r,i]of Object.entries(t))i.includes("array")?(this.addHook("beforeMap",r,"fromArray"),this.addHook("afterUnmap",r,"toArray")):(i.includes("secret")&&(this.options.autoEncrypt&&this.addHook("beforeMap",r,"encrypt"),this.options.autoDecrypt&&this.addHook("afterUnmap",r,"decrypt")),i.includes("number")&&(this.addHook("beforeMap",r,"toString"),this.addHook("afterUnmap",r,"toNumber")),i.includes("boolean")&&(this.addHook("beforeMap",r,"toJson"),this.addHook("afterUnmap",r,"fromJson")))}static import(t){let{map:r,name:i,options:n,version:a,attributes:o}=I.isString(t)?JSON.parse(t):t;return new hr({map:r,name:i,options:n,version:a,attributes:o})}export(){const t={version:this.version,name:this.name,options:this.options,attributes:I.cloneDeep(this.attributes),map:this.map};for(const[r,i]of Object.entries(this.attributes))t.attributes[r]=JSON.stringify(i);return t}async applyHooksActions(t,r){for(const[i,n]of Object.entries(this.options.hooks[r]))for(const a of n){const o=I.get(t,i);o&&I.set(t,i,await fo[a](o,{passphrase:this.passphrase,separator:this.options.arraySeparator}))}}async validate(t,{mutateOriginal:r=!1}={}){let i=r?t:I.cloneDeep(t);return await this.validator(i)}async mapper(t){const r=St.flatten(I.cloneDeep(t),{safe:!0});await this.applyHooksActions(r,"beforeMap");const i={_v:this.version+""};for(const[n,a]of Object.entries(r))i[this.map[n]]=a;return await this.applyHooksActions(i,"afterMap"),i}async unmapper(t){const r=I.cloneDeep(t);delete r._v,await this.applyHooksActions(r,"beforeUnmap");const i={};for(const[n,a]of Object.entries(r))i[this.reversedMap[n]]=a;return await this.applyHooksActions(i,"afterUnmap"),St.unflatten(i)}}class Si extends b{constructor({resource:t}){super(),this.resource=t,this.client=t.client,this.stream=new ir.ReadableStream({highWaterMark:this.client.parallelism*3,start:this._start.bind(this),pull:this._pull.bind(this),cancel:this._cancel.bind(this)})}build(){return this.stream.getReader()}async _start(t){this.controller=t,this.continuationToken=null,this.closeNextIteration=!1}async _pull(t){if(this.closeNextIteration){t.close();return}const r=await this.client.listObjects({prefix:`resource=${this.resource.name}`,continuationToken:this.continuationToken}),i=r?.Contents.map(n=>n.Key).map(n=>n.replace(this.client.config.keyPrefix,"")).map(n=>n.startsWith("/")?n.replace("/",""):n).map(n=>n.replace(`resource=${this.resource.name}/id=`,""));this.continuationToken=r.NextContinuationToken,this.enqueue(i),r.IsTruncated||(this.closeNextIteration=!0)}enqueue(t){t.forEach(r=>{this.controller.enqueue(r),this.emit("id",r)})}_cancel(t){console.warn("Stream cancelled",t)}}class Ri extends Si{enqueue(t){this.controller.enqueue(t),this.emit("page",t)}}class Ai extends b{constructor({resource:t}){super(),this.resource=t,this.client=t.client,this.input=new Ri({resource:this.resource}),this.output=new ir.TransformStream({transform:this._transform.bind(this)},{highWaterMark:this.client.parallelism*2},{highWaterMark:1}),this.stream=this.input.stream.pipeThrough(this.output)}build(){return this.stream.getReader()}async _transform(t,r){await de.PromisePool.for(t).withConcurrency(this.client.parallelism).process(async i=>{const n=await this.resource.get(i);return r.enqueue(n),n})}}class Ti extends b{constructor({resource:t}){super(),this.resource=t,this.client=t.client,this.stream=new ir.WritableStream({start:this._start.bind(this),write:this._write.bind(this),close:this._close.bind(this),abort:this._abort.bind(this)})}build(){return this.stream.getWriter()}async _start(t){this.controller=t}async _write(t,r){const i=this.resource;await de.PromisePool.for([].concat(t)).withConcurrency(this.client.parallelism).process(async n=>{await i.insert(n)})}async _close(t){}async _abort(t){console.error("Stream aborted:",t)}}function cr(e){return new Promise((t,r)=>{const i=[];e.on("data",n=>i.push(n)),e.on("error",r),e.on("end",()=>t(Buffer.concat(i).toString("utf-8")))})}class Li extends b{constructor({name:t,client:r,options:i={},attributes:n={},parallelism:a=10,passphrase:o="secret",observers:s=[]}){super(),this.name=t,this.client=r,this.options=i,this.observers=s,this.parallelism=a,this.passphrase=o??"secret",this.schema=new hr({name:t,attributes:n,passphrase:o})}export(){return this.schema.export()}async validate(t){const r={original:I.cloneDeep(t),isValid:!1,errors:[]},i=await this.schema.validate(t,{mutateOriginal:!0});return i===!0?r.isValid=!0:r.errors=i,r.data=t,r}async insert({id:t,...r}){const{errors:i,isValid:n,data:a}=await this.validate(r);if(!n)throw new Rt({bucket:this.client.config.bucket,resourceName:this.name,attributes:r,validation:i});!t&&t!==0&&(t=ii.nanoid());const o=await this.schema.mapper(a);await this.client.putObject({metadata:o,key:Y(`resource=${this.name}`,`id=${t}`)});const s=I.merge({id:t},a);return this.emit("insert",s),s}async get(t){const r=await this.client.headObject(Y(`resource=${this.name}`,`id=${t}`));let i=await this.schema.unmapper(r.Metadata);return i.id=t,i._length=r.ContentLength,i._createdAt=r.LastModified,r.Expiration&&(i._expiresAt=r.Expiration),this.emit("get",i),i}async exists(t){try{return await this.client.headObject(Y(`resource=${this.name}`,`id=${t}`)),!0}catch{return!1}}async update(t,r){const i=await this.get(t),n=I.merge(i,r);delete n.id;const{isValid:a,errors:o,data:s}=await this.validate(n);if(!a)throw new Rt({bucket:this.client.bucket,resourceName:this.name,attributes:r,validation:o});return await this.client.putObject({key:Y(`resource=${this.name}`,`id=${t}`),body:"",metadata:await this.schema.mapper(s)}),s.id=t,this.emit("update",r,s),s}async delete(t){const r=Y(`resource=${this.name}`,`id=${t}`),i=await this.client.deleteObject(r);return this.emit("delete",t),i}async count(){const t=await this.client.count({prefix:`resource=${this.name}`});return this.emit("count",t),t}async insertMany(t){const{results:r}=await de.PromisePool.for(t).withConcurrency(this.parallelism).handleError(async(i,n)=>{this.emit("error",i,n),this.observers.map(a=>a.emit("error",this.name,i,n))}).process(async i=>await this.insert(i));return this.emit("insertMany",t.length),r}async deleteMany(t){const r=I.chunk(t.map(n=>Y(`resource=${this.name}`,`id=${n}`)),1e3),{results:i}=await de.PromisePool.for(r).withConcurrency(this.parallelism).handleError(async(n,a)=>{this.emit("error",n,a),this.observers.map(o=>o.emit("error",this.name,n,a))}).process(async n=>{const a=await this.client.deleteObjects(n);return n.forEach(o=>{const s=o.split("=").pop();this.emit("deleted",s),this.observers.map(h=>h.emit("deleted",this.name,s))}),a});return this.emit("deleteMany",t.length),i}async deleteAll(){const t=await this.listIds();this.emit("deleteAll",t.length),await this.deleteMany(t)}async listIds(){const r=(await this.client.getAllKeys({prefix:`resource=${this.name}`})).map(i=>i.replace(`resource=${this.name}/id=`,""));return this.emit("listIds",r.length),r}async getMany(t){const{results:r}=await de.PromisePool.for(t).withConcurrency(this.client.parallelism).process(async i=>{this.emit("id",i);const n=await this.get(i);return this.emit("data",n),n});return this.emit("getMany",t.length),r}async getAll(){let t=await this.listIds();if(t.length===0)return[];const{results:r}=await de.PromisePool.for(t).withConcurrency(this.client.parallelism).process(async i=>await this.get(i));return this.emit("getAll",r.length),r}async page({offset:t=0,size:r=100}){const n=(await this.client.getKeysPage({offset:t,amount:r,prefix:`resource=${this.name}`})).map(o=>o.replace(`resource=${this.name}/id=`,""));return await this.getMany(n)}readable(){return new Ai({resource:this}).build()}writable(){return new Ti({resource:this}).build()}}class Ci extends b{constructor(t){super(),this.version="1",this.resources={},this.options=t,this.verbose=t.verbose||!1,this.parallelism=parseInt(t.parallelism+"")||10,this.plugins=t.plugins||[],this.cache=t.cache,this.passphrase=t.passphrase||"secret",this.client=t.client||new mi({verbose:this.verbose,parallelism:this.parallelism,connectionString:t.connectionString}),this.bucket=this.client.bucket,this.keyPrefix=this.client.keyPrefix}async connect(){await this.startPlugins();let t=null;if(await this.client.exists("s3db.json")){const r=await this.client.getObject("s3db.json");t=JSON.parse(await cr(r?.Body)),t=this.unserializeMetadata(t)}else t=this.blankMetadataStructure(),await this.uploadMetadataFile();for(const r of Object.entries(t.resources)){const[i,n]=r;this.resources[i]=new Li({name:i,client:this.client,options:n.options,attributes:n.schema,parallelism:this.parallelism,passphrase:this.passphrase,observers:[this]})}this.emit("connected",new Date)}async startPlugins(){const t=this;if(!I.isEmpty(this.plugins)){const r=this.plugins.map(a=>I.isFunction(a)?new a(this):a),i=r.map(async a=>{a.beforeSetup&&await a.beforeSetup(),await a.setup(t),a.afterSetup&&await a.afterSetup()});await Promise.all(i);const n=r.map(async a=>{a.beforeStart&&await a.beforeStart(),await a.start(),a.afterStart&&await a.afterStart()});await Promise.all(n)}}unserializeMetadata(t){const r={...t};if(I.isEmpty(r.resources))return r;for(const[i,n]of Object.entries(r.resources))for(const[a,o]of Object.entries(n.attributes))r.resources[i].attributes[a]=JSON.parse(o);return r}async uploadMetadataFile(){const t={version:this.version,resources:Object.entries(this.resources).reduce((r,i)=>{const[n,a]=i;return r[n]=a.export(),r},{})};await this.client.putObject({key:"s3db.json",contentType:"application/json",body:JSON.stringify(t,null,2)})}blankMetadataStructure(){return{version:"1",resources:{}}}async createResource({name:t,attributes:r,options:i={}}){const n=new Li({name:t,attributes:r,observers:[this],client:this.client,options:{autoDecrypt:!0,cache:this.cache,...i}});return this.resources[t]=n,await this.uploadMetadataFile(),this.emit("s3db.resourceCreated",t),n}resource(t){return this.resources[t]?this.resources[t]:Promise.reject(`resource ${t} does not exist`)}}class lo extends Ci{}class ur extends b{async _set(t,r){}async _get(t){}async _del(t){}async _clear(t){}async set(t,r){return await this._set(t,r),this.emit("set",r),r}async get(t){const r=await this._get(t);return this.emit("get",r),r}async del(t){const r=await this._del(t);return this.emit("delete",r),r}async clear(){const t=await this._clear();return this.emit("clear",t),t}}class ho extends ur{constructor(){super(),this.cache={}}async _set(t,r){return this.cache[t]=r,r}async _get(t){return this.cache[t]}async _del(t){return delete this.cache[t],!0}async _clear(){return this.cache={},!0}}var qe=typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{},te=[],G=[],co=typeof Uint8Array<"u"?Uint8Array:Array,dr=!1;function Oi(){dr=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0,r=e.length;t<r;++t)te[t]=e[t],G[e.charCodeAt(t)]=t;G[45]=62,G[95]=63}function uo(e){dr||Oi();var t,r,i,n,a,o,s=e.length;if(s%4>0)throw new Error("Invalid string. Length must be a multiple of 4");a=e[s-2]==="="?2:e[s-1]==="="?1:0,o=new co(s*3/4-a),i=a>0?s-4:s;var h=0;for(t=0,r=0;t<i;t+=4,r+=3)n=G[e.charCodeAt(t)]<<18|G[e.charCodeAt(t+1)]<<12|G[e.charCodeAt(t+2)]<<6|G[e.charCodeAt(t+3)],o[h++]=n>>16&255,o[h++]=n>>8&255,o[h++]=n&255;return a===2?(n=G[e.charCodeAt(t)]<<2|G[e.charCodeAt(t+1)]>>4,o[h++]=n&255):a===1&&(n=G[e.charCodeAt(t)]<<10|G[e.charCodeAt(t+1)]<<4|G[e.charCodeAt(t+2)]>>2,o[h++]=n>>8&255,o[h++]=n&255),o}function po(e){return te[e>>18&63]+te[e>>12&63]+te[e>>6&63]+te[e&63]}function _o(e,t,r){for(var i,n=[],a=t;a<r;a+=3)i=(e[a]<<16)+(e[a+1]<<8)+e[a+2],n.push(po(i));return n.join("")}function Ii(e){dr||Oi();for(var t,r=e.length,i=r%3,n="",a=[],o=16383,s=0,h=r-i;s<h;s+=o)a.push(_o(e,s,s+o>h?h:s+o));return i===1?(t=e[r-1],n+=te[t>>2],n+=te[t<<4&63],n+="=="):i===2&&(t=(e[r-2]<<8)+e[r-1],n+=te[t>>10],n+=te[t>>4&63],n+=te[t<<2&63],n+="="),a.push(n),a.join("")}function Tt(e,t,r,i,n){var a,o,s=n*8-i-1,h=(1<<s)-1,f=h>>1,l=-7,d=r?n-1:0,p=r?-1:1,u=e[t+d];for(d+=p,a=u&(1<<-l)-1,u>>=-l,l+=s;l>0;a=a*256+e[t+d],d+=p,l-=8);for(o=a&(1<<-l)-1,a>>=-l,l+=i;l>0;o=o*256+e[t+d],d+=p,l-=8);if(a===0)a=1-f;else{if(a===h)return o?NaN:(u?-1:1)*(1/0);o=o+Math.pow(2,i),a=a-f}return(u?-1:1)*o*Math.pow(2,a-i)}function Mi(e,t,r,i,n,a){var o,s,h,f=a*8-n-1,l=(1<<f)-1,d=l>>1,p=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,u=i?0:a-1,g=i?1:-1,S=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=l):(o=Math.floor(Math.log(t)/Math.LN2),t*(h=Math.pow(2,-o))<1&&(o--,h*=2),o+d>=1?t+=p/h:t+=p*Math.pow(2,1-d),t*h>=2&&(o++,h/=2),o+d>=l?(s=0,o=l):o+d>=1?(s=(t*h-1)*Math.pow(2,n),o=o+d):(s=t*Math.pow(2,d-1)*Math.pow(2,n),o=0));n>=8;e[r+u]=s&255,u+=g,s/=256,n-=8);for(o=o<<n|s,f+=n;f>0;e[r+u]=o&255,u+=g,o/=256,f-=8);e[r+u-g]|=S*128}var wo={}.toString,Di=Array.isArray||function(e){return wo.call(e)=="[object Array]"};/*!
6
+ ${JSON.stringify(n,null,2)}`),super(i),typeof Error.captureStackTrace=="function"?Error.captureStackTrace(this,this.constructor):this.stack=new Error(i).stack,super.name=this.constructor.name,this.name=this.constructor.name,this.bucket=r,this.thrownAt=new Date}toJson(){return{...this}}toString(){return`${this.name} | ${this.message}`}}class ci extends Ye{constructor({bucket:t,...r}){super({...r,bucket:t,message:`Bucket does not exists [bucket:${t}]`})}}class sr extends Ye{constructor({bucket:t,key:r,...i}){super({...i,bucket:t,message:`Key [${r}] does not exists [bucket:${t}/${r}]`}),this.key=r}}class ui extends sr{}class di extends Ye{constructor({bucket:t,...r}){super({...r,bucket:t,message:`Missing metadata for bucket [bucket:${t}]`})}}class Rt extends Ye{constructor({bucket:t,resourceName:r,attributes:i,validation:n}){super({bucket:t,message:`This item is not valid. Resource=${r} [bucket:${t}].
7
+ ${JSON.stringify(n,null,2)}`}),this.resourceName=r,this.attributes=i,this.validation=n}}class pi extends Ye{}const _i={NotFound:ui,NoSuchKey:sr,UnknownError:pi,NoSuchBucket:ci,MissingMetadata:di,InvalidResourceItem:Rt},wi="us-east-1",gi="https://s3.us-east-1.amazonaws.com";class vi{constructor(t){let r;try{r=new URL(t)}catch{throw new Error("Invalid connection string: "+t)}this.region=wi,r.protocol==="s3:"?this.defineS3(r):this.defineMinio(r);for(const[i,n]of r.searchParams.entries())this[i]=n}defineS3(t){if(this.bucket=t.hostname,this.accessKeyId=t.username,this.secretAccessKey=t.password,this.endpoint=gi,["/","",null].includes(t.pathname))this.keyPrefix="";else{let[,...r]=t.pathname.split("/");this.keyPrefix=[...r||[]].join("/")}}defineMinio(t){if(this.forcePathStyle=!0,this.endpoint=t.origin,this.accessKeyId=t.username,this.secretAccessKey=t.password,["/","",null].includes(t.pathname))this.bucket="s3db",this.keyPrefix="";else{let[,r,...i]=t.pathname.split("/");this.bucket=r,this.keyPrefix=[...i||[]].join("/")}}}class bi extends m{constructor({verbose:t=!1,id:r=null,AwsS3Client:i,connectionString:n,parallelism:a=10}){super(),this.verbose=t,this.id=r??ii.nanoid(7),this.parallelism=a,this.config=new vi(n),this.client=i||this.createClient()}createClient(){let t={region:this.config.region,endpoint:this.config.endpoint};return this.config.forcePathStyle&&(t.forcePathStyle=!0),this.config.accessKeyId&&(t.credentials={accessKeyId:this.config.accessKeyId,secretAccessKey:this.config.secretAccessKey}),new pe.S3Client(t)}async sendCommand(t){this.emit("command.request",t.constructor.name,t.input);const r=console.warn;try{console.warn=n=>{n.includes("Stream of unknown length")||r(n)}}catch(n){console.error(n)}const i=await this.client.send(t);this.emit("command.response",t.constructor.name,i,t.input);try{console.warn=r}catch(n){console.error(n)}return i}errorProxy(t,r){this.verbose&&(r.bucket=this.config.bucket,r.config=this.config,r.verbose=this.verbose),t.data=r;const i=_i[t.name];return i?new i(r):t}async putObject({key:t,metadata:r,contentType:i,body:n,contentEncoding:a}){const o={Bucket:this.config.bucket,Key:this.config.keyPrefix?ae.join(this.config.keyPrefix,t):t,Metadata:{...r},Body:n||"",ContentType:i,ContentEncoding:a};try{const s=await this.sendCommand(new pe.PutObjectCommand(o));return this.emit("putObject",s,o),s}catch(s){throw this.errorProxy(s,{key:t,command:o})}}async getObject(t){const r={Bucket:this.config.bucket,Key:ae.join(this.config.keyPrefix,t)};try{const i=await this.sendCommand(new pe.GetObjectCommand(r));return this.emit("getObject",i,r),i}catch(i){throw this.errorProxy(i,{key:t,command:r})}}async headObject(t){const r={Bucket:this.config.bucket,Key:this.config.keyPrefix?ae.join(this.config.keyPrefix,t):t};try{const i=await this.client.send(new pe.HeadObjectCommand(r));return this.emit("headObject",i,r),i}catch(i){throw this.errorProxy(i,{key:t,command:r})}}async copyObject({from:t,to:r}){const i={Bucket:this.config.bucket,Key:this.config.keyPrefix?ae.join(this.config.keyPrefix,r):r,CopySource:ae.join(this.config.bucket,this.config.keyPrefix?ae.join(this.config.keyPrefix,t):t)};try{const n=await this.client.send(new pe.CopyObjectCommand(i));return this.emit("copyObject",n,i),n}catch(n){throw this.errorProxy(n,{from:t,to:r,command:i})}}async exists(t){try{return await this.headObject(t),!0}catch(r){if(r.name==="NoSuchKey")return!1;if(r.name==="NotFound")return!1;throw r}}async deleteObject(t){const r={Bucket:this.config.bucket,Key:this.config.keyPrefix?ae.join(this.config.keyPrefix,t):t};try{const i=await this.sendCommand(new pe.DeleteObjectCommand(r));return this.emit("deleteObject",i,r),i}catch(i){throw this.errorProxy(i,{key:t,command:r})}}async deleteObjects(t){const r=I.chunk(t,1e3),{results:i,errors:n}=await de.PromisePool.for(r).withConcurrency(this.parallelism).process(async o=>{const s={Bucket:this.config.bucket,Delete:{Objects:o.map(h=>({Key:this.config.keyPrefix?ae.join(this.config.keyPrefix,h):h}))}};try{return await this.sendCommand(new pe.DeleteObjectsCommand(s))}catch(h){throw this.errorProxy(h,{key,command:s})}}),a={deleted:i,notFound:n};return this.emit("deleteObjects",a,t),a}async deleteAll({prefix:t}={}){const r=await this.getAllKeys({prefix:t}),i=await this.deleteObjects(r);return this.emit("deleteAll",{prefix:t,report:i}),i}async moveObject({from:t,to:r}){try{return await this.copyObject({from:t,to:r}),await this.deleteObject(t),!0}catch(i){throw this.errorProxy(i,{from:t,to:r,command:options})}}async listObjects({prefix:t,maxKeys:r=1e3,continuationToken:i}={}){const n={Bucket:this.config.bucket,MaxKeys:r,ContinuationToken:i,Prefix:this.config.keyPrefix?ae.join(this.config.keyPrefix,t||""):t||""};try{const a=await this.sendCommand(new pe.ListObjectsV2Command(n));return this.emit("listObjects",a,n),a}catch(a){throw this.errorProxy(a,{command:n})}}async count({prefix:t}={}){let r=0,i=!0,n;for(;i;){const a={prefix:t,continuationToken:n},o=await this.listObjects(a);r+=o.KeyCount||0,i=o.IsTruncated||!1,n=o.NextContinuationToken}return this.emit("count",r,{prefix:t}),r}async getAllKeys({prefix:t}={}){let r=[],i=!0,n;for(;i;){const a={prefix:t,continuationToken:n},o=await this.listObjects(a);o.Contents&&(r=r.concat(o.Contents.map(s=>s.Key))),i=o.IsTruncated||!1,n=o.NextContinuationToken}return this.config.keyPrefix&&(r=r.map(a=>a.replace(this.config.keyPrefix,"")).map(a=>a.startsWith("/")?a.replace("/",""):a)),this.emit("getAllKeys",r,{prefix:t}),r}async getContinuationTokenAfterOffset(t={}){const{prefix:r,offset:i=1e3}=t;if(i===0)return null;let n=!0,a,o=0;for(;n;){let s=i<1e3?i:i-o>1e3?1e3:i-o;const h={prefix:r,maxKeys:s,continuationToken:a},f=await this.listObjects(h);if(f.Contents&&(o+=f.Contents.length),n=f.IsTruncated||!1,a=f.NextContinuationToken,o>=i)break}return this.emit("getContinuationTokenAfterOffset",a,t),a}async getKeysPage(t={}){const{prefix:r,offset:i=0,amount:n=100}=t;let a=[],o=!0,s;for(i>0&&(s=await this.getContinuationTokenAfterOffset({prefix:r,offset:i}));o;){const h={prefix:r,continuationToken:s},f=await this.listObjects(h);if(f.Contents&&(a=a.concat(f.Contents.map(l=>l.Key))),o=f.IsTruncated||!1,s=f.NextContinuationToken,a.length>n){a=a.splice(0,n);break}}return this.config.keyPrefix&&(a=a.map(h=>h.replace(this.config.keyPrefix,"")).map(h=>h.startsWith("/")?h.replace("/",""):h)),this.emit("getKeysPage",a,t),a}async moveAllObjects({prefixFrom:t,prefixTo:r}){const i=await this.getAllKeys({prefix:t}),{results:n,errors:a}=await de.PromisePool.for(i).withConcurrency(this.parallelism).process(async o=>{const s=o.replace(t,r);try{return await this.moveObject({from:o,to:s}),s}catch(h){throw this.errorProxy(h,{from:o,to:s})}});if(this.emit("moveAllObjects",{results:n,errors:a},{prefixFrom:t,prefixTo:r}),a.length>0)throw console.log({errors:a}),new Error("Some objects could not be moved");return n}}async function At(){let e;if(process)try{const{webcrypto:t}=await Promise.resolve().then(function(){return bh});e=t}catch{throw new Error("Crypto API not available")}else window&&(e=window.crypto);if(!e)throw new Error("Could not load any crypto library");return e}async function mi(e){const t=await At(),i=new TextEncoder().encode(e),n=await t.subtle.digest("SHA-256",i);return Array.from(new Uint8Array(n)).map(s=>s.toString(16).padStart(2,"0")).join("")}async function fr(e,t){const r=await At(),i=r.getRandomValues(new Uint8Array(16)),n=await xi(t,i),a=r.getRandomValues(new Uint8Array(12)),s=new TextEncoder().encode(e),h=await r.subtle.encrypt({name:"AES-GCM",iv:a},n,s),f=new Uint8Array(i.length+a.length+h.byteLength);return f.set(i),f.set(a,i.length),f.set(new Uint8Array(h),i.length+a.length),oo(f)}async function yi(e,t){const r=await At(),i=so(e),n=i.slice(0,16),a=i.slice(16,28),o=i.slice(28),s=await xi(t,n),h=await r.subtle.decrypt({name:"AES-GCM",iv:a},s,o);return new TextDecoder().decode(h)}async function xi(e,t){const r=await At(),n=new TextEncoder().encode(e),a=await r.subtle.importKey("raw",n,{name:"PBKDF2"},!1,["deriveKey"]);return await r.subtle.deriveKey({name:"PBKDF2",salt:t,iterations:1e5,hash:"SHA-256"},a,{name:"AES-GCM",length:256},!0,["encrypt","decrypt"])}function oo(e){if(I.isObject(process))return Buffer.from(e).toString("base64");{const t=String.fromCharCode.apply(null,new Uint8Array(e));return window.btoa(t)}}function so(e){if(I.isObject(process))return new Uint8Array(Buffer.from(e,"base64"));{const t=window.atob(e),r=t.length,i=new Uint8Array(r);for(let n=0;n<r;n++)i[n]=t.charCodeAt(n);return i}}async function lr(e,t,r){if(!this.passphrase)return t.push({actual:e,type:"encryptionKeyMissing"}),e;try{return await fr(String(e),this.passphrase)}catch(i){t.push({actual:e,type:"encryptionProblem",error:i})}return e}class Ei extends ja{constructor({options:t,passphrase:r,autoEncrypt:i=!0}={}){super(I.merge({},{useNewCustomCheckerFunction:!0,messages:{encryptionKeyMissing:"Missing configuration for secrets encryption.",encryptionProblem:"Problem encrypting secret. Actual: {actual}. Error: {error}"},defaults:{string:{trim:!0},object:{strict:"remove"}}},t)),this.passphrase=r,this.autoEncrypt=i,this.alias("secret",{type:"string",custom:this.autoEncrypt?lr:void 0,messages:{string:"The '{field}' field must be a string.",stringMin:"This secret '{field}' field length must be at least {expected} long."}}),this.alias("secretAny",{type:"any",custom:this.autoEncrypt?lr:void 0}),this.alias("secretNumber",{type:"number",custom:this.autoEncrypt?lr:void 0})}}const ki=new Proxy(Ei,{instance:null,construct(e,t){return this.instance||(this.instance=new e(...t)),this.instance}}),fo={trim:e=>e.trim(),encrypt:(e,{passphrase:t})=>fr(e,t),decrypt:(e,{passphrase:t})=>yi(e,t),toString:e=>String(e),fromArray:(e,{separator:t})=>(e||[]).join(t),toArray:(e,{separator:t})=>(e||"").split(t),toJSON:e=>JSON.stringify(e),fromJSON:e=>JSON.parse(e),toNumber:e=>I.isString(e)?e.includes(".")?parseFloat(e):parseInt(e):e};class hr{constructor(t){const{map:r,name:i,attributes:n,passphrase:a,version:o=1,options:s={}}=t;if(this.name=i,this.version=o,this.attributes=n,this.passphrase=a??"secret",this.options=I.merge({},this.defaultOptions(),s),this.validator=new ki({autoEncrypt:!1}).compile(I.merge({$$async:!0},I.cloneDeep(this.attributes))),this.options.generateAutoHooks&&this.generateAutoHooks(),!I.isEmpty(r))this.map=r,this.reversedMap=I.invert(r);else{const h=St.flatten(this.attributes,{safe:!0});this.reversedMap={...Object.keys(h).filter(f=>!f.includes("$$"))},this.map=I.invert(this.reversedMap)}}defaultOptions(){return{autoEncrypt:!0,autoDecrypt:!0,arraySeparator:"|",generateAutoHooks:!0,hooks:{beforeMap:{},afterMap:{},beforeUnmap:{},afterUnmap:{}}}}addHook(t,r,i){this.options.hooks[t][r]||(this.options.hooks[t][r]=[]),this.options.hooks[t][r]=I.uniq([...this.options.hooks[t][r],i])}generateAutoHooks(){const t=St.flatten(I.cloneDeep(this.attributes),{safe:!0});for(const[r,i]of Object.entries(t))i.includes("array")?(this.addHook("beforeMap",r,"fromArray"),this.addHook("afterUnmap",r,"toArray")):(i.includes("secret")&&(this.options.autoEncrypt&&this.addHook("beforeMap",r,"encrypt"),this.options.autoDecrypt&&this.addHook("afterUnmap",r,"decrypt")),i.includes("number")&&(this.addHook("beforeMap",r,"toString"),this.addHook("afterUnmap",r,"toNumber")),i.includes("boolean")&&(this.addHook("beforeMap",r,"toJSON"),this.addHook("afterUnmap",r,"fromJSON")))}static import(t){let{map:r,name:i,options:n,version:a,attributes:o}=I.isString(t)?JSON.parse(t):t;return new hr({map:r,name:i,options:n,version:a,attributes:o})}export(){const t={version:this.version,name:this.name,options:this.options,attributes:I.cloneDeep(this.attributes),map:this.map};for(const[r,i]of Object.entries(this.attributes))t.attributes[r]=JSON.stringify(i);return t}async applyHooksActions(t,r){for(const[i,n]of Object.entries(this.options.hooks[r]))for(const a of n){const o=I.get(t,i);o&&I.set(t,i,await fo[a](o,{passphrase:this.passphrase,separator:this.options.arraySeparator}))}}async validate(t,{mutateOriginal:r=!1}={}){let i=r?t:I.cloneDeep(t);return await this.validator(i)}async mapper(t){const r=St.flatten(I.cloneDeep(t),{safe:!0});await this.applyHooksActions(r,"beforeMap");const i={_v:this.version+""};for(const[n,a]of Object.entries(r))i[this.map[n]]=a;return await this.applyHooksActions(i,"afterMap"),i}async unmapper(t){const r=I.cloneDeep(t);delete r._v,await this.applyHooksActions(r,"beforeUnmap");const i={};for(const[n,a]of Object.entries(r))i[this.reversedMap[n]]=a;return await this.applyHooksActions(i,"afterUnmap"),St.unflatten(i)}}class Si extends m{constructor({resource:t}){super(),this.resource=t,this.client=t.client,this.stream=new ir.ReadableStream({highWaterMark:this.client.parallelism*3,start:this._start.bind(this),pull:this._pull.bind(this),cancel:this._cancel.bind(this)})}build(){return this.stream.getReader()}async _start(t){this.controller=t,this.continuationToken=null,this.closeNextIteration=!1}async _pull(t){if(this.closeNextIteration){t.close();return}const r=await this.client.listObjects({prefix:`resource=${this.resource.name}`,continuationToken:this.continuationToken}),i=r?.Contents.map(n=>n.Key).map(n=>n.replace(this.client.config.keyPrefix,"")).map(n=>n.startsWith("/")?n.replace("/",""):n).map(n=>n.replace(`resource=${this.resource.name}/id=`,""));this.continuationToken=r.NextContinuationToken,this.enqueue(i),r.IsTruncated||(this.closeNextIteration=!0)}enqueue(t){t.forEach(r=>{this.controller.enqueue(r),this.emit("id",r)})}_cancel(t){console.warn("Stream cancelled",t)}}class Ri extends Si{enqueue(t){this.controller.enqueue(t),this.emit("page",t)}}class Ai extends m{constructor({resource:t}){super(),this.resource=t,this.client=t.client,this.input=new Ri({resource:this.resource}),this.output=new ir.TransformStream({transform:this._transform.bind(this)},{highWaterMark:this.client.parallelism*2},{highWaterMark:1}),this.stream=this.input.stream.pipeThrough(this.output)}build(){return this.stream.getReader()}async _transform(t,r){await de.PromisePool.for(t).withConcurrency(this.client.parallelism).process(async i=>{const n=await this.resource.get(i);return r.enqueue(n),n})}}class Ti extends m{constructor({resource:t}){super(),this.resource=t,this.client=t.client,this.stream=new ir.WritableStream({start:this._start.bind(this),write:this._write.bind(this),close:this._close.bind(this),abort:this._abort.bind(this)})}build(){return this.stream.getWriter()}async _start(t){this.controller=t}async _write(t,r){const i=this.resource;await de.PromisePool.for([].concat(t)).withConcurrency(this.client.parallelism).process(async n=>{await i.insert(n)})}async _close(t){}async _abort(t){console.error("Stream aborted:",t)}}function cr(e){return new Promise((t,r)=>{const i=[];e.on("data",n=>i.push(n)),e.on("error",r),e.on("end",()=>t(Buffer.concat(i).toString("utf-8")))})}class Li extends m{constructor({name:t,client:r,options:i={},attributes:n={},parallelism:a=10,passphrase:o="secret",observers:s=[]}){super(),this.name=t,this.client=r,this.options=i,this.observers=s,this.parallelism=a,this.passphrase=o??"secret",this.schema=new hr({name:t,attributes:n,passphrase:o})}export(){return this.schema.export()}async validate(t){const r={original:I.cloneDeep(t),isValid:!1,errors:[]},i=await this.schema.validate(t,{mutateOriginal:!0});return i===!0?r.isValid=!0:r.errors=i,r.data=t,r}async insert({id:t,...r}){const{errors:i,isValid:n,data:a}=await this.validate(r);if(!n)throw new Rt({bucket:this.client.config.bucket,resourceName:this.name,attributes:r,validation:i});!t&&t!==0&&(t=ii.nanoid());const o=await this.schema.mapper(a);await this.client.putObject({metadata:o,key:Y(`resource=${this.name}`,`id=${t}`)});const s=I.merge({id:t},a);return this.emit("insert",s),s}async get(t){const r=await this.client.headObject(Y(`resource=${this.name}`,`id=${t}`));let i=await this.schema.unmapper(r.Metadata);return i.id=t,i._length=r.ContentLength,i._createdAt=r.LastModified,r.Expiration&&(i._expiresAt=r.Expiration),this.emit("get",i),i}async exists(t){try{return await this.client.headObject(Y(`resource=${this.name}`,`id=${t}`)),!0}catch{return!1}}async update(t,r){const i=await this.get(t),n=I.merge(i,r);delete n.id;const{isValid:a,errors:o,data:s}=await this.validate(n);if(!a)throw new Rt({bucket:this.client.bucket,resourceName:this.name,attributes:r,validation:o});return await this.client.putObject({key:Y(`resource=${this.name}`,`id=${t}`),body:"",metadata:await this.schema.mapper(s)}),s.id=t,this.emit("update",r,s),s}async delete(t){const r=Y(`resource=${this.name}`,`id=${t}`),i=await this.client.deleteObject(r);return this.emit("delete",t),i}async count(){const t=await this.client.count({prefix:`resource=${this.name}`});return this.emit("count",t),t}async insertMany(t){const{results:r}=await de.PromisePool.for(t).withConcurrency(this.parallelism).handleError(async(i,n)=>{this.emit("error",i,n),this.observers.map(a=>a.emit("error",this.name,i,n))}).process(async i=>await this.insert(i));return this.emit("insertMany",t.length),r}async deleteMany(t){const r=I.chunk(t.map(n=>Y(`resource=${this.name}`,`id=${n}`)),1e3),{results:i}=await de.PromisePool.for(r).withConcurrency(this.parallelism).handleError(async(n,a)=>{this.emit("error",n,a),this.observers.map(o=>o.emit("error",this.name,n,a))}).process(async n=>{const a=await this.client.deleteObjects(n);return n.forEach(o=>{const s=o.split("=").pop();this.emit("deleted",s),this.observers.map(h=>h.emit("deleted",this.name,s))}),a});return this.emit("deleteMany",t.length),i}async deleteAll(){const t=await this.listIds();this.emit("deleteAll",t.length),await this.deleteMany(t)}async listIds(){const r=(await this.client.getAllKeys({prefix:`resource=${this.name}`})).map(i=>i.replace(`resource=${this.name}/id=`,""));return this.emit("listIds",r.length),r}async getMany(t){const{results:r}=await de.PromisePool.for(t).withConcurrency(this.client.parallelism).process(async i=>{this.emit("id",i);const n=await this.get(i);return this.emit("data",n),n});return this.emit("getMany",t.length),r}async getAll(){let t=await this.listIds();if(t.length===0)return[];const{results:r}=await de.PromisePool.for(t).withConcurrency(this.client.parallelism).process(async i=>await this.get(i));return this.emit("getAll",r.length),r}async page({offset:t=0,size:r=100}){const n=(await this.client.getKeysPage({offset:t,amount:r,prefix:`resource=${this.name}`})).map(o=>o.replace(`resource=${this.name}/id=`,""));return await this.getMany(n)}readable(){return new Ai({resource:this}).build()}writable(){return new Ti({resource:this}).build()}}class Ci extends m{constructor(t){super(),this.version="1",this.resources={},this.options=t,this.verbose=t.verbose||!1,this.parallelism=parseInt(t.parallelism+"")||10,this.plugins=t.plugins||[],this.cache=t.cache,this.passphrase=t.passphrase||"secret",this.client=t.client||new bi({verbose:this.verbose,parallelism:this.parallelism,connectionString:t.connectionString}),this.bucket=this.client.bucket,this.keyPrefix=this.client.keyPrefix}async connect(){await this.startPlugins();let t=null;if(await this.client.exists("s3db.json")){const r=await this.client.getObject("s3db.json");t=JSON.parse(await cr(r?.Body)),t=this.unserializeMetadata(t)}else t=this.blankMetadataStructure(),await this.uploadMetadataFile();for(const r of Object.entries(t.resources)){const[i,n]=r;this.resources[i]=new Li({name:i,client:this.client,options:n.options,attributes:n.schema,parallelism:this.parallelism,passphrase:this.passphrase,observers:[this]})}this.emit("connected",new Date)}async startPlugins(){const t=this;if(!I.isEmpty(this.plugins)){const r=this.plugins.map(a=>I.isFunction(a)?new a(this):a),i=r.map(async a=>{a.beforeSetup&&await a.beforeSetup(),await a.setup(t),a.afterSetup&&await a.afterSetup()});await Promise.all(i);const n=r.map(async a=>{a.beforeStart&&await a.beforeStart(),await a.start(),a.afterStart&&await a.afterStart()});await Promise.all(n)}}unserializeMetadata(t){const r={...t};if(I.isEmpty(r.resources))return r;for(const[i,n]of Object.entries(r.resources))for(const[a,o]of Object.entries(n.attributes))r.resources[i].attributes[a]=JSON.parse(o);return r}async uploadMetadataFile(){const t={version:this.version,resources:Object.entries(this.resources).reduce((r,i)=>{const[n,a]=i;return r[n]=a.export(),r},{})};await this.client.putObject({key:"s3db.json",contentType:"application/json",body:JSON.stringify(t,null,2)})}blankMetadataStructure(){return{version:"1",resources:{}}}async createResource({name:t,attributes:r,options:i={}}){const n=new Li({name:t,attributes:r,observers:[this],client:this.client,options:{autoDecrypt:!0,cache:this.cache,...i}});return this.resources[t]=n,await this.uploadMetadataFile(),this.emit("s3db.resourceCreated",t),n}resource(t){return this.resources[t]?this.resources[t]:Promise.reject(`resource ${t} does not exist`)}}class lo extends Ci{}class ur extends m{async _set(t,r){}async _get(t){}async _del(t){}async _clear(t){}async set(t,r){return await this._set(t,r),this.emit("set",r),r}async get(t){const r=await this._get(t);return this.emit("get",r),r}async del(t){const r=await this._del(t);return this.emit("delete",r),r}async clear(){const t=await this._clear();return this.emit("clear",t),t}}class ho extends ur{constructor(){super(),this.cache={}}async _set(t,r){return this.cache[t]=r,r}async _get(t){return this.cache[t]}async _del(t){return delete this.cache[t],!0}async _clear(){return this.cache={},!0}}var qe=typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{},te=[],G=[],co=typeof Uint8Array<"u"?Uint8Array:Array,dr=!1;function Oi(){dr=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0,r=e.length;t<r;++t)te[t]=e[t],G[e.charCodeAt(t)]=t;G[45]=62,G[95]=63}function uo(e){dr||Oi();var t,r,i,n,a,o,s=e.length;if(s%4>0)throw new Error("Invalid string. Length must be a multiple of 4");a=e[s-2]==="="?2:e[s-1]==="="?1:0,o=new co(s*3/4-a),i=a>0?s-4:s;var h=0;for(t=0,r=0;t<i;t+=4,r+=3)n=G[e.charCodeAt(t)]<<18|G[e.charCodeAt(t+1)]<<12|G[e.charCodeAt(t+2)]<<6|G[e.charCodeAt(t+3)],o[h++]=n>>16&255,o[h++]=n>>8&255,o[h++]=n&255;return a===2?(n=G[e.charCodeAt(t)]<<2|G[e.charCodeAt(t+1)]>>4,o[h++]=n&255):a===1&&(n=G[e.charCodeAt(t)]<<10|G[e.charCodeAt(t+1)]<<4|G[e.charCodeAt(t+2)]>>2,o[h++]=n>>8&255,o[h++]=n&255),o}function po(e){return te[e>>18&63]+te[e>>12&63]+te[e>>6&63]+te[e&63]}function _o(e,t,r){for(var i,n=[],a=t;a<r;a+=3)i=(e[a]<<16)+(e[a+1]<<8)+e[a+2],n.push(po(i));return n.join("")}function Ii(e){dr||Oi();for(var t,r=e.length,i=r%3,n="",a=[],o=16383,s=0,h=r-i;s<h;s+=o)a.push(_o(e,s,s+o>h?h:s+o));return i===1?(t=e[r-1],n+=te[t>>2],n+=te[t<<4&63],n+="=="):i===2&&(t=(e[r-2]<<8)+e[r-1],n+=te[t>>10],n+=te[t>>4&63],n+=te[t<<2&63],n+="="),a.push(n),a.join("")}function Tt(e,t,r,i,n){var a,o,s=n*8-i-1,h=(1<<s)-1,f=h>>1,l=-7,d=r?n-1:0,p=r?-1:1,u=e[t+d];for(d+=p,a=u&(1<<-l)-1,u>>=-l,l+=s;l>0;a=a*256+e[t+d],d+=p,l-=8);for(o=a&(1<<-l)-1,a>>=-l,l+=i;l>0;o=o*256+e[t+d],d+=p,l-=8);if(a===0)a=1-f;else{if(a===h)return o?NaN:(u?-1:1)*(1/0);o=o+Math.pow(2,i),a=a-f}return(u?-1:1)*o*Math.pow(2,a-i)}function Mi(e,t,r,i,n,a){var o,s,h,f=a*8-n-1,l=(1<<f)-1,d=l>>1,p=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,u=i?0:a-1,g=i?1:-1,S=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=l):(o=Math.floor(Math.log(t)/Math.LN2),t*(h=Math.pow(2,-o))<1&&(o--,h*=2),o+d>=1?t+=p/h:t+=p*Math.pow(2,1-d),t*h>=2&&(o++,h/=2),o+d>=l?(s=0,o=l):o+d>=1?(s=(t*h-1)*Math.pow(2,n),o=o+d):(s=t*Math.pow(2,d-1)*Math.pow(2,n),o=0));n>=8;e[r+u]=s&255,u+=g,s/=256,n-=8);for(o=o<<n|s,f+=n;f>0;e[r+u]=o&255,u+=g,o/=256,f-=8);e[r+u-g]|=S*128}var wo={}.toString,Di=Array.isArray||function(e){return wo.call(e)=="[object Array]"};/*!
8
8
  * The buffer module from node.js, for the browser.
9
9
  *
10
10
  * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
11
11
  * @license MIT
12
- */var go=50;c.TYPED_ARRAY_SUPPORT=qe.TYPED_ARRAY_SUPPORT!==void 0?qe.TYPED_ARRAY_SUPPORT:!0,Lt();function Lt(){return c.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function oe(e,t){if(Lt()<t)throw new RangeError("Invalid typed array length");return c.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t),e.__proto__=c.prototype):(e===null&&(e=new c(t)),e.length=t),e}function c(e,t,r){if(!c.TYPED_ARRAY_SUPPORT&&!(this instanceof c))return new c(e,t,r);if(typeof e=="number"){if(typeof t=="string")throw new Error("If encoding is specified then the first argument must be a string");return pr(this,e)}return Fi(this,e,t,r)}c.poolSize=8192,c._augment=function(e){return e.__proto__=c.prototype,e};function Fi(e,t,r,i){if(typeof t=="number")throw new TypeError('"value" argument must not be a number');return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer?bo(e,t,r,i):typeof t=="string"?mo(e,t,r):yo(e,t)}c.from=function(e,t,r){return Fi(null,e,t,r)},c.TYPED_ARRAY_SUPPORT&&(c.prototype.__proto__=Uint8Array.prototype,c.__proto__=Uint8Array,typeof Symbol<"u"&&Symbol.species&&c[Symbol.species]);function Ni(e){if(typeof e!="number")throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function vo(e,t,r,i){return Ni(t),t<=0?oe(e,t):r!==void 0?typeof i=="string"?oe(e,t).fill(r,i):oe(e,t).fill(r):oe(e,t)}c.alloc=function(e,t,r){return vo(null,e,t,r)};function pr(e,t){if(Ni(t),e=oe(e,t<0?0:wr(t)|0),!c.TYPED_ARRAY_SUPPORT)for(var r=0;r<t;++r)e[r]=0;return e}c.allocUnsafe=function(e){return pr(null,e)},c.allocUnsafeSlow=function(e){return pr(null,e)};function mo(e,t,r){if((typeof r!="string"||r==="")&&(r="utf8"),!c.isEncoding(r))throw new TypeError('"encoding" must be a valid string encoding');var i=Pi(t,r)|0;e=oe(e,i);var n=e.write(t,r);return n!==i&&(e=e.slice(0,n)),e}function _r(e,t){var r=t.length<0?0:wr(t.length)|0;e=oe(e,r);for(var i=0;i<r;i+=1)e[i]=t[i]&255;return e}function bo(e,t,r,i){if(t.byteLength,r<0||t.byteLength<r)throw new RangeError("'offset' is out of bounds");if(t.byteLength<r+(i||0))throw new RangeError("'length' is out of bounds");return r===void 0&&i===void 0?t=new Uint8Array(t):i===void 0?t=new Uint8Array(t,r):t=new Uint8Array(t,r,i),c.TYPED_ARRAY_SUPPORT?(e=t,e.__proto__=c.prototype):e=_r(e,t),e}function yo(e,t){if(re(t)){var r=wr(t.length)|0;return e=oe(e,r),e.length===0||t.copy(e,0,0,r),e}if(t){if(typeof ArrayBuffer<"u"&&t.buffer instanceof ArrayBuffer||"length"in t)return typeof t.length!="number"||Bo(t.length)?oe(e,0):_r(e,t);if(t.type==="Buffer"&&Di(t.data))return _r(e,t.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function wr(e){if(e>=Lt())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Lt().toString(16)+" bytes");return e|0}c.isBuffer=Zo;function re(e){return!!(e!=null&&e._isBuffer)}c.compare=function(t,r){if(!re(t)||!re(r))throw new TypeError("Arguments must be Buffers");if(t===r)return 0;for(var i=t.length,n=r.length,a=0,o=Math.min(i,n);a<o;++a)if(t[a]!==r[a]){i=t[a],n=r[a];break}return i<n?-1:n<i?1:0},c.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},c.concat=function(t,r){if(!Di(t))throw new TypeError('"list" argument must be an Array of Buffers');if(t.length===0)return c.alloc(0);var i;if(r===void 0)for(r=0,i=0;i<t.length;++i)r+=t[i].length;var n=c.allocUnsafe(r),a=0;for(i=0;i<t.length;++i){var o=t[i];if(!re(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(n,a),a+=o.length}return n};function Pi(e,t){if(re(e))return e.length;if(typeof ArrayBuffer<"u"&&typeof ArrayBuffer.isView=="function"&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;typeof e!="string"&&(e=""+e);var r=e.length;if(r===0)return 0;for(var i=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return It(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return Wi(e).length;default:if(i)return It(e).length;t=(""+t).toLowerCase(),i=!0}}c.byteLength=Pi;function xo(e,t,r){var i=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return Io(this,t,r);case"utf8":case"utf-8":return Zi(this,t,r);case"ascii":return Co(this,t,r);case"latin1":case"binary":return Oo(this,t,r);case"base64":return To(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Mo(this,t,r);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}c.prototype._isBuffer=!0;function Te(e,t,r){var i=e[t];e[t]=e[r],e[r]=i}c.prototype.swap16=function(){var t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var r=0;r<t;r+=2)Te(this,r,r+1);return this},c.prototype.swap32=function(){var t=this.length;if(t%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var r=0;r<t;r+=4)Te(this,r,r+3),Te(this,r+1,r+2);return this},c.prototype.swap64=function(){var t=this.length;if(t%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var r=0;r<t;r+=8)Te(this,r,r+7),Te(this,r+1,r+6),Te(this,r+2,r+5),Te(this,r+3,r+4);return this},c.prototype.toString=function(){var t=this.length|0;return t===0?"":arguments.length===0?Zi(this,0,t):xo.apply(this,arguments)},c.prototype.equals=function(t){if(!re(t))throw new TypeError("Argument must be a Buffer");return this===t?!0:c.compare(this,t)===0},c.prototype.inspect=function(){var t="",r=go;return this.length>0&&(t=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(t+=" ... ")),"<Buffer "+t+">"},c.prototype.compare=function(t,r,i,n,a){if(!re(t))throw new TypeError("Argument must be a Buffer");if(r===void 0&&(r=0),i===void 0&&(i=t?t.length:0),n===void 0&&(n=0),a===void 0&&(a=this.length),r<0||i>t.length||n<0||a>this.length)throw new RangeError("out of range index");if(n>=a&&r>=i)return 0;if(n>=a)return-1;if(r>=i)return 1;if(r>>>=0,i>>>=0,n>>>=0,a>>>=0,this===t)return 0;for(var o=a-n,s=i-r,h=Math.min(o,s),f=this.slice(n,a),l=t.slice(r,i),d=0;d<h;++d)if(f[d]!==l[d]){o=f[d],s=l[d];break}return o<s?-1:s<o?1:0};function zi(e,t,r,i,n){if(e.length===0)return-1;if(typeof r=="string"?(i=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=n?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(n)return-1;r=e.length-1}else if(r<0)if(n)r=0;else return-1;if(typeof t=="string"&&(t=c.from(t,i)),re(t))return t.length===0?-1:Ui(e,t,r,i,n);if(typeof t=="number")return t=t&255,c.TYPED_ARRAY_SUPPORT&&typeof Uint8Array.prototype.indexOf=="function"?n?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):Ui(e,[t],r,i,n);throw new TypeError("val must be string, number or Buffer")}function Ui(e,t,r,i,n){var a=1,o=e.length,s=t.length;if(i!==void 0&&(i=String(i).toLowerCase(),i==="ucs2"||i==="ucs-2"||i==="utf16le"||i==="utf-16le")){if(e.length<2||t.length<2)return-1;a=2,o/=2,s/=2,r/=2}function h(u,g){return a===1?u[g]:u.readUInt16BE(g*a)}var f;if(n){var l=-1;for(f=r;f<o;f++)if(h(e,f)===h(t,l===-1?0:f-l)){if(l===-1&&(l=f),f-l+1===s)return l*a}else l!==-1&&(f-=f-l),l=-1}else for(r+s>o&&(r=o-s),f=r;f>=0;f--){for(var d=!0,p=0;p<s;p++)if(h(e,f+p)!==h(t,p)){d=!1;break}if(d)return f}return-1}c.prototype.includes=function(t,r,i){return this.indexOf(t,r,i)!==-1},c.prototype.indexOf=function(t,r,i){return zi(this,t,r,i,!0)},c.prototype.lastIndexOf=function(t,r,i){return zi(this,t,r,i,!1)};function Eo(e,t,r,i){r=Number(r)||0;var n=e.length-r;i?(i=Number(i),i>n&&(i=n)):i=n;var a=t.length;if(a%2!==0)throw new TypeError("Invalid hex string");i>a/2&&(i=a/2);for(var o=0;o<i;++o){var s=parseInt(t.substr(o*2,2),16);if(isNaN(s))return o;e[r+o]=s}return o}function ko(e,t,r,i){return Mt(It(t,e.length-r),e,r,i)}function Bi(e,t,r,i){return Mt(zo(t),e,r,i)}function So(e,t,r,i){return Bi(e,t,r,i)}function Ro(e,t,r,i){return Mt(Wi(t),e,r,i)}function Ao(e,t,r,i){return Mt(Uo(t,e.length-r),e,r,i)}c.prototype.write=function(t,r,i,n){if(r===void 0)n="utf8",i=this.length,r=0;else if(i===void 0&&typeof r=="string")n=r,i=this.length,r=0;else if(isFinite(r))r=r|0,isFinite(i)?(i=i|0,n===void 0&&(n="utf8")):(n=i,i=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var a=this.length-r;if((i===void 0||i>a)&&(i=a),t.length>0&&(i<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return Eo(this,t,r,i);case"utf8":case"utf-8":return ko(this,t,r,i);case"ascii":return Bi(this,t,r,i);case"latin1":case"binary":return So(this,t,r,i);case"base64":return Ro(this,t,r,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ao(this,t,r,i);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function To(e,t,r){return t===0&&r===e.length?Ii(e):Ii(e.slice(t,r))}function Zi(e,t,r){r=Math.min(e.length,r);for(var i=[],n=t;n<r;){var a=e[n],o=null,s=a>239?4:a>223?3:a>191?2:1;if(n+s<=r){var h,f,l,d;switch(s){case 1:a<128&&(o=a);break;case 2:h=e[n+1],(h&192)===128&&(d=(a&31)<<6|h&63,d>127&&(o=d));break;case 3:h=e[n+1],f=e[n+2],(h&192)===128&&(f&192)===128&&(d=(a&15)<<12|(h&63)<<6|f&63,d>2047&&(d<55296||d>57343)&&(o=d));break;case 4:h=e[n+1],f=e[n+2],l=e[n+3],(h&192)===128&&(f&192)===128&&(l&192)===128&&(d=(a&15)<<18|(h&63)<<12|(f&63)<<6|l&63,d>65535&&d<1114112&&(o=d))}}o===null?(o=65533,s=1):o>65535&&(o-=65536,i.push(o>>>10&1023|55296),o=56320|o&1023),i.push(o),n+=s}return Lo(i)}var ji=4096;function Lo(e){var t=e.length;if(t<=ji)return String.fromCharCode.apply(String,e);for(var r="",i=0;i<t;)r+=String.fromCharCode.apply(String,e.slice(i,i+=ji));return r}function Co(e,t,r){var i="";r=Math.min(e.length,r);for(var n=t;n<r;++n)i+=String.fromCharCode(e[n]&127);return i}function Oo(e,t,r){var i="";r=Math.min(e.length,r);for(var n=t;n<r;++n)i+=String.fromCharCode(e[n]);return i}function Io(e,t,r){var i=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>i)&&(r=i);for(var n="",a=t;a<r;++a)n+=Po(e[a]);return n}function Mo(e,t,r){for(var i=e.slice(t,r),n="",a=0;a<i.length;a+=2)n+=String.fromCharCode(i[a]+i[a+1]*256);return n}c.prototype.slice=function(t,r){var i=this.length;t=~~t,r=r===void 0?i:~~r,t<0?(t+=i,t<0&&(t=0)):t>i&&(t=i),r<0?(r+=i,r<0&&(r=0)):r>i&&(r=i),r<t&&(r=t);var n;if(c.TYPED_ARRAY_SUPPORT)n=this.subarray(t,r),n.__proto__=c.prototype;else{var a=r-t;n=new c(a,void 0);for(var o=0;o<a;++o)n[o]=this[o+t]}return n};function U(e,t,r){if(e%1!==0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}c.prototype.readUIntLE=function(t,r,i){t=t|0,r=r|0,i||U(t,r,this.length);for(var n=this[t],a=1,o=0;++o<r&&(a*=256);)n+=this[t+o]*a;return n},c.prototype.readUIntBE=function(t,r,i){t=t|0,r=r|0,i||U(t,r,this.length);for(var n=this[t+--r],a=1;r>0&&(a*=256);)n+=this[t+--r]*a;return n},c.prototype.readUInt8=function(t,r){return r||U(t,1,this.length),this[t]},c.prototype.readUInt16LE=function(t,r){return r||U(t,2,this.length),this[t]|this[t+1]<<8},c.prototype.readUInt16BE=function(t,r){return r||U(t,2,this.length),this[t]<<8|this[t+1]},c.prototype.readUInt32LE=function(t,r){return r||U(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216},c.prototype.readUInt32BE=function(t,r){return r||U(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])},c.prototype.readIntLE=function(t,r,i){t=t|0,r=r|0,i||U(t,r,this.length);for(var n=this[t],a=1,o=0;++o<r&&(a*=256);)n+=this[t+o]*a;return a*=128,n>=a&&(n-=Math.pow(2,8*r)),n},c.prototype.readIntBE=function(t,r,i){t=t|0,r=r|0,i||U(t,r,this.length);for(var n=r,a=1,o=this[t+--n];n>0&&(a*=256);)o+=this[t+--n]*a;return a*=128,o>=a&&(o-=Math.pow(2,8*r)),o},c.prototype.readInt8=function(t,r){return r||U(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]},c.prototype.readInt16LE=function(t,r){r||U(t,2,this.length);var i=this[t]|this[t+1]<<8;return i&32768?i|4294901760:i},c.prototype.readInt16BE=function(t,r){r||U(t,2,this.length);var i=this[t+1]|this[t]<<8;return i&32768?i|4294901760:i},c.prototype.readInt32LE=function(t,r){return r||U(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},c.prototype.readInt32BE=function(t,r){return r||U(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},c.prototype.readFloatLE=function(t,r){return r||U(t,4,this.length),Tt(this,t,!0,23,4)},c.prototype.readFloatBE=function(t,r){return r||U(t,4,this.length),Tt(this,t,!1,23,4)},c.prototype.readDoubleLE=function(t,r){return r||U(t,8,this.length),Tt(this,t,!0,52,8)},c.prototype.readDoubleBE=function(t,r){return r||U(t,8,this.length),Tt(this,t,!1,52,8)};function K(e,t,r,i,n,a){if(!re(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>n||t<a)throw new RangeError('"value" argument is out of bounds');if(r+i>e.length)throw new RangeError("Index out of range")}c.prototype.writeUIntLE=function(t,r,i,n){if(t=+t,r=r|0,i=i|0,!n){var a=Math.pow(2,8*i)-1;K(this,t,r,i,a,0)}var o=1,s=0;for(this[r]=t&255;++s<i&&(o*=256);)this[r+s]=t/o&255;return r+i},c.prototype.writeUIntBE=function(t,r,i,n){if(t=+t,r=r|0,i=i|0,!n){var a=Math.pow(2,8*i)-1;K(this,t,r,i,a,0)}var o=i-1,s=1;for(this[r+o]=t&255;--o>=0&&(s*=256);)this[r+o]=t/s&255;return r+i},c.prototype.writeUInt8=function(t,r,i){return t=+t,r=r|0,i||K(this,t,r,1,255,0),c.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[r]=t&255,r+1};function Ct(e,t,r,i){t<0&&(t=65535+t+1);for(var n=0,a=Math.min(e.length-r,2);n<a;++n)e[r+n]=(t&255<<8*(i?n:1-n))>>>(i?n:1-n)*8}c.prototype.writeUInt16LE=function(t,r,i){return t=+t,r=r|0,i||K(this,t,r,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[r]=t&255,this[r+1]=t>>>8):Ct(this,t,r,!0),r+2},c.prototype.writeUInt16BE=function(t,r,i){return t=+t,r=r|0,i||K(this,t,r,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=t&255):Ct(this,t,r,!1),r+2};function Ot(e,t,r,i){t<0&&(t=4294967295+t+1);for(var n=0,a=Math.min(e.length-r,4);n<a;++n)e[r+n]=t>>>(i?n:3-n)*8&255}c.prototype.writeUInt32LE=function(t,r,i){return t=+t,r=r|0,i||K(this,t,r,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255):Ot(this,t,r,!0),r+4},c.prototype.writeUInt32BE=function(t,r,i){return t=+t,r=r|0,i||K(this,t,r,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255):Ot(this,t,r,!1),r+4},c.prototype.writeIntLE=function(t,r,i,n){if(t=+t,r=r|0,!n){var a=Math.pow(2,8*i-1);K(this,t,r,i,a-1,-a)}var o=0,s=1,h=0;for(this[r]=t&255;++o<i&&(s*=256);)t<0&&h===0&&this[r+o-1]!==0&&(h=1),this[r+o]=(t/s>>0)-h&255;return r+i},c.prototype.writeIntBE=function(t,r,i,n){if(t=+t,r=r|0,!n){var a=Math.pow(2,8*i-1);K(this,t,r,i,a-1,-a)}var o=i-1,s=1,h=0;for(this[r+o]=t&255;--o>=0&&(s*=256);)t<0&&h===0&&this[r+o+1]!==0&&(h=1),this[r+o]=(t/s>>0)-h&255;return r+i},c.prototype.writeInt8=function(t,r,i){return t=+t,r=r|0,i||K(this,t,r,1,127,-128),c.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[r]=t&255,r+1},c.prototype.writeInt16LE=function(t,r,i){return t=+t,r=r|0,i||K(this,t,r,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[r]=t&255,this[r+1]=t>>>8):Ct(this,t,r,!0),r+2},c.prototype.writeInt16BE=function(t,r,i){return t=+t,r=r|0,i||K(this,t,r,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=t&255):Ct(this,t,r,!1),r+2},c.prototype.writeInt32LE=function(t,r,i){return t=+t,r=r|0,i||K(this,t,r,4,2147483647,-2147483648),c.TYPED_ARRAY_SUPPORT?(this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24):Ot(this,t,r,!0),r+4},c.prototype.writeInt32BE=function(t,r,i){return t=+t,r=r|0,i||K(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),c.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255):Ot(this,t,r,!1),r+4};function $i(e,t,r,i,n,a){if(r+i>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function Hi(e,t,r,i,n){return n||$i(e,t,r,4),Mi(e,t,r,i,23,4),r+4}c.prototype.writeFloatLE=function(t,r,i){return Hi(this,t,r,!0,i)},c.prototype.writeFloatBE=function(t,r,i){return Hi(this,t,r,!1,i)};function Ki(e,t,r,i,n){return n||$i(e,t,r,8),Mi(e,t,r,i,52,8),r+8}c.prototype.writeDoubleLE=function(t,r,i){return Ki(this,t,r,!0,i)},c.prototype.writeDoubleBE=function(t,r,i){return Ki(this,t,r,!1,i)},c.prototype.copy=function(t,r,i,n){if(i||(i=0),!n&&n!==0&&(n=this.length),r>=t.length&&(r=t.length),r||(r=0),n>0&&n<i&&(n=i),n===i||t.length===0||this.length===0)return 0;if(r<0)throw new RangeError("targetStart out of bounds");if(i<0||i>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-r<n-i&&(n=t.length-r+i);var a=n-i,o;if(this===t&&i<r&&r<n)for(o=a-1;o>=0;--o)t[o+r]=this[o+i];else if(a<1e3||!c.TYPED_ARRAY_SUPPORT)for(o=0;o<a;++o)t[o+r]=this[o+i];else Uint8Array.prototype.set.call(t,this.subarray(i,i+a),r);return a},c.prototype.fill=function(t,r,i,n){if(typeof t=="string"){if(typeof r=="string"?(n=r,r=0,i=this.length):typeof i=="string"&&(n=i,i=this.length),t.length===1){var a=t.charCodeAt(0);a<256&&(t=a)}if(n!==void 0&&typeof n!="string")throw new TypeError("encoding must be a string");if(typeof n=="string"&&!c.isEncoding(n))throw new TypeError("Unknown encoding: "+n)}else typeof t=="number"&&(t=t&255);if(r<0||this.length<r||this.length<i)throw new RangeError("Out of range index");if(i<=r)return this;r=r>>>0,i=i===void 0?this.length:i>>>0,t||(t=0);var o;if(typeof t=="number")for(o=r;o<i;++o)this[o]=t;else{var s=re(t)?t:It(new c(t,n).toString()),h=s.length;for(o=0;o<i-r;++o)this[o+r]=s[o%h]}return this};var Do=/[^+\/0-9A-Za-z-_]/g;function Fo(e){if(e=No(e).replace(Do,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function No(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function Po(e){return e<16?"0"+e.toString(16):e.toString(16)}function It(e,t){t=t||1/0;for(var r,i=e.length,n=null,a=[],o=0;o<i;++o){if(r=e.charCodeAt(o),r>55295&&r<57344){if(!n){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}else if(o+1===i){(t-=3)>-1&&a.push(239,191,189);continue}n=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),n=r;continue}r=(n-55296<<10|r-56320)+65536}else n&&(t-=3)>-1&&a.push(239,191,189);if(n=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return a}function zo(e){for(var t=[],r=0;r<e.length;++r)t.push(e.charCodeAt(r)&255);return t}function Uo(e,t){for(var r,i,n,a=[],o=0;o<e.length&&!((t-=2)<0);++o)r=e.charCodeAt(o),i=r>>8,n=r%256,a.push(n),a.push(i);return a}function Wi(e){return uo(Fo(e))}function Mt(e,t,r,i){for(var n=0;n<i&&!(n+r>=t.length||n>=e.length);++n)t[n+r]=e[n];return n}function Bo(e){return e!==e}function Zo(e){return e!=null&&(!!e._isBuffer||Yi(e)||jo(e))}function Yi(e){return!!e.constructor&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e)}function jo(e){return typeof e.readFloatLE=="function"&&typeof e.slice=="function"&&Yi(e.slice(0,0))}function qi(){throw new Error("setTimeout has not been defined")}function Gi(){throw new Error("clearTimeout has not been defined")}var we=qi,ge=Gi;typeof qe.setTimeout=="function"&&(we=setTimeout),typeof qe.clearTimeout=="function"&&(ge=clearTimeout);function Vi(e){if(we===setTimeout)return setTimeout(e,0);if((we===qi||!we)&&setTimeout)return we=setTimeout,setTimeout(e,0);try{return we(e,0)}catch{try{return we.call(null,e,0)}catch{return we.call(this,e,0)}}}function $o(e){if(ge===clearTimeout)return clearTimeout(e);if((ge===Gi||!ge)&&clearTimeout)return ge=clearTimeout,clearTimeout(e);try{return ge(e)}catch{try{return ge.call(null,e)}catch{return ge.call(this,e)}}}var se=[],Ge=!1,Le,Dt=-1;function Ho(){!Ge||!Le||(Ge=!1,Le.length?se=Le.concat(se):Dt=-1,se.length&&Xi())}function Xi(){if(!Ge){var e=Vi(Ho);Ge=!0;for(var t=se.length;t;){for(Le=se,se=[];++Dt<t;)Le&&Le[Dt].run();Dt=-1,t=se.length}Le=null,Ge=!1,$o(e)}}function q(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];se.push(new Ji(e,t)),se.length===1&&!Ge&&Vi(Xi)}function Ji(e,t){this.fun=e,this.array=t}Ji.prototype.run=function(){this.fun.apply(null,this.array)};var Ko="browser",Wo="browser",Yo=!0,qo={},Go=[],Vo="",Xo={},Jo={},Qo={};function Ce(){}var es=Ce,ts=Ce,rs=Ce,is=Ce,ns=Ce,as=Ce,os=Ce;function ss(e){throw new Error("process.binding is not supported")}function fs(){return"/"}function ls(e){throw new Error("process.chdir is not supported")}function hs(){return 0}var Ve=qe.performance||{},cs=Ve.now||Ve.mozNow||Ve.msNow||Ve.oNow||Ve.webkitNow||function(){return new Date().getTime()};function us(e){var t=cs.call(Ve)*.001,r=Math.floor(t),i=Math.floor(t%1*1e9);return e&&(r=r-e[0],i=i-e[1],i<0&&(r--,i+=1e9)),[r,i]}var ds=new Date;function ps(){var e=new Date,t=e-ds;return t/1e3}var fe={nextTick:q,title:Ko,browser:Yo,env:qo,argv:Go,version:Vo,versions:Xo,on:es,addListener:ts,once:rs,off:is,removeListener:ns,removeAllListeners:as,emit:os,binding:ss,cwd:fs,chdir:ls,umask:hs,hrtime:us,platform:Wo,release:Jo,config:Qo,uptime:ps},$;typeof Object.create=="function"?$=function(t,r){t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:$=function(t,r){t.super_=r;var i=function(){};i.prototype=r.prototype,t.prototype=new i,t.prototype.constructor=t};var _s=/%[sdj%]/g;function ws(e){if(!yr(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(ve(arguments[r]));return t.join(" ")}for(var r=1,i=arguments,n=i.length,a=String(e).replace(_s,function(s){if(s==="%%")return"%";if(r>=n)return s;switch(s){case"%s":return String(i[r++]);case"%d":return Number(i[r++]);case"%j":try{return JSON.stringify(i[r++])}catch{return"[Circular]"}default:return s}}),o=i[r];r<n;o=i[++r])br(o)||!ot(o)?a+=" "+o:a+=" "+ve(o);return a}function Qi(e,t){if(me(qe.process))return function(){return Qi(e,t).apply(this,arguments)};if(fe.noDeprecation===!0)return e;var r=!1;function i(){if(!r){if(fe.throwDeprecation)throw new Error(t);fe.traceDeprecation?console.trace(t):console.error(t),r=!0}return e.apply(this,arguments)}return i}var Ft={},gr;function gs(e){if(me(gr)&&(gr=fe.env.NODE_DEBUG||""),e=e.toUpperCase(),!Ft[e])if(new RegExp("\\b"+e+"\\b","i").test(gr)){var t=0;Ft[e]=function(){var r=ws.apply(null,arguments);console.error("%s %d: %s",e,t,r)}}else Ft[e]=function(){};return Ft[e]}function ve(e,t){var r={seen:[],stylize:ms};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),en(t)?r.showHidden=t:t&&Rs(r,t),me(r.showHidden)&&(r.showHidden=!1),me(r.depth)&&(r.depth=2),me(r.colors)&&(r.colors=!1),me(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=vs),Nt(r,e,r.depth)}ve.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]},ve.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function vs(e,t){var r=ve.styles[t];return r?"\x1B["+ve.colors[r][0]+"m"+e+"\x1B["+ve.colors[r][1]+"m":e}function ms(e,t){return e}function bs(e){var t={};return e.forEach(function(r,i){t[r]=!0}),t}function Nt(e,t,r){if(e.customInspect&&t&&kr(t.inspect)&&t.inspect!==ve&&!(t.constructor&&t.constructor.prototype===t)){var i=t.inspect(r,e);return yr(i)||(i=Nt(e,i,r)),i}var n=ys(e,t);if(n)return n;var a=Object.keys(t),o=bs(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),Er(t)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return vr(t);if(a.length===0){if(kr(t)){var s=t.name?": "+t.name:"";return e.stylize("[Function"+s+"]","special")}if(xr(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(tn(t))return e.stylize(Date.prototype.toString.call(t),"date");if(Er(t))return vr(t)}var h="",f=!1,l=["{","}"];if(ks(t)&&(f=!0,l=["[","]"]),kr(t)){var d=t.name?": "+t.name:"";h=" [Function"+d+"]"}if(xr(t)&&(h=" "+RegExp.prototype.toString.call(t)),tn(t)&&(h=" "+Date.prototype.toUTCString.call(t)),Er(t)&&(h=" "+vr(t)),a.length===0&&(!f||t.length==0))return l[0]+h+l[1];if(r<0)return xr(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);var p;return f?p=xs(e,t,r,o,a):p=a.map(function(u){return mr(e,t,r,o,u,f)}),e.seen.pop(),Es(p,h,l)}function ys(e,t){if(me(t))return e.stylize("undefined","undefined");if(yr(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(Ss(t))return e.stylize(""+t,"number");if(en(t))return e.stylize(""+t,"boolean");if(br(t))return e.stylize("null","null")}function vr(e){return"["+Error.prototype.toString.call(e)+"]"}function xs(e,t,r,i,n){for(var a=[],o=0,s=t.length;o<s;++o)rn(t,String(o))?a.push(mr(e,t,r,i,String(o),!0)):a.push("");return n.forEach(function(h){h.match(/^\d+$/)||a.push(mr(e,t,r,i,h,!0))}),a}function mr(e,t,r,i,n,a){var o,s,h;if(h=Object.getOwnPropertyDescriptor(t,n)||{value:t[n]},h.get?h.set?s=e.stylize("[Getter/Setter]","special"):s=e.stylize("[Getter]","special"):h.set&&(s=e.stylize("[Setter]","special")),rn(i,n)||(o="["+n+"]"),s||(e.seen.indexOf(h.value)<0?(br(r)?s=Nt(e,h.value,null):s=Nt(e,h.value,r-1),s.indexOf(`
12
+ */var go=50;c.TYPED_ARRAY_SUPPORT=qe.TYPED_ARRAY_SUPPORT!==void 0?qe.TYPED_ARRAY_SUPPORT:!0,Lt();function Lt(){return c.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function oe(e,t){if(Lt()<t)throw new RangeError("Invalid typed array length");return c.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t),e.__proto__=c.prototype):(e===null&&(e=new c(t)),e.length=t),e}function c(e,t,r){if(!c.TYPED_ARRAY_SUPPORT&&!(this instanceof c))return new c(e,t,r);if(typeof e=="number"){if(typeof t=="string")throw new Error("If encoding is specified then the first argument must be a string");return pr(this,e)}return Fi(this,e,t,r)}c.poolSize=8192,c._augment=function(e){return e.__proto__=c.prototype,e};function Fi(e,t,r,i){if(typeof t=="number")throw new TypeError('"value" argument must not be a number');return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer?mo(e,t,r,i):typeof t=="string"?bo(e,t,r):yo(e,t)}c.from=function(e,t,r){return Fi(null,e,t,r)},c.TYPED_ARRAY_SUPPORT&&(c.prototype.__proto__=Uint8Array.prototype,c.__proto__=Uint8Array,typeof Symbol<"u"&&Symbol.species&&c[Symbol.species]);function Ni(e){if(typeof e!="number")throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function vo(e,t,r,i){return Ni(t),t<=0?oe(e,t):r!==void 0?typeof i=="string"?oe(e,t).fill(r,i):oe(e,t).fill(r):oe(e,t)}c.alloc=function(e,t,r){return vo(null,e,t,r)};function pr(e,t){if(Ni(t),e=oe(e,t<0?0:wr(t)|0),!c.TYPED_ARRAY_SUPPORT)for(var r=0;r<t;++r)e[r]=0;return e}c.allocUnsafe=function(e){return pr(null,e)},c.allocUnsafeSlow=function(e){return pr(null,e)};function bo(e,t,r){if((typeof r!="string"||r==="")&&(r="utf8"),!c.isEncoding(r))throw new TypeError('"encoding" must be a valid string encoding');var i=Pi(t,r)|0;e=oe(e,i);var n=e.write(t,r);return n!==i&&(e=e.slice(0,n)),e}function _r(e,t){var r=t.length<0?0:wr(t.length)|0;e=oe(e,r);for(var i=0;i<r;i+=1)e[i]=t[i]&255;return e}function mo(e,t,r,i){if(t.byteLength,r<0||t.byteLength<r)throw new RangeError("'offset' is out of bounds");if(t.byteLength<r+(i||0))throw new RangeError("'length' is out of bounds");return r===void 0&&i===void 0?t=new Uint8Array(t):i===void 0?t=new Uint8Array(t,r):t=new Uint8Array(t,r,i),c.TYPED_ARRAY_SUPPORT?(e=t,e.__proto__=c.prototype):e=_r(e,t),e}function yo(e,t){if(re(t)){var r=wr(t.length)|0;return e=oe(e,r),e.length===0||t.copy(e,0,0,r),e}if(t){if(typeof ArrayBuffer<"u"&&t.buffer instanceof ArrayBuffer||"length"in t)return typeof t.length!="number"||Bo(t.length)?oe(e,0):_r(e,t);if(t.type==="Buffer"&&Di(t.data))return _r(e,t.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function wr(e){if(e>=Lt())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Lt().toString(16)+" bytes");return e|0}c.isBuffer=Zo;function re(e){return!!(e!=null&&e._isBuffer)}c.compare=function(t,r){if(!re(t)||!re(r))throw new TypeError("Arguments must be Buffers");if(t===r)return 0;for(var i=t.length,n=r.length,a=0,o=Math.min(i,n);a<o;++a)if(t[a]!==r[a]){i=t[a],n=r[a];break}return i<n?-1:n<i?1:0},c.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},c.concat=function(t,r){if(!Di(t))throw new TypeError('"list" argument must be an Array of Buffers');if(t.length===0)return c.alloc(0);var i;if(r===void 0)for(r=0,i=0;i<t.length;++i)r+=t[i].length;var n=c.allocUnsafe(r),a=0;for(i=0;i<t.length;++i){var o=t[i];if(!re(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(n,a),a+=o.length}return n};function Pi(e,t){if(re(e))return e.length;if(typeof ArrayBuffer<"u"&&typeof ArrayBuffer.isView=="function"&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;typeof e!="string"&&(e=""+e);var r=e.length;if(r===0)return 0;for(var i=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return It(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return Wi(e).length;default:if(i)return It(e).length;t=(""+t).toLowerCase(),i=!0}}c.byteLength=Pi;function xo(e,t,r){var i=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return Io(this,t,r);case"utf8":case"utf-8":return Zi(this,t,r);case"ascii":return Co(this,t,r);case"latin1":case"binary":return Oo(this,t,r);case"base64":return To(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Mo(this,t,r);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}c.prototype._isBuffer=!0;function Te(e,t,r){var i=e[t];e[t]=e[r],e[r]=i}c.prototype.swap16=function(){var t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var r=0;r<t;r+=2)Te(this,r,r+1);return this},c.prototype.swap32=function(){var t=this.length;if(t%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var r=0;r<t;r+=4)Te(this,r,r+3),Te(this,r+1,r+2);return this},c.prototype.swap64=function(){var t=this.length;if(t%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var r=0;r<t;r+=8)Te(this,r,r+7),Te(this,r+1,r+6),Te(this,r+2,r+5),Te(this,r+3,r+4);return this},c.prototype.toString=function(){var t=this.length|0;return t===0?"":arguments.length===0?Zi(this,0,t):xo.apply(this,arguments)},c.prototype.equals=function(t){if(!re(t))throw new TypeError("Argument must be a Buffer");return this===t?!0:c.compare(this,t)===0},c.prototype.inspect=function(){var t="",r=go;return this.length>0&&(t=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(t+=" ... ")),"<Buffer "+t+">"},c.prototype.compare=function(t,r,i,n,a){if(!re(t))throw new TypeError("Argument must be a Buffer");if(r===void 0&&(r=0),i===void 0&&(i=t?t.length:0),n===void 0&&(n=0),a===void 0&&(a=this.length),r<0||i>t.length||n<0||a>this.length)throw new RangeError("out of range index");if(n>=a&&r>=i)return 0;if(n>=a)return-1;if(r>=i)return 1;if(r>>>=0,i>>>=0,n>>>=0,a>>>=0,this===t)return 0;for(var o=a-n,s=i-r,h=Math.min(o,s),f=this.slice(n,a),l=t.slice(r,i),d=0;d<h;++d)if(f[d]!==l[d]){o=f[d],s=l[d];break}return o<s?-1:s<o?1:0};function zi(e,t,r,i,n){if(e.length===0)return-1;if(typeof r=="string"?(i=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=n?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(n)return-1;r=e.length-1}else if(r<0)if(n)r=0;else return-1;if(typeof t=="string"&&(t=c.from(t,i)),re(t))return t.length===0?-1:Ui(e,t,r,i,n);if(typeof t=="number")return t=t&255,c.TYPED_ARRAY_SUPPORT&&typeof Uint8Array.prototype.indexOf=="function"?n?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):Ui(e,[t],r,i,n);throw new TypeError("val must be string, number or Buffer")}function Ui(e,t,r,i,n){var a=1,o=e.length,s=t.length;if(i!==void 0&&(i=String(i).toLowerCase(),i==="ucs2"||i==="ucs-2"||i==="utf16le"||i==="utf-16le")){if(e.length<2||t.length<2)return-1;a=2,o/=2,s/=2,r/=2}function h(u,g){return a===1?u[g]:u.readUInt16BE(g*a)}var f;if(n){var l=-1;for(f=r;f<o;f++)if(h(e,f)===h(t,l===-1?0:f-l)){if(l===-1&&(l=f),f-l+1===s)return l*a}else l!==-1&&(f-=f-l),l=-1}else for(r+s>o&&(r=o-s),f=r;f>=0;f--){for(var d=!0,p=0;p<s;p++)if(h(e,f+p)!==h(t,p)){d=!1;break}if(d)return f}return-1}c.prototype.includes=function(t,r,i){return this.indexOf(t,r,i)!==-1},c.prototype.indexOf=function(t,r,i){return zi(this,t,r,i,!0)},c.prototype.lastIndexOf=function(t,r,i){return zi(this,t,r,i,!1)};function Eo(e,t,r,i){r=Number(r)||0;var n=e.length-r;i?(i=Number(i),i>n&&(i=n)):i=n;var a=t.length;if(a%2!==0)throw new TypeError("Invalid hex string");i>a/2&&(i=a/2);for(var o=0;o<i;++o){var s=parseInt(t.substr(o*2,2),16);if(isNaN(s))return o;e[r+o]=s}return o}function ko(e,t,r,i){return Mt(It(t,e.length-r),e,r,i)}function Bi(e,t,r,i){return Mt(zo(t),e,r,i)}function So(e,t,r,i){return Bi(e,t,r,i)}function Ro(e,t,r,i){return Mt(Wi(t),e,r,i)}function Ao(e,t,r,i){return Mt(Uo(t,e.length-r),e,r,i)}c.prototype.write=function(t,r,i,n){if(r===void 0)n="utf8",i=this.length,r=0;else if(i===void 0&&typeof r=="string")n=r,i=this.length,r=0;else if(isFinite(r))r=r|0,isFinite(i)?(i=i|0,n===void 0&&(n="utf8")):(n=i,i=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var a=this.length-r;if((i===void 0||i>a)&&(i=a),t.length>0&&(i<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return Eo(this,t,r,i);case"utf8":case"utf-8":return ko(this,t,r,i);case"ascii":return Bi(this,t,r,i);case"latin1":case"binary":return So(this,t,r,i);case"base64":return Ro(this,t,r,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ao(this,t,r,i);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function To(e,t,r){return t===0&&r===e.length?Ii(e):Ii(e.slice(t,r))}function Zi(e,t,r){r=Math.min(e.length,r);for(var i=[],n=t;n<r;){var a=e[n],o=null,s=a>239?4:a>223?3:a>191?2:1;if(n+s<=r){var h,f,l,d;switch(s){case 1:a<128&&(o=a);break;case 2:h=e[n+1],(h&192)===128&&(d=(a&31)<<6|h&63,d>127&&(o=d));break;case 3:h=e[n+1],f=e[n+2],(h&192)===128&&(f&192)===128&&(d=(a&15)<<12|(h&63)<<6|f&63,d>2047&&(d<55296||d>57343)&&(o=d));break;case 4:h=e[n+1],f=e[n+2],l=e[n+3],(h&192)===128&&(f&192)===128&&(l&192)===128&&(d=(a&15)<<18|(h&63)<<12|(f&63)<<6|l&63,d>65535&&d<1114112&&(o=d))}}o===null?(o=65533,s=1):o>65535&&(o-=65536,i.push(o>>>10&1023|55296),o=56320|o&1023),i.push(o),n+=s}return Lo(i)}var ji=4096;function Lo(e){var t=e.length;if(t<=ji)return String.fromCharCode.apply(String,e);for(var r="",i=0;i<t;)r+=String.fromCharCode.apply(String,e.slice(i,i+=ji));return r}function Co(e,t,r){var i="";r=Math.min(e.length,r);for(var n=t;n<r;++n)i+=String.fromCharCode(e[n]&127);return i}function Oo(e,t,r){var i="";r=Math.min(e.length,r);for(var n=t;n<r;++n)i+=String.fromCharCode(e[n]);return i}function Io(e,t,r){var i=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>i)&&(r=i);for(var n="",a=t;a<r;++a)n+=Po(e[a]);return n}function Mo(e,t,r){for(var i=e.slice(t,r),n="",a=0;a<i.length;a+=2)n+=String.fromCharCode(i[a]+i[a+1]*256);return n}c.prototype.slice=function(t,r){var i=this.length;t=~~t,r=r===void 0?i:~~r,t<0?(t+=i,t<0&&(t=0)):t>i&&(t=i),r<0?(r+=i,r<0&&(r=0)):r>i&&(r=i),r<t&&(r=t);var n;if(c.TYPED_ARRAY_SUPPORT)n=this.subarray(t,r),n.__proto__=c.prototype;else{var a=r-t;n=new c(a,void 0);for(var o=0;o<a;++o)n[o]=this[o+t]}return n};function U(e,t,r){if(e%1!==0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}c.prototype.readUIntLE=function(t,r,i){t=t|0,r=r|0,i||U(t,r,this.length);for(var n=this[t],a=1,o=0;++o<r&&(a*=256);)n+=this[t+o]*a;return n},c.prototype.readUIntBE=function(t,r,i){t=t|0,r=r|0,i||U(t,r,this.length);for(var n=this[t+--r],a=1;r>0&&(a*=256);)n+=this[t+--r]*a;return n},c.prototype.readUInt8=function(t,r){return r||U(t,1,this.length),this[t]},c.prototype.readUInt16LE=function(t,r){return r||U(t,2,this.length),this[t]|this[t+1]<<8},c.prototype.readUInt16BE=function(t,r){return r||U(t,2,this.length),this[t]<<8|this[t+1]},c.prototype.readUInt32LE=function(t,r){return r||U(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216},c.prototype.readUInt32BE=function(t,r){return r||U(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])},c.prototype.readIntLE=function(t,r,i){t=t|0,r=r|0,i||U(t,r,this.length);for(var n=this[t],a=1,o=0;++o<r&&(a*=256);)n+=this[t+o]*a;return a*=128,n>=a&&(n-=Math.pow(2,8*r)),n},c.prototype.readIntBE=function(t,r,i){t=t|0,r=r|0,i||U(t,r,this.length);for(var n=r,a=1,o=this[t+--n];n>0&&(a*=256);)o+=this[t+--n]*a;return a*=128,o>=a&&(o-=Math.pow(2,8*r)),o},c.prototype.readInt8=function(t,r){return r||U(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]},c.prototype.readInt16LE=function(t,r){r||U(t,2,this.length);var i=this[t]|this[t+1]<<8;return i&32768?i|4294901760:i},c.prototype.readInt16BE=function(t,r){r||U(t,2,this.length);var i=this[t+1]|this[t]<<8;return i&32768?i|4294901760:i},c.prototype.readInt32LE=function(t,r){return r||U(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},c.prototype.readInt32BE=function(t,r){return r||U(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},c.prototype.readFloatLE=function(t,r){return r||U(t,4,this.length),Tt(this,t,!0,23,4)},c.prototype.readFloatBE=function(t,r){return r||U(t,4,this.length),Tt(this,t,!1,23,4)},c.prototype.readDoubleLE=function(t,r){return r||U(t,8,this.length),Tt(this,t,!0,52,8)},c.prototype.readDoubleBE=function(t,r){return r||U(t,8,this.length),Tt(this,t,!1,52,8)};function K(e,t,r,i,n,a){if(!re(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>n||t<a)throw new RangeError('"value" argument is out of bounds');if(r+i>e.length)throw new RangeError("Index out of range")}c.prototype.writeUIntLE=function(t,r,i,n){if(t=+t,r=r|0,i=i|0,!n){var a=Math.pow(2,8*i)-1;K(this,t,r,i,a,0)}var o=1,s=0;for(this[r]=t&255;++s<i&&(o*=256);)this[r+s]=t/o&255;return r+i},c.prototype.writeUIntBE=function(t,r,i,n){if(t=+t,r=r|0,i=i|0,!n){var a=Math.pow(2,8*i)-1;K(this,t,r,i,a,0)}var o=i-1,s=1;for(this[r+o]=t&255;--o>=0&&(s*=256);)this[r+o]=t/s&255;return r+i},c.prototype.writeUInt8=function(t,r,i){return t=+t,r=r|0,i||K(this,t,r,1,255,0),c.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[r]=t&255,r+1};function Ct(e,t,r,i){t<0&&(t=65535+t+1);for(var n=0,a=Math.min(e.length-r,2);n<a;++n)e[r+n]=(t&255<<8*(i?n:1-n))>>>(i?n:1-n)*8}c.prototype.writeUInt16LE=function(t,r,i){return t=+t,r=r|0,i||K(this,t,r,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[r]=t&255,this[r+1]=t>>>8):Ct(this,t,r,!0),r+2},c.prototype.writeUInt16BE=function(t,r,i){return t=+t,r=r|0,i||K(this,t,r,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=t&255):Ct(this,t,r,!1),r+2};function Ot(e,t,r,i){t<0&&(t=4294967295+t+1);for(var n=0,a=Math.min(e.length-r,4);n<a;++n)e[r+n]=t>>>(i?n:3-n)*8&255}c.prototype.writeUInt32LE=function(t,r,i){return t=+t,r=r|0,i||K(this,t,r,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255):Ot(this,t,r,!0),r+4},c.prototype.writeUInt32BE=function(t,r,i){return t=+t,r=r|0,i||K(this,t,r,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255):Ot(this,t,r,!1),r+4},c.prototype.writeIntLE=function(t,r,i,n){if(t=+t,r=r|0,!n){var a=Math.pow(2,8*i-1);K(this,t,r,i,a-1,-a)}var o=0,s=1,h=0;for(this[r]=t&255;++o<i&&(s*=256);)t<0&&h===0&&this[r+o-1]!==0&&(h=1),this[r+o]=(t/s>>0)-h&255;return r+i},c.prototype.writeIntBE=function(t,r,i,n){if(t=+t,r=r|0,!n){var a=Math.pow(2,8*i-1);K(this,t,r,i,a-1,-a)}var o=i-1,s=1,h=0;for(this[r+o]=t&255;--o>=0&&(s*=256);)t<0&&h===0&&this[r+o+1]!==0&&(h=1),this[r+o]=(t/s>>0)-h&255;return r+i},c.prototype.writeInt8=function(t,r,i){return t=+t,r=r|0,i||K(this,t,r,1,127,-128),c.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[r]=t&255,r+1},c.prototype.writeInt16LE=function(t,r,i){return t=+t,r=r|0,i||K(this,t,r,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[r]=t&255,this[r+1]=t>>>8):Ct(this,t,r,!0),r+2},c.prototype.writeInt16BE=function(t,r,i){return t=+t,r=r|0,i||K(this,t,r,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=t&255):Ct(this,t,r,!1),r+2},c.prototype.writeInt32LE=function(t,r,i){return t=+t,r=r|0,i||K(this,t,r,4,2147483647,-2147483648),c.TYPED_ARRAY_SUPPORT?(this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24):Ot(this,t,r,!0),r+4},c.prototype.writeInt32BE=function(t,r,i){return t=+t,r=r|0,i||K(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),c.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255):Ot(this,t,r,!1),r+4};function $i(e,t,r,i,n,a){if(r+i>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function Hi(e,t,r,i,n){return n||$i(e,t,r,4),Mi(e,t,r,i,23,4),r+4}c.prototype.writeFloatLE=function(t,r,i){return Hi(this,t,r,!0,i)},c.prototype.writeFloatBE=function(t,r,i){return Hi(this,t,r,!1,i)};function Ki(e,t,r,i,n){return n||$i(e,t,r,8),Mi(e,t,r,i,52,8),r+8}c.prototype.writeDoubleLE=function(t,r,i){return Ki(this,t,r,!0,i)},c.prototype.writeDoubleBE=function(t,r,i){return Ki(this,t,r,!1,i)},c.prototype.copy=function(t,r,i,n){if(i||(i=0),!n&&n!==0&&(n=this.length),r>=t.length&&(r=t.length),r||(r=0),n>0&&n<i&&(n=i),n===i||t.length===0||this.length===0)return 0;if(r<0)throw new RangeError("targetStart out of bounds");if(i<0||i>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-r<n-i&&(n=t.length-r+i);var a=n-i,o;if(this===t&&i<r&&r<n)for(o=a-1;o>=0;--o)t[o+r]=this[o+i];else if(a<1e3||!c.TYPED_ARRAY_SUPPORT)for(o=0;o<a;++o)t[o+r]=this[o+i];else Uint8Array.prototype.set.call(t,this.subarray(i,i+a),r);return a},c.prototype.fill=function(t,r,i,n){if(typeof t=="string"){if(typeof r=="string"?(n=r,r=0,i=this.length):typeof i=="string"&&(n=i,i=this.length),t.length===1){var a=t.charCodeAt(0);a<256&&(t=a)}if(n!==void 0&&typeof n!="string")throw new TypeError("encoding must be a string");if(typeof n=="string"&&!c.isEncoding(n))throw new TypeError("Unknown encoding: "+n)}else typeof t=="number"&&(t=t&255);if(r<0||this.length<r||this.length<i)throw new RangeError("Out of range index");if(i<=r)return this;r=r>>>0,i=i===void 0?this.length:i>>>0,t||(t=0);var o;if(typeof t=="number")for(o=r;o<i;++o)this[o]=t;else{var s=re(t)?t:It(new c(t,n).toString()),h=s.length;for(o=0;o<i-r;++o)this[o+r]=s[o%h]}return this};var Do=/[^+\/0-9A-Za-z-_]/g;function Fo(e){if(e=No(e).replace(Do,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function No(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function Po(e){return e<16?"0"+e.toString(16):e.toString(16)}function It(e,t){t=t||1/0;for(var r,i=e.length,n=null,a=[],o=0;o<i;++o){if(r=e.charCodeAt(o),r>55295&&r<57344){if(!n){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}else if(o+1===i){(t-=3)>-1&&a.push(239,191,189);continue}n=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),n=r;continue}r=(n-55296<<10|r-56320)+65536}else n&&(t-=3)>-1&&a.push(239,191,189);if(n=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return a}function zo(e){for(var t=[],r=0;r<e.length;++r)t.push(e.charCodeAt(r)&255);return t}function Uo(e,t){for(var r,i,n,a=[],o=0;o<e.length&&!((t-=2)<0);++o)r=e.charCodeAt(o),i=r>>8,n=r%256,a.push(n),a.push(i);return a}function Wi(e){return uo(Fo(e))}function Mt(e,t,r,i){for(var n=0;n<i&&!(n+r>=t.length||n>=e.length);++n)t[n+r]=e[n];return n}function Bo(e){return e!==e}function Zo(e){return e!=null&&(!!e._isBuffer||Yi(e)||jo(e))}function Yi(e){return!!e.constructor&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e)}function jo(e){return typeof e.readFloatLE=="function"&&typeof e.slice=="function"&&Yi(e.slice(0,0))}function qi(){throw new Error("setTimeout has not been defined")}function Gi(){throw new Error("clearTimeout has not been defined")}var we=qi,ge=Gi;typeof qe.setTimeout=="function"&&(we=setTimeout),typeof qe.clearTimeout=="function"&&(ge=clearTimeout);function Vi(e){if(we===setTimeout)return setTimeout(e,0);if((we===qi||!we)&&setTimeout)return we=setTimeout,setTimeout(e,0);try{return we(e,0)}catch{try{return we.call(null,e,0)}catch{return we.call(this,e,0)}}}function $o(e){if(ge===clearTimeout)return clearTimeout(e);if((ge===Gi||!ge)&&clearTimeout)return ge=clearTimeout,clearTimeout(e);try{return ge(e)}catch{try{return ge.call(null,e)}catch{return ge.call(this,e)}}}var se=[],Ge=!1,Le,Dt=-1;function Ho(){!Ge||!Le||(Ge=!1,Le.length?se=Le.concat(se):Dt=-1,se.length&&Xi())}function Xi(){if(!Ge){var e=Vi(Ho);Ge=!0;for(var t=se.length;t;){for(Le=se,se=[];++Dt<t;)Le&&Le[Dt].run();Dt=-1,t=se.length}Le=null,Ge=!1,$o(e)}}function q(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];se.push(new Ji(e,t)),se.length===1&&!Ge&&Vi(Xi)}function Ji(e,t){this.fun=e,this.array=t}Ji.prototype.run=function(){this.fun.apply(null,this.array)};var Ko="browser",Wo="browser",Yo=!0,qo={},Go=[],Vo="",Xo={},Jo={},Qo={};function Ce(){}var es=Ce,ts=Ce,rs=Ce,is=Ce,ns=Ce,as=Ce,os=Ce;function ss(e){throw new Error("process.binding is not supported")}function fs(){return"/"}function ls(e){throw new Error("process.chdir is not supported")}function hs(){return 0}var Ve=qe.performance||{},cs=Ve.now||Ve.mozNow||Ve.msNow||Ve.oNow||Ve.webkitNow||function(){return new Date().getTime()};function us(e){var t=cs.call(Ve)*.001,r=Math.floor(t),i=Math.floor(t%1*1e9);return e&&(r=r-e[0],i=i-e[1],i<0&&(r--,i+=1e9)),[r,i]}var ds=new Date;function ps(){var e=new Date,t=e-ds;return t/1e3}var fe={nextTick:q,title:Ko,browser:Yo,env:qo,argv:Go,version:Vo,versions:Xo,on:es,addListener:ts,once:rs,off:is,removeListener:ns,removeAllListeners:as,emit:os,binding:ss,cwd:fs,chdir:ls,umask:hs,hrtime:us,platform:Wo,release:Jo,config:Qo,uptime:ps},$;typeof Object.create=="function"?$=function(t,r){t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:$=function(t,r){t.super_=r;var i=function(){};i.prototype=r.prototype,t.prototype=new i,t.prototype.constructor=t};var _s=/%[sdj%]/g;function ws(e){if(!yr(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(ve(arguments[r]));return t.join(" ")}for(var r=1,i=arguments,n=i.length,a=String(e).replace(_s,function(s){if(s==="%%")return"%";if(r>=n)return s;switch(s){case"%s":return String(i[r++]);case"%d":return Number(i[r++]);case"%j":try{return JSON.stringify(i[r++])}catch{return"[Circular]"}default:return s}}),o=i[r];r<n;o=i[++r])mr(o)||!ot(o)?a+=" "+o:a+=" "+ve(o);return a}function Qi(e,t){if(be(qe.process))return function(){return Qi(e,t).apply(this,arguments)};if(fe.noDeprecation===!0)return e;var r=!1;function i(){if(!r){if(fe.throwDeprecation)throw new Error(t);fe.traceDeprecation?console.trace(t):console.error(t),r=!0}return e.apply(this,arguments)}return i}var Ft={},gr;function gs(e){if(be(gr)&&(gr=fe.env.NODE_DEBUG||""),e=e.toUpperCase(),!Ft[e])if(new RegExp("\\b"+e+"\\b","i").test(gr)){var t=0;Ft[e]=function(){var r=ws.apply(null,arguments);console.error("%s %d: %s",e,t,r)}}else Ft[e]=function(){};return Ft[e]}function ve(e,t){var r={seen:[],stylize:bs};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),en(t)?r.showHidden=t:t&&Rs(r,t),be(r.showHidden)&&(r.showHidden=!1),be(r.depth)&&(r.depth=2),be(r.colors)&&(r.colors=!1),be(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=vs),Nt(r,e,r.depth)}ve.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]},ve.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function vs(e,t){var r=ve.styles[t];return r?"\x1B["+ve.colors[r][0]+"m"+e+"\x1B["+ve.colors[r][1]+"m":e}function bs(e,t){return e}function ms(e){var t={};return e.forEach(function(r,i){t[r]=!0}),t}function Nt(e,t,r){if(e.customInspect&&t&&kr(t.inspect)&&t.inspect!==ve&&!(t.constructor&&t.constructor.prototype===t)){var i=t.inspect(r,e);return yr(i)||(i=Nt(e,i,r)),i}var n=ys(e,t);if(n)return n;var a=Object.keys(t),o=ms(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),Er(t)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return vr(t);if(a.length===0){if(kr(t)){var s=t.name?": "+t.name:"";return e.stylize("[Function"+s+"]","special")}if(xr(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(tn(t))return e.stylize(Date.prototype.toString.call(t),"date");if(Er(t))return vr(t)}var h="",f=!1,l=["{","}"];if(ks(t)&&(f=!0,l=["[","]"]),kr(t)){var d=t.name?": "+t.name:"";h=" [Function"+d+"]"}if(xr(t)&&(h=" "+RegExp.prototype.toString.call(t)),tn(t)&&(h=" "+Date.prototype.toUTCString.call(t)),Er(t)&&(h=" "+vr(t)),a.length===0&&(!f||t.length==0))return l[0]+h+l[1];if(r<0)return xr(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);var p;return f?p=xs(e,t,r,o,a):p=a.map(function(u){return br(e,t,r,o,u,f)}),e.seen.pop(),Es(p,h,l)}function ys(e,t){if(be(t))return e.stylize("undefined","undefined");if(yr(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(Ss(t))return e.stylize(""+t,"number");if(en(t))return e.stylize(""+t,"boolean");if(mr(t))return e.stylize("null","null")}function vr(e){return"["+Error.prototype.toString.call(e)+"]"}function xs(e,t,r,i,n){for(var a=[],o=0,s=t.length;o<s;++o)rn(t,String(o))?a.push(br(e,t,r,i,String(o),!0)):a.push("");return n.forEach(function(h){h.match(/^\d+$/)||a.push(br(e,t,r,i,h,!0))}),a}function br(e,t,r,i,n,a){var o,s,h;if(h=Object.getOwnPropertyDescriptor(t,n)||{value:t[n]},h.get?h.set?s=e.stylize("[Getter/Setter]","special"):s=e.stylize("[Getter]","special"):h.set&&(s=e.stylize("[Setter]","special")),rn(i,n)||(o="["+n+"]"),s||(e.seen.indexOf(h.value)<0?(mr(r)?s=Nt(e,h.value,null):s=Nt(e,h.value,r-1),s.indexOf(`
13
13
  `)>-1&&(a?s=s.split(`
14
14
  `).map(function(f){return" "+f}).join(`
15
15
  `).substr(2):s=`
16
16
  `+s.split(`
17
17
  `).map(function(f){return" "+f}).join(`
18
- `))):s=e.stylize("[Circular]","special")),me(o)){if(a&&n.match(/^\d+$/))return s;o=JSON.stringify(""+n),o.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+s}function Es(e,t,r){var i=e.reduce(function(n,a){return a.indexOf(`
18
+ `))):s=e.stylize("[Circular]","special")),be(o)){if(a&&n.match(/^\d+$/))return s;o=JSON.stringify(""+n),o.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+s}function Es(e,t,r){var i=e.reduce(function(n,a){return a.indexOf(`
19
19
  `)>=0,n+a.replace(/\u001b\[\d\d?m/g,"").length+1},0);return i>60?r[0]+(t===""?"":t+`
20
20
  `)+" "+e.join(`,
21
- `)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}function ks(e){return Array.isArray(e)}function en(e){return typeof e=="boolean"}function br(e){return e===null}function Ss(e){return typeof e=="number"}function yr(e){return typeof e=="string"}function me(e){return e===void 0}function xr(e){return ot(e)&&Sr(e)==="[object RegExp]"}function ot(e){return typeof e=="object"&&e!==null}function tn(e){return ot(e)&&Sr(e)==="[object Date]"}function Er(e){return ot(e)&&(Sr(e)==="[object Error]"||e instanceof Error)}function kr(e){return typeof e=="function"}function Sr(e){return Object.prototype.toString.call(e)}function Rs(e,t){if(!t||!ot(t))return e;for(var r=Object.keys(t),i=r.length;i--;)e[r[i]]=t[r[i]];return e}function rn(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Oe(){this.head=null,this.tail=null,this.length=0}Oe.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},Oe.prototype.unshift=function(e){var t={data:e,next:this.head};this.length===0&&(this.tail=t),this.head=t,++this.length},Oe.prototype.shift=function(){if(this.length!==0){var e=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},Oe.prototype.clear=function(){this.head=this.tail=null,this.length=0},Oe.prototype.join=function(e){if(this.length===0)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r},Oe.prototype.concat=function(e){if(this.length===0)return c.alloc(0);if(this.length===1)return this.head.data;for(var t=c.allocUnsafe(e>>>0),r=this.head,i=0;r;)r.data.copy(t,i),i+=r.data.length,r=r.next;return t};var As=c.isEncoding||function(e){switch(e&&e.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 Ts(e){if(e&&!As(e))throw new Error("Unknown encoding: "+e)}function st(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),Ts(e),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=Cs;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=Os;break;default:this.write=Ls;return}this.charBuffer=new c(6),this.charReceived=0,this.charLength=0}st.prototype.write=function(e){for(var t="";this.charLength;){var r=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,r),this.charReceived+=r,this.charReceived<this.charLength)return"";e=e.slice(r,e.length),t=this.charBuffer.slice(0,this.charLength).toString(this.encoding);var n=t.charCodeAt(t.length-1);if(n>=55296&&n<=56319){this.charLength+=this.surrogateSize,t="";continue}if(this.charReceived=this.charLength=0,e.length===0)return t;break}this.detectIncompleteChar(e);var i=e.length;this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,i),i-=this.charReceived),t+=e.toString(this.encoding,0,i);var i=t.length-1,n=t.charCodeAt(i);if(n>=55296&&n<=56319){var a=this.surrogateSize;return this.charLength+=a,this.charReceived+=a,this.charBuffer.copy(this.charBuffer,a,0,a),e.copy(this.charBuffer,0,0,a),t.substring(0,i)}return t},st.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var r=e[e.length-t];if(t==1&&r>>5==6){this.charLength=2;break}if(t<=2&&r>>4==14){this.charLength=3;break}if(t<=3&&r>>3==30){this.charLength=4;break}}this.charReceived=t},st.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var r=this.charReceived,i=this.charBuffer,n=this.encoding;t+=i.slice(0,r).toString(n)}return t};function Ls(e){return e.toString(this.encoding)}function Cs(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function Os(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}N.ReadableState=nn;var C=gs("stream");$(N,b);function Is(e,t,r){if(typeof e.prependListener=="function")return e.prependListener(t,r);!e._events||!e._events[t]?e.on(t,r):Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]}function Ms(e,t){return e.listeners(t).length}function nn(e,t){e=e||{},this.objectMode=!!e.objectMode,t instanceof V&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var r=e.highWaterMark,i=this.objectMode?16:16*1024;this.highWaterMark=r||r===0?r:i,this.highWaterMark=~~this.highWaterMark,this.buffer=new Oe,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.defaultEncoding=e.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(this.decoder=new st(e.encoding),this.encoding=e.encoding)}function N(e){if(!(this instanceof N))return new N(e);this._readableState=new nn(e,this),this.readable=!0,e&&typeof e.read=="function"&&(this._read=e.read),b.call(this)}N.prototype.push=function(e,t){var r=this._readableState;return!r.objectMode&&typeof e=="string"&&(t=t||r.defaultEncoding,t!==r.encoding&&(e=c.from(e,t),t="")),an(this,r,e,t,!1)},N.prototype.unshift=function(e){var t=this._readableState;return an(this,t,e,"",!0)},N.prototype.isPaused=function(){return this._readableState.flowing===!1};function an(e,t,r,i,n){var a=Ns(t,r);if(a)e.emit("error",a);else if(r===null)t.reading=!1,Ps(e,t);else if(t.objectMode||r&&r.length>0)if(t.ended&&!n){var o=new Error("stream.push() after EOF");e.emit("error",o)}else if(t.endEmitted&&n){var s=new Error("stream.unshift() after end event");e.emit("error",s)}else{var h;t.decoder&&!n&&!i&&(r=t.decoder.write(r),h=!t.objectMode&&r.length===0),n||(t.reading=!1),h||(t.flowing&&t.length===0&&!t.sync?(e.emit("data",r),e.read(0)):(t.length+=t.objectMode?1:r.length,n?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&Pt(e))),zs(e,t)}else n||(t.reading=!1);return Ds(t)}function Ds(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||e.length===0)}N.prototype.setEncoding=function(e){return this._readableState.decoder=new st(e),this._readableState.encoding=e,this};var on=8388608;function Fs(e){return e>=on?e=on:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function sn(e,t){return e<=0||t.length===0&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=Fs(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}N.prototype.read=function(e){C("read",e),e=parseInt(e,10);var t=this._readableState,r=e;if(e!==0&&(t.emittedReadable=!1),e===0&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return C("read: emitReadable",t.length,t.ended),t.length===0&&t.ended?Ar(this):Pt(this),null;if(e=sn(e,t),e===0&&t.ended)return t.length===0&&Ar(this),null;var i=t.needReadable;C("need readable",i),(t.length===0||t.length-e<t.highWaterMark)&&(i=!0,C("length less than watermark",i)),t.ended||t.reading?(i=!1,C("reading or ended",i)):i&&(C("do read"),t.reading=!0,t.sync=!0,t.length===0&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=sn(r,t)));var n;return e>0?n=ln(e,t):n=null,n===null?(t.needReadable=!0,e=0):t.length-=e,t.length===0&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&Ar(this)),n!==null&&this.emit("data",n),n};function Ns(e,t){var r=null;return!c.isBuffer(t)&&typeof t!="string"&&t!==null&&t!==void 0&&!e.objectMode&&(r=new TypeError("Invalid non-string/buffer chunk")),r}function Ps(e,t){if(!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,Pt(e)}}function Pt(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(C("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?q(fn,e):fn(e))}function fn(e){C("emit readable"),e.emit("readable"),Rr(e)}function zs(e,t){t.readingMore||(t.readingMore=!0,q(Us,e,t))}function Us(e,t){for(var r=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(C("maybeReadMore read 0"),e.read(0),r!==t.length);)r=t.length;t.readingMore=!1}N.prototype._read=function(e){this.emit("error",new Error("not implemented"))},N.prototype.pipe=function(e,t){var r=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=e;break;case 1:i.pipes=[i.pipes,e];break;default:i.pipes.push(e);break}i.pipesCount+=1,C("pipe count=%d opts=%j",i.pipesCount,t);var n=!t||t.end!==!1,a=n?s:l;i.endEmitted?q(a):r.once("end",a),e.on("unpipe",o);function o(v){C("onunpipe"),v===r&&l()}function s(){C("onend"),e.end()}var h=Bs(r);e.on("drain",h);var f=!1;function l(){C("cleanup"),e.removeListener("close",g),e.removeListener("finish",S),e.removeListener("drain",h),e.removeListener("error",u),e.removeListener("unpipe",o),r.removeListener("end",s),r.removeListener("end",l),r.removeListener("data",p),f=!0,i.awaitDrain&&(!e._writableState||e._writableState.needDrain)&&h()}var d=!1;r.on("data",p);function p(v){C("ondata"),d=!1;var k=e.write(v);k===!1&&!d&&((i.pipesCount===1&&i.pipes===e||i.pipesCount>1&&hn(i.pipes,e)!==-1)&&!f&&(C("false write response, pause",r._readableState.awaitDrain),r._readableState.awaitDrain++,d=!0),r.pause())}function u(v){C("onerror",v),y(),e.removeListener("error",u),Ms(e,"error")===0&&e.emit("error",v)}Is(e,"error",u);function g(){e.removeListener("finish",S),y()}e.once("close",g);function S(){C("onfinish"),e.removeListener("close",g),y()}e.once("finish",S);function y(){C("unpipe"),r.unpipe(e)}return e.emit("pipe",r),i.flowing||(C("pipe resume"),r.resume()),e};function Bs(e){return function(){var t=e._readableState;C("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,t.awaitDrain===0&&e.listeners("data").length&&(t.flowing=!0,Rr(e))}}N.prototype.unpipe=function(e){var t=this._readableState;if(t.pipesCount===0)return this;if(t.pipesCount===1)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this),this);if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var n=0;n<i;n++)r[n].emit("unpipe",this);return this}var a=hn(t.pipes,e);return a===-1?this:(t.pipes.splice(a,1),t.pipesCount-=1,t.pipesCount===1&&(t.pipes=t.pipes[0]),e.emit("unpipe",this),this)},N.prototype.on=function(e,t){var r=b.prototype.on.call(this,e,t);if(e==="data")this._readableState.flowing!==!1&&this.resume();else if(e==="readable"){var i=this._readableState;!i.endEmitted&&!i.readableListening&&(i.readableListening=i.needReadable=!0,i.emittedReadable=!1,i.reading?i.length&&Pt(this):q(Zs,this))}return r},N.prototype.addListener=N.prototype.on;function Zs(e){C("readable nexttick read 0"),e.read(0)}N.prototype.resume=function(){var e=this._readableState;return e.flowing||(C("resume"),e.flowing=!0,js(this,e)),this};function js(e,t){t.resumeScheduled||(t.resumeScheduled=!0,q($s,e,t))}function $s(e,t){t.reading||(C("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),Rr(e),t.flowing&&!t.reading&&e.read(0)}N.prototype.pause=function(){return C("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(C("pause"),this._readableState.flowing=!1,this.emit("pause")),this};function Rr(e){var t=e._readableState;for(C("flow",t.flowing);t.flowing&&e.read()!==null;);}N.prototype.wrap=function(e){var t=this._readableState,r=!1,i=this;e.on("end",function(){if(C("wrapped end"),t.decoder&&!t.ended){var o=t.decoder.end();o&&o.length&&i.push(o)}i.push(null)}),e.on("data",function(o){if(C("wrapped data"),t.decoder&&(o=t.decoder.write(o)),!(t.objectMode&&o==null)&&!(!t.objectMode&&(!o||!o.length))){var s=i.push(o);s||(r=!0,e.pause())}});for(var n in e)this[n]===void 0&&typeof e[n]=="function"&&(this[n]=function(o){return function(){return e[o].apply(e,arguments)}}(n));var a=["error","close","destroy","pause","resume"];return qs(a,function(o){e.on(o,i.emit.bind(i,o))}),i._read=function(o){C("wrapped _read",o),r&&(r=!1,e.resume())},i},N._fromList=ln;function ln(e,t){if(t.length===0)return null;var r;return t.objectMode?r=t.buffer.shift():!e||e>=t.length?(t.decoder?r=t.buffer.join(""):t.buffer.length===1?r=t.buffer.head.data:r=t.buffer.concat(t.length),t.buffer.clear()):r=Hs(e,t.buffer,t.decoder),r}function Hs(e,t,r){var i;return e<t.head.data.length?(i=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):e===t.head.data.length?i=t.shift():i=r?Ks(e,t):Ws(e,t),i}function Ks(e,t){var r=t.head,i=1,n=r.data;for(e-=n.length;r=r.next;){var a=r.data,o=e>a.length?a.length:e;if(o===a.length?n+=a:n+=a.slice(0,e),e-=o,e===0){o===a.length?(++i,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=a.slice(o));break}++i}return t.length-=i,n}function Ws(e,t){var r=c.allocUnsafe(e),i=t.head,n=1;for(i.data.copy(r),e-=i.data.length;i=i.next;){var a=i.data,o=e>a.length?a.length:e;if(a.copy(r,r.length-e,0,o),e-=o,e===0){o===a.length?(++n,i.next?t.head=i.next:t.head=t.tail=null):(t.head=i,i.data=a.slice(o));break}++n}return t.length-=n,r}function Ar(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,q(Ys,t,e))}function Ys(e,t){!e.endEmitted&&e.length===0&&(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function qs(e,t){for(var r=0,i=e.length;r<i;r++)t(e[r],r)}function hn(e,t){for(var r=0,i=e.length;r<i;r++)if(e[r]===t)return r;return-1}H.WritableState=Tr,$(H,b);function Gs(){}function Vs(e,t,r){this.chunk=e,this.encoding=t,this.callback=r,this.next=null}function Tr(e,t){Object.defineProperty(this,"buffer",{get:Qi(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.")}),e=e||{},this.objectMode=!!e.objectMode,t instanceof V&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var r=e.highWaterMark,i=this.objectMode?16:16*1024;this.highWaterMark=r||r===0?r:i,this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1;var n=e.decodeStrings===!1;this.decodeStrings=!n,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(a){nf(t,a)},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 wn(this)}Tr.prototype.getBuffer=function(){for(var t=this.bufferedRequest,r=[];t;)r.push(t),t=t.next;return r};function H(e){if(!(this instanceof H)&&!(this instanceof V))return new H(e);this._writableState=new Tr(e,this),this.writable=!0,e&&(typeof e.write=="function"&&(this._write=e.write),typeof e.writev=="function"&&(this._writev=e.writev)),b.call(this)}H.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))};function Xs(e,t){var r=new Error("write after end");e.emit("error",r),q(t,r)}function Js(e,t,r,i){var n=!0,a=!1;return r===null?a=new TypeError("May not write null values to stream"):!c.isBuffer(r)&&typeof r!="string"&&r!==void 0&&!t.objectMode&&(a=new TypeError("Invalid non-string/buffer chunk")),a&&(e.emit("error",a),q(i,a),n=!1),n}H.prototype.write=function(e,t,r){var i=this._writableState,n=!1;return typeof t=="function"&&(r=t,t=null),c.isBuffer(e)?t="buffer":t||(t=i.defaultEncoding),typeof r!="function"&&(r=Gs),i.ended?Xs(this,r):Js(this,i,e,r)&&(i.pendingcb++,n=ef(this,i,e,t,r)),n},H.prototype.cork=function(){var e=this._writableState;e.corked++},H.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,!e.writing&&!e.corked&&!e.finished&&!e.bufferProcessing&&e.bufferedRequest&&un(this,e))},H.prototype.setDefaultEncoding=function(t){if(typeof t=="string"&&(t=t.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((t+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+t);return this._writableState.defaultEncoding=t,this};function Qs(e,t,r){return!e.objectMode&&e.decodeStrings!==!1&&typeof t=="string"&&(t=c.from(t,r)),t}function ef(e,t,r,i,n){r=Qs(t,r,i),c.isBuffer(r)&&(i="buffer");var a=t.objectMode?1:r.length;t.length+=a;var o=t.length<t.highWaterMark;if(o||(t.needDrain=!0),t.writing||t.corked){var s=t.lastBufferedRequest;t.lastBufferedRequest=new Vs(r,i,n),s?s.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else Lr(e,t,!1,a,r,i,n);return o}function Lr(e,t,r,i,n,a,o){t.writelen=i,t.writecb=o,t.writing=!0,t.sync=!0,r?e._writev(n,t.onwrite):e._write(n,a,t.onwrite),t.sync=!1}function tf(e,t,r,i,n){--t.pendingcb,r?q(n,i):n(i),e._writableState.errorEmitted=!0,e.emit("error",i)}function rf(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function nf(e,t){var r=e._writableState,i=r.sync,n=r.writecb;if(rf(r),t)tf(e,r,i,t,n);else{var a=dn(r);!a&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&un(e,r),i?q(cn,e,r,a,n):cn(e,r,a,n)}}function cn(e,t,r,i){r||af(e,t),t.pendingcb--,i(),_n(e,t)}function af(e,t){t.length===0&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}function un(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var i=t.bufferedRequestCount,n=new Array(i),a=t.corkedRequestsFree;a.entry=r;for(var o=0;r;)n[o]=r,r=r.next,o+=1;Lr(e,t,!0,t.length,n,"",a.finish),t.pendingcb++,t.lastBufferedRequest=null,a.next?(t.corkedRequestsFree=a.next,a.next=null):t.corkedRequestsFree=new wn(t)}else{for(;r;){var s=r.chunk,h=r.encoding,f=r.callback,l=t.objectMode?1:s.length;if(Lr(e,t,!1,l,s,h,f),r=r.next,t.writing)break}r===null&&(t.lastBufferedRequest=null)}t.bufferedRequestCount=0,t.bufferedRequest=r,t.bufferProcessing=!1}H.prototype._write=function(e,t,r){r(new Error("not implemented"))},H.prototype._writev=null,H.prototype.end=function(e,t,r){var i=this._writableState;typeof e=="function"?(r=e,e=null,t=null):typeof t=="function"&&(r=t,t=null),e!=null&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),!i.ending&&!i.finished&&of(this,i,r)};function dn(e){return e.ending&&e.length===0&&e.bufferedRequest===null&&!e.finished&&!e.writing}function pn(e,t){t.prefinished||(t.prefinished=!0,e.emit("prefinish"))}function _n(e,t){var r=dn(t);return r&&(t.pendingcb===0?(pn(e,t),t.finished=!0,e.emit("finish")):pn(e,t)),r}function of(e,t,r){t.ending=!0,_n(e,t),r&&(t.finished?q(r):e.once("finish",r)),t.ended=!0,e.writable=!1}function wn(e){var t=this;this.next=null,this.entry=null,this.finish=function(r){var i=t.entry;for(t.entry=null;i;){var n=i.callback;e.pendingcb--,n(r),i=i.next}e.corkedRequestsFree?e.corkedRequestsFree.next=t:e.corkedRequestsFree=t}}$(V,N);for(var gn=Object.keys(H.prototype),Cr=0;Cr<gn.length;Cr++){var Or=gn[Cr];V.prototype[Or]||(V.prototype[Or]=H.prototype[Or])}function V(e){if(!(this instanceof V))return new V(e);N.call(this,e),H.call(this,e),e&&e.readable===!1&&(this.readable=!1),e&&e.writable===!1&&(this.writable=!1),this.allowHalfOpen=!0,e&&e.allowHalfOpen===!1&&(this.allowHalfOpen=!1),this.once("end",sf)}function sf(){this.allowHalfOpen||this._writableState.ended||q(ff,this)}function ff(e){e.end()}$(X,V);function lf(e){this.afterTransform=function(t,r){return hf(e,t,r)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null,this.writeencoding=null}function hf(e,t,r){var i=e._transformState;i.transforming=!1;var n=i.writecb;if(!n)return e.emit("error",new Error("no writecb in Transform class"));i.writechunk=null,i.writecb=null,r!=null&&e.push(r),n(t);var a=e._readableState;a.reading=!1,(a.needReadable||a.length<a.highWaterMark)&&e._read(a.highWaterMark)}function X(e){if(!(this instanceof X))return new X(e);V.call(this,e),this._transformState=new lf(this);var t=this;this._readableState.needReadable=!0,this._readableState.sync=!1,e&&(typeof e.transform=="function"&&(this._transform=e.transform),typeof e.flush=="function"&&(this._flush=e.flush)),this.once("prefinish",function(){typeof this._flush=="function"?this._flush(function(r){vn(t,r)}):vn(t)})}X.prototype.push=function(e,t){return this._transformState.needTransform=!1,V.prototype.push.call(this,e,t)},X.prototype._transform=function(e,t,r){throw new Error("Not implemented")},X.prototype._write=function(e,t,r){var i=this._transformState;if(i.writecb=r,i.writechunk=e,i.writeencoding=t,!i.transforming){var n=this._readableState;(i.needTransform||n.needReadable||n.length<n.highWaterMark)&&this._read(n.highWaterMark)}},X.prototype._read=function(e){var t=this._transformState;t.writechunk!==null&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0};function vn(e,t){if(t)return e.emit("error",t);var r=e._writableState,i=e._transformState;if(r.length)throw new Error("Calling transform done when ws.length != 0");if(i.transforming)throw new Error("Calling transform done when still transforming");return e.push(null)}$(ft,X);function ft(e){if(!(this instanceof ft))return new ft(e);X.call(this,e)}ft.prototype._transform=function(e,t,r){r(null,e)},$(le,b),le.Readable=N,le.Writable=H,le.Duplex=V,le.Transform=X,le.PassThrough=ft,le.Stream=le;function le(){b.call(this)}le.prototype.pipe=function(e,t){var r=this;function i(l){e.writable&&e.write(l)===!1&&r.pause&&r.pause()}r.on("data",i);function n(){r.readable&&r.resume&&r.resume()}e.on("drain",n),!e._isStdio&&(!t||t.end!==!1)&&(r.on("end",o),r.on("close",s));var a=!1;function o(){a||(a=!0,e.end())}function s(){a||(a=!0,typeof e.destroy=="function"&&e.destroy())}function h(l){if(f(),b.listenerCount(this,"error")===0)throw l}r.on("error",h),e.on("error",h);function f(){r.removeListener("data",i),e.removeListener("drain",n),r.removeListener("end",o),r.removeListener("close",s),r.removeListener("error",h),e.removeListener("error",h),r.removeListener("end",f),r.removeListener("close",f),e.removeListener("close",f)}return r.on("end",f),r.on("close",f),e.on("close",f),e.emit("pipe",r),e};var mn={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"};function cf(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}function he(e,t,r,i,n){if(t.subarray&&e.subarray){e.set(t.subarray(r,r+i),n);return}for(var a=0;a<i;a++)e[n+a]=t[r+a]}var zt=Uint8Array,J=Uint16Array,Ut=Int32Array,uf=4,bn=0,yn=1,df=2;function Xe(e){for(var t=e.length;--t>=0;)e[t]=0}var pf=0,xn=1,_f=2,wf=3,gf=258,Ir=29,lt=256,ht=lt+1+Ir,Je=30,Mr=19,En=2*ht+1,Ie=15,Dr=16,vf=7,Fr=256,kn=16,Sn=17,Rn=18,Nr=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],Bt=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],mf=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],An=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],bf=512,ce=new Array((ht+2)*2);Xe(ce);var ct=new Array(Je*2);Xe(ct);var ut=new Array(bf);Xe(ut);var dt=new Array(gf-wf+1);Xe(dt);var Pr=new Array(Ir);Xe(Pr);var Zt=new Array(Je);Xe(Zt);function zr(e,t,r,i,n){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=i,this.max_length=n,this.has_stree=e&&e.length}var Tn,Ln,Cn;function Ur(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function On(e){return e<256?ut[e]:ut[256+(e>>>7)]}function pt(e,t){e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255}function W(e,t,r){e.bi_valid>Dr-r?(e.bi_buf|=t<<e.bi_valid&65535,pt(e,e.bi_buf),e.bi_buf=t>>Dr-e.bi_valid,e.bi_valid+=r-Dr):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function ie(e,t,r){W(e,r[t*2],r[t*2+1])}function In(e,t){var r=0;do r|=e&1,e>>>=1,r<<=1;while(--t>0);return r>>>1}function yf(e){e.bi_valid===16?(pt(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)}function xf(e,t){var r=t.dyn_tree,i=t.max_code,n=t.stat_desc.static_tree,a=t.stat_desc.has_stree,o=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,h=t.stat_desc.max_length,f,l,d,p,u,g,S=0;for(p=0;p<=Ie;p++)e.bl_count[p]=0;for(r[e.heap[e.heap_max]*2+1]=0,f=e.heap_max+1;f<En;f++)l=e.heap[f],p=r[r[l*2+1]*2+1]+1,p>h&&(p=h,S++),r[l*2+1]=p,!(l>i)&&(e.bl_count[p]++,u=0,l>=s&&(u=o[l-s]),g=r[l*2],e.opt_len+=g*(p+u),a&&(e.static_len+=g*(n[l*2+1]+u)));if(S!==0){do{for(p=h-1;e.bl_count[p]===0;)p--;e.bl_count[p]--,e.bl_count[p+1]+=2,e.bl_count[h]--,S-=2}while(S>0);for(p=h;p!==0;p--)for(l=e.bl_count[p];l!==0;)d=e.heap[--f],!(d>i)&&(r[d*2+1]!==p&&(e.opt_len+=(p-r[d*2+1])*r[d*2],r[d*2+1]=p),l--)}}function Mn(e,t,r){var i=new Array(Ie+1),n=0,a,o;for(a=1;a<=Ie;a++)i[a]=n=n+r[a-1]<<1;for(o=0;o<=t;o++){var s=e[o*2+1];s!==0&&(e[o*2]=In(i[s]++,s))}}function Ef(){var e,t,r,i,n,a=new Array(Ie+1);for(r=0,i=0;i<Ir-1;i++)for(Pr[i]=r,e=0;e<1<<Nr[i];e++)dt[r++]=i;for(dt[r-1]=i,n=0,i=0;i<16;i++)for(Zt[i]=n,e=0;e<1<<Bt[i];e++)ut[n++]=i;for(n>>=7;i<Je;i++)for(Zt[i]=n<<7,e=0;e<1<<Bt[i]-7;e++)ut[256+n++]=i;for(t=0;t<=Ie;t++)a[t]=0;for(e=0;e<=143;)ce[e*2+1]=8,e++,a[8]++;for(;e<=255;)ce[e*2+1]=9,e++,a[9]++;for(;e<=279;)ce[e*2+1]=7,e++,a[7]++;for(;e<=287;)ce[e*2+1]=8,e++,a[8]++;for(Mn(ce,ht+1,a),e=0;e<Je;e++)ct[e*2+1]=5,ct[e*2]=In(e,5);Tn=new zr(ce,Nr,lt+1,ht,Ie),Ln=new zr(ct,Bt,0,Je,Ie),Cn=new zr(new Array(0),mf,0,Mr,vf)}function Dn(e){var t;for(t=0;t<ht;t++)e.dyn_ltree[t*2]=0;for(t=0;t<Je;t++)e.dyn_dtree[t*2]=0;for(t=0;t<Mr;t++)e.bl_tree[t*2]=0;e.dyn_ltree[Fr*2]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function Fn(e){e.bi_valid>8?pt(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function kf(e,t,r,i){Fn(e),pt(e,r),pt(e,~r),he(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}function Nn(e,t,r,i){var n=t*2,a=r*2;return e[n]<e[a]||e[n]===e[a]&&i[t]<=i[r]}function Br(e,t,r){for(var i=e.heap[r],n=r<<1;n<=e.heap_len&&(n<e.heap_len&&Nn(t,e.heap[n+1],e.heap[n],e.depth)&&n++,!Nn(t,i,e.heap[n],e.depth));)e.heap[r]=e.heap[n],r=n,n<<=1;e.heap[r]=i}function Pn(e,t,r){var i,n,a=0,o,s;if(e.last_lit!==0)do i=e.pending_buf[e.d_buf+a*2]<<8|e.pending_buf[e.d_buf+a*2+1],n=e.pending_buf[e.l_buf+a],a++,i===0?ie(e,n,t):(o=dt[n],ie(e,o+lt+1,t),s=Nr[o],s!==0&&(n-=Pr[o],W(e,n,s)),i--,o=On(i),ie(e,o,r),s=Bt[o],s!==0&&(i-=Zt[o],W(e,i,s)));while(a<e.last_lit);ie(e,Fr,t)}function Zr(e,t){var r=t.dyn_tree,i=t.stat_desc.static_tree,n=t.stat_desc.has_stree,a=t.stat_desc.elems,o,s,h=-1,f;for(e.heap_len=0,e.heap_max=En,o=0;o<a;o++)r[o*2]!==0?(e.heap[++e.heap_len]=h=o,e.depth[o]=0):r[o*2+1]=0;for(;e.heap_len<2;)f=e.heap[++e.heap_len]=h<2?++h:0,r[f*2]=1,e.depth[f]=0,e.opt_len--,n&&(e.static_len-=i[f*2+1]);for(t.max_code=h,o=e.heap_len>>1;o>=1;o--)Br(e,r,o);f=a;do o=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Br(e,r,1),s=e.heap[1],e.heap[--e.heap_max]=o,e.heap[--e.heap_max]=s,r[f*2]=r[o*2]+r[s*2],e.depth[f]=(e.depth[o]>=e.depth[s]?e.depth[o]:e.depth[s])+1,r[o*2+1]=r[s*2+1]=f,e.heap[1]=f++,Br(e,r,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],xf(e,t),Mn(r,h,e.bl_count)}function zn(e,t,r){var i,n=-1,a,o=t[0*2+1],s=0,h=7,f=4;for(o===0&&(h=138,f=3),t[(r+1)*2+1]=65535,i=0;i<=r;i++)a=o,o=t[(i+1)*2+1],!(++s<h&&a===o)&&(s<f?e.bl_tree[a*2]+=s:a!==0?(a!==n&&e.bl_tree[a*2]++,e.bl_tree[kn*2]++):s<=10?e.bl_tree[Sn*2]++:e.bl_tree[Rn*2]++,s=0,n=a,o===0?(h=138,f=3):a===o?(h=6,f=3):(h=7,f=4))}function Un(e,t,r){var i,n=-1,a,o=t[0*2+1],s=0,h=7,f=4;for(o===0&&(h=138,f=3),i=0;i<=r;i++)if(a=o,o=t[(i+1)*2+1],!(++s<h&&a===o)){if(s<f)do ie(e,a,e.bl_tree);while(--s!==0);else a!==0?(a!==n&&(ie(e,a,e.bl_tree),s--),ie(e,kn,e.bl_tree),W(e,s-3,2)):s<=10?(ie(e,Sn,e.bl_tree),W(e,s-3,3)):(ie(e,Rn,e.bl_tree),W(e,s-11,7));s=0,n=a,o===0?(h=138,f=3):a===o?(h=6,f=3):(h=7,f=4)}}function Sf(e){var t;for(zn(e,e.dyn_ltree,e.l_desc.max_code),zn(e,e.dyn_dtree,e.d_desc.max_code),Zr(e,e.bl_desc),t=Mr-1;t>=3&&e.bl_tree[An[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t}function Rf(e,t,r,i){var n;for(W(e,t-257,5),W(e,r-1,5),W(e,i-4,4),n=0;n<i;n++)W(e,e.bl_tree[An[n]*2+1],3);Un(e,e.dyn_ltree,t-1),Un(e,e.dyn_dtree,r-1)}function Af(e){var t=4093624447,r;for(r=0;r<=31;r++,t>>>=1)if(t&1&&e.dyn_ltree[r*2]!==0)return bn;if(e.dyn_ltree[9*2]!==0||e.dyn_ltree[10*2]!==0||e.dyn_ltree[13*2]!==0)return yn;for(r=32;r<lt;r++)if(e.dyn_ltree[r*2]!==0)return yn;return bn}var Bn=!1;function Tf(e){Bn||(Ef(),Bn=!0),e.l_desc=new Ur(e.dyn_ltree,Tn),e.d_desc=new Ur(e.dyn_dtree,Ln),e.bl_desc=new Ur(e.bl_tree,Cn),e.bi_buf=0,e.bi_valid=0,Dn(e)}function Zn(e,t,r,i){W(e,(pf<<1)+(i?1:0),3),kf(e,t,r)}function Lf(e){W(e,xn<<1,3),ie(e,Fr,ce),yf(e)}function Cf(e,t,r,i){var n,a,o=0;e.level>0?(e.strm.data_type===df&&(e.strm.data_type=Af(e)),Zr(e,e.l_desc),Zr(e,e.d_desc),o=Sf(e),n=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a<=n&&(n=a)):n=a=r+5,r+4<=n&&t!==-1?Zn(e,t,r,i):e.strategy===uf||a===n?(W(e,(xn<<1)+(i?1:0),3),Pn(e,ce,ct)):(W(e,(_f<<1)+(i?1:0),3),Rf(e,e.l_desc.max_code+1,e.d_desc.max_code+1,o+1),Pn(e,e.dyn_ltree,e.dyn_dtree)),Dn(e),i&&Fn(e)}function be(e,t,r){return e.pending_buf[e.d_buf+e.last_lit*2]=t>>>8&255,e.pending_buf[e.d_buf+e.last_lit*2+1]=t&255,e.pending_buf[e.l_buf+e.last_lit]=r&255,e.last_lit++,t===0?e.dyn_ltree[r*2]++:(e.matches++,t--,e.dyn_ltree[(dt[r]+lt+1)*2]++,e.dyn_dtree[On(t)*2]++),e.last_lit===e.lit_bufsize-1}function jr(e,t,r,i){for(var n=e&65535|0,a=e>>>16&65535|0,o=0;r!==0;){o=r>2e3?2e3:r,r-=o;do n=n+t[i++]|0,a=a+n|0;while(--o);n%=65521,a%=65521}return n|a<<16|0}function Of(){for(var e,t=[],r=0;r<256;r++){e=r;for(var i=0;i<8;i++)e=e&1?3988292384^e>>>1:e>>>1;t[r]=e}return t}var If=Of();function B(e,t,r,i){var n=If,a=i+r;e^=-1;for(var o=i;o<a;o++)e=e>>>8^n[(e^t[o])&255];return e^-1}var Me=0,Mf=1,Df=3,ye=4,jn=5,xe=0,$n=1,Ee=-2,Ff=-3,$r=-5,Nf=-1,Pf=1,jt=2,zf=3,Uf=4,Bf=2,Hr=8,Zf=9,jf=29,$f=256,Kr=$f+1+jf,Hf=30,Kf=19,Wf=2*Kr+1,Yf=15,L=3,ke=258,Q=ke+L+1,qf=32,Wr=42,Yr=69,$t=73,Ht=91,Kt=103,De=113,_t=666,P=1,wt=2,Fe=3,Qe=4,Gf=3;function Se(e,t){return e.msg=mn[t],t}function Hn(e){return(e<<1)-(e>4?9:0)}function Ne(e){for(var t=e.length;--t>=0;)e[t]=0}function Re(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),r!==0&&(he(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,t.pending===0&&(t.pending_out=0))}function j(e,t){Cf(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,Re(e.strm)}function A(e,t){e.pending_buf[e.pending++]=t}function gt(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255}function Vf(e,t,r,i){var n=e.avail_in;return n>i&&(n=i),n===0?0:(e.avail_in-=n,he(t,e.input,e.next_in,n,r),e.state.wrap===1?e.adler=jr(e.adler,t,n,r):e.state.wrap===2&&(e.adler=B(e.adler,t,n,r)),e.next_in+=n,e.total_in+=n,n)}function Kn(e,t){var r=e.max_chain_length,i=e.strstart,n,a,o=e.prev_length,s=e.nice_match,h=e.strstart>e.w_size-Q?e.strstart-(e.w_size-Q):0,f=e.window,l=e.w_mask,d=e.prev,p=e.strstart+ke,u=f[i+o-1],g=f[i+o];e.prev_length>=e.good_match&&(r>>=2),s>e.lookahead&&(s=e.lookahead);do if(n=t,!(f[n+o]!==g||f[n+o-1]!==u||f[n]!==f[i]||f[++n]!==f[i+1])){i+=2,n++;do;while(f[++i]===f[++n]&&f[++i]===f[++n]&&f[++i]===f[++n]&&f[++i]===f[++n]&&f[++i]===f[++n]&&f[++i]===f[++n]&&f[++i]===f[++n]&&f[++i]===f[++n]&&i<p);if(a=ke-(p-i),i=p-ke,a>o){if(e.match_start=t,o=a,a>=s)break;u=f[i+o-1],g=f[i+o]}}while((t=d[t&l])>h&&--r!==0);return o<=e.lookahead?o:e.lookahead}function vt(e){var t=e.w_size,r,i,n,a,o;do{if(a=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-Q)){he(e.window,e.window,t,t,0),e.match_start-=t,e.strstart-=t,e.block_start-=t,i=e.hash_size,r=i;do n=e.head[--r],e.head[r]=n>=t?n-t:0;while(--i);i=t,r=i;do n=e.prev[--r],e.prev[r]=n>=t?n-t:0;while(--i);a+=t}if(e.strm.avail_in===0)break;if(i=Vf(e.strm,e.window,e.strstart+e.lookahead,a),e.lookahead+=i,e.lookahead+e.insert>=L)for(o=e.strstart-e.insert,e.ins_h=e.window[o],e.ins_h=(e.ins_h<<e.hash_shift^e.window[o+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[o+L-1])&e.hash_mask,e.prev[o&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=o,o++,e.insert--,!(e.lookahead+e.insert<L)););}while(e.lookahead<Q&&e.strm.avail_in!==0)}function Xf(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(vt(e),e.lookahead===0&&t===Me)return P;if(e.lookahead===0)break}e.strstart+=e.lookahead,e.lookahead=0;var i=e.block_start+r;if((e.strstart===0||e.strstart>=i)&&(e.lookahead=e.strstart-i,e.strstart=i,j(e,!1),e.strm.avail_out===0)||e.strstart-e.block_start>=e.w_size-Q&&(j(e,!1),e.strm.avail_out===0))return P}return e.insert=0,t===ye?(j(e,!0),e.strm.avail_out===0?Fe:Qe):(e.strstart>e.block_start&&(j(e,!1),e.strm.avail_out===0),P)}function qr(e,t){for(var r,i;;){if(e.lookahead<Q){if(vt(e),e.lookahead<Q&&t===Me)return P;if(e.lookahead===0)break}if(r=0,e.lookahead>=L&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+L-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),r!==0&&e.strstart-r<=e.w_size-Q&&(e.match_length=Kn(e,r)),e.match_length>=L)if(i=be(e,e.strstart-e.match_start,e.match_length-L),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=L){e.match_length--;do e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+L-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else i=be(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(i&&(j(e,!1),e.strm.avail_out===0))return P}return e.insert=e.strstart<L-1?e.strstart:L-1,t===ye?(j(e,!0),e.strm.avail_out===0?Fe:Qe):e.last_lit&&(j(e,!1),e.strm.avail_out===0)?P:wt}function et(e,t){for(var r,i,n;;){if(e.lookahead<Q){if(vt(e),e.lookahead<Q&&t===Me)return P;if(e.lookahead===0)break}if(r=0,e.lookahead>=L&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+L-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=L-1,r!==0&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-Q&&(e.match_length=Kn(e,r),e.match_length<=5&&(e.strategy===Pf||e.match_length===L&&e.strstart-e.match_start>4096)&&(e.match_length=L-1)),e.prev_length>=L&&e.match_length<=e.prev_length){n=e.strstart+e.lookahead-L,i=be(e,e.strstart-1-e.prev_match,e.prev_length-L),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=n&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+L-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=L-1,e.strstart++,i&&(j(e,!1),e.strm.avail_out===0))return P}else if(e.match_available){if(i=be(e,0,e.window[e.strstart-1]),i&&j(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return P}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(i=be(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<L-1?e.strstart:L-1,t===ye?(j(e,!0),e.strm.avail_out===0?Fe:Qe):e.last_lit&&(j(e,!1),e.strm.avail_out===0)?P:wt}function Jf(e,t){for(var r,i,n,a,o=e.window;;){if(e.lookahead<=ke){if(vt(e),e.lookahead<=ke&&t===Me)return P;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=L&&e.strstart>0&&(n=e.strstart-1,i=o[n],i===o[++n]&&i===o[++n]&&i===o[++n])){a=e.strstart+ke;do;while(i===o[++n]&&i===o[++n]&&i===o[++n]&&i===o[++n]&&i===o[++n]&&i===o[++n]&&i===o[++n]&&i===o[++n]&&n<a);e.match_length=ke-(a-n),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=L?(r=be(e,1,e.match_length-L),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=be(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(j(e,!1),e.strm.avail_out===0))return P}return e.insert=0,t===ye?(j(e,!0),e.strm.avail_out===0?Fe:Qe):e.last_lit&&(j(e,!1),e.strm.avail_out===0)?P:wt}function Qf(e,t){for(var r;;){if(e.lookahead===0&&(vt(e),e.lookahead===0)){if(t===Me)return P;break}if(e.match_length=0,r=be(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(j(e,!1),e.strm.avail_out===0))return P}return e.insert=0,t===ye?(j(e,!0),e.strm.avail_out===0?Fe:Qe):e.last_lit&&(j(e,!1),e.strm.avail_out===0)?P:wt}function ne(e,t,r,i,n){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=i,this.func=n}var tt;tt=[new ne(0,0,0,0,Xf),new ne(4,4,8,4,qr),new ne(4,5,16,8,qr),new ne(4,6,32,32,qr),new ne(4,4,16,16,et),new ne(8,16,32,32,et),new ne(8,16,128,128,et),new ne(8,32,128,256,et),new ne(32,128,258,1024,et),new ne(32,258,258,4096,et)];function el(e){e.window_size=2*e.w_size,Ne(e.head),e.max_lazy_match=tt[e.level].max_lazy,e.good_match=tt[e.level].good_length,e.nice_match=tt[e.level].nice_length,e.max_chain_length=tt[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=L-1,e.match_available=0,e.ins_h=0}function tl(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Hr,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new J(Wf*2),this.dyn_dtree=new J((2*Hf+1)*2),this.bl_tree=new J((2*Kf+1)*2),Ne(this.dyn_ltree),Ne(this.dyn_dtree),Ne(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new J(Yf+1),this.heap=new J(2*Kr+1),Ne(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new J(2*Kr+1),Ne(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function rl(e){var t;return!e||!e.state?Se(e,Ee):(e.total_in=e.total_out=0,e.data_type=Bf,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?Wr:De,e.adler=t.wrap===2?0:1,t.last_flush=Me,Tf(t),xe)}function Wn(e){var t=rl(e);return t===xe&&el(e.state),t}function il(e,t,r,i,n,a){if(!e)return Ee;var o=1;if(t===Nf&&(t=6),i<0?(o=0,i=-i):i>15&&(o=2,i-=16),n<1||n>Zf||r!==Hr||i<8||i>15||t<0||t>9||a<0||a>Uf)return Se(e,Ee);i===8&&(i=9);var s=new tl;return e.state=s,s.strm=e,s.wrap=o,s.gzhead=null,s.w_bits=i,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=n+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+L-1)/L),s.window=new zt(s.w_size*2),s.head=new J(s.hash_size),s.prev=new J(s.w_size),s.lit_bufsize=1<<n+6,s.pending_buf_size=s.lit_bufsize*4,s.pending_buf=new zt(s.pending_buf_size),s.d_buf=1*s.lit_bufsize,s.l_buf=3*s.lit_bufsize,s.level=t,s.strategy=a,s.method=r,Wn(e)}function nl(e,t){var r,i,n,a;if(!e||!e.state||t>jn||t<0)return e?Se(e,Ee):Ee;if(i=e.state,!e.output||!e.input&&e.avail_in!==0||i.status===_t&&t!==ye)return Se(e,e.avail_out===0?$r:Ee);if(i.strm=e,r=i.last_flush,i.last_flush=t,i.status===Wr)if(i.wrap===2)e.adler=0,A(i,31),A(i,139),A(i,8),i.gzhead?(A(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),A(i,i.gzhead.time&255),A(i,i.gzhead.time>>8&255),A(i,i.gzhead.time>>16&255),A(i,i.gzhead.time>>24&255),A(i,i.level===9?2:i.strategy>=jt||i.level<2?4:0),A(i,i.gzhead.os&255),i.gzhead.extra&&i.gzhead.extra.length&&(A(i,i.gzhead.extra.length&255),A(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(e.adler=B(e.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=Yr):(A(i,0),A(i,0),A(i,0),A(i,0),A(i,0),A(i,i.level===9?2:i.strategy>=jt||i.level<2?4:0),A(i,Gf),i.status=De);else{var o=Hr+(i.w_bits-8<<4)<<8,s=-1;i.strategy>=jt||i.level<2?s=0:i.level<6?s=1:i.level===6?s=2:s=3,o|=s<<6,i.strstart!==0&&(o|=qf),o+=31-o%31,i.status=De,gt(i,o),i.strstart!==0&&(gt(i,e.adler>>>16),gt(i,e.adler&65535)),e.adler=1}if(i.status===Yr)if(i.gzhead.extra){for(n=i.pending;i.gzindex<(i.gzhead.extra.length&65535)&&!(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(e.adler=B(e.adler,i.pending_buf,i.pending-n,n)),Re(e),n=i.pending,i.pending===i.pending_buf_size));)A(i,i.gzhead.extra[i.gzindex]&255),i.gzindex++;i.gzhead.hcrc&&i.pending>n&&(e.adler=B(e.adler,i.pending_buf,i.pending-n,n)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=$t)}else i.status=$t;if(i.status===$t)if(i.gzhead.name){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(e.adler=B(e.adler,i.pending_buf,i.pending-n,n)),Re(e),n=i.pending,i.pending===i.pending_buf_size)){a=1;break}i.gzindex<i.gzhead.name.length?a=i.gzhead.name.charCodeAt(i.gzindex++)&255:a=0,A(i,a)}while(a!==0);i.gzhead.hcrc&&i.pending>n&&(e.adler=B(e.adler,i.pending_buf,i.pending-n,n)),a===0&&(i.gzindex=0,i.status=Ht)}else i.status=Ht;if(i.status===Ht)if(i.gzhead.comment){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(e.adler=B(e.adler,i.pending_buf,i.pending-n,n)),Re(e),n=i.pending,i.pending===i.pending_buf_size)){a=1;break}i.gzindex<i.gzhead.comment.length?a=i.gzhead.comment.charCodeAt(i.gzindex++)&255:a=0,A(i,a)}while(a!==0);i.gzhead.hcrc&&i.pending>n&&(e.adler=B(e.adler,i.pending_buf,i.pending-n,n)),a===0&&(i.status=Kt)}else i.status=Kt;if(i.status===Kt&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&Re(e),i.pending+2<=i.pending_buf_size&&(A(i,e.adler&255),A(i,e.adler>>8&255),e.adler=0,i.status=De)):i.status=De),i.pending!==0){if(Re(e),e.avail_out===0)return i.last_flush=-1,xe}else if(e.avail_in===0&&Hn(t)<=Hn(r)&&t!==ye)return Se(e,$r);if(i.status===_t&&e.avail_in!==0)return Se(e,$r);if(e.avail_in!==0||i.lookahead!==0||t!==Me&&i.status!==_t){var h=i.strategy===jt?Qf(i,t):i.strategy===zf?Jf(i,t):tt[i.level].func(i,t);if((h===Fe||h===Qe)&&(i.status=_t),h===P||h===Fe)return e.avail_out===0&&(i.last_flush=-1),xe;if(h===wt&&(t===Mf?Lf(i):t!==jn&&(Zn(i,0,0,!1),t===Df&&(Ne(i.head),i.lookahead===0&&(i.strstart=0,i.block_start=0,i.insert=0))),Re(e),e.avail_out===0))return i.last_flush=-1,xe}return t!==ye?xe:i.wrap<=0?$n:(i.wrap===2?(A(i,e.adler&255),A(i,e.adler>>8&255),A(i,e.adler>>16&255),A(i,e.adler>>24&255),A(i,e.total_in&255),A(i,e.total_in>>8&255),A(i,e.total_in>>16&255),A(i,e.total_in>>24&255)):(gt(i,e.adler>>>16),gt(i,e.adler&65535)),Re(e),i.wrap>0&&(i.wrap=-i.wrap),i.pending!==0?xe:$n)}function al(e){var t;return!e||!e.state?Ee:(t=e.state.status,t!==Wr&&t!==Yr&&t!==$t&&t!==Ht&&t!==Kt&&t!==De&&t!==_t?Se(e,Ee):(e.state=null,t===De?Se(e,Ff):xe))}var Wt=30,ol=12;function sl(e,t){var r,i,n,a,o,s,h,f,l,d,p,u,g,S,y,v,k,E,_,T,Z,m,M,O,x;r=e.state,i=e.next_in,O=e.input,n=i+(e.avail_in-5),a=e.next_out,x=e.output,o=a-(t-e.avail_out),s=a+(e.avail_out-257),h=r.dmax,f=r.wsize,l=r.whave,d=r.wnext,p=r.window,u=r.hold,g=r.bits,S=r.lencode,y=r.distcode,v=(1<<r.lenbits)-1,k=(1<<r.distbits)-1;e:do{g<15&&(u+=O[i++]<<g,g+=8,u+=O[i++]<<g,g+=8),E=S[u&v];t:for(;;){if(_=E>>>24,u>>>=_,g-=_,_=E>>>16&255,_===0)x[a++]=E&65535;else if(_&16){T=E&65535,_&=15,_&&(g<_&&(u+=O[i++]<<g,g+=8),T+=u&(1<<_)-1,u>>>=_,g-=_),g<15&&(u+=O[i++]<<g,g+=8,u+=O[i++]<<g,g+=8),E=y[u&k];r:for(;;){if(_=E>>>24,u>>>=_,g-=_,_=E>>>16&255,_&16){if(Z=E&65535,_&=15,g<_&&(u+=O[i++]<<g,g+=8,g<_&&(u+=O[i++]<<g,g+=8)),Z+=u&(1<<_)-1,Z>h){e.msg="invalid distance too far back",r.mode=Wt;break e}if(u>>>=_,g-=_,_=a-o,Z>_){if(_=Z-_,_>l&&r.sane){e.msg="invalid distance too far back",r.mode=Wt;break e}if(m=0,M=p,d===0){if(m+=f-_,_<T){T-=_;do x[a++]=p[m++];while(--_);m=a-Z,M=x}}else if(d<_){if(m+=f+d-_,_-=d,_<T){T-=_;do x[a++]=p[m++];while(--_);if(m=0,d<T){_=d,T-=_;do x[a++]=p[m++];while(--_);m=a-Z,M=x}}}else if(m+=d-_,_<T){T-=_;do x[a++]=p[m++];while(--_);m=a-Z,M=x}for(;T>2;)x[a++]=M[m++],x[a++]=M[m++],x[a++]=M[m++],T-=3;T&&(x[a++]=M[m++],T>1&&(x[a++]=M[m++]))}else{m=a-Z;do x[a++]=x[m++],x[a++]=x[m++],x[a++]=x[m++],T-=3;while(T>2);T&&(x[a++]=x[m++],T>1&&(x[a++]=x[m++]))}}else if(_&64){e.msg="invalid distance code",r.mode=Wt;break e}else{E=y[(E&65535)+(u&(1<<_)-1)];continue r}break}}else if(_&64)if(_&32){r.mode=ol;break e}else{e.msg="invalid literal/length code",r.mode=Wt;break e}else{E=S[(E&65535)+(u&(1<<_)-1)];continue t}break}}while(i<n&&a<s);T=g>>3,i-=T,g-=T<<3,u&=(1<<g)-1,e.next_in=i,e.next_out=a,e.avail_in=i<n?5+(n-i):5-(i-n),e.avail_out=a<s?257+(s-a):257-(a-s),r.hold=u,r.bits=g}var rt=15,Yn=852,qn=592,Gn=0,Gr=1,Vn=2,fl=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],ll=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],hl=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],cl=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];function mt(e,t,r,i,n,a,o,s){var h=s.bits,f=0,l=0,d=0,p=0,u=0,g=0,S=0,y=0,v=0,k=0,E,_,T,Z,m,M=null,O=0,x,z=new J(rt+1),We=new J(rt+1),er=null,Ba=0,Za,tr,rr;for(f=0;f<=rt;f++)z[f]=0;for(l=0;l<i;l++)z[t[r+l]]++;for(u=h,p=rt;p>=1&&z[p]===0;p--);if(u>p&&(u=p),p===0)return n[a++]=1<<24|64<<16|0,n[a++]=1<<24|64<<16|0,s.bits=1,0;for(d=1;d<p&&z[d]===0;d++);for(u<d&&(u=d),y=1,f=1;f<=rt;f++)if(y<<=1,y-=z[f],y<0)return-1;if(y>0&&(e===Gn||p!==1))return-1;for(We[1]=0,f=1;f<rt;f++)We[f+1]=We[f]+z[f];for(l=0;l<i;l++)t[r+l]!==0&&(o[We[t[r+l]]++]=l);if(e===Gn?(M=er=o,x=19):e===Gr?(M=fl,O-=257,er=ll,Ba-=257,x=256):(M=hl,er=cl,x=-1),k=0,l=0,f=d,m=a,g=u,S=0,T=-1,v=1<<u,Z=v-1,e===Gr&&v>Yn||e===Vn&&v>qn)return 1;for(;;){Za=f-S,o[l]<x?(tr=0,rr=o[l]):o[l]>x?(tr=er[Ba+o[l]],rr=M[O+o[l]]):(tr=96,rr=0),E=1<<f-S,_=1<<g,d=_;do _-=E,n[m+(k>>S)+_]=Za<<24|tr<<16|rr|0;while(_!==0);for(E=1<<f-1;k&E;)E>>=1;if(E!==0?(k&=E-1,k+=E):k=0,l++,--z[f]===0){if(f===p)break;f=t[r+o[l]]}if(f>u&&(k&Z)!==T){for(S===0&&(S=u),m+=d,g=f-S,y=1<<g;g+S<p&&(y-=z[g+S],!(y<=0));)g++,y<<=1;if(v+=1<<g,e===Gr&&v>Yn||e===Vn&&v>qn)return 1;T=k&Z,n[T]=u<<24|g<<16|m-a|0}}return k!==0&&(n[m+k]=f-S<<24|64<<16|0),s.bits=u,0}var ul=0,Xn=1,Jn=2,Qn=4,dl=5,Yt=6,bt=0,pl=1,_l=2,Ae=-2,wl=-3,gl=-4,vl=-5,ea=8,ta=1,ra=2,ia=3,na=4,aa=5,oa=6,sa=7,fa=8,la=9,ha=10,ca=11,ue=12,Vr=13,ua=14,Xr=15,da=16,pa=17,_a=18,wa=19,qt=20,Gt=21,ga=22,va=23,ma=24,ba=25,ya=26,Jr=27,xa=28,Ea=29,D=30,ml=31,bl=32,yl=852,xl=592;function ka(e){return(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24)}function El(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new J(320),this.work=new J(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function kl(e){var t;return!e||!e.state?Ae:(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=ta,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Ut(yl),t.distcode=t.distdyn=new Ut(xl),t.sane=1,t.back=-1,bt)}function Sa(e){var t;return!e||!e.state?Ae:(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,kl(e))}function Sl(e,t){var r,i;return!e||!e.state||(i=e.state,t<0?(r=0,t=-t):(r=(t>>4)+1,t<48&&(t&=15)),t&&(t<8||t>15))?Ae:(i.window!==null&&i.wbits!==t&&(i.window=null),i.wrap=r,i.wbits=t,Sa(e))}function Rl(e,t){var r,i;return e?(i=new El,e.state=i,i.window=null,r=Sl(e,t),r!==bt&&(e.state=null),r):Ae}var Ra=!0,Qr,ei;function Al(e){if(Ra){var t;for(Qr=new Ut(512),ei=new Ut(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(mt(Xn,e.lens,0,288,Qr,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;mt(Jn,e.lens,0,32,ei,0,e.work,{bits:5}),Ra=!1}e.lencode=Qr,e.lenbits=9,e.distcode=ei,e.distbits=5}function Tl(e,t,r,i){var n,a=e.state;return a.window===null&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new zt(a.wsize)),i>=a.wsize?(he(a.window,t,r-a.wsize,a.wsize,0),a.wnext=0,a.whave=a.wsize):(n=a.wsize-a.wnext,n>i&&(n=i),he(a.window,t,r-i,n,a.wnext),i-=n,i?(he(a.window,t,r-i,i,0),a.wnext=i,a.whave=a.wsize):(a.wnext+=n,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=n))),0}function Ll(e,t){var r,i,n,a,o,s,h,f,l,d,p,u,g,S,y=0,v,k,E,_,T,Z,m,M,O=new zt(4),x,z,We=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&e.avail_in!==0)return Ae;r=e.state,r.mode===ue&&(r.mode=Vr),o=e.next_out,n=e.output,h=e.avail_out,a=e.next_in,i=e.input,s=e.avail_in,f=r.hold,l=r.bits,d=s,p=h,M=bt;e:for(;;)switch(r.mode){case ta:if(r.wrap===0){r.mode=Vr;break}for(;l<16;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}if(r.wrap&2&&f===35615){r.check=0,O[0]=f&255,O[1]=f>>>8&255,r.check=B(r.check,O,2,0),f=0,l=0,r.mode=ra;break}if(r.flags=0,r.head&&(r.head.done=!1),!(r.wrap&1)||(((f&255)<<8)+(f>>8))%31){e.msg="incorrect header check",r.mode=D;break}if((f&15)!==ea){e.msg="unknown compression method",r.mode=D;break}if(f>>>=4,l-=4,m=(f&15)+8,r.wbits===0)r.wbits=m;else if(m>r.wbits){e.msg="invalid window size",r.mode=D;break}r.dmax=1<<m,e.adler=r.check=1,r.mode=f&512?ha:ue,f=0,l=0;break;case ra:for(;l<16;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}if(r.flags=f,(r.flags&255)!==ea){e.msg="unknown compression method",r.mode=D;break}if(r.flags&57344){e.msg="unknown header flags set",r.mode=D;break}r.head&&(r.head.text=f>>8&1),r.flags&512&&(O[0]=f&255,O[1]=f>>>8&255,r.check=B(r.check,O,2,0)),f=0,l=0,r.mode=ia;case ia:for(;l<32;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}r.head&&(r.head.time=f),r.flags&512&&(O[0]=f&255,O[1]=f>>>8&255,O[2]=f>>>16&255,O[3]=f>>>24&255,r.check=B(r.check,O,4,0)),f=0,l=0,r.mode=na;case na:for(;l<16;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}r.head&&(r.head.xflags=f&255,r.head.os=f>>8),r.flags&512&&(O[0]=f&255,O[1]=f>>>8&255,r.check=B(r.check,O,2,0)),f=0,l=0,r.mode=aa;case aa:if(r.flags&1024){for(;l<16;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}r.length=f,r.head&&(r.head.extra_len=f),r.flags&512&&(O[0]=f&255,O[1]=f>>>8&255,r.check=B(r.check,O,2,0)),f=0,l=0}else r.head&&(r.head.extra=null);r.mode=oa;case oa:if(r.flags&1024&&(u=r.length,u>s&&(u=s),u&&(r.head&&(m=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),he(r.head.extra,i,a,u,m)),r.flags&512&&(r.check=B(r.check,i,u,a)),s-=u,a+=u,r.length-=u),r.length))break e;r.length=0,r.mode=sa;case sa:if(r.flags&2048){if(s===0)break e;u=0;do m=i[a+u++],r.head&&m&&r.length<65536&&(r.head.name+=String.fromCharCode(m));while(m&&u<s);if(r.flags&512&&(r.check=B(r.check,i,u,a)),s-=u,a+=u,m)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=fa;case fa:if(r.flags&4096){if(s===0)break e;u=0;do m=i[a+u++],r.head&&m&&r.length<65536&&(r.head.comment+=String.fromCharCode(m));while(m&&u<s);if(r.flags&512&&(r.check=B(r.check,i,u,a)),s-=u,a+=u,m)break e}else r.head&&(r.head.comment=null);r.mode=la;case la:if(r.flags&512){for(;l<16;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}if(f!==(r.check&65535)){e.msg="header crc mismatch",r.mode=D;break}f=0,l=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=ue;break;case ha:for(;l<32;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}e.adler=r.check=ka(f),f=0,l=0,r.mode=ca;case ca:if(r.havedict===0)return e.next_out=o,e.avail_out=h,e.next_in=a,e.avail_in=s,r.hold=f,r.bits=l,_l;e.adler=r.check=1,r.mode=ue;case ue:if(t===dl||t===Yt)break e;case Vr:if(r.last){f>>>=l&7,l-=l&7,r.mode=Jr;break}for(;l<3;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}switch(r.last=f&1,f>>>=1,l-=1,f&3){case 0:r.mode=ua;break;case 1:if(Al(r),r.mode=qt,t===Yt){f>>>=2,l-=2;break e}break;case 2:r.mode=pa;break;case 3:e.msg="invalid block type",r.mode=D}f>>>=2,l-=2;break;case ua:for(f>>>=l&7,l-=l&7;l<32;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}if((f&65535)!==(f>>>16^65535)){e.msg="invalid stored block lengths",r.mode=D;break}if(r.length=f&65535,f=0,l=0,r.mode=Xr,t===Yt)break e;case Xr:r.mode=da;case da:if(u=r.length,u){if(u>s&&(u=s),u>h&&(u=h),u===0)break e;he(n,i,a,u,o),s-=u,a+=u,h-=u,o+=u,r.length-=u;break}r.mode=ue;break;case pa:for(;l<14;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}if(r.nlen=(f&31)+257,f>>>=5,l-=5,r.ndist=(f&31)+1,f>>>=5,l-=5,r.ncode=(f&15)+4,f>>>=4,l-=4,r.nlen>286||r.ndist>30){e.msg="too many length or distance symbols",r.mode=D;break}r.have=0,r.mode=_a;case _a:for(;r.have<r.ncode;){for(;l<3;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}r.lens[We[r.have++]]=f&7,f>>>=3,l-=3}for(;r.have<19;)r.lens[We[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,x={bits:r.lenbits},M=mt(ul,r.lens,0,19,r.lencode,0,r.work,x),r.lenbits=x.bits,M){e.msg="invalid code lengths set",r.mode=D;break}r.have=0,r.mode=wa;case wa:for(;r.have<r.nlen+r.ndist;){for(;y=r.lencode[f&(1<<r.lenbits)-1],v=y>>>24,k=y>>>16&255,E=y&65535,!(v<=l);){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}if(E<16)f>>>=v,l-=v,r.lens[r.have++]=E;else{if(E===16){for(z=v+2;l<z;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}if(f>>>=v,l-=v,r.have===0){e.msg="invalid bit length repeat",r.mode=D;break}m=r.lens[r.have-1],u=3+(f&3),f>>>=2,l-=2}else if(E===17){for(z=v+3;l<z;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}f>>>=v,l-=v,m=0,u=3+(f&7),f>>>=3,l-=3}else{for(z=v+7;l<z;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}f>>>=v,l-=v,m=0,u=11+(f&127),f>>>=7,l-=7}if(r.have+u>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=D;break}for(;u--;)r.lens[r.have++]=m}}if(r.mode===D)break;if(r.lens[256]===0){e.msg="invalid code -- missing end-of-block",r.mode=D;break}if(r.lenbits=9,x={bits:r.lenbits},M=mt(Xn,r.lens,0,r.nlen,r.lencode,0,r.work,x),r.lenbits=x.bits,M){e.msg="invalid literal/lengths set",r.mode=D;break}if(r.distbits=6,r.distcode=r.distdyn,x={bits:r.distbits},M=mt(Jn,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,x),r.distbits=x.bits,M){e.msg="invalid distances set",r.mode=D;break}if(r.mode=qt,t===Yt)break e;case qt:r.mode=Gt;case Gt:if(s>=6&&h>=258){e.next_out=o,e.avail_out=h,e.next_in=a,e.avail_in=s,r.hold=f,r.bits=l,sl(e,p),o=e.next_out,n=e.output,h=e.avail_out,a=e.next_in,i=e.input,s=e.avail_in,f=r.hold,l=r.bits,r.mode===ue&&(r.back=-1);break}for(r.back=0;y=r.lencode[f&(1<<r.lenbits)-1],v=y>>>24,k=y>>>16&255,E=y&65535,!(v<=l);){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}if(k&&!(k&240)){for(_=v,T=k,Z=E;y=r.lencode[Z+((f&(1<<_+T)-1)>>_)],v=y>>>24,k=y>>>16&255,E=y&65535,!(_+v<=l);){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}f>>>=_,l-=_,r.back+=_}if(f>>>=v,l-=v,r.back+=v,r.length=E,k===0){r.mode=ya;break}if(k&32){r.back=-1,r.mode=ue;break}if(k&64){e.msg="invalid literal/length code",r.mode=D;break}r.extra=k&15,r.mode=ga;case ga:if(r.extra){for(z=r.extra;l<z;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}r.length+=f&(1<<r.extra)-1,f>>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=va;case va:for(;y=r.distcode[f&(1<<r.distbits)-1],v=y>>>24,k=y>>>16&255,E=y&65535,!(v<=l);){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}if(!(k&240)){for(_=v,T=k,Z=E;y=r.distcode[Z+((f&(1<<_+T)-1)>>_)],v=y>>>24,k=y>>>16&255,E=y&65535,!(_+v<=l);){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}f>>>=_,l-=_,r.back+=_}if(f>>>=v,l-=v,r.back+=v,k&64){e.msg="invalid distance code",r.mode=D;break}r.offset=E,r.extra=k&15,r.mode=ma;case ma:if(r.extra){for(z=r.extra;l<z;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}r.offset+=f&(1<<r.extra)-1,f>>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=D;break}r.mode=ba;case ba:if(h===0)break e;if(u=p-h,r.offset>u){if(u=r.offset-u,u>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=D;break}u>r.wnext?(u-=r.wnext,g=r.wsize-u):g=r.wnext-u,u>r.length&&(u=r.length),S=r.window}else S=n,g=o-r.offset,u=r.length;u>h&&(u=h),h-=u,r.length-=u;do n[o++]=S[g++];while(--u);r.length===0&&(r.mode=Gt);break;case ya:if(h===0)break e;n[o++]=r.length,h--,r.mode=Gt;break;case Jr:if(r.wrap){for(;l<32;){if(s===0)break e;s--,f|=i[a++]<<l,l+=8}if(p-=h,e.total_out+=p,r.total+=p,p&&(e.adler=r.check=r.flags?B(r.check,n,p,o-p):jr(r.check,n,p,o-p)),p=h,(r.flags?f:ka(f))!==r.check){e.msg="incorrect data check",r.mode=D;break}f=0,l=0}r.mode=xa;case xa:if(r.wrap&&r.flags){for(;l<32;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}if(f!==(r.total&4294967295)){e.msg="incorrect length check",r.mode=D;break}f=0,l=0}r.mode=Ea;case Ea:M=pl;break e;case D:M=wl;break e;case ml:return gl;case bl:default:return Ae}return e.next_out=o,e.avail_out=h,e.next_in=a,e.avail_in=s,r.hold=f,r.bits=l,(r.wsize||p!==e.avail_out&&r.mode<D&&(r.mode<Jr||t!==Qn))&&Tl(e,e.output,e.next_out,p-e.avail_out),d-=e.avail_in,p-=e.avail_out,e.total_in+=d,e.total_out+=p,r.total+=p,r.wrap&&p&&(e.adler=r.check=r.flags?B(r.check,n,p,e.next_out-p):jr(r.check,n,p,e.next_out-p)),e.data_type=r.bits+(r.last?64:0)+(r.mode===ue?128:0)+(r.mode===qt||r.mode===Xr?256:0),(d===0&&p===0||t===Qn)&&M===bt&&(M=vl),M}function Cl(e){if(!e||!e.state)return Ae;var t=e.state;return t.window&&(t.window=null),e.state=null,bt}var ti=0,it=1,Vt=2,yt=3,Xt=4,nt=5,xt=6,Et=7,Aa=0,Ta=1,La=2,Ca=3,ri=4,Oa=5,Ol=6,Jt=0,Ia=1,Ma=2,Il=-1,Ml=-2,Dl=-3,Da=-5,Fl=0,Nl=1,Pl=9,zl=-1,Ul=1,Bl=2,Zl=3,jl=4,$l=0,Hl=0,Kl=1,Wl=2,Fa=8;function ee(e){if(e<it||e>Et)throw new TypeError("Bad argument");this.mode=e,this.init_done=!1,this.write_in_progress=!1,this.pending_close=!1,this.windowBits=0,this.level=0,this.memLevel=0,this.strategy=0,this.dictionary=null}ee.prototype.init=function(e,t,r,i,n){this.windowBits=e,this.level=t,this.memLevel=r,this.strategy=i,(this.mode===yt||this.mode===Xt)&&(this.windowBits+=16),this.mode===Et&&(this.windowBits+=32),(this.mode===nt||this.mode===xt)&&(this.windowBits=-this.windowBits),this.strm=new cf;var a;switch(this.mode){case it:case yt:case nt:a=il(this.strm,this.level,Fa,this.windowBits,this.memLevel,this.strategy);break;case Vt:case Xt:case xt:case Et:a=Rl(this.strm,this.windowBits);break;default:throw new Error("Unknown mode "+this.mode)}if(a!==Jt){this._error(a);return}this.write_in_progress=!1,this.init_done=!0},ee.prototype.params=function(){throw new Error("deflateParams Not supported")},ee.prototype._writeCheck=function(){if(!this.init_done)throw new Error("write before init");if(this.mode===ti)throw new Error("already finalized");if(this.write_in_progress)throw new Error("write already in progress");if(this.pending_close)throw new Error("close is pending")},ee.prototype.write=function(e,t,r,i,n,a,o){this._writeCheck(),this.write_in_progress=!0;var s=this;return fe.nextTick(function(){s.write_in_progress=!1;var h=s._write(e,t,r,i,n,a,o);s.callback(h[0],h[1]),s.pending_close&&s.close()}),this};function Yl(e,t){for(var r=0;r<e.length;r++)this[t+r]=e[r]}ee.prototype.writeSync=function(e,t,r,i,n,a,o){return this._writeCheck(),this._write(e,t,r,i,n,a,o)},ee.prototype._write=function(e,t,r,i,n,a,o){if(this.write_in_progress=!0,e!==Aa&&e!==Ta&&e!==La&&e!==Ca&&e!==ri&&e!==Oa)throw new Error("Invalid flush value");t==null&&(t=new c(0),i=0,r=0),n._set?n.set=n._set:n.set=Yl;var s=this.strm;s.avail_in=i,s.input=t,s.next_in=r,s.avail_out=o,s.output=n,s.next_out=a;var h;switch(this.mode){case it:case yt:case nt:h=nl(s,e);break;case Et:case Vt:case Xt:case xt:h=Ll(s,e);break;default:throw new Error("Unknown mode "+this.mode)}return this._checkError(h,s,e)||this._error(h),this.write_in_progress=!1,[s.avail_in,s.avail_out]},ee.prototype._checkError=function(e,t,r){switch(e){case Jt:case Da:if(t.avail_out!==0&&r===ri)return!1;break;case Ia:break;case Ma:return!1;default:return!1}return!0},ee.prototype.close=function(){if(this.write_in_progress){this.pending_close=!0;return}this.pending_close=!1,this.mode===it||this.mode===yt||this.mode===nt?al(this.strm):Cl(this.strm),this.mode=ti};var Qt;ee.prototype.reset=function(){switch(this.mode){case it:case nt:Qt=Wn(this.strm);break;case Vt:case xt:Qt=Sa(this.strm);break}Qt!==Jt&&this._error(Qt)},ee.prototype._error=function(e){this.onerror(mn[e]+": "+this.strm.msg,e),this.write_in_progress=!1,this.pending_close&&this.close()};var Na=Object.freeze({__proto__:null,DEFLATE:it,DEFLATERAW:nt,GUNZIP:Xt,GZIP:yt,INFLATE:Vt,INFLATERAW:xt,NONE:ti,UNZIP:Et,Z_BEST_COMPRESSION:Pl,Z_BEST_SPEED:Nl,Z_BINARY:Hl,Z_BLOCK:Oa,Z_BUF_ERROR:Da,Z_DATA_ERROR:Dl,Z_DEFAULT_COMPRESSION:zl,Z_DEFAULT_STRATEGY:$l,Z_DEFLATED:Fa,Z_ERRNO:Il,Z_FILTERED:Ul,Z_FINISH:ri,Z_FIXED:jl,Z_FULL_FLUSH:Ca,Z_HUFFMAN_ONLY:Bl,Z_NEED_DICT:Ma,Z_NO_COMPRESSION:Fl,Z_NO_FLUSH:Aa,Z_OK:Jt,Z_PARTIAL_FLUSH:Ta,Z_RLE:Zl,Z_STREAM_END:Ia,Z_STREAM_ERROR:Ml,Z_SYNC_FLUSH:La,Z_TEXT:Kl,Z_TREES:Ol,Z_UNKNOWN:Wl,Zlib:ee});function ql(e,t){if(!e)throw new Error(t)}var w={};Object.keys(Na).forEach(function(e){w[e]=Na[e]}),w.Z_MIN_WINDOWBITS=8,w.Z_MAX_WINDOWBITS=15,w.Z_DEFAULT_WINDOWBITS=15,w.Z_MIN_CHUNK=64,w.Z_MAX_CHUNK=1/0,w.Z_DEFAULT_CHUNK=16*1024,w.Z_MIN_MEMLEVEL=1,w.Z_MAX_MEMLEVEL=9,w.Z_DEFAULT_MEMLEVEL=8,w.Z_MIN_LEVEL=-1,w.Z_MAX_LEVEL=9,w.Z_DEFAULT_LEVEL=w.Z_DEFAULT_COMPRESSION;var kt={Z_OK:w.Z_OK,Z_STREAM_END:w.Z_STREAM_END,Z_NEED_DICT:w.Z_NEED_DICT,Z_ERRNO:w.Z_ERRNO,Z_STREAM_ERROR:w.Z_STREAM_ERROR,Z_DATA_ERROR:w.Z_DATA_ERROR,Z_MEM_ERROR:w.Z_MEM_ERROR,Z_BUF_ERROR:w.Z_BUF_ERROR,Z_VERSION_ERROR:w.Z_VERSION_ERROR};Object.keys(kt).forEach(function(e){kt[kt[e]]=e});function Gl(e){return new Ue(e)}function Vl(e){return new Be(e)}function Xl(e){return new $e(e)}function Jl(e){return new He(e)}function Ql(e){return new Ze(e)}function eh(e){return new je(e)}function th(e){return new Ke(e)}function rh(e,t,r){return typeof t=="function"&&(r=t,t={}),Pe(new Ue(t),e,r)}function ih(e,t){return ze(new Ue(t),e)}function nh(e,t,r){return typeof t=="function"&&(r=t,t={}),Pe(new Ze(t),e,r)}function ah(e,t){return ze(new Ze(t),e)}function oh(e,t,r){return typeof t=="function"&&(r=t,t={}),Pe(new $e(t),e,r)}function sh(e,t){return ze(new $e(t),e)}function fh(e,t,r){return typeof t=="function"&&(r=t,t={}),Pe(new Ke(t),e,r)}function lh(e,t){return ze(new Ke(t),e)}function hh(e,t,r){return typeof t=="function"&&(r=t,t={}),Pe(new Be(t),e,r)}function ch(e,t){return ze(new Be(t),e)}function uh(e,t,r){return typeof t=="function"&&(r=t,t={}),Pe(new je(t),e,r)}function dh(e,t){return ze(new je(t),e)}function ph(e,t,r){return typeof t=="function"&&(r=t,t={}),Pe(new He(t),e,r)}function _h(e,t){return ze(new He(t),e)}function Pe(e,t,r){var i=[],n=0;e.on("error",o),e.on("end",s),e.end(t),a();function a(){for(var h;(h=e.read())!==null;)i.push(h),n+=h.length;e.once("readable",a)}function o(h){e.removeListener("end",s),e.removeListener("readable",a),r(h)}function s(){var h=c.concat(i,n);i=[],r(null,h),e.close()}}function ze(e,t){if(typeof t=="string"&&(t=new c(t)),!c.isBuffer(t))throw new TypeError("Not a string or buffer");var r=w.Z_FINISH;return e._processChunk(t,r)}function Ue(e){if(!(this instanceof Ue))return new Ue(e);F.call(this,e,w.DEFLATE)}function Be(e){if(!(this instanceof Be))return new Be(e);F.call(this,e,w.INFLATE)}function Ze(e){if(!(this instanceof Ze))return new Ze(e);F.call(this,e,w.GZIP)}function je(e){if(!(this instanceof je))return new je(e);F.call(this,e,w.GUNZIP)}function $e(e){if(!(this instanceof $e))return new $e(e);F.call(this,e,w.DEFLATERAW)}function He(e){if(!(this instanceof He))return new He(e);F.call(this,e,w.INFLATERAW)}function Ke(e){if(!(this instanceof Ke))return new Ke(e);F.call(this,e,w.UNZIP)}function F(e,t){if(this._opts=e=e||{},this._chunkSize=e.chunkSize||w.Z_DEFAULT_CHUNK,X.call(this,e),e.flush&&e.flush!==w.Z_NO_FLUSH&&e.flush!==w.Z_PARTIAL_FLUSH&&e.flush!==w.Z_SYNC_FLUSH&&e.flush!==w.Z_FULL_FLUSH&&e.flush!==w.Z_FINISH&&e.flush!==w.Z_BLOCK)throw new Error("Invalid flush flag: "+e.flush);if(this._flushFlag=e.flush||w.Z_NO_FLUSH,e.chunkSize&&(e.chunkSize<w.Z_MIN_CHUNK||e.chunkSize>w.Z_MAX_CHUNK))throw new Error("Invalid chunk size: "+e.chunkSize);if(e.windowBits&&(e.windowBits<w.Z_MIN_WINDOWBITS||e.windowBits>w.Z_MAX_WINDOWBITS))throw new Error("Invalid windowBits: "+e.windowBits);if(e.level&&(e.level<w.Z_MIN_LEVEL||e.level>w.Z_MAX_LEVEL))throw new Error("Invalid compression level: "+e.level);if(e.memLevel&&(e.memLevel<w.Z_MIN_MEMLEVEL||e.memLevel>w.Z_MAX_MEMLEVEL))throw new Error("Invalid memLevel: "+e.memLevel);if(e.strategy&&e.strategy!=w.Z_FILTERED&&e.strategy!=w.Z_HUFFMAN_ONLY&&e.strategy!=w.Z_RLE&&e.strategy!=w.Z_FIXED&&e.strategy!=w.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+e.strategy);if(e.dictionary&&!c.isBuffer(e.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance");this._binding=new w.Zlib(t);var r=this;this._hadError=!1,this._binding.onerror=function(a,o){r._binding=null,r._hadError=!0;var s=new Error(a);s.errno=o,s.code=kt[o],r.emit("error",s)};var i=w.Z_DEFAULT_COMPRESSION;typeof e.level=="number"&&(i=e.level);var n=w.Z_DEFAULT_STRATEGY;typeof e.strategy=="number"&&(n=e.strategy),this._binding.init(e.windowBits||w.Z_DEFAULT_WINDOWBITS,i,e.memLevel||w.Z_DEFAULT_MEMLEVEL,n,e.dictionary),this._buffer=new c(this._chunkSize),this._offset=0,this._closed=!1,this._level=i,this._strategy=n,this.once("end",this.close)}$(F,X),F.prototype.params=function(e,t,r){if(e<w.Z_MIN_LEVEL||e>w.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+e);if(t!=w.Z_FILTERED&&t!=w.Z_HUFFMAN_ONLY&&t!=w.Z_RLE&&t!=w.Z_FIXED&&t!=w.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+t);if(this._level!==e||this._strategy!==t){var i=this;this.flush(w.Z_SYNC_FLUSH,function(){i._binding.params(e,t),i._hadError||(i._level=e,i._strategy=t,r&&r())})}else fe.nextTick(r)},F.prototype.reset=function(){return this._binding.reset()},F.prototype._flush=function(e){this._transform(new c(0),"",e)},F.prototype.flush=function(e,t){var r=this._writableState;if((typeof e=="function"||e===void 0&&!t)&&(t=e,e=w.Z_FULL_FLUSH),r.ended)t&&fe.nextTick(t);else if(r.ending)t&&this.once("end",t);else if(r.needDrain){var i=this;this.once("drain",function(){i.flush(t)})}else this._flushFlag=e,this.write(new c(0),"",t)},F.prototype.close=function(e){if(e&&fe.nextTick(e),!this._closed){this._closed=!0,this._binding.close();var t=this;fe.nextTick(function(){t.emit("close")})}},F.prototype._transform=function(e,t,r){var i,n=this._writableState,a=n.ending||n.ended,o=a&&(!e||n.length===e.length);if(!e===null&&!c.isBuffer(e))return r(new Error("invalid input"));o?i=w.Z_FINISH:(i=this._flushFlag,e.length>=n.length&&(this._flushFlag=this._opts.flush||w.Z_NO_FLUSH)),this._processChunk(e,i,r)},F.prototype._processChunk=function(e,t,r){var i=e&&e.length,n=this._chunkSize-this._offset,a=0,o=this,s=typeof r=="function";if(!s){var h=[],f=0,l;this.on("error",function(S){l=S});do var d=this._binding.writeSync(t,e,a,i,this._buffer,this._offset,n);while(!this._hadError&&g(d[0],d[1]));if(this._hadError)throw l;var p=c.concat(h,f);return this.close(),p}var u=this._binding.write(t,e,a,i,this._buffer,this._offset,n);u.buffer=e,u.callback=g;function g(S,y){if(!o._hadError){var v=n-y;if(ql(v>=0,"have should not go down"),v>0){var k=o._buffer.slice(o._offset,o._offset+v);o._offset+=v,s?o.push(k):(h.push(k),f+=k.length)}if((y===0||o._offset>=o._chunkSize)&&(n=o._chunkSize,o._offset=0,o._buffer=new c(o._chunkSize)),y===0){if(a+=i-S,i=S,!s)return!0;var E=o._binding.write(t,e,a,i,o._buffer,o._offset,o._chunkSize);E.callback=g,E.buffer=e;return}if(!s)return!1;r()}}},$(Ue,F),$(Be,F),$(Ze,F),$(je,F),$($e,F),$(He,F),$(Ke,F);var Pa={codes:kt,createDeflate:Gl,createInflate:Vl,createDeflateRaw:Xl,createInflateRaw:Jl,createGzip:Ql,createGunzip:eh,createUnzip:th,deflate:rh,deflateSync:ih,gzip:nh,gzipSync:ah,deflateRaw:oh,deflateRawSync:sh,unzip:fh,unzipSync:lh,inflate:hh,inflateSync:ch,gunzip:uh,gunzipSync:dh,inflateRaw:ph,inflateRawSync:_h,Deflate:Ue,Inflate:Be,Gzip:Ze,Gunzip:je,DeflateRaw:$e,InflateRaw:He,Unzip:Ke,Zlib:F};class za extends ur{constructor({client:t,keyPrefix:r="cache"}){super(),this.client=t,this.keyPrefix=r}async _set(t,r){let i=JSON.stringify(r);const n=i.length;return i=Pa.gzipSync(i).toString("base64"),this.client.putObject({key:Y(this.keyPrefix,t),body:i,contentEncoding:"gzip",contentType:"application/gzip",metadata:{compressor:"zlib",compressed:"true","client-id":this.client.id,"length-serialized":String(n),"length-compressed":String(i.length),"compression-gain":(i.length/n).toFixed(2)}})}async _get(t){const{Body:r}=await this.client.getObject(Y(this.keyPrefix,t));let i=await cr(r);return i=Buffer.from(i,"base64"),i=Pa.unzipSync(i).toString(),JSON.parse(i)}async _del(t){return await this.client.deleteObject(Y(this.keyPrefix,t)),!0}async _clear(t=""){const r=await this.client.getAllKeys({prefix:Y(this.keyPrefix,t)});await this.client.deleteObjects(r)}}class Ua extends b{async setup(t){}async start(){}async stop(){}beforeSetup(){this.emit("plugin.beforeSetup",new Date)}afterSetup(){this.emit("plugin.afterSetup",new Date)}beforeStart(){this.emit("plugin.beforeStart",new Date)}afterStart(){this.emit("plugin.afterStart",new Date)}beforeStop(){this.emit("plugin.beforeStop",new Date)}afterStop(){this.emit("plugin.afterStop",new Date)}}const wh={setup(e){},start(){},stop(){}},gh={async setup(e){this.client=e.client,this.map={PutObjectCommand:"put",GetObjectCommand:"get",HeadObjectCommand:"get",DeleteObjectCommand:"delete",DeleteObjectsCommand:"delete",ListObjectsV2Command:"list"},this.costs={total:0,prices:{put:.005/1e3,copy:.005/1e3,list:.005/1e3,post:.005/1e3,get:4e-4/1e3,select:4e-4/1e3,delete:4e-4/1e3},requests:{total:0,put:0,post:0,copy:0,list:0,get:0,select:0,delete:0},events:{total:0,PutObjectCommand:0,GetObjectCommand:0,HeadObjectCommand:0,DeleteObjectCommand:0,DeleteObjectsCommand:0,ListObjectsV2Command:0}},this.client.costs=JSON.parse(JSON.stringify(this.costs))},async start(){this.client.on("command.response",e=>this.addRequest(e,this.map[e]))},addRequest(e,t){this.costs.events[e]++,this.costs.events.total++,this.costs.requests.total++,this.costs.requests[t]++,this.costs.total+=this.costs.prices[t],this.client.costs.events[e]++,this.client.costs.events.total++,this.client.costs.requests.total++,this.client.costs.requests[t]++,this.client.costs.total+=this.client.costs.prices[t]}};class vh extends Ua{constructor(t={}){super(),this.driver=t.driver}async setup(t){this.database=t,this.driver||(this.driver=new za({keyPrefix:"cache",client:t.client})),this.installDatabaseProxy();for(const r of Object.values(t.resources))this.installResourcesProxies(r)}async start(){}async stop(){}installDatabaseProxy(){const t=this.installResourcesProxies.bind(this);this.database._createResource=this.database.createResource,this.database.createResource=async function(...r){const i=await this._createResource(...r);return t(i),i}}installResourcesProxies(t){t.cache=this.driver;let r=`resource=${t.name}`;this.driver.keyPrefix&&(this.driver.keyPrefix=Y(this.driver.keyPrefix,r)),t.cacheKeyFor=async function({params:i={},action:n="list"}){let a=Object.keys(i).sort().map(o=>`${o}:${i[o]}`).join("|")||"empty";return a=await bi(a),a=Y(r,`action=${n}`,`${a}.json.gz`),a},t._count=t.count,t._listIds=t.listIds,t._getMany=t.getMany,t._getAll=t.getAll,t._page=t.page,t.count=async function(){const i=await this.cacheKeyFor({action:"count"});try{const a=await this.cache.get(i);if(a)return a}catch(a){if(a.name!=="NoSuchKey")throw a}const n=await t._count();return await this.cache.set(i,n),n},t.listIds=async function(){const i=await this.cacheKeyFor({action:"listIds"});try{const a=await this.cache.get(i);if(a)return a}catch(a){if(a.name!=="NoSuchKey")throw a}const n=await t._listIds();return await this.cache.set(i,n),n},t.getMany=async function(i){const n=await this.cacheKeyFor({action:"getMany",params:{ids:i}});try{const o=await this.cache.get(n);if(o)return o}catch(o){if(o.name!=="NoSuchKey")throw o}const a=await t._getMany(i);return await this.cache.set(n,a),a},t.getAll=async function(){const i=await this.cacheKeyFor({action:"getAll"});try{const a=await this.cache.get(i);if(a)return a}catch(a){if(a.name!=="NoSuchKey")throw a}const n=await t._getAll();return await this.cache.set(i,n),n},t.page=async function({offset:i,size:n}){const a=await this.cacheKeyFor({action:"page",params:{offset:i,size:n}});try{const s=await this.cache.get(a);if(s)return s}catch(s){if(s.name!=="NoSuchKey")throw s}const o=await t._page({offset:i,size:n});return await this.cache.set(a,o),o},t._insert=t.insert,t._update=t.update,t._delete=t.delete,t._deleteMany=t.deleteMany,t.insert=async function(...i){const n=await t._insert(...i);return await this.cache.clear(r),n},t.update=async function(...i){const n=await t._update(...i);return await this.cache.clear(r),n},t.delete=async function(...i){const n=await t._delete(...i);return await this.cache.clear(r),n},t.deleteMany=async function(...i){const n=await t._deleteMany(...i);return await this.cache.clear(r),n}}}var mh=Object.freeze({__proto__:null});return R.BaseError=Ye,R.Cache=ur,R.CachePlugin=vh,R.Client=mi,R.ConnectionString=vi,R.CostsPlugin=gh,R.Database=Ci,R.ErrorMap=_i,R.InvalidResourceItem=Rt,R.MemoryCache=ho,R.MissingMetadata=di,R.NoSuchBucket=ci,R.NoSuchKey=sr,R.NotFound=ui,R.Plugin=Ua,R.PluginObject=wh,R.ResourceIdsPageReader=Ri,R.ResourceIdsReader=Si,R.ResourceReader=Ai,R.ResourceWriter=Ti,R.S3Cache=za,R.S3_DEFAULT_ENDPOINT=gi,R.S3_DEFAULT_REGION=wi,R.S3db=lo,R.UnknownError=pi,R.Validator=Ei,R.ValidatorManager=ki,R.decrypt=yi,R.encrypt=fr,R.sha256=bi,R.streamToString=cr,R})({},nanoid,lodashEs,promisePool,clientS3,flat,FastestValidator,web);
21
+ `)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}function ks(e){return Array.isArray(e)}function en(e){return typeof e=="boolean"}function mr(e){return e===null}function Ss(e){return typeof e=="number"}function yr(e){return typeof e=="string"}function be(e){return e===void 0}function xr(e){return ot(e)&&Sr(e)==="[object RegExp]"}function ot(e){return typeof e=="object"&&e!==null}function tn(e){return ot(e)&&Sr(e)==="[object Date]"}function Er(e){return ot(e)&&(Sr(e)==="[object Error]"||e instanceof Error)}function kr(e){return typeof e=="function"}function Sr(e){return Object.prototype.toString.call(e)}function Rs(e,t){if(!t||!ot(t))return e;for(var r=Object.keys(t),i=r.length;i--;)e[r[i]]=t[r[i]];return e}function rn(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Oe(){this.head=null,this.tail=null,this.length=0}Oe.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},Oe.prototype.unshift=function(e){var t={data:e,next:this.head};this.length===0&&(this.tail=t),this.head=t,++this.length},Oe.prototype.shift=function(){if(this.length!==0){var e=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},Oe.prototype.clear=function(){this.head=this.tail=null,this.length=0},Oe.prototype.join=function(e){if(this.length===0)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r},Oe.prototype.concat=function(e){if(this.length===0)return c.alloc(0);if(this.length===1)return this.head.data;for(var t=c.allocUnsafe(e>>>0),r=this.head,i=0;r;)r.data.copy(t,i),i+=r.data.length,r=r.next;return t};var As=c.isEncoding||function(e){switch(e&&e.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 Ts(e){if(e&&!As(e))throw new Error("Unknown encoding: "+e)}function st(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),Ts(e),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=Cs;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=Os;break;default:this.write=Ls;return}this.charBuffer=new c(6),this.charReceived=0,this.charLength=0}st.prototype.write=function(e){for(var t="";this.charLength;){var r=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,r),this.charReceived+=r,this.charReceived<this.charLength)return"";e=e.slice(r,e.length),t=this.charBuffer.slice(0,this.charLength).toString(this.encoding);var n=t.charCodeAt(t.length-1);if(n>=55296&&n<=56319){this.charLength+=this.surrogateSize,t="";continue}if(this.charReceived=this.charLength=0,e.length===0)return t;break}this.detectIncompleteChar(e);var i=e.length;this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,i),i-=this.charReceived),t+=e.toString(this.encoding,0,i);var i=t.length-1,n=t.charCodeAt(i);if(n>=55296&&n<=56319){var a=this.surrogateSize;return this.charLength+=a,this.charReceived+=a,this.charBuffer.copy(this.charBuffer,a,0,a),e.copy(this.charBuffer,0,0,a),t.substring(0,i)}return t},st.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var r=e[e.length-t];if(t==1&&r>>5==6){this.charLength=2;break}if(t<=2&&r>>4==14){this.charLength=3;break}if(t<=3&&r>>3==30){this.charLength=4;break}}this.charReceived=t},st.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var r=this.charReceived,i=this.charBuffer,n=this.encoding;t+=i.slice(0,r).toString(n)}return t};function Ls(e){return e.toString(this.encoding)}function Cs(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function Os(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}N.ReadableState=nn;var C=gs("stream");$(N,m);function Is(e,t,r){if(typeof e.prependListener=="function")return e.prependListener(t,r);!e._events||!e._events[t]?e.on(t,r):Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]}function Ms(e,t){return e.listeners(t).length}function nn(e,t){e=e||{},this.objectMode=!!e.objectMode,t instanceof V&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var r=e.highWaterMark,i=this.objectMode?16:16*1024;this.highWaterMark=r||r===0?r:i,this.highWaterMark=~~this.highWaterMark,this.buffer=new Oe,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.defaultEncoding=e.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(this.decoder=new st(e.encoding),this.encoding=e.encoding)}function N(e){if(!(this instanceof N))return new N(e);this._readableState=new nn(e,this),this.readable=!0,e&&typeof e.read=="function"&&(this._read=e.read),m.call(this)}N.prototype.push=function(e,t){var r=this._readableState;return!r.objectMode&&typeof e=="string"&&(t=t||r.defaultEncoding,t!==r.encoding&&(e=c.from(e,t),t="")),an(this,r,e,t,!1)},N.prototype.unshift=function(e){var t=this._readableState;return an(this,t,e,"",!0)},N.prototype.isPaused=function(){return this._readableState.flowing===!1};function an(e,t,r,i,n){var a=Ns(t,r);if(a)e.emit("error",a);else if(r===null)t.reading=!1,Ps(e,t);else if(t.objectMode||r&&r.length>0)if(t.ended&&!n){var o=new Error("stream.push() after EOF");e.emit("error",o)}else if(t.endEmitted&&n){var s=new Error("stream.unshift() after end event");e.emit("error",s)}else{var h;t.decoder&&!n&&!i&&(r=t.decoder.write(r),h=!t.objectMode&&r.length===0),n||(t.reading=!1),h||(t.flowing&&t.length===0&&!t.sync?(e.emit("data",r),e.read(0)):(t.length+=t.objectMode?1:r.length,n?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&Pt(e))),zs(e,t)}else n||(t.reading=!1);return Ds(t)}function Ds(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||e.length===0)}N.prototype.setEncoding=function(e){return this._readableState.decoder=new st(e),this._readableState.encoding=e,this};var on=8388608;function Fs(e){return e>=on?e=on:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function sn(e,t){return e<=0||t.length===0&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=Fs(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}N.prototype.read=function(e){C("read",e),e=parseInt(e,10);var t=this._readableState,r=e;if(e!==0&&(t.emittedReadable=!1),e===0&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return C("read: emitReadable",t.length,t.ended),t.length===0&&t.ended?Ar(this):Pt(this),null;if(e=sn(e,t),e===0&&t.ended)return t.length===0&&Ar(this),null;var i=t.needReadable;C("need readable",i),(t.length===0||t.length-e<t.highWaterMark)&&(i=!0,C("length less than watermark",i)),t.ended||t.reading?(i=!1,C("reading or ended",i)):i&&(C("do read"),t.reading=!0,t.sync=!0,t.length===0&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=sn(r,t)));var n;return e>0?n=ln(e,t):n=null,n===null?(t.needReadable=!0,e=0):t.length-=e,t.length===0&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&Ar(this)),n!==null&&this.emit("data",n),n};function Ns(e,t){var r=null;return!c.isBuffer(t)&&typeof t!="string"&&t!==null&&t!==void 0&&!e.objectMode&&(r=new TypeError("Invalid non-string/buffer chunk")),r}function Ps(e,t){if(!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,Pt(e)}}function Pt(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(C("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?q(fn,e):fn(e))}function fn(e){C("emit readable"),e.emit("readable"),Rr(e)}function zs(e,t){t.readingMore||(t.readingMore=!0,q(Us,e,t))}function Us(e,t){for(var r=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(C("maybeReadMore read 0"),e.read(0),r!==t.length);)r=t.length;t.readingMore=!1}N.prototype._read=function(e){this.emit("error",new Error("not implemented"))},N.prototype.pipe=function(e,t){var r=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=e;break;case 1:i.pipes=[i.pipes,e];break;default:i.pipes.push(e);break}i.pipesCount+=1,C("pipe count=%d opts=%j",i.pipesCount,t);var n=!t||t.end!==!1,a=n?s:l;i.endEmitted?q(a):r.once("end",a),e.on("unpipe",o);function o(v){C("onunpipe"),v===r&&l()}function s(){C("onend"),e.end()}var h=Bs(r);e.on("drain",h);var f=!1;function l(){C("cleanup"),e.removeListener("close",g),e.removeListener("finish",S),e.removeListener("drain",h),e.removeListener("error",u),e.removeListener("unpipe",o),r.removeListener("end",s),r.removeListener("end",l),r.removeListener("data",p),f=!0,i.awaitDrain&&(!e._writableState||e._writableState.needDrain)&&h()}var d=!1;r.on("data",p);function p(v){C("ondata"),d=!1;var k=e.write(v);k===!1&&!d&&((i.pipesCount===1&&i.pipes===e||i.pipesCount>1&&hn(i.pipes,e)!==-1)&&!f&&(C("false write response, pause",r._readableState.awaitDrain),r._readableState.awaitDrain++,d=!0),r.pause())}function u(v){C("onerror",v),y(),e.removeListener("error",u),Ms(e,"error")===0&&e.emit("error",v)}Is(e,"error",u);function g(){e.removeListener("finish",S),y()}e.once("close",g);function S(){C("onfinish"),e.removeListener("close",g),y()}e.once("finish",S);function y(){C("unpipe"),r.unpipe(e)}return e.emit("pipe",r),i.flowing||(C("pipe resume"),r.resume()),e};function Bs(e){return function(){var t=e._readableState;C("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,t.awaitDrain===0&&e.listeners("data").length&&(t.flowing=!0,Rr(e))}}N.prototype.unpipe=function(e){var t=this._readableState;if(t.pipesCount===0)return this;if(t.pipesCount===1)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this),this);if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var n=0;n<i;n++)r[n].emit("unpipe",this);return this}var a=hn(t.pipes,e);return a===-1?this:(t.pipes.splice(a,1),t.pipesCount-=1,t.pipesCount===1&&(t.pipes=t.pipes[0]),e.emit("unpipe",this),this)},N.prototype.on=function(e,t){var r=m.prototype.on.call(this,e,t);if(e==="data")this._readableState.flowing!==!1&&this.resume();else if(e==="readable"){var i=this._readableState;!i.endEmitted&&!i.readableListening&&(i.readableListening=i.needReadable=!0,i.emittedReadable=!1,i.reading?i.length&&Pt(this):q(Zs,this))}return r},N.prototype.addListener=N.prototype.on;function Zs(e){C("readable nexttick read 0"),e.read(0)}N.prototype.resume=function(){var e=this._readableState;return e.flowing||(C("resume"),e.flowing=!0,js(this,e)),this};function js(e,t){t.resumeScheduled||(t.resumeScheduled=!0,q($s,e,t))}function $s(e,t){t.reading||(C("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),Rr(e),t.flowing&&!t.reading&&e.read(0)}N.prototype.pause=function(){return C("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(C("pause"),this._readableState.flowing=!1,this.emit("pause")),this};function Rr(e){var t=e._readableState;for(C("flow",t.flowing);t.flowing&&e.read()!==null;);}N.prototype.wrap=function(e){var t=this._readableState,r=!1,i=this;e.on("end",function(){if(C("wrapped end"),t.decoder&&!t.ended){var o=t.decoder.end();o&&o.length&&i.push(o)}i.push(null)}),e.on("data",function(o){if(C("wrapped data"),t.decoder&&(o=t.decoder.write(o)),!(t.objectMode&&o==null)&&!(!t.objectMode&&(!o||!o.length))){var s=i.push(o);s||(r=!0,e.pause())}});for(var n in e)this[n]===void 0&&typeof e[n]=="function"&&(this[n]=function(o){return function(){return e[o].apply(e,arguments)}}(n));var a=["error","close","destroy","pause","resume"];return qs(a,function(o){e.on(o,i.emit.bind(i,o))}),i._read=function(o){C("wrapped _read",o),r&&(r=!1,e.resume())},i},N._fromList=ln;function ln(e,t){if(t.length===0)return null;var r;return t.objectMode?r=t.buffer.shift():!e||e>=t.length?(t.decoder?r=t.buffer.join(""):t.buffer.length===1?r=t.buffer.head.data:r=t.buffer.concat(t.length),t.buffer.clear()):r=Hs(e,t.buffer,t.decoder),r}function Hs(e,t,r){var i;return e<t.head.data.length?(i=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):e===t.head.data.length?i=t.shift():i=r?Ks(e,t):Ws(e,t),i}function Ks(e,t){var r=t.head,i=1,n=r.data;for(e-=n.length;r=r.next;){var a=r.data,o=e>a.length?a.length:e;if(o===a.length?n+=a:n+=a.slice(0,e),e-=o,e===0){o===a.length?(++i,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=a.slice(o));break}++i}return t.length-=i,n}function Ws(e,t){var r=c.allocUnsafe(e),i=t.head,n=1;for(i.data.copy(r),e-=i.data.length;i=i.next;){var a=i.data,o=e>a.length?a.length:e;if(a.copy(r,r.length-e,0,o),e-=o,e===0){o===a.length?(++n,i.next?t.head=i.next:t.head=t.tail=null):(t.head=i,i.data=a.slice(o));break}++n}return t.length-=n,r}function Ar(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,q(Ys,t,e))}function Ys(e,t){!e.endEmitted&&e.length===0&&(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function qs(e,t){for(var r=0,i=e.length;r<i;r++)t(e[r],r)}function hn(e,t){for(var r=0,i=e.length;r<i;r++)if(e[r]===t)return r;return-1}H.WritableState=Tr,$(H,m);function Gs(){}function Vs(e,t,r){this.chunk=e,this.encoding=t,this.callback=r,this.next=null}function Tr(e,t){Object.defineProperty(this,"buffer",{get:Qi(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.")}),e=e||{},this.objectMode=!!e.objectMode,t instanceof V&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var r=e.highWaterMark,i=this.objectMode?16:16*1024;this.highWaterMark=r||r===0?r:i,this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1;var n=e.decodeStrings===!1;this.decodeStrings=!n,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(a){nf(t,a)},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 wn(this)}Tr.prototype.getBuffer=function(){for(var t=this.bufferedRequest,r=[];t;)r.push(t),t=t.next;return r};function H(e){if(!(this instanceof H)&&!(this instanceof V))return new H(e);this._writableState=new Tr(e,this),this.writable=!0,e&&(typeof e.write=="function"&&(this._write=e.write),typeof e.writev=="function"&&(this._writev=e.writev)),m.call(this)}H.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))};function Xs(e,t){var r=new Error("write after end");e.emit("error",r),q(t,r)}function Js(e,t,r,i){var n=!0,a=!1;return r===null?a=new TypeError("May not write null values to stream"):!c.isBuffer(r)&&typeof r!="string"&&r!==void 0&&!t.objectMode&&(a=new TypeError("Invalid non-string/buffer chunk")),a&&(e.emit("error",a),q(i,a),n=!1),n}H.prototype.write=function(e,t,r){var i=this._writableState,n=!1;return typeof t=="function"&&(r=t,t=null),c.isBuffer(e)?t="buffer":t||(t=i.defaultEncoding),typeof r!="function"&&(r=Gs),i.ended?Xs(this,r):Js(this,i,e,r)&&(i.pendingcb++,n=ef(this,i,e,t,r)),n},H.prototype.cork=function(){var e=this._writableState;e.corked++},H.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,!e.writing&&!e.corked&&!e.finished&&!e.bufferProcessing&&e.bufferedRequest&&un(this,e))},H.prototype.setDefaultEncoding=function(t){if(typeof t=="string"&&(t=t.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((t+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+t);return this._writableState.defaultEncoding=t,this};function Qs(e,t,r){return!e.objectMode&&e.decodeStrings!==!1&&typeof t=="string"&&(t=c.from(t,r)),t}function ef(e,t,r,i,n){r=Qs(t,r,i),c.isBuffer(r)&&(i="buffer");var a=t.objectMode?1:r.length;t.length+=a;var o=t.length<t.highWaterMark;if(o||(t.needDrain=!0),t.writing||t.corked){var s=t.lastBufferedRequest;t.lastBufferedRequest=new Vs(r,i,n),s?s.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else Lr(e,t,!1,a,r,i,n);return o}function Lr(e,t,r,i,n,a,o){t.writelen=i,t.writecb=o,t.writing=!0,t.sync=!0,r?e._writev(n,t.onwrite):e._write(n,a,t.onwrite),t.sync=!1}function tf(e,t,r,i,n){--t.pendingcb,r?q(n,i):n(i),e._writableState.errorEmitted=!0,e.emit("error",i)}function rf(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function nf(e,t){var r=e._writableState,i=r.sync,n=r.writecb;if(rf(r),t)tf(e,r,i,t,n);else{var a=dn(r);!a&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&un(e,r),i?q(cn,e,r,a,n):cn(e,r,a,n)}}function cn(e,t,r,i){r||af(e,t),t.pendingcb--,i(),_n(e,t)}function af(e,t){t.length===0&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}function un(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var i=t.bufferedRequestCount,n=new Array(i),a=t.corkedRequestsFree;a.entry=r;for(var o=0;r;)n[o]=r,r=r.next,o+=1;Lr(e,t,!0,t.length,n,"",a.finish),t.pendingcb++,t.lastBufferedRequest=null,a.next?(t.corkedRequestsFree=a.next,a.next=null):t.corkedRequestsFree=new wn(t)}else{for(;r;){var s=r.chunk,h=r.encoding,f=r.callback,l=t.objectMode?1:s.length;if(Lr(e,t,!1,l,s,h,f),r=r.next,t.writing)break}r===null&&(t.lastBufferedRequest=null)}t.bufferedRequestCount=0,t.bufferedRequest=r,t.bufferProcessing=!1}H.prototype._write=function(e,t,r){r(new Error("not implemented"))},H.prototype._writev=null,H.prototype.end=function(e,t,r){var i=this._writableState;typeof e=="function"?(r=e,e=null,t=null):typeof t=="function"&&(r=t,t=null),e!=null&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),!i.ending&&!i.finished&&of(this,i,r)};function dn(e){return e.ending&&e.length===0&&e.bufferedRequest===null&&!e.finished&&!e.writing}function pn(e,t){t.prefinished||(t.prefinished=!0,e.emit("prefinish"))}function _n(e,t){var r=dn(t);return r&&(t.pendingcb===0?(pn(e,t),t.finished=!0,e.emit("finish")):pn(e,t)),r}function of(e,t,r){t.ending=!0,_n(e,t),r&&(t.finished?q(r):e.once("finish",r)),t.ended=!0,e.writable=!1}function wn(e){var t=this;this.next=null,this.entry=null,this.finish=function(r){var i=t.entry;for(t.entry=null;i;){var n=i.callback;e.pendingcb--,n(r),i=i.next}e.corkedRequestsFree?e.corkedRequestsFree.next=t:e.corkedRequestsFree=t}}$(V,N);for(var gn=Object.keys(H.prototype),Cr=0;Cr<gn.length;Cr++){var Or=gn[Cr];V.prototype[Or]||(V.prototype[Or]=H.prototype[Or])}function V(e){if(!(this instanceof V))return new V(e);N.call(this,e),H.call(this,e),e&&e.readable===!1&&(this.readable=!1),e&&e.writable===!1&&(this.writable=!1),this.allowHalfOpen=!0,e&&e.allowHalfOpen===!1&&(this.allowHalfOpen=!1),this.once("end",sf)}function sf(){this.allowHalfOpen||this._writableState.ended||q(ff,this)}function ff(e){e.end()}$(X,V);function lf(e){this.afterTransform=function(t,r){return hf(e,t,r)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null,this.writeencoding=null}function hf(e,t,r){var i=e._transformState;i.transforming=!1;var n=i.writecb;if(!n)return e.emit("error",new Error("no writecb in Transform class"));i.writechunk=null,i.writecb=null,r!=null&&e.push(r),n(t);var a=e._readableState;a.reading=!1,(a.needReadable||a.length<a.highWaterMark)&&e._read(a.highWaterMark)}function X(e){if(!(this instanceof X))return new X(e);V.call(this,e),this._transformState=new lf(this);var t=this;this._readableState.needReadable=!0,this._readableState.sync=!1,e&&(typeof e.transform=="function"&&(this._transform=e.transform),typeof e.flush=="function"&&(this._flush=e.flush)),this.once("prefinish",function(){typeof this._flush=="function"?this._flush(function(r){vn(t,r)}):vn(t)})}X.prototype.push=function(e,t){return this._transformState.needTransform=!1,V.prototype.push.call(this,e,t)},X.prototype._transform=function(e,t,r){throw new Error("Not implemented")},X.prototype._write=function(e,t,r){var i=this._transformState;if(i.writecb=r,i.writechunk=e,i.writeencoding=t,!i.transforming){var n=this._readableState;(i.needTransform||n.needReadable||n.length<n.highWaterMark)&&this._read(n.highWaterMark)}},X.prototype._read=function(e){var t=this._transformState;t.writechunk!==null&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0};function vn(e,t){if(t)return e.emit("error",t);var r=e._writableState,i=e._transformState;if(r.length)throw new Error("Calling transform done when ws.length != 0");if(i.transforming)throw new Error("Calling transform done when still transforming");return e.push(null)}$(ft,X);function ft(e){if(!(this instanceof ft))return new ft(e);X.call(this,e)}ft.prototype._transform=function(e,t,r){r(null,e)},$(le,m),le.Readable=N,le.Writable=H,le.Duplex=V,le.Transform=X,le.PassThrough=ft,le.Stream=le;function le(){m.call(this)}le.prototype.pipe=function(e,t){var r=this;function i(l){e.writable&&e.write(l)===!1&&r.pause&&r.pause()}r.on("data",i);function n(){r.readable&&r.resume&&r.resume()}e.on("drain",n),!e._isStdio&&(!t||t.end!==!1)&&(r.on("end",o),r.on("close",s));var a=!1;function o(){a||(a=!0,e.end())}function s(){a||(a=!0,typeof e.destroy=="function"&&e.destroy())}function h(l){if(f(),m.listenerCount(this,"error")===0)throw l}r.on("error",h),e.on("error",h);function f(){r.removeListener("data",i),e.removeListener("drain",n),r.removeListener("end",o),r.removeListener("close",s),r.removeListener("error",h),e.removeListener("error",h),r.removeListener("end",f),r.removeListener("close",f),e.removeListener("close",f)}return r.on("end",f),r.on("close",f),e.on("close",f),e.emit("pipe",r),e};var bn={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"};function cf(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}function he(e,t,r,i,n){if(t.subarray&&e.subarray){e.set(t.subarray(r,r+i),n);return}for(var a=0;a<i;a++)e[n+a]=t[r+a]}var zt=Uint8Array,J=Uint16Array,Ut=Int32Array,uf=4,mn=0,yn=1,df=2;function Xe(e){for(var t=e.length;--t>=0;)e[t]=0}var pf=0,xn=1,_f=2,wf=3,gf=258,Ir=29,lt=256,ht=lt+1+Ir,Je=30,Mr=19,En=2*ht+1,Ie=15,Dr=16,vf=7,Fr=256,kn=16,Sn=17,Rn=18,Nr=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],Bt=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],bf=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],An=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],mf=512,ce=new Array((ht+2)*2);Xe(ce);var ct=new Array(Je*2);Xe(ct);var ut=new Array(mf);Xe(ut);var dt=new Array(gf-wf+1);Xe(dt);var Pr=new Array(Ir);Xe(Pr);var Zt=new Array(Je);Xe(Zt);function zr(e,t,r,i,n){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=i,this.max_length=n,this.has_stree=e&&e.length}var Tn,Ln,Cn;function Ur(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function On(e){return e<256?ut[e]:ut[256+(e>>>7)]}function pt(e,t){e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255}function W(e,t,r){e.bi_valid>Dr-r?(e.bi_buf|=t<<e.bi_valid&65535,pt(e,e.bi_buf),e.bi_buf=t>>Dr-e.bi_valid,e.bi_valid+=r-Dr):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function ie(e,t,r){W(e,r[t*2],r[t*2+1])}function In(e,t){var r=0;do r|=e&1,e>>>=1,r<<=1;while(--t>0);return r>>>1}function yf(e){e.bi_valid===16?(pt(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)}function xf(e,t){var r=t.dyn_tree,i=t.max_code,n=t.stat_desc.static_tree,a=t.stat_desc.has_stree,o=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,h=t.stat_desc.max_length,f,l,d,p,u,g,S=0;for(p=0;p<=Ie;p++)e.bl_count[p]=0;for(r[e.heap[e.heap_max]*2+1]=0,f=e.heap_max+1;f<En;f++)l=e.heap[f],p=r[r[l*2+1]*2+1]+1,p>h&&(p=h,S++),r[l*2+1]=p,!(l>i)&&(e.bl_count[p]++,u=0,l>=s&&(u=o[l-s]),g=r[l*2],e.opt_len+=g*(p+u),a&&(e.static_len+=g*(n[l*2+1]+u)));if(S!==0){do{for(p=h-1;e.bl_count[p]===0;)p--;e.bl_count[p]--,e.bl_count[p+1]+=2,e.bl_count[h]--,S-=2}while(S>0);for(p=h;p!==0;p--)for(l=e.bl_count[p];l!==0;)d=e.heap[--f],!(d>i)&&(r[d*2+1]!==p&&(e.opt_len+=(p-r[d*2+1])*r[d*2],r[d*2+1]=p),l--)}}function Mn(e,t,r){var i=new Array(Ie+1),n=0,a,o;for(a=1;a<=Ie;a++)i[a]=n=n+r[a-1]<<1;for(o=0;o<=t;o++){var s=e[o*2+1];s!==0&&(e[o*2]=In(i[s]++,s))}}function Ef(){var e,t,r,i,n,a=new Array(Ie+1);for(r=0,i=0;i<Ir-1;i++)for(Pr[i]=r,e=0;e<1<<Nr[i];e++)dt[r++]=i;for(dt[r-1]=i,n=0,i=0;i<16;i++)for(Zt[i]=n,e=0;e<1<<Bt[i];e++)ut[n++]=i;for(n>>=7;i<Je;i++)for(Zt[i]=n<<7,e=0;e<1<<Bt[i]-7;e++)ut[256+n++]=i;for(t=0;t<=Ie;t++)a[t]=0;for(e=0;e<=143;)ce[e*2+1]=8,e++,a[8]++;for(;e<=255;)ce[e*2+1]=9,e++,a[9]++;for(;e<=279;)ce[e*2+1]=7,e++,a[7]++;for(;e<=287;)ce[e*2+1]=8,e++,a[8]++;for(Mn(ce,ht+1,a),e=0;e<Je;e++)ct[e*2+1]=5,ct[e*2]=In(e,5);Tn=new zr(ce,Nr,lt+1,ht,Ie),Ln=new zr(ct,Bt,0,Je,Ie),Cn=new zr(new Array(0),bf,0,Mr,vf)}function Dn(e){var t;for(t=0;t<ht;t++)e.dyn_ltree[t*2]=0;for(t=0;t<Je;t++)e.dyn_dtree[t*2]=0;for(t=0;t<Mr;t++)e.bl_tree[t*2]=0;e.dyn_ltree[Fr*2]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function Fn(e){e.bi_valid>8?pt(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function kf(e,t,r,i){Fn(e),pt(e,r),pt(e,~r),he(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}function Nn(e,t,r,i){var n=t*2,a=r*2;return e[n]<e[a]||e[n]===e[a]&&i[t]<=i[r]}function Br(e,t,r){for(var i=e.heap[r],n=r<<1;n<=e.heap_len&&(n<e.heap_len&&Nn(t,e.heap[n+1],e.heap[n],e.depth)&&n++,!Nn(t,i,e.heap[n],e.depth));)e.heap[r]=e.heap[n],r=n,n<<=1;e.heap[r]=i}function Pn(e,t,r){var i,n,a=0,o,s;if(e.last_lit!==0)do i=e.pending_buf[e.d_buf+a*2]<<8|e.pending_buf[e.d_buf+a*2+1],n=e.pending_buf[e.l_buf+a],a++,i===0?ie(e,n,t):(o=dt[n],ie(e,o+lt+1,t),s=Nr[o],s!==0&&(n-=Pr[o],W(e,n,s)),i--,o=On(i),ie(e,o,r),s=Bt[o],s!==0&&(i-=Zt[o],W(e,i,s)));while(a<e.last_lit);ie(e,Fr,t)}function Zr(e,t){var r=t.dyn_tree,i=t.stat_desc.static_tree,n=t.stat_desc.has_stree,a=t.stat_desc.elems,o,s,h=-1,f;for(e.heap_len=0,e.heap_max=En,o=0;o<a;o++)r[o*2]!==0?(e.heap[++e.heap_len]=h=o,e.depth[o]=0):r[o*2+1]=0;for(;e.heap_len<2;)f=e.heap[++e.heap_len]=h<2?++h:0,r[f*2]=1,e.depth[f]=0,e.opt_len--,n&&(e.static_len-=i[f*2+1]);for(t.max_code=h,o=e.heap_len>>1;o>=1;o--)Br(e,r,o);f=a;do o=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Br(e,r,1),s=e.heap[1],e.heap[--e.heap_max]=o,e.heap[--e.heap_max]=s,r[f*2]=r[o*2]+r[s*2],e.depth[f]=(e.depth[o]>=e.depth[s]?e.depth[o]:e.depth[s])+1,r[o*2+1]=r[s*2+1]=f,e.heap[1]=f++,Br(e,r,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],xf(e,t),Mn(r,h,e.bl_count)}function zn(e,t,r){var i,n=-1,a,o=t[0*2+1],s=0,h=7,f=4;for(o===0&&(h=138,f=3),t[(r+1)*2+1]=65535,i=0;i<=r;i++)a=o,o=t[(i+1)*2+1],!(++s<h&&a===o)&&(s<f?e.bl_tree[a*2]+=s:a!==0?(a!==n&&e.bl_tree[a*2]++,e.bl_tree[kn*2]++):s<=10?e.bl_tree[Sn*2]++:e.bl_tree[Rn*2]++,s=0,n=a,o===0?(h=138,f=3):a===o?(h=6,f=3):(h=7,f=4))}function Un(e,t,r){var i,n=-1,a,o=t[0*2+1],s=0,h=7,f=4;for(o===0&&(h=138,f=3),i=0;i<=r;i++)if(a=o,o=t[(i+1)*2+1],!(++s<h&&a===o)){if(s<f)do ie(e,a,e.bl_tree);while(--s!==0);else a!==0?(a!==n&&(ie(e,a,e.bl_tree),s--),ie(e,kn,e.bl_tree),W(e,s-3,2)):s<=10?(ie(e,Sn,e.bl_tree),W(e,s-3,3)):(ie(e,Rn,e.bl_tree),W(e,s-11,7));s=0,n=a,o===0?(h=138,f=3):a===o?(h=6,f=3):(h=7,f=4)}}function Sf(e){var t;for(zn(e,e.dyn_ltree,e.l_desc.max_code),zn(e,e.dyn_dtree,e.d_desc.max_code),Zr(e,e.bl_desc),t=Mr-1;t>=3&&e.bl_tree[An[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t}function Rf(e,t,r,i){var n;for(W(e,t-257,5),W(e,r-1,5),W(e,i-4,4),n=0;n<i;n++)W(e,e.bl_tree[An[n]*2+1],3);Un(e,e.dyn_ltree,t-1),Un(e,e.dyn_dtree,r-1)}function Af(e){var t=4093624447,r;for(r=0;r<=31;r++,t>>>=1)if(t&1&&e.dyn_ltree[r*2]!==0)return mn;if(e.dyn_ltree[9*2]!==0||e.dyn_ltree[10*2]!==0||e.dyn_ltree[13*2]!==0)return yn;for(r=32;r<lt;r++)if(e.dyn_ltree[r*2]!==0)return yn;return mn}var Bn=!1;function Tf(e){Bn||(Ef(),Bn=!0),e.l_desc=new Ur(e.dyn_ltree,Tn),e.d_desc=new Ur(e.dyn_dtree,Ln),e.bl_desc=new Ur(e.bl_tree,Cn),e.bi_buf=0,e.bi_valid=0,Dn(e)}function Zn(e,t,r,i){W(e,(pf<<1)+(i?1:0),3),kf(e,t,r)}function Lf(e){W(e,xn<<1,3),ie(e,Fr,ce),yf(e)}function Cf(e,t,r,i){var n,a,o=0;e.level>0?(e.strm.data_type===df&&(e.strm.data_type=Af(e)),Zr(e,e.l_desc),Zr(e,e.d_desc),o=Sf(e),n=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a<=n&&(n=a)):n=a=r+5,r+4<=n&&t!==-1?Zn(e,t,r,i):e.strategy===uf||a===n?(W(e,(xn<<1)+(i?1:0),3),Pn(e,ce,ct)):(W(e,(_f<<1)+(i?1:0),3),Rf(e,e.l_desc.max_code+1,e.d_desc.max_code+1,o+1),Pn(e,e.dyn_ltree,e.dyn_dtree)),Dn(e),i&&Fn(e)}function me(e,t,r){return e.pending_buf[e.d_buf+e.last_lit*2]=t>>>8&255,e.pending_buf[e.d_buf+e.last_lit*2+1]=t&255,e.pending_buf[e.l_buf+e.last_lit]=r&255,e.last_lit++,t===0?e.dyn_ltree[r*2]++:(e.matches++,t--,e.dyn_ltree[(dt[r]+lt+1)*2]++,e.dyn_dtree[On(t)*2]++),e.last_lit===e.lit_bufsize-1}function jr(e,t,r,i){for(var n=e&65535|0,a=e>>>16&65535|0,o=0;r!==0;){o=r>2e3?2e3:r,r-=o;do n=n+t[i++]|0,a=a+n|0;while(--o);n%=65521,a%=65521}return n|a<<16|0}function Of(){for(var e,t=[],r=0;r<256;r++){e=r;for(var i=0;i<8;i++)e=e&1?3988292384^e>>>1:e>>>1;t[r]=e}return t}var If=Of();function B(e,t,r,i){var n=If,a=i+r;e^=-1;for(var o=i;o<a;o++)e=e>>>8^n[(e^t[o])&255];return e^-1}var Me=0,Mf=1,Df=3,ye=4,jn=5,xe=0,$n=1,Ee=-2,Ff=-3,$r=-5,Nf=-1,Pf=1,jt=2,zf=3,Uf=4,Bf=2,Hr=8,Zf=9,jf=29,$f=256,Kr=$f+1+jf,Hf=30,Kf=19,Wf=2*Kr+1,Yf=15,L=3,ke=258,Q=ke+L+1,qf=32,Wr=42,Yr=69,$t=73,Ht=91,Kt=103,De=113,_t=666,P=1,wt=2,Fe=3,Qe=4,Gf=3;function Se(e,t){return e.msg=bn[t],t}function Hn(e){return(e<<1)-(e>4?9:0)}function Ne(e){for(var t=e.length;--t>=0;)e[t]=0}function Re(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),r!==0&&(he(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,t.pending===0&&(t.pending_out=0))}function j(e,t){Cf(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,Re(e.strm)}function A(e,t){e.pending_buf[e.pending++]=t}function gt(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255}function Vf(e,t,r,i){var n=e.avail_in;return n>i&&(n=i),n===0?0:(e.avail_in-=n,he(t,e.input,e.next_in,n,r),e.state.wrap===1?e.adler=jr(e.adler,t,n,r):e.state.wrap===2&&(e.adler=B(e.adler,t,n,r)),e.next_in+=n,e.total_in+=n,n)}function Kn(e,t){var r=e.max_chain_length,i=e.strstart,n,a,o=e.prev_length,s=e.nice_match,h=e.strstart>e.w_size-Q?e.strstart-(e.w_size-Q):0,f=e.window,l=e.w_mask,d=e.prev,p=e.strstart+ke,u=f[i+o-1],g=f[i+o];e.prev_length>=e.good_match&&(r>>=2),s>e.lookahead&&(s=e.lookahead);do if(n=t,!(f[n+o]!==g||f[n+o-1]!==u||f[n]!==f[i]||f[++n]!==f[i+1])){i+=2,n++;do;while(f[++i]===f[++n]&&f[++i]===f[++n]&&f[++i]===f[++n]&&f[++i]===f[++n]&&f[++i]===f[++n]&&f[++i]===f[++n]&&f[++i]===f[++n]&&f[++i]===f[++n]&&i<p);if(a=ke-(p-i),i=p-ke,a>o){if(e.match_start=t,o=a,a>=s)break;u=f[i+o-1],g=f[i+o]}}while((t=d[t&l])>h&&--r!==0);return o<=e.lookahead?o:e.lookahead}function vt(e){var t=e.w_size,r,i,n,a,o;do{if(a=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-Q)){he(e.window,e.window,t,t,0),e.match_start-=t,e.strstart-=t,e.block_start-=t,i=e.hash_size,r=i;do n=e.head[--r],e.head[r]=n>=t?n-t:0;while(--i);i=t,r=i;do n=e.prev[--r],e.prev[r]=n>=t?n-t:0;while(--i);a+=t}if(e.strm.avail_in===0)break;if(i=Vf(e.strm,e.window,e.strstart+e.lookahead,a),e.lookahead+=i,e.lookahead+e.insert>=L)for(o=e.strstart-e.insert,e.ins_h=e.window[o],e.ins_h=(e.ins_h<<e.hash_shift^e.window[o+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[o+L-1])&e.hash_mask,e.prev[o&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=o,o++,e.insert--,!(e.lookahead+e.insert<L)););}while(e.lookahead<Q&&e.strm.avail_in!==0)}function Xf(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(vt(e),e.lookahead===0&&t===Me)return P;if(e.lookahead===0)break}e.strstart+=e.lookahead,e.lookahead=0;var i=e.block_start+r;if((e.strstart===0||e.strstart>=i)&&(e.lookahead=e.strstart-i,e.strstart=i,j(e,!1),e.strm.avail_out===0)||e.strstart-e.block_start>=e.w_size-Q&&(j(e,!1),e.strm.avail_out===0))return P}return e.insert=0,t===ye?(j(e,!0),e.strm.avail_out===0?Fe:Qe):(e.strstart>e.block_start&&(j(e,!1),e.strm.avail_out===0),P)}function qr(e,t){for(var r,i;;){if(e.lookahead<Q){if(vt(e),e.lookahead<Q&&t===Me)return P;if(e.lookahead===0)break}if(r=0,e.lookahead>=L&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+L-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),r!==0&&e.strstart-r<=e.w_size-Q&&(e.match_length=Kn(e,r)),e.match_length>=L)if(i=me(e,e.strstart-e.match_start,e.match_length-L),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=L){e.match_length--;do e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+L-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else i=me(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(i&&(j(e,!1),e.strm.avail_out===0))return P}return e.insert=e.strstart<L-1?e.strstart:L-1,t===ye?(j(e,!0),e.strm.avail_out===0?Fe:Qe):e.last_lit&&(j(e,!1),e.strm.avail_out===0)?P:wt}function et(e,t){for(var r,i,n;;){if(e.lookahead<Q){if(vt(e),e.lookahead<Q&&t===Me)return P;if(e.lookahead===0)break}if(r=0,e.lookahead>=L&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+L-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=L-1,r!==0&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-Q&&(e.match_length=Kn(e,r),e.match_length<=5&&(e.strategy===Pf||e.match_length===L&&e.strstart-e.match_start>4096)&&(e.match_length=L-1)),e.prev_length>=L&&e.match_length<=e.prev_length){n=e.strstart+e.lookahead-L,i=me(e,e.strstart-1-e.prev_match,e.prev_length-L),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=n&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+L-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=L-1,e.strstart++,i&&(j(e,!1),e.strm.avail_out===0))return P}else if(e.match_available){if(i=me(e,0,e.window[e.strstart-1]),i&&j(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return P}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(i=me(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<L-1?e.strstart:L-1,t===ye?(j(e,!0),e.strm.avail_out===0?Fe:Qe):e.last_lit&&(j(e,!1),e.strm.avail_out===0)?P:wt}function Jf(e,t){for(var r,i,n,a,o=e.window;;){if(e.lookahead<=ke){if(vt(e),e.lookahead<=ke&&t===Me)return P;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=L&&e.strstart>0&&(n=e.strstart-1,i=o[n],i===o[++n]&&i===o[++n]&&i===o[++n])){a=e.strstart+ke;do;while(i===o[++n]&&i===o[++n]&&i===o[++n]&&i===o[++n]&&i===o[++n]&&i===o[++n]&&i===o[++n]&&i===o[++n]&&n<a);e.match_length=ke-(a-n),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=L?(r=me(e,1,e.match_length-L),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=me(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(j(e,!1),e.strm.avail_out===0))return P}return e.insert=0,t===ye?(j(e,!0),e.strm.avail_out===0?Fe:Qe):e.last_lit&&(j(e,!1),e.strm.avail_out===0)?P:wt}function Qf(e,t){for(var r;;){if(e.lookahead===0&&(vt(e),e.lookahead===0)){if(t===Me)return P;break}if(e.match_length=0,r=me(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(j(e,!1),e.strm.avail_out===0))return P}return e.insert=0,t===ye?(j(e,!0),e.strm.avail_out===0?Fe:Qe):e.last_lit&&(j(e,!1),e.strm.avail_out===0)?P:wt}function ne(e,t,r,i,n){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=i,this.func=n}var tt;tt=[new ne(0,0,0,0,Xf),new ne(4,4,8,4,qr),new ne(4,5,16,8,qr),new ne(4,6,32,32,qr),new ne(4,4,16,16,et),new ne(8,16,32,32,et),new ne(8,16,128,128,et),new ne(8,32,128,256,et),new ne(32,128,258,1024,et),new ne(32,258,258,4096,et)];function el(e){e.window_size=2*e.w_size,Ne(e.head),e.max_lazy_match=tt[e.level].max_lazy,e.good_match=tt[e.level].good_length,e.nice_match=tt[e.level].nice_length,e.max_chain_length=tt[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=L-1,e.match_available=0,e.ins_h=0}function tl(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Hr,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new J(Wf*2),this.dyn_dtree=new J((2*Hf+1)*2),this.bl_tree=new J((2*Kf+1)*2),Ne(this.dyn_ltree),Ne(this.dyn_dtree),Ne(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new J(Yf+1),this.heap=new J(2*Kr+1),Ne(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new J(2*Kr+1),Ne(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function rl(e){var t;return!e||!e.state?Se(e,Ee):(e.total_in=e.total_out=0,e.data_type=Bf,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?Wr:De,e.adler=t.wrap===2?0:1,t.last_flush=Me,Tf(t),xe)}function Wn(e){var t=rl(e);return t===xe&&el(e.state),t}function il(e,t,r,i,n,a){if(!e)return Ee;var o=1;if(t===Nf&&(t=6),i<0?(o=0,i=-i):i>15&&(o=2,i-=16),n<1||n>Zf||r!==Hr||i<8||i>15||t<0||t>9||a<0||a>Uf)return Se(e,Ee);i===8&&(i=9);var s=new tl;return e.state=s,s.strm=e,s.wrap=o,s.gzhead=null,s.w_bits=i,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=n+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+L-1)/L),s.window=new zt(s.w_size*2),s.head=new J(s.hash_size),s.prev=new J(s.w_size),s.lit_bufsize=1<<n+6,s.pending_buf_size=s.lit_bufsize*4,s.pending_buf=new zt(s.pending_buf_size),s.d_buf=1*s.lit_bufsize,s.l_buf=3*s.lit_bufsize,s.level=t,s.strategy=a,s.method=r,Wn(e)}function nl(e,t){var r,i,n,a;if(!e||!e.state||t>jn||t<0)return e?Se(e,Ee):Ee;if(i=e.state,!e.output||!e.input&&e.avail_in!==0||i.status===_t&&t!==ye)return Se(e,e.avail_out===0?$r:Ee);if(i.strm=e,r=i.last_flush,i.last_flush=t,i.status===Wr)if(i.wrap===2)e.adler=0,A(i,31),A(i,139),A(i,8),i.gzhead?(A(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),A(i,i.gzhead.time&255),A(i,i.gzhead.time>>8&255),A(i,i.gzhead.time>>16&255),A(i,i.gzhead.time>>24&255),A(i,i.level===9?2:i.strategy>=jt||i.level<2?4:0),A(i,i.gzhead.os&255),i.gzhead.extra&&i.gzhead.extra.length&&(A(i,i.gzhead.extra.length&255),A(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(e.adler=B(e.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=Yr):(A(i,0),A(i,0),A(i,0),A(i,0),A(i,0),A(i,i.level===9?2:i.strategy>=jt||i.level<2?4:0),A(i,Gf),i.status=De);else{var o=Hr+(i.w_bits-8<<4)<<8,s=-1;i.strategy>=jt||i.level<2?s=0:i.level<6?s=1:i.level===6?s=2:s=3,o|=s<<6,i.strstart!==0&&(o|=qf),o+=31-o%31,i.status=De,gt(i,o),i.strstart!==0&&(gt(i,e.adler>>>16),gt(i,e.adler&65535)),e.adler=1}if(i.status===Yr)if(i.gzhead.extra){for(n=i.pending;i.gzindex<(i.gzhead.extra.length&65535)&&!(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(e.adler=B(e.adler,i.pending_buf,i.pending-n,n)),Re(e),n=i.pending,i.pending===i.pending_buf_size));)A(i,i.gzhead.extra[i.gzindex]&255),i.gzindex++;i.gzhead.hcrc&&i.pending>n&&(e.adler=B(e.adler,i.pending_buf,i.pending-n,n)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=$t)}else i.status=$t;if(i.status===$t)if(i.gzhead.name){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(e.adler=B(e.adler,i.pending_buf,i.pending-n,n)),Re(e),n=i.pending,i.pending===i.pending_buf_size)){a=1;break}i.gzindex<i.gzhead.name.length?a=i.gzhead.name.charCodeAt(i.gzindex++)&255:a=0,A(i,a)}while(a!==0);i.gzhead.hcrc&&i.pending>n&&(e.adler=B(e.adler,i.pending_buf,i.pending-n,n)),a===0&&(i.gzindex=0,i.status=Ht)}else i.status=Ht;if(i.status===Ht)if(i.gzhead.comment){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(e.adler=B(e.adler,i.pending_buf,i.pending-n,n)),Re(e),n=i.pending,i.pending===i.pending_buf_size)){a=1;break}i.gzindex<i.gzhead.comment.length?a=i.gzhead.comment.charCodeAt(i.gzindex++)&255:a=0,A(i,a)}while(a!==0);i.gzhead.hcrc&&i.pending>n&&(e.adler=B(e.adler,i.pending_buf,i.pending-n,n)),a===0&&(i.status=Kt)}else i.status=Kt;if(i.status===Kt&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&Re(e),i.pending+2<=i.pending_buf_size&&(A(i,e.adler&255),A(i,e.adler>>8&255),e.adler=0,i.status=De)):i.status=De),i.pending!==0){if(Re(e),e.avail_out===0)return i.last_flush=-1,xe}else if(e.avail_in===0&&Hn(t)<=Hn(r)&&t!==ye)return Se(e,$r);if(i.status===_t&&e.avail_in!==0)return Se(e,$r);if(e.avail_in!==0||i.lookahead!==0||t!==Me&&i.status!==_t){var h=i.strategy===jt?Qf(i,t):i.strategy===zf?Jf(i,t):tt[i.level].func(i,t);if((h===Fe||h===Qe)&&(i.status=_t),h===P||h===Fe)return e.avail_out===0&&(i.last_flush=-1),xe;if(h===wt&&(t===Mf?Lf(i):t!==jn&&(Zn(i,0,0,!1),t===Df&&(Ne(i.head),i.lookahead===0&&(i.strstart=0,i.block_start=0,i.insert=0))),Re(e),e.avail_out===0))return i.last_flush=-1,xe}return t!==ye?xe:i.wrap<=0?$n:(i.wrap===2?(A(i,e.adler&255),A(i,e.adler>>8&255),A(i,e.adler>>16&255),A(i,e.adler>>24&255),A(i,e.total_in&255),A(i,e.total_in>>8&255),A(i,e.total_in>>16&255),A(i,e.total_in>>24&255)):(gt(i,e.adler>>>16),gt(i,e.adler&65535)),Re(e),i.wrap>0&&(i.wrap=-i.wrap),i.pending!==0?xe:$n)}function al(e){var t;return!e||!e.state?Ee:(t=e.state.status,t!==Wr&&t!==Yr&&t!==$t&&t!==Ht&&t!==Kt&&t!==De&&t!==_t?Se(e,Ee):(e.state=null,t===De?Se(e,Ff):xe))}var Wt=30,ol=12;function sl(e,t){var r,i,n,a,o,s,h,f,l,d,p,u,g,S,y,v,k,E,_,T,Z,b,M,O,x;r=e.state,i=e.next_in,O=e.input,n=i+(e.avail_in-5),a=e.next_out,x=e.output,o=a-(t-e.avail_out),s=a+(e.avail_out-257),h=r.dmax,f=r.wsize,l=r.whave,d=r.wnext,p=r.window,u=r.hold,g=r.bits,S=r.lencode,y=r.distcode,v=(1<<r.lenbits)-1,k=(1<<r.distbits)-1;e:do{g<15&&(u+=O[i++]<<g,g+=8,u+=O[i++]<<g,g+=8),E=S[u&v];t:for(;;){if(_=E>>>24,u>>>=_,g-=_,_=E>>>16&255,_===0)x[a++]=E&65535;else if(_&16){T=E&65535,_&=15,_&&(g<_&&(u+=O[i++]<<g,g+=8),T+=u&(1<<_)-1,u>>>=_,g-=_),g<15&&(u+=O[i++]<<g,g+=8,u+=O[i++]<<g,g+=8),E=y[u&k];r:for(;;){if(_=E>>>24,u>>>=_,g-=_,_=E>>>16&255,_&16){if(Z=E&65535,_&=15,g<_&&(u+=O[i++]<<g,g+=8,g<_&&(u+=O[i++]<<g,g+=8)),Z+=u&(1<<_)-1,Z>h){e.msg="invalid distance too far back",r.mode=Wt;break e}if(u>>>=_,g-=_,_=a-o,Z>_){if(_=Z-_,_>l&&r.sane){e.msg="invalid distance too far back",r.mode=Wt;break e}if(b=0,M=p,d===0){if(b+=f-_,_<T){T-=_;do x[a++]=p[b++];while(--_);b=a-Z,M=x}}else if(d<_){if(b+=f+d-_,_-=d,_<T){T-=_;do x[a++]=p[b++];while(--_);if(b=0,d<T){_=d,T-=_;do x[a++]=p[b++];while(--_);b=a-Z,M=x}}}else if(b+=d-_,_<T){T-=_;do x[a++]=p[b++];while(--_);b=a-Z,M=x}for(;T>2;)x[a++]=M[b++],x[a++]=M[b++],x[a++]=M[b++],T-=3;T&&(x[a++]=M[b++],T>1&&(x[a++]=M[b++]))}else{b=a-Z;do x[a++]=x[b++],x[a++]=x[b++],x[a++]=x[b++],T-=3;while(T>2);T&&(x[a++]=x[b++],T>1&&(x[a++]=x[b++]))}}else if(_&64){e.msg="invalid distance code",r.mode=Wt;break e}else{E=y[(E&65535)+(u&(1<<_)-1)];continue r}break}}else if(_&64)if(_&32){r.mode=ol;break e}else{e.msg="invalid literal/length code",r.mode=Wt;break e}else{E=S[(E&65535)+(u&(1<<_)-1)];continue t}break}}while(i<n&&a<s);T=g>>3,i-=T,g-=T<<3,u&=(1<<g)-1,e.next_in=i,e.next_out=a,e.avail_in=i<n?5+(n-i):5-(i-n),e.avail_out=a<s?257+(s-a):257-(a-s),r.hold=u,r.bits=g}var rt=15,Yn=852,qn=592,Gn=0,Gr=1,Vn=2,fl=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],ll=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],hl=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],cl=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];function bt(e,t,r,i,n,a,o,s){var h=s.bits,f=0,l=0,d=0,p=0,u=0,g=0,S=0,y=0,v=0,k=0,E,_,T,Z,b,M=null,O=0,x,z=new J(rt+1),We=new J(rt+1),er=null,Ba=0,Za,tr,rr;for(f=0;f<=rt;f++)z[f]=0;for(l=0;l<i;l++)z[t[r+l]]++;for(u=h,p=rt;p>=1&&z[p]===0;p--);if(u>p&&(u=p),p===0)return n[a++]=1<<24|64<<16|0,n[a++]=1<<24|64<<16|0,s.bits=1,0;for(d=1;d<p&&z[d]===0;d++);for(u<d&&(u=d),y=1,f=1;f<=rt;f++)if(y<<=1,y-=z[f],y<0)return-1;if(y>0&&(e===Gn||p!==1))return-1;for(We[1]=0,f=1;f<rt;f++)We[f+1]=We[f]+z[f];for(l=0;l<i;l++)t[r+l]!==0&&(o[We[t[r+l]]++]=l);if(e===Gn?(M=er=o,x=19):e===Gr?(M=fl,O-=257,er=ll,Ba-=257,x=256):(M=hl,er=cl,x=-1),k=0,l=0,f=d,b=a,g=u,S=0,T=-1,v=1<<u,Z=v-1,e===Gr&&v>Yn||e===Vn&&v>qn)return 1;for(;;){Za=f-S,o[l]<x?(tr=0,rr=o[l]):o[l]>x?(tr=er[Ba+o[l]],rr=M[O+o[l]]):(tr=96,rr=0),E=1<<f-S,_=1<<g,d=_;do _-=E,n[b+(k>>S)+_]=Za<<24|tr<<16|rr|0;while(_!==0);for(E=1<<f-1;k&E;)E>>=1;if(E!==0?(k&=E-1,k+=E):k=0,l++,--z[f]===0){if(f===p)break;f=t[r+o[l]]}if(f>u&&(k&Z)!==T){for(S===0&&(S=u),b+=d,g=f-S,y=1<<g;g+S<p&&(y-=z[g+S],!(y<=0));)g++,y<<=1;if(v+=1<<g,e===Gr&&v>Yn||e===Vn&&v>qn)return 1;T=k&Z,n[T]=u<<24|g<<16|b-a|0}}return k!==0&&(n[b+k]=f-S<<24|64<<16|0),s.bits=u,0}var ul=0,Xn=1,Jn=2,Qn=4,dl=5,Yt=6,mt=0,pl=1,_l=2,Ae=-2,wl=-3,gl=-4,vl=-5,ea=8,ta=1,ra=2,ia=3,na=4,aa=5,oa=6,sa=7,fa=8,la=9,ha=10,ca=11,ue=12,Vr=13,ua=14,Xr=15,da=16,pa=17,_a=18,wa=19,qt=20,Gt=21,ga=22,va=23,ba=24,ma=25,ya=26,Jr=27,xa=28,Ea=29,D=30,bl=31,ml=32,yl=852,xl=592;function ka(e){return(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24)}function El(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new J(320),this.work=new J(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function kl(e){var t;return!e||!e.state?Ae:(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=ta,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Ut(yl),t.distcode=t.distdyn=new Ut(xl),t.sane=1,t.back=-1,mt)}function Sa(e){var t;return!e||!e.state?Ae:(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,kl(e))}function Sl(e,t){var r,i;return!e||!e.state||(i=e.state,t<0?(r=0,t=-t):(r=(t>>4)+1,t<48&&(t&=15)),t&&(t<8||t>15))?Ae:(i.window!==null&&i.wbits!==t&&(i.window=null),i.wrap=r,i.wbits=t,Sa(e))}function Rl(e,t){var r,i;return e?(i=new El,e.state=i,i.window=null,r=Sl(e,t),r!==mt&&(e.state=null),r):Ae}var Ra=!0,Qr,ei;function Al(e){if(Ra){var t;for(Qr=new Ut(512),ei=new Ut(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(bt(Xn,e.lens,0,288,Qr,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;bt(Jn,e.lens,0,32,ei,0,e.work,{bits:5}),Ra=!1}e.lencode=Qr,e.lenbits=9,e.distcode=ei,e.distbits=5}function Tl(e,t,r,i){var n,a=e.state;return a.window===null&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new zt(a.wsize)),i>=a.wsize?(he(a.window,t,r-a.wsize,a.wsize,0),a.wnext=0,a.whave=a.wsize):(n=a.wsize-a.wnext,n>i&&(n=i),he(a.window,t,r-i,n,a.wnext),i-=n,i?(he(a.window,t,r-i,i,0),a.wnext=i,a.whave=a.wsize):(a.wnext+=n,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=n))),0}function Ll(e,t){var r,i,n,a,o,s,h,f,l,d,p,u,g,S,y=0,v,k,E,_,T,Z,b,M,O=new zt(4),x,z,We=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&e.avail_in!==0)return Ae;r=e.state,r.mode===ue&&(r.mode=Vr),o=e.next_out,n=e.output,h=e.avail_out,a=e.next_in,i=e.input,s=e.avail_in,f=r.hold,l=r.bits,d=s,p=h,M=mt;e:for(;;)switch(r.mode){case ta:if(r.wrap===0){r.mode=Vr;break}for(;l<16;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}if(r.wrap&2&&f===35615){r.check=0,O[0]=f&255,O[1]=f>>>8&255,r.check=B(r.check,O,2,0),f=0,l=0,r.mode=ra;break}if(r.flags=0,r.head&&(r.head.done=!1),!(r.wrap&1)||(((f&255)<<8)+(f>>8))%31){e.msg="incorrect header check",r.mode=D;break}if((f&15)!==ea){e.msg="unknown compression method",r.mode=D;break}if(f>>>=4,l-=4,b=(f&15)+8,r.wbits===0)r.wbits=b;else if(b>r.wbits){e.msg="invalid window size",r.mode=D;break}r.dmax=1<<b,e.adler=r.check=1,r.mode=f&512?ha:ue,f=0,l=0;break;case ra:for(;l<16;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}if(r.flags=f,(r.flags&255)!==ea){e.msg="unknown compression method",r.mode=D;break}if(r.flags&57344){e.msg="unknown header flags set",r.mode=D;break}r.head&&(r.head.text=f>>8&1),r.flags&512&&(O[0]=f&255,O[1]=f>>>8&255,r.check=B(r.check,O,2,0)),f=0,l=0,r.mode=ia;case ia:for(;l<32;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}r.head&&(r.head.time=f),r.flags&512&&(O[0]=f&255,O[1]=f>>>8&255,O[2]=f>>>16&255,O[3]=f>>>24&255,r.check=B(r.check,O,4,0)),f=0,l=0,r.mode=na;case na:for(;l<16;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}r.head&&(r.head.xflags=f&255,r.head.os=f>>8),r.flags&512&&(O[0]=f&255,O[1]=f>>>8&255,r.check=B(r.check,O,2,0)),f=0,l=0,r.mode=aa;case aa:if(r.flags&1024){for(;l<16;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}r.length=f,r.head&&(r.head.extra_len=f),r.flags&512&&(O[0]=f&255,O[1]=f>>>8&255,r.check=B(r.check,O,2,0)),f=0,l=0}else r.head&&(r.head.extra=null);r.mode=oa;case oa:if(r.flags&1024&&(u=r.length,u>s&&(u=s),u&&(r.head&&(b=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),he(r.head.extra,i,a,u,b)),r.flags&512&&(r.check=B(r.check,i,u,a)),s-=u,a+=u,r.length-=u),r.length))break e;r.length=0,r.mode=sa;case sa:if(r.flags&2048){if(s===0)break e;u=0;do b=i[a+u++],r.head&&b&&r.length<65536&&(r.head.name+=String.fromCharCode(b));while(b&&u<s);if(r.flags&512&&(r.check=B(r.check,i,u,a)),s-=u,a+=u,b)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=fa;case fa:if(r.flags&4096){if(s===0)break e;u=0;do b=i[a+u++],r.head&&b&&r.length<65536&&(r.head.comment+=String.fromCharCode(b));while(b&&u<s);if(r.flags&512&&(r.check=B(r.check,i,u,a)),s-=u,a+=u,b)break e}else r.head&&(r.head.comment=null);r.mode=la;case la:if(r.flags&512){for(;l<16;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}if(f!==(r.check&65535)){e.msg="header crc mismatch",r.mode=D;break}f=0,l=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=ue;break;case ha:for(;l<32;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}e.adler=r.check=ka(f),f=0,l=0,r.mode=ca;case ca:if(r.havedict===0)return e.next_out=o,e.avail_out=h,e.next_in=a,e.avail_in=s,r.hold=f,r.bits=l,_l;e.adler=r.check=1,r.mode=ue;case ue:if(t===dl||t===Yt)break e;case Vr:if(r.last){f>>>=l&7,l-=l&7,r.mode=Jr;break}for(;l<3;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}switch(r.last=f&1,f>>>=1,l-=1,f&3){case 0:r.mode=ua;break;case 1:if(Al(r),r.mode=qt,t===Yt){f>>>=2,l-=2;break e}break;case 2:r.mode=pa;break;case 3:e.msg="invalid block type",r.mode=D}f>>>=2,l-=2;break;case ua:for(f>>>=l&7,l-=l&7;l<32;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}if((f&65535)!==(f>>>16^65535)){e.msg="invalid stored block lengths",r.mode=D;break}if(r.length=f&65535,f=0,l=0,r.mode=Xr,t===Yt)break e;case Xr:r.mode=da;case da:if(u=r.length,u){if(u>s&&(u=s),u>h&&(u=h),u===0)break e;he(n,i,a,u,o),s-=u,a+=u,h-=u,o+=u,r.length-=u;break}r.mode=ue;break;case pa:for(;l<14;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}if(r.nlen=(f&31)+257,f>>>=5,l-=5,r.ndist=(f&31)+1,f>>>=5,l-=5,r.ncode=(f&15)+4,f>>>=4,l-=4,r.nlen>286||r.ndist>30){e.msg="too many length or distance symbols",r.mode=D;break}r.have=0,r.mode=_a;case _a:for(;r.have<r.ncode;){for(;l<3;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}r.lens[We[r.have++]]=f&7,f>>>=3,l-=3}for(;r.have<19;)r.lens[We[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,x={bits:r.lenbits},M=bt(ul,r.lens,0,19,r.lencode,0,r.work,x),r.lenbits=x.bits,M){e.msg="invalid code lengths set",r.mode=D;break}r.have=0,r.mode=wa;case wa:for(;r.have<r.nlen+r.ndist;){for(;y=r.lencode[f&(1<<r.lenbits)-1],v=y>>>24,k=y>>>16&255,E=y&65535,!(v<=l);){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}if(E<16)f>>>=v,l-=v,r.lens[r.have++]=E;else{if(E===16){for(z=v+2;l<z;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}if(f>>>=v,l-=v,r.have===0){e.msg="invalid bit length repeat",r.mode=D;break}b=r.lens[r.have-1],u=3+(f&3),f>>>=2,l-=2}else if(E===17){for(z=v+3;l<z;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}f>>>=v,l-=v,b=0,u=3+(f&7),f>>>=3,l-=3}else{for(z=v+7;l<z;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}f>>>=v,l-=v,b=0,u=11+(f&127),f>>>=7,l-=7}if(r.have+u>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=D;break}for(;u--;)r.lens[r.have++]=b}}if(r.mode===D)break;if(r.lens[256]===0){e.msg="invalid code -- missing end-of-block",r.mode=D;break}if(r.lenbits=9,x={bits:r.lenbits},M=bt(Xn,r.lens,0,r.nlen,r.lencode,0,r.work,x),r.lenbits=x.bits,M){e.msg="invalid literal/lengths set",r.mode=D;break}if(r.distbits=6,r.distcode=r.distdyn,x={bits:r.distbits},M=bt(Jn,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,x),r.distbits=x.bits,M){e.msg="invalid distances set",r.mode=D;break}if(r.mode=qt,t===Yt)break e;case qt:r.mode=Gt;case Gt:if(s>=6&&h>=258){e.next_out=o,e.avail_out=h,e.next_in=a,e.avail_in=s,r.hold=f,r.bits=l,sl(e,p),o=e.next_out,n=e.output,h=e.avail_out,a=e.next_in,i=e.input,s=e.avail_in,f=r.hold,l=r.bits,r.mode===ue&&(r.back=-1);break}for(r.back=0;y=r.lencode[f&(1<<r.lenbits)-1],v=y>>>24,k=y>>>16&255,E=y&65535,!(v<=l);){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}if(k&&!(k&240)){for(_=v,T=k,Z=E;y=r.lencode[Z+((f&(1<<_+T)-1)>>_)],v=y>>>24,k=y>>>16&255,E=y&65535,!(_+v<=l);){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}f>>>=_,l-=_,r.back+=_}if(f>>>=v,l-=v,r.back+=v,r.length=E,k===0){r.mode=ya;break}if(k&32){r.back=-1,r.mode=ue;break}if(k&64){e.msg="invalid literal/length code",r.mode=D;break}r.extra=k&15,r.mode=ga;case ga:if(r.extra){for(z=r.extra;l<z;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}r.length+=f&(1<<r.extra)-1,f>>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=va;case va:for(;y=r.distcode[f&(1<<r.distbits)-1],v=y>>>24,k=y>>>16&255,E=y&65535,!(v<=l);){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}if(!(k&240)){for(_=v,T=k,Z=E;y=r.distcode[Z+((f&(1<<_+T)-1)>>_)],v=y>>>24,k=y>>>16&255,E=y&65535,!(_+v<=l);){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}f>>>=_,l-=_,r.back+=_}if(f>>>=v,l-=v,r.back+=v,k&64){e.msg="invalid distance code",r.mode=D;break}r.offset=E,r.extra=k&15,r.mode=ba;case ba:if(r.extra){for(z=r.extra;l<z;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}r.offset+=f&(1<<r.extra)-1,f>>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=D;break}r.mode=ma;case ma:if(h===0)break e;if(u=p-h,r.offset>u){if(u=r.offset-u,u>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=D;break}u>r.wnext?(u-=r.wnext,g=r.wsize-u):g=r.wnext-u,u>r.length&&(u=r.length),S=r.window}else S=n,g=o-r.offset,u=r.length;u>h&&(u=h),h-=u,r.length-=u;do n[o++]=S[g++];while(--u);r.length===0&&(r.mode=Gt);break;case ya:if(h===0)break e;n[o++]=r.length,h--,r.mode=Gt;break;case Jr:if(r.wrap){for(;l<32;){if(s===0)break e;s--,f|=i[a++]<<l,l+=8}if(p-=h,e.total_out+=p,r.total+=p,p&&(e.adler=r.check=r.flags?B(r.check,n,p,o-p):jr(r.check,n,p,o-p)),p=h,(r.flags?f:ka(f))!==r.check){e.msg="incorrect data check",r.mode=D;break}f=0,l=0}r.mode=xa;case xa:if(r.wrap&&r.flags){for(;l<32;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}if(f!==(r.total&4294967295)){e.msg="incorrect length check",r.mode=D;break}f=0,l=0}r.mode=Ea;case Ea:M=pl;break e;case D:M=wl;break e;case bl:return gl;case ml:default:return Ae}return e.next_out=o,e.avail_out=h,e.next_in=a,e.avail_in=s,r.hold=f,r.bits=l,(r.wsize||p!==e.avail_out&&r.mode<D&&(r.mode<Jr||t!==Qn))&&Tl(e,e.output,e.next_out,p-e.avail_out),d-=e.avail_in,p-=e.avail_out,e.total_in+=d,e.total_out+=p,r.total+=p,r.wrap&&p&&(e.adler=r.check=r.flags?B(r.check,n,p,e.next_out-p):jr(r.check,n,p,e.next_out-p)),e.data_type=r.bits+(r.last?64:0)+(r.mode===ue?128:0)+(r.mode===qt||r.mode===Xr?256:0),(d===0&&p===0||t===Qn)&&M===mt&&(M=vl),M}function Cl(e){if(!e||!e.state)return Ae;var t=e.state;return t.window&&(t.window=null),e.state=null,mt}var ti=0,it=1,Vt=2,yt=3,Xt=4,nt=5,xt=6,Et=7,Aa=0,Ta=1,La=2,Ca=3,ri=4,Oa=5,Ol=6,Jt=0,Ia=1,Ma=2,Il=-1,Ml=-2,Dl=-3,Da=-5,Fl=0,Nl=1,Pl=9,zl=-1,Ul=1,Bl=2,Zl=3,jl=4,$l=0,Hl=0,Kl=1,Wl=2,Fa=8;function ee(e){if(e<it||e>Et)throw new TypeError("Bad argument");this.mode=e,this.init_done=!1,this.write_in_progress=!1,this.pending_close=!1,this.windowBits=0,this.level=0,this.memLevel=0,this.strategy=0,this.dictionary=null}ee.prototype.init=function(e,t,r,i,n){this.windowBits=e,this.level=t,this.memLevel=r,this.strategy=i,(this.mode===yt||this.mode===Xt)&&(this.windowBits+=16),this.mode===Et&&(this.windowBits+=32),(this.mode===nt||this.mode===xt)&&(this.windowBits=-this.windowBits),this.strm=new cf;var a;switch(this.mode){case it:case yt:case nt:a=il(this.strm,this.level,Fa,this.windowBits,this.memLevel,this.strategy);break;case Vt:case Xt:case xt:case Et:a=Rl(this.strm,this.windowBits);break;default:throw new Error("Unknown mode "+this.mode)}if(a!==Jt){this._error(a);return}this.write_in_progress=!1,this.init_done=!0},ee.prototype.params=function(){throw new Error("deflateParams Not supported")},ee.prototype._writeCheck=function(){if(!this.init_done)throw new Error("write before init");if(this.mode===ti)throw new Error("already finalized");if(this.write_in_progress)throw new Error("write already in progress");if(this.pending_close)throw new Error("close is pending")},ee.prototype.write=function(e,t,r,i,n,a,o){this._writeCheck(),this.write_in_progress=!0;var s=this;return fe.nextTick(function(){s.write_in_progress=!1;var h=s._write(e,t,r,i,n,a,o);s.callback(h[0],h[1]),s.pending_close&&s.close()}),this};function Yl(e,t){for(var r=0;r<e.length;r++)this[t+r]=e[r]}ee.prototype.writeSync=function(e,t,r,i,n,a,o){return this._writeCheck(),this._write(e,t,r,i,n,a,o)},ee.prototype._write=function(e,t,r,i,n,a,o){if(this.write_in_progress=!0,e!==Aa&&e!==Ta&&e!==La&&e!==Ca&&e!==ri&&e!==Oa)throw new Error("Invalid flush value");t==null&&(t=new c(0),i=0,r=0),n._set?n.set=n._set:n.set=Yl;var s=this.strm;s.avail_in=i,s.input=t,s.next_in=r,s.avail_out=o,s.output=n,s.next_out=a;var h;switch(this.mode){case it:case yt:case nt:h=nl(s,e);break;case Et:case Vt:case Xt:case xt:h=Ll(s,e);break;default:throw new Error("Unknown mode "+this.mode)}return this._checkError(h,s,e)||this._error(h),this.write_in_progress=!1,[s.avail_in,s.avail_out]},ee.prototype._checkError=function(e,t,r){switch(e){case Jt:case Da:if(t.avail_out!==0&&r===ri)return!1;break;case Ia:break;case Ma:return!1;default:return!1}return!0},ee.prototype.close=function(){if(this.write_in_progress){this.pending_close=!0;return}this.pending_close=!1,this.mode===it||this.mode===yt||this.mode===nt?al(this.strm):Cl(this.strm),this.mode=ti};var Qt;ee.prototype.reset=function(){switch(this.mode){case it:case nt:Qt=Wn(this.strm);break;case Vt:case xt:Qt=Sa(this.strm);break}Qt!==Jt&&this._error(Qt)},ee.prototype._error=function(e){this.onerror(bn[e]+": "+this.strm.msg,e),this.write_in_progress=!1,this.pending_close&&this.close()};var Na=Object.freeze({__proto__:null,DEFLATE:it,DEFLATERAW:nt,GUNZIP:Xt,GZIP:yt,INFLATE:Vt,INFLATERAW:xt,NONE:ti,UNZIP:Et,Z_BEST_COMPRESSION:Pl,Z_BEST_SPEED:Nl,Z_BINARY:Hl,Z_BLOCK:Oa,Z_BUF_ERROR:Da,Z_DATA_ERROR:Dl,Z_DEFAULT_COMPRESSION:zl,Z_DEFAULT_STRATEGY:$l,Z_DEFLATED:Fa,Z_ERRNO:Il,Z_FILTERED:Ul,Z_FINISH:ri,Z_FIXED:jl,Z_FULL_FLUSH:Ca,Z_HUFFMAN_ONLY:Bl,Z_NEED_DICT:Ma,Z_NO_COMPRESSION:Fl,Z_NO_FLUSH:Aa,Z_OK:Jt,Z_PARTIAL_FLUSH:Ta,Z_RLE:Zl,Z_STREAM_END:Ia,Z_STREAM_ERROR:Ml,Z_SYNC_FLUSH:La,Z_TEXT:Kl,Z_TREES:Ol,Z_UNKNOWN:Wl,Zlib:ee});function ql(e,t){if(!e)throw new Error(t)}var w={};Object.keys(Na).forEach(function(e){w[e]=Na[e]}),w.Z_MIN_WINDOWBITS=8,w.Z_MAX_WINDOWBITS=15,w.Z_DEFAULT_WINDOWBITS=15,w.Z_MIN_CHUNK=64,w.Z_MAX_CHUNK=1/0,w.Z_DEFAULT_CHUNK=16*1024,w.Z_MIN_MEMLEVEL=1,w.Z_MAX_MEMLEVEL=9,w.Z_DEFAULT_MEMLEVEL=8,w.Z_MIN_LEVEL=-1,w.Z_MAX_LEVEL=9,w.Z_DEFAULT_LEVEL=w.Z_DEFAULT_COMPRESSION;var kt={Z_OK:w.Z_OK,Z_STREAM_END:w.Z_STREAM_END,Z_NEED_DICT:w.Z_NEED_DICT,Z_ERRNO:w.Z_ERRNO,Z_STREAM_ERROR:w.Z_STREAM_ERROR,Z_DATA_ERROR:w.Z_DATA_ERROR,Z_MEM_ERROR:w.Z_MEM_ERROR,Z_BUF_ERROR:w.Z_BUF_ERROR,Z_VERSION_ERROR:w.Z_VERSION_ERROR};Object.keys(kt).forEach(function(e){kt[kt[e]]=e});function Gl(e){return new Ue(e)}function Vl(e){return new Be(e)}function Xl(e){return new $e(e)}function Jl(e){return new He(e)}function Ql(e){return new Ze(e)}function eh(e){return new je(e)}function th(e){return new Ke(e)}function rh(e,t,r){return typeof t=="function"&&(r=t,t={}),Pe(new Ue(t),e,r)}function ih(e,t){return ze(new Ue(t),e)}function nh(e,t,r){return typeof t=="function"&&(r=t,t={}),Pe(new Ze(t),e,r)}function ah(e,t){return ze(new Ze(t),e)}function oh(e,t,r){return typeof t=="function"&&(r=t,t={}),Pe(new $e(t),e,r)}function sh(e,t){return ze(new $e(t),e)}function fh(e,t,r){return typeof t=="function"&&(r=t,t={}),Pe(new Ke(t),e,r)}function lh(e,t){return ze(new Ke(t),e)}function hh(e,t,r){return typeof t=="function"&&(r=t,t={}),Pe(new Be(t),e,r)}function ch(e,t){return ze(new Be(t),e)}function uh(e,t,r){return typeof t=="function"&&(r=t,t={}),Pe(new je(t),e,r)}function dh(e,t){return ze(new je(t),e)}function ph(e,t,r){return typeof t=="function"&&(r=t,t={}),Pe(new He(t),e,r)}function _h(e,t){return ze(new He(t),e)}function Pe(e,t,r){var i=[],n=0;e.on("error",o),e.on("end",s),e.end(t),a();function a(){for(var h;(h=e.read())!==null;)i.push(h),n+=h.length;e.once("readable",a)}function o(h){e.removeListener("end",s),e.removeListener("readable",a),r(h)}function s(){var h=c.concat(i,n);i=[],r(null,h),e.close()}}function ze(e,t){if(typeof t=="string"&&(t=new c(t)),!c.isBuffer(t))throw new TypeError("Not a string or buffer");var r=w.Z_FINISH;return e._processChunk(t,r)}function Ue(e){if(!(this instanceof Ue))return new Ue(e);F.call(this,e,w.DEFLATE)}function Be(e){if(!(this instanceof Be))return new Be(e);F.call(this,e,w.INFLATE)}function Ze(e){if(!(this instanceof Ze))return new Ze(e);F.call(this,e,w.GZIP)}function je(e){if(!(this instanceof je))return new je(e);F.call(this,e,w.GUNZIP)}function $e(e){if(!(this instanceof $e))return new $e(e);F.call(this,e,w.DEFLATERAW)}function He(e){if(!(this instanceof He))return new He(e);F.call(this,e,w.INFLATERAW)}function Ke(e){if(!(this instanceof Ke))return new Ke(e);F.call(this,e,w.UNZIP)}function F(e,t){if(this._opts=e=e||{},this._chunkSize=e.chunkSize||w.Z_DEFAULT_CHUNK,X.call(this,e),e.flush&&e.flush!==w.Z_NO_FLUSH&&e.flush!==w.Z_PARTIAL_FLUSH&&e.flush!==w.Z_SYNC_FLUSH&&e.flush!==w.Z_FULL_FLUSH&&e.flush!==w.Z_FINISH&&e.flush!==w.Z_BLOCK)throw new Error("Invalid flush flag: "+e.flush);if(this._flushFlag=e.flush||w.Z_NO_FLUSH,e.chunkSize&&(e.chunkSize<w.Z_MIN_CHUNK||e.chunkSize>w.Z_MAX_CHUNK))throw new Error("Invalid chunk size: "+e.chunkSize);if(e.windowBits&&(e.windowBits<w.Z_MIN_WINDOWBITS||e.windowBits>w.Z_MAX_WINDOWBITS))throw new Error("Invalid windowBits: "+e.windowBits);if(e.level&&(e.level<w.Z_MIN_LEVEL||e.level>w.Z_MAX_LEVEL))throw new Error("Invalid compression level: "+e.level);if(e.memLevel&&(e.memLevel<w.Z_MIN_MEMLEVEL||e.memLevel>w.Z_MAX_MEMLEVEL))throw new Error("Invalid memLevel: "+e.memLevel);if(e.strategy&&e.strategy!=w.Z_FILTERED&&e.strategy!=w.Z_HUFFMAN_ONLY&&e.strategy!=w.Z_RLE&&e.strategy!=w.Z_FIXED&&e.strategy!=w.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+e.strategy);if(e.dictionary&&!c.isBuffer(e.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance");this._binding=new w.Zlib(t);var r=this;this._hadError=!1,this._binding.onerror=function(a,o){r._binding=null,r._hadError=!0;var s=new Error(a);s.errno=o,s.code=kt[o],r.emit("error",s)};var i=w.Z_DEFAULT_COMPRESSION;typeof e.level=="number"&&(i=e.level);var n=w.Z_DEFAULT_STRATEGY;typeof e.strategy=="number"&&(n=e.strategy),this._binding.init(e.windowBits||w.Z_DEFAULT_WINDOWBITS,i,e.memLevel||w.Z_DEFAULT_MEMLEVEL,n,e.dictionary),this._buffer=new c(this._chunkSize),this._offset=0,this._closed=!1,this._level=i,this._strategy=n,this.once("end",this.close)}$(F,X),F.prototype.params=function(e,t,r){if(e<w.Z_MIN_LEVEL||e>w.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+e);if(t!=w.Z_FILTERED&&t!=w.Z_HUFFMAN_ONLY&&t!=w.Z_RLE&&t!=w.Z_FIXED&&t!=w.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+t);if(this._level!==e||this._strategy!==t){var i=this;this.flush(w.Z_SYNC_FLUSH,function(){i._binding.params(e,t),i._hadError||(i._level=e,i._strategy=t,r&&r())})}else fe.nextTick(r)},F.prototype.reset=function(){return this._binding.reset()},F.prototype._flush=function(e){this._transform(new c(0),"",e)},F.prototype.flush=function(e,t){var r=this._writableState;if((typeof e=="function"||e===void 0&&!t)&&(t=e,e=w.Z_FULL_FLUSH),r.ended)t&&fe.nextTick(t);else if(r.ending)t&&this.once("end",t);else if(r.needDrain){var i=this;this.once("drain",function(){i.flush(t)})}else this._flushFlag=e,this.write(new c(0),"",t)},F.prototype.close=function(e){if(e&&fe.nextTick(e),!this._closed){this._closed=!0,this._binding.close();var t=this;fe.nextTick(function(){t.emit("close")})}},F.prototype._transform=function(e,t,r){var i,n=this._writableState,a=n.ending||n.ended,o=a&&(!e||n.length===e.length);if(!e===null&&!c.isBuffer(e))return r(new Error("invalid input"));o?i=w.Z_FINISH:(i=this._flushFlag,e.length>=n.length&&(this._flushFlag=this._opts.flush||w.Z_NO_FLUSH)),this._processChunk(e,i,r)},F.prototype._processChunk=function(e,t,r){var i=e&&e.length,n=this._chunkSize-this._offset,a=0,o=this,s=typeof r=="function";if(!s){var h=[],f=0,l;this.on("error",function(S){l=S});do var d=this._binding.writeSync(t,e,a,i,this._buffer,this._offset,n);while(!this._hadError&&g(d[0],d[1]));if(this._hadError)throw l;var p=c.concat(h,f);return this.close(),p}var u=this._binding.write(t,e,a,i,this._buffer,this._offset,n);u.buffer=e,u.callback=g;function g(S,y){if(!o._hadError){var v=n-y;if(ql(v>=0,"have should not go down"),v>0){var k=o._buffer.slice(o._offset,o._offset+v);o._offset+=v,s?o.push(k):(h.push(k),f+=k.length)}if((y===0||o._offset>=o._chunkSize)&&(n=o._chunkSize,o._offset=0,o._buffer=new c(o._chunkSize)),y===0){if(a+=i-S,i=S,!s)return!0;var E=o._binding.write(t,e,a,i,o._buffer,o._offset,o._chunkSize);E.callback=g,E.buffer=e;return}if(!s)return!1;r()}}},$(Ue,F),$(Be,F),$(Ze,F),$(je,F),$($e,F),$(He,F),$(Ke,F);var Pa={codes:kt,createDeflate:Gl,createInflate:Vl,createDeflateRaw:Xl,createInflateRaw:Jl,createGzip:Ql,createGunzip:eh,createUnzip:th,deflate:rh,deflateSync:ih,gzip:nh,gzipSync:ah,deflateRaw:oh,deflateRawSync:sh,unzip:fh,unzipSync:lh,inflate:hh,inflateSync:ch,gunzip:uh,gunzipSync:dh,inflateRaw:ph,inflateRawSync:_h,Deflate:Ue,Inflate:Be,Gzip:Ze,Gunzip:je,DeflateRaw:$e,InflateRaw:He,Unzip:Ke,Zlib:F};class za extends ur{constructor({client:t,keyPrefix:r="cache"}){super(),this.client=t,this.keyPrefix=r}async _set(t,r){let i=JSON.stringify(r);const n=i.length;return i=Pa.gzipSync(i).toString("base64"),this.client.putObject({key:Y(this.keyPrefix,t),body:i,contentEncoding:"gzip",contentType:"application/gzip",metadata:{compressor:"zlib",compressed:"true","client-id":this.client.id,"length-serialized":String(n),"length-compressed":String(i.length),"compression-gain":(i.length/n).toFixed(2)}})}async _get(t){const{Body:r}=await this.client.getObject(Y(this.keyPrefix,t));let i=await cr(r);return i=Buffer.from(i,"base64"),i=Pa.unzipSync(i).toString(),JSON.parse(i)}async _del(t){return await this.client.deleteObject(Y(this.keyPrefix,t)),!0}async _clear(t=""){const r=await this.client.getAllKeys({prefix:Y(this.keyPrefix,t)});await this.client.deleteObjects(r)}}class Ua extends m{async setup(t){}async start(){}async stop(){}beforeSetup(){this.emit("plugin.beforeSetup",new Date)}afterSetup(){this.emit("plugin.afterSetup",new Date)}beforeStart(){this.emit("plugin.beforeStart",new Date)}afterStart(){this.emit("plugin.afterStart",new Date)}beforeStop(){this.emit("plugin.beforeStop",new Date)}afterStop(){this.emit("plugin.afterStop",new Date)}}const wh={setup(e){},start(){},stop(){}},gh={async setup(e){this.client=e.client,this.map={PutObjectCommand:"put",GetObjectCommand:"get",HeadObjectCommand:"get",DeleteObjectCommand:"delete",DeleteObjectsCommand:"delete",ListObjectsV2Command:"list"},this.costs={total:0,prices:{put:.005/1e3,copy:.005/1e3,list:.005/1e3,post:.005/1e3,get:4e-4/1e3,select:4e-4/1e3,delete:4e-4/1e3},requests:{total:0,put:0,post:0,copy:0,list:0,get:0,select:0,delete:0},events:{total:0,PutObjectCommand:0,GetObjectCommand:0,HeadObjectCommand:0,DeleteObjectCommand:0,DeleteObjectsCommand:0,ListObjectsV2Command:0}},this.client.costs=JSON.parse(JSON.stringify(this.costs))},async start(){this.client.on("command.response",e=>this.addRequest(e,this.map[e]))},addRequest(e,t){this.costs.events[e]++,this.costs.events.total++,this.costs.requests.total++,this.costs.requests[t]++,this.costs.total+=this.costs.prices[t],this.client.costs.events[e]++,this.client.costs.events.total++,this.client.costs.requests.total++,this.client.costs.requests[t]++,this.client.costs.total+=this.client.costs.prices[t]}};class vh extends Ua{constructor(t={}){super(),this.driver=t.driver}async setup(t){this.database=t,this.driver||(this.driver=new za({keyPrefix:"cache",client:t.client})),this.installDatabaseProxy();for(const r of Object.values(t.resources))this.installResourcesProxies(r)}async start(){}async stop(){}installDatabaseProxy(){const t=this.installResourcesProxies.bind(this);this.database._createResource=this.database.createResource,this.database.createResource=async function(...r){const i=await this._createResource(...r);return t(i),i}}installResourcesProxies(t){t.cache=this.driver;let r=`resource=${t.name}`;this.driver.keyPrefix&&(this.driver.keyPrefix=Y(this.driver.keyPrefix,r)),t.cacheKeyFor=async function({params:i={},action:n="list"}){let a=Object.keys(i).sort().map(o=>`${o}:${i[o]}`).join("|")||"empty";return a=await mi(a),a=Y(r,`action=${n}`,`${a}.json.gz`),a},t._count=t.count,t._listIds=t.listIds,t._getMany=t.getMany,t._getAll=t.getAll,t._page=t.page,t.count=async function(){const i=await this.cacheKeyFor({action:"count"});try{const a=await this.cache.get(i);if(a)return a}catch(a){if(a.name!=="NoSuchKey")throw a}const n=await t._count();return await this.cache.set(i,n),n},t.listIds=async function(){const i=await this.cacheKeyFor({action:"listIds"});try{const a=await this.cache.get(i);if(a)return a}catch(a){if(a.name!=="NoSuchKey")throw a}const n=await t._listIds();return await this.cache.set(i,n),n},t.getMany=async function(i){const n=await this.cacheKeyFor({action:"getMany",params:{ids:i}});try{const o=await this.cache.get(n);if(o)return o}catch(o){if(o.name!=="NoSuchKey")throw o}const a=await t._getMany(i);return await this.cache.set(n,a),a},t.getAll=async function(){const i=await this.cacheKeyFor({action:"getAll"});try{const a=await this.cache.get(i);if(a)return a}catch(a){if(a.name!=="NoSuchKey")throw a}const n=await t._getAll();return await this.cache.set(i,n),n},t.page=async function({offset:i,size:n}){const a=await this.cacheKeyFor({action:"page",params:{offset:i,size:n}});try{const s=await this.cache.get(a);if(s)return s}catch(s){if(s.name!=="NoSuchKey")throw s}const o=await t._page({offset:i,size:n});return await this.cache.set(a,o),o},t._insert=t.insert,t._update=t.update,t._delete=t.delete,t._deleteMany=t.deleteMany,t.insert=async function(...i){const n=await t._insert(...i);return await this.cache.clear(r),n},t.update=async function(...i){const n=await t._update(...i);return await this.cache.clear(r),n},t.delete=async function(...i){const n=await t._delete(...i);return await this.cache.clear(r),n},t.deleteMany=async function(...i){const n=await t._deleteMany(...i);return await this.cache.clear(r),n}}}var bh=Object.freeze({__proto__:null});return R.BaseError=Ye,R.Cache=ur,R.CachePlugin=vh,R.Client=bi,R.ConnectionString=vi,R.CostsPlugin=gh,R.Database=Ci,R.ErrorMap=_i,R.InvalidResourceItem=Rt,R.MemoryCache=ho,R.MissingMetadata=di,R.NoSuchBucket=ci,R.NoSuchKey=sr,R.NotFound=ui,R.Plugin=Ua,R.PluginObject=wh,R.ResourceIdsPageReader=Ri,R.ResourceIdsReader=Si,R.ResourceReader=Ai,R.ResourceWriter=Ti,R.S3Cache=za,R.S3_DEFAULT_ENDPOINT=gi,R.S3_DEFAULT_REGION=wi,R.S3db=lo,R.UnknownError=pi,R.Validator=Ei,R.ValidatorManager=ki,R.decrypt=yi,R.encrypt=fr,R.sha256=mi,R.streamToString=cr,R})({},nanoid,lodashEs,promisePool,clientS3,flat,FastestValidator,web);