s3db.js 4.1.3 → 4.1.4

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,5 +1,5 @@
1
1
  /* istanbul ignore file */
2
- import{customAlphabet as Zf,urlAlphabet as Hf}from"nanoid";import{chunk as Ni,merge as At,isEmpty as Bi,invert as Ui,uniq as qf,cloneDeep as kt,isString as $i,get as Kf,set as Wf,isFunction as Vf}from"lodash-es";import{PromisePool as le}from"@supercharge/promise-pool";import{S3Client as Gf,PutObjectCommand as Yf,GetObjectCommand as Jf,HeadObjectCommand as Xf,CopyObjectCommand as Qf,DeleteObjectCommand as ec,DeleteObjectsCommand as zi,ListObjectsV2Command as Zi}from"@aws-sdk/client-s3";import{createHash as Hi}from"crypto";import{flatten as jr,unflatten as tc}from"flat";import rc from"fastest-validator";import{ReadableStream as nc}from"node:stream/web";function qi(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];i==="."?e.splice(n,1):i===".."?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}var ic=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,Lr=function(e){return ic.exec(e).slice(1)};function Nr(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var n=r>=0?arguments[r]:"/";if(typeof n!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!n)continue;e=n+"/"+e,t=n.charAt(0)==="/"}return e=qi(Br(e.split("/"),function(i){return!!i}),!t).join("/"),(t?"/":"")+e||"."}function Ki(e){var t=Wi(e),r=uc(e,-1)==="/";return e=qi(Br(e.split("/"),function(n){return!!n}),!t).join("/"),!e&&!t&&(e="."),e&&r&&(e+="/"),(t?"/":"")+e}function Wi(e){return e.charAt(0)==="/"}function ge(){var e=Array.prototype.slice.call(arguments,0);return Ki(Br(e,function(t,r){if(typeof t!="string")throw new TypeError("Arguments to path.join must be strings");return t}).join("/"))}function ac(e,t){e=Nr(e).substr(1),t=Nr(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 n=r(e.split("/")),i=r(t.split("/")),a=Math.min(n.length,i.length),o=a,s=0;s<a;s++)if(n[s]!==i[s]){o=s;break}for(var c=[],s=o;s<n.length;s++)c.push("..");return c=c.concat(i.slice(o)),c.join("/")}var oc="/",sc=":";function fc(e){var t=Lr(e),r=t[0],n=t[1];return!r&&!n?".":(n&&(n=n.substr(0,n.length-1)),r+n)}function cc(e,t){var r=Lr(e)[2];return t&&r.substr(-1*t.length)===t&&(r=r.substr(0,r.length-t.length)),r}function lc(e){return Lr(e)[3]}var ue={extname:lc,basename:cc,dirname:fc,sep:oc,delimiter:sc,relative:ac,join:ge,isAbsolute:Wi,normalize:Ki,resolve:Nr};function Br(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n<e.length;n++)t(e[n],n,e)&&r.push(e[n]);return r}var uc="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)};const Vi=Zf(Hf,22);var Ur;function ke(){}ke.prototype=Object.create(null);function R(){R.init.call(this)}R.EventEmitter=R,R.usingDomains=!1,R.prototype.domain=void 0,R.prototype._events=void 0,R.prototype._maxListeners=void 0,R.defaultMaxListeners=10,R.init=function(){this.domain=null,R.usingDomains&&Ur.active&&!(this instanceof Ur.Domain)&&(this.domain=Ur.active),(!this._events||this._events===Object.getPrototypeOf(this)._events)&&(this._events=new ke,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},R.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 Gi(e){return e._maxListeners===void 0?R.defaultMaxListeners:e._maxListeners}R.prototype.getMaxListeners=function(){return Gi(this)};function hc(e,t,r){if(t)e.call(r);else for(var n=e.length,i=Rt(e,n),a=0;a<n;++a)i[a].call(r)}function dc(e,t,r,n){if(t)e.call(r,n);else for(var i=e.length,a=Rt(e,i),o=0;o<i;++o)a[o].call(r,n)}function pc(e,t,r,n,i){if(t)e.call(r,n,i);else for(var a=e.length,o=Rt(e,a),s=0;s<a;++s)o[s].call(r,n,i)}function yc(e,t,r,n,i,a){if(t)e.call(r,n,i,a);else for(var o=e.length,s=Rt(e,o),c=0;c<o;++c)s[c].call(r,n,i,a)}function vc(e,t,r,n){if(t)e.apply(r,n);else for(var i=e.length,a=Rt(e,i),o=0;o<i;++o)a[o].apply(r,n)}R.prototype.emit=function(t){var r,n,i,a,o,s,c,f=t==="error";if(s=this._events,s)f=f&&s.error==null;else if(!f)return!1;if(c=this.domain,f){if(r=arguments[1],c)r||(r=new Error('Uncaught, unspecified "error" event')),r.domainEmitter=this,r.domain=c,r.domainThrown=!1,c.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(n=s[t],!n)return!1;var d=typeof n=="function";switch(i=arguments.length,i){case 1:hc(n,d,this);break;case 2:dc(n,d,this,arguments[1]);break;case 3:pc(n,d,this,arguments[1],arguments[2]);break;case 4:yc(n,d,this,arguments[1],arguments[2],arguments[3]);break;default:for(a=new Array(i-1),o=1;o<i;o++)a[o-1]=arguments[o];vc(n,d,this,a)}return!0};function Yi(e,t,r,n){var i,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 ke,e._eventsCount=0),!o)o=a[t]=r,++e._eventsCount;else if(typeof o=="function"?o=a[t]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),!o.warned&&(i=Gi(e),i&&i>0&&o.length>i)){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,gc(s)}return e}function gc(e){typeof console.warn=="function"?console.warn(e):console.log(e)}R.prototype.addListener=function(t,r){return Yi(this,t,r,!1)},R.prototype.on=R.prototype.addListener,R.prototype.prependListener=function(t,r){return Yi(this,t,r,!0)};function Ji(e,t,r){var n=!1;function i(){e.removeListener(t,i),n||(n=!0,r.apply(e,arguments))}return i.listener=r,i}R.prototype.once=function(t,r){if(typeof r!="function")throw new TypeError('"listener" argument must be a function');return this.on(t,Ji(this,t,r)),this},R.prototype.prependOnceListener=function(t,r){if(typeof r!="function")throw new TypeError('"listener" argument must be a function');return this.prependListener(t,Ji(this,t,r)),this},R.prototype.removeListener=function(t,r){var n,i,a,o,s;if(typeof r!="function")throw new TypeError('"listener" argument must be a function');if(i=this._events,!i)return this;if(n=i[t],!n)return this;if(n===r||n.listener&&n.listener===r)--this._eventsCount===0?this._events=new ke:(delete i[t],i.removeListener&&this.emit("removeListener",t,n.listener||r));else if(typeof n!="function"){for(a=-1,o=n.length;o-- >0;)if(n[o]===r||n[o].listener&&n[o].listener===r){s=n[o].listener,a=o;break}if(a<0)return this;if(n.length===1){if(n[0]=void 0,--this._eventsCount===0)return this._events=new ke,this;delete i[t]}else _c(n,a);i.removeListener&&this.emit("removeListener",t,s||r)}return this},R.prototype.off=function(e,t){return this.removeListener(e,t)},R.prototype.removeAllListeners=function(t){var r,n;if(n=this._events,!n)return this;if(!n.removeListener)return arguments.length===0?(this._events=new ke,this._eventsCount=0):n[t]&&(--this._eventsCount===0?this._events=new ke:delete n[t]),this;if(arguments.length===0){for(var i=Object.keys(n),a=0,o;a<i.length;++a)o=i[a],o!=="removeListener"&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=new ke,this._eventsCount=0,this}if(r=n[t],typeof r=="function")this.removeListener(t,r);else if(r)do this.removeListener(t,r[r.length-1]);while(r[0]);return this},R.prototype.listeners=function(t){var r,n,i=this._events;return i?(r=i[t],r?typeof r=="function"?n=[r.listener||r]:n=wc(r):n=[]):n=[],n},R.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):Xi.call(e,t)},R.prototype.listenerCount=Xi;function Xi(e){var t=this._events;if(t){var r=t[e];if(typeof r=="function")return 1;if(r)return r.length}return 0}R.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};function _c(e,t){for(var r=t,n=r+1,i=e.length;n<i;r+=1,n+=1)e[r]=e[n];e.pop()}function Rt(e,t){for(var r=new Array(t);t--;)r[t]=e[t];return r}function wc(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}class ct extends Error{constructor({verbose:t,bucket:r,message:n,...i}){t&&(n=n+`
2
+ import{customAlphabet as Zf,urlAlphabet as Hf}from"nanoid";import{chunk as Ni,merge as At,isEmpty as Bi,invert as Ui,uniq as qf,cloneDeep as kt,isString as $i,get as Kf,set as Wf,isFunction as Vf}from"lodash-es";import{PromisePool as le}from"@supercharge/promise-pool";import{S3Client as Gf,PutObjectCommand as Yf,GetObjectCommand as Jf,HeadObjectCommand as Xf,CopyObjectCommand as Qf,DeleteObjectCommand as ec,DeleteObjectsCommand as zi,ListObjectsV2Command as Zi}from"@aws-sdk/client-s3";import{createHash as Hi}from"crypto";import{flatten as Mr,unflatten as tc}from"flat";import rc from"fastest-validator";import{ReadableStream as nc}from"node:stream/web";function qi(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];i==="."?e.splice(n,1):i===".."?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}var ic=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,Lr=function(e){return ic.exec(e).slice(1)};function Nr(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var n=r>=0?arguments[r]:"/";if(typeof n!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!n)continue;e=n+"/"+e,t=n.charAt(0)==="/"}return e=qi(Br(e.split("/"),function(i){return!!i}),!t).join("/"),(t?"/":"")+e||"."}function Ki(e){var t=Wi(e),r=uc(e,-1)==="/";return e=qi(Br(e.split("/"),function(n){return!!n}),!t).join("/"),!e&&!t&&(e="."),e&&r&&(e+="/"),(t?"/":"")+e}function Wi(e){return e.charAt(0)==="/"}function ge(){var e=Array.prototype.slice.call(arguments,0);return Ki(Br(e,function(t,r){if(typeof t!="string")throw new TypeError("Arguments to path.join must be strings");return t}).join("/"))}function ac(e,t){e=Nr(e).substr(1),t=Nr(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 n=r(e.split("/")),i=r(t.split("/")),a=Math.min(n.length,i.length),o=a,s=0;s<a;s++)if(n[s]!==i[s]){o=s;break}for(var c=[],s=o;s<n.length;s++)c.push("..");return c=c.concat(i.slice(o)),c.join("/")}var oc="/",sc=":";function fc(e){var t=Lr(e),r=t[0],n=t[1];return!r&&!n?".":(n&&(n=n.substr(0,n.length-1)),r+n)}function cc(e,t){var r=Lr(e)[2];return t&&r.substr(-1*t.length)===t&&(r=r.substr(0,r.length-t.length)),r}function lc(e){return Lr(e)[3]}var ue={extname:lc,basename:cc,dirname:fc,sep:oc,delimiter:sc,relative:ac,join:ge,isAbsolute:Wi,normalize:Ki,resolve:Nr};function Br(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n<e.length;n++)t(e[n],n,e)&&r.push(e[n]);return r}var uc="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)};const Vi=Zf(Hf,22);var Ur;function ke(){}ke.prototype=Object.create(null);function R(){R.init.call(this)}R.EventEmitter=R,R.usingDomains=!1,R.prototype.domain=void 0,R.prototype._events=void 0,R.prototype._maxListeners=void 0,R.defaultMaxListeners=10,R.init=function(){this.domain=null,R.usingDomains&&Ur.active&&!(this instanceof Ur.Domain)&&(this.domain=Ur.active),(!this._events||this._events===Object.getPrototypeOf(this)._events)&&(this._events=new ke,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},R.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 Gi(e){return e._maxListeners===void 0?R.defaultMaxListeners:e._maxListeners}R.prototype.getMaxListeners=function(){return Gi(this)};function hc(e,t,r){if(t)e.call(r);else for(var n=e.length,i=Rt(e,n),a=0;a<n;++a)i[a].call(r)}function dc(e,t,r,n){if(t)e.call(r,n);else for(var i=e.length,a=Rt(e,i),o=0;o<i;++o)a[o].call(r,n)}function pc(e,t,r,n,i){if(t)e.call(r,n,i);else for(var a=e.length,o=Rt(e,a),s=0;s<a;++s)o[s].call(r,n,i)}function yc(e,t,r,n,i,a){if(t)e.call(r,n,i,a);else for(var o=e.length,s=Rt(e,o),c=0;c<o;++c)s[c].call(r,n,i,a)}function vc(e,t,r,n){if(t)e.apply(r,n);else for(var i=e.length,a=Rt(e,i),o=0;o<i;++o)a[o].apply(r,n)}R.prototype.emit=function(t){var r,n,i,a,o,s,c,f=t==="error";if(s=this._events,s)f=f&&s.error==null;else if(!f)return!1;if(c=this.domain,f){if(r=arguments[1],c)r||(r=new Error('Uncaught, unspecified "error" event')),r.domainEmitter=this,r.domain=c,r.domainThrown=!1,c.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(n=s[t],!n)return!1;var d=typeof n=="function";switch(i=arguments.length,i){case 1:hc(n,d,this);break;case 2:dc(n,d,this,arguments[1]);break;case 3:pc(n,d,this,arguments[1],arguments[2]);break;case 4:yc(n,d,this,arguments[1],arguments[2],arguments[3]);break;default:for(a=new Array(i-1),o=1;o<i;o++)a[o-1]=arguments[o];vc(n,d,this,a)}return!0};function Yi(e,t,r,n){var i,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 ke,e._eventsCount=0),!o)o=a[t]=r,++e._eventsCount;else if(typeof o=="function"?o=a[t]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),!o.warned&&(i=Gi(e),i&&i>0&&o.length>i)){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,gc(s)}return e}function gc(e){typeof console.warn=="function"?console.warn(e):console.log(e)}R.prototype.addListener=function(t,r){return Yi(this,t,r,!1)},R.prototype.on=R.prototype.addListener,R.prototype.prependListener=function(t,r){return Yi(this,t,r,!0)};function Ji(e,t,r){var n=!1;function i(){e.removeListener(t,i),n||(n=!0,r.apply(e,arguments))}return i.listener=r,i}R.prototype.once=function(t,r){if(typeof r!="function")throw new TypeError('"listener" argument must be a function');return this.on(t,Ji(this,t,r)),this},R.prototype.prependOnceListener=function(t,r){if(typeof r!="function")throw new TypeError('"listener" argument must be a function');return this.prependListener(t,Ji(this,t,r)),this},R.prototype.removeListener=function(t,r){var n,i,a,o,s;if(typeof r!="function")throw new TypeError('"listener" argument must be a function');if(i=this._events,!i)return this;if(n=i[t],!n)return this;if(n===r||n.listener&&n.listener===r)--this._eventsCount===0?this._events=new ke:(delete i[t],i.removeListener&&this.emit("removeListener",t,n.listener||r));else if(typeof n!="function"){for(a=-1,o=n.length;o-- >0;)if(n[o]===r||n[o].listener&&n[o].listener===r){s=n[o].listener,a=o;break}if(a<0)return this;if(n.length===1){if(n[0]=void 0,--this._eventsCount===0)return this._events=new ke,this;delete i[t]}else _c(n,a);i.removeListener&&this.emit("removeListener",t,s||r)}return this},R.prototype.off=function(e,t){return this.removeListener(e,t)},R.prototype.removeAllListeners=function(t){var r,n;if(n=this._events,!n)return this;if(!n.removeListener)return arguments.length===0?(this._events=new ke,this._eventsCount=0):n[t]&&(--this._eventsCount===0?this._events=new ke:delete n[t]),this;if(arguments.length===0){for(var i=Object.keys(n),a=0,o;a<i.length;++a)o=i[a],o!=="removeListener"&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=new ke,this._eventsCount=0,this}if(r=n[t],typeof r=="function")this.removeListener(t,r);else if(r)do this.removeListener(t,r[r.length-1]);while(r[0]);return this},R.prototype.listeners=function(t){var r,n,i=this._events;return i?(r=i[t],r?typeof r=="function"?n=[r.listener||r]:n=wc(r):n=[]):n=[],n},R.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):Xi.call(e,t)},R.prototype.listenerCount=Xi;function Xi(e){var t=this._events;if(t){var r=t[e];if(typeof r=="function")return 1;if(r)return r.length}return 0}R.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};function _c(e,t){for(var r=t,n=r+1,i=e.length;n<i;r+=1,n+=1)e[r]=e[n];e.pop()}function Rt(e,t){for(var r=new Array(t);t--;)r[t]=e[t];return r}function wc(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}class ct extends Error{constructor({verbose:t,bucket:r,message:n,...i}){t&&(n=n+`
3
3
 
4
4
  Verbose:
5
5
 
@@ -11,13 +11,13 @@ ${JSON.stringify(i,null,2)}`}),this.resourceName=r,this.attributes=n,this.valida
11
11
  `+u+"]":"["+p.join(",")+"]",t=u,d}if(i&&typeof i=="object")for(h=i.length,f=0;f<h;f+=1)l=i[f],typeof l=="string"&&(d=o(l,v),d&&p.push(a(l)+(t?": ":":")+d));else for(l in v)Object.prototype.hasOwnProperty.call(v,l)&&(d=o(l,v),d&&p.push(a(l)+(t?": ":":")+d));return d=p.length===0?"{}":t?`{
12
12
  `+t+p.join(`,
13
13
  `+t)+`
14
- `+u+"}":"{"+p.join(",")+"}",t=u,d}}return Hr=function(s,c,f){var l;if(t="",r="",typeof f=="number")for(l=0;l<f;l+=1)r+=" ";else typeof f=="string"&&(r=f);if(i=c,c&&typeof c!="function"&&(typeof c!="object"||typeof c.length!="number"))throw new Error("JSON.stringify");return o("",{"":s})},Hr}var da;function Ac(){return da||(da=1,ir.parse=Ec(),ir.stringify=Sc()),ir}var qr,pa;function kc(){if(pa)return qr;pa=1;var e={}.toString;return qr=Array.isArray||function(t){return e.call(t)=="[object Array]"},qr}var Kr,ya;function va(){if(ya)return Kr;ya=1;var e=Object.prototype.toString;return Kr=function(r){var n=e.call(r),i=n==="[object Arguments]";return i||(i=n!=="[object Array]"&&r!==null&&typeof r=="object"&&typeof r.length=="number"&&r.length>=0&&e.call(r.callee)==="[object Function]"),i},Kr}var Wr,ga;function Rc(){if(ga)return Wr;ga=1;var e;if(!Object.keys){var t=Object.prototype.hasOwnProperty,r=Object.prototype.toString,n=va(),i=Object.prototype.propertyIsEnumerable,a=!i.call({toString:null},"toString"),o=i.call(function(){},"prototype"),s=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],c=function(h){var u=h.constructor;return u&&u.prototype===h},f={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},l=function(){if(typeof window>"u")return!1;for(var h in window)try{if(!f["$"+h]&&t.call(window,h)&&window[h]!==null&&typeof window[h]=="object")try{c(window[h])}catch{return!0}}catch{return!0}return!1}(),d=function(h){if(typeof window>"u"||!l)return c(h);try{return c(h)}catch{return!1}};e=function(u){var p=u!==null&&typeof u=="object",v=r.call(u)==="[object Function]",_=n(u),w=p&&r.call(u)==="[object String]",E=[];if(!p&&!v&&!_)throw new TypeError("Object.keys called on a non-object");var S=o&&v;if(w&&u.length>0&&!t.call(u,0))for(var g=0;g<u.length;++g)E.push(String(g));if(_&&u.length>0)for(var A=0;A<u.length;++A)E.push(String(A));else for(var T in u)!(S&&T==="prototype")&&t.call(u,T)&&E.push(String(T));if(a)for(var b=d(u),x=0;x<s.length;++x)!(b&&s[x]==="constructor")&&t.call(u,s[x])&&E.push(s[x]);return E}}return Wr=e,Wr}var Vr,_a;function Oc(){if(_a)return Vr;_a=1;var e=Array.prototype.slice,t=va(),r=Object.keys,n=r?function(o){return r(o)}:Rc(),i=Object.keys;return n.shim=function(){if(Object.keys){var o=function(){var s=Object.keys(arguments);return s&&s.length===arguments.length}(1,2);o||(Object.keys=function(c){return t(c)?i(e.call(c)):i(c)})}else Object.keys=n;return Object.keys||n},Vr=n,Vr}var Gr={exports:{}},Yr,wa;function ba(){return wa||(wa=1,Yr=Object),Yr}var Jr,ma;function Tc(){return ma||(ma=1,Jr=Error),Jr}var Xr,xa;function Ic(){return xa||(xa=1,Xr=EvalError),Xr}var Qr,Ea;function Pc(){return Ea||(Ea=1,Qr=RangeError),Qr}var en,Sa;function Fc(){return Sa||(Sa=1,en=ReferenceError),en}var tn,Aa;function ka(){return Aa||(Aa=1,tn=SyntaxError),tn}var rn,Ra;function ar(){return Ra||(Ra=1,rn=TypeError),rn}var nn,Oa;function Cc(){return Oa||(Oa=1,nn=URIError),nn}var an,Ta;function Dc(){return Ta||(Ta=1,an=Math.abs),an}var on,Ia;function Mc(){return Ia||(Ia=1,on=Math.floor),on}var sn,Pa;function jc(){return Pa||(Pa=1,sn=Math.max),sn}var fn,Fa;function Lc(){return Fa||(Fa=1,fn=Math.min),fn}var cn,Ca;function Nc(){return Ca||(Ca=1,cn=Math.pow),cn}var ln,Da;function Bc(){return Da||(Da=1,ln=Math.round),ln}var un,Ma;function Uc(){return Ma||(Ma=1,un=Number.isNaN||function(t){return t!==t}),un}var hn,ja;function $c(){if(ja)return hn;ja=1;var e=Uc();return hn=function(r){return e(r)||r===0?r:r<0?-1:1},hn}var dn,La;function zc(){return La||(La=1,dn=Object.getOwnPropertyDescriptor),dn}var pn,Na;function or(){if(Na)return pn;Na=1;var e=zc();if(e)try{e([],"length")}catch{e=null}return pn=e,pn}var yn,Ba;function sr(){if(Ba)return yn;Ba=1;var e=Object.defineProperty||!1;if(e)try{e({},"a",{value:1})}catch{e=!1}return yn=e,yn}var vn,Ua;function Zc(){return Ua||(Ua=1,vn=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var t={},r=Symbol("test"),n=Object(r);if(typeof r=="string"||Object.prototype.toString.call(r)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var i=42;t[r]=i;for(var a in t)return!1;if(typeof Object.keys=="function"&&Object.keys(t).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(t).length!==0)return!1;var o=Object.getOwnPropertySymbols(t);if(o.length!==1||o[0]!==r||!Object.prototype.propertyIsEnumerable.call(t,r))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var s=Object.getOwnPropertyDescriptor(t,r);if(s.value!==i||s.enumerable!==!0)return!1}return!0}),vn}var gn,$a;function Hc(){if($a)return gn;$a=1;var e=typeof Symbol<"u"&&Symbol,t=Zc();return gn=function(){return typeof e!="function"||typeof Symbol!="function"||typeof e("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:t()},gn}var _n,za;function Za(){return za||(za=1,_n=typeof Reflect<"u"&&Reflect.getPrototypeOf||null),_n}var wn,Ha;function qa(){if(Ha)return wn;Ha=1;var e=ba();return wn=e.getPrototypeOf||null,wn}var bn,Ka;function qc(){if(Ka)return bn;Ka=1;var e="Function.prototype.bind called on incompatible ",t=Object.prototype.toString,r=Math.max,n="[object Function]",i=function(c,f){for(var l=[],d=0;d<c.length;d+=1)l[d]=c[d];for(var h=0;h<f.length;h+=1)l[h+c.length]=f[h];return l},a=function(c,f){for(var l=[],d=f,h=0;d<c.length;d+=1,h+=1)l[h]=c[d];return l},o=function(s,c){for(var f="",l=0;l<s.length;l+=1)f+=s[l],l+1<s.length&&(f+=c);return f};return bn=function(c){var f=this;if(typeof f!="function"||t.apply(f)!==n)throw new TypeError(e+f);for(var l=a(arguments,1),d,h=function(){if(this instanceof d){var w=f.apply(this,i(l,arguments));return Object(w)===w?w:this}return f.apply(c,i(l,arguments))},u=r(0,f.length-l.length),p=[],v=0;v<u;v++)p[v]="$"+v;if(d=Function("binder","return function ("+o(p,",")+"){ return binder.apply(this,arguments); }")(h),f.prototype){var _=function(){};_.prototype=f.prototype,d.prototype=new _,_.prototype=null}return d},bn}var mn,Wa;function Ot(){if(Wa)return mn;Wa=1;var e=qc();return mn=Function.prototype.bind||e,mn}var xn,Va;function En(){return Va||(Va=1,xn=Function.prototype.call),xn}var Sn,Ga;function An(){return Ga||(Ga=1,Sn=Function.prototype.apply),Sn}var kn,Ya;function Kc(){return Ya||(Ya=1,kn=typeof Reflect<"u"&&Reflect&&Reflect.apply),kn}var Rn,Ja;function Xa(){if(Ja)return Rn;Ja=1;var e=Ot(),t=An(),r=En(),n=Kc();return Rn=n||e.call(r,t),Rn}var On,Qa;function Tn(){if(Qa)return On;Qa=1;var e=Ot(),t=ar(),r=En(),n=Xa();return On=function(a){if(a.length<1||typeof a[0]!="function")throw new t("a function is required");return n(e,r,a)},On}var In,eo;function Wc(){if(eo)return In;eo=1;var e=Tn(),t=or(),r;try{r=[].__proto__===Array.prototype}catch(o){if(!o||typeof o!="object"||!("code"in o)||o.code!=="ERR_PROTO_ACCESS")throw o}var n=!!r&&t&&t(Object.prototype,"__proto__"),i=Object,a=i.getPrototypeOf;return In=n&&typeof n.get=="function"?e([n.get]):typeof a=="function"?function(s){return a(s==null?s:i(s))}:!1,In}var Pn,to;function Vc(){if(to)return Pn;to=1;var e=Za(),t=qa(),r=Wc();return Pn=e?function(i){return e(i)}:t?function(i){if(!i||typeof i!="object"&&typeof i!="function")throw new TypeError("getProto: not an object");return t(i)}:r?function(i){return r(i)}:null,Pn}var Fn,ro;function Gc(){if(ro)return Fn;ro=1;var e=Function.prototype.call,t=Object.prototype.hasOwnProperty,r=Ot();return Fn=r.call(e,t),Fn}var Cn,no;function io(){if(no)return Cn;no=1;var e,t=ba(),r=Tc(),n=Ic(),i=Pc(),a=Fc(),o=ka(),s=ar(),c=Cc(),f=Dc(),l=Mc(),d=jc(),h=Lc(),u=Nc(),p=Bc(),v=$c(),_=Function,w=function(fe){try{return _('"use strict"; return ('+fe+").constructor;")()}catch{}},E=or(),S=sr(),g=function(){throw new s},A=E?function(){try{return arguments.callee,g}catch{try{return E(arguments,"callee").get}catch{return g}}}():g,T=Hc()(),b=Vc(),x=qa(),O=Za(),k=An(),C=En(),z={},W=typeof Uint8Array>"u"||!b?e:b(Uint8Array),te={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?e:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?e:ArrayBuffer,"%ArrayIteratorPrototype%":T&&b?b([][Symbol.iterator]()):e,"%AsyncFromSyncIteratorPrototype%":e,"%AsyncFunction%":z,"%AsyncGenerator%":z,"%AsyncGeneratorFunction%":z,"%AsyncIteratorPrototype%":z,"%Atomics%":typeof Atomics>"u"?e:Atomics,"%BigInt%":typeof BigInt>"u"?e:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?e:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?e:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?e:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":r,"%eval%":eval,"%EvalError%":n,"%Float16Array%":typeof Float16Array>"u"?e:Float16Array,"%Float32Array%":typeof Float32Array>"u"?e:Float32Array,"%Float64Array%":typeof Float64Array>"u"?e:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?e:FinalizationRegistry,"%Function%":_,"%GeneratorFunction%":z,"%Int8Array%":typeof Int8Array>"u"?e:Int8Array,"%Int16Array%":typeof Int16Array>"u"?e:Int16Array,"%Int32Array%":typeof Int32Array>"u"?e:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":T&&b?b(b([][Symbol.iterator]())):e,"%JSON%":typeof JSON=="object"?JSON:e,"%Map%":typeof Map>"u"?e:Map,"%MapIteratorPrototype%":typeof Map>"u"||!T||!b?e:b(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":t,"%Object.getOwnPropertyDescriptor%":E,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?e:Promise,"%Proxy%":typeof Proxy>"u"?e:Proxy,"%RangeError%":i,"%ReferenceError%":a,"%Reflect%":typeof Reflect>"u"?e:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?e:Set,"%SetIteratorPrototype%":typeof Set>"u"||!T||!b?e:b(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?e:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":T&&b?b(""[Symbol.iterator]()):e,"%Symbol%":T?Symbol:e,"%SyntaxError%":o,"%ThrowTypeError%":A,"%TypedArray%":W,"%TypeError%":s,"%Uint8Array%":typeof Uint8Array>"u"?e:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?e:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?e:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?e:Uint32Array,"%URIError%":c,"%WeakMap%":typeof WeakMap>"u"?e:WeakMap,"%WeakRef%":typeof WeakRef>"u"?e:WeakRef,"%WeakSet%":typeof WeakSet>"u"?e:WeakSet,"%Function.prototype.call%":C,"%Function.prototype.apply%":k,"%Object.defineProperty%":S,"%Object.getPrototypeOf%":x,"%Math.abs%":f,"%Math.floor%":l,"%Math.max%":d,"%Math.min%":h,"%Math.pow%":u,"%Math.round%":p,"%Math.sign%":v,"%Reflect.getPrototypeOf%":O};if(b)try{null.error}catch(fe){var Ue=b(b(fe));te["%Error.prototype%"]=Ue}var G=function fe(j){var q;if(j==="%AsyncFunction%")q=w("async function () {}");else if(j==="%GeneratorFunction%")q=w("function* () {}");else if(j==="%AsyncGeneratorFunction%")q=w("async function* () {}");else if(j==="%AsyncGenerator%"){var N=fe("%AsyncGeneratorFunction%");N&&(q=N.prototype)}else if(j==="%AsyncIteratorPrototype%"){var V=fe("%AsyncGenerator%");V&&b&&(q=b(V.prototype))}return te[j]=q,q},se={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},$e=Ot(),ze=Gc(),Et=$e.call(C,Array.prototype.concat),Lf=$e.call(k,Array.prototype.splice),Li=$e.call(C,String.prototype.replace),Yt=$e.call(C,String.prototype.slice),Nf=$e.call(C,RegExp.prototype.exec),Bf=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,Uf=/\\(\\)?/g,$f=function(j){var q=Yt(j,0,1),N=Yt(j,-1);if(q==="%"&&N!=="%")throw new o("invalid intrinsic syntax, expected closing `%`");if(N==="%"&&q!=="%")throw new o("invalid intrinsic syntax, expected opening `%`");var V=[];return Li(j,Bf,function(ce,ft,Y,Jt){V[V.length]=Y?Li(Jt,Uf,"$1"):ft||ce}),V},zf=function(j,q){var N=j,V;if(ze(se,N)&&(V=se[N],N="%"+V[0]+"%"),ze(te,N)){var ce=te[N];if(ce===z&&(ce=G(N)),typeof ce>"u"&&!q)throw new s("intrinsic "+j+" exists, but is not available. Please file an issue!");return{alias:V,name:N,value:ce}}throw new o("intrinsic "+j+" does not exist!")};return Cn=function(j,q){if(typeof j!="string"||j.length===0)throw new s("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof q!="boolean")throw new s('"allowMissing" argument must be a boolean');if(Nf(/^%?[^%]*%?$/,j)===null)throw new o("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var N=$f(j),V=N.length>0?N[0]:"",ce=zf("%"+V+"%",q),ft=ce.name,Y=ce.value,Jt=!1,Mr=ce.alias;Mr&&(V=Mr[0],Lf(N,Et([0,1],Mr)));for(var Xt=1,St=!0;Xt<N.length;Xt+=1){var ve=N[Xt],Qt=Yt(ve,0,1),er=Yt(ve,-1);if((Qt==='"'||Qt==="'"||Qt==="`"||er==='"'||er==="'"||er==="`")&&Qt!==er)throw new o("property names with quotes must have matching quotes");if((ve==="constructor"||!St)&&(Jt=!0),V+="."+ve,ft="%"+V+"%",ze(te,ft))Y=te[ft];else if(Y!=null){if(!(ve in Y)){if(!q)throw new s("base intrinsic for "+j+" exists, but the property is not available.");return}if(E&&Xt+1>=N.length){var tr=E(Y,ve);St=!!tr,St&&"get"in tr&&!("originalValue"in tr.get)?Y=tr.get:Y=Y[ve]}else St=ze(Y,ve),Y=Y[ve];St&&!Jt&&(te[ft]=Y)}}return Y},Cn}var Dn,ao;function Yc(){if(ao)return Dn;ao=1;var e=sr(),t=ka(),r=ar(),n=or();return Dn=function(a,o,s){if(!a||typeof a!="object"&&typeof a!="function")throw new r("`obj` must be an object or a function`");if(typeof o!="string"&&typeof o!="symbol")throw new r("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new r("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new r("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new r("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new r("`loose`, if provided, must be a boolean");var c=arguments.length>3?arguments[3]:null,f=arguments.length>4?arguments[4]:null,l=arguments.length>5?arguments[5]:null,d=arguments.length>6?arguments[6]:!1,h=!!n&&n(a,o);if(e)e(a,o,{configurable:l===null&&h?h.configurable:!l,enumerable:c===null&&h?h.enumerable:!c,value:s,writable:f===null&&h?h.writable:!f});else if(d||!c&&!f&&!l)a[o]=s;else throw new t("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")},Dn}var Mn,oo;function Jc(){if(oo)return Mn;oo=1;var e=sr(),t=function(){return!!e};return t.hasArrayLengthDefineBug=function(){if(!e)return null;try{return e([],"length",{value:1}).length!==1}catch{return!0}},Mn=t,Mn}var jn,so;function Xc(){if(so)return jn;so=1;var e=io(),t=Yc(),r=Jc()(),n=or(),i=ar(),a=e("%Math.floor%");return jn=function(s,c){if(typeof s!="function")throw new i("`fn` is not a function");if(typeof c!="number"||c<0||c>4294967295||a(c)!==c)throw new i("`length` must be a positive 32-bit integer");var f=arguments.length>2&&!!arguments[2],l=!0,d=!0;if("length"in s&&n){var h=n(s,"length");h&&!h.configurable&&(l=!1),h&&!h.writable&&(d=!1)}return(l||d||!f)&&(r?t(s,"length",c,!0,!0):t(s,"length",c)),s},jn}var Ln,fo;function Qc(){if(fo)return Ln;fo=1;var e=Ot(),t=An(),r=Xa();return Ln=function(){return r(e,t,arguments)},Ln}var co;function el(){return co||(co=1,function(e){var t=Xc(),r=sr(),n=Tn(),i=Qc();e.exports=function(o){var s=n(arguments),c=o.length-(arguments.length-1);return t(s,1+(c>0?c:0),!0)},r?r(e.exports,"apply",{value:i}):e.exports.apply=i}(Gr)),Gr.exports}var Nn,lo;function tl(){if(lo)return Nn;lo=1;var e=io(),t=Tn(),r=t([e("%String.prototype.indexOf%")]);return Nn=function(i,a){var o=e(i,!!a);return typeof o=="function"&&r(i,".prototype.")>-1?t([o]):o},Nn}var Bn,uo;function rl(){if(uo)return Bn;uo=1;var e=(typeof JSON<"u"?JSON:Ac()).stringify,t=kc(),r=Oc(),n=el(),i=tl(),a=i("Array.prototype.join"),o=i("Array.prototype.indexOf"),s=i("Array.prototype.splice"),c=i("Array.prototype.sort"),f=function(h,u){for(var p="",v=0;v<h;v+=1)p+=u;return p},l=function(d,h,u){return u};return Bn=function(h){var u=arguments.length>1?arguments[1]:void 0,p=u&&u.space||"";typeof p=="number"&&(p=f(p," "));var v=!!u&&typeof u.cycles=="boolean"&&u.cycles,_=u&&u.replacer?n(u.replacer):l;if(u&&typeof u.collapseEmpty<"u"&&typeof u.collapseEmpty!="boolean")throw new TypeError("`collapseEmpty` must be a boolean, if provided");var w=!!u&&u.collapseEmpty,E=typeof u=="function"?u:u&&u.cmp,S=E&&function(A){var T=E.length>2&&function(x){return A[x]};return function(b,x){return E({key:b,value:A[b]},{key:x,value:A[x]},T?{__proto__:null,get:T}:void 0)}},g=[];return function A(T,b,x,O){var k=p?`
15
- `+f(O,p):"",C=p?": ":":";if(x&&x.toJSON&&typeof x.toJSON=="function"&&(x=x.toJSON()),x=_(T,b,x),x!==void 0){if(typeof x!="object"||x===null)return e(x);var z=function(ze,Et){return w&&ze.length===0?Et:(Et==="[]"?"[":"{")+a(ze,",")+k+(Et==="[]"?"]":"}")};if(t(x)){for(var G=[],W=0;W<x.length;W++){var te=A(x,W,x[W],O+1)||e(null);G[G.length]=k+p+te}return z(G,"[]")}if(o(g,x)!==-1){if(v)return e("__cycle__");throw new TypeError("Converting circular structure to JSON")}else g[g.length]=x;for(var Ue=c(r(x),S&&S(x)),G=[],W=0;W<Ue.length;W++){var b=Ue[W],se=A(x,b,x[b],O+1);if(se){var $e=e(b)+C+se;G[G.length]=k+p+$e}}return s(g,o(g,x),1),z(G,"{}")}}({"":h},"",h,0)},Bn}var nl=rl(),ho=xc(nl);async function Un(e,t,r){if(!this.passphrase)return t.push({actual:e,type:"encryptionKeyMissing"}),e;try{return await zr(String(e),this.passphrase)}catch(n){t.push({actual:e,type:"encryptionProblem",error:n})}return e}class po extends rc{constructor({options:t,passphrase:r,autoEncrypt:n=!0}={}){super(At({},{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=n,this.alias("secret",{type:"string",custom:this.autoEncrypt?Un: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?Un:void 0}),this.alias("secretNumber",{type:"number",custom:this.autoEncrypt?Un:void 0})}}const yo=new Proxy(po,{instance:null,construct(e,t){return this.instance||(this.instance=new e(...t)),this.instance}}),vo={trim:e=>e.trim(),encrypt:(e,{passphrase:t})=>zr(e,t),decrypt:(e,{passphrase:t})=>ca(e,t),toString:e=>String(e),fromArray:(e,{separator:t})=>e==null||!Array.isArray(e)?e:e.length===0?"[]":e.map(n=>typeof n=="string"?n.replace(/\\/g,"\\\\").replace(new RegExp(`\\${t}`,"g"),`\\${t}`):String(n)).join(t),toArray:(e,{separator:t})=>{if(e==null)return e;if(e==="[]")return[];if(e==="")return[];const r=[];let n="",i=0;const a=String(e);for(;i<a.length;)a[i]==="\\"&&i+1<a.length?a[i+1]===t?(n+=t,i+=2):a[i+1]==="\\"?(n+="\\",i+=2):(n+=a[i],i++):a[i]===t?(r.push(n),n="",i++):(n+=a[i],i++);return r.push(n),r},toJSON:e=>JSON.stringify(e),fromJSON:e=>JSON.parse(e),toNumber:e=>$i(e)?e.includes(".")?parseFloat(e):parseInt(e):e,toBool:e=>[!0,1,"true","1","yes","y"].includes(e),fromBool:e=>[!0,1,"true","1","yes","y"].includes(e)?"1":"0"};class Be{constructor(t){const{map:r,name:n,attributes:i,passphrase:a,version:o=1,options:s={}}=t;this.name=n,this.version=o,this.attributes=i||{},this.passphrase=a??"secret",this.options=At({},this.defaultOptions(),s);const c=this.preprocessAttributesForValidation(this.attributes);if(this.validator=new yo({autoEncrypt:!1}).compile(At({$$async:!0},c)),this.options.generateAutoHooks&&this.generateAutoHooks(),!Bi(r))this.map=r,this.reversedMap=Ui(r);else{const f=jr(this.attributes,{safe:!0}),l=Object.keys(f).filter(u=>!u.includes("$$")),d=this.extractObjectKeys(this.attributes),h=[...new Set([...l,...d])];this.reversedMap={...h},this.map=Ui(this.reversedMap)}}defaultOptions(){return{autoEncrypt:!0,autoDecrypt:!0,arraySeparator:"|",generateAutoHooks:!0,hooks:{beforeMap:{},afterMap:{},beforeUnmap:{},afterUnmap:{}}}}addHook(t,r,n){this.options.hooks[t][r]||(this.options.hooks[t][r]=[]),this.options.hooks[t][r]=qf([...this.options.hooks[t][r],n])}extractObjectKeys(t,r=""){const n=[];for(const[i,a]of Object.entries(t)){if(i.startsWith("$$"))continue;const o=r?`${r}.${i}`:i;typeof a=="object"&&a!==null&&!Array.isArray(a)&&(n.push(o),a.$$type==="object"&&n.push(...this.extractObjectKeys(a,o)))}return n}generateAutoHooks(){const t=jr(kt(this.attributes),{safe:!0});for(const[r,n]of Object.entries(t))n.includes("array")?(this.addHook("beforeMap",r,"fromArray"),this.addHook("afterUnmap",r,"toArray")):(n.includes("secret")&&(this.options.autoEncrypt&&this.addHook("beforeMap",r,"encrypt"),this.options.autoDecrypt&&this.addHook("afterUnmap",r,"decrypt")),n.includes("number")&&(this.addHook("beforeMap",r,"toString"),this.addHook("afterUnmap",r,"toNumber")),n.includes("boolean")&&(this.addHook("beforeMap",r,"fromBool"),this.addHook("afterUnmap",r,"toBool")))}static import(t){let{map:r,name:n,options:i,version:a,attributes:o}=$i(t)?JSON.parse(t):t;return o=Be._importAttributes(o),new Be({map:r,name:n,options:i,version:a,attributes:o})}static _importAttributes(t){if(typeof t=="string"){try{const r=JSON.parse(t);if(typeof r=="object"&&r!==null)return Be._importAttributes(r)}catch{}return t}if(Array.isArray(t))return t.map(r=>Be._importAttributes(r));if(typeof t=="object"&&t!==null){const r={};for(const[n,i]of Object.entries(t))r[n]=Be._importAttributes(i);return r}return t}export(){return{version:this.version,name:this.name,options:this.options,attributes:this._exportAttributes(this.attributes),map:this.map}}_exportAttributes(t){if(typeof t=="string")return t;if(Array.isArray(t))return t.map(r=>this._exportAttributes(r));if(typeof t=="object"&&t!==null){const r={};for(const[n,i]of Object.entries(t))r[n]=this._exportAttributes(i);return r}return t}async applyHooksActions(t,r){for(const[n,i]of Object.entries(this.options.hooks[r]))for(const a of i){const o=Kf(t,n);o!==void 0&&typeof vo[a]=="function"&&Wf(t,n,await vo[a](o,{passphrase:this.passphrase,separator:this.options.arraySeparator}))}}async validate(t,{mutateOriginal:r=!1}={}){let n=r?t:kt(t);return await this.validator(n)}async mapper(t){const r=jr(kt(t),{safe:!0});await this.applyHooksActions(r,"beforeMap");const n={_v:this.version+""};for(const[i,a]of Object.entries(r))n[this.map[i]]=a;return await this.applyHooksActions(n,"afterMap"),n}async unmapper(t){const r=kt(t);delete r._v,await this.applyHooksActions(r,"beforeUnmap");const n={};for(const[i,a]of Object.entries(r))n[this.reversedMap[i]]=a;return await this.applyHooksActions(n,"afterUnmap"),tc(n)}preprocessAttributesForValidation(t){const r={};for(const[n,i]of Object.entries(t))typeof i=="object"&&i!==null&&!Array.isArray(i)?r[n]={type:"object",properties:this.preprocessAttributesForValidation(i),strict:!1}:r[n]=i;return r}}var lt=typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{},he=[],re=[],il=typeof Uint8Array<"u"?Uint8Array:Array,$n=!1;function go(){$n=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0,r=e.length;t<r;++t)he[t]=e[t],re[e.charCodeAt(t)]=t;re[45]=62,re[95]=63}function al(e){$n||go();var t,r,n,i,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 il(s*3/4-a),n=a>0?s-4:s;var c=0;for(t=0,r=0;t<n;t+=4,r+=3)i=re[e.charCodeAt(t)]<<18|re[e.charCodeAt(t+1)]<<12|re[e.charCodeAt(t+2)]<<6|re[e.charCodeAt(t+3)],o[c++]=i>>16&255,o[c++]=i>>8&255,o[c++]=i&255;return a===2?(i=re[e.charCodeAt(t)]<<2|re[e.charCodeAt(t+1)]>>4,o[c++]=i&255):a===1&&(i=re[e.charCodeAt(t)]<<10|re[e.charCodeAt(t+1)]<<4|re[e.charCodeAt(t+2)]>>2,o[c++]=i>>8&255,o[c++]=i&255),o}function ol(e){return he[e>>18&63]+he[e>>12&63]+he[e>>6&63]+he[e&63]}function sl(e,t,r){for(var n,i=[],a=t;a<r;a+=3)n=(e[a]<<16)+(e[a+1]<<8)+e[a+2],i.push(ol(n));return i.join("")}function _o(e){$n||go();for(var t,r=e.length,n=r%3,i="",a=[],o=16383,s=0,c=r-n;s<c;s+=o)a.push(sl(e,s,s+o>c?c:s+o));return n===1?(t=e[r-1],i+=he[t>>2],i+=he[t<<4&63],i+="=="):n===2&&(t=(e[r-2]<<8)+e[r-1],i+=he[t>>10],i+=he[t>>4&63],i+=he[t<<2&63],i+="="),a.push(i),a.join("")}function fr(e,t,r,n,i){var a,o,s=i*8-n-1,c=(1<<s)-1,f=c>>1,l=-7,d=r?i-1:0,h=r?-1:1,u=e[t+d];for(d+=h,a=u&(1<<-l)-1,u>>=-l,l+=s;l>0;a=a*256+e[t+d],d+=h,l-=8);for(o=a&(1<<-l)-1,a>>=-l,l+=n;l>0;o=o*256+e[t+d],d+=h,l-=8);if(a===0)a=1-f;else{if(a===c)return o?NaN:(u?-1:1)*(1/0);o=o+Math.pow(2,n),a=a-f}return(u?-1:1)*o*Math.pow(2,a-n)}function wo(e,t,r,n,i,a){var o,s,c,f=a*8-i-1,l=(1<<f)-1,d=l>>1,h=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,u=n?0:a-1,p=n?1:-1,v=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*(c=Math.pow(2,-o))<1&&(o--,c*=2),o+d>=1?t+=h/c:t+=h*Math.pow(2,1-d),t*c>=2&&(o++,c/=2),o+d>=l?(s=0,o=l):o+d>=1?(s=(t*c-1)*Math.pow(2,i),o=o+d):(s=t*Math.pow(2,d-1)*Math.pow(2,i),o=0));i>=8;e[r+u]=s&255,u+=p,s/=256,i-=8);for(o=o<<i|s,f+=i;f>0;e[r+u]=o&255,u+=p,o/=256,f-=8);e[r+u-p]|=v*128}var fl={}.toString,bo=Array.isArray||function(e){return fl.call(e)=="[object Array]"};/*!
14
+ `+u+"}":"{"+p.join(",")+"}",t=u,d}}return Hr=function(s,c,f){var l;if(t="",r="",typeof f=="number")for(l=0;l<f;l+=1)r+=" ";else typeof f=="string"&&(r=f);if(i=c,c&&typeof c!="function"&&(typeof c!="object"||typeof c.length!="number"))throw new Error("JSON.stringify");return o("",{"":s})},Hr}var da;function Ac(){return da||(da=1,ir.parse=Ec(),ir.stringify=Sc()),ir}var qr,pa;function kc(){if(pa)return qr;pa=1;var e={}.toString;return qr=Array.isArray||function(t){return e.call(t)=="[object Array]"},qr}var Kr,ya;function va(){if(ya)return Kr;ya=1;var e=Object.prototype.toString;return Kr=function(r){var n=e.call(r),i=n==="[object Arguments]";return i||(i=n!=="[object Array]"&&r!==null&&typeof r=="object"&&typeof r.length=="number"&&r.length>=0&&e.call(r.callee)==="[object Function]"),i},Kr}var Wr,ga;function Rc(){if(ga)return Wr;ga=1;var e;if(!Object.keys){var t=Object.prototype.hasOwnProperty,r=Object.prototype.toString,n=va(),i=Object.prototype.propertyIsEnumerable,a=!i.call({toString:null},"toString"),o=i.call(function(){},"prototype"),s=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],c=function(h){var u=h.constructor;return u&&u.prototype===h},f={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},l=function(){if(typeof window>"u")return!1;for(var h in window)try{if(!f["$"+h]&&t.call(window,h)&&window[h]!==null&&typeof window[h]=="object")try{c(window[h])}catch{return!0}}catch{return!0}return!1}(),d=function(h){if(typeof window>"u"||!l)return c(h);try{return c(h)}catch{return!1}};e=function(u){var p=u!==null&&typeof u=="object",v=r.call(u)==="[object Function]",_=n(u),w=p&&r.call(u)==="[object String]",E=[];if(!p&&!v&&!_)throw new TypeError("Object.keys called on a non-object");var S=o&&v;if(w&&u.length>0&&!t.call(u,0))for(var g=0;g<u.length;++g)E.push(String(g));if(_&&u.length>0)for(var A=0;A<u.length;++A)E.push(String(A));else for(var T in u)!(S&&T==="prototype")&&t.call(u,T)&&E.push(String(T));if(a)for(var b=d(u),x=0;x<s.length;++x)!(b&&s[x]==="constructor")&&t.call(u,s[x])&&E.push(s[x]);return E}}return Wr=e,Wr}var Vr,_a;function Oc(){if(_a)return Vr;_a=1;var e=Array.prototype.slice,t=va(),r=Object.keys,n=r?function(o){return r(o)}:Rc(),i=Object.keys;return n.shim=function(){if(Object.keys){var o=function(){var s=Object.keys(arguments);return s&&s.length===arguments.length}(1,2);o||(Object.keys=function(c){return t(c)?i(e.call(c)):i(c)})}else Object.keys=n;return Object.keys||n},Vr=n,Vr}var Gr={exports:{}},Yr,wa;function ba(){return wa||(wa=1,Yr=Object),Yr}var Jr,ma;function Tc(){return ma||(ma=1,Jr=Error),Jr}var Xr,xa;function Ic(){return xa||(xa=1,Xr=EvalError),Xr}var Qr,Ea;function Pc(){return Ea||(Ea=1,Qr=RangeError),Qr}var en,Sa;function Fc(){return Sa||(Sa=1,en=ReferenceError),en}var tn,Aa;function ka(){return Aa||(Aa=1,tn=SyntaxError),tn}var rn,Ra;function ar(){return Ra||(Ra=1,rn=TypeError),rn}var nn,Oa;function Cc(){return Oa||(Oa=1,nn=URIError),nn}var an,Ta;function Dc(){return Ta||(Ta=1,an=Math.abs),an}var on,Ia;function jc(){return Ia||(Ia=1,on=Math.floor),on}var sn,Pa;function Mc(){return Pa||(Pa=1,sn=Math.max),sn}var fn,Fa;function Lc(){return Fa||(Fa=1,fn=Math.min),fn}var cn,Ca;function Nc(){return Ca||(Ca=1,cn=Math.pow),cn}var ln,Da;function Bc(){return Da||(Da=1,ln=Math.round),ln}var un,ja;function Uc(){return ja||(ja=1,un=Number.isNaN||function(t){return t!==t}),un}var hn,Ma;function $c(){if(Ma)return hn;Ma=1;var e=Uc();return hn=function(r){return e(r)||r===0?r:r<0?-1:1},hn}var dn,La;function zc(){return La||(La=1,dn=Object.getOwnPropertyDescriptor),dn}var pn,Na;function or(){if(Na)return pn;Na=1;var e=zc();if(e)try{e([],"length")}catch{e=null}return pn=e,pn}var yn,Ba;function sr(){if(Ba)return yn;Ba=1;var e=Object.defineProperty||!1;if(e)try{e({},"a",{value:1})}catch{e=!1}return yn=e,yn}var vn,Ua;function Zc(){return Ua||(Ua=1,vn=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var t={},r=Symbol("test"),n=Object(r);if(typeof r=="string"||Object.prototype.toString.call(r)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var i=42;t[r]=i;for(var a in t)return!1;if(typeof Object.keys=="function"&&Object.keys(t).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(t).length!==0)return!1;var o=Object.getOwnPropertySymbols(t);if(o.length!==1||o[0]!==r||!Object.prototype.propertyIsEnumerable.call(t,r))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var s=Object.getOwnPropertyDescriptor(t,r);if(s.value!==i||s.enumerable!==!0)return!1}return!0}),vn}var gn,$a;function Hc(){if($a)return gn;$a=1;var e=typeof Symbol<"u"&&Symbol,t=Zc();return gn=function(){return typeof e!="function"||typeof Symbol!="function"||typeof e("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:t()},gn}var _n,za;function Za(){return za||(za=1,_n=typeof Reflect<"u"&&Reflect.getPrototypeOf||null),_n}var wn,Ha;function qa(){if(Ha)return wn;Ha=1;var e=ba();return wn=e.getPrototypeOf||null,wn}var bn,Ka;function qc(){if(Ka)return bn;Ka=1;var e="Function.prototype.bind called on incompatible ",t=Object.prototype.toString,r=Math.max,n="[object Function]",i=function(c,f){for(var l=[],d=0;d<c.length;d+=1)l[d]=c[d];for(var h=0;h<f.length;h+=1)l[h+c.length]=f[h];return l},a=function(c,f){for(var l=[],d=f,h=0;d<c.length;d+=1,h+=1)l[h]=c[d];return l},o=function(s,c){for(var f="",l=0;l<s.length;l+=1)f+=s[l],l+1<s.length&&(f+=c);return f};return bn=function(c){var f=this;if(typeof f!="function"||t.apply(f)!==n)throw new TypeError(e+f);for(var l=a(arguments,1),d,h=function(){if(this instanceof d){var w=f.apply(this,i(l,arguments));return Object(w)===w?w:this}return f.apply(c,i(l,arguments))},u=r(0,f.length-l.length),p=[],v=0;v<u;v++)p[v]="$"+v;if(d=Function("binder","return function ("+o(p,",")+"){ return binder.apply(this,arguments); }")(h),f.prototype){var _=function(){};_.prototype=f.prototype,d.prototype=new _,_.prototype=null}return d},bn}var mn,Wa;function Ot(){if(Wa)return mn;Wa=1;var e=qc();return mn=Function.prototype.bind||e,mn}var xn,Va;function En(){return Va||(Va=1,xn=Function.prototype.call),xn}var Sn,Ga;function An(){return Ga||(Ga=1,Sn=Function.prototype.apply),Sn}var kn,Ya;function Kc(){return Ya||(Ya=1,kn=typeof Reflect<"u"&&Reflect&&Reflect.apply),kn}var Rn,Ja;function Xa(){if(Ja)return Rn;Ja=1;var e=Ot(),t=An(),r=En(),n=Kc();return Rn=n||e.call(r,t),Rn}var On,Qa;function Tn(){if(Qa)return On;Qa=1;var e=Ot(),t=ar(),r=En(),n=Xa();return On=function(a){if(a.length<1||typeof a[0]!="function")throw new t("a function is required");return n(e,r,a)},On}var In,eo;function Wc(){if(eo)return In;eo=1;var e=Tn(),t=or(),r;try{r=[].__proto__===Array.prototype}catch(o){if(!o||typeof o!="object"||!("code"in o)||o.code!=="ERR_PROTO_ACCESS")throw o}var n=!!r&&t&&t(Object.prototype,"__proto__"),i=Object,a=i.getPrototypeOf;return In=n&&typeof n.get=="function"?e([n.get]):typeof a=="function"?function(s){return a(s==null?s:i(s))}:!1,In}var Pn,to;function Vc(){if(to)return Pn;to=1;var e=Za(),t=qa(),r=Wc();return Pn=e?function(i){return e(i)}:t?function(i){if(!i||typeof i!="object"&&typeof i!="function")throw new TypeError("getProto: not an object");return t(i)}:r?function(i){return r(i)}:null,Pn}var Fn,ro;function Gc(){if(ro)return Fn;ro=1;var e=Function.prototype.call,t=Object.prototype.hasOwnProperty,r=Ot();return Fn=r.call(e,t),Fn}var Cn,no;function io(){if(no)return Cn;no=1;var e,t=ba(),r=Tc(),n=Ic(),i=Pc(),a=Fc(),o=ka(),s=ar(),c=Cc(),f=Dc(),l=jc(),d=Mc(),h=Lc(),u=Nc(),p=Bc(),v=$c(),_=Function,w=function(fe){try{return _('"use strict"; return ('+fe+").constructor;")()}catch{}},E=or(),S=sr(),g=function(){throw new s},A=E?function(){try{return arguments.callee,g}catch{try{return E(arguments,"callee").get}catch{return g}}}():g,T=Hc()(),b=Vc(),x=qa(),O=Za(),k=An(),C=En(),z={},W=typeof Uint8Array>"u"||!b?e:b(Uint8Array),te={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?e:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?e:ArrayBuffer,"%ArrayIteratorPrototype%":T&&b?b([][Symbol.iterator]()):e,"%AsyncFromSyncIteratorPrototype%":e,"%AsyncFunction%":z,"%AsyncGenerator%":z,"%AsyncGeneratorFunction%":z,"%AsyncIteratorPrototype%":z,"%Atomics%":typeof Atomics>"u"?e:Atomics,"%BigInt%":typeof BigInt>"u"?e:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?e:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?e:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?e:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":r,"%eval%":eval,"%EvalError%":n,"%Float16Array%":typeof Float16Array>"u"?e:Float16Array,"%Float32Array%":typeof Float32Array>"u"?e:Float32Array,"%Float64Array%":typeof Float64Array>"u"?e:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?e:FinalizationRegistry,"%Function%":_,"%GeneratorFunction%":z,"%Int8Array%":typeof Int8Array>"u"?e:Int8Array,"%Int16Array%":typeof Int16Array>"u"?e:Int16Array,"%Int32Array%":typeof Int32Array>"u"?e:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":T&&b?b(b([][Symbol.iterator]())):e,"%JSON%":typeof JSON=="object"?JSON:e,"%Map%":typeof Map>"u"?e:Map,"%MapIteratorPrototype%":typeof Map>"u"||!T||!b?e:b(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":t,"%Object.getOwnPropertyDescriptor%":E,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?e:Promise,"%Proxy%":typeof Proxy>"u"?e:Proxy,"%RangeError%":i,"%ReferenceError%":a,"%Reflect%":typeof Reflect>"u"?e:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?e:Set,"%SetIteratorPrototype%":typeof Set>"u"||!T||!b?e:b(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?e:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":T&&b?b(""[Symbol.iterator]()):e,"%Symbol%":T?Symbol:e,"%SyntaxError%":o,"%ThrowTypeError%":A,"%TypedArray%":W,"%TypeError%":s,"%Uint8Array%":typeof Uint8Array>"u"?e:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?e:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?e:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?e:Uint32Array,"%URIError%":c,"%WeakMap%":typeof WeakMap>"u"?e:WeakMap,"%WeakRef%":typeof WeakRef>"u"?e:WeakRef,"%WeakSet%":typeof WeakSet>"u"?e:WeakSet,"%Function.prototype.call%":C,"%Function.prototype.apply%":k,"%Object.defineProperty%":S,"%Object.getPrototypeOf%":x,"%Math.abs%":f,"%Math.floor%":l,"%Math.max%":d,"%Math.min%":h,"%Math.pow%":u,"%Math.round%":p,"%Math.sign%":v,"%Reflect.getPrototypeOf%":O};if(b)try{null.error}catch(fe){var Ue=b(b(fe));te["%Error.prototype%"]=Ue}var G=function fe(M){var q;if(M==="%AsyncFunction%")q=w("async function () {}");else if(M==="%GeneratorFunction%")q=w("function* () {}");else if(M==="%AsyncGeneratorFunction%")q=w("async function* () {}");else if(M==="%AsyncGenerator%"){var N=fe("%AsyncGeneratorFunction%");N&&(q=N.prototype)}else if(M==="%AsyncIteratorPrototype%"){var V=fe("%AsyncGenerator%");V&&b&&(q=b(V.prototype))}return te[M]=q,q},se={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},$e=Ot(),ze=Gc(),Et=$e.call(C,Array.prototype.concat),Lf=$e.call(k,Array.prototype.splice),Li=$e.call(C,String.prototype.replace),Yt=$e.call(C,String.prototype.slice),Nf=$e.call(C,RegExp.prototype.exec),Bf=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,Uf=/\\(\\)?/g,$f=function(M){var q=Yt(M,0,1),N=Yt(M,-1);if(q==="%"&&N!=="%")throw new o("invalid intrinsic syntax, expected closing `%`");if(N==="%"&&q!=="%")throw new o("invalid intrinsic syntax, expected opening `%`");var V=[];return Li(M,Bf,function(ce,ft,Y,Jt){V[V.length]=Y?Li(Jt,Uf,"$1"):ft||ce}),V},zf=function(M,q){var N=M,V;if(ze(se,N)&&(V=se[N],N="%"+V[0]+"%"),ze(te,N)){var ce=te[N];if(ce===z&&(ce=G(N)),typeof ce>"u"&&!q)throw new s("intrinsic "+M+" exists, but is not available. Please file an issue!");return{alias:V,name:N,value:ce}}throw new o("intrinsic "+M+" does not exist!")};return Cn=function(M,q){if(typeof M!="string"||M.length===0)throw new s("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof q!="boolean")throw new s('"allowMissing" argument must be a boolean');if(Nf(/^%?[^%]*%?$/,M)===null)throw new o("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var N=$f(M),V=N.length>0?N[0]:"",ce=zf("%"+V+"%",q),ft=ce.name,Y=ce.value,Jt=!1,jr=ce.alias;jr&&(V=jr[0],Lf(N,Et([0,1],jr)));for(var Xt=1,St=!0;Xt<N.length;Xt+=1){var ve=N[Xt],Qt=Yt(ve,0,1),er=Yt(ve,-1);if((Qt==='"'||Qt==="'"||Qt==="`"||er==='"'||er==="'"||er==="`")&&Qt!==er)throw new o("property names with quotes must have matching quotes");if((ve==="constructor"||!St)&&(Jt=!0),V+="."+ve,ft="%"+V+"%",ze(te,ft))Y=te[ft];else if(Y!=null){if(!(ve in Y)){if(!q)throw new s("base intrinsic for "+M+" exists, but the property is not available.");return}if(E&&Xt+1>=N.length){var tr=E(Y,ve);St=!!tr,St&&"get"in tr&&!("originalValue"in tr.get)?Y=tr.get:Y=Y[ve]}else St=ze(Y,ve),Y=Y[ve];St&&!Jt&&(te[ft]=Y)}}return Y},Cn}var Dn,ao;function Yc(){if(ao)return Dn;ao=1;var e=sr(),t=ka(),r=ar(),n=or();return Dn=function(a,o,s){if(!a||typeof a!="object"&&typeof a!="function")throw new r("`obj` must be an object or a function`");if(typeof o!="string"&&typeof o!="symbol")throw new r("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new r("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new r("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new r("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new r("`loose`, if provided, must be a boolean");var c=arguments.length>3?arguments[3]:null,f=arguments.length>4?arguments[4]:null,l=arguments.length>5?arguments[5]:null,d=arguments.length>6?arguments[6]:!1,h=!!n&&n(a,o);if(e)e(a,o,{configurable:l===null&&h?h.configurable:!l,enumerable:c===null&&h?h.enumerable:!c,value:s,writable:f===null&&h?h.writable:!f});else if(d||!c&&!f&&!l)a[o]=s;else throw new t("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")},Dn}var jn,oo;function Jc(){if(oo)return jn;oo=1;var e=sr(),t=function(){return!!e};return t.hasArrayLengthDefineBug=function(){if(!e)return null;try{return e([],"length",{value:1}).length!==1}catch{return!0}},jn=t,jn}var Mn,so;function Xc(){if(so)return Mn;so=1;var e=io(),t=Yc(),r=Jc()(),n=or(),i=ar(),a=e("%Math.floor%");return Mn=function(s,c){if(typeof s!="function")throw new i("`fn` is not a function");if(typeof c!="number"||c<0||c>4294967295||a(c)!==c)throw new i("`length` must be a positive 32-bit integer");var f=arguments.length>2&&!!arguments[2],l=!0,d=!0;if("length"in s&&n){var h=n(s,"length");h&&!h.configurable&&(l=!1),h&&!h.writable&&(d=!1)}return(l||d||!f)&&(r?t(s,"length",c,!0,!0):t(s,"length",c)),s},Mn}var Ln,fo;function Qc(){if(fo)return Ln;fo=1;var e=Ot(),t=An(),r=Xa();return Ln=function(){return r(e,t,arguments)},Ln}var co;function el(){return co||(co=1,function(e){var t=Xc(),r=sr(),n=Tn(),i=Qc();e.exports=function(o){var s=n(arguments),c=o.length-(arguments.length-1);return t(s,1+(c>0?c:0),!0)},r?r(e.exports,"apply",{value:i}):e.exports.apply=i}(Gr)),Gr.exports}var Nn,lo;function tl(){if(lo)return Nn;lo=1;var e=io(),t=Tn(),r=t([e("%String.prototype.indexOf%")]);return Nn=function(i,a){var o=e(i,!!a);return typeof o=="function"&&r(i,".prototype.")>-1?t([o]):o},Nn}var Bn,uo;function rl(){if(uo)return Bn;uo=1;var e=(typeof JSON<"u"?JSON:Ac()).stringify,t=kc(),r=Oc(),n=el(),i=tl(),a=i("Array.prototype.join"),o=i("Array.prototype.indexOf"),s=i("Array.prototype.splice"),c=i("Array.prototype.sort"),f=function(h,u){for(var p="",v=0;v<h;v+=1)p+=u;return p},l=function(d,h,u){return u};return Bn=function(h){var u=arguments.length>1?arguments[1]:void 0,p=u&&u.space||"";typeof p=="number"&&(p=f(p," "));var v=!!u&&typeof u.cycles=="boolean"&&u.cycles,_=u&&u.replacer?n(u.replacer):l;if(u&&typeof u.collapseEmpty<"u"&&typeof u.collapseEmpty!="boolean")throw new TypeError("`collapseEmpty` must be a boolean, if provided");var w=!!u&&u.collapseEmpty,E=typeof u=="function"?u:u&&u.cmp,S=E&&function(A){var T=E.length>2&&function(x){return A[x]};return function(b,x){return E({key:b,value:A[b]},{key:x,value:A[x]},T?{__proto__:null,get:T}:void 0)}},g=[];return function A(T,b,x,O){var k=p?`
15
+ `+f(O,p):"",C=p?": ":":";if(x&&x.toJSON&&typeof x.toJSON=="function"&&(x=x.toJSON()),x=_(T,b,x),x!==void 0){if(typeof x!="object"||x===null)return e(x);var z=function(ze,Et){return w&&ze.length===0?Et:(Et==="[]"?"[":"{")+a(ze,",")+k+(Et==="[]"?"]":"}")};if(t(x)){for(var G=[],W=0;W<x.length;W++){var te=A(x,W,x[W],O+1)||e(null);G[G.length]=k+p+te}return z(G,"[]")}if(o(g,x)!==-1){if(v)return e("__cycle__");throw new TypeError("Converting circular structure to JSON")}else g[g.length]=x;for(var Ue=c(r(x),S&&S(x)),G=[],W=0;W<Ue.length;W++){var b=Ue[W],se=A(x,b,x[b],O+1);if(se){var $e=e(b)+C+se;G[G.length]=k+p+$e}}return s(g,o(g,x),1),z(G,"{}")}}({"":h},"",h,0)},Bn}var nl=rl(),ho=xc(nl);async function Un(e,t,r){if(!this.passphrase)return t.push({actual:e,type:"encryptionKeyMissing"}),e;try{return await zr(String(e),this.passphrase)}catch(n){t.push({actual:e,type:"encryptionProblem",error:n})}return e}class po extends rc{constructor({options:t,passphrase:r,autoEncrypt:n=!0}={}){super(At({},{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=n,this.alias("secret",{type:"string",custom:this.autoEncrypt?Un: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?Un:void 0}),this.alias("secretNumber",{type:"number",custom:this.autoEncrypt?Un:void 0})}}const yo=new Proxy(po,{instance:null,construct(e,t){return this.instance||(this.instance=new e(...t)),this.instance}}),vo={trim:e=>e.trim(),encrypt:(e,{passphrase:t})=>zr(e,t),decrypt:(e,{passphrase:t})=>ca(e,t),toString:e=>String(e),fromArray:(e,{separator:t})=>e==null||!Array.isArray(e)?e:e.length===0?"[]":e.map(n=>typeof n=="string"?n.replace(/\\/g,"\\\\").replace(new RegExp(`\\${t}`,"g"),`\\${t}`):String(n)).join(t),toArray:(e,{separator:t})=>{if(e==null)return e;if(e==="[]")return[];if(e==="")return[];const r=[];let n="",i=0;const a=String(e);for(;i<a.length;)a[i]==="\\"&&i+1<a.length?a[i+1]===t?(n+=t,i+=2):a[i+1]==="\\"?(n+="\\",i+=2):(n+=a[i],i++):a[i]===t?(r.push(n),n="",i++):(n+=a[i],i++);return r.push(n),r},toJSON:e=>JSON.stringify(e),fromJSON:e=>JSON.parse(e),toNumber:e=>$i(e)?e.includes(".")?parseFloat(e):parseInt(e):e,toBool:e=>[!0,1,"true","1","yes","y"].includes(e),fromBool:e=>[!0,1,"true","1","yes","y"].includes(e)?"1":"0"};class Be{constructor(t){const{map:r,name:n,attributes:i,passphrase:a,version:o=1,options:s={}}=t;this.name=n,this.version=o,this.attributes=i||{},this.passphrase=a??"secret",this.options=At({},this.defaultOptions(),s),this.allNestedObjectsOptional=this.options.allNestedObjectsOptional??!1;const c=this.preprocessAttributesForValidation(this.attributes);if(this.validator=new yo({autoEncrypt:!1}).compile(At({$$async:!0},c)),this.options.generateAutoHooks&&this.generateAutoHooks(),!Bi(r))this.map=r,this.reversedMap=Ui(r);else{const f=Mr(this.attributes,{safe:!0}),l=Object.keys(f).filter(u=>!u.includes("$$")),d=this.extractObjectKeys(this.attributes),h=[...new Set([...l,...d])];this.reversedMap={...h},this.map=Ui(this.reversedMap)}}defaultOptions(){return{autoEncrypt:!0,autoDecrypt:!0,arraySeparator:"|",generateAutoHooks:!0,hooks:{beforeMap:{},afterMap:{},beforeUnmap:{},afterUnmap:{}}}}addHook(t,r,n){this.options.hooks[t][r]||(this.options.hooks[t][r]=[]),this.options.hooks[t][r]=qf([...this.options.hooks[t][r],n])}extractObjectKeys(t,r=""){const n=[];for(const[i,a]of Object.entries(t)){if(i.startsWith("$$"))continue;const o=r?`${r}.${i}`:i;typeof a=="object"&&a!==null&&!Array.isArray(a)&&(n.push(o),a.$$type==="object"&&n.push(...this.extractObjectKeys(a,o)))}return n}generateAutoHooks(){const t=Mr(kt(this.attributes),{safe:!0});for(const[r,n]of Object.entries(t))n.includes("array")?(this.addHook("beforeMap",r,"fromArray"),this.addHook("afterUnmap",r,"toArray")):(n.includes("secret")&&(this.options.autoEncrypt&&this.addHook("beforeMap",r,"encrypt"),this.options.autoDecrypt&&this.addHook("afterUnmap",r,"decrypt")),n.includes("number")&&(this.addHook("beforeMap",r,"toString"),this.addHook("afterUnmap",r,"toNumber")),n.includes("boolean")&&(this.addHook("beforeMap",r,"fromBool"),this.addHook("afterUnmap",r,"toBool")))}static import(t){let{map:r,name:n,options:i,version:a,attributes:o}=$i(t)?JSON.parse(t):t;return o=Be._importAttributes(o),new Be({map:r,name:n,options:i,version:a,attributes:o})}static _importAttributes(t){if(typeof t=="string"){try{const r=JSON.parse(t);if(typeof r=="object"&&r!==null)return Be._importAttributes(r)}catch{}return t}if(Array.isArray(t))return t.map(r=>Be._importAttributes(r));if(typeof t=="object"&&t!==null){const r={};for(const[n,i]of Object.entries(t))r[n]=Be._importAttributes(i);return r}return t}export(){return{version:this.version,name:this.name,options:this.options,attributes:this._exportAttributes(this.attributes),map:this.map}}_exportAttributes(t){if(typeof t=="string")return t;if(Array.isArray(t))return t.map(r=>this._exportAttributes(r));if(typeof t=="object"&&t!==null){const r={};for(const[n,i]of Object.entries(t))r[n]=this._exportAttributes(i);return r}return t}async applyHooksActions(t,r){for(const[n,i]of Object.entries(this.options.hooks[r]))for(const a of i){const o=Kf(t,n);o!==void 0&&typeof vo[a]=="function"&&Wf(t,n,await vo[a](o,{passphrase:this.passphrase,separator:this.options.arraySeparator}))}}async validate(t,{mutateOriginal:r=!1}={}){let n=r?t:kt(t);return await this.validator(n)}async mapper(t){const r=Mr(kt(t),{safe:!0});await this.applyHooksActions(r,"beforeMap");const n={_v:this.version+""};for(const[i,a]of Object.entries(r))n[this.map[i]]=a;return await this.applyHooksActions(n,"afterMap"),n}async unmapper(t){const r=kt(t);delete r._v,await this.applyHooksActions(r,"beforeUnmap");const n={};for(const[i,a]of Object.entries(r))n[this.reversedMap[i]]=a;return await this.applyHooksActions(n,"afterUnmap"),tc(n)}preprocessAttributesForValidation(t){const r={};for(const[n,i]of Object.entries(t))if(typeof i=="object"&&i!==null&&!Array.isArray(i)){const a=i.$$type&&i.$$type.includes("required"),o=i.$$type&&i.$$type.includes("optional"),s={type:"object",properties:this.preprocessAttributesForValidation(i),strict:!1};a||(o||this.allNestedObjectsOptional)&&(s.optional=!0),r[n]=s}else r[n]=i;return r}}var lt=typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{},he=[],re=[],il=typeof Uint8Array<"u"?Uint8Array:Array,$n=!1;function go(){$n=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0,r=e.length;t<r;++t)he[t]=e[t],re[e.charCodeAt(t)]=t;re[45]=62,re[95]=63}function al(e){$n||go();var t,r,n,i,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 il(s*3/4-a),n=a>0?s-4:s;var c=0;for(t=0,r=0;t<n;t+=4,r+=3)i=re[e.charCodeAt(t)]<<18|re[e.charCodeAt(t+1)]<<12|re[e.charCodeAt(t+2)]<<6|re[e.charCodeAt(t+3)],o[c++]=i>>16&255,o[c++]=i>>8&255,o[c++]=i&255;return a===2?(i=re[e.charCodeAt(t)]<<2|re[e.charCodeAt(t+1)]>>4,o[c++]=i&255):a===1&&(i=re[e.charCodeAt(t)]<<10|re[e.charCodeAt(t+1)]<<4|re[e.charCodeAt(t+2)]>>2,o[c++]=i>>8&255,o[c++]=i&255),o}function ol(e){return he[e>>18&63]+he[e>>12&63]+he[e>>6&63]+he[e&63]}function sl(e,t,r){for(var n,i=[],a=t;a<r;a+=3)n=(e[a]<<16)+(e[a+1]<<8)+e[a+2],i.push(ol(n));return i.join("")}function _o(e){$n||go();for(var t,r=e.length,n=r%3,i="",a=[],o=16383,s=0,c=r-n;s<c;s+=o)a.push(sl(e,s,s+o>c?c:s+o));return n===1?(t=e[r-1],i+=he[t>>2],i+=he[t<<4&63],i+="=="):n===2&&(t=(e[r-2]<<8)+e[r-1],i+=he[t>>10],i+=he[t>>4&63],i+=he[t<<2&63],i+="="),a.push(i),a.join("")}function fr(e,t,r,n,i){var a,o,s=i*8-n-1,c=(1<<s)-1,f=c>>1,l=-7,d=r?i-1:0,h=r?-1:1,u=e[t+d];for(d+=h,a=u&(1<<-l)-1,u>>=-l,l+=s;l>0;a=a*256+e[t+d],d+=h,l-=8);for(o=a&(1<<-l)-1,a>>=-l,l+=n;l>0;o=o*256+e[t+d],d+=h,l-=8);if(a===0)a=1-f;else{if(a===c)return o?NaN:(u?-1:1)*(1/0);o=o+Math.pow(2,n),a=a-f}return(u?-1:1)*o*Math.pow(2,a-n)}function wo(e,t,r,n,i,a){var o,s,c,f=a*8-i-1,l=(1<<f)-1,d=l>>1,h=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,u=n?0:a-1,p=n?1:-1,v=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*(c=Math.pow(2,-o))<1&&(o--,c*=2),o+d>=1?t+=h/c:t+=h*Math.pow(2,1-d),t*c>=2&&(o++,c/=2),o+d>=l?(s=0,o=l):o+d>=1?(s=(t*c-1)*Math.pow(2,i),o=o+d):(s=t*Math.pow(2,d-1)*Math.pow(2,i),o=0));i>=8;e[r+u]=s&255,u+=p,s/=256,i-=8);for(o=o<<i|s,f+=i;f>0;e[r+u]=o&255,u+=p,o/=256,f-=8);e[r+u-p]|=v*128}var fl={}.toString,bo=Array.isArray||function(e){return fl.call(e)=="[object Array]"};/*!
16
16
  * The buffer module from node.js, for the browser.
17
17
  *
18
18
  * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
19
19
  * @license MIT
20
- */var cl=50;y.TYPED_ARRAY_SUPPORT=lt.TYPED_ARRAY_SUPPORT!==void 0?lt.TYPED_ARRAY_SUPPORT:!0,cr();function cr(){return y.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function _e(e,t){if(cr()<t)throw new RangeError("Invalid typed array length");return y.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t),e.__proto__=y.prototype):(e===null&&(e=new y(t)),e.length=t),e}function y(e,t,r){if(!y.TYPED_ARRAY_SUPPORT&&!(this instanceof y))return new y(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 zn(this,e)}return mo(this,e,t,r)}y.poolSize=8192,y._augment=function(e){return e.__proto__=y.prototype,e};function mo(e,t,r,n){if(typeof t=="number")throw new TypeError('"value" argument must not be a number');return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer?hl(e,t,r,n):typeof t=="string"?ul(e,t,r):dl(e,t)}y.from=function(e,t,r){return mo(null,e,t,r)},y.TYPED_ARRAY_SUPPORT&&(y.prototype.__proto__=Uint8Array.prototype,y.__proto__=Uint8Array,typeof Symbol<"u"&&Symbol.species&&y[Symbol.species]);function xo(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 ll(e,t,r,n){return xo(t),t<=0?_e(e,t):r!==void 0?typeof n=="string"?_e(e,t).fill(r,n):_e(e,t).fill(r):_e(e,t)}y.alloc=function(e,t,r){return ll(null,e,t,r)};function zn(e,t){if(xo(t),e=_e(e,t<0?0:Hn(t)|0),!y.TYPED_ARRAY_SUPPORT)for(var r=0;r<t;++r)e[r]=0;return e}y.allocUnsafe=function(e){return zn(null,e)},y.allocUnsafeSlow=function(e){return zn(null,e)};function ul(e,t,r){if((typeof r!="string"||r==="")&&(r="utf8"),!y.isEncoding(r))throw new TypeError('"encoding" must be a valid string encoding');var n=Eo(t,r)|0;e=_e(e,n);var i=e.write(t,r);return i!==n&&(e=e.slice(0,i)),e}function Zn(e,t){var r=t.length<0?0:Hn(t.length)|0;e=_e(e,r);for(var n=0;n<r;n+=1)e[n]=t[n]&255;return e}function hl(e,t,r,n){if(t.byteLength,r<0||t.byteLength<r)throw new RangeError("'offset' is out of bounds");if(t.byteLength<r+(n||0))throw new RangeError("'length' is out of bounds");return r===void 0&&n===void 0?t=new Uint8Array(t):n===void 0?t=new Uint8Array(t,r):t=new Uint8Array(t,r,n),y.TYPED_ARRAY_SUPPORT?(e=t,e.__proto__=y.prototype):e=Zn(e,t),e}function dl(e,t){if(de(t)){var r=Hn(t.length)|0;return e=_e(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"||Fl(t.length)?_e(e,0):Zn(e,t);if(t.type==="Buffer"&&bo(t.data))return Zn(e,t.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function Hn(e){if(e>=cr())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+cr().toString(16)+" bytes");return e|0}y.isBuffer=Cl;function de(e){return!!(e!=null&&e._isBuffer)}y.compare=function(t,r){if(!de(t)||!de(r))throw new TypeError("Arguments must be Buffers");if(t===r)return 0;for(var n=t.length,i=r.length,a=0,o=Math.min(n,i);a<o;++a)if(t[a]!==r[a]){n=t[a],i=r[a];break}return n<i?-1:i<n?1:0},y.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}},y.concat=function(t,r){if(!bo(t))throw new TypeError('"list" argument must be an Array of Buffers');if(t.length===0)return y.alloc(0);var n;if(r===void 0)for(r=0,n=0;n<t.length;++n)r+=t[n].length;var i=y.allocUnsafe(r),a=0;for(n=0;n<t.length;++n){var o=t[n];if(!de(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(i,a),a+=o.length}return i};function Eo(e,t){if(de(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 n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return hr(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return Fo(e).length;default:if(n)return hr(e).length;t=(""+t).toLowerCase(),n=!0}}y.byteLength=Eo;function pl(e,t,r){var n=!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 Sl(this,t,r);case"utf8":case"utf-8":return Ro(this,t,r);case"ascii":return xl(this,t,r);case"latin1":case"binary":return El(this,t,r);case"base64":return bl(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Al(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}y.prototype._isBuffer=!0;function Ze(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}y.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)Ze(this,r,r+1);return this},y.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)Ze(this,r,r+3),Ze(this,r+1,r+2);return this},y.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)Ze(this,r,r+7),Ze(this,r+1,r+6),Ze(this,r+2,r+5),Ze(this,r+3,r+4);return this},y.prototype.toString=function(){var t=this.length|0;return t===0?"":arguments.length===0?Ro(this,0,t):pl.apply(this,arguments)},y.prototype.equals=function(t){if(!de(t))throw new TypeError("Argument must be a Buffer");return this===t?!0:y.compare(this,t)===0},y.prototype.inspect=function(){var t="",r=cl;return this.length>0&&(t=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(t+=" ... ")),"<Buffer "+t+">"},y.prototype.compare=function(t,r,n,i,a){if(!de(t))throw new TypeError("Argument must be a Buffer");if(r===void 0&&(r=0),n===void 0&&(n=t?t.length:0),i===void 0&&(i=0),a===void 0&&(a=this.length),r<0||n>t.length||i<0||a>this.length)throw new RangeError("out of range index");if(i>=a&&r>=n)return 0;if(i>=a)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,i>>>=0,a>>>=0,this===t)return 0;for(var o=a-i,s=n-r,c=Math.min(o,s),f=this.slice(i,a),l=t.slice(r,n),d=0;d<c;++d)if(f[d]!==l[d]){o=f[d],s=l[d];break}return o<s?-1:s<o?1:0};function So(e,t,r,n,i){if(e.length===0)return-1;if(typeof r=="string"?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t=="string"&&(t=y.from(t,n)),de(t))return t.length===0?-1:Ao(e,t,r,n,i);if(typeof t=="number")return t=t&255,y.TYPED_ARRAY_SUPPORT&&typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):Ao(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function Ao(e,t,r,n,i){var a=1,o=e.length,s=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;a=2,o/=2,s/=2,r/=2}function c(u,p){return a===1?u[p]:u.readUInt16BE(p*a)}var f;if(i){var l=-1;for(f=r;f<o;f++)if(c(e,f)===c(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,h=0;h<s;h++)if(c(e,f+h)!==c(t,h)){d=!1;break}if(d)return f}return-1}y.prototype.includes=function(t,r,n){return this.indexOf(t,r,n)!==-1},y.prototype.indexOf=function(t,r,n){return So(this,t,r,n,!0)},y.prototype.lastIndexOf=function(t,r,n){return So(this,t,r,n,!1)};function yl(e,t,r,n){r=Number(r)||0;var i=e.length-r;n?(n=Number(n),n>i&&(n=i)):n=i;var a=t.length;if(a%2!==0)throw new TypeError("Invalid hex string");n>a/2&&(n=a/2);for(var o=0;o<n;++o){var s=parseInt(t.substr(o*2,2),16);if(isNaN(s))return o;e[r+o]=s}return o}function vl(e,t,r,n){return dr(hr(t,e.length-r),e,r,n)}function ko(e,t,r,n){return dr(Il(t),e,r,n)}function gl(e,t,r,n){return ko(e,t,r,n)}function _l(e,t,r,n){return dr(Fo(t),e,r,n)}function wl(e,t,r,n){return dr(Pl(t,e.length-r),e,r,n)}y.prototype.write=function(t,r,n,i){if(r===void 0)i="utf8",n=this.length,r=0;else if(n===void 0&&typeof r=="string")i=r,n=this.length,r=0;else if(isFinite(r))r=r|0,isFinite(n)?(n=n|0,i===void 0&&(i="utf8")):(i=n,n=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var a=this.length-r;if((n===void 0||n>a)&&(n=a),t.length>0&&(n<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return yl(this,t,r,n);case"utf8":case"utf-8":return vl(this,t,r,n);case"ascii":return ko(this,t,r,n);case"latin1":case"binary":return gl(this,t,r,n);case"base64":return _l(this,t,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return wl(this,t,r,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},y.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function bl(e,t,r){return t===0&&r===e.length?_o(e):_o(e.slice(t,r))}function Ro(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i<r;){var a=e[i],o=null,s=a>239?4:a>223?3:a>191?2:1;if(i+s<=r){var c,f,l,d;switch(s){case 1:a<128&&(o=a);break;case 2:c=e[i+1],(c&192)===128&&(d=(a&31)<<6|c&63,d>127&&(o=d));break;case 3:c=e[i+1],f=e[i+2],(c&192)===128&&(f&192)===128&&(d=(a&15)<<12|(c&63)<<6|f&63,d>2047&&(d<55296||d>57343)&&(o=d));break;case 4:c=e[i+1],f=e[i+2],l=e[i+3],(c&192)===128&&(f&192)===128&&(l&192)===128&&(d=(a&15)<<18|(c&63)<<12|(f&63)<<6|l&63,d>65535&&d<1114112&&(o=d))}}o===null?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),i+=s}return ml(n)}var Oo=4096;function ml(e){var t=e.length;if(t<=Oo)return String.fromCharCode.apply(String,e);for(var r="",n=0;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=Oo));return r}function xl(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;i<r;++i)n+=String.fromCharCode(e[i]&127);return n}function El(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;i<r;++i)n+=String.fromCharCode(e[i]);return n}function Sl(e,t,r){var n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);for(var i="",a=t;a<r;++a)i+=Tl(e[a]);return i}function Al(e,t,r){for(var n=e.slice(t,r),i="",a=0;a<n.length;a+=2)i+=String.fromCharCode(n[a]+n[a+1]*256);return i}y.prototype.slice=function(t,r){var n=this.length;t=~~t,r=r===void 0?n:~~r,t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),r<t&&(r=t);var i;if(y.TYPED_ARRAY_SUPPORT)i=this.subarray(t,r),i.__proto__=y.prototype;else{var a=r-t;i=new y(a,void 0);for(var o=0;o<a;++o)i[o]=this[o+t]}return i};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")}y.prototype.readUIntLE=function(t,r,n){t=t|0,r=r|0,n||U(t,r,this.length);for(var i=this[t],a=1,o=0;++o<r&&(a*=256);)i+=this[t+o]*a;return i},y.prototype.readUIntBE=function(t,r,n){t=t|0,r=r|0,n||U(t,r,this.length);for(var i=this[t+--r],a=1;r>0&&(a*=256);)i+=this[t+--r]*a;return i},y.prototype.readUInt8=function(t,r){return r||U(t,1,this.length),this[t]},y.prototype.readUInt16LE=function(t,r){return r||U(t,2,this.length),this[t]|this[t+1]<<8},y.prototype.readUInt16BE=function(t,r){return r||U(t,2,this.length),this[t]<<8|this[t+1]},y.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},y.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])},y.prototype.readIntLE=function(t,r,n){t=t|0,r=r|0,n||U(t,r,this.length);for(var i=this[t],a=1,o=0;++o<r&&(a*=256);)i+=this[t+o]*a;return a*=128,i>=a&&(i-=Math.pow(2,8*r)),i},y.prototype.readIntBE=function(t,r,n){t=t|0,r=r|0,n||U(t,r,this.length);for(var i=r,a=1,o=this[t+--i];i>0&&(a*=256);)o+=this[t+--i]*a;return a*=128,o>=a&&(o-=Math.pow(2,8*r)),o},y.prototype.readInt8=function(t,r){return r||U(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]},y.prototype.readInt16LE=function(t,r){r||U(t,2,this.length);var n=this[t]|this[t+1]<<8;return n&32768?n|4294901760:n},y.prototype.readInt16BE=function(t,r){r||U(t,2,this.length);var n=this[t+1]|this[t]<<8;return n&32768?n|4294901760:n},y.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},y.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]},y.prototype.readFloatLE=function(t,r){return r||U(t,4,this.length),fr(this,t,!0,23,4)},y.prototype.readFloatBE=function(t,r){return r||U(t,4,this.length),fr(this,t,!1,23,4)},y.prototype.readDoubleLE=function(t,r){return r||U(t,8,this.length),fr(this,t,!0,52,8)},y.prototype.readDoubleBE=function(t,r){return r||U(t,8,this.length),fr(this,t,!1,52,8)};function J(e,t,r,n,i,a){if(!de(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<a)throw new RangeError('"value" argument is out of bounds');if(r+n>e.length)throw new RangeError("Index out of range")}y.prototype.writeUIntLE=function(t,r,n,i){if(t=+t,r=r|0,n=n|0,!i){var a=Math.pow(2,8*n)-1;J(this,t,r,n,a,0)}var o=1,s=0;for(this[r]=t&255;++s<n&&(o*=256);)this[r+s]=t/o&255;return r+n},y.prototype.writeUIntBE=function(t,r,n,i){if(t=+t,r=r|0,n=n|0,!i){var a=Math.pow(2,8*n)-1;J(this,t,r,n,a,0)}var o=n-1,s=1;for(this[r+o]=t&255;--o>=0&&(s*=256);)this[r+o]=t/s&255;return r+n},y.prototype.writeUInt8=function(t,r,n){return t=+t,r=r|0,n||J(this,t,r,1,255,0),y.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[r]=t&255,r+1};function lr(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,a=Math.min(e.length-r,2);i<a;++i)e[r+i]=(t&255<<8*(n?i:1-i))>>>(n?i:1-i)*8}y.prototype.writeUInt16LE=function(t,r,n){return t=+t,r=r|0,n||J(this,t,r,2,65535,0),y.TYPED_ARRAY_SUPPORT?(this[r]=t&255,this[r+1]=t>>>8):lr(this,t,r,!0),r+2},y.prototype.writeUInt16BE=function(t,r,n){return t=+t,r=r|0,n||J(this,t,r,2,65535,0),y.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=t&255):lr(this,t,r,!1),r+2};function ur(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,a=Math.min(e.length-r,4);i<a;++i)e[r+i]=t>>>(n?i:3-i)*8&255}y.prototype.writeUInt32LE=function(t,r,n){return t=+t,r=r|0,n||J(this,t,r,4,4294967295,0),y.TYPED_ARRAY_SUPPORT?(this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255):ur(this,t,r,!0),r+4},y.prototype.writeUInt32BE=function(t,r,n){return t=+t,r=r|0,n||J(this,t,r,4,4294967295,0),y.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255):ur(this,t,r,!1),r+4},y.prototype.writeIntLE=function(t,r,n,i){if(t=+t,r=r|0,!i){var a=Math.pow(2,8*n-1);J(this,t,r,n,a-1,-a)}var o=0,s=1,c=0;for(this[r]=t&255;++o<n&&(s*=256);)t<0&&c===0&&this[r+o-1]!==0&&(c=1),this[r+o]=(t/s>>0)-c&255;return r+n},y.prototype.writeIntBE=function(t,r,n,i){if(t=+t,r=r|0,!i){var a=Math.pow(2,8*n-1);J(this,t,r,n,a-1,-a)}var o=n-1,s=1,c=0;for(this[r+o]=t&255;--o>=0&&(s*=256);)t<0&&c===0&&this[r+o+1]!==0&&(c=1),this[r+o]=(t/s>>0)-c&255;return r+n},y.prototype.writeInt8=function(t,r,n){return t=+t,r=r|0,n||J(this,t,r,1,127,-128),y.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[r]=t&255,r+1},y.prototype.writeInt16LE=function(t,r,n){return t=+t,r=r|0,n||J(this,t,r,2,32767,-32768),y.TYPED_ARRAY_SUPPORT?(this[r]=t&255,this[r+1]=t>>>8):lr(this,t,r,!0),r+2},y.prototype.writeInt16BE=function(t,r,n){return t=+t,r=r|0,n||J(this,t,r,2,32767,-32768),y.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=t&255):lr(this,t,r,!1),r+2},y.prototype.writeInt32LE=function(t,r,n){return t=+t,r=r|0,n||J(this,t,r,4,2147483647,-2147483648),y.TYPED_ARRAY_SUPPORT?(this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24):ur(this,t,r,!0),r+4},y.prototype.writeInt32BE=function(t,r,n){return t=+t,r=r|0,n||J(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),y.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255):ur(this,t,r,!1),r+4};function To(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function Io(e,t,r,n,i){return i||To(e,t,r,4),wo(e,t,r,n,23,4),r+4}y.prototype.writeFloatLE=function(t,r,n){return Io(this,t,r,!0,n)},y.prototype.writeFloatBE=function(t,r,n){return Io(this,t,r,!1,n)};function Po(e,t,r,n,i){return i||To(e,t,r,8),wo(e,t,r,n,52,8),r+8}y.prototype.writeDoubleLE=function(t,r,n){return Po(this,t,r,!0,n)},y.prototype.writeDoubleBE=function(t,r,n){return Po(this,t,r,!1,n)},y.prototype.copy=function(t,r,n,i){if(n||(n=0),!i&&i!==0&&(i=this.length),r>=t.length&&(r=t.length),r||(r=0),i>0&&i<n&&(i=n),i===n||t.length===0||this.length===0)return 0;if(r<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-r<i-n&&(i=t.length-r+n);var a=i-n,o;if(this===t&&n<r&&r<i)for(o=a-1;o>=0;--o)t[o+r]=this[o+n];else if(a<1e3||!y.TYPED_ARRAY_SUPPORT)for(o=0;o<a;++o)t[o+r]=this[o+n];else Uint8Array.prototype.set.call(t,this.subarray(n,n+a),r);return a},y.prototype.fill=function(t,r,n,i){if(typeof t=="string"){if(typeof r=="string"?(i=r,r=0,n=this.length):typeof n=="string"&&(i=n,n=this.length),t.length===1){var a=t.charCodeAt(0);a<256&&(t=a)}if(i!==void 0&&typeof i!="string")throw new TypeError("encoding must be a string");if(typeof i=="string"&&!y.isEncoding(i))throw new TypeError("Unknown encoding: "+i)}else typeof t=="number"&&(t=t&255);if(r<0||this.length<r||this.length<n)throw new RangeError("Out of range index");if(n<=r)return this;r=r>>>0,n=n===void 0?this.length:n>>>0,t||(t=0);var o;if(typeof t=="number")for(o=r;o<n;++o)this[o]=t;else{var s=de(t)?t:hr(new y(t,i).toString()),c=s.length;for(o=0;o<n-r;++o)this[o+r]=s[o%c]}return this};var kl=/[^+\/0-9A-Za-z-_]/g;function Rl(e){if(e=Ol(e).replace(kl,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function Ol(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function Tl(e){return e<16?"0"+e.toString(16):e.toString(16)}function hr(e,t){t=t||1/0;for(var r,n=e.length,i=null,a=[],o=0;o<n;++o){if(r=e.charCodeAt(o),r>55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}else if(o+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=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 Il(e){for(var t=[],r=0;r<e.length;++r)t.push(e.charCodeAt(r)&255);return t}function Pl(e,t){for(var r,n,i,a=[],o=0;o<e.length&&!((t-=2)<0);++o)r=e.charCodeAt(o),n=r>>8,i=r%256,a.push(i),a.push(n);return a}function Fo(e){return al(Rl(e))}function dr(e,t,r,n){for(var i=0;i<n&&!(i+r>=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function Fl(e){return e!==e}function Cl(e){return e!=null&&(!!e._isBuffer||Co(e)||Dl(e))}function Co(e){return!!e.constructor&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e)}function Dl(e){return typeof e.readFloatLE=="function"&&typeof e.slice=="function"&&Co(e.slice(0,0))}function Do(){throw new Error("setTimeout has not been defined")}function Mo(){throw new Error("clearTimeout has not been defined")}var Re=Do,Oe=Mo;typeof lt.setTimeout=="function"&&(Re=setTimeout),typeof lt.clearTimeout=="function"&&(Oe=clearTimeout);function jo(e){if(Re===setTimeout)return setTimeout(e,0);if((Re===Do||!Re)&&setTimeout)return Re=setTimeout,setTimeout(e,0);try{return Re(e,0)}catch{try{return Re.call(null,e,0)}catch{return Re.call(this,e,0)}}}function Ml(e){if(Oe===clearTimeout)return clearTimeout(e);if((Oe===Mo||!Oe)&&clearTimeout)return Oe=clearTimeout,clearTimeout(e);try{return Oe(e)}catch{try{return Oe.call(null,e)}catch{return Oe.call(this,e)}}}var we=[],ut=!1,He,pr=-1;function jl(){!ut||!He||(ut=!1,He.length?we=He.concat(we):pr=-1,we.length&&Lo())}function Lo(){if(!ut){var e=jo(jl);ut=!0;for(var t=we.length;t;){for(He=we,we=[];++pr<t;)He&&He[pr].run();pr=-1,t=we.length}He=null,ut=!1,Ml(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];we.push(new No(e,t)),we.length===1&&!ut&&jo(Lo)}function No(e,t){this.fun=e,this.array=t}No.prototype.run=function(){this.fun.apply(null,this.array)};var Ll="browser",Nl="browser",Bl=!0,Ul={},$l=[],zl="",Zl={},Hl={},ql={};function qe(){}var Kl=qe,Wl=qe,Vl=qe,Gl=qe,Yl=qe,Jl=qe,Xl=qe;function Ql(e){throw new Error("process.binding is not supported")}function eu(){return"/"}function tu(e){throw new Error("process.chdir is not supported")}function ru(){return 0}var ht=lt.performance||{},nu=ht.now||ht.mozNow||ht.msNow||ht.oNow||ht.webkitNow||function(){return new Date().getTime()};function iu(e){var t=nu.call(ht)*.001,r=Math.floor(t),n=Math.floor(t%1*1e9);return e&&(r=r-e[0],n=n-e[1],n<0&&(r--,n+=1e9)),[r,n]}var au=new Date;function ou(){var e=new Date,t=e-au;return t/1e3}var be={nextTick:Q,title:Ll,browser:Bl,env:Ul,argv:$l,version:zl,versions:Zl,on:Kl,addListener:Wl,once:Vl,off:Gl,removeListener:Yl,removeAllListeners:Jl,emit:Xl,binding:Ql,cwd:eu,chdir:tu,umask:ru,hrtime:iu,platform:Nl,release:Hl,config:ql,uptime:ou},K;typeof Object.create=="function"?K=function(t,r){t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:K=function(t,r){t.super_=r;var n=function(){};n.prototype=r.prototype,t.prototype=new n,t.prototype.constructor=t};var su=/%[sdj%]/g;function fu(e){if(!Gn(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(Te(arguments[r]));return t.join(" ")}for(var r=1,n=arguments,i=n.length,a=String(e).replace(su,function(s){if(s==="%%")return"%";if(r>=i)return s;switch(s){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch{return"[Circular]"}default:return s}}),o=n[r];r<i;o=n[++r])Vn(o)||!Tt(o)?a+=" "+o:a+=" "+Te(o);return a}function Bo(e,t){if(Ie(lt.process))return function(){return Bo(e,t).apply(this,arguments)};if(be.noDeprecation===!0)return e;var r=!1;function n(){if(!r){if(be.throwDeprecation)throw new Error(t);be.traceDeprecation?console.trace(t):console.error(t),r=!0}return e.apply(this,arguments)}return n}var yr={},qn;function cu(e){if(Ie(qn)&&(qn=be.env.NODE_DEBUG||""),e=e.toUpperCase(),!yr[e])if(new RegExp("\\b"+e+"\\b","i").test(qn)){var t=0;yr[e]=function(){var r=fu.apply(null,arguments);console.error("%s %d: %s",e,t,r)}}else yr[e]=function(){};return yr[e]}function Te(e,t){var r={seen:[],stylize:uu};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),Uo(t)?r.showHidden=t:t&&_u(r,t),Ie(r.showHidden)&&(r.showHidden=!1),Ie(r.depth)&&(r.depth=2),Ie(r.colors)&&(r.colors=!1),Ie(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=lu),vr(r,e,r.depth)}Te.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]},Te.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function lu(e,t){var r=Te.styles[t];return r?"\x1B["+Te.colors[r][0]+"m"+e+"\x1B["+Te.colors[r][1]+"m":e}function uu(e,t){return e}function hu(e){var t={};return e.forEach(function(r,n){t[r]=!0}),t}function vr(e,t,r){if(e.customInspect&&t&&Xn(t.inspect)&&t.inspect!==Te&&!(t.constructor&&t.constructor.prototype===t)){var n=t.inspect(r,e);return Gn(n)||(n=vr(e,n,r)),n}var i=du(e,t);if(i)return i;var a=Object.keys(t),o=hu(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),Jn(t)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return Kn(t);if(a.length===0){if(Xn(t)){var s=t.name?": "+t.name:"";return e.stylize("[Function"+s+"]","special")}if(Yn(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if($o(t))return e.stylize(Date.prototype.toString.call(t),"date");if(Jn(t))return Kn(t)}var c="",f=!1,l=["{","}"];if(vu(t)&&(f=!0,l=["[","]"]),Xn(t)){var d=t.name?": "+t.name:"";c=" [Function"+d+"]"}if(Yn(t)&&(c=" "+RegExp.prototype.toString.call(t)),$o(t)&&(c=" "+Date.prototype.toUTCString.call(t)),Jn(t)&&(c=" "+Kn(t)),a.length===0&&(!f||t.length==0))return l[0]+c+l[1];if(r<0)return Yn(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);var h;return f?h=pu(e,t,r,o,a):h=a.map(function(u){return Wn(e,t,r,o,u,f)}),e.seen.pop(),yu(h,c,l)}function du(e,t){if(Ie(t))return e.stylize("undefined","undefined");if(Gn(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(gu(t))return e.stylize(""+t,"number");if(Uo(t))return e.stylize(""+t,"boolean");if(Vn(t))return e.stylize("null","null")}function Kn(e){return"["+Error.prototype.toString.call(e)+"]"}function pu(e,t,r,n,i){for(var a=[],o=0,s=t.length;o<s;++o)zo(t,String(o))?a.push(Wn(e,t,r,n,String(o),!0)):a.push("");return i.forEach(function(c){c.match(/^\d+$/)||a.push(Wn(e,t,r,n,c,!0))}),a}function Wn(e,t,r,n,i,a){var o,s,c;if(c=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]},c.get?c.set?s=e.stylize("[Getter/Setter]","special"):s=e.stylize("[Getter]","special"):c.set&&(s=e.stylize("[Setter]","special")),zo(n,i)||(o="["+i+"]"),s||(e.seen.indexOf(c.value)<0?(Vn(r)?s=vr(e,c.value,null):s=vr(e,c.value,r-1),s.indexOf(`
20
+ */var cl=50;y.TYPED_ARRAY_SUPPORT=lt.TYPED_ARRAY_SUPPORT!==void 0?lt.TYPED_ARRAY_SUPPORT:!0,cr();function cr(){return y.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function _e(e,t){if(cr()<t)throw new RangeError("Invalid typed array length");return y.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t),e.__proto__=y.prototype):(e===null&&(e=new y(t)),e.length=t),e}function y(e,t,r){if(!y.TYPED_ARRAY_SUPPORT&&!(this instanceof y))return new y(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 zn(this,e)}return mo(this,e,t,r)}y.poolSize=8192,y._augment=function(e){return e.__proto__=y.prototype,e};function mo(e,t,r,n){if(typeof t=="number")throw new TypeError('"value" argument must not be a number');return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer?hl(e,t,r,n):typeof t=="string"?ul(e,t,r):dl(e,t)}y.from=function(e,t,r){return mo(null,e,t,r)},y.TYPED_ARRAY_SUPPORT&&(y.prototype.__proto__=Uint8Array.prototype,y.__proto__=Uint8Array,typeof Symbol<"u"&&Symbol.species&&y[Symbol.species]);function xo(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 ll(e,t,r,n){return xo(t),t<=0?_e(e,t):r!==void 0?typeof n=="string"?_e(e,t).fill(r,n):_e(e,t).fill(r):_e(e,t)}y.alloc=function(e,t,r){return ll(null,e,t,r)};function zn(e,t){if(xo(t),e=_e(e,t<0?0:Hn(t)|0),!y.TYPED_ARRAY_SUPPORT)for(var r=0;r<t;++r)e[r]=0;return e}y.allocUnsafe=function(e){return zn(null,e)},y.allocUnsafeSlow=function(e){return zn(null,e)};function ul(e,t,r){if((typeof r!="string"||r==="")&&(r="utf8"),!y.isEncoding(r))throw new TypeError('"encoding" must be a valid string encoding');var n=Eo(t,r)|0;e=_e(e,n);var i=e.write(t,r);return i!==n&&(e=e.slice(0,i)),e}function Zn(e,t){var r=t.length<0?0:Hn(t.length)|0;e=_e(e,r);for(var n=0;n<r;n+=1)e[n]=t[n]&255;return e}function hl(e,t,r,n){if(t.byteLength,r<0||t.byteLength<r)throw new RangeError("'offset' is out of bounds");if(t.byteLength<r+(n||0))throw new RangeError("'length' is out of bounds");return r===void 0&&n===void 0?t=new Uint8Array(t):n===void 0?t=new Uint8Array(t,r):t=new Uint8Array(t,r,n),y.TYPED_ARRAY_SUPPORT?(e=t,e.__proto__=y.prototype):e=Zn(e,t),e}function dl(e,t){if(de(t)){var r=Hn(t.length)|0;return e=_e(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"||Fl(t.length)?_e(e,0):Zn(e,t);if(t.type==="Buffer"&&bo(t.data))return Zn(e,t.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function Hn(e){if(e>=cr())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+cr().toString(16)+" bytes");return e|0}y.isBuffer=Cl;function de(e){return!!(e!=null&&e._isBuffer)}y.compare=function(t,r){if(!de(t)||!de(r))throw new TypeError("Arguments must be Buffers");if(t===r)return 0;for(var n=t.length,i=r.length,a=0,o=Math.min(n,i);a<o;++a)if(t[a]!==r[a]){n=t[a],i=r[a];break}return n<i?-1:i<n?1:0},y.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}},y.concat=function(t,r){if(!bo(t))throw new TypeError('"list" argument must be an Array of Buffers');if(t.length===0)return y.alloc(0);var n;if(r===void 0)for(r=0,n=0;n<t.length;++n)r+=t[n].length;var i=y.allocUnsafe(r),a=0;for(n=0;n<t.length;++n){var o=t[n];if(!de(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(i,a),a+=o.length}return i};function Eo(e,t){if(de(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 n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return hr(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return Fo(e).length;default:if(n)return hr(e).length;t=(""+t).toLowerCase(),n=!0}}y.byteLength=Eo;function pl(e,t,r){var n=!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 Sl(this,t,r);case"utf8":case"utf-8":return Ro(this,t,r);case"ascii":return xl(this,t,r);case"latin1":case"binary":return El(this,t,r);case"base64":return bl(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Al(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}y.prototype._isBuffer=!0;function Ze(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}y.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)Ze(this,r,r+1);return this},y.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)Ze(this,r,r+3),Ze(this,r+1,r+2);return this},y.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)Ze(this,r,r+7),Ze(this,r+1,r+6),Ze(this,r+2,r+5),Ze(this,r+3,r+4);return this},y.prototype.toString=function(){var t=this.length|0;return t===0?"":arguments.length===0?Ro(this,0,t):pl.apply(this,arguments)},y.prototype.equals=function(t){if(!de(t))throw new TypeError("Argument must be a Buffer");return this===t?!0:y.compare(this,t)===0},y.prototype.inspect=function(){var t="",r=cl;return this.length>0&&(t=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(t+=" ... ")),"<Buffer "+t+">"},y.prototype.compare=function(t,r,n,i,a){if(!de(t))throw new TypeError("Argument must be a Buffer");if(r===void 0&&(r=0),n===void 0&&(n=t?t.length:0),i===void 0&&(i=0),a===void 0&&(a=this.length),r<0||n>t.length||i<0||a>this.length)throw new RangeError("out of range index");if(i>=a&&r>=n)return 0;if(i>=a)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,i>>>=0,a>>>=0,this===t)return 0;for(var o=a-i,s=n-r,c=Math.min(o,s),f=this.slice(i,a),l=t.slice(r,n),d=0;d<c;++d)if(f[d]!==l[d]){o=f[d],s=l[d];break}return o<s?-1:s<o?1:0};function So(e,t,r,n,i){if(e.length===0)return-1;if(typeof r=="string"?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t=="string"&&(t=y.from(t,n)),de(t))return t.length===0?-1:Ao(e,t,r,n,i);if(typeof t=="number")return t=t&255,y.TYPED_ARRAY_SUPPORT&&typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):Ao(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function Ao(e,t,r,n,i){var a=1,o=e.length,s=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;a=2,o/=2,s/=2,r/=2}function c(u,p){return a===1?u[p]:u.readUInt16BE(p*a)}var f;if(i){var l=-1;for(f=r;f<o;f++)if(c(e,f)===c(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,h=0;h<s;h++)if(c(e,f+h)!==c(t,h)){d=!1;break}if(d)return f}return-1}y.prototype.includes=function(t,r,n){return this.indexOf(t,r,n)!==-1},y.prototype.indexOf=function(t,r,n){return So(this,t,r,n,!0)},y.prototype.lastIndexOf=function(t,r,n){return So(this,t,r,n,!1)};function yl(e,t,r,n){r=Number(r)||0;var i=e.length-r;n?(n=Number(n),n>i&&(n=i)):n=i;var a=t.length;if(a%2!==0)throw new TypeError("Invalid hex string");n>a/2&&(n=a/2);for(var o=0;o<n;++o){var s=parseInt(t.substr(o*2,2),16);if(isNaN(s))return o;e[r+o]=s}return o}function vl(e,t,r,n){return dr(hr(t,e.length-r),e,r,n)}function ko(e,t,r,n){return dr(Il(t),e,r,n)}function gl(e,t,r,n){return ko(e,t,r,n)}function _l(e,t,r,n){return dr(Fo(t),e,r,n)}function wl(e,t,r,n){return dr(Pl(t,e.length-r),e,r,n)}y.prototype.write=function(t,r,n,i){if(r===void 0)i="utf8",n=this.length,r=0;else if(n===void 0&&typeof r=="string")i=r,n=this.length,r=0;else if(isFinite(r))r=r|0,isFinite(n)?(n=n|0,i===void 0&&(i="utf8")):(i=n,n=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var a=this.length-r;if((n===void 0||n>a)&&(n=a),t.length>0&&(n<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return yl(this,t,r,n);case"utf8":case"utf-8":return vl(this,t,r,n);case"ascii":return ko(this,t,r,n);case"latin1":case"binary":return gl(this,t,r,n);case"base64":return _l(this,t,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return wl(this,t,r,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},y.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function bl(e,t,r){return t===0&&r===e.length?_o(e):_o(e.slice(t,r))}function Ro(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i<r;){var a=e[i],o=null,s=a>239?4:a>223?3:a>191?2:1;if(i+s<=r){var c,f,l,d;switch(s){case 1:a<128&&(o=a);break;case 2:c=e[i+1],(c&192)===128&&(d=(a&31)<<6|c&63,d>127&&(o=d));break;case 3:c=e[i+1],f=e[i+2],(c&192)===128&&(f&192)===128&&(d=(a&15)<<12|(c&63)<<6|f&63,d>2047&&(d<55296||d>57343)&&(o=d));break;case 4:c=e[i+1],f=e[i+2],l=e[i+3],(c&192)===128&&(f&192)===128&&(l&192)===128&&(d=(a&15)<<18|(c&63)<<12|(f&63)<<6|l&63,d>65535&&d<1114112&&(o=d))}}o===null?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),i+=s}return ml(n)}var Oo=4096;function ml(e){var t=e.length;if(t<=Oo)return String.fromCharCode.apply(String,e);for(var r="",n=0;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=Oo));return r}function xl(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;i<r;++i)n+=String.fromCharCode(e[i]&127);return n}function El(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;i<r;++i)n+=String.fromCharCode(e[i]);return n}function Sl(e,t,r){var n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);for(var i="",a=t;a<r;++a)i+=Tl(e[a]);return i}function Al(e,t,r){for(var n=e.slice(t,r),i="",a=0;a<n.length;a+=2)i+=String.fromCharCode(n[a]+n[a+1]*256);return i}y.prototype.slice=function(t,r){var n=this.length;t=~~t,r=r===void 0?n:~~r,t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),r<t&&(r=t);var i;if(y.TYPED_ARRAY_SUPPORT)i=this.subarray(t,r),i.__proto__=y.prototype;else{var a=r-t;i=new y(a,void 0);for(var o=0;o<a;++o)i[o]=this[o+t]}return i};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")}y.prototype.readUIntLE=function(t,r,n){t=t|0,r=r|0,n||U(t,r,this.length);for(var i=this[t],a=1,o=0;++o<r&&(a*=256);)i+=this[t+o]*a;return i},y.prototype.readUIntBE=function(t,r,n){t=t|0,r=r|0,n||U(t,r,this.length);for(var i=this[t+--r],a=1;r>0&&(a*=256);)i+=this[t+--r]*a;return i},y.prototype.readUInt8=function(t,r){return r||U(t,1,this.length),this[t]},y.prototype.readUInt16LE=function(t,r){return r||U(t,2,this.length),this[t]|this[t+1]<<8},y.prototype.readUInt16BE=function(t,r){return r||U(t,2,this.length),this[t]<<8|this[t+1]},y.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},y.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])},y.prototype.readIntLE=function(t,r,n){t=t|0,r=r|0,n||U(t,r,this.length);for(var i=this[t],a=1,o=0;++o<r&&(a*=256);)i+=this[t+o]*a;return a*=128,i>=a&&(i-=Math.pow(2,8*r)),i},y.prototype.readIntBE=function(t,r,n){t=t|0,r=r|0,n||U(t,r,this.length);for(var i=r,a=1,o=this[t+--i];i>0&&(a*=256);)o+=this[t+--i]*a;return a*=128,o>=a&&(o-=Math.pow(2,8*r)),o},y.prototype.readInt8=function(t,r){return r||U(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]},y.prototype.readInt16LE=function(t,r){r||U(t,2,this.length);var n=this[t]|this[t+1]<<8;return n&32768?n|4294901760:n},y.prototype.readInt16BE=function(t,r){r||U(t,2,this.length);var n=this[t+1]|this[t]<<8;return n&32768?n|4294901760:n},y.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},y.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]},y.prototype.readFloatLE=function(t,r){return r||U(t,4,this.length),fr(this,t,!0,23,4)},y.prototype.readFloatBE=function(t,r){return r||U(t,4,this.length),fr(this,t,!1,23,4)},y.prototype.readDoubleLE=function(t,r){return r||U(t,8,this.length),fr(this,t,!0,52,8)},y.prototype.readDoubleBE=function(t,r){return r||U(t,8,this.length),fr(this,t,!1,52,8)};function J(e,t,r,n,i,a){if(!de(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<a)throw new RangeError('"value" argument is out of bounds');if(r+n>e.length)throw new RangeError("Index out of range")}y.prototype.writeUIntLE=function(t,r,n,i){if(t=+t,r=r|0,n=n|0,!i){var a=Math.pow(2,8*n)-1;J(this,t,r,n,a,0)}var o=1,s=0;for(this[r]=t&255;++s<n&&(o*=256);)this[r+s]=t/o&255;return r+n},y.prototype.writeUIntBE=function(t,r,n,i){if(t=+t,r=r|0,n=n|0,!i){var a=Math.pow(2,8*n)-1;J(this,t,r,n,a,0)}var o=n-1,s=1;for(this[r+o]=t&255;--o>=0&&(s*=256);)this[r+o]=t/s&255;return r+n},y.prototype.writeUInt8=function(t,r,n){return t=+t,r=r|0,n||J(this,t,r,1,255,0),y.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[r]=t&255,r+1};function lr(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,a=Math.min(e.length-r,2);i<a;++i)e[r+i]=(t&255<<8*(n?i:1-i))>>>(n?i:1-i)*8}y.prototype.writeUInt16LE=function(t,r,n){return t=+t,r=r|0,n||J(this,t,r,2,65535,0),y.TYPED_ARRAY_SUPPORT?(this[r]=t&255,this[r+1]=t>>>8):lr(this,t,r,!0),r+2},y.prototype.writeUInt16BE=function(t,r,n){return t=+t,r=r|0,n||J(this,t,r,2,65535,0),y.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=t&255):lr(this,t,r,!1),r+2};function ur(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,a=Math.min(e.length-r,4);i<a;++i)e[r+i]=t>>>(n?i:3-i)*8&255}y.prototype.writeUInt32LE=function(t,r,n){return t=+t,r=r|0,n||J(this,t,r,4,4294967295,0),y.TYPED_ARRAY_SUPPORT?(this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255):ur(this,t,r,!0),r+4},y.prototype.writeUInt32BE=function(t,r,n){return t=+t,r=r|0,n||J(this,t,r,4,4294967295,0),y.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255):ur(this,t,r,!1),r+4},y.prototype.writeIntLE=function(t,r,n,i){if(t=+t,r=r|0,!i){var a=Math.pow(2,8*n-1);J(this,t,r,n,a-1,-a)}var o=0,s=1,c=0;for(this[r]=t&255;++o<n&&(s*=256);)t<0&&c===0&&this[r+o-1]!==0&&(c=1),this[r+o]=(t/s>>0)-c&255;return r+n},y.prototype.writeIntBE=function(t,r,n,i){if(t=+t,r=r|0,!i){var a=Math.pow(2,8*n-1);J(this,t,r,n,a-1,-a)}var o=n-1,s=1,c=0;for(this[r+o]=t&255;--o>=0&&(s*=256);)t<0&&c===0&&this[r+o+1]!==0&&(c=1),this[r+o]=(t/s>>0)-c&255;return r+n},y.prototype.writeInt8=function(t,r,n){return t=+t,r=r|0,n||J(this,t,r,1,127,-128),y.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[r]=t&255,r+1},y.prototype.writeInt16LE=function(t,r,n){return t=+t,r=r|0,n||J(this,t,r,2,32767,-32768),y.TYPED_ARRAY_SUPPORT?(this[r]=t&255,this[r+1]=t>>>8):lr(this,t,r,!0),r+2},y.prototype.writeInt16BE=function(t,r,n){return t=+t,r=r|0,n||J(this,t,r,2,32767,-32768),y.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=t&255):lr(this,t,r,!1),r+2},y.prototype.writeInt32LE=function(t,r,n){return t=+t,r=r|0,n||J(this,t,r,4,2147483647,-2147483648),y.TYPED_ARRAY_SUPPORT?(this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24):ur(this,t,r,!0),r+4},y.prototype.writeInt32BE=function(t,r,n){return t=+t,r=r|0,n||J(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),y.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255):ur(this,t,r,!1),r+4};function To(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function Io(e,t,r,n,i){return i||To(e,t,r,4),wo(e,t,r,n,23,4),r+4}y.prototype.writeFloatLE=function(t,r,n){return Io(this,t,r,!0,n)},y.prototype.writeFloatBE=function(t,r,n){return Io(this,t,r,!1,n)};function Po(e,t,r,n,i){return i||To(e,t,r,8),wo(e,t,r,n,52,8),r+8}y.prototype.writeDoubleLE=function(t,r,n){return Po(this,t,r,!0,n)},y.prototype.writeDoubleBE=function(t,r,n){return Po(this,t,r,!1,n)},y.prototype.copy=function(t,r,n,i){if(n||(n=0),!i&&i!==0&&(i=this.length),r>=t.length&&(r=t.length),r||(r=0),i>0&&i<n&&(i=n),i===n||t.length===0||this.length===0)return 0;if(r<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-r<i-n&&(i=t.length-r+n);var a=i-n,o;if(this===t&&n<r&&r<i)for(o=a-1;o>=0;--o)t[o+r]=this[o+n];else if(a<1e3||!y.TYPED_ARRAY_SUPPORT)for(o=0;o<a;++o)t[o+r]=this[o+n];else Uint8Array.prototype.set.call(t,this.subarray(n,n+a),r);return a},y.prototype.fill=function(t,r,n,i){if(typeof t=="string"){if(typeof r=="string"?(i=r,r=0,n=this.length):typeof n=="string"&&(i=n,n=this.length),t.length===1){var a=t.charCodeAt(0);a<256&&(t=a)}if(i!==void 0&&typeof i!="string")throw new TypeError("encoding must be a string");if(typeof i=="string"&&!y.isEncoding(i))throw new TypeError("Unknown encoding: "+i)}else typeof t=="number"&&(t=t&255);if(r<0||this.length<r||this.length<n)throw new RangeError("Out of range index");if(n<=r)return this;r=r>>>0,n=n===void 0?this.length:n>>>0,t||(t=0);var o;if(typeof t=="number")for(o=r;o<n;++o)this[o]=t;else{var s=de(t)?t:hr(new y(t,i).toString()),c=s.length;for(o=0;o<n-r;++o)this[o+r]=s[o%c]}return this};var kl=/[^+\/0-9A-Za-z-_]/g;function Rl(e){if(e=Ol(e).replace(kl,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function Ol(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function Tl(e){return e<16?"0"+e.toString(16):e.toString(16)}function hr(e,t){t=t||1/0;for(var r,n=e.length,i=null,a=[],o=0;o<n;++o){if(r=e.charCodeAt(o),r>55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}else if(o+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=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 Il(e){for(var t=[],r=0;r<e.length;++r)t.push(e.charCodeAt(r)&255);return t}function Pl(e,t){for(var r,n,i,a=[],o=0;o<e.length&&!((t-=2)<0);++o)r=e.charCodeAt(o),n=r>>8,i=r%256,a.push(i),a.push(n);return a}function Fo(e){return al(Rl(e))}function dr(e,t,r,n){for(var i=0;i<n&&!(i+r>=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function Fl(e){return e!==e}function Cl(e){return e!=null&&(!!e._isBuffer||Co(e)||Dl(e))}function Co(e){return!!e.constructor&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e)}function Dl(e){return typeof e.readFloatLE=="function"&&typeof e.slice=="function"&&Co(e.slice(0,0))}function Do(){throw new Error("setTimeout has not been defined")}function jo(){throw new Error("clearTimeout has not been defined")}var Re=Do,Oe=jo;typeof lt.setTimeout=="function"&&(Re=setTimeout),typeof lt.clearTimeout=="function"&&(Oe=clearTimeout);function Mo(e){if(Re===setTimeout)return setTimeout(e,0);if((Re===Do||!Re)&&setTimeout)return Re=setTimeout,setTimeout(e,0);try{return Re(e,0)}catch{try{return Re.call(null,e,0)}catch{return Re.call(this,e,0)}}}function jl(e){if(Oe===clearTimeout)return clearTimeout(e);if((Oe===jo||!Oe)&&clearTimeout)return Oe=clearTimeout,clearTimeout(e);try{return Oe(e)}catch{try{return Oe.call(null,e)}catch{return Oe.call(this,e)}}}var we=[],ut=!1,He,pr=-1;function Ml(){!ut||!He||(ut=!1,He.length?we=He.concat(we):pr=-1,we.length&&Lo())}function Lo(){if(!ut){var e=Mo(Ml);ut=!0;for(var t=we.length;t;){for(He=we,we=[];++pr<t;)He&&He[pr].run();pr=-1,t=we.length}He=null,ut=!1,jl(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];we.push(new No(e,t)),we.length===1&&!ut&&Mo(Lo)}function No(e,t){this.fun=e,this.array=t}No.prototype.run=function(){this.fun.apply(null,this.array)};var Ll="browser",Nl="browser",Bl=!0,Ul={},$l=[],zl="",Zl={},Hl={},ql={};function qe(){}var Kl=qe,Wl=qe,Vl=qe,Gl=qe,Yl=qe,Jl=qe,Xl=qe;function Ql(e){throw new Error("process.binding is not supported")}function eu(){return"/"}function tu(e){throw new Error("process.chdir is not supported")}function ru(){return 0}var ht=lt.performance||{},nu=ht.now||ht.mozNow||ht.msNow||ht.oNow||ht.webkitNow||function(){return new Date().getTime()};function iu(e){var t=nu.call(ht)*.001,r=Math.floor(t),n=Math.floor(t%1*1e9);return e&&(r=r-e[0],n=n-e[1],n<0&&(r--,n+=1e9)),[r,n]}var au=new Date;function ou(){var e=new Date,t=e-au;return t/1e3}var be={nextTick:Q,title:Ll,browser:Bl,env:Ul,argv:$l,version:zl,versions:Zl,on:Kl,addListener:Wl,once:Vl,off:Gl,removeListener:Yl,removeAllListeners:Jl,emit:Xl,binding:Ql,cwd:eu,chdir:tu,umask:ru,hrtime:iu,platform:Nl,release:Hl,config:ql,uptime:ou},K;typeof Object.create=="function"?K=function(t,r){t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:K=function(t,r){t.super_=r;var n=function(){};n.prototype=r.prototype,t.prototype=new n,t.prototype.constructor=t};var su=/%[sdj%]/g;function fu(e){if(!Gn(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(Te(arguments[r]));return t.join(" ")}for(var r=1,n=arguments,i=n.length,a=String(e).replace(su,function(s){if(s==="%%")return"%";if(r>=i)return s;switch(s){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch{return"[Circular]"}default:return s}}),o=n[r];r<i;o=n[++r])Vn(o)||!Tt(o)?a+=" "+o:a+=" "+Te(o);return a}function Bo(e,t){if(Ie(lt.process))return function(){return Bo(e,t).apply(this,arguments)};if(be.noDeprecation===!0)return e;var r=!1;function n(){if(!r){if(be.throwDeprecation)throw new Error(t);be.traceDeprecation?console.trace(t):console.error(t),r=!0}return e.apply(this,arguments)}return n}var yr={},qn;function cu(e){if(Ie(qn)&&(qn=be.env.NODE_DEBUG||""),e=e.toUpperCase(),!yr[e])if(new RegExp("\\b"+e+"\\b","i").test(qn)){var t=0;yr[e]=function(){var r=fu.apply(null,arguments);console.error("%s %d: %s",e,t,r)}}else yr[e]=function(){};return yr[e]}function Te(e,t){var r={seen:[],stylize:uu};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),Uo(t)?r.showHidden=t:t&&_u(r,t),Ie(r.showHidden)&&(r.showHidden=!1),Ie(r.depth)&&(r.depth=2),Ie(r.colors)&&(r.colors=!1),Ie(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=lu),vr(r,e,r.depth)}Te.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]},Te.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function lu(e,t){var r=Te.styles[t];return r?"\x1B["+Te.colors[r][0]+"m"+e+"\x1B["+Te.colors[r][1]+"m":e}function uu(e,t){return e}function hu(e){var t={};return e.forEach(function(r,n){t[r]=!0}),t}function vr(e,t,r){if(e.customInspect&&t&&Xn(t.inspect)&&t.inspect!==Te&&!(t.constructor&&t.constructor.prototype===t)){var n=t.inspect(r,e);return Gn(n)||(n=vr(e,n,r)),n}var i=du(e,t);if(i)return i;var a=Object.keys(t),o=hu(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),Jn(t)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return Kn(t);if(a.length===0){if(Xn(t)){var s=t.name?": "+t.name:"";return e.stylize("[Function"+s+"]","special")}if(Yn(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if($o(t))return e.stylize(Date.prototype.toString.call(t),"date");if(Jn(t))return Kn(t)}var c="",f=!1,l=["{","}"];if(vu(t)&&(f=!0,l=["[","]"]),Xn(t)){var d=t.name?": "+t.name:"";c=" [Function"+d+"]"}if(Yn(t)&&(c=" "+RegExp.prototype.toString.call(t)),$o(t)&&(c=" "+Date.prototype.toUTCString.call(t)),Jn(t)&&(c=" "+Kn(t)),a.length===0&&(!f||t.length==0))return l[0]+c+l[1];if(r<0)return Yn(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);var h;return f?h=pu(e,t,r,o,a):h=a.map(function(u){return Wn(e,t,r,o,u,f)}),e.seen.pop(),yu(h,c,l)}function du(e,t){if(Ie(t))return e.stylize("undefined","undefined");if(Gn(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(gu(t))return e.stylize(""+t,"number");if(Uo(t))return e.stylize(""+t,"boolean");if(Vn(t))return e.stylize("null","null")}function Kn(e){return"["+Error.prototype.toString.call(e)+"]"}function pu(e,t,r,n,i){for(var a=[],o=0,s=t.length;o<s;++o)zo(t,String(o))?a.push(Wn(e,t,r,n,String(o),!0)):a.push("");return i.forEach(function(c){c.match(/^\d+$/)||a.push(Wn(e,t,r,n,c,!0))}),a}function Wn(e,t,r,n,i,a){var o,s,c;if(c=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]},c.get?c.set?s=e.stylize("[Getter/Setter]","special"):s=e.stylize("[Getter]","special"):c.set&&(s=e.stylize("[Setter]","special")),zo(n,i)||(o="["+i+"]"),s||(e.seen.indexOf(c.value)<0?(Vn(r)?s=vr(e,c.value,null):s=vr(e,c.value,r-1),s.indexOf(`
21
21
  `)>-1&&(a?s=s.split(`
22
22
  `).map(function(f){return" "+f}).join(`
23
23
  `).substr(2):s=`
@@ -26,4 +26,4 @@ ${JSON.stringify(i,null,2)}`}),this.resourceName=r,this.attributes=n,this.valida
26
26
  `))):s=e.stylize("[Circular]","special")),Ie(o)){if(a&&i.match(/^\d+$/))return s;o=JSON.stringify(""+i),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 yu(e,t,r){var n=e.reduce(function(i,a){return a.indexOf(`
27
27
  `)>=0,i+a.replace(/\u001b\[\d\d?m/g,"").length+1},0);return n>60?r[0]+(t===""?"":t+`
28
28
  `)+" "+e.join(`,
29
- `)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}function vu(e){return Array.isArray(e)}function Uo(e){return typeof e=="boolean"}function Vn(e){return e===null}function gu(e){return typeof e=="number"}function Gn(e){return typeof e=="string"}function Ie(e){return e===void 0}function Yn(e){return Tt(e)&&Qn(e)==="[object RegExp]"}function Tt(e){return typeof e=="object"&&e!==null}function $o(e){return Tt(e)&&Qn(e)==="[object Date]"}function Jn(e){return Tt(e)&&(Qn(e)==="[object Error]"||e instanceof Error)}function Xn(e){return typeof e=="function"}function Qn(e){return Object.prototype.toString.call(e)}function _u(e,t){if(!t||!Tt(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e}function zo(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Ke(){this.head=null,this.tail=null,this.length=0}Ke.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},Ke.prototype.unshift=function(e){var t={data:e,next:this.head};this.length===0&&(this.tail=t),this.head=t,++this.length},Ke.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}},Ke.prototype.clear=function(){this.head=this.tail=null,this.length=0},Ke.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},Ke.prototype.concat=function(e){if(this.length===0)return y.alloc(0);if(this.length===1)return this.head.data;for(var t=y.allocUnsafe(e>>>0),r=this.head,n=0;r;)r.data.copy(t,n),n+=r.data.length,r=r.next;return t};var wu=y.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 bu(e){if(e&&!wu(e))throw new Error("Unknown encoding: "+e)}function It(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),bu(e),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=xu;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=Eu;break;default:this.write=mu;return}this.charBuffer=new y(6),this.charReceived=0,this.charLength=0}It.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 i=t.charCodeAt(t.length-1);if(i>=55296&&i<=56319){this.charLength+=this.surrogateSize,t="";continue}if(this.charReceived=this.charLength=0,e.length===0)return t;break}this.detectIncompleteChar(e);var n=e.length;this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,n),n-=this.charReceived),t+=e.toString(this.encoding,0,n);var n=t.length-1,i=t.charCodeAt(n);if(i>=55296&&i<=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,n)}return t},It.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},It.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var r=this.charReceived,n=this.charBuffer,i=this.encoding;t+=n.slice(0,r).toString(i)}return t};function mu(e){return e.toString(this.encoding)}function xu(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function Eu(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}L.ReadableState=Zo;var F=cu("stream");K(L,R);function Su(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 Au(e,t){return e.listeners(t).length}function Zo(e,t){e=e||{},this.objectMode=!!e.objectMode,t instanceof ne&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var r=e.highWaterMark,n=this.objectMode?16:16*1024;this.highWaterMark=r||r===0?r:n,this.highWaterMark=~~this.highWaterMark,this.buffer=new Ke,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 It(e.encoding),this.encoding=e.encoding)}function L(e){if(!(this instanceof L))return new L(e);this._readableState=new Zo(e,this),this.readable=!0,e&&typeof e.read=="function"&&(this._read=e.read),R.call(this)}L.prototype.push=function(e,t){var r=this._readableState;return!r.objectMode&&typeof e=="string"&&(t=t||r.defaultEncoding,t!==r.encoding&&(e=y.from(e,t),t="")),Ho(this,r,e,t,!1)},L.prototype.unshift=function(e){var t=this._readableState;return Ho(this,t,e,"",!0)},L.prototype.isPaused=function(){return this._readableState.flowing===!1};function Ho(e,t,r,n,i){var a=Ou(t,r);if(a)e.emit("error",a);else if(r===null)t.reading=!1,Tu(e,t);else if(t.objectMode||r&&r.length>0)if(t.ended&&!i){var o=new Error("stream.push() after EOF");e.emit("error",o)}else if(t.endEmitted&&i){var s=new Error("stream.unshift() after end event");e.emit("error",s)}else{var c;t.decoder&&!i&&!n&&(r=t.decoder.write(r),c=!t.objectMode&&r.length===0),i||(t.reading=!1),c||(t.flowing&&t.length===0&&!t.sync?(e.emit("data",r),e.read(0)):(t.length+=t.objectMode?1:r.length,i?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&gr(e))),Iu(e,t)}else i||(t.reading=!1);return ku(t)}function ku(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||e.length===0)}L.prototype.setEncoding=function(e){return this._readableState.decoder=new It(e),this._readableState.encoding=e,this};var qo=8388608;function Ru(e){return e>=qo?e=qo:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function Ko(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=Ru(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}L.prototype.read=function(e){F("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 F("read: emitReadable",t.length,t.ended),t.length===0&&t.ended?ti(this):gr(this),null;if(e=Ko(e,t),e===0&&t.ended)return t.length===0&&ti(this),null;var n=t.needReadable;F("need readable",n),(t.length===0||t.length-e<t.highWaterMark)&&(n=!0,F("length less than watermark",n)),t.ended||t.reading?(n=!1,F("reading or ended",n)):n&&(F("do read"),t.reading=!0,t.sync=!0,t.length===0&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=Ko(r,t)));var i;return e>0?i=Vo(e,t):i=null,i===null?(t.needReadable=!0,e=0):t.length-=e,t.length===0&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&ti(this)),i!==null&&this.emit("data",i),i};function Ou(e,t){var r=null;return!y.isBuffer(t)&&typeof t!="string"&&t!==null&&t!==void 0&&!e.objectMode&&(r=new TypeError("Invalid non-string/buffer chunk")),r}function Tu(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,gr(e)}}function gr(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(F("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?Q(Wo,e):Wo(e))}function Wo(e){F("emit readable"),e.emit("readable"),ei(e)}function Iu(e,t){t.readingMore||(t.readingMore=!0,Q(Pu,e,t))}function Pu(e,t){for(var r=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(F("maybeReadMore read 0"),e.read(0),r!==t.length);)r=t.length;t.readingMore=!1}L.prototype._read=function(e){this.emit("error",new Error("not implemented"))},L.prototype.pipe=function(e,t){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=e;break;case 1:n.pipes=[n.pipes,e];break;default:n.pipes.push(e);break}n.pipesCount+=1,F("pipe count=%d opts=%j",n.pipesCount,t);var i=!t||t.end!==!1,a=i?s:l;n.endEmitted?Q(a):r.once("end",a),e.on("unpipe",o);function o(w){F("onunpipe"),w===r&&l()}function s(){F("onend"),e.end()}var c=Fu(r);e.on("drain",c);var f=!1;function l(){F("cleanup"),e.removeListener("close",p),e.removeListener("finish",v),e.removeListener("drain",c),e.removeListener("error",u),e.removeListener("unpipe",o),r.removeListener("end",s),r.removeListener("end",l),r.removeListener("data",h),f=!0,n.awaitDrain&&(!e._writableState||e._writableState.needDrain)&&c()}var d=!1;r.on("data",h);function h(w){F("ondata"),d=!1;var E=e.write(w);E===!1&&!d&&((n.pipesCount===1&&n.pipes===e||n.pipesCount>1&&Go(n.pipes,e)!==-1)&&!f&&(F("false write response, pause",r._readableState.awaitDrain),r._readableState.awaitDrain++,d=!0),r.pause())}function u(w){F("onerror",w),_(),e.removeListener("error",u),Au(e,"error")===0&&e.emit("error",w)}Su(e,"error",u);function p(){e.removeListener("finish",v),_()}e.once("close",p);function v(){F("onfinish"),e.removeListener("close",p),_()}e.once("finish",v);function _(){F("unpipe"),r.unpipe(e)}return e.emit("pipe",r),n.flowing||(F("pipe resume"),r.resume()),e};function Fu(e){return function(){var t=e._readableState;F("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,t.awaitDrain===0&&e.listeners("data").length&&(t.flowing=!0,ei(e))}}L.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,n=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var i=0;i<n;i++)r[i].emit("unpipe",this);return this}var a=Go(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)},L.prototype.on=function(e,t){var r=R.prototype.on.call(this,e,t);if(e==="data")this._readableState.flowing!==!1&&this.resume();else if(e==="readable"){var n=this._readableState;!n.endEmitted&&!n.readableListening&&(n.readableListening=n.needReadable=!0,n.emittedReadable=!1,n.reading?n.length&&gr(this):Q(Cu,this))}return r},L.prototype.addListener=L.prototype.on;function Cu(e){F("readable nexttick read 0"),e.read(0)}L.prototype.resume=function(){var e=this._readableState;return e.flowing||(F("resume"),e.flowing=!0,Du(this,e)),this};function Du(e,t){t.resumeScheduled||(t.resumeScheduled=!0,Q(Mu,e,t))}function Mu(e,t){t.reading||(F("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),ei(e),t.flowing&&!t.reading&&e.read(0)}L.prototype.pause=function(){return F("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(F("pause"),this._readableState.flowing=!1,this.emit("pause")),this};function ei(e){var t=e._readableState;for(F("flow",t.flowing);t.flowing&&e.read()!==null;);}L.prototype.wrap=function(e){var t=this._readableState,r=!1,n=this;e.on("end",function(){if(F("wrapped end"),t.decoder&&!t.ended){var o=t.decoder.end();o&&o.length&&n.push(o)}n.push(null)}),e.on("data",function(o){if(F("wrapped data"),t.decoder&&(o=t.decoder.write(o)),!(t.objectMode&&o==null)&&!(!t.objectMode&&(!o||!o.length))){var s=n.push(o);s||(r=!0,e.pause())}});for(var i in e)this[i]===void 0&&typeof e[i]=="function"&&(this[i]=function(o){return function(){return e[o].apply(e,arguments)}}(i));var a=["error","close","destroy","pause","resume"];return Uu(a,function(o){e.on(o,n.emit.bind(n,o))}),n._read=function(o){F("wrapped _read",o),r&&(r=!1,e.resume())},n},L._fromList=Vo;function Vo(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=ju(e,t.buffer,t.decoder),r}function ju(e,t,r){var n;return e<t.head.data.length?(n=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):e===t.head.data.length?n=t.shift():n=r?Lu(e,t):Nu(e,t),n}function Lu(e,t){var r=t.head,n=1,i=r.data;for(e-=i.length;r=r.next;){var a=r.data,o=e>a.length?a.length:e;if(o===a.length?i+=a:i+=a.slice(0,e),e-=o,e===0){o===a.length?(++n,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=a.slice(o));break}++n}return t.length-=n,i}function Nu(e,t){var r=y.allocUnsafe(e),n=t.head,i=1;for(n.data.copy(r),e-=n.data.length;n=n.next;){var a=n.data,o=e>a.length?a.length:e;if(a.copy(r,r.length-e,0,o),e-=o,e===0){o===a.length?(++i,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=a.slice(o));break}++i}return t.length-=i,r}function ti(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,Q(Bu,t,e))}function Bu(e,t){!e.endEmitted&&e.length===0&&(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function Uu(e,t){for(var r=0,n=e.length;r<n;r++)t(e[r],r)}function Go(e,t){for(var r=0,n=e.length;r<n;r++)if(e[r]===t)return r;return-1}Z.WritableState=ri,K(Z,R);function $u(){}function zu(e,t,r){this.chunk=e,this.encoding=t,this.callback=r,this.next=null}function ri(e,t){Object.defineProperty(this,"buffer",{get:Bo(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.")}),e=e||{},this.objectMode=!!e.objectMode,t instanceof ne&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var r=e.highWaterMark,n=this.objectMode?16:16*1024;this.highWaterMark=r||r===0?r:n,this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1;var i=e.decodeStrings===!1;this.decodeStrings=!i,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(a){Gu(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 ts(this)}ri.prototype.getBuffer=function(){for(var t=this.bufferedRequest,r=[];t;)r.push(t),t=t.next;return r};function Z(e){if(!(this instanceof Z)&&!(this instanceof ne))return new Z(e);this._writableState=new ri(e,this),this.writable=!0,e&&(typeof e.write=="function"&&(this._write=e.write),typeof e.writev=="function"&&(this._writev=e.writev)),R.call(this)}Z.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))};function Zu(e,t){var r=new Error("write after end");e.emit("error",r),Q(t,r)}function Hu(e,t,r,n){var i=!0,a=!1;return r===null?a=new TypeError("May not write null values to stream"):!y.isBuffer(r)&&typeof r!="string"&&r!==void 0&&!t.objectMode&&(a=new TypeError("Invalid non-string/buffer chunk")),a&&(e.emit("error",a),Q(n,a),i=!1),i}Z.prototype.write=function(e,t,r){var n=this._writableState,i=!1;return typeof t=="function"&&(r=t,t=null),y.isBuffer(e)?t="buffer":t||(t=n.defaultEncoding),typeof r!="function"&&(r=$u),n.ended?Zu(this,r):Hu(this,n,e,r)&&(n.pendingcb++,i=Ku(this,n,e,t,r)),i},Z.prototype.cork=function(){var e=this._writableState;e.corked++},Z.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,!e.writing&&!e.corked&&!e.finished&&!e.bufferProcessing&&e.bufferedRequest&&Jo(this,e))},Z.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 qu(e,t,r){return!e.objectMode&&e.decodeStrings!==!1&&typeof t=="string"&&(t=y.from(t,r)),t}function Ku(e,t,r,n,i){r=qu(t,r,n),y.isBuffer(r)&&(n="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 zu(r,n,i),s?s.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else ni(e,t,!1,a,r,n,i);return o}function ni(e,t,r,n,i,a,o){t.writelen=n,t.writecb=o,t.writing=!0,t.sync=!0,r?e._writev(i,t.onwrite):e._write(i,a,t.onwrite),t.sync=!1}function Wu(e,t,r,n,i){--t.pendingcb,r?Q(i,n):i(n),e._writableState.errorEmitted=!0,e.emit("error",n)}function Vu(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function Gu(e,t){var r=e._writableState,n=r.sync,i=r.writecb;if(Vu(r),t)Wu(e,r,n,t,i);else{var a=Xo(r);!a&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&Jo(e,r),n?Q(Yo,e,r,a,i):Yo(e,r,a,i)}}function Yo(e,t,r,n){r||Yu(e,t),t.pendingcb--,n(),es(e,t)}function Yu(e,t){t.length===0&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}function Jo(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var n=t.bufferedRequestCount,i=new Array(n),a=t.corkedRequestsFree;a.entry=r;for(var o=0;r;)i[o]=r,r=r.next,o+=1;ni(e,t,!0,t.length,i,"",a.finish),t.pendingcb++,t.lastBufferedRequest=null,a.next?(t.corkedRequestsFree=a.next,a.next=null):t.corkedRequestsFree=new ts(t)}else{for(;r;){var s=r.chunk,c=r.encoding,f=r.callback,l=t.objectMode?1:s.length;if(ni(e,t,!1,l,s,c,f),r=r.next,t.writing)break}r===null&&(t.lastBufferedRequest=null)}t.bufferedRequestCount=0,t.bufferedRequest=r,t.bufferProcessing=!1}Z.prototype._write=function(e,t,r){r(new Error("not implemented"))},Z.prototype._writev=null,Z.prototype.end=function(e,t,r){var n=this._writableState;typeof e=="function"?(r=e,e=null,t=null):typeof t=="function"&&(r=t,t=null),e!=null&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),!n.ending&&!n.finished&&Ju(this,n,r)};function Xo(e){return e.ending&&e.length===0&&e.bufferedRequest===null&&!e.finished&&!e.writing}function Qo(e,t){t.prefinished||(t.prefinished=!0,e.emit("prefinish"))}function es(e,t){var r=Xo(t);return r&&(t.pendingcb===0?(Qo(e,t),t.finished=!0,e.emit("finish")):Qo(e,t)),r}function Ju(e,t,r){t.ending=!0,es(e,t),r&&(t.finished?Q(r):e.once("finish",r)),t.ended=!0,e.writable=!1}function ts(e){var t=this;this.next=null,this.entry=null,this.finish=function(r){var n=t.entry;for(t.entry=null;n;){var i=n.callback;e.pendingcb--,i(r),n=n.next}e.corkedRequestsFree?e.corkedRequestsFree.next=t:e.corkedRequestsFree=t}}K(ne,L);for(var rs=Object.keys(Z.prototype),ii=0;ii<rs.length;ii++){var ai=rs[ii];ne.prototype[ai]||(ne.prototype[ai]=Z.prototype[ai])}function ne(e){if(!(this instanceof ne))return new ne(e);L.call(this,e),Z.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",Xu)}function Xu(){this.allowHalfOpen||this._writableState.ended||Q(Qu,this)}function Qu(e){e.end()}K(ee,ne);function eh(e){this.afterTransform=function(t,r){return th(e,t,r)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null,this.writeencoding=null}function th(e,t,r){var n=e._transformState;n.transforming=!1;var i=n.writecb;if(!i)return e.emit("error",new Error("no writecb in Transform class"));n.writechunk=null,n.writecb=null,r!=null&&e.push(r),i(t);var a=e._readableState;a.reading=!1,(a.needReadable||a.length<a.highWaterMark)&&e._read(a.highWaterMark)}function ee(e){if(!(this instanceof ee))return new ee(e);ne.call(this,e),this._transformState=new eh(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){ns(t,r)}):ns(t)})}ee.prototype.push=function(e,t){return this._transformState.needTransform=!1,ne.prototype.push.call(this,e,t)},ee.prototype._transform=function(e,t,r){throw new Error("Not implemented")},ee.prototype._write=function(e,t,r){var n=this._transformState;if(n.writecb=r,n.writechunk=e,n.writeencoding=t,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},ee.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 ns(e,t){if(t)return e.emit("error",t);var r=e._writableState,n=e._transformState;if(r.length)throw new Error("Calling transform done when ws.length != 0");if(n.transforming)throw new Error("Calling transform done when still transforming");return e.push(null)}K(Pt,ee);function Pt(e){if(!(this instanceof Pt))return new Pt(e);ee.call(this,e)}Pt.prototype._transform=function(e,t,r){r(null,e)},K(me,R),me.Readable=L,me.Writable=Z,me.Duplex=ne,me.Transform=ee,me.PassThrough=Pt,me.Stream=me;function me(){R.call(this)}me.prototype.pipe=function(e,t){var r=this;function n(l){e.writable&&e.write(l)===!1&&r.pause&&r.pause()}r.on("data",n);function i(){r.readable&&r.resume&&r.resume()}e.on("drain",i),!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 c(l){if(f(),R.listenerCount(this,"error")===0)throw l}r.on("error",c),e.on("error",c);function f(){r.removeListener("data",n),e.removeListener("drain",i),r.removeListener("end",o),r.removeListener("close",s),r.removeListener("error",c),e.removeListener("error",c),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};class is extends R{constructor({resource:t}){super(),this.resource=t,this.client=t.client,this.stream=new nc({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}),n=r?.Contents.map(i=>i.Key).map(i=>i.replace(this.client.config.keyPrefix,"")).map(i=>i.startsWith("/")?i.replace("/",""):i).map(i=>i.replace(`resource=${this.resource.name}/id=`,""));this.continuationToken=r.NextContinuationToken,this.enqueue(n),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 as extends is{enqueue(t){this.controller.enqueue(t),this.emit("page",t)}}class os extends R{constructor({resource:t,batchSize:r=10,concurrency:n=5}){if(super(),!t)throw new Error("Resource is required for ResourceReader");this.resource=t,this.client=t.client,this.batchSize=r,this.concurrency=n,this.input=new as({resource:this.resource}),this.transform=new ee({objectMode:!0,transform:this._transform.bind(this)}),this.input.on("data",i=>{this.transform.write(i)}),this.input.on("end",()=>{this.transform.end()}),this.input.on("error",i=>{this.emit("error",i)}),this.transform.on("data",i=>{this.emit("data",i)}),this.transform.on("end",()=>{this.emit("end")}),this.transform.on("error",i=>{this.emit("error",i)})}build(){return this}async _transform(t,r,n){try{await le.for(t).withConcurrency(this.concurrency).handleError(async(i,a)=>{this.emit("error",i,a)}).process(async i=>{const a=await this.resource.get(i);return this.push(a),a}),n()}catch(i){n(i)}}resume(){this.input.resume()}}class ss extends R{constructor({resource:t,batchSize:r=10,concurrency:n=5}){super(),this.resource=t,this.client=t.client,this.batchSize=r,this.concurrency=n,this.buffer=[],this.writing=!1,this.writable=new Z({objectMode:!0,write:this._write.bind(this)}),this.writable.on("finish",()=>{this.emit("finish")}),this.writable.on("error",i=>{this.emit("error",i)})}build(){return this}write(t){return this.buffer.push(t),this._maybeWrite(),!0}end(){this.ended=!0,this._maybeWrite()}async _maybeWrite(){if(!this.writing&&!(this.buffer.length===0&&!this.ended)){for(this.writing=!0;this.buffer.length>0;){const t=this.buffer.splice(0,this.batchSize);try{await le.for(t).withConcurrency(this.concurrency).handleError(async(r,n)=>{this.emit("error",r,n)}).process(async r=>{await this.resource.insert(r)})}catch(r){this.emit("error",r)}}this.writing=!1,this.ended&&this.writable.emit("finish")}}async _write(t,r,n){n()}}function Ft(e){return new Promise((t,r)=>{const n=[];e.on("data",i=>n.push(i)),e.on("error",r),e.on("end",()=>t(Buffer.concat(n).toString("utf-8")))})}function Ct(e){typeof e!="string"&&(e=String(e));let t=0;for(let r=0;r<e.length;r++){const n=e.codePointAt(r);n<=127?t+=1:n<=2047?t+=2:n<=65535?t+=3:n<=1114111&&(t+=4,n>65535&&r++)}return t}function fs(e){return e==null?"":typeof e=="boolean"?e?"1":"0":typeof e=="number"?String(e):typeof e=="string"?e:Array.isArray(e)?e.length===0?"[]":e.map(t=>String(t)).join("|"):typeof e=="object"?JSON.stringify(e):String(e)}function oi(e){const t={};for(const[r,n]of Object.entries(e)){const i=fs(n),a=Ct(i);t[r]=a}return t}function We(e){const t=oi(e);return Object.values(t).reduce((r,n)=>r+n,0)}const xe=2048;async function rh({resource:e,data:t,mappedData:r}){const n=We(r);return n>xe&&e.emit("exceedsLimit",{operation:"insert",totalSize:n,limit:xe,excess:n-xe,data:t}),{mappedData:r,body:""}}async function nh({resource:e,id:t,data:r,mappedData:n}){const i=We(n);return i>xe&&e.emit("exceedsLimit",{operation:"update",id:t,totalSize:i,limit:xe,excess:i-xe,data:r}),{mappedData:n,body:""}}async function ih({resource:e,id:t,data:r,mappedData:n}){const i=We(n);return i>xe&&e.emit("exceedsLimit",{operation:"upsert",id:t,totalSize:i,limit:xe,excess:i-xe,data:r}),{mappedData:n,body:""}}async function ah({resource:e,metadata:t,body:r}){return{metadata:t,body:r}}var oh=Object.freeze({__proto__:null,handleGet:ah,handleInsert:rh,handleUpdate:nh,handleUpsert:ih});const dt=2048;async function sh({resource:e,data:t,mappedData:r}){const n=We(r);if(n>dt)throw new Error(`S3 metadata size exceeds 2KB limit. Current size: ${n} bytes, limit: ${dt} bytes`);return{mappedData:r,body:""}}async function fh({resource:e,id:t,data:r,mappedData:n}){const i=We(n);if(i>dt)throw new Error(`S3 metadata size exceeds 2KB limit. Current size: ${i} bytes, limit: ${dt} bytes`);return{mappedData:n,body:""}}async function ch({resource:e,id:t,data:r,mappedData:n}){const i=We(n);if(i>dt)throw new Error(`S3 metadata size exceeds 2KB limit. Current size: ${i} bytes, limit: ${dt} bytes`);return{mappedData:n,body:""}}async function lh({resource:e,metadata:t,body:r}){return{metadata:t,body:r}}var uh=Object.freeze({__proto__:null,handleGet:lh,handleInsert:sh,handleUpdate:fh,handleUpsert:ch});const cs=2048,ls="...",us=Ct(ls);async function hh({resource:e,data:t,mappedData:r}){return si({resource:e,data:t,mappedData:r})}async function dh({resource:e,id:t,data:r,mappedData:n}){return si({resource:e,data:r,mappedData:n})}async function ph({resource:e,id:t,data:r,mappedData:n}){return si({resource:e,data:r,mappedData:n})}async function yh({resource:e,metadata:t,body:r}){return{metadata:t,body:r}}function si({resource:e,data:t,mappedData:r}){const n=oi(r),i=Object.entries(n).sort(([,s],[,c])=>s-c),a={};let o=0;for(const[s,c]of i){const f=cs-o;if(c<=f)a[s]=r[s],o+=c;else if(f>us){const l=f-us,d=fs(r[s]);let h="",u=0;for(let p=0;p<d.length;p++){const v=d[p],_=Ct(v);if(u+_<=l)h+=v,u+=_;else break}a[s]=h+ls,o=cs;break}else break}return{mappedData:a,body:""}}var vh=Object.freeze({__proto__:null,handleGet:yh,handleInsert:hh,handleUpdate:dh,handleUpsert:ph});const hs=2048,_r="$overflow",fi="true",gh=Ct(_r)+Ct(fi);async function _h({resource:e,data:t,mappedData:r}){return ci({resource:e,data:t,mappedData:r})}async function wh({resource:e,id:t,data:r,mappedData:n}){return ci({resource:e,data:r,mappedData:n})}async function bh({resource:e,id:t,data:r,mappedData:n}){return ci({resource:e,data:r,mappedData:n})}async function mh({resource:e,metadata:t,body:r}){if(t[_r]===fi)try{const n=r?JSON.parse(r):{},i={...t};return delete i[_r],{metadata:{...i,...n},body:""}}catch{return{metadata:t,body:r}}return{metadata:t,body:r}}function ci({resource:e,data:t,mappedData:r}){if(We(r)<=hs)return{mappedData:r,body:""};const i=hs-gh,a=oi(r),o=Object.entries(a).sort(([,d],[,h])=>d-h),s={},c={};let f=0;for(const[d,h]of o)f+h<=i?(s[d]=r[d],f+=h):c[d]=r[d];s[_r]=fi;const l=Object.keys(c).length>0?JSON.stringify(c):"";return{mappedData:s,body:l}}var xh=Object.freeze({__proto__:null,handleGet:mh,handleInsert:_h,handleUpdate:wh,handleUpsert:bh});const ds={"user-management":oh,"enforce-limits":uh,"data-truncate":vh,"body-overflow":xh};function pt(e){const t=ds[e];if(!t)throw new Error(`Unknown behavior: ${e}. Available behaviors: ${Object.keys(ds).join(", ")}`);return t}const Eh="user-management";class li extends R{constructor({name:t,client:r,version:n="1",options:i={},attributes:a={},parallelism:o=10,passphrase:s="secret",observers:c=[],behavior:f=Eh}){if(super(),this.name=t,this.client=r,this.version=n,this.behavior=f,this.observers=c,this.parallelism=o,this.passphrase=s??"secret",this.options={cache:!1,autoDecrypt:!0,timestamps:!1,partitions:{},paranoid:!0,...i},this.hooks={preInsert:[],afterInsert:[],preUpdate:[],afterUpdate:[],preDelete:[],afterDelete:[]},this.attributes=a||{},i.timestamps&&(this.attributes.createdAt="string|optional",this.attributes.updatedAt="string|optional",this.options.partitions.byCreatedDate||(this.options.partitions.byCreatedDate={fields:{createdAt:"date|maxlength:10"}}),this.options.partitions.byUpdatedDate||(this.options.partitions.byUpdatedDate={fields:{updatedAt:"date|maxlength:10"}})),this.schema=new Be({name:t,attributes:this.attributes,passphrase:s,version:this.version,options:this.options}),this.validatePartitions(),this.setupPartitionHooks(),i.hooks){for(const[l,d]of Object.entries(i.hooks))if(Array.isArray(d)&&this.hooks[l])for(const h of d)this.hooks[l].push(h.bind(this))}}export(){const t=this.schema.export();return t.behavior=this.behavior,t}updateAttributes(t){const r=this.attributes;return this.attributes=t,this.options.timestamps&&(t.createdAt="string|optional",t.updatedAt="string|optional",this.options.partitions.byCreatedDate||(this.options.partitions.byCreatedDate={fields:{createdAt:"date|maxlength:10"}}),this.options.partitions.byUpdatedDate||(this.options.partitions.byUpdatedDate={fields:{updatedAt:"date|maxlength:10"}})),this.schema=new Be({name:this.name,attributes:t,passphrase:this.passphrase,version:this.version,options:this.options}),this.validatePartitions(),this.setupPartitionHooks(),{oldAttributes:r,newAttributes:t}}addHook(t,r){this.hooks[t]&&this.hooks[t].push(r.bind(this))}async executeHooks(t,r){if(!this.hooks[t])return r;let n=r;for(const i of this.hooks[t])n=await i(n);return n}setupPartitionHooks(){const t=this.options.partitions;!t||Object.keys(t).length===0||(this.addHook("afterInsert",async r=>(await this.createPartitionReferences(r),r)),this.addHook("afterDelete",async r=>(await this.deletePartitionReferences(r),r)))}async validate(t){const r={original:kt(t),isValid:!1,errors:[]},n=await this.schema.validate(t,{mutateOriginal:!0});return n===!0?r.isValid=!0:r.errors=n,r.data=t,r}validatePartitions(){const t=this.options.partitions;if(!t||Object.keys(t).length===0)return;const r=Object.keys(this.attributes||{});for(const[n,i]of Object.entries(t))if(i.fields){for(const a of Object.keys(i.fields))if(!this.fieldExistsInAttributes(a))throw new Error(`Partition '${n}' uses field '${a}' which does not exist in resource version '${this.version}'. Available fields: ${r.join(", ")}. This version of resource does not have support for this partition.`)}}fieldExistsInAttributes(t){if(!t.includes("."))return Object.keys(this.attributes||{}).includes(t);const r=t.split(".");let n=this.attributes||{};for(const i of r){if(!n||typeof n!="object"||!(i in n))return!1;n=n[i]}return!0}applyPartitionRule(t,r){if(t==null)return t;let n=t;if(typeof r=="string"&&r.includes("maxlength:")){const i=r.match(/maxlength:(\d+)/);if(i){const a=parseInt(i[1]);typeof n=="string"&&n.length>a&&(n=n.substring(0,a))}}if(r.includes("date")){if(n instanceof Date)n=n.toISOString().split("T")[0];else if(typeof n=="string")try{if(n.includes("T")&&n.includes("Z"))n=n.split("T")[0];else{const i=new Date(n);isNaN(i.getTime())||(n=i.toISOString().split("T")[0])}}catch{}}return n}getResourceKey(t){return ge(`resource=${this.name}`,`v=${this.version}`,`id=${t}`)}getPartitionKey(t,r,n){const i=this.options.partitions[t];if(!i)throw new Error(`Partition '${t}' not found`);const a=[],o=Object.entries(i.fields).sort(([s],[c])=>s.localeCompare(c));for(const[s,c]of o){const f=this.getNestedFieldValue(n,s),l=this.applyPartitionRule(f,c);if(l==null)return null;a.push(`${s}=${l}`)}return a.length===0?null:ge(`resource=${this.name}`,`partition=${t}`,...a,`id=${r}`)}getNestedFieldValue(t,r){if(!r.includes("."))return t[r];const n=r.split(".");let i=t;for(const a of n){if(i==null||typeof i!="object")return;i=i[a]}return i}async insert({id:t,...r}){this.options.timestamps&&(r.createdAt=new Date().toISOString(),r.updatedAt=new Date().toISOString());const n=await this.executeHooks("preInsert",r),{errors:i,isValid:a,data:o}=await this.validate(n);if(!a)throw new rr({bucket:this.client.config.bucket,resourceName:this.name,attributes:n,validation:i});!t&&t!==0&&(t=Vi());const s=await this.schema.mapper(o),c=pt(this.behavior),{mappedData:f,body:l}=await c.handleInsert({resource:this,data:o,mappedData:s}),d=this.getResourceKey(t);await this.client.putObject({metadata:f,key:d,body:l});const h=At({id:t},o);return await this.executeHooks("afterInsert",h),this.emit("insert",h),h}async get(t){const r=this.getResourceKey(t),n=await this.client.headObject(r),i=this.extractVersionFromKey(r)||this.version;let o=await(await this.getSchemaForVersion(i)).unmapper(n.Metadata);const s=pt(this.behavior);let c="";if(n.ContentLength>0)try{const d=await this.client.getObject(r);c=await Ft(d.Body)}catch{c=""}const{metadata:f}=await s.handleGet({resource:this,metadata:o,body:c});let l=f;return l.id=t,l._contentLength=n.ContentLength,l._lastModified=n.LastModified,l._hasContent=n.ContentLength>0,l._mimeType=n.ContentType||null,n.VersionId&&(l._versionId=n.VersionId),n.Expiration&&(l._expiresAt=n.Expiration),l._definitionHash=this.getDefinitionHash(),this.emit("get",l),l}async exists(t){try{const r=this.getResourceKey(t);return await this.client.headObject(r),!0}catch{return!1}}async update(t,r){const n=await this.get(t);this.options.timestamps&&(r.updatedAt=new Date().toISOString());const i=await this.executeHooks("preUpdate",r),a=At(n,i);delete a.id;const{isValid:o,errors:s,data:c}=await this.validate(a);if(!o)throw new rr({bucket:this.client.bucket,resourceName:this.name,attributes:i,validation:s});const f=await this.schema.mapper(c),l=pt(this.behavior),{mappedData:d,body:h}=await l.handleUpdate({resource:this,id:t,data:c,mappedData:f}),u=this.getResourceKey(t);let p,v=h;if(h===""&&this.behavior!=="body-overflow")try{const _=await this.client.getObject(u);if(_.ContentLength>0){const w=Buffer.from(await _.Body.transformToByteArray()),E=w.toString();try{JSON.parse(E)}catch{v=w,p=_.ContentType}}}catch{}return await this.client.putObject({key:u,body:v,contentType:p,metadata:d}),c.id=t,await this.executeHooks("afterUpdate",c),await this.updatePartitionReferences(c),this.emit("update",i,c),c}async delete(t){let r;try{r=await this.get(t)}catch{r={id:t}}await this.executeHooks("preDelete",r);const n=this.getResourceKey(t),i=await this.client.deleteObject(n);return await this.executeHooks("afterDelete",r),this.emit("delete",t),i}async upsert({id:t,...r}){return await this.exists(t)?this.update(t,r):this.insert({id:t,...r})}async count({partition:t=null,partitionValues:r={}}={}){let n;if(t&&Object.keys(r).length>0){const a=this.options.partitions[t];if(!a)throw new Error(`Partition '${t}' not found`);const o=[],s=Object.entries(a.fields).sort(([c],[f])=>c.localeCompare(f));for(const[c,f]of s){const l=r[c];if(l!=null){const d=this.applyPartitionRule(l,f);o.push(`${c}=${d}`)}}o.length>0?n=`resource=${this.name}/partition=${t}/${o.join("/")}`:n=`resource=${this.name}/partition=${t}`}else n=`resource=${this.name}/v=${this.version}`;const i=await this.client.count({prefix:n});return this.emit("count",i),i}async insertMany(t){const{results:r}=await le.for(t).withConcurrency(this.parallelism).handleError(async(n,i)=>{this.emit("error",n,i),this.observers.map(a=>a.emit("error",this.name,n,i))}).process(async n=>await this.insert(n));return this.emit("insertMany",t.length),r}async deleteMany(t){const r=Ni(t.map(i=>this.getResourceKey(i)),1e3),{results:n}=await le.for(r).withConcurrency(this.parallelism).handleError(async(i,a)=>{this.emit("error",i,a),this.observers.map(o=>o.emit("error",this.name,i,a))}).process(async i=>{const a=await this.client.deleteObjects(i);return i.forEach(o=>{const c=o.split("/").find(l=>l.startsWith("id=")),f=c?c.replace("id=",""):null;f&&(this.emit("deleted",f),this.observers.map(l=>l.emit("deleted",this.name,f)))}),a});return this.emit("deleteMany",t.length),n}async deleteAll(){if(this.options.paranoid!==!1)throw new Error(`deleteAll() is a dangerous operation and requires paranoid: false option. Current paranoid setting: ${this.options.paranoid}`);const t=`resource=${this.name}/v=${this.version}`,r=await this.client.deleteAll({prefix:t});return this.emit("deleteAll",{version:this.version,prefix:t,deletedCount:r}),{deletedCount:r,version:this.version}}async deleteAllData(){if(this.options.paranoid!==!1)throw new Error(`deleteAllData() is a dangerous operation and requires paranoid: false option. Current paranoid setting: ${this.options.paranoid}`);const t=`resource=${this.name}`,r=await this.client.deleteAll({prefix:t});return this.emit("deleteAllData",{resource:this.name,prefix:t,deletedCount:r}),{deletedCount:r,resource:this.name}}async listIds({partition:t=null,partitionValues:r={}}={}){let n;if(t&&Object.keys(r).length>0){const o=this.options.partitions[t];if(!o)throw new Error(`Partition '${t}' not found`);const s=[],c=Object.entries(o.fields).sort(([f],[l])=>f.localeCompare(l));for(const[f,l]of c){const d=r[f];if(d!=null){const h=this.applyPartitionRule(d,l);s.push(`${f}=${h}`)}}s.length>0?n=`resource=${this.name}/partition=${t}/${s.join("/")}`:n=`resource=${this.name}/partition=${t}`}else n=`resource=${this.name}/v=${this.version}`;const a=(await this.client.getAllKeys({prefix:n})).map(o=>{const c=o.split("/").find(f=>f.startsWith("id="));return c?c.replace("id=",""):null}).filter(Boolean);return this.emit("listIds",a.length),a}async listByPartition({partition:t=null,partitionValues:r={}}={},n={}){const{limit:i,offset:a=0}=n;if(!t){let v=(await this.listIds({partition:t,partitionValues:r})).slice(a);i&&(v=v.slice(0,i));const{results:_}=await le.for(v).withConcurrency(this.parallelism).process(async w=>await this.get(w));return this.emit("listByPartition",{partition:t,partitionValues:r,count:_.length}),_}const o=this.options.partitions[t];if(!o)throw new Error(`Partition '${t}' not found`);const s=[],c=Object.entries(o.fields).sort(([p],[v])=>p.localeCompare(v));for(const[p,v]of c){const _=r[p];if(_!=null){const w=this.applyPartitionRule(_,v);s.push(`${p}=${w}`)}}let f;s.length>0?f=`resource=${this.name}/partition=${t}/${s.join("/")}`:f=`resource=${this.name}/partition=${t}`;let h=(await this.client.getAllKeys({prefix:f})).map(p=>{const _=p.split("/").find(w=>w.startsWith("id="));return _?_.replace("id=",""):null}).filter(Boolean).slice(a);i&&(h=h.slice(0,i));const{results:u}=await le.for(h).withConcurrency(this.parallelism).process(async p=>await this.getFromPartition(p,t,r));return this.emit("listByPartition",{partition:t,partitionValues:r,count:u.length}),u}async getMany(t){const{results:r}=await le.for(t).withConcurrency(this.client.parallelism).process(async n=>{this.emit("id",n);const i=await this.get(n);return this.emit("data",i),i});return this.emit("getMany",t.length),r}async getAll(){let t=await this.listIds();if(t.length===0)return[];const{results:r}=await le.for(t).withConcurrency(this.client.parallelism).process(async n=>await this.get(n));return this.emit("getAll",r.length),r}async page(t=0,r=100,{partition:n=null,partitionValues:i={}}={}){const a=await this.listIds({partition:n,partitionValues:i}),o=a.length,s=Math.ceil(o/r),c=a.slice(t*r,(t+1)*r),l={items:await Promise.all(c.map(d=>this.get(d))),totalItems:o,page:t,pageSize:r,totalPages:s};return this.emit("page",l),l}readable(){return new os({resource:this}).build()}writable(){return new ss({resource:this}).build()}async setContent(t,r,n="application/octet-stream"){if(!Buffer.isBuffer(r))throw new Error("Content must be a Buffer");const i=this.getResourceKey(t);let a={};try{a=(await this.client.headObject(i)).Metadata||{}}catch{}const o=await this.client.putObject({key:i,body:r,contentType:n,metadata:a});return this.emit("setContent",t,r.length,n),o}async content(t){const r=this.getResourceKey(t);try{const n=await this.client.getObject(r),i=Buffer.from(await n.Body.transformToByteArray()),a=n.ContentType||null;return this.emit("content",t,i.length,a),{buffer:i,contentType:a}}catch(n){if(n.name==="NoSuchKey")return{buffer:null,contentType:null};throw n}}async hasContent(t){const r=this.getResourceKey(t);try{return(await this.client.headObject(r)).ContentLength>0}catch{return!1}}async deleteContent(t){const r=this.getResourceKey(t),i=(await this.client.headObject(r)).Metadata||{},a=await this.client.putObject({key:r,body:"",metadata:i});return this.emit("deleteContent",t),a}getDefinitionHash(){const r={...this.schema.export().attributes};this.options.timestamps&&(delete r.createdAt,delete r.updatedAt);const n=ho(r);return`sha256:${Hi("sha256").update(n).digest("hex")}`}extractVersionFromKey(t){const n=t.split("/").find(i=>i.startsWith("v="));return n?n.replace("v=",""):null}async getSchemaForVersion(t){return this.schema}async createPartitionReferences(t){const r=this.options.partitions;if(!(!r||Object.keys(r).length===0))for(const[n,i]of Object.entries(r)){const a=this.getPartitionKey(n,t.id,t);if(a){const o=await this.schema.mapper(t),s=pt(this.behavior),{mappedData:c,body:f}=await s.handleInsert({resource:this,data:t,mappedData:o}),l={...c,_version:this.version};await this.client.putObject({key:a,metadata:l,body:f})}}}async deletePartitionReferences(t){const r=this.options.partitions;if(!r||Object.keys(r).length===0)return;const n=[];for(const[i,a]of Object.entries(r)){const o=this.getPartitionKey(i,t.id,t);o&&n.push(o)}if(n.length>0)try{await this.client.deleteObjects(n)}catch(i){console.warn("Some partition objects could not be deleted:",i.message)}}async query(t={}){const r=await this.getAll();return Object.keys(t).length===0?r:r.filter(n=>Object.entries(t).every(([i,a])=>n[i]===a))}async updatePartitionReferences(t){const r=this.options.partitions;if(!(!r||Object.keys(r).length===0))for(const[n,i]of Object.entries(r)){const a=this.getPartitionKey(n,t.id,t);if(a){const o=await this.schema.mapper(t),s=pt(this.behavior),{mappedData:c,body:f}=await s.handleUpdate({resource:this,id:t.id,data:t,mappedData:o}),l={...c,_version:this.version};try{await this.client.putObject({key:a,metadata:l,body:f})}catch(d){console.warn(`Partition object could not be updated for ${n}:`,d.message)}}}}async getFromPartition(t,r,n={}){const i=this.options.partitions[r];if(!i)throw new Error(`Partition '${r}' not found`);const a=[],o=Object.entries(i.fields).sort(([_],[w])=>_.localeCompare(w));for(const[_,w]of o){const E=n[_];if(E!=null){const S=this.applyPartitionRule(E,w);a.push(`${_}=${S}`)}}if(a.length===0)throw new Error(`No partition values provided for partition '${r}'`);const s=ge(`resource=${this.name}`,`partition=${r}`,...a,`id=${t}`),c=await this.client.headObject(s),f=c.Metadata?._version||this.version;let d=await(await this.getSchemaForVersion(f)).unmapper(c.Metadata);const h=pt(this.behavior);let u="";if(c.ContentLength>0)try{const _=await this.client.getObject(s);u=await Ft(_.Body)}catch{u=""}const{metadata:p}=await h.handleGet({resource:this,metadata:d,body:u});let v=p;return v.id=t,v._contentLength=c.ContentLength,v._lastModified=c.LastModified,v._hasContent=c.ContentLength>0,v._mimeType=c.ContentType||null,v._partition=r,v._partitionValues=n,c.VersionId&&(v._versionId=c.VersionId),c.Expiration&&(v._expiresAt=c.Expiration),v._definitionHash=this.getDefinitionHash(),this.emit("getFromPartition",v),v}}class ps extends R{constructor(t){super(),this.version="1",this.s3dbVersion=(()=>{try{return"4.1.2"}catch{return"latest"}})(),this.resources={},this.savedMetadata=null,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 sa({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 n=await this.client.getObject("s3db.json");t=JSON.parse(await Ft(n?.Body))}else t=this.blankMetadataStructure(),await this.uploadMetadataFile();this.savedMetadata=t;const r=this.detectDefinitionChanges(t);for(const[n,i]of Object.entries(t.resources||{})){const a=i.currentVersion||"v0",o=i.versions?.[a];o&&(this.resources[n]=new li({name:n,client:this.client,version:a,options:{...o.options,partitions:i.partitions||o.options?.partitions||{}},attributes:o.attributes,behavior:o.behavior||"user-management",parallelism:this.parallelism,passphrase:this.passphrase,observers:[this]}))}r.length>0&&this.emit("resourceDefinitionsChanged",{changes:r,metadata:this.savedMetadata}),this.emit("connected",new Date)}detectDefinitionChanges(t){const r=[];for(const[n,i]of Object.entries(this.resources)){const a=this.generateDefinitionHash(i.export()),o=t.resources?.[n];if(!o)r.push({type:"new",resourceName:n,currentHash:a,savedHash:null});else{const s=o.currentVersion||"v0",f=o.versions?.[s]?.hash;f!==a&&r.push({type:"changed",resourceName:n,currentHash:a,savedHash:f,fromVersion:s,toVersion:this.getNextVersion(o.versions)})}}for(const[n,i]of Object.entries(t.resources||{}))if(!this.resources[n]){const a=i.currentVersion||"v0",o=i.versions?.[a];r.push({type:"deleted",resourceName:n,currentHash:null,savedHash:o?.hash,deletedVersion:a})}return r}generateDefinitionHash(t,r=void 0){const i={...t.attributes};t.options?.timestamps&&(delete i.createdAt,delete i.updatedAt);const a={attributes:i,behavior:r||t.behavior||"user-management"},o=ho(a);return`sha256:${Hi("sha256").update(o).digest("hex")}`}getNextVersion(t={}){const r=Object.keys(t).filter(i=>i.startsWith("v")).map(i=>parseInt(i.substring(1))).filter(i=>!isNaN(i));return`v${(r.length>0?Math.max(...r):-1)+1}`}async startPlugins(){const t=this;if(!Bi(this.plugins)){const r=this.plugins.map(a=>Vf(a)?new a(this):a),n=r.map(async a=>{a.beforeSetup&&await a.beforeSetup(),await a.setup(t),a.afterSetup&&await a.afterSetup()});await Promise.all(n);const i=r.map(async a=>{a.beforeStart&&await a.beforeStart(),await a.start(),a.afterStart&&await a.afterStart()});await Promise.all(i)}}async uploadMetadataFile(){const t={version:this.version,s3dbVersion:this.s3dbVersion,lastUpdated:new Date().toISOString(),resources:{}};Object.entries(this.resources).forEach(([r,n])=>{const i=n.export(),a=this.generateDefinitionHash(i),o=this.savedMetadata?.resources?.[r],s=o?.currentVersion||"v0",c=o?.versions?.[s];let f,l;!c||c.hash!==a?(f=this.getNextVersion(o?.versions),l=!0):(f=s,l=!1),t.resources[r]={currentVersion:f,partitions:i.options?.partitions||{},versions:{...o?.versions,[f]:{hash:a,attributes:i.attributes,options:i.options,behavior:i.behavior||"user-management",createdAt:l?new Date().toISOString():c?.createdAt}}},n.version!==f&&(n.version=f,n.emit("versionUpdated",{oldVersion:s,newVersion:f}))}),await this.client.putObject({key:"s3db.json",body:JSON.stringify(t,null,2),contentType:"application/json"}),this.savedMetadata=t,this.emit("metadataUploaded",t)}blankMetadataStructure(){return{version:"1",s3dbVersion:this.s3dbVersion,resources:{}}}resourceExists(t){return!!this.resources[t]}resourceExistsWithSameHash({name:t,attributes:r,options:n={},behavior:i="user-management"}){if(!this.resources[t])return{exists:!1,sameHash:!1,hash:null};const a=new li({name:t,attributes:r,behavior:i,observers:[],client:this.client,version:"temp",options:{cache:this.cache,...n}}),o=this.generateDefinitionHash(a.export(),i),s=this.generateDefinitionHash(this.resources[t].export(),this.resources[t].behavior);return{exists:!0,sameHash:o===s,hash:o,existingHash:s}}async createResourceIfNotExists({name:t,attributes:r,options:n={},behavior:i="user-management"}){const a=!!this.resources[t],o=this.resourceExistsWithSameHash({name:t,attributes:r,options:n,behavior:i});return o.exists&&o.sameHash?{resource:this.resources[t],created:!1,reason:"Resource already exists with same definition hash"}:{resource:await this.createResource({name:t,attributes:r,options:n,behavior:i}),created:!a,reason:a?"Resource updated with new definition":"New resource created"}}async createResource({name:t,attributes:r,options:n={},behavior:i="user-management"}){if(this.resources[t]){const c=this.resources[t];Object.assign(c.options,{cache:this.cache,...n}),i&&(c.behavior=i),c.updateAttributes(r);const f=this.generateDefinitionHash(c.export(),c.behavior),l=this.savedMetadata?.resources?.[t],d=l?.currentVersion||"v0",h=l?.versions?.[d];return(!h||h.hash!==f)&&await this.uploadMetadataFile(),this.emit("s3db.resourceUpdated",t),c}const o=this.savedMetadata?.resources?.[t]?.currentVersion||"v0",s=new li({name:t,attributes:r,behavior:i,observers:[this],client:this.client,version:o,options:{cache:this.cache,...n}});return this.resources[t]=s,await this.uploadMetadataFile(),this.emit("s3db.resourceCreated",t),s}resource(t){return this.resources[t]?this.resources[t]:Promise.reject(`resource ${t} does not exist`)}async listResources(){return Object.keys(this.resources).map(t=>({name:t}))}async getResource(t){if(!this.resources[t])throw new Error(`Resource not found: ${t}`);return this.resources[t]}get config(){return{version:this.version,s3dbVersion:this.s3dbVersion,bucket:this.bucket,keyPrefix:this.keyPrefix,parallelism:this.parallelism,verbose:this.verbose}}isConnected(){return!!this.savedMetadata}}class Sh extends ps{}class ui extends R{constructor(t={}){super(),this.config=t}async _set(t,r){}async _get(t){}async _del(t){}async _clear(t){}validateKey(t){if(t==null||typeof t!="string"||!t)throw new Error("Invalid key")}async set(t,r){return this.validateKey(t),await this._set(t,r),this.emit("set",r),r}async get(t){this.validateKey(t);const r=await this._get(t);return this.emit("get",r),r}async del(t){this.validateKey(t);const r=await this._del(t);return this.emit("delete",r),r}async delete(t){return this.del(t)}async clear(){const t=await this._clear();return this.emit("clear",t),t}}class Ah extends ui{constructor(t={}){super(t),this.cache={},this.meta={},this.maxSize=t.maxSize||0,this.ttl=t.ttl||0}async _set(t,r){if(this.maxSize>0&&Object.keys(this.cache).length>=this.maxSize){const n=Object.entries(this.meta).sort((i,a)=>i[1].ts-a[1].ts)[0]?.[0];n&&(delete this.cache[n],delete this.meta[n])}return this.cache[t]=r,this.meta[t]={ts:Date.now()},r}async _get(t){if(!Object.prototype.hasOwnProperty.call(this.cache,t))return null;if(this.ttl>0){const r=Date.now(),n=this.meta[t];if(n&&r-n.ts>this.ttl*1e3)return delete this.cache[t],delete this.meta[t],null}return this.cache[t]}async _del(t){return delete this.cache[t],delete this.meta[t],!0}async _clear(){return this.cache={},this.meta={},!0}async size(){return Object.keys(this.cache).length}async keys(){return Object.keys(this.cache)}}var ys={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 kh(){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 Ee(e,t,r,n,i){if(t.subarray&&e.subarray){e.set(t.subarray(r,r+n),i);return}for(var a=0;a<n;a++)e[i+a]=t[r+a]}var wr=Uint8Array,ie=Uint16Array,br=Int32Array,Rh=4,vs=0,gs=1,Oh=2;function yt(e){for(var t=e.length;--t>=0;)e[t]=0}var Th=0,_s=1,Ih=2,Ph=3,Fh=258,hi=29,Dt=256,Mt=Dt+1+hi,vt=30,di=19,ws=2*Mt+1,Ve=15,pi=16,Ch=7,yi=256,bs=16,ms=17,xs=18,vi=[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],mr=[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],Dh=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Es=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Mh=512,Se=new Array((Mt+2)*2);yt(Se);var jt=new Array(vt*2);yt(jt);var Lt=new Array(Mh);yt(Lt);var Nt=new Array(Fh-Ph+1);yt(Nt);var gi=new Array(hi);yt(gi);var xr=new Array(vt);yt(xr);function _i(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}var Ss,As,ks;function wi(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function Rs(e){return e<256?Lt[e]:Lt[256+(e>>>7)]}function Bt(e,t){e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255}function X(e,t,r){e.bi_valid>pi-r?(e.bi_buf|=t<<e.bi_valid&65535,Bt(e,e.bi_buf),e.bi_buf=t>>pi-e.bi_valid,e.bi_valid+=r-pi):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function pe(e,t,r){X(e,r[t*2],r[t*2+1])}function Os(e,t){var r=0;do r|=e&1,e>>>=1,r<<=1;while(--t>0);return r>>>1}function jh(e){e.bi_valid===16?(Bt(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 Lh(e,t){var r=t.dyn_tree,n=t.max_code,i=t.stat_desc.static_tree,a=t.stat_desc.has_stree,o=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,c=t.stat_desc.max_length,f,l,d,h,u,p,v=0;for(h=0;h<=Ve;h++)e.bl_count[h]=0;for(r[e.heap[e.heap_max]*2+1]=0,f=e.heap_max+1;f<ws;f++)l=e.heap[f],h=r[r[l*2+1]*2+1]+1,h>c&&(h=c,v++),r[l*2+1]=h,!(l>n)&&(e.bl_count[h]++,u=0,l>=s&&(u=o[l-s]),p=r[l*2],e.opt_len+=p*(h+u),a&&(e.static_len+=p*(i[l*2+1]+u)));if(v!==0){do{for(h=c-1;e.bl_count[h]===0;)h--;e.bl_count[h]--,e.bl_count[h+1]+=2,e.bl_count[c]--,v-=2}while(v>0);for(h=c;h!==0;h--)for(l=e.bl_count[h];l!==0;)d=e.heap[--f],!(d>n)&&(r[d*2+1]!==h&&(e.opt_len+=(h-r[d*2+1])*r[d*2],r[d*2+1]=h),l--)}}function Ts(e,t,r){var n=new Array(Ve+1),i=0,a,o;for(a=1;a<=Ve;a++)n[a]=i=i+r[a-1]<<1;for(o=0;o<=t;o++){var s=e[o*2+1];s!==0&&(e[o*2]=Os(n[s]++,s))}}function Nh(){var e,t,r,n,i,a=new Array(Ve+1);for(r=0,n=0;n<hi-1;n++)for(gi[n]=r,e=0;e<1<<vi[n];e++)Nt[r++]=n;for(Nt[r-1]=n,i=0,n=0;n<16;n++)for(xr[n]=i,e=0;e<1<<mr[n];e++)Lt[i++]=n;for(i>>=7;n<vt;n++)for(xr[n]=i<<7,e=0;e<1<<mr[n]-7;e++)Lt[256+i++]=n;for(t=0;t<=Ve;t++)a[t]=0;for(e=0;e<=143;)Se[e*2+1]=8,e++,a[8]++;for(;e<=255;)Se[e*2+1]=9,e++,a[9]++;for(;e<=279;)Se[e*2+1]=7,e++,a[7]++;for(;e<=287;)Se[e*2+1]=8,e++,a[8]++;for(Ts(Se,Mt+1,a),e=0;e<vt;e++)jt[e*2+1]=5,jt[e*2]=Os(e,5);Ss=new _i(Se,vi,Dt+1,Mt,Ve),As=new _i(jt,mr,0,vt,Ve),ks=new _i(new Array(0),Dh,0,di,Ch)}function Is(e){var t;for(t=0;t<Mt;t++)e.dyn_ltree[t*2]=0;for(t=0;t<vt;t++)e.dyn_dtree[t*2]=0;for(t=0;t<di;t++)e.bl_tree[t*2]=0;e.dyn_ltree[yi*2]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function Ps(e){e.bi_valid>8?Bt(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 Bh(e,t,r,n){Ps(e),Bt(e,r),Bt(e,~r),Ee(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}function Fs(e,t,r,n){var i=t*2,a=r*2;return e[i]<e[a]||e[i]===e[a]&&n[t]<=n[r]}function bi(e,t,r){for(var n=e.heap[r],i=r<<1;i<=e.heap_len&&(i<e.heap_len&&Fs(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!Fs(t,n,e.heap[i],e.depth));)e.heap[r]=e.heap[i],r=i,i<<=1;e.heap[r]=n}function Cs(e,t,r){var n,i,a=0,o,s;if(e.last_lit!==0)do n=e.pending_buf[e.d_buf+a*2]<<8|e.pending_buf[e.d_buf+a*2+1],i=e.pending_buf[e.l_buf+a],a++,n===0?pe(e,i,t):(o=Nt[i],pe(e,o+Dt+1,t),s=vi[o],s!==0&&(i-=gi[o],X(e,i,s)),n--,o=Rs(n),pe(e,o,r),s=mr[o],s!==0&&(n-=xr[o],X(e,n,s)));while(a<e.last_lit);pe(e,yi,t)}function mi(e,t){var r=t.dyn_tree,n=t.stat_desc.static_tree,i=t.stat_desc.has_stree,a=t.stat_desc.elems,o,s,c=-1,f;for(e.heap_len=0,e.heap_max=ws,o=0;o<a;o++)r[o*2]!==0?(e.heap[++e.heap_len]=c=o,e.depth[o]=0):r[o*2+1]=0;for(;e.heap_len<2;)f=e.heap[++e.heap_len]=c<2?++c:0,r[f*2]=1,e.depth[f]=0,e.opt_len--,i&&(e.static_len-=n[f*2+1]);for(t.max_code=c,o=e.heap_len>>1;o>=1;o--)bi(e,r,o);f=a;do o=e.heap[1],e.heap[1]=e.heap[e.heap_len--],bi(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++,bi(e,r,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],Lh(e,t),Ts(r,c,e.bl_count)}function Ds(e,t,r){var n,i=-1,a,o=t[0*2+1],s=0,c=7,f=4;for(o===0&&(c=138,f=3),t[(r+1)*2+1]=65535,n=0;n<=r;n++)a=o,o=t[(n+1)*2+1],!(++s<c&&a===o)&&(s<f?e.bl_tree[a*2]+=s:a!==0?(a!==i&&e.bl_tree[a*2]++,e.bl_tree[bs*2]++):s<=10?e.bl_tree[ms*2]++:e.bl_tree[xs*2]++,s=0,i=a,o===0?(c=138,f=3):a===o?(c=6,f=3):(c=7,f=4))}function Ms(e,t,r){var n,i=-1,a,o=t[0*2+1],s=0,c=7,f=4;for(o===0&&(c=138,f=3),n=0;n<=r;n++)if(a=o,o=t[(n+1)*2+1],!(++s<c&&a===o)){if(s<f)do pe(e,a,e.bl_tree);while(--s!==0);else a!==0?(a!==i&&(pe(e,a,e.bl_tree),s--),pe(e,bs,e.bl_tree),X(e,s-3,2)):s<=10?(pe(e,ms,e.bl_tree),X(e,s-3,3)):(pe(e,xs,e.bl_tree),X(e,s-11,7));s=0,i=a,o===0?(c=138,f=3):a===o?(c=6,f=3):(c=7,f=4)}}function Uh(e){var t;for(Ds(e,e.dyn_ltree,e.l_desc.max_code),Ds(e,e.dyn_dtree,e.d_desc.max_code),mi(e,e.bl_desc),t=di-1;t>=3&&e.bl_tree[Es[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t}function $h(e,t,r,n){var i;for(X(e,t-257,5),X(e,r-1,5),X(e,n-4,4),i=0;i<n;i++)X(e,e.bl_tree[Es[i]*2+1],3);Ms(e,e.dyn_ltree,t-1),Ms(e,e.dyn_dtree,r-1)}function zh(e){var t=4093624447,r;for(r=0;r<=31;r++,t>>>=1)if(t&1&&e.dyn_ltree[r*2]!==0)return vs;if(e.dyn_ltree[9*2]!==0||e.dyn_ltree[10*2]!==0||e.dyn_ltree[13*2]!==0)return gs;for(r=32;r<Dt;r++)if(e.dyn_ltree[r*2]!==0)return gs;return vs}var js=!1;function Zh(e){js||(Nh(),js=!0),e.l_desc=new wi(e.dyn_ltree,Ss),e.d_desc=new wi(e.dyn_dtree,As),e.bl_desc=new wi(e.bl_tree,ks),e.bi_buf=0,e.bi_valid=0,Is(e)}function Ls(e,t,r,n){X(e,(Th<<1)+(n?1:0),3),Bh(e,t,r)}function Hh(e){X(e,_s<<1,3),pe(e,yi,Se),jh(e)}function qh(e,t,r,n){var i,a,o=0;e.level>0?(e.strm.data_type===Oh&&(e.strm.data_type=zh(e)),mi(e,e.l_desc),mi(e,e.d_desc),o=Uh(e),i=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a<=i&&(i=a)):i=a=r+5,r+4<=i&&t!==-1?Ls(e,t,r,n):e.strategy===Rh||a===i?(X(e,(_s<<1)+(n?1:0),3),Cs(e,Se,jt)):(X(e,(Ih<<1)+(n?1:0),3),$h(e,e.l_desc.max_code+1,e.d_desc.max_code+1,o+1),Cs(e,e.dyn_ltree,e.dyn_dtree)),Is(e),n&&Ps(e)}function Pe(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[(Nt[r]+Dt+1)*2]++,e.dyn_dtree[Rs(t)*2]++),e.last_lit===e.lit_bufsize-1}function xi(e,t,r,n){for(var i=e&65535|0,a=e>>>16&65535|0,o=0;r!==0;){o=r>2e3?2e3:r,r-=o;do i=i+t[n++]|0,a=a+i|0;while(--o);i%=65521,a%=65521}return i|a<<16|0}function Kh(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=e&1?3988292384^e>>>1:e>>>1;t[r]=e}return t}var Wh=Kh();function $(e,t,r,n){var i=Wh,a=n+r;e^=-1;for(var o=n;o<a;o++)e=e>>>8^i[(e^t[o])&255];return e^-1}var Ge=0,Vh=1,Gh=3,Fe=4,Ns=5,Ce=0,Bs=1,De=-2,Yh=-3,Ei=-5,Jh=-1,Xh=1,Er=2,Qh=3,ed=4,td=2,Si=8,rd=9,nd=29,id=256,Ai=id+1+nd,ad=30,od=19,sd=2*Ai+1,fd=15,P=3,Me=258,ae=Me+P+1,cd=32,ki=42,Ri=69,Sr=73,Ar=91,kr=103,Ye=113,Ut=666,B=1,$t=2,Je=3,gt=4,ld=3;function je(e,t){return e.msg=ys[t],t}function Us(e){return(e<<1)-(e>4?9:0)}function Xe(e){for(var t=e.length;--t>=0;)e[t]=0}function Le(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),r!==0&&(Ee(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 H(e,t){qh(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,Le(e.strm)}function I(e,t){e.pending_buf[e.pending++]=t}function zt(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255}function ud(e,t,r,n){var i=e.avail_in;return i>n&&(i=n),i===0?0:(e.avail_in-=i,Ee(t,e.input,e.next_in,i,r),e.state.wrap===1?e.adler=xi(e.adler,t,i,r):e.state.wrap===2&&(e.adler=$(e.adler,t,i,r)),e.next_in+=i,e.total_in+=i,i)}function $s(e,t){var r=e.max_chain_length,n=e.strstart,i,a,o=e.prev_length,s=e.nice_match,c=e.strstart>e.w_size-ae?e.strstart-(e.w_size-ae):0,f=e.window,l=e.w_mask,d=e.prev,h=e.strstart+Me,u=f[n+o-1],p=f[n+o];e.prev_length>=e.good_match&&(r>>=2),s>e.lookahead&&(s=e.lookahead);do if(i=t,!(f[i+o]!==p||f[i+o-1]!==u||f[i]!==f[n]||f[++i]!==f[n+1])){n+=2,i++;do;while(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]===f[++i]&&n<h);if(a=Me-(h-n),n=h-Me,a>o){if(e.match_start=t,o=a,a>=s)break;u=f[n+o-1],p=f[n+o]}}while((t=d[t&l])>c&&--r!==0);return o<=e.lookahead?o:e.lookahead}function Zt(e){var t=e.w_size,r,n,i,a,o;do{if(a=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-ae)){Ee(e.window,e.window,t,t,0),e.match_start-=t,e.strstart-=t,e.block_start-=t,n=e.hash_size,r=n;do i=e.head[--r],e.head[r]=i>=t?i-t:0;while(--n);n=t,r=n;do i=e.prev[--r],e.prev[r]=i>=t?i-t:0;while(--n);a+=t}if(e.strm.avail_in===0)break;if(n=ud(e.strm,e.window,e.strstart+e.lookahead,a),e.lookahead+=n,e.lookahead+e.insert>=P)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+P-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<P)););}while(e.lookahead<ae&&e.strm.avail_in!==0)}function hd(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(Zt(e),e.lookahead===0&&t===Ge)return B;if(e.lookahead===0)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((e.strstart===0||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,H(e,!1),e.strm.avail_out===0)||e.strstart-e.block_start>=e.w_size-ae&&(H(e,!1),e.strm.avail_out===0))return B}return e.insert=0,t===Fe?(H(e,!0),e.strm.avail_out===0?Je:gt):(e.strstart>e.block_start&&(H(e,!1),e.strm.avail_out===0),B)}function Oi(e,t){for(var r,n;;){if(e.lookahead<ae){if(Zt(e),e.lookahead<ae&&t===Ge)return B;if(e.lookahead===0)break}if(r=0,e.lookahead>=P&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+P-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-ae&&(e.match_length=$s(e,r)),e.match_length>=P)if(n=Pe(e,e.strstart-e.match_start,e.match_length-P),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=P){e.match_length--;do e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+P-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 n=Pe(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(H(e,!1),e.strm.avail_out===0))return B}return e.insert=e.strstart<P-1?e.strstart:P-1,t===Fe?(H(e,!0),e.strm.avail_out===0?Je:gt):e.last_lit&&(H(e,!1),e.strm.avail_out===0)?B:$t}function _t(e,t){for(var r,n,i;;){if(e.lookahead<ae){if(Zt(e),e.lookahead<ae&&t===Ge)return B;if(e.lookahead===0)break}if(r=0,e.lookahead>=P&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+P-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=P-1,r!==0&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-ae&&(e.match_length=$s(e,r),e.match_length<=5&&(e.strategy===Xh||e.match_length===P&&e.strstart-e.match_start>4096)&&(e.match_length=P-1)),e.prev_length>=P&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-P,n=Pe(e,e.strstart-1-e.prev_match,e.prev_length-P),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=i&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+P-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=P-1,e.strstart++,n&&(H(e,!1),e.strm.avail_out===0))return B}else if(e.match_available){if(n=Pe(e,0,e.window[e.strstart-1]),n&&H(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return B}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=Pe(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<P-1?e.strstart:P-1,t===Fe?(H(e,!0),e.strm.avail_out===0?Je:gt):e.last_lit&&(H(e,!1),e.strm.avail_out===0)?B:$t}function dd(e,t){for(var r,n,i,a,o=e.window;;){if(e.lookahead<=Me){if(Zt(e),e.lookahead<=Me&&t===Ge)return B;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=P&&e.strstart>0&&(i=e.strstart-1,n=o[i],n===o[++i]&&n===o[++i]&&n===o[++i])){a=e.strstart+Me;do;while(n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&i<a);e.match_length=Me-(a-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=P?(r=Pe(e,1,e.match_length-P),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=Pe(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(H(e,!1),e.strm.avail_out===0))return B}return e.insert=0,t===Fe?(H(e,!0),e.strm.avail_out===0?Je:gt):e.last_lit&&(H(e,!1),e.strm.avail_out===0)?B:$t}function pd(e,t){for(var r;;){if(e.lookahead===0&&(Zt(e),e.lookahead===0)){if(t===Ge)return B;break}if(e.match_length=0,r=Pe(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(H(e,!1),e.strm.avail_out===0))return B}return e.insert=0,t===Fe?(H(e,!0),e.strm.avail_out===0?Je:gt):e.last_lit&&(H(e,!1),e.strm.avail_out===0)?B:$t}function ye(e,t,r,n,i){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=i}var wt;wt=[new ye(0,0,0,0,hd),new ye(4,4,8,4,Oi),new ye(4,5,16,8,Oi),new ye(4,6,32,32,Oi),new ye(4,4,16,16,_t),new ye(8,16,32,32,_t),new ye(8,16,128,128,_t),new ye(8,32,128,256,_t),new ye(32,128,258,1024,_t),new ye(32,258,258,4096,_t)];function yd(e){e.window_size=2*e.w_size,Xe(e.head),e.max_lazy_match=wt[e.level].max_lazy,e.good_match=wt[e.level].good_length,e.nice_match=wt[e.level].nice_length,e.max_chain_length=wt[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=P-1,e.match_available=0,e.ins_h=0}function vd(){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=Si,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 ie(sd*2),this.dyn_dtree=new ie((2*ad+1)*2),this.bl_tree=new ie((2*od+1)*2),Xe(this.dyn_ltree),Xe(this.dyn_dtree),Xe(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new ie(fd+1),this.heap=new ie(2*Ai+1),Xe(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new ie(2*Ai+1),Xe(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 gd(e){var t;return!e||!e.state?je(e,De):(e.total_in=e.total_out=0,e.data_type=td,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?ki:Ye,e.adler=t.wrap===2?0:1,t.last_flush=Ge,Zh(t),Ce)}function zs(e){var t=gd(e);return t===Ce&&yd(e.state),t}function _d(e,t,r,n,i,a){if(!e)return De;var o=1;if(t===Jh&&(t=6),n<0?(o=0,n=-n):n>15&&(o=2,n-=16),i<1||i>rd||r!==Si||n<8||n>15||t<0||t>9||a<0||a>ed)return je(e,De);n===8&&(n=9);var s=new vd;return e.state=s,s.strm=e,s.wrap=o,s.gzhead=null,s.w_bits=n,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=i+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+P-1)/P),s.window=new wr(s.w_size*2),s.head=new ie(s.hash_size),s.prev=new ie(s.w_size),s.lit_bufsize=1<<i+6,s.pending_buf_size=s.lit_bufsize*4,s.pending_buf=new wr(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,zs(e)}function wd(e,t){var r,n,i,a;if(!e||!e.state||t>Ns||t<0)return e?je(e,De):De;if(n=e.state,!e.output||!e.input&&e.avail_in!==0||n.status===Ut&&t!==Fe)return je(e,e.avail_out===0?Ei:De);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===ki)if(n.wrap===2)e.adler=0,I(n,31),I(n,139),I(n,8),n.gzhead?(I(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),I(n,n.gzhead.time&255),I(n,n.gzhead.time>>8&255),I(n,n.gzhead.time>>16&255),I(n,n.gzhead.time>>24&255),I(n,n.level===9?2:n.strategy>=Er||n.level<2?4:0),I(n,n.gzhead.os&255),n.gzhead.extra&&n.gzhead.extra.length&&(I(n,n.gzhead.extra.length&255),I(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=$(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=Ri):(I(n,0),I(n,0),I(n,0),I(n,0),I(n,0),I(n,n.level===9?2:n.strategy>=Er||n.level<2?4:0),I(n,ld),n.status=Ye);else{var o=Si+(n.w_bits-8<<4)<<8,s=-1;n.strategy>=Er||n.level<2?s=0:n.level<6?s=1:n.level===6?s=2:s=3,o|=s<<6,n.strstart!==0&&(o|=cd),o+=31-o%31,n.status=Ye,zt(n,o),n.strstart!==0&&(zt(n,e.adler>>>16),zt(n,e.adler&65535)),e.adler=1}if(n.status===Ri)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(n.gzhead.extra.length&65535)&&!(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=$(e.adler,n.pending_buf,n.pending-i,i)),Le(e),i=n.pending,n.pending===n.pending_buf_size));)I(n,n.gzhead.extra[n.gzindex]&255),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=$(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=Sr)}else n.status=Sr;if(n.status===Sr)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=$(e.adler,n.pending_buf,n.pending-i,i)),Le(e),i=n.pending,n.pending===n.pending_buf_size)){a=1;break}n.gzindex<n.gzhead.name.length?a=n.gzhead.name.charCodeAt(n.gzindex++)&255:a=0,I(n,a)}while(a!==0);n.gzhead.hcrc&&n.pending>i&&(e.adler=$(e.adler,n.pending_buf,n.pending-i,i)),a===0&&(n.gzindex=0,n.status=Ar)}else n.status=Ar;if(n.status===Ar)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=$(e.adler,n.pending_buf,n.pending-i,i)),Le(e),i=n.pending,n.pending===n.pending_buf_size)){a=1;break}n.gzindex<n.gzhead.comment.length?a=n.gzhead.comment.charCodeAt(n.gzindex++)&255:a=0,I(n,a)}while(a!==0);n.gzhead.hcrc&&n.pending>i&&(e.adler=$(e.adler,n.pending_buf,n.pending-i,i)),a===0&&(n.status=kr)}else n.status=kr;if(n.status===kr&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&Le(e),n.pending+2<=n.pending_buf_size&&(I(n,e.adler&255),I(n,e.adler>>8&255),e.adler=0,n.status=Ye)):n.status=Ye),n.pending!==0){if(Le(e),e.avail_out===0)return n.last_flush=-1,Ce}else if(e.avail_in===0&&Us(t)<=Us(r)&&t!==Fe)return je(e,Ei);if(n.status===Ut&&e.avail_in!==0)return je(e,Ei);if(e.avail_in!==0||n.lookahead!==0||t!==Ge&&n.status!==Ut){var c=n.strategy===Er?pd(n,t):n.strategy===Qh?dd(n,t):wt[n.level].func(n,t);if((c===Je||c===gt)&&(n.status=Ut),c===B||c===Je)return e.avail_out===0&&(n.last_flush=-1),Ce;if(c===$t&&(t===Vh?Hh(n):t!==Ns&&(Ls(n,0,0,!1),t===Gh&&(Xe(n.head),n.lookahead===0&&(n.strstart=0,n.block_start=0,n.insert=0))),Le(e),e.avail_out===0))return n.last_flush=-1,Ce}return t!==Fe?Ce:n.wrap<=0?Bs:(n.wrap===2?(I(n,e.adler&255),I(n,e.adler>>8&255),I(n,e.adler>>16&255),I(n,e.adler>>24&255),I(n,e.total_in&255),I(n,e.total_in>>8&255),I(n,e.total_in>>16&255),I(n,e.total_in>>24&255)):(zt(n,e.adler>>>16),zt(n,e.adler&65535)),Le(e),n.wrap>0&&(n.wrap=-n.wrap),n.pending!==0?Ce:Bs)}function bd(e){var t;return!e||!e.state?De:(t=e.state.status,t!==ki&&t!==Ri&&t!==Sr&&t!==Ar&&t!==kr&&t!==Ye&&t!==Ut?je(e,De):(e.state=null,t===Ye?je(e,Yh):Ce))}var Rr=30,md=12;function xd(e,t){var r,n,i,a,o,s,c,f,l,d,h,u,p,v,_,w,E,S,g,A,T,b,x,O,k;r=e.state,n=e.next_in,O=e.input,i=n+(e.avail_in-5),a=e.next_out,k=e.output,o=a-(t-e.avail_out),s=a+(e.avail_out-257),c=r.dmax,f=r.wsize,l=r.whave,d=r.wnext,h=r.window,u=r.hold,p=r.bits,v=r.lencode,_=r.distcode,w=(1<<r.lenbits)-1,E=(1<<r.distbits)-1;e:do{p<15&&(u+=O[n++]<<p,p+=8,u+=O[n++]<<p,p+=8),S=v[u&w];t:for(;;){if(g=S>>>24,u>>>=g,p-=g,g=S>>>16&255,g===0)k[a++]=S&65535;else if(g&16){A=S&65535,g&=15,g&&(p<g&&(u+=O[n++]<<p,p+=8),A+=u&(1<<g)-1,u>>>=g,p-=g),p<15&&(u+=O[n++]<<p,p+=8,u+=O[n++]<<p,p+=8),S=_[u&E];r:for(;;){if(g=S>>>24,u>>>=g,p-=g,g=S>>>16&255,g&16){if(T=S&65535,g&=15,p<g&&(u+=O[n++]<<p,p+=8,p<g&&(u+=O[n++]<<p,p+=8)),T+=u&(1<<g)-1,T>c){e.msg="invalid distance too far back",r.mode=Rr;break e}if(u>>>=g,p-=g,g=a-o,T>g){if(g=T-g,g>l&&r.sane){e.msg="invalid distance too far back",r.mode=Rr;break e}if(b=0,x=h,d===0){if(b+=f-g,g<A){A-=g;do k[a++]=h[b++];while(--g);b=a-T,x=k}}else if(d<g){if(b+=f+d-g,g-=d,g<A){A-=g;do k[a++]=h[b++];while(--g);if(b=0,d<A){g=d,A-=g;do k[a++]=h[b++];while(--g);b=a-T,x=k}}}else if(b+=d-g,g<A){A-=g;do k[a++]=h[b++];while(--g);b=a-T,x=k}for(;A>2;)k[a++]=x[b++],k[a++]=x[b++],k[a++]=x[b++],A-=3;A&&(k[a++]=x[b++],A>1&&(k[a++]=x[b++]))}else{b=a-T;do k[a++]=k[b++],k[a++]=k[b++],k[a++]=k[b++],A-=3;while(A>2);A&&(k[a++]=k[b++],A>1&&(k[a++]=k[b++]))}}else if((g&64)===0){S=_[(S&65535)+(u&(1<<g)-1)];continue r}else{e.msg="invalid distance code",r.mode=Rr;break e}break}}else if((g&64)===0){S=v[(S&65535)+(u&(1<<g)-1)];continue t}else if(g&32){r.mode=md;break e}else{e.msg="invalid literal/length code",r.mode=Rr;break e}break}}while(n<i&&a<s);A=p>>3,n-=A,p-=A<<3,u&=(1<<p)-1,e.next_in=n,e.next_out=a,e.avail_in=n<i?5+(i-n):5-(n-i),e.avail_out=a<s?257+(s-a):257-(a-s),r.hold=u,r.bits=p}var bt=15,Zs=852,Hs=592,qs=0,Ti=1,Ks=2,Ed=[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],Sd=[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],Ad=[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],kd=[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 Ht(e,t,r,n,i,a,o,s){var c=s.bits,f=0,l=0,d=0,h=0,u=0,p=0,v=0,_=0,w=0,E=0,S,g,A,T,b,x=null,O=0,k,C=new ie(bt+1),z=new ie(bt+1),W=null,te=0,Ue,G,se;for(f=0;f<=bt;f++)C[f]=0;for(l=0;l<n;l++)C[t[r+l]]++;for(u=c,h=bt;h>=1&&C[h]===0;h--);if(u>h&&(u=h),h===0)return i[a++]=1<<24|64<<16|0,i[a++]=1<<24|64<<16|0,s.bits=1,0;for(d=1;d<h&&C[d]===0;d++);for(u<d&&(u=d),_=1,f=1;f<=bt;f++)if(_<<=1,_-=C[f],_<0)return-1;if(_>0&&(e===qs||h!==1))return-1;for(z[1]=0,f=1;f<bt;f++)z[f+1]=z[f]+C[f];for(l=0;l<n;l++)t[r+l]!==0&&(o[z[t[r+l]]++]=l);if(e===qs?(x=W=o,k=19):e===Ti?(x=Ed,O-=257,W=Sd,te-=257,k=256):(x=Ad,W=kd,k=-1),E=0,l=0,f=d,b=a,p=u,v=0,A=-1,w=1<<u,T=w-1,e===Ti&&w>Zs||e===Ks&&w>Hs)return 1;for(;;){Ue=f-v,o[l]<k?(G=0,se=o[l]):o[l]>k?(G=W[te+o[l]],se=x[O+o[l]]):(G=96,se=0),S=1<<f-v,g=1<<p,d=g;do g-=S,i[b+(E>>v)+g]=Ue<<24|G<<16|se|0;while(g!==0);for(S=1<<f-1;E&S;)S>>=1;if(S!==0?(E&=S-1,E+=S):E=0,l++,--C[f]===0){if(f===h)break;f=t[r+o[l]]}if(f>u&&(E&T)!==A){for(v===0&&(v=u),b+=d,p=f-v,_=1<<p;p+v<h&&(_-=C[p+v],!(_<=0));)p++,_<<=1;if(w+=1<<p,e===Ti&&w>Zs||e===Ks&&w>Hs)return 1;A=E&T,i[A]=u<<24|p<<16|b-a|0}}return E!==0&&(i[b+E]=f-v<<24|64<<16|0),s.bits=u,0}var Rd=0,Ws=1,Vs=2,Gs=4,Od=5,Or=6,qt=0,Td=1,Id=2,Ne=-2,Pd=-3,Fd=-4,Cd=-5,Ys=8,Js=1,Xs=2,Qs=3,ef=4,tf=5,rf=6,nf=7,af=8,of=9,sf=10,ff=11,Ae=12,Ii=13,cf=14,Pi=15,lf=16,uf=17,hf=18,df=19,Tr=20,Ir=21,pf=22,yf=23,vf=24,gf=25,_f=26,Fi=27,wf=28,bf=29,D=30,Dd=31,Md=32,jd=852,Ld=592;function mf(e){return(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24)}function Nd(){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 ie(320),this.work=new ie(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function Bd(e){var t;return!e||!e.state?Ne:(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=Js,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new br(jd),t.distcode=t.distdyn=new br(Ld),t.sane=1,t.back=-1,qt)}function xf(e){var t;return!e||!e.state?Ne:(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,Bd(e))}function Ud(e,t){var r,n;return!e||!e.state||(n=e.state,t<0?(r=0,t=-t):(r=(t>>4)+1,t<48&&(t&=15)),t&&(t<8||t>15))?Ne:(n.window!==null&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,xf(e))}function $d(e,t){var r,n;return e?(n=new Nd,e.state=n,n.window=null,r=Ud(e,t),r!==qt&&(e.state=null),r):Ne}var Ef=!0,Ci,Di;function zd(e){if(Ef){var t;for(Ci=new br(512),Di=new br(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(Ht(Ws,e.lens,0,288,Ci,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;Ht(Vs,e.lens,0,32,Di,0,e.work,{bits:5}),Ef=!1}e.lencode=Ci,e.lenbits=9,e.distcode=Di,e.distbits=5}function Zd(e,t,r,n){var i,a=e.state;return a.window===null&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new wr(a.wsize)),n>=a.wsize?(Ee(a.window,t,r-a.wsize,a.wsize,0),a.wnext=0,a.whave=a.wsize):(i=a.wsize-a.wnext,i>n&&(i=n),Ee(a.window,t,r-n,i,a.wnext),n-=i,n?(Ee(a.window,t,r-n,n,0),a.wnext=n,a.whave=a.wsize):(a.wnext+=i,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=i))),0}function Hd(e,t){var r,n,i,a,o,s,c,f,l,d,h,u,p,v,_=0,w,E,S,g,A,T,b,x,O=new wr(4),k,C,z=[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 Ne;r=e.state,r.mode===Ae&&(r.mode=Ii),o=e.next_out,i=e.output,c=e.avail_out,a=e.next_in,n=e.input,s=e.avail_in,f=r.hold,l=r.bits,d=s,h=c,x=qt;e:for(;;)switch(r.mode){case Js:if(r.wrap===0){r.mode=Ii;break}for(;l<16;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}if(r.wrap&2&&f===35615){r.check=0,O[0]=f&255,O[1]=f>>>8&255,r.check=$(r.check,O,2,0),f=0,l=0,r.mode=Xs;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)!==Ys){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?sf:Ae,f=0,l=0;break;case Xs:for(;l<16;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}if(r.flags=f,(r.flags&255)!==Ys){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=$(r.check,O,2,0)),f=0,l=0,r.mode=Qs;case Qs:for(;l<32;){if(s===0)break e;s--,f+=n[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=$(r.check,O,4,0)),f=0,l=0,r.mode=ef;case ef:for(;l<16;){if(s===0)break e;s--,f+=n[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=$(r.check,O,2,0)),f=0,l=0,r.mode=tf;case tf:if(r.flags&1024){for(;l<16;){if(s===0)break e;s--,f+=n[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=$(r.check,O,2,0)),f=0,l=0}else r.head&&(r.head.extra=null);r.mode=rf;case rf: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)),Ee(r.head.extra,n,a,u,b)),r.flags&512&&(r.check=$(r.check,n,u,a)),s-=u,a+=u,r.length-=u),r.length))break e;r.length=0,r.mode=nf;case nf:if(r.flags&2048){if(s===0)break e;u=0;do b=n[a+u++],r.head&&b&&r.length<65536&&(r.head.name+=String.fromCharCode(b));while(b&&u<s);if(r.flags&512&&(r.check=$(r.check,n,u,a)),s-=u,a+=u,b)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=af;case af:if(r.flags&4096){if(s===0)break e;u=0;do b=n[a+u++],r.head&&b&&r.length<65536&&(r.head.comment+=String.fromCharCode(b));while(b&&u<s);if(r.flags&512&&(r.check=$(r.check,n,u,a)),s-=u,a+=u,b)break e}else r.head&&(r.head.comment=null);r.mode=of;case of:if(r.flags&512){for(;l<16;){if(s===0)break e;s--,f+=n[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=Ae;break;case sf:for(;l<32;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}e.adler=r.check=mf(f),f=0,l=0,r.mode=ff;case ff:if(r.havedict===0)return e.next_out=o,e.avail_out=c,e.next_in=a,e.avail_in=s,r.hold=f,r.bits=l,Id;e.adler=r.check=1,r.mode=Ae;case Ae:if(t===Od||t===Or)break e;case Ii:if(r.last){f>>>=l&7,l-=l&7,r.mode=Fi;break}for(;l<3;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}switch(r.last=f&1,f>>>=1,l-=1,f&3){case 0:r.mode=cf;break;case 1:if(zd(r),r.mode=Tr,t===Or){f>>>=2,l-=2;break e}break;case 2:r.mode=uf;break;case 3:e.msg="invalid block type",r.mode=D}f>>>=2,l-=2;break;case cf:for(f>>>=l&7,l-=l&7;l<32;){if(s===0)break e;s--,f+=n[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=Pi,t===Or)break e;case Pi:r.mode=lf;case lf:if(u=r.length,u){if(u>s&&(u=s),u>c&&(u=c),u===0)break e;Ee(i,n,a,u,o),s-=u,a+=u,c-=u,o+=u,r.length-=u;break}r.mode=Ae;break;case uf:for(;l<14;){if(s===0)break e;s--,f+=n[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=hf;case hf:for(;r.have<r.ncode;){for(;l<3;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}r.lens[z[r.have++]]=f&7,f>>>=3,l-=3}for(;r.have<19;)r.lens[z[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,k={bits:r.lenbits},x=Ht(Rd,r.lens,0,19,r.lencode,0,r.work,k),r.lenbits=k.bits,x){e.msg="invalid code lengths set",r.mode=D;break}r.have=0,r.mode=df;case df:for(;r.have<r.nlen+r.ndist;){for(;_=r.lencode[f&(1<<r.lenbits)-1],w=_>>>24,E=_>>>16&255,S=_&65535,!(w<=l);){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}if(S<16)f>>>=w,l-=w,r.lens[r.have++]=S;else{if(S===16){for(C=w+2;l<C;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}if(f>>>=w,l-=w,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(S===17){for(C=w+3;l<C;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}f>>>=w,l-=w,b=0,u=3+(f&7),f>>>=3,l-=3}else{for(C=w+7;l<C;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}f>>>=w,l-=w,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,k={bits:r.lenbits},x=Ht(Ws,r.lens,0,r.nlen,r.lencode,0,r.work,k),r.lenbits=k.bits,x){e.msg="invalid literal/lengths set",r.mode=D;break}if(r.distbits=6,r.distcode=r.distdyn,k={bits:r.distbits},x=Ht(Vs,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,k),r.distbits=k.bits,x){e.msg="invalid distances set",r.mode=D;break}if(r.mode=Tr,t===Or)break e;case Tr:r.mode=Ir;case Ir:if(s>=6&&c>=258){e.next_out=o,e.avail_out=c,e.next_in=a,e.avail_in=s,r.hold=f,r.bits=l,xd(e,h),o=e.next_out,i=e.output,c=e.avail_out,a=e.next_in,n=e.input,s=e.avail_in,f=r.hold,l=r.bits,r.mode===Ae&&(r.back=-1);break}for(r.back=0;_=r.lencode[f&(1<<r.lenbits)-1],w=_>>>24,E=_>>>16&255,S=_&65535,!(w<=l);){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}if(E&&(E&240)===0){for(g=w,A=E,T=S;_=r.lencode[T+((f&(1<<g+A)-1)>>g)],w=_>>>24,E=_>>>16&255,S=_&65535,!(g+w<=l);){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}f>>>=g,l-=g,r.back+=g}if(f>>>=w,l-=w,r.back+=w,r.length=S,E===0){r.mode=_f;break}if(E&32){r.back=-1,r.mode=Ae;break}if(E&64){e.msg="invalid literal/length code",r.mode=D;break}r.extra=E&15,r.mode=pf;case pf:if(r.extra){for(C=r.extra;l<C;){if(s===0)break e;s--,f+=n[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=yf;case yf:for(;_=r.distcode[f&(1<<r.distbits)-1],w=_>>>24,E=_>>>16&255,S=_&65535,!(w<=l);){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}if((E&240)===0){for(g=w,A=E,T=S;_=r.distcode[T+((f&(1<<g+A)-1)>>g)],w=_>>>24,E=_>>>16&255,S=_&65535,!(g+w<=l);){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}f>>>=g,l-=g,r.back+=g}if(f>>>=w,l-=w,r.back+=w,E&64){e.msg="invalid distance code",r.mode=D;break}r.offset=S,r.extra=E&15,r.mode=vf;case vf:if(r.extra){for(C=r.extra;l<C;){if(s===0)break e;s--,f+=n[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=gf;case gf:if(c===0)break e;if(u=h-c,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,p=r.wsize-u):p=r.wnext-u,u>r.length&&(u=r.length),v=r.window}else v=i,p=o-r.offset,u=r.length;u>c&&(u=c),c-=u,r.length-=u;do i[o++]=v[p++];while(--u);r.length===0&&(r.mode=Ir);break;case _f:if(c===0)break e;i[o++]=r.length,c--,r.mode=Ir;break;case Fi:if(r.wrap){for(;l<32;){if(s===0)break e;s--,f|=n[a++]<<l,l+=8}if(h-=c,e.total_out+=h,r.total+=h,h&&(e.adler=r.check=r.flags?$(r.check,i,h,o-h):xi(r.check,i,h,o-h)),h=c,(r.flags?f:mf(f))!==r.check){e.msg="incorrect data check",r.mode=D;break}f=0,l=0}r.mode=wf;case wf:if(r.wrap&&r.flags){for(;l<32;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}if(f!==(r.total&4294967295)){e.msg="incorrect length check",r.mode=D;break}f=0,l=0}r.mode=bf;case bf:x=Td;break e;case D:x=Pd;break e;case Dd:return Fd;case Md:default:return Ne}return e.next_out=o,e.avail_out=c,e.next_in=a,e.avail_in=s,r.hold=f,r.bits=l,(r.wsize||h!==e.avail_out&&r.mode<D&&(r.mode<Fi||t!==Gs))&&Zd(e,e.output,e.next_out,h-e.avail_out),d-=e.avail_in,h-=e.avail_out,e.total_in+=d,e.total_out+=h,r.total+=h,r.wrap&&h&&(e.adler=r.check=r.flags?$(r.check,i,h,e.next_out-h):xi(r.check,i,h,e.next_out-h)),e.data_type=r.bits+(r.last?64:0)+(r.mode===Ae?128:0)+(r.mode===Tr||r.mode===Pi?256:0),(d===0&&h===0||t===Gs)&&x===qt&&(x=Cd),x}function qd(e){if(!e||!e.state)return Ne;var t=e.state;return t.window&&(t.window=null),e.state=null,qt}var Mi=0,mt=1,Pr=2,Kt=3,Fr=4,xt=5,Wt=6,Vt=7,Sf=0,Af=1,kf=2,Rf=3,ji=4,Of=5,Kd=6,Cr=0,Tf=1,If=2,Wd=-1,Vd=-2,Gd=-3,Pf=-5,Yd=0,Jd=1,Xd=9,Qd=-1,ep=1,tp=2,rp=3,np=4,ip=0,ap=0,op=1,sp=2,Ff=8;function oe(e){if(e<mt||e>Vt)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}oe.prototype.init=function(e,t,r,n,i){this.windowBits=e,this.level=t,this.memLevel=r,this.strategy=n,(this.mode===Kt||this.mode===Fr)&&(this.windowBits+=16),this.mode===Vt&&(this.windowBits+=32),(this.mode===xt||this.mode===Wt)&&(this.windowBits=-this.windowBits),this.strm=new kh;var a;switch(this.mode){case mt:case Kt:case xt:a=_d(this.strm,this.level,Ff,this.windowBits,this.memLevel,this.strategy);break;case Pr:case Fr:case Wt:case Vt:a=$d(this.strm,this.windowBits);break;default:throw new Error("Unknown mode "+this.mode)}if(a!==Cr){this._error(a);return}this.write_in_progress=!1,this.init_done=!0},oe.prototype.params=function(){throw new Error("deflateParams Not supported")},oe.prototype._writeCheck=function(){if(!this.init_done)throw new Error("write before init");if(this.mode===Mi)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")},oe.prototype.write=function(e,t,r,n,i,a,o){this._writeCheck(),this.write_in_progress=!0;var s=this;return be.nextTick(function(){s.write_in_progress=!1;var c=s._write(e,t,r,n,i,a,o);s.callback(c[0],c[1]),s.pending_close&&s.close()}),this};function fp(e,t){for(var r=0;r<e.length;r++)this[t+r]=e[r]}oe.prototype.writeSync=function(e,t,r,n,i,a,o){return this._writeCheck(),this._write(e,t,r,n,i,a,o)},oe.prototype._write=function(e,t,r,n,i,a,o){if(this.write_in_progress=!0,e!==Sf&&e!==Af&&e!==kf&&e!==Rf&&e!==ji&&e!==Of)throw new Error("Invalid flush value");t==null&&(t=new y(0),n=0,r=0),i._set?i.set=i._set:i.set=fp;var s=this.strm;s.avail_in=n,s.input=t,s.next_in=r,s.avail_out=o,s.output=i,s.next_out=a;var c;switch(this.mode){case mt:case Kt:case xt:c=wd(s,e);break;case Vt:case Pr:case Fr:case Wt:c=Hd(s,e);break;default:throw new Error("Unknown mode "+this.mode)}return this._checkError(c,s,e)||this._error(c),this.write_in_progress=!1,[s.avail_in,s.avail_out]},oe.prototype._checkError=function(e,t,r){switch(e){case Cr:case Pf:if(t.avail_out!==0&&r===ji)return!1;break;case Tf:break;case If:return!1;default:return!1}return!0},oe.prototype.close=function(){if(this.write_in_progress){this.pending_close=!0;return}this.pending_close=!1,this.mode===mt||this.mode===Kt||this.mode===xt?bd(this.strm):qd(this.strm),this.mode=Mi};var Dr;oe.prototype.reset=function(){switch(this.mode){case mt:case xt:Dr=zs(this.strm);break;case Pr:case Wt:Dr=xf(this.strm);break}Dr!==Cr&&this._error(Dr)},oe.prototype._error=function(e){this.onerror(ys[e]+": "+this.strm.msg,e),this.write_in_progress=!1,this.pending_close&&this.close()};var Cf=Object.freeze({__proto__:null,DEFLATE:mt,DEFLATERAW:xt,GUNZIP:Fr,GZIP:Kt,INFLATE:Pr,INFLATERAW:Wt,NONE:Mi,UNZIP:Vt,Z_BEST_COMPRESSION:Xd,Z_BEST_SPEED:Jd,Z_BINARY:ap,Z_BLOCK:Of,Z_BUF_ERROR:Pf,Z_DATA_ERROR:Gd,Z_DEFAULT_COMPRESSION:Qd,Z_DEFAULT_STRATEGY:ip,Z_DEFLATED:Ff,Z_ERRNO:Wd,Z_FILTERED:ep,Z_FINISH:ji,Z_FIXED:np,Z_FULL_FLUSH:Rf,Z_HUFFMAN_ONLY:tp,Z_NEED_DICT:If,Z_NO_COMPRESSION:Yd,Z_NO_FLUSH:Sf,Z_OK:Cr,Z_PARTIAL_FLUSH:Af,Z_RLE:rp,Z_STREAM_END:Tf,Z_STREAM_ERROR:Vd,Z_SYNC_FLUSH:kf,Z_TEXT:op,Z_TREES:Kd,Z_UNKNOWN:sp,Zlib:oe});function cp(e,t){if(!e)throw new Error(t)}var m={};Object.keys(Cf).forEach(function(e){m[e]=Cf[e]}),m.Z_MIN_WINDOWBITS=8,m.Z_MAX_WINDOWBITS=15,m.Z_DEFAULT_WINDOWBITS=15,m.Z_MIN_CHUNK=64,m.Z_MAX_CHUNK=1/0,m.Z_DEFAULT_CHUNK=16*1024,m.Z_MIN_MEMLEVEL=1,m.Z_MAX_MEMLEVEL=9,m.Z_DEFAULT_MEMLEVEL=8,m.Z_MIN_LEVEL=-1,m.Z_MAX_LEVEL=9,m.Z_DEFAULT_LEVEL=m.Z_DEFAULT_COMPRESSION;var Gt={Z_OK:m.Z_OK,Z_STREAM_END:m.Z_STREAM_END,Z_NEED_DICT:m.Z_NEED_DICT,Z_ERRNO:m.Z_ERRNO,Z_STREAM_ERROR:m.Z_STREAM_ERROR,Z_DATA_ERROR:m.Z_DATA_ERROR,Z_MEM_ERROR:m.Z_MEM_ERROR,Z_BUF_ERROR:m.Z_BUF_ERROR,Z_VERSION_ERROR:m.Z_VERSION_ERROR};Object.keys(Gt).forEach(function(e){Gt[Gt[e]]=e});function lp(e){return new tt(e)}function up(e){return new rt(e)}function hp(e){return new at(e)}function dp(e){return new ot(e)}function pp(e){return new nt(e)}function yp(e){return new it(e)}function vp(e){return new st(e)}function gp(e,t,r){return typeof t=="function"&&(r=t,t={}),Qe(new tt(t),e,r)}function _p(e,t){return et(new tt(t),e)}function wp(e,t,r){return typeof t=="function"&&(r=t,t={}),Qe(new nt(t),e,r)}function bp(e,t){return et(new nt(t),e)}function mp(e,t,r){return typeof t=="function"&&(r=t,t={}),Qe(new at(t),e,r)}function xp(e,t){return et(new at(t),e)}function Ep(e,t,r){return typeof t=="function"&&(r=t,t={}),Qe(new st(t),e,r)}function Sp(e,t){return et(new st(t),e)}function Ap(e,t,r){return typeof t=="function"&&(r=t,t={}),Qe(new rt(t),e,r)}function kp(e,t){return et(new rt(t),e)}function Rp(e,t,r){return typeof t=="function"&&(r=t,t={}),Qe(new it(t),e,r)}function Op(e,t){return et(new it(t),e)}function Tp(e,t,r){return typeof t=="function"&&(r=t,t={}),Qe(new ot(t),e,r)}function Ip(e,t){return et(new ot(t),e)}function Qe(e,t,r){var n=[],i=0;e.on("error",o),e.on("end",s),e.end(t),a();function a(){for(var c;(c=e.read())!==null;)n.push(c),i+=c.length;e.once("readable",a)}function o(c){e.removeListener("end",s),e.removeListener("readable",a),r(c)}function s(){var c=y.concat(n,i);n=[],r(null,c),e.close()}}function et(e,t){if(typeof t=="string"&&(t=new y(t)),!y.isBuffer(t))throw new TypeError("Not a string or buffer");var r=m.Z_FINISH;return e._processChunk(t,r)}function tt(e){if(!(this instanceof tt))return new tt(e);M.call(this,e,m.DEFLATE)}function rt(e){if(!(this instanceof rt))return new rt(e);M.call(this,e,m.INFLATE)}function nt(e){if(!(this instanceof nt))return new nt(e);M.call(this,e,m.GZIP)}function it(e){if(!(this instanceof it))return new it(e);M.call(this,e,m.GUNZIP)}function at(e){if(!(this instanceof at))return new at(e);M.call(this,e,m.DEFLATERAW)}function ot(e){if(!(this instanceof ot))return new ot(e);M.call(this,e,m.INFLATERAW)}function st(e){if(!(this instanceof st))return new st(e);M.call(this,e,m.UNZIP)}function M(e,t){if(this._opts=e=e||{},this._chunkSize=e.chunkSize||m.Z_DEFAULT_CHUNK,ee.call(this,e),e.flush&&e.flush!==m.Z_NO_FLUSH&&e.flush!==m.Z_PARTIAL_FLUSH&&e.flush!==m.Z_SYNC_FLUSH&&e.flush!==m.Z_FULL_FLUSH&&e.flush!==m.Z_FINISH&&e.flush!==m.Z_BLOCK)throw new Error("Invalid flush flag: "+e.flush);if(this._flushFlag=e.flush||m.Z_NO_FLUSH,e.chunkSize&&(e.chunkSize<m.Z_MIN_CHUNK||e.chunkSize>m.Z_MAX_CHUNK))throw new Error("Invalid chunk size: "+e.chunkSize);if(e.windowBits&&(e.windowBits<m.Z_MIN_WINDOWBITS||e.windowBits>m.Z_MAX_WINDOWBITS))throw new Error("Invalid windowBits: "+e.windowBits);if(e.level&&(e.level<m.Z_MIN_LEVEL||e.level>m.Z_MAX_LEVEL))throw new Error("Invalid compression level: "+e.level);if(e.memLevel&&(e.memLevel<m.Z_MIN_MEMLEVEL||e.memLevel>m.Z_MAX_MEMLEVEL))throw new Error("Invalid memLevel: "+e.memLevel);if(e.strategy&&e.strategy!=m.Z_FILTERED&&e.strategy!=m.Z_HUFFMAN_ONLY&&e.strategy!=m.Z_RLE&&e.strategy!=m.Z_FIXED&&e.strategy!=m.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+e.strategy);if(e.dictionary&&!y.isBuffer(e.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance");this._binding=new m.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=Gt[o],r.emit("error",s)};var n=m.Z_DEFAULT_COMPRESSION;typeof e.level=="number"&&(n=e.level);var i=m.Z_DEFAULT_STRATEGY;typeof e.strategy=="number"&&(i=e.strategy),this._binding.init(e.windowBits||m.Z_DEFAULT_WINDOWBITS,n,e.memLevel||m.Z_DEFAULT_MEMLEVEL,i,e.dictionary),this._buffer=new y(this._chunkSize),this._offset=0,this._closed=!1,this._level=n,this._strategy=i,this.once("end",this.close)}K(M,ee),M.prototype.params=function(e,t,r){if(e<m.Z_MIN_LEVEL||e>m.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+e);if(t!=m.Z_FILTERED&&t!=m.Z_HUFFMAN_ONLY&&t!=m.Z_RLE&&t!=m.Z_FIXED&&t!=m.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+t);if(this._level!==e||this._strategy!==t){var n=this;this.flush(m.Z_SYNC_FLUSH,function(){n._binding.params(e,t),n._hadError||(n._level=e,n._strategy=t,r&&r())})}else be.nextTick(r)},M.prototype.reset=function(){return this._binding.reset()},M.prototype._flush=function(e){this._transform(new y(0),"",e)},M.prototype.flush=function(e,t){var r=this._writableState;if((typeof e=="function"||e===void 0&&!t)&&(t=e,e=m.Z_FULL_FLUSH),r.ended)t&&be.nextTick(t);else if(r.ending)t&&this.once("end",t);else if(r.needDrain){var n=this;this.once("drain",function(){n.flush(t)})}else this._flushFlag=e,this.write(new y(0),"",t)},M.prototype.close=function(e){if(e&&be.nextTick(e),!this._closed){this._closed=!0,this._binding.close();var t=this;be.nextTick(function(){t.emit("close")})}},M.prototype._transform=function(e,t,r){var n,i=this._writableState,a=i.ending||i.ended,o=a&&(!e||i.length===e.length);if(!e===null&&!y.isBuffer(e))return r(new Error("invalid input"));o?n=m.Z_FINISH:(n=this._flushFlag,e.length>=i.length&&(this._flushFlag=this._opts.flush||m.Z_NO_FLUSH)),this._processChunk(e,n,r)},M.prototype._processChunk=function(e,t,r){var n=e&&e.length,i=this._chunkSize-this._offset,a=0,o=this,s=typeof r=="function";if(!s){var c=[],f=0,l;this.on("error",function(v){l=v});do var d=this._binding.writeSync(t,e,a,n,this._buffer,this._offset,i);while(!this._hadError&&p(d[0],d[1]));if(this._hadError)throw l;var h=y.concat(c,f);return this.close(),h}var u=this._binding.write(t,e,a,n,this._buffer,this._offset,i);u.buffer=e,u.callback=p;function p(v,_){if(!o._hadError){var w=i-_;if(cp(w>=0,"have should not go down"),w>0){var E=o._buffer.slice(o._offset,o._offset+w);o._offset+=w,s?o.push(E):(c.push(E),f+=E.length)}if((_===0||o._offset>=o._chunkSize)&&(i=o._chunkSize,o._offset=0,o._buffer=new y(o._chunkSize)),_===0){if(a+=n-v,n=v,!s)return!0;var S=o._binding.write(t,e,a,n,o._buffer,o._offset,o._chunkSize);S.callback=p,S.buffer=e;return}if(!s)return!1;r()}}},K(tt,M),K(rt,M),K(nt,M),K(it,M),K(at,M),K(ot,M),K(st,M);var Df={codes:Gt,createDeflate:lp,createInflate:up,createDeflateRaw:hp,createInflateRaw:dp,createGzip:pp,createGunzip:yp,createUnzip:vp,deflate:gp,deflateSync:_p,gzip:wp,gzipSync:bp,deflateRaw:mp,deflateRawSync:xp,unzip:Ep,unzipSync:Sp,inflate:Ap,inflateSync:kp,gunzip:Rp,gunzipSync:Op,inflateRaw:Tp,inflateRawSync:Ip,Deflate:tt,Inflate:rt,Gzip:nt,Gunzip:it,DeflateRaw:at,InflateRaw:ot,Unzip:st,Zlib:M};class Mf extends ui{constructor({client:t,keyPrefix:r="cache",ttl:n=0,prefix:i=void 0}){super({client:t,keyPrefix:r,ttl:n,prefix:i}),this.client=t,this.keyPrefix=r,this.config.ttl=n,this.config.client=t,this.config.prefix=i!==void 0?i:r+(r.endsWith("/")?"":"/")}async _set(t,r){let n=JSON.stringify(r);const i=n.length;return n=Df.gzipSync(n).toString("base64"),this.client.putObject({key:ge(this.keyPrefix,t),body:n,contentEncoding:"gzip",contentType:"application/gzip",metadata:{compressor:"zlib",compressed:"true","client-id":this.client.id,"length-serialized":String(i),"length-compressed":String(n.length),"compression-gain":(n.length/i).toFixed(2)}})}async _get(t){try{const{Body:r}=await this.client.getObject(ge(this.keyPrefix,t));let n=await Ft(r);return n=Buffer.from(n,"base64"),n=Df.unzipSync(n).toString(),JSON.parse(n)}catch(r){if(r.name==="NoSuchKey"||r.name==="NotFound")return null;throw r}}async _del(t){return await this.client.deleteObject(ge(this.keyPrefix,t)),!0}async _clear(){const t=await this.client.getAllKeys({prefix:this.keyPrefix});for(const r of t)await this.client.deleteObject(r)}async size(){return(await this.keys()).length}async keys(){const t=await this.client.getAllKeys({prefix:this.keyPrefix}),r=this.keyPrefix.endsWith("/")?this.keyPrefix:this.keyPrefix+"/";return t.map(n=>n.startsWith(r)?n.slice(r.length):n)}}class jf extends R{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 Pp={setup(e){},start(){},stop(){}},Fp={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 Cp extends jf{constructor(t={}){super(),this.driver=t.driver}async setup(t){this.database=t,this.driver||(this.driver=new Mf({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 n=await this._createResource(...r);return t(n),n}}installResourcesProxies(t){t.cache=this.driver;let r=`resource=${t.name}`;this.driver.keyPrefix&&(this.driver.keyPrefix=ge(this.driver.keyPrefix,r)),t.cacheKeyFor=async function({params:n={},action:i="list"}){let a=Object.keys(n).sort().map(o=>`${o}:${n[o]}`).join("|")||"empty";return a=await fa(a),a=ge(r,`action=${i}`,`${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 n=await this.cacheKeyFor({action:"count"});try{const a=await this.cache.get(n);if(a)return a}catch(a){if(a.name!=="NoSuchKey")throw a}const i=await t._count();return await this.cache.set(n,i),i},t.listIds=async function(){const n=await this.cacheKeyFor({action:"listIds"});try{const a=await this.cache.get(n);if(a)return a}catch(a){if(a.name!=="NoSuchKey")throw a}const i=await t._listIds();return await this.cache.set(n,i),i},t.getMany=async function(n){const i=await this.cacheKeyFor({action:"getMany",params:{ids:n}});try{const o=await this.cache.get(i);if(o)return o}catch(o){if(o.name!=="NoSuchKey")throw o}const a=await t._getMany(n);return await this.cache.set(i,a),a},t.getAll=async function(){const n=await this.cacheKeyFor({action:"getAll"});try{const a=await this.cache.get(n);if(a)return a}catch(a){if(a.name!=="NoSuchKey")throw a}const i=await t._getAll();return await this.cache.set(n,i),i},t.page=async function({offset:n,size:i}){const a=await this.cacheKeyFor({action:"page",params:{offset:n,size:i}});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:n,size:i});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(...n){const i=await t._insert(...n);return await this.cache.clear(r),i},t.update=async function(...n){const i=await t._update(...n);return await this.cache.clear(r),i},t.delete=async function(...n){const i=await t._delete(...n);return await this.cache.clear(r),i},t.deleteMany=async function(...n){const i=await t._deleteMany(...n);return await this.cache.clear(r),i}}}export{ct as BaseError,ui as Cache,Cp as CachePlugin,sa as Client,oa as ConnectionString,Fp as CostsPlugin,ps as Database,na as ErrorMap,rr as InvalidResourceItem,Ah as MemoryCache,ta as MissingMetadata,Qi as NoSuchBucket,$r as NoSuchKey,ea as NotFound,jf as Plugin,Pp as PluginObject,as as ResourceIdsPageReader,is as ResourceIdsReader,os as ResourceReader,ss as ResourceWriter,Mf as S3Cache,aa as S3_DEFAULT_ENDPOINT,ia as S3_DEFAULT_REGION,Sh as S3db,ra as UnknownError,po as Validator,yo as ValidatorManager,ca as decrypt,zr as encrypt,fa as sha256,Ft as streamToString};
29
+ `)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}function vu(e){return Array.isArray(e)}function Uo(e){return typeof e=="boolean"}function Vn(e){return e===null}function gu(e){return typeof e=="number"}function Gn(e){return typeof e=="string"}function Ie(e){return e===void 0}function Yn(e){return Tt(e)&&Qn(e)==="[object RegExp]"}function Tt(e){return typeof e=="object"&&e!==null}function $o(e){return Tt(e)&&Qn(e)==="[object Date]"}function Jn(e){return Tt(e)&&(Qn(e)==="[object Error]"||e instanceof Error)}function Xn(e){return typeof e=="function"}function Qn(e){return Object.prototype.toString.call(e)}function _u(e,t){if(!t||!Tt(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e}function zo(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Ke(){this.head=null,this.tail=null,this.length=0}Ke.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},Ke.prototype.unshift=function(e){var t={data:e,next:this.head};this.length===0&&(this.tail=t),this.head=t,++this.length},Ke.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}},Ke.prototype.clear=function(){this.head=this.tail=null,this.length=0},Ke.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},Ke.prototype.concat=function(e){if(this.length===0)return y.alloc(0);if(this.length===1)return this.head.data;for(var t=y.allocUnsafe(e>>>0),r=this.head,n=0;r;)r.data.copy(t,n),n+=r.data.length,r=r.next;return t};var wu=y.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 bu(e){if(e&&!wu(e))throw new Error("Unknown encoding: "+e)}function It(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),bu(e),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=xu;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=Eu;break;default:this.write=mu;return}this.charBuffer=new y(6),this.charReceived=0,this.charLength=0}It.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 i=t.charCodeAt(t.length-1);if(i>=55296&&i<=56319){this.charLength+=this.surrogateSize,t="";continue}if(this.charReceived=this.charLength=0,e.length===0)return t;break}this.detectIncompleteChar(e);var n=e.length;this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,n),n-=this.charReceived),t+=e.toString(this.encoding,0,n);var n=t.length-1,i=t.charCodeAt(n);if(i>=55296&&i<=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,n)}return t},It.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},It.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var r=this.charReceived,n=this.charBuffer,i=this.encoding;t+=n.slice(0,r).toString(i)}return t};function mu(e){return e.toString(this.encoding)}function xu(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function Eu(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}L.ReadableState=Zo;var F=cu("stream");K(L,R);function Su(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 Au(e,t){return e.listeners(t).length}function Zo(e,t){e=e||{},this.objectMode=!!e.objectMode,t instanceof ne&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var r=e.highWaterMark,n=this.objectMode?16:16*1024;this.highWaterMark=r||r===0?r:n,this.highWaterMark=~~this.highWaterMark,this.buffer=new Ke,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 It(e.encoding),this.encoding=e.encoding)}function L(e){if(!(this instanceof L))return new L(e);this._readableState=new Zo(e,this),this.readable=!0,e&&typeof e.read=="function"&&(this._read=e.read),R.call(this)}L.prototype.push=function(e,t){var r=this._readableState;return!r.objectMode&&typeof e=="string"&&(t=t||r.defaultEncoding,t!==r.encoding&&(e=y.from(e,t),t="")),Ho(this,r,e,t,!1)},L.prototype.unshift=function(e){var t=this._readableState;return Ho(this,t,e,"",!0)},L.prototype.isPaused=function(){return this._readableState.flowing===!1};function Ho(e,t,r,n,i){var a=Ou(t,r);if(a)e.emit("error",a);else if(r===null)t.reading=!1,Tu(e,t);else if(t.objectMode||r&&r.length>0)if(t.ended&&!i){var o=new Error("stream.push() after EOF");e.emit("error",o)}else if(t.endEmitted&&i){var s=new Error("stream.unshift() after end event");e.emit("error",s)}else{var c;t.decoder&&!i&&!n&&(r=t.decoder.write(r),c=!t.objectMode&&r.length===0),i||(t.reading=!1),c||(t.flowing&&t.length===0&&!t.sync?(e.emit("data",r),e.read(0)):(t.length+=t.objectMode?1:r.length,i?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&gr(e))),Iu(e,t)}else i||(t.reading=!1);return ku(t)}function ku(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||e.length===0)}L.prototype.setEncoding=function(e){return this._readableState.decoder=new It(e),this._readableState.encoding=e,this};var qo=8388608;function Ru(e){return e>=qo?e=qo:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function Ko(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=Ru(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}L.prototype.read=function(e){F("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 F("read: emitReadable",t.length,t.ended),t.length===0&&t.ended?ti(this):gr(this),null;if(e=Ko(e,t),e===0&&t.ended)return t.length===0&&ti(this),null;var n=t.needReadable;F("need readable",n),(t.length===0||t.length-e<t.highWaterMark)&&(n=!0,F("length less than watermark",n)),t.ended||t.reading?(n=!1,F("reading or ended",n)):n&&(F("do read"),t.reading=!0,t.sync=!0,t.length===0&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=Ko(r,t)));var i;return e>0?i=Vo(e,t):i=null,i===null?(t.needReadable=!0,e=0):t.length-=e,t.length===0&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&ti(this)),i!==null&&this.emit("data",i),i};function Ou(e,t){var r=null;return!y.isBuffer(t)&&typeof t!="string"&&t!==null&&t!==void 0&&!e.objectMode&&(r=new TypeError("Invalid non-string/buffer chunk")),r}function Tu(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,gr(e)}}function gr(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(F("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?Q(Wo,e):Wo(e))}function Wo(e){F("emit readable"),e.emit("readable"),ei(e)}function Iu(e,t){t.readingMore||(t.readingMore=!0,Q(Pu,e,t))}function Pu(e,t){for(var r=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(F("maybeReadMore read 0"),e.read(0),r!==t.length);)r=t.length;t.readingMore=!1}L.prototype._read=function(e){this.emit("error",new Error("not implemented"))},L.prototype.pipe=function(e,t){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=e;break;case 1:n.pipes=[n.pipes,e];break;default:n.pipes.push(e);break}n.pipesCount+=1,F("pipe count=%d opts=%j",n.pipesCount,t);var i=!t||t.end!==!1,a=i?s:l;n.endEmitted?Q(a):r.once("end",a),e.on("unpipe",o);function o(w){F("onunpipe"),w===r&&l()}function s(){F("onend"),e.end()}var c=Fu(r);e.on("drain",c);var f=!1;function l(){F("cleanup"),e.removeListener("close",p),e.removeListener("finish",v),e.removeListener("drain",c),e.removeListener("error",u),e.removeListener("unpipe",o),r.removeListener("end",s),r.removeListener("end",l),r.removeListener("data",h),f=!0,n.awaitDrain&&(!e._writableState||e._writableState.needDrain)&&c()}var d=!1;r.on("data",h);function h(w){F("ondata"),d=!1;var E=e.write(w);E===!1&&!d&&((n.pipesCount===1&&n.pipes===e||n.pipesCount>1&&Go(n.pipes,e)!==-1)&&!f&&(F("false write response, pause",r._readableState.awaitDrain),r._readableState.awaitDrain++,d=!0),r.pause())}function u(w){F("onerror",w),_(),e.removeListener("error",u),Au(e,"error")===0&&e.emit("error",w)}Su(e,"error",u);function p(){e.removeListener("finish",v),_()}e.once("close",p);function v(){F("onfinish"),e.removeListener("close",p),_()}e.once("finish",v);function _(){F("unpipe"),r.unpipe(e)}return e.emit("pipe",r),n.flowing||(F("pipe resume"),r.resume()),e};function Fu(e){return function(){var t=e._readableState;F("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,t.awaitDrain===0&&e.listeners("data").length&&(t.flowing=!0,ei(e))}}L.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,n=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var i=0;i<n;i++)r[i].emit("unpipe",this);return this}var a=Go(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)},L.prototype.on=function(e,t){var r=R.prototype.on.call(this,e,t);if(e==="data")this._readableState.flowing!==!1&&this.resume();else if(e==="readable"){var n=this._readableState;!n.endEmitted&&!n.readableListening&&(n.readableListening=n.needReadable=!0,n.emittedReadable=!1,n.reading?n.length&&gr(this):Q(Cu,this))}return r},L.prototype.addListener=L.prototype.on;function Cu(e){F("readable nexttick read 0"),e.read(0)}L.prototype.resume=function(){var e=this._readableState;return e.flowing||(F("resume"),e.flowing=!0,Du(this,e)),this};function Du(e,t){t.resumeScheduled||(t.resumeScheduled=!0,Q(ju,e,t))}function ju(e,t){t.reading||(F("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),ei(e),t.flowing&&!t.reading&&e.read(0)}L.prototype.pause=function(){return F("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(F("pause"),this._readableState.flowing=!1,this.emit("pause")),this};function ei(e){var t=e._readableState;for(F("flow",t.flowing);t.flowing&&e.read()!==null;);}L.prototype.wrap=function(e){var t=this._readableState,r=!1,n=this;e.on("end",function(){if(F("wrapped end"),t.decoder&&!t.ended){var o=t.decoder.end();o&&o.length&&n.push(o)}n.push(null)}),e.on("data",function(o){if(F("wrapped data"),t.decoder&&(o=t.decoder.write(o)),!(t.objectMode&&o==null)&&!(!t.objectMode&&(!o||!o.length))){var s=n.push(o);s||(r=!0,e.pause())}});for(var i in e)this[i]===void 0&&typeof e[i]=="function"&&(this[i]=function(o){return function(){return e[o].apply(e,arguments)}}(i));var a=["error","close","destroy","pause","resume"];return Uu(a,function(o){e.on(o,n.emit.bind(n,o))}),n._read=function(o){F("wrapped _read",o),r&&(r=!1,e.resume())},n},L._fromList=Vo;function Vo(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=Mu(e,t.buffer,t.decoder),r}function Mu(e,t,r){var n;return e<t.head.data.length?(n=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):e===t.head.data.length?n=t.shift():n=r?Lu(e,t):Nu(e,t),n}function Lu(e,t){var r=t.head,n=1,i=r.data;for(e-=i.length;r=r.next;){var a=r.data,o=e>a.length?a.length:e;if(o===a.length?i+=a:i+=a.slice(0,e),e-=o,e===0){o===a.length?(++n,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=a.slice(o));break}++n}return t.length-=n,i}function Nu(e,t){var r=y.allocUnsafe(e),n=t.head,i=1;for(n.data.copy(r),e-=n.data.length;n=n.next;){var a=n.data,o=e>a.length?a.length:e;if(a.copy(r,r.length-e,0,o),e-=o,e===0){o===a.length?(++i,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=a.slice(o));break}++i}return t.length-=i,r}function ti(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,Q(Bu,t,e))}function Bu(e,t){!e.endEmitted&&e.length===0&&(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function Uu(e,t){for(var r=0,n=e.length;r<n;r++)t(e[r],r)}function Go(e,t){for(var r=0,n=e.length;r<n;r++)if(e[r]===t)return r;return-1}Z.WritableState=ri,K(Z,R);function $u(){}function zu(e,t,r){this.chunk=e,this.encoding=t,this.callback=r,this.next=null}function ri(e,t){Object.defineProperty(this,"buffer",{get:Bo(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.")}),e=e||{},this.objectMode=!!e.objectMode,t instanceof ne&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var r=e.highWaterMark,n=this.objectMode?16:16*1024;this.highWaterMark=r||r===0?r:n,this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1;var i=e.decodeStrings===!1;this.decodeStrings=!i,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(a){Gu(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 ts(this)}ri.prototype.getBuffer=function(){for(var t=this.bufferedRequest,r=[];t;)r.push(t),t=t.next;return r};function Z(e){if(!(this instanceof Z)&&!(this instanceof ne))return new Z(e);this._writableState=new ri(e,this),this.writable=!0,e&&(typeof e.write=="function"&&(this._write=e.write),typeof e.writev=="function"&&(this._writev=e.writev)),R.call(this)}Z.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))};function Zu(e,t){var r=new Error("write after end");e.emit("error",r),Q(t,r)}function Hu(e,t,r,n){var i=!0,a=!1;return r===null?a=new TypeError("May not write null values to stream"):!y.isBuffer(r)&&typeof r!="string"&&r!==void 0&&!t.objectMode&&(a=new TypeError("Invalid non-string/buffer chunk")),a&&(e.emit("error",a),Q(n,a),i=!1),i}Z.prototype.write=function(e,t,r){var n=this._writableState,i=!1;return typeof t=="function"&&(r=t,t=null),y.isBuffer(e)?t="buffer":t||(t=n.defaultEncoding),typeof r!="function"&&(r=$u),n.ended?Zu(this,r):Hu(this,n,e,r)&&(n.pendingcb++,i=Ku(this,n,e,t,r)),i},Z.prototype.cork=function(){var e=this._writableState;e.corked++},Z.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,!e.writing&&!e.corked&&!e.finished&&!e.bufferProcessing&&e.bufferedRequest&&Jo(this,e))},Z.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 qu(e,t,r){return!e.objectMode&&e.decodeStrings!==!1&&typeof t=="string"&&(t=y.from(t,r)),t}function Ku(e,t,r,n,i){r=qu(t,r,n),y.isBuffer(r)&&(n="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 zu(r,n,i),s?s.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else ni(e,t,!1,a,r,n,i);return o}function ni(e,t,r,n,i,a,o){t.writelen=n,t.writecb=o,t.writing=!0,t.sync=!0,r?e._writev(i,t.onwrite):e._write(i,a,t.onwrite),t.sync=!1}function Wu(e,t,r,n,i){--t.pendingcb,r?Q(i,n):i(n),e._writableState.errorEmitted=!0,e.emit("error",n)}function Vu(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function Gu(e,t){var r=e._writableState,n=r.sync,i=r.writecb;if(Vu(r),t)Wu(e,r,n,t,i);else{var a=Xo(r);!a&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&Jo(e,r),n?Q(Yo,e,r,a,i):Yo(e,r,a,i)}}function Yo(e,t,r,n){r||Yu(e,t),t.pendingcb--,n(),es(e,t)}function Yu(e,t){t.length===0&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}function Jo(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var n=t.bufferedRequestCount,i=new Array(n),a=t.corkedRequestsFree;a.entry=r;for(var o=0;r;)i[o]=r,r=r.next,o+=1;ni(e,t,!0,t.length,i,"",a.finish),t.pendingcb++,t.lastBufferedRequest=null,a.next?(t.corkedRequestsFree=a.next,a.next=null):t.corkedRequestsFree=new ts(t)}else{for(;r;){var s=r.chunk,c=r.encoding,f=r.callback,l=t.objectMode?1:s.length;if(ni(e,t,!1,l,s,c,f),r=r.next,t.writing)break}r===null&&(t.lastBufferedRequest=null)}t.bufferedRequestCount=0,t.bufferedRequest=r,t.bufferProcessing=!1}Z.prototype._write=function(e,t,r){r(new Error("not implemented"))},Z.prototype._writev=null,Z.prototype.end=function(e,t,r){var n=this._writableState;typeof e=="function"?(r=e,e=null,t=null):typeof t=="function"&&(r=t,t=null),e!=null&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),!n.ending&&!n.finished&&Ju(this,n,r)};function Xo(e){return e.ending&&e.length===0&&e.bufferedRequest===null&&!e.finished&&!e.writing}function Qo(e,t){t.prefinished||(t.prefinished=!0,e.emit("prefinish"))}function es(e,t){var r=Xo(t);return r&&(t.pendingcb===0?(Qo(e,t),t.finished=!0,e.emit("finish")):Qo(e,t)),r}function Ju(e,t,r){t.ending=!0,es(e,t),r&&(t.finished?Q(r):e.once("finish",r)),t.ended=!0,e.writable=!1}function ts(e){var t=this;this.next=null,this.entry=null,this.finish=function(r){var n=t.entry;for(t.entry=null;n;){var i=n.callback;e.pendingcb--,i(r),n=n.next}e.corkedRequestsFree?e.corkedRequestsFree.next=t:e.corkedRequestsFree=t}}K(ne,L);for(var rs=Object.keys(Z.prototype),ii=0;ii<rs.length;ii++){var ai=rs[ii];ne.prototype[ai]||(ne.prototype[ai]=Z.prototype[ai])}function ne(e){if(!(this instanceof ne))return new ne(e);L.call(this,e),Z.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",Xu)}function Xu(){this.allowHalfOpen||this._writableState.ended||Q(Qu,this)}function Qu(e){e.end()}K(ee,ne);function eh(e){this.afterTransform=function(t,r){return th(e,t,r)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null,this.writeencoding=null}function th(e,t,r){var n=e._transformState;n.transforming=!1;var i=n.writecb;if(!i)return e.emit("error",new Error("no writecb in Transform class"));n.writechunk=null,n.writecb=null,r!=null&&e.push(r),i(t);var a=e._readableState;a.reading=!1,(a.needReadable||a.length<a.highWaterMark)&&e._read(a.highWaterMark)}function ee(e){if(!(this instanceof ee))return new ee(e);ne.call(this,e),this._transformState=new eh(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){ns(t,r)}):ns(t)})}ee.prototype.push=function(e,t){return this._transformState.needTransform=!1,ne.prototype.push.call(this,e,t)},ee.prototype._transform=function(e,t,r){throw new Error("Not implemented")},ee.prototype._write=function(e,t,r){var n=this._transformState;if(n.writecb=r,n.writechunk=e,n.writeencoding=t,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},ee.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 ns(e,t){if(t)return e.emit("error",t);var r=e._writableState,n=e._transformState;if(r.length)throw new Error("Calling transform done when ws.length != 0");if(n.transforming)throw new Error("Calling transform done when still transforming");return e.push(null)}K(Pt,ee);function Pt(e){if(!(this instanceof Pt))return new Pt(e);ee.call(this,e)}Pt.prototype._transform=function(e,t,r){r(null,e)},K(me,R),me.Readable=L,me.Writable=Z,me.Duplex=ne,me.Transform=ee,me.PassThrough=Pt,me.Stream=me;function me(){R.call(this)}me.prototype.pipe=function(e,t){var r=this;function n(l){e.writable&&e.write(l)===!1&&r.pause&&r.pause()}r.on("data",n);function i(){r.readable&&r.resume&&r.resume()}e.on("drain",i),!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 c(l){if(f(),R.listenerCount(this,"error")===0)throw l}r.on("error",c),e.on("error",c);function f(){r.removeListener("data",n),e.removeListener("drain",i),r.removeListener("end",o),r.removeListener("close",s),r.removeListener("error",c),e.removeListener("error",c),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};class is extends R{constructor({resource:t}){super(),this.resource=t,this.client=t.client,this.stream=new nc({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}),n=r?.Contents.map(i=>i.Key).map(i=>i.replace(this.client.config.keyPrefix,"")).map(i=>i.startsWith("/")?i.replace("/",""):i).map(i=>i.replace(`resource=${this.resource.name}/id=`,""));this.continuationToken=r.NextContinuationToken,this.enqueue(n),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 as extends is{enqueue(t){this.controller.enqueue(t),this.emit("page",t)}}class os extends R{constructor({resource:t,batchSize:r=10,concurrency:n=5}){if(super(),!t)throw new Error("Resource is required for ResourceReader");this.resource=t,this.client=t.client,this.batchSize=r,this.concurrency=n,this.input=new as({resource:this.resource}),this.transform=new ee({objectMode:!0,transform:this._transform.bind(this)}),this.input.on("data",i=>{this.transform.write(i)}),this.input.on("end",()=>{this.transform.end()}),this.input.on("error",i=>{this.emit("error",i)}),this.transform.on("data",i=>{this.emit("data",i)}),this.transform.on("end",()=>{this.emit("end")}),this.transform.on("error",i=>{this.emit("error",i)})}build(){return this}async _transform(t,r,n){try{await le.for(t).withConcurrency(this.concurrency).handleError(async(i,a)=>{this.emit("error",i,a)}).process(async i=>{const a=await this.resource.get(i);return this.push(a),a}),n()}catch(i){n(i)}}resume(){this.input.resume()}}class ss extends R{constructor({resource:t,batchSize:r=10,concurrency:n=5}){super(),this.resource=t,this.client=t.client,this.batchSize=r,this.concurrency=n,this.buffer=[],this.writing=!1,this.writable=new Z({objectMode:!0,write:this._write.bind(this)}),this.writable.on("finish",()=>{this.emit("finish")}),this.writable.on("error",i=>{this.emit("error",i)})}build(){return this}write(t){return this.buffer.push(t),this._maybeWrite(),!0}end(){this.ended=!0,this._maybeWrite()}async _maybeWrite(){if(!this.writing&&!(this.buffer.length===0&&!this.ended)){for(this.writing=!0;this.buffer.length>0;){const t=this.buffer.splice(0,this.batchSize);try{await le.for(t).withConcurrency(this.concurrency).handleError(async(r,n)=>{this.emit("error",r,n)}).process(async r=>{await this.resource.insert(r)})}catch(r){this.emit("error",r)}}this.writing=!1,this.ended&&this.writable.emit("finish")}}async _write(t,r,n){n()}}function Ft(e){return new Promise((t,r)=>{const n=[];e.on("data",i=>n.push(i)),e.on("error",r),e.on("end",()=>t(Buffer.concat(n).toString("utf-8")))})}function Ct(e){typeof e!="string"&&(e=String(e));let t=0;for(let r=0;r<e.length;r++){const n=e.codePointAt(r);n<=127?t+=1:n<=2047?t+=2:n<=65535?t+=3:n<=1114111&&(t+=4,n>65535&&r++)}return t}function fs(e){return e==null?"":typeof e=="boolean"?e?"1":"0":typeof e=="number"?String(e):typeof e=="string"?e:Array.isArray(e)?e.length===0?"[]":e.map(t=>String(t)).join("|"):typeof e=="object"?JSON.stringify(e):String(e)}function oi(e){const t={};for(const[r,n]of Object.entries(e)){const i=fs(n),a=Ct(i);t[r]=a}return t}function We(e){const t=oi(e);return Object.values(t).reduce((r,n)=>r+n,0)}const xe=2048;async function rh({resource:e,data:t,mappedData:r}){const n=We(r);return n>xe&&e.emit("exceedsLimit",{operation:"insert",totalSize:n,limit:xe,excess:n-xe,data:t}),{mappedData:r,body:""}}async function nh({resource:e,id:t,data:r,mappedData:n}){const i=We(n);return i>xe&&e.emit("exceedsLimit",{operation:"update",id:t,totalSize:i,limit:xe,excess:i-xe,data:r}),{mappedData:n,body:""}}async function ih({resource:e,id:t,data:r,mappedData:n}){const i=We(n);return i>xe&&e.emit("exceedsLimit",{operation:"upsert",id:t,totalSize:i,limit:xe,excess:i-xe,data:r}),{mappedData:n,body:""}}async function ah({resource:e,metadata:t,body:r}){return{metadata:t,body:r}}var oh=Object.freeze({__proto__:null,handleGet:ah,handleInsert:rh,handleUpdate:nh,handleUpsert:ih});const dt=2048;async function sh({resource:e,data:t,mappedData:r}){const n=We(r);if(n>dt)throw new Error(`S3 metadata size exceeds 2KB limit. Current size: ${n} bytes, limit: ${dt} bytes`);return{mappedData:r,body:""}}async function fh({resource:e,id:t,data:r,mappedData:n}){const i=We(n);if(i>dt)throw new Error(`S3 metadata size exceeds 2KB limit. Current size: ${i} bytes, limit: ${dt} bytes`);return{mappedData:n,body:""}}async function ch({resource:e,id:t,data:r,mappedData:n}){const i=We(n);if(i>dt)throw new Error(`S3 metadata size exceeds 2KB limit. Current size: ${i} bytes, limit: ${dt} bytes`);return{mappedData:n,body:""}}async function lh({resource:e,metadata:t,body:r}){return{metadata:t,body:r}}var uh=Object.freeze({__proto__:null,handleGet:lh,handleInsert:sh,handleUpdate:fh,handleUpsert:ch});const cs=2048,ls="...",us=Ct(ls);async function hh({resource:e,data:t,mappedData:r}){return si({resource:e,data:t,mappedData:r})}async function dh({resource:e,id:t,data:r,mappedData:n}){return si({resource:e,data:r,mappedData:n})}async function ph({resource:e,id:t,data:r,mappedData:n}){return si({resource:e,data:r,mappedData:n})}async function yh({resource:e,metadata:t,body:r}){return{metadata:t,body:r}}function si({resource:e,data:t,mappedData:r}){const n=oi(r),i=Object.entries(n).sort(([,s],[,c])=>s-c),a={};let o=0;for(const[s,c]of i){const f=cs-o;if(c<=f)a[s]=r[s],o+=c;else if(f>us){const l=f-us,d=fs(r[s]);let h="",u=0;for(let p=0;p<d.length;p++){const v=d[p],_=Ct(v);if(u+_<=l)h+=v,u+=_;else break}a[s]=h+ls,o=cs;break}else break}return{mappedData:a,body:""}}var vh=Object.freeze({__proto__:null,handleGet:yh,handleInsert:hh,handleUpdate:dh,handleUpsert:ph});const hs=2048,_r="$overflow",fi="true",gh=Ct(_r)+Ct(fi);async function _h({resource:e,data:t,mappedData:r}){return ci({resource:e,data:t,mappedData:r})}async function wh({resource:e,id:t,data:r,mappedData:n}){return ci({resource:e,data:r,mappedData:n})}async function bh({resource:e,id:t,data:r,mappedData:n}){return ci({resource:e,data:r,mappedData:n})}async function mh({resource:e,metadata:t,body:r}){if(t[_r]===fi)try{const n=r?JSON.parse(r):{},i={...t};return delete i[_r],{metadata:{...i,...n},body:""}}catch{return{metadata:t,body:r}}return{metadata:t,body:r}}function ci({resource:e,data:t,mappedData:r}){if(We(r)<=hs)return{mappedData:r,body:""};const i=hs-gh,a=oi(r),o=Object.entries(a).sort(([,d],[,h])=>d-h),s={},c={};let f=0;for(const[d,h]of o)f+h<=i?(s[d]=r[d],f+=h):c[d]=r[d];s[_r]=fi;const l=Object.keys(c).length>0?JSON.stringify(c):"";return{mappedData:s,body:l}}var xh=Object.freeze({__proto__:null,handleGet:mh,handleInsert:_h,handleUpdate:wh,handleUpsert:bh});const ds={"user-management":oh,"enforce-limits":uh,"data-truncate":vh,"body-overflow":xh};function pt(e){const t=ds[e];if(!t)throw new Error(`Unknown behavior: ${e}. Available behaviors: ${Object.keys(ds).join(", ")}`);return t}const Eh="user-management";class li extends R{constructor({name:t,client:r,version:n="1",options:i={},attributes:a={},parallelism:o=10,passphrase:s="secret",observers:c=[],behavior:f=Eh}){if(super(),this.name=t,this.client=r,this.version=n,this.behavior=f,this.observers=c,this.parallelism=o,this.passphrase=s??"secret",this.options={cache:!1,autoDecrypt:!0,timestamps:!1,partitions:{},paranoid:!0,allNestedObjectsOptional:i.allNestedObjectsOptional??!1,...i},this.hooks={preInsert:[],afterInsert:[],preUpdate:[],afterUpdate:[],preDelete:[],afterDelete:[]},this.attributes=a||{},i.timestamps&&(this.attributes.createdAt="string|optional",this.attributes.updatedAt="string|optional",this.options.partitions.byCreatedDate||(this.options.partitions.byCreatedDate={fields:{createdAt:"date|maxlength:10"}}),this.options.partitions.byUpdatedDate||(this.options.partitions.byUpdatedDate={fields:{updatedAt:"date|maxlength:10"}})),this.schema=new Be({name:t,attributes:this.attributes,passphrase:s,version:this.version,options:{...this.options,allNestedObjectsOptional:this.options.allNestedObjectsOptional??!1}}),this.validatePartitions(),this.setupPartitionHooks(),i.hooks){for(const[l,d]of Object.entries(i.hooks))if(Array.isArray(d)&&this.hooks[l])for(const h of d)this.hooks[l].push(h.bind(this))}}export(){const t=this.schema.export();return t.behavior=this.behavior,t}updateAttributes(t){const r=this.attributes;return this.attributes=t,this.options.timestamps&&(t.createdAt="string|optional",t.updatedAt="string|optional",this.options.partitions.byCreatedDate||(this.options.partitions.byCreatedDate={fields:{createdAt:"date|maxlength:10"}}),this.options.partitions.byUpdatedDate||(this.options.partitions.byUpdatedDate={fields:{updatedAt:"date|maxlength:10"}})),this.schema=new Be({name:this.name,attributes:t,passphrase:this.passphrase,version:this.version,options:this.options}),this.validatePartitions(),this.setupPartitionHooks(),{oldAttributes:r,newAttributes:t}}addHook(t,r){this.hooks[t]&&this.hooks[t].push(r.bind(this))}async executeHooks(t,r){if(!this.hooks[t])return r;let n=r;for(const i of this.hooks[t])n=await i(n);return n}setupPartitionHooks(){const t=this.options.partitions;!t||Object.keys(t).length===0||(this.addHook("afterInsert",async r=>(await this.createPartitionReferences(r),r)),this.addHook("afterDelete",async r=>(await this.deletePartitionReferences(r),r)))}async validate(t){const r={original:kt(t),isValid:!1,errors:[]},n=await this.schema.validate(t,{mutateOriginal:!0});return n===!0?r.isValid=!0:r.errors=n,r.data=t,r}validatePartitions(){const t=this.options.partitions;if(!t||Object.keys(t).length===0)return;const r=Object.keys(this.attributes||{});for(const[n,i]of Object.entries(t))if(i.fields){for(const a of Object.keys(i.fields))if(!this.fieldExistsInAttributes(a))throw new Error(`Partition '${n}' uses field '${a}' which does not exist in resource version '${this.version}'. Available fields: ${r.join(", ")}. This version of resource does not have support for this partition.`)}}fieldExistsInAttributes(t){if(!t.includes("."))return Object.keys(this.attributes||{}).includes(t);const r=t.split(".");let n=this.attributes||{};for(const i of r){if(!n||typeof n!="object"||!(i in n))return!1;n=n[i]}return!0}applyPartitionRule(t,r){if(t==null)return t;let n=t;if(typeof r=="string"&&r.includes("maxlength:")){const i=r.match(/maxlength:(\d+)/);if(i){const a=parseInt(i[1]);typeof n=="string"&&n.length>a&&(n=n.substring(0,a))}}if(r.includes("date")){if(n instanceof Date)n=n.toISOString().split("T")[0];else if(typeof n=="string")try{if(n.includes("T")&&n.includes("Z"))n=n.split("T")[0];else{const i=new Date(n);isNaN(i.getTime())||(n=i.toISOString().split("T")[0])}}catch{}}return n}getResourceKey(t){return ge(`resource=${this.name}`,`v=${this.version}`,`id=${t}`)}getPartitionKey(t,r,n){const i=this.options.partitions[t];if(!i)throw new Error(`Partition '${t}' not found`);const a=[],o=Object.entries(i.fields).sort(([s],[c])=>s.localeCompare(c));for(const[s,c]of o){const f=this.getNestedFieldValue(n,s),l=this.applyPartitionRule(f,c);if(l==null)return null;a.push(`${s}=${l}`)}return a.length===0?null:ge(`resource=${this.name}`,`partition=${t}`,...a,`id=${r}`)}getNestedFieldValue(t,r){if(!r.includes("."))return t[r];const n=r.split(".");let i=t;for(const a of n){if(i==null||typeof i!="object")return;i=i[a]}return i}async insert({id:t,...r}){this.options.timestamps&&(r.createdAt=new Date().toISOString(),r.updatedAt=new Date().toISOString());const n=await this.executeHooks("preInsert",r),{errors:i,isValid:a,data:o}=await this.validate(n);if(!a)throw new rr({bucket:this.client.config.bucket,resourceName:this.name,attributes:n,validation:i});!t&&t!==0&&(t=Vi());const s=await this.schema.mapper(o),c=pt(this.behavior),{mappedData:f,body:l}=await c.handleInsert({resource:this,data:o,mappedData:s}),d=this.getResourceKey(t);await this.client.putObject({metadata:f,key:d,body:l});const h=At({id:t},o);return await this.executeHooks("afterInsert",h),this.emit("insert",h),h}async get(t){const r=this.getResourceKey(t),n=await this.client.headObject(r),i=this.extractVersionFromKey(r)||this.version;let o=await(await this.getSchemaForVersion(i)).unmapper(n.Metadata);const s=pt(this.behavior);let c="";if(n.ContentLength>0)try{const d=await this.client.getObject(r);c=await Ft(d.Body)}catch{c=""}const{metadata:f}=await s.handleGet({resource:this,metadata:o,body:c});let l=f;return l.id=t,l._contentLength=n.ContentLength,l._lastModified=n.LastModified,l._hasContent=n.ContentLength>0,l._mimeType=n.ContentType||null,n.VersionId&&(l._versionId=n.VersionId),n.Expiration&&(l._expiresAt=n.Expiration),l._definitionHash=this.getDefinitionHash(),this.emit("get",l),l}async exists(t){try{const r=this.getResourceKey(t);return await this.client.headObject(r),!0}catch{return!1}}async update(t,r){const n=await this.get(t);this.options.timestamps&&(r.updatedAt=new Date().toISOString());const i=await this.executeHooks("preUpdate",r),a=At(n,i);delete a.id;const{isValid:o,errors:s,data:c}=await this.validate(a);if(!o)throw new rr({bucket:this.client.bucket,resourceName:this.name,attributes:i,validation:s});const f=await this.schema.mapper(c),l=pt(this.behavior),{mappedData:d,body:h}=await l.handleUpdate({resource:this,id:t,data:c,mappedData:f}),u=this.getResourceKey(t);let p,v=h;if(h===""&&this.behavior!=="body-overflow")try{const _=await this.client.getObject(u);if(_.ContentLength>0){const w=Buffer.from(await _.Body.transformToByteArray()),E=w.toString();try{JSON.parse(E)}catch{v=w,p=_.ContentType}}}catch{}return await this.client.putObject({key:u,body:v,contentType:p,metadata:d}),c.id=t,await this.executeHooks("afterUpdate",c),await this.updatePartitionReferences(c),this.emit("update",i,c),c}async delete(t){let r;try{r=await this.get(t)}catch{r={id:t}}await this.executeHooks("preDelete",r);const n=this.getResourceKey(t),i=await this.client.deleteObject(n);return await this.executeHooks("afterDelete",r),this.emit("delete",t),i}async upsert({id:t,...r}){return await this.exists(t)?this.update(t,r):this.insert({id:t,...r})}async count({partition:t=null,partitionValues:r={}}={}){let n;if(t&&Object.keys(r).length>0){const a=this.options.partitions[t];if(!a)throw new Error(`Partition '${t}' not found`);const o=[],s=Object.entries(a.fields).sort(([c],[f])=>c.localeCompare(f));for(const[c,f]of s){const l=r[c];if(l!=null){const d=this.applyPartitionRule(l,f);o.push(`${c}=${d}`)}}o.length>0?n=`resource=${this.name}/partition=${t}/${o.join("/")}`:n=`resource=${this.name}/partition=${t}`}else n=`resource=${this.name}/v=${this.version}`;const i=await this.client.count({prefix:n});return this.emit("count",i),i}async insertMany(t){const{results:r}=await le.for(t).withConcurrency(this.parallelism).handleError(async(n,i)=>{this.emit("error",n,i),this.observers.map(a=>a.emit("error",this.name,n,i))}).process(async n=>await this.insert(n));return this.emit("insertMany",t.length),r}async deleteMany(t){const r=Ni(t.map(i=>this.getResourceKey(i)),1e3),{results:n}=await le.for(r).withConcurrency(this.parallelism).handleError(async(i,a)=>{this.emit("error",i,a),this.observers.map(o=>o.emit("error",this.name,i,a))}).process(async i=>{const a=await this.client.deleteObjects(i);return i.forEach(o=>{const c=o.split("/").find(l=>l.startsWith("id=")),f=c?c.replace("id=",""):null;f&&(this.emit("deleted",f),this.observers.map(l=>l.emit("deleted",this.name,f)))}),a});return this.emit("deleteMany",t.length),n}async deleteAll(){if(this.options.paranoid!==!1)throw new Error(`deleteAll() is a dangerous operation and requires paranoid: false option. Current paranoid setting: ${this.options.paranoid}`);const t=`resource=${this.name}/v=${this.version}`,r=await this.client.deleteAll({prefix:t});return this.emit("deleteAll",{version:this.version,prefix:t,deletedCount:r}),{deletedCount:r,version:this.version}}async deleteAllData(){if(this.options.paranoid!==!1)throw new Error(`deleteAllData() is a dangerous operation and requires paranoid: false option. Current paranoid setting: ${this.options.paranoid}`);const t=`resource=${this.name}`,r=await this.client.deleteAll({prefix:t});return this.emit("deleteAllData",{resource:this.name,prefix:t,deletedCount:r}),{deletedCount:r,resource:this.name}}async listIds({partition:t=null,partitionValues:r={}}={}){let n;if(t&&Object.keys(r).length>0){const o=this.options.partitions[t];if(!o)throw new Error(`Partition '${t}' not found`);const s=[],c=Object.entries(o.fields).sort(([f],[l])=>f.localeCompare(l));for(const[f,l]of c){const d=r[f];if(d!=null){const h=this.applyPartitionRule(d,l);s.push(`${f}=${h}`)}}s.length>0?n=`resource=${this.name}/partition=${t}/${s.join("/")}`:n=`resource=${this.name}/partition=${t}`}else n=`resource=${this.name}/v=${this.version}`;const a=(await this.client.getAllKeys({prefix:n})).map(o=>{const c=o.split("/").find(f=>f.startsWith("id="));return c?c.replace("id=",""):null}).filter(Boolean);return this.emit("listIds",a.length),a}async listByPartition({partition:t=null,partitionValues:r={}}={},n={}){const{limit:i,offset:a=0}=n;if(!t){let v=(await this.listIds({partition:t,partitionValues:r})).slice(a);i&&(v=v.slice(0,i));const{results:_}=await le.for(v).withConcurrency(this.parallelism).process(async w=>await this.get(w));return this.emit("listByPartition",{partition:t,partitionValues:r,count:_.length}),_}const o=this.options.partitions[t];if(!o)throw new Error(`Partition '${t}' not found`);const s=[],c=Object.entries(o.fields).sort(([p],[v])=>p.localeCompare(v));for(const[p,v]of c){const _=r[p];if(_!=null){const w=this.applyPartitionRule(_,v);s.push(`${p}=${w}`)}}let f;s.length>0?f=`resource=${this.name}/partition=${t}/${s.join("/")}`:f=`resource=${this.name}/partition=${t}`;let h=(await this.client.getAllKeys({prefix:f})).map(p=>{const _=p.split("/").find(w=>w.startsWith("id="));return _?_.replace("id=",""):null}).filter(Boolean).slice(a);i&&(h=h.slice(0,i));const{results:u}=await le.for(h).withConcurrency(this.parallelism).process(async p=>await this.getFromPartition(p,t,r));return this.emit("listByPartition",{partition:t,partitionValues:r,count:u.length}),u}async getMany(t){const{results:r}=await le.for(t).withConcurrency(this.client.parallelism).process(async n=>{this.emit("id",n);const i=await this.get(n);return this.emit("data",i),i});return this.emit("getMany",t.length),r}async getAll(){let t=await this.listIds();if(t.length===0)return[];const{results:r}=await le.for(t).withConcurrency(this.client.parallelism).process(async n=>await this.get(n));return this.emit("getAll",r.length),r}async page(t=0,r=100,{partition:n=null,partitionValues:i={}}={}){const a=await this.listIds({partition:n,partitionValues:i}),o=a.length,s=Math.ceil(o/r),c=a.slice(t*r,(t+1)*r),l={items:await Promise.all(c.map(d=>this.get(d))),totalItems:o,page:t,pageSize:r,totalPages:s};return this.emit("page",l),l}readable(){return new os({resource:this}).build()}writable(){return new ss({resource:this}).build()}async setContent(t,r,n="application/octet-stream"){if(!Buffer.isBuffer(r))throw new Error("Content must be a Buffer");const i=this.getResourceKey(t);let a={};try{a=(await this.client.headObject(i)).Metadata||{}}catch{}const o=await this.client.putObject({key:i,body:r,contentType:n,metadata:a});return this.emit("setContent",t,r.length,n),o}async content(t){const r=this.getResourceKey(t);try{const n=await this.client.getObject(r),i=Buffer.from(await n.Body.transformToByteArray()),a=n.ContentType||null;return this.emit("content",t,i.length,a),{buffer:i,contentType:a}}catch(n){if(n.name==="NoSuchKey")return{buffer:null,contentType:null};throw n}}async hasContent(t){const r=this.getResourceKey(t);try{return(await this.client.headObject(r)).ContentLength>0}catch{return!1}}async deleteContent(t){const r=this.getResourceKey(t),i=(await this.client.headObject(r)).Metadata||{},a=await this.client.putObject({key:r,body:"",metadata:i});return this.emit("deleteContent",t),a}getDefinitionHash(){const r={...this.schema.export().attributes};this.options.timestamps&&(delete r.createdAt,delete r.updatedAt);const n=ho(r);return`sha256:${Hi("sha256").update(n).digest("hex")}`}extractVersionFromKey(t){const n=t.split("/").find(i=>i.startsWith("v="));return n?n.replace("v=",""):null}async getSchemaForVersion(t){return this.schema}async createPartitionReferences(t){const r=this.options.partitions;if(!(!r||Object.keys(r).length===0))for(const[n,i]of Object.entries(r)){const a=this.getPartitionKey(n,t.id,t);if(a){const o=await this.schema.mapper(t),s=pt(this.behavior),{mappedData:c,body:f}=await s.handleInsert({resource:this,data:t,mappedData:o}),l={...c,_version:this.version};await this.client.putObject({key:a,metadata:l,body:f})}}}async deletePartitionReferences(t){const r=this.options.partitions;if(!r||Object.keys(r).length===0)return;const n=[];for(const[i,a]of Object.entries(r)){const o=this.getPartitionKey(i,t.id,t);o&&n.push(o)}if(n.length>0)try{await this.client.deleteObjects(n)}catch(i){console.warn("Some partition objects could not be deleted:",i.message)}}async query(t={}){const r=await this.getAll();return Object.keys(t).length===0?r:r.filter(n=>Object.entries(t).every(([i,a])=>n[i]===a))}async updatePartitionReferences(t){const r=this.options.partitions;if(!(!r||Object.keys(r).length===0))for(const[n,i]of Object.entries(r)){const a=this.getPartitionKey(n,t.id,t);if(a){const o=await this.schema.mapper(t),s=pt(this.behavior),{mappedData:c,body:f}=await s.handleUpdate({resource:this,id:t.id,data:t,mappedData:o}),l={...c,_version:this.version};try{await this.client.putObject({key:a,metadata:l,body:f})}catch(d){console.warn(`Partition object could not be updated for ${n}:`,d.message)}}}}async getFromPartition(t,r,n={}){const i=this.options.partitions[r];if(!i)throw new Error(`Partition '${r}' not found`);const a=[],o=Object.entries(i.fields).sort(([_],[w])=>_.localeCompare(w));for(const[_,w]of o){const E=n[_];if(E!=null){const S=this.applyPartitionRule(E,w);a.push(`${_}=${S}`)}}if(a.length===0)throw new Error(`No partition values provided for partition '${r}'`);const s=ge(`resource=${this.name}`,`partition=${r}`,...a,`id=${t}`),c=await this.client.headObject(s),f=c.Metadata?._version||this.version;let d=await(await this.getSchemaForVersion(f)).unmapper(c.Metadata);const h=pt(this.behavior);let u="";if(c.ContentLength>0)try{const _=await this.client.getObject(s);u=await Ft(_.Body)}catch{u=""}const{metadata:p}=await h.handleGet({resource:this,metadata:d,body:u});let v=p;return v.id=t,v._contentLength=c.ContentLength,v._lastModified=c.LastModified,v._hasContent=c.ContentLength>0,v._mimeType=c.ContentType||null,v._partition=r,v._partitionValues=n,c.VersionId&&(v._versionId=c.VersionId),c.Expiration&&(v._expiresAt=c.Expiration),v._definitionHash=this.getDefinitionHash(),this.emit("getFromPartition",v),v}}class ps extends R{constructor(t){super(),this.version="1",this.s3dbVersion=(()=>{try{return"4.1.3"}catch{return"latest"}})(),this.resources={},this.savedMetadata=null,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 sa({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 n=await this.client.getObject("s3db.json");t=JSON.parse(await Ft(n?.Body))}else t=this.blankMetadataStructure(),await this.uploadMetadataFile();this.savedMetadata=t;const r=this.detectDefinitionChanges(t);for(const[n,i]of Object.entries(t.resources||{})){const a=i.currentVersion||"v0",o=i.versions?.[a];o&&(this.resources[n]=new li({name:n,client:this.client,version:a,options:{...o.options,partitions:i.partitions||o.options?.partitions||{}},attributes:o.attributes,behavior:o.behavior||"user-management",parallelism:this.parallelism,passphrase:this.passphrase,observers:[this]}))}r.length>0&&this.emit("resourceDefinitionsChanged",{changes:r,metadata:this.savedMetadata}),this.emit("connected",new Date)}detectDefinitionChanges(t){const r=[];for(const[n,i]of Object.entries(this.resources)){const a=this.generateDefinitionHash(i.export()),o=t.resources?.[n];if(!o)r.push({type:"new",resourceName:n,currentHash:a,savedHash:null});else{const s=o.currentVersion||"v0",f=o.versions?.[s]?.hash;f!==a&&r.push({type:"changed",resourceName:n,currentHash:a,savedHash:f,fromVersion:s,toVersion:this.getNextVersion(o.versions)})}}for(const[n,i]of Object.entries(t.resources||{}))if(!this.resources[n]){const a=i.currentVersion||"v0",o=i.versions?.[a];r.push({type:"deleted",resourceName:n,currentHash:null,savedHash:o?.hash,deletedVersion:a})}return r}generateDefinitionHash(t,r=void 0){const i={...t.attributes};t.options?.timestamps&&(delete i.createdAt,delete i.updatedAt);const a={attributes:i,behavior:r||t.behavior||"user-management"},o=ho(a);return`sha256:${Hi("sha256").update(o).digest("hex")}`}getNextVersion(t={}){const r=Object.keys(t).filter(i=>i.startsWith("v")).map(i=>parseInt(i.substring(1))).filter(i=>!isNaN(i));return`v${(r.length>0?Math.max(...r):-1)+1}`}async startPlugins(){const t=this;if(!Bi(this.plugins)){const r=this.plugins.map(a=>Vf(a)?new a(this):a),n=r.map(async a=>{a.beforeSetup&&await a.beforeSetup(),await a.setup(t),a.afterSetup&&await a.afterSetup()});await Promise.all(n);const i=r.map(async a=>{a.beforeStart&&await a.beforeStart(),await a.start(),a.afterStart&&await a.afterStart()});await Promise.all(i)}}async uploadMetadataFile(){const t={version:this.version,s3dbVersion:this.s3dbVersion,lastUpdated:new Date().toISOString(),resources:{}};Object.entries(this.resources).forEach(([r,n])=>{const i=n.export(),a=this.generateDefinitionHash(i),o=this.savedMetadata?.resources?.[r],s=o?.currentVersion||"v0",c=o?.versions?.[s];let f,l;!c||c.hash!==a?(f=this.getNextVersion(o?.versions),l=!0):(f=s,l=!1),t.resources[r]={currentVersion:f,partitions:i.options?.partitions||{},versions:{...o?.versions,[f]:{hash:a,attributes:i.attributes,options:i.options,behavior:i.behavior||"user-management",createdAt:l?new Date().toISOString():c?.createdAt}}},n.version!==f&&(n.version=f,n.emit("versionUpdated",{oldVersion:s,newVersion:f}))}),await this.client.putObject({key:"s3db.json",body:JSON.stringify(t,null,2),contentType:"application/json"}),this.savedMetadata=t,this.emit("metadataUploaded",t)}blankMetadataStructure(){return{version:"1",s3dbVersion:this.s3dbVersion,resources:{}}}resourceExists(t){return!!this.resources[t]}resourceExistsWithSameHash({name:t,attributes:r,options:n={},behavior:i="user-management"}){if(!this.resources[t])return{exists:!1,sameHash:!1,hash:null};const a=new li({name:t,attributes:r,behavior:i,observers:[],client:this.client,version:"temp",options:{cache:this.cache,...n}}),o=this.generateDefinitionHash(a.export(),i),s=this.generateDefinitionHash(this.resources[t].export(),this.resources[t].behavior);return{exists:!0,sameHash:o===s,hash:o,existingHash:s}}async createResourceIfNotExists({name:t,attributes:r,options:n={},behavior:i="user-management"}){const a=!!this.resources[t],o=this.resourceExistsWithSameHash({name:t,attributes:r,options:n,behavior:i});return o.exists&&o.sameHash?{resource:this.resources[t],created:!1,reason:"Resource already exists with same definition hash"}:{resource:await this.createResource({name:t,attributes:r,options:n,behavior:i}),created:!a,reason:a?"Resource updated with new definition":"New resource created"}}async createResource({name:t,attributes:r,options:n={},behavior:i="user-management"}){if(this.resources[t]){const c=this.resources[t];Object.assign(c.options,{cache:this.cache,...n}),i&&(c.behavior=i),c.updateAttributes(r);const f=this.generateDefinitionHash(c.export(),c.behavior),l=this.savedMetadata?.resources?.[t],d=l?.currentVersion||"v0",h=l?.versions?.[d];return(!h||h.hash!==f)&&await this.uploadMetadataFile(),this.emit("s3db.resourceUpdated",t),c}const o=this.savedMetadata?.resources?.[t]?.currentVersion||"v0",s=new li({name:t,attributes:r,behavior:i,observers:[this],client:this.client,version:o,options:{cache:this.cache,...n}});return this.resources[t]=s,await this.uploadMetadataFile(),this.emit("s3db.resourceCreated",t),s}resource(t){return this.resources[t]?this.resources[t]:Promise.reject(`resource ${t} does not exist`)}async listResources(){return Object.keys(this.resources).map(t=>({name:t}))}async getResource(t){if(!this.resources[t])throw new Error(`Resource not found: ${t}`);return this.resources[t]}get config(){return{version:this.version,s3dbVersion:this.s3dbVersion,bucket:this.bucket,keyPrefix:this.keyPrefix,parallelism:this.parallelism,verbose:this.verbose}}isConnected(){return!!this.savedMetadata}}class Sh extends ps{}class ui extends R{constructor(t={}){super(),this.config=t}async _set(t,r){}async _get(t){}async _del(t){}async _clear(t){}validateKey(t){if(t==null||typeof t!="string"||!t)throw new Error("Invalid key")}async set(t,r){return this.validateKey(t),await this._set(t,r),this.emit("set",r),r}async get(t){this.validateKey(t);const r=await this._get(t);return this.emit("get",r),r}async del(t){this.validateKey(t);const r=await this._del(t);return this.emit("delete",r),r}async delete(t){return this.del(t)}async clear(){const t=await this._clear();return this.emit("clear",t),t}}class Ah extends ui{constructor(t={}){super(t),this.cache={},this.meta={},this.maxSize=t.maxSize||0,this.ttl=t.ttl||0}async _set(t,r){if(this.maxSize>0&&Object.keys(this.cache).length>=this.maxSize){const n=Object.entries(this.meta).sort((i,a)=>i[1].ts-a[1].ts)[0]?.[0];n&&(delete this.cache[n],delete this.meta[n])}return this.cache[t]=r,this.meta[t]={ts:Date.now()},r}async _get(t){if(!Object.prototype.hasOwnProperty.call(this.cache,t))return null;if(this.ttl>0){const r=Date.now(),n=this.meta[t];if(n&&r-n.ts>this.ttl*1e3)return delete this.cache[t],delete this.meta[t],null}return this.cache[t]}async _del(t){return delete this.cache[t],delete this.meta[t],!0}async _clear(){return this.cache={},this.meta={},!0}async size(){return Object.keys(this.cache).length}async keys(){return Object.keys(this.cache)}}var ys={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 kh(){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 Ee(e,t,r,n,i){if(t.subarray&&e.subarray){e.set(t.subarray(r,r+n),i);return}for(var a=0;a<n;a++)e[i+a]=t[r+a]}var wr=Uint8Array,ie=Uint16Array,br=Int32Array,Rh=4,vs=0,gs=1,Oh=2;function yt(e){for(var t=e.length;--t>=0;)e[t]=0}var Th=0,_s=1,Ih=2,Ph=3,Fh=258,hi=29,Dt=256,jt=Dt+1+hi,vt=30,di=19,ws=2*jt+1,Ve=15,pi=16,Ch=7,yi=256,bs=16,ms=17,xs=18,vi=[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],mr=[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],Dh=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Es=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],jh=512,Se=new Array((jt+2)*2);yt(Se);var Mt=new Array(vt*2);yt(Mt);var Lt=new Array(jh);yt(Lt);var Nt=new Array(Fh-Ph+1);yt(Nt);var gi=new Array(hi);yt(gi);var xr=new Array(vt);yt(xr);function _i(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}var Ss,As,ks;function wi(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function Rs(e){return e<256?Lt[e]:Lt[256+(e>>>7)]}function Bt(e,t){e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255}function X(e,t,r){e.bi_valid>pi-r?(e.bi_buf|=t<<e.bi_valid&65535,Bt(e,e.bi_buf),e.bi_buf=t>>pi-e.bi_valid,e.bi_valid+=r-pi):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function pe(e,t,r){X(e,r[t*2],r[t*2+1])}function Os(e,t){var r=0;do r|=e&1,e>>>=1,r<<=1;while(--t>0);return r>>>1}function Mh(e){e.bi_valid===16?(Bt(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 Lh(e,t){var r=t.dyn_tree,n=t.max_code,i=t.stat_desc.static_tree,a=t.stat_desc.has_stree,o=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,c=t.stat_desc.max_length,f,l,d,h,u,p,v=0;for(h=0;h<=Ve;h++)e.bl_count[h]=0;for(r[e.heap[e.heap_max]*2+1]=0,f=e.heap_max+1;f<ws;f++)l=e.heap[f],h=r[r[l*2+1]*2+1]+1,h>c&&(h=c,v++),r[l*2+1]=h,!(l>n)&&(e.bl_count[h]++,u=0,l>=s&&(u=o[l-s]),p=r[l*2],e.opt_len+=p*(h+u),a&&(e.static_len+=p*(i[l*2+1]+u)));if(v!==0){do{for(h=c-1;e.bl_count[h]===0;)h--;e.bl_count[h]--,e.bl_count[h+1]+=2,e.bl_count[c]--,v-=2}while(v>0);for(h=c;h!==0;h--)for(l=e.bl_count[h];l!==0;)d=e.heap[--f],!(d>n)&&(r[d*2+1]!==h&&(e.opt_len+=(h-r[d*2+1])*r[d*2],r[d*2+1]=h),l--)}}function Ts(e,t,r){var n=new Array(Ve+1),i=0,a,o;for(a=1;a<=Ve;a++)n[a]=i=i+r[a-1]<<1;for(o=0;o<=t;o++){var s=e[o*2+1];s!==0&&(e[o*2]=Os(n[s]++,s))}}function Nh(){var e,t,r,n,i,a=new Array(Ve+1);for(r=0,n=0;n<hi-1;n++)for(gi[n]=r,e=0;e<1<<vi[n];e++)Nt[r++]=n;for(Nt[r-1]=n,i=0,n=0;n<16;n++)for(xr[n]=i,e=0;e<1<<mr[n];e++)Lt[i++]=n;for(i>>=7;n<vt;n++)for(xr[n]=i<<7,e=0;e<1<<mr[n]-7;e++)Lt[256+i++]=n;for(t=0;t<=Ve;t++)a[t]=0;for(e=0;e<=143;)Se[e*2+1]=8,e++,a[8]++;for(;e<=255;)Se[e*2+1]=9,e++,a[9]++;for(;e<=279;)Se[e*2+1]=7,e++,a[7]++;for(;e<=287;)Se[e*2+1]=8,e++,a[8]++;for(Ts(Se,jt+1,a),e=0;e<vt;e++)Mt[e*2+1]=5,Mt[e*2]=Os(e,5);Ss=new _i(Se,vi,Dt+1,jt,Ve),As=new _i(Mt,mr,0,vt,Ve),ks=new _i(new Array(0),Dh,0,di,Ch)}function Is(e){var t;for(t=0;t<jt;t++)e.dyn_ltree[t*2]=0;for(t=0;t<vt;t++)e.dyn_dtree[t*2]=0;for(t=0;t<di;t++)e.bl_tree[t*2]=0;e.dyn_ltree[yi*2]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function Ps(e){e.bi_valid>8?Bt(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 Bh(e,t,r,n){Ps(e),Bt(e,r),Bt(e,~r),Ee(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}function Fs(e,t,r,n){var i=t*2,a=r*2;return e[i]<e[a]||e[i]===e[a]&&n[t]<=n[r]}function bi(e,t,r){for(var n=e.heap[r],i=r<<1;i<=e.heap_len&&(i<e.heap_len&&Fs(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!Fs(t,n,e.heap[i],e.depth));)e.heap[r]=e.heap[i],r=i,i<<=1;e.heap[r]=n}function Cs(e,t,r){var n,i,a=0,o,s;if(e.last_lit!==0)do n=e.pending_buf[e.d_buf+a*2]<<8|e.pending_buf[e.d_buf+a*2+1],i=e.pending_buf[e.l_buf+a],a++,n===0?pe(e,i,t):(o=Nt[i],pe(e,o+Dt+1,t),s=vi[o],s!==0&&(i-=gi[o],X(e,i,s)),n--,o=Rs(n),pe(e,o,r),s=mr[o],s!==0&&(n-=xr[o],X(e,n,s)));while(a<e.last_lit);pe(e,yi,t)}function mi(e,t){var r=t.dyn_tree,n=t.stat_desc.static_tree,i=t.stat_desc.has_stree,a=t.stat_desc.elems,o,s,c=-1,f;for(e.heap_len=0,e.heap_max=ws,o=0;o<a;o++)r[o*2]!==0?(e.heap[++e.heap_len]=c=o,e.depth[o]=0):r[o*2+1]=0;for(;e.heap_len<2;)f=e.heap[++e.heap_len]=c<2?++c:0,r[f*2]=1,e.depth[f]=0,e.opt_len--,i&&(e.static_len-=n[f*2+1]);for(t.max_code=c,o=e.heap_len>>1;o>=1;o--)bi(e,r,o);f=a;do o=e.heap[1],e.heap[1]=e.heap[e.heap_len--],bi(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++,bi(e,r,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],Lh(e,t),Ts(r,c,e.bl_count)}function Ds(e,t,r){var n,i=-1,a,o=t[0*2+1],s=0,c=7,f=4;for(o===0&&(c=138,f=3),t[(r+1)*2+1]=65535,n=0;n<=r;n++)a=o,o=t[(n+1)*2+1],!(++s<c&&a===o)&&(s<f?e.bl_tree[a*2]+=s:a!==0?(a!==i&&e.bl_tree[a*2]++,e.bl_tree[bs*2]++):s<=10?e.bl_tree[ms*2]++:e.bl_tree[xs*2]++,s=0,i=a,o===0?(c=138,f=3):a===o?(c=6,f=3):(c=7,f=4))}function js(e,t,r){var n,i=-1,a,o=t[0*2+1],s=0,c=7,f=4;for(o===0&&(c=138,f=3),n=0;n<=r;n++)if(a=o,o=t[(n+1)*2+1],!(++s<c&&a===o)){if(s<f)do pe(e,a,e.bl_tree);while(--s!==0);else a!==0?(a!==i&&(pe(e,a,e.bl_tree),s--),pe(e,bs,e.bl_tree),X(e,s-3,2)):s<=10?(pe(e,ms,e.bl_tree),X(e,s-3,3)):(pe(e,xs,e.bl_tree),X(e,s-11,7));s=0,i=a,o===0?(c=138,f=3):a===o?(c=6,f=3):(c=7,f=4)}}function Uh(e){var t;for(Ds(e,e.dyn_ltree,e.l_desc.max_code),Ds(e,e.dyn_dtree,e.d_desc.max_code),mi(e,e.bl_desc),t=di-1;t>=3&&e.bl_tree[Es[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t}function $h(e,t,r,n){var i;for(X(e,t-257,5),X(e,r-1,5),X(e,n-4,4),i=0;i<n;i++)X(e,e.bl_tree[Es[i]*2+1],3);js(e,e.dyn_ltree,t-1),js(e,e.dyn_dtree,r-1)}function zh(e){var t=4093624447,r;for(r=0;r<=31;r++,t>>>=1)if(t&1&&e.dyn_ltree[r*2]!==0)return vs;if(e.dyn_ltree[9*2]!==0||e.dyn_ltree[10*2]!==0||e.dyn_ltree[13*2]!==0)return gs;for(r=32;r<Dt;r++)if(e.dyn_ltree[r*2]!==0)return gs;return vs}var Ms=!1;function Zh(e){Ms||(Nh(),Ms=!0),e.l_desc=new wi(e.dyn_ltree,Ss),e.d_desc=new wi(e.dyn_dtree,As),e.bl_desc=new wi(e.bl_tree,ks),e.bi_buf=0,e.bi_valid=0,Is(e)}function Ls(e,t,r,n){X(e,(Th<<1)+(n?1:0),3),Bh(e,t,r)}function Hh(e){X(e,_s<<1,3),pe(e,yi,Se),Mh(e)}function qh(e,t,r,n){var i,a,o=0;e.level>0?(e.strm.data_type===Oh&&(e.strm.data_type=zh(e)),mi(e,e.l_desc),mi(e,e.d_desc),o=Uh(e),i=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a<=i&&(i=a)):i=a=r+5,r+4<=i&&t!==-1?Ls(e,t,r,n):e.strategy===Rh||a===i?(X(e,(_s<<1)+(n?1:0),3),Cs(e,Se,Mt)):(X(e,(Ih<<1)+(n?1:0),3),$h(e,e.l_desc.max_code+1,e.d_desc.max_code+1,o+1),Cs(e,e.dyn_ltree,e.dyn_dtree)),Is(e),n&&Ps(e)}function Pe(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[(Nt[r]+Dt+1)*2]++,e.dyn_dtree[Rs(t)*2]++),e.last_lit===e.lit_bufsize-1}function xi(e,t,r,n){for(var i=e&65535|0,a=e>>>16&65535|0,o=0;r!==0;){o=r>2e3?2e3:r,r-=o;do i=i+t[n++]|0,a=a+i|0;while(--o);i%=65521,a%=65521}return i|a<<16|0}function Kh(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=e&1?3988292384^e>>>1:e>>>1;t[r]=e}return t}var Wh=Kh();function $(e,t,r,n){var i=Wh,a=n+r;e^=-1;for(var o=n;o<a;o++)e=e>>>8^i[(e^t[o])&255];return e^-1}var Ge=0,Vh=1,Gh=3,Fe=4,Ns=5,Ce=0,Bs=1,De=-2,Yh=-3,Ei=-5,Jh=-1,Xh=1,Er=2,Qh=3,ed=4,td=2,Si=8,rd=9,nd=29,id=256,Ai=id+1+nd,ad=30,od=19,sd=2*Ai+1,fd=15,P=3,je=258,ae=je+P+1,cd=32,ki=42,Ri=69,Sr=73,Ar=91,kr=103,Ye=113,Ut=666,B=1,$t=2,Je=3,gt=4,ld=3;function Me(e,t){return e.msg=ys[t],t}function Us(e){return(e<<1)-(e>4?9:0)}function Xe(e){for(var t=e.length;--t>=0;)e[t]=0}function Le(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),r!==0&&(Ee(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 H(e,t){qh(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,Le(e.strm)}function I(e,t){e.pending_buf[e.pending++]=t}function zt(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255}function ud(e,t,r,n){var i=e.avail_in;return i>n&&(i=n),i===0?0:(e.avail_in-=i,Ee(t,e.input,e.next_in,i,r),e.state.wrap===1?e.adler=xi(e.adler,t,i,r):e.state.wrap===2&&(e.adler=$(e.adler,t,i,r)),e.next_in+=i,e.total_in+=i,i)}function $s(e,t){var r=e.max_chain_length,n=e.strstart,i,a,o=e.prev_length,s=e.nice_match,c=e.strstart>e.w_size-ae?e.strstart-(e.w_size-ae):0,f=e.window,l=e.w_mask,d=e.prev,h=e.strstart+je,u=f[n+o-1],p=f[n+o];e.prev_length>=e.good_match&&(r>>=2),s>e.lookahead&&(s=e.lookahead);do if(i=t,!(f[i+o]!==p||f[i+o-1]!==u||f[i]!==f[n]||f[++i]!==f[n+1])){n+=2,i++;do;while(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]===f[++i]&&n<h);if(a=je-(h-n),n=h-je,a>o){if(e.match_start=t,o=a,a>=s)break;u=f[n+o-1],p=f[n+o]}}while((t=d[t&l])>c&&--r!==0);return o<=e.lookahead?o:e.lookahead}function Zt(e){var t=e.w_size,r,n,i,a,o;do{if(a=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-ae)){Ee(e.window,e.window,t,t,0),e.match_start-=t,e.strstart-=t,e.block_start-=t,n=e.hash_size,r=n;do i=e.head[--r],e.head[r]=i>=t?i-t:0;while(--n);n=t,r=n;do i=e.prev[--r],e.prev[r]=i>=t?i-t:0;while(--n);a+=t}if(e.strm.avail_in===0)break;if(n=ud(e.strm,e.window,e.strstart+e.lookahead,a),e.lookahead+=n,e.lookahead+e.insert>=P)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+P-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<P)););}while(e.lookahead<ae&&e.strm.avail_in!==0)}function hd(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(Zt(e),e.lookahead===0&&t===Ge)return B;if(e.lookahead===0)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((e.strstart===0||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,H(e,!1),e.strm.avail_out===0)||e.strstart-e.block_start>=e.w_size-ae&&(H(e,!1),e.strm.avail_out===0))return B}return e.insert=0,t===Fe?(H(e,!0),e.strm.avail_out===0?Je:gt):(e.strstart>e.block_start&&(H(e,!1),e.strm.avail_out===0),B)}function Oi(e,t){for(var r,n;;){if(e.lookahead<ae){if(Zt(e),e.lookahead<ae&&t===Ge)return B;if(e.lookahead===0)break}if(r=0,e.lookahead>=P&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+P-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-ae&&(e.match_length=$s(e,r)),e.match_length>=P)if(n=Pe(e,e.strstart-e.match_start,e.match_length-P),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=P){e.match_length--;do e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+P-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 n=Pe(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(H(e,!1),e.strm.avail_out===0))return B}return e.insert=e.strstart<P-1?e.strstart:P-1,t===Fe?(H(e,!0),e.strm.avail_out===0?Je:gt):e.last_lit&&(H(e,!1),e.strm.avail_out===0)?B:$t}function _t(e,t){for(var r,n,i;;){if(e.lookahead<ae){if(Zt(e),e.lookahead<ae&&t===Ge)return B;if(e.lookahead===0)break}if(r=0,e.lookahead>=P&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+P-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=P-1,r!==0&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-ae&&(e.match_length=$s(e,r),e.match_length<=5&&(e.strategy===Xh||e.match_length===P&&e.strstart-e.match_start>4096)&&(e.match_length=P-1)),e.prev_length>=P&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-P,n=Pe(e,e.strstart-1-e.prev_match,e.prev_length-P),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=i&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+P-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=P-1,e.strstart++,n&&(H(e,!1),e.strm.avail_out===0))return B}else if(e.match_available){if(n=Pe(e,0,e.window[e.strstart-1]),n&&H(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return B}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=Pe(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<P-1?e.strstart:P-1,t===Fe?(H(e,!0),e.strm.avail_out===0?Je:gt):e.last_lit&&(H(e,!1),e.strm.avail_out===0)?B:$t}function dd(e,t){for(var r,n,i,a,o=e.window;;){if(e.lookahead<=je){if(Zt(e),e.lookahead<=je&&t===Ge)return B;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=P&&e.strstart>0&&(i=e.strstart-1,n=o[i],n===o[++i]&&n===o[++i]&&n===o[++i])){a=e.strstart+je;do;while(n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&i<a);e.match_length=je-(a-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=P?(r=Pe(e,1,e.match_length-P),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=Pe(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(H(e,!1),e.strm.avail_out===0))return B}return e.insert=0,t===Fe?(H(e,!0),e.strm.avail_out===0?Je:gt):e.last_lit&&(H(e,!1),e.strm.avail_out===0)?B:$t}function pd(e,t){for(var r;;){if(e.lookahead===0&&(Zt(e),e.lookahead===0)){if(t===Ge)return B;break}if(e.match_length=0,r=Pe(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(H(e,!1),e.strm.avail_out===0))return B}return e.insert=0,t===Fe?(H(e,!0),e.strm.avail_out===0?Je:gt):e.last_lit&&(H(e,!1),e.strm.avail_out===0)?B:$t}function ye(e,t,r,n,i){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=i}var wt;wt=[new ye(0,0,0,0,hd),new ye(4,4,8,4,Oi),new ye(4,5,16,8,Oi),new ye(4,6,32,32,Oi),new ye(4,4,16,16,_t),new ye(8,16,32,32,_t),new ye(8,16,128,128,_t),new ye(8,32,128,256,_t),new ye(32,128,258,1024,_t),new ye(32,258,258,4096,_t)];function yd(e){e.window_size=2*e.w_size,Xe(e.head),e.max_lazy_match=wt[e.level].max_lazy,e.good_match=wt[e.level].good_length,e.nice_match=wt[e.level].nice_length,e.max_chain_length=wt[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=P-1,e.match_available=0,e.ins_h=0}function vd(){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=Si,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 ie(sd*2),this.dyn_dtree=new ie((2*ad+1)*2),this.bl_tree=new ie((2*od+1)*2),Xe(this.dyn_ltree),Xe(this.dyn_dtree),Xe(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new ie(fd+1),this.heap=new ie(2*Ai+1),Xe(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new ie(2*Ai+1),Xe(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 gd(e){var t;return!e||!e.state?Me(e,De):(e.total_in=e.total_out=0,e.data_type=td,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?ki:Ye,e.adler=t.wrap===2?0:1,t.last_flush=Ge,Zh(t),Ce)}function zs(e){var t=gd(e);return t===Ce&&yd(e.state),t}function _d(e,t,r,n,i,a){if(!e)return De;var o=1;if(t===Jh&&(t=6),n<0?(o=0,n=-n):n>15&&(o=2,n-=16),i<1||i>rd||r!==Si||n<8||n>15||t<0||t>9||a<0||a>ed)return Me(e,De);n===8&&(n=9);var s=new vd;return e.state=s,s.strm=e,s.wrap=o,s.gzhead=null,s.w_bits=n,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=i+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+P-1)/P),s.window=new wr(s.w_size*2),s.head=new ie(s.hash_size),s.prev=new ie(s.w_size),s.lit_bufsize=1<<i+6,s.pending_buf_size=s.lit_bufsize*4,s.pending_buf=new wr(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,zs(e)}function wd(e,t){var r,n,i,a;if(!e||!e.state||t>Ns||t<0)return e?Me(e,De):De;if(n=e.state,!e.output||!e.input&&e.avail_in!==0||n.status===Ut&&t!==Fe)return Me(e,e.avail_out===0?Ei:De);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===ki)if(n.wrap===2)e.adler=0,I(n,31),I(n,139),I(n,8),n.gzhead?(I(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),I(n,n.gzhead.time&255),I(n,n.gzhead.time>>8&255),I(n,n.gzhead.time>>16&255),I(n,n.gzhead.time>>24&255),I(n,n.level===9?2:n.strategy>=Er||n.level<2?4:0),I(n,n.gzhead.os&255),n.gzhead.extra&&n.gzhead.extra.length&&(I(n,n.gzhead.extra.length&255),I(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=$(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=Ri):(I(n,0),I(n,0),I(n,0),I(n,0),I(n,0),I(n,n.level===9?2:n.strategy>=Er||n.level<2?4:0),I(n,ld),n.status=Ye);else{var o=Si+(n.w_bits-8<<4)<<8,s=-1;n.strategy>=Er||n.level<2?s=0:n.level<6?s=1:n.level===6?s=2:s=3,o|=s<<6,n.strstart!==0&&(o|=cd),o+=31-o%31,n.status=Ye,zt(n,o),n.strstart!==0&&(zt(n,e.adler>>>16),zt(n,e.adler&65535)),e.adler=1}if(n.status===Ri)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(n.gzhead.extra.length&65535)&&!(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=$(e.adler,n.pending_buf,n.pending-i,i)),Le(e),i=n.pending,n.pending===n.pending_buf_size));)I(n,n.gzhead.extra[n.gzindex]&255),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=$(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=Sr)}else n.status=Sr;if(n.status===Sr)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=$(e.adler,n.pending_buf,n.pending-i,i)),Le(e),i=n.pending,n.pending===n.pending_buf_size)){a=1;break}n.gzindex<n.gzhead.name.length?a=n.gzhead.name.charCodeAt(n.gzindex++)&255:a=0,I(n,a)}while(a!==0);n.gzhead.hcrc&&n.pending>i&&(e.adler=$(e.adler,n.pending_buf,n.pending-i,i)),a===0&&(n.gzindex=0,n.status=Ar)}else n.status=Ar;if(n.status===Ar)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=$(e.adler,n.pending_buf,n.pending-i,i)),Le(e),i=n.pending,n.pending===n.pending_buf_size)){a=1;break}n.gzindex<n.gzhead.comment.length?a=n.gzhead.comment.charCodeAt(n.gzindex++)&255:a=0,I(n,a)}while(a!==0);n.gzhead.hcrc&&n.pending>i&&(e.adler=$(e.adler,n.pending_buf,n.pending-i,i)),a===0&&(n.status=kr)}else n.status=kr;if(n.status===kr&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&Le(e),n.pending+2<=n.pending_buf_size&&(I(n,e.adler&255),I(n,e.adler>>8&255),e.adler=0,n.status=Ye)):n.status=Ye),n.pending!==0){if(Le(e),e.avail_out===0)return n.last_flush=-1,Ce}else if(e.avail_in===0&&Us(t)<=Us(r)&&t!==Fe)return Me(e,Ei);if(n.status===Ut&&e.avail_in!==0)return Me(e,Ei);if(e.avail_in!==0||n.lookahead!==0||t!==Ge&&n.status!==Ut){var c=n.strategy===Er?pd(n,t):n.strategy===Qh?dd(n,t):wt[n.level].func(n,t);if((c===Je||c===gt)&&(n.status=Ut),c===B||c===Je)return e.avail_out===0&&(n.last_flush=-1),Ce;if(c===$t&&(t===Vh?Hh(n):t!==Ns&&(Ls(n,0,0,!1),t===Gh&&(Xe(n.head),n.lookahead===0&&(n.strstart=0,n.block_start=0,n.insert=0))),Le(e),e.avail_out===0))return n.last_flush=-1,Ce}return t!==Fe?Ce:n.wrap<=0?Bs:(n.wrap===2?(I(n,e.adler&255),I(n,e.adler>>8&255),I(n,e.adler>>16&255),I(n,e.adler>>24&255),I(n,e.total_in&255),I(n,e.total_in>>8&255),I(n,e.total_in>>16&255),I(n,e.total_in>>24&255)):(zt(n,e.adler>>>16),zt(n,e.adler&65535)),Le(e),n.wrap>0&&(n.wrap=-n.wrap),n.pending!==0?Ce:Bs)}function bd(e){var t;return!e||!e.state?De:(t=e.state.status,t!==ki&&t!==Ri&&t!==Sr&&t!==Ar&&t!==kr&&t!==Ye&&t!==Ut?Me(e,De):(e.state=null,t===Ye?Me(e,Yh):Ce))}var Rr=30,md=12;function xd(e,t){var r,n,i,a,o,s,c,f,l,d,h,u,p,v,_,w,E,S,g,A,T,b,x,O,k;r=e.state,n=e.next_in,O=e.input,i=n+(e.avail_in-5),a=e.next_out,k=e.output,o=a-(t-e.avail_out),s=a+(e.avail_out-257),c=r.dmax,f=r.wsize,l=r.whave,d=r.wnext,h=r.window,u=r.hold,p=r.bits,v=r.lencode,_=r.distcode,w=(1<<r.lenbits)-1,E=(1<<r.distbits)-1;e:do{p<15&&(u+=O[n++]<<p,p+=8,u+=O[n++]<<p,p+=8),S=v[u&w];t:for(;;){if(g=S>>>24,u>>>=g,p-=g,g=S>>>16&255,g===0)k[a++]=S&65535;else if(g&16){A=S&65535,g&=15,g&&(p<g&&(u+=O[n++]<<p,p+=8),A+=u&(1<<g)-1,u>>>=g,p-=g),p<15&&(u+=O[n++]<<p,p+=8,u+=O[n++]<<p,p+=8),S=_[u&E];r:for(;;){if(g=S>>>24,u>>>=g,p-=g,g=S>>>16&255,g&16){if(T=S&65535,g&=15,p<g&&(u+=O[n++]<<p,p+=8,p<g&&(u+=O[n++]<<p,p+=8)),T+=u&(1<<g)-1,T>c){e.msg="invalid distance too far back",r.mode=Rr;break e}if(u>>>=g,p-=g,g=a-o,T>g){if(g=T-g,g>l&&r.sane){e.msg="invalid distance too far back",r.mode=Rr;break e}if(b=0,x=h,d===0){if(b+=f-g,g<A){A-=g;do k[a++]=h[b++];while(--g);b=a-T,x=k}}else if(d<g){if(b+=f+d-g,g-=d,g<A){A-=g;do k[a++]=h[b++];while(--g);if(b=0,d<A){g=d,A-=g;do k[a++]=h[b++];while(--g);b=a-T,x=k}}}else if(b+=d-g,g<A){A-=g;do k[a++]=h[b++];while(--g);b=a-T,x=k}for(;A>2;)k[a++]=x[b++],k[a++]=x[b++],k[a++]=x[b++],A-=3;A&&(k[a++]=x[b++],A>1&&(k[a++]=x[b++]))}else{b=a-T;do k[a++]=k[b++],k[a++]=k[b++],k[a++]=k[b++],A-=3;while(A>2);A&&(k[a++]=k[b++],A>1&&(k[a++]=k[b++]))}}else if((g&64)===0){S=_[(S&65535)+(u&(1<<g)-1)];continue r}else{e.msg="invalid distance code",r.mode=Rr;break e}break}}else if((g&64)===0){S=v[(S&65535)+(u&(1<<g)-1)];continue t}else if(g&32){r.mode=md;break e}else{e.msg="invalid literal/length code",r.mode=Rr;break e}break}}while(n<i&&a<s);A=p>>3,n-=A,p-=A<<3,u&=(1<<p)-1,e.next_in=n,e.next_out=a,e.avail_in=n<i?5+(i-n):5-(n-i),e.avail_out=a<s?257+(s-a):257-(a-s),r.hold=u,r.bits=p}var bt=15,Zs=852,Hs=592,qs=0,Ti=1,Ks=2,Ed=[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],Sd=[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],Ad=[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],kd=[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 Ht(e,t,r,n,i,a,o,s){var c=s.bits,f=0,l=0,d=0,h=0,u=0,p=0,v=0,_=0,w=0,E=0,S,g,A,T,b,x=null,O=0,k,C=new ie(bt+1),z=new ie(bt+1),W=null,te=0,Ue,G,se;for(f=0;f<=bt;f++)C[f]=0;for(l=0;l<n;l++)C[t[r+l]]++;for(u=c,h=bt;h>=1&&C[h]===0;h--);if(u>h&&(u=h),h===0)return i[a++]=1<<24|64<<16|0,i[a++]=1<<24|64<<16|0,s.bits=1,0;for(d=1;d<h&&C[d]===0;d++);for(u<d&&(u=d),_=1,f=1;f<=bt;f++)if(_<<=1,_-=C[f],_<0)return-1;if(_>0&&(e===qs||h!==1))return-1;for(z[1]=0,f=1;f<bt;f++)z[f+1]=z[f]+C[f];for(l=0;l<n;l++)t[r+l]!==0&&(o[z[t[r+l]]++]=l);if(e===qs?(x=W=o,k=19):e===Ti?(x=Ed,O-=257,W=Sd,te-=257,k=256):(x=Ad,W=kd,k=-1),E=0,l=0,f=d,b=a,p=u,v=0,A=-1,w=1<<u,T=w-1,e===Ti&&w>Zs||e===Ks&&w>Hs)return 1;for(;;){Ue=f-v,o[l]<k?(G=0,se=o[l]):o[l]>k?(G=W[te+o[l]],se=x[O+o[l]]):(G=96,se=0),S=1<<f-v,g=1<<p,d=g;do g-=S,i[b+(E>>v)+g]=Ue<<24|G<<16|se|0;while(g!==0);for(S=1<<f-1;E&S;)S>>=1;if(S!==0?(E&=S-1,E+=S):E=0,l++,--C[f]===0){if(f===h)break;f=t[r+o[l]]}if(f>u&&(E&T)!==A){for(v===0&&(v=u),b+=d,p=f-v,_=1<<p;p+v<h&&(_-=C[p+v],!(_<=0));)p++,_<<=1;if(w+=1<<p,e===Ti&&w>Zs||e===Ks&&w>Hs)return 1;A=E&T,i[A]=u<<24|p<<16|b-a|0}}return E!==0&&(i[b+E]=f-v<<24|64<<16|0),s.bits=u,0}var Rd=0,Ws=1,Vs=2,Gs=4,Od=5,Or=6,qt=0,Td=1,Id=2,Ne=-2,Pd=-3,Fd=-4,Cd=-5,Ys=8,Js=1,Xs=2,Qs=3,ef=4,tf=5,rf=6,nf=7,af=8,of=9,sf=10,ff=11,Ae=12,Ii=13,cf=14,Pi=15,lf=16,uf=17,hf=18,df=19,Tr=20,Ir=21,pf=22,yf=23,vf=24,gf=25,_f=26,Fi=27,wf=28,bf=29,D=30,Dd=31,jd=32,Md=852,Ld=592;function mf(e){return(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24)}function Nd(){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 ie(320),this.work=new ie(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function Bd(e){var t;return!e||!e.state?Ne:(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=Js,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new br(Md),t.distcode=t.distdyn=new br(Ld),t.sane=1,t.back=-1,qt)}function xf(e){var t;return!e||!e.state?Ne:(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,Bd(e))}function Ud(e,t){var r,n;return!e||!e.state||(n=e.state,t<0?(r=0,t=-t):(r=(t>>4)+1,t<48&&(t&=15)),t&&(t<8||t>15))?Ne:(n.window!==null&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,xf(e))}function $d(e,t){var r,n;return e?(n=new Nd,e.state=n,n.window=null,r=Ud(e,t),r!==qt&&(e.state=null),r):Ne}var Ef=!0,Ci,Di;function zd(e){if(Ef){var t;for(Ci=new br(512),Di=new br(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(Ht(Ws,e.lens,0,288,Ci,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;Ht(Vs,e.lens,0,32,Di,0,e.work,{bits:5}),Ef=!1}e.lencode=Ci,e.lenbits=9,e.distcode=Di,e.distbits=5}function Zd(e,t,r,n){var i,a=e.state;return a.window===null&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new wr(a.wsize)),n>=a.wsize?(Ee(a.window,t,r-a.wsize,a.wsize,0),a.wnext=0,a.whave=a.wsize):(i=a.wsize-a.wnext,i>n&&(i=n),Ee(a.window,t,r-n,i,a.wnext),n-=i,n?(Ee(a.window,t,r-n,n,0),a.wnext=n,a.whave=a.wsize):(a.wnext+=i,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=i))),0}function Hd(e,t){var r,n,i,a,o,s,c,f,l,d,h,u,p,v,_=0,w,E,S,g,A,T,b,x,O=new wr(4),k,C,z=[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 Ne;r=e.state,r.mode===Ae&&(r.mode=Ii),o=e.next_out,i=e.output,c=e.avail_out,a=e.next_in,n=e.input,s=e.avail_in,f=r.hold,l=r.bits,d=s,h=c,x=qt;e:for(;;)switch(r.mode){case Js:if(r.wrap===0){r.mode=Ii;break}for(;l<16;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}if(r.wrap&2&&f===35615){r.check=0,O[0]=f&255,O[1]=f>>>8&255,r.check=$(r.check,O,2,0),f=0,l=0,r.mode=Xs;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)!==Ys){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?sf:Ae,f=0,l=0;break;case Xs:for(;l<16;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}if(r.flags=f,(r.flags&255)!==Ys){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=$(r.check,O,2,0)),f=0,l=0,r.mode=Qs;case Qs:for(;l<32;){if(s===0)break e;s--,f+=n[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=$(r.check,O,4,0)),f=0,l=0,r.mode=ef;case ef:for(;l<16;){if(s===0)break e;s--,f+=n[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=$(r.check,O,2,0)),f=0,l=0,r.mode=tf;case tf:if(r.flags&1024){for(;l<16;){if(s===0)break e;s--,f+=n[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=$(r.check,O,2,0)),f=0,l=0}else r.head&&(r.head.extra=null);r.mode=rf;case rf: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)),Ee(r.head.extra,n,a,u,b)),r.flags&512&&(r.check=$(r.check,n,u,a)),s-=u,a+=u,r.length-=u),r.length))break e;r.length=0,r.mode=nf;case nf:if(r.flags&2048){if(s===0)break e;u=0;do b=n[a+u++],r.head&&b&&r.length<65536&&(r.head.name+=String.fromCharCode(b));while(b&&u<s);if(r.flags&512&&(r.check=$(r.check,n,u,a)),s-=u,a+=u,b)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=af;case af:if(r.flags&4096){if(s===0)break e;u=0;do b=n[a+u++],r.head&&b&&r.length<65536&&(r.head.comment+=String.fromCharCode(b));while(b&&u<s);if(r.flags&512&&(r.check=$(r.check,n,u,a)),s-=u,a+=u,b)break e}else r.head&&(r.head.comment=null);r.mode=of;case of:if(r.flags&512){for(;l<16;){if(s===0)break e;s--,f+=n[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=Ae;break;case sf:for(;l<32;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}e.adler=r.check=mf(f),f=0,l=0,r.mode=ff;case ff:if(r.havedict===0)return e.next_out=o,e.avail_out=c,e.next_in=a,e.avail_in=s,r.hold=f,r.bits=l,Id;e.adler=r.check=1,r.mode=Ae;case Ae:if(t===Od||t===Or)break e;case Ii:if(r.last){f>>>=l&7,l-=l&7,r.mode=Fi;break}for(;l<3;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}switch(r.last=f&1,f>>>=1,l-=1,f&3){case 0:r.mode=cf;break;case 1:if(zd(r),r.mode=Tr,t===Or){f>>>=2,l-=2;break e}break;case 2:r.mode=uf;break;case 3:e.msg="invalid block type",r.mode=D}f>>>=2,l-=2;break;case cf:for(f>>>=l&7,l-=l&7;l<32;){if(s===0)break e;s--,f+=n[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=Pi,t===Or)break e;case Pi:r.mode=lf;case lf:if(u=r.length,u){if(u>s&&(u=s),u>c&&(u=c),u===0)break e;Ee(i,n,a,u,o),s-=u,a+=u,c-=u,o+=u,r.length-=u;break}r.mode=Ae;break;case uf:for(;l<14;){if(s===0)break e;s--,f+=n[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=hf;case hf:for(;r.have<r.ncode;){for(;l<3;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}r.lens[z[r.have++]]=f&7,f>>>=3,l-=3}for(;r.have<19;)r.lens[z[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,k={bits:r.lenbits},x=Ht(Rd,r.lens,0,19,r.lencode,0,r.work,k),r.lenbits=k.bits,x){e.msg="invalid code lengths set",r.mode=D;break}r.have=0,r.mode=df;case df:for(;r.have<r.nlen+r.ndist;){for(;_=r.lencode[f&(1<<r.lenbits)-1],w=_>>>24,E=_>>>16&255,S=_&65535,!(w<=l);){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}if(S<16)f>>>=w,l-=w,r.lens[r.have++]=S;else{if(S===16){for(C=w+2;l<C;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}if(f>>>=w,l-=w,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(S===17){for(C=w+3;l<C;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}f>>>=w,l-=w,b=0,u=3+(f&7),f>>>=3,l-=3}else{for(C=w+7;l<C;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}f>>>=w,l-=w,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,k={bits:r.lenbits},x=Ht(Ws,r.lens,0,r.nlen,r.lencode,0,r.work,k),r.lenbits=k.bits,x){e.msg="invalid literal/lengths set",r.mode=D;break}if(r.distbits=6,r.distcode=r.distdyn,k={bits:r.distbits},x=Ht(Vs,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,k),r.distbits=k.bits,x){e.msg="invalid distances set",r.mode=D;break}if(r.mode=Tr,t===Or)break e;case Tr:r.mode=Ir;case Ir:if(s>=6&&c>=258){e.next_out=o,e.avail_out=c,e.next_in=a,e.avail_in=s,r.hold=f,r.bits=l,xd(e,h),o=e.next_out,i=e.output,c=e.avail_out,a=e.next_in,n=e.input,s=e.avail_in,f=r.hold,l=r.bits,r.mode===Ae&&(r.back=-1);break}for(r.back=0;_=r.lencode[f&(1<<r.lenbits)-1],w=_>>>24,E=_>>>16&255,S=_&65535,!(w<=l);){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}if(E&&(E&240)===0){for(g=w,A=E,T=S;_=r.lencode[T+((f&(1<<g+A)-1)>>g)],w=_>>>24,E=_>>>16&255,S=_&65535,!(g+w<=l);){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}f>>>=g,l-=g,r.back+=g}if(f>>>=w,l-=w,r.back+=w,r.length=S,E===0){r.mode=_f;break}if(E&32){r.back=-1,r.mode=Ae;break}if(E&64){e.msg="invalid literal/length code",r.mode=D;break}r.extra=E&15,r.mode=pf;case pf:if(r.extra){for(C=r.extra;l<C;){if(s===0)break e;s--,f+=n[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=yf;case yf:for(;_=r.distcode[f&(1<<r.distbits)-1],w=_>>>24,E=_>>>16&255,S=_&65535,!(w<=l);){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}if((E&240)===0){for(g=w,A=E,T=S;_=r.distcode[T+((f&(1<<g+A)-1)>>g)],w=_>>>24,E=_>>>16&255,S=_&65535,!(g+w<=l);){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}f>>>=g,l-=g,r.back+=g}if(f>>>=w,l-=w,r.back+=w,E&64){e.msg="invalid distance code",r.mode=D;break}r.offset=S,r.extra=E&15,r.mode=vf;case vf:if(r.extra){for(C=r.extra;l<C;){if(s===0)break e;s--,f+=n[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=gf;case gf:if(c===0)break e;if(u=h-c,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,p=r.wsize-u):p=r.wnext-u,u>r.length&&(u=r.length),v=r.window}else v=i,p=o-r.offset,u=r.length;u>c&&(u=c),c-=u,r.length-=u;do i[o++]=v[p++];while(--u);r.length===0&&(r.mode=Ir);break;case _f:if(c===0)break e;i[o++]=r.length,c--,r.mode=Ir;break;case Fi:if(r.wrap){for(;l<32;){if(s===0)break e;s--,f|=n[a++]<<l,l+=8}if(h-=c,e.total_out+=h,r.total+=h,h&&(e.adler=r.check=r.flags?$(r.check,i,h,o-h):xi(r.check,i,h,o-h)),h=c,(r.flags?f:mf(f))!==r.check){e.msg="incorrect data check",r.mode=D;break}f=0,l=0}r.mode=wf;case wf:if(r.wrap&&r.flags){for(;l<32;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}if(f!==(r.total&4294967295)){e.msg="incorrect length check",r.mode=D;break}f=0,l=0}r.mode=bf;case bf:x=Td;break e;case D:x=Pd;break e;case Dd:return Fd;case jd:default:return Ne}return e.next_out=o,e.avail_out=c,e.next_in=a,e.avail_in=s,r.hold=f,r.bits=l,(r.wsize||h!==e.avail_out&&r.mode<D&&(r.mode<Fi||t!==Gs))&&Zd(e,e.output,e.next_out,h-e.avail_out),d-=e.avail_in,h-=e.avail_out,e.total_in+=d,e.total_out+=h,r.total+=h,r.wrap&&h&&(e.adler=r.check=r.flags?$(r.check,i,h,e.next_out-h):xi(r.check,i,h,e.next_out-h)),e.data_type=r.bits+(r.last?64:0)+(r.mode===Ae?128:0)+(r.mode===Tr||r.mode===Pi?256:0),(d===0&&h===0||t===Gs)&&x===qt&&(x=Cd),x}function qd(e){if(!e||!e.state)return Ne;var t=e.state;return t.window&&(t.window=null),e.state=null,qt}var ji=0,mt=1,Pr=2,Kt=3,Fr=4,xt=5,Wt=6,Vt=7,Sf=0,Af=1,kf=2,Rf=3,Mi=4,Of=5,Kd=6,Cr=0,Tf=1,If=2,Wd=-1,Vd=-2,Gd=-3,Pf=-5,Yd=0,Jd=1,Xd=9,Qd=-1,ep=1,tp=2,rp=3,np=4,ip=0,ap=0,op=1,sp=2,Ff=8;function oe(e){if(e<mt||e>Vt)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}oe.prototype.init=function(e,t,r,n,i){this.windowBits=e,this.level=t,this.memLevel=r,this.strategy=n,(this.mode===Kt||this.mode===Fr)&&(this.windowBits+=16),this.mode===Vt&&(this.windowBits+=32),(this.mode===xt||this.mode===Wt)&&(this.windowBits=-this.windowBits),this.strm=new kh;var a;switch(this.mode){case mt:case Kt:case xt:a=_d(this.strm,this.level,Ff,this.windowBits,this.memLevel,this.strategy);break;case Pr:case Fr:case Wt:case Vt:a=$d(this.strm,this.windowBits);break;default:throw new Error("Unknown mode "+this.mode)}if(a!==Cr){this._error(a);return}this.write_in_progress=!1,this.init_done=!0},oe.prototype.params=function(){throw new Error("deflateParams Not supported")},oe.prototype._writeCheck=function(){if(!this.init_done)throw new Error("write before init");if(this.mode===ji)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")},oe.prototype.write=function(e,t,r,n,i,a,o){this._writeCheck(),this.write_in_progress=!0;var s=this;return be.nextTick(function(){s.write_in_progress=!1;var c=s._write(e,t,r,n,i,a,o);s.callback(c[0],c[1]),s.pending_close&&s.close()}),this};function fp(e,t){for(var r=0;r<e.length;r++)this[t+r]=e[r]}oe.prototype.writeSync=function(e,t,r,n,i,a,o){return this._writeCheck(),this._write(e,t,r,n,i,a,o)},oe.prototype._write=function(e,t,r,n,i,a,o){if(this.write_in_progress=!0,e!==Sf&&e!==Af&&e!==kf&&e!==Rf&&e!==Mi&&e!==Of)throw new Error("Invalid flush value");t==null&&(t=new y(0),n=0,r=0),i._set?i.set=i._set:i.set=fp;var s=this.strm;s.avail_in=n,s.input=t,s.next_in=r,s.avail_out=o,s.output=i,s.next_out=a;var c;switch(this.mode){case mt:case Kt:case xt:c=wd(s,e);break;case Vt:case Pr:case Fr:case Wt:c=Hd(s,e);break;default:throw new Error("Unknown mode "+this.mode)}return this._checkError(c,s,e)||this._error(c),this.write_in_progress=!1,[s.avail_in,s.avail_out]},oe.prototype._checkError=function(e,t,r){switch(e){case Cr:case Pf:if(t.avail_out!==0&&r===Mi)return!1;break;case Tf:break;case If:return!1;default:return!1}return!0},oe.prototype.close=function(){if(this.write_in_progress){this.pending_close=!0;return}this.pending_close=!1,this.mode===mt||this.mode===Kt||this.mode===xt?bd(this.strm):qd(this.strm),this.mode=ji};var Dr;oe.prototype.reset=function(){switch(this.mode){case mt:case xt:Dr=zs(this.strm);break;case Pr:case Wt:Dr=xf(this.strm);break}Dr!==Cr&&this._error(Dr)},oe.prototype._error=function(e){this.onerror(ys[e]+": "+this.strm.msg,e),this.write_in_progress=!1,this.pending_close&&this.close()};var Cf=Object.freeze({__proto__:null,DEFLATE:mt,DEFLATERAW:xt,GUNZIP:Fr,GZIP:Kt,INFLATE:Pr,INFLATERAW:Wt,NONE:ji,UNZIP:Vt,Z_BEST_COMPRESSION:Xd,Z_BEST_SPEED:Jd,Z_BINARY:ap,Z_BLOCK:Of,Z_BUF_ERROR:Pf,Z_DATA_ERROR:Gd,Z_DEFAULT_COMPRESSION:Qd,Z_DEFAULT_STRATEGY:ip,Z_DEFLATED:Ff,Z_ERRNO:Wd,Z_FILTERED:ep,Z_FINISH:Mi,Z_FIXED:np,Z_FULL_FLUSH:Rf,Z_HUFFMAN_ONLY:tp,Z_NEED_DICT:If,Z_NO_COMPRESSION:Yd,Z_NO_FLUSH:Sf,Z_OK:Cr,Z_PARTIAL_FLUSH:Af,Z_RLE:rp,Z_STREAM_END:Tf,Z_STREAM_ERROR:Vd,Z_SYNC_FLUSH:kf,Z_TEXT:op,Z_TREES:Kd,Z_UNKNOWN:sp,Zlib:oe});function cp(e,t){if(!e)throw new Error(t)}var m={};Object.keys(Cf).forEach(function(e){m[e]=Cf[e]}),m.Z_MIN_WINDOWBITS=8,m.Z_MAX_WINDOWBITS=15,m.Z_DEFAULT_WINDOWBITS=15,m.Z_MIN_CHUNK=64,m.Z_MAX_CHUNK=1/0,m.Z_DEFAULT_CHUNK=16*1024,m.Z_MIN_MEMLEVEL=1,m.Z_MAX_MEMLEVEL=9,m.Z_DEFAULT_MEMLEVEL=8,m.Z_MIN_LEVEL=-1,m.Z_MAX_LEVEL=9,m.Z_DEFAULT_LEVEL=m.Z_DEFAULT_COMPRESSION;var Gt={Z_OK:m.Z_OK,Z_STREAM_END:m.Z_STREAM_END,Z_NEED_DICT:m.Z_NEED_DICT,Z_ERRNO:m.Z_ERRNO,Z_STREAM_ERROR:m.Z_STREAM_ERROR,Z_DATA_ERROR:m.Z_DATA_ERROR,Z_MEM_ERROR:m.Z_MEM_ERROR,Z_BUF_ERROR:m.Z_BUF_ERROR,Z_VERSION_ERROR:m.Z_VERSION_ERROR};Object.keys(Gt).forEach(function(e){Gt[Gt[e]]=e});function lp(e){return new tt(e)}function up(e){return new rt(e)}function hp(e){return new at(e)}function dp(e){return new ot(e)}function pp(e){return new nt(e)}function yp(e){return new it(e)}function vp(e){return new st(e)}function gp(e,t,r){return typeof t=="function"&&(r=t,t={}),Qe(new tt(t),e,r)}function _p(e,t){return et(new tt(t),e)}function wp(e,t,r){return typeof t=="function"&&(r=t,t={}),Qe(new nt(t),e,r)}function bp(e,t){return et(new nt(t),e)}function mp(e,t,r){return typeof t=="function"&&(r=t,t={}),Qe(new at(t),e,r)}function xp(e,t){return et(new at(t),e)}function Ep(e,t,r){return typeof t=="function"&&(r=t,t={}),Qe(new st(t),e,r)}function Sp(e,t){return et(new st(t),e)}function Ap(e,t,r){return typeof t=="function"&&(r=t,t={}),Qe(new rt(t),e,r)}function kp(e,t){return et(new rt(t),e)}function Rp(e,t,r){return typeof t=="function"&&(r=t,t={}),Qe(new it(t),e,r)}function Op(e,t){return et(new it(t),e)}function Tp(e,t,r){return typeof t=="function"&&(r=t,t={}),Qe(new ot(t),e,r)}function Ip(e,t){return et(new ot(t),e)}function Qe(e,t,r){var n=[],i=0;e.on("error",o),e.on("end",s),e.end(t),a();function a(){for(var c;(c=e.read())!==null;)n.push(c),i+=c.length;e.once("readable",a)}function o(c){e.removeListener("end",s),e.removeListener("readable",a),r(c)}function s(){var c=y.concat(n,i);n=[],r(null,c),e.close()}}function et(e,t){if(typeof t=="string"&&(t=new y(t)),!y.isBuffer(t))throw new TypeError("Not a string or buffer");var r=m.Z_FINISH;return e._processChunk(t,r)}function tt(e){if(!(this instanceof tt))return new tt(e);j.call(this,e,m.DEFLATE)}function rt(e){if(!(this instanceof rt))return new rt(e);j.call(this,e,m.INFLATE)}function nt(e){if(!(this instanceof nt))return new nt(e);j.call(this,e,m.GZIP)}function it(e){if(!(this instanceof it))return new it(e);j.call(this,e,m.GUNZIP)}function at(e){if(!(this instanceof at))return new at(e);j.call(this,e,m.DEFLATERAW)}function ot(e){if(!(this instanceof ot))return new ot(e);j.call(this,e,m.INFLATERAW)}function st(e){if(!(this instanceof st))return new st(e);j.call(this,e,m.UNZIP)}function j(e,t){if(this._opts=e=e||{},this._chunkSize=e.chunkSize||m.Z_DEFAULT_CHUNK,ee.call(this,e),e.flush&&e.flush!==m.Z_NO_FLUSH&&e.flush!==m.Z_PARTIAL_FLUSH&&e.flush!==m.Z_SYNC_FLUSH&&e.flush!==m.Z_FULL_FLUSH&&e.flush!==m.Z_FINISH&&e.flush!==m.Z_BLOCK)throw new Error("Invalid flush flag: "+e.flush);if(this._flushFlag=e.flush||m.Z_NO_FLUSH,e.chunkSize&&(e.chunkSize<m.Z_MIN_CHUNK||e.chunkSize>m.Z_MAX_CHUNK))throw new Error("Invalid chunk size: "+e.chunkSize);if(e.windowBits&&(e.windowBits<m.Z_MIN_WINDOWBITS||e.windowBits>m.Z_MAX_WINDOWBITS))throw new Error("Invalid windowBits: "+e.windowBits);if(e.level&&(e.level<m.Z_MIN_LEVEL||e.level>m.Z_MAX_LEVEL))throw new Error("Invalid compression level: "+e.level);if(e.memLevel&&(e.memLevel<m.Z_MIN_MEMLEVEL||e.memLevel>m.Z_MAX_MEMLEVEL))throw new Error("Invalid memLevel: "+e.memLevel);if(e.strategy&&e.strategy!=m.Z_FILTERED&&e.strategy!=m.Z_HUFFMAN_ONLY&&e.strategy!=m.Z_RLE&&e.strategy!=m.Z_FIXED&&e.strategy!=m.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+e.strategy);if(e.dictionary&&!y.isBuffer(e.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance");this._binding=new m.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=Gt[o],r.emit("error",s)};var n=m.Z_DEFAULT_COMPRESSION;typeof e.level=="number"&&(n=e.level);var i=m.Z_DEFAULT_STRATEGY;typeof e.strategy=="number"&&(i=e.strategy),this._binding.init(e.windowBits||m.Z_DEFAULT_WINDOWBITS,n,e.memLevel||m.Z_DEFAULT_MEMLEVEL,i,e.dictionary),this._buffer=new y(this._chunkSize),this._offset=0,this._closed=!1,this._level=n,this._strategy=i,this.once("end",this.close)}K(j,ee),j.prototype.params=function(e,t,r){if(e<m.Z_MIN_LEVEL||e>m.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+e);if(t!=m.Z_FILTERED&&t!=m.Z_HUFFMAN_ONLY&&t!=m.Z_RLE&&t!=m.Z_FIXED&&t!=m.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+t);if(this._level!==e||this._strategy!==t){var n=this;this.flush(m.Z_SYNC_FLUSH,function(){n._binding.params(e,t),n._hadError||(n._level=e,n._strategy=t,r&&r())})}else be.nextTick(r)},j.prototype.reset=function(){return this._binding.reset()},j.prototype._flush=function(e){this._transform(new y(0),"",e)},j.prototype.flush=function(e,t){var r=this._writableState;if((typeof e=="function"||e===void 0&&!t)&&(t=e,e=m.Z_FULL_FLUSH),r.ended)t&&be.nextTick(t);else if(r.ending)t&&this.once("end",t);else if(r.needDrain){var n=this;this.once("drain",function(){n.flush(t)})}else this._flushFlag=e,this.write(new y(0),"",t)},j.prototype.close=function(e){if(e&&be.nextTick(e),!this._closed){this._closed=!0,this._binding.close();var t=this;be.nextTick(function(){t.emit("close")})}},j.prototype._transform=function(e,t,r){var n,i=this._writableState,a=i.ending||i.ended,o=a&&(!e||i.length===e.length);if(!e===null&&!y.isBuffer(e))return r(new Error("invalid input"));o?n=m.Z_FINISH:(n=this._flushFlag,e.length>=i.length&&(this._flushFlag=this._opts.flush||m.Z_NO_FLUSH)),this._processChunk(e,n,r)},j.prototype._processChunk=function(e,t,r){var n=e&&e.length,i=this._chunkSize-this._offset,a=0,o=this,s=typeof r=="function";if(!s){var c=[],f=0,l;this.on("error",function(v){l=v});do var d=this._binding.writeSync(t,e,a,n,this._buffer,this._offset,i);while(!this._hadError&&p(d[0],d[1]));if(this._hadError)throw l;var h=y.concat(c,f);return this.close(),h}var u=this._binding.write(t,e,a,n,this._buffer,this._offset,i);u.buffer=e,u.callback=p;function p(v,_){if(!o._hadError){var w=i-_;if(cp(w>=0,"have should not go down"),w>0){var E=o._buffer.slice(o._offset,o._offset+w);o._offset+=w,s?o.push(E):(c.push(E),f+=E.length)}if((_===0||o._offset>=o._chunkSize)&&(i=o._chunkSize,o._offset=0,o._buffer=new y(o._chunkSize)),_===0){if(a+=n-v,n=v,!s)return!0;var S=o._binding.write(t,e,a,n,o._buffer,o._offset,o._chunkSize);S.callback=p,S.buffer=e;return}if(!s)return!1;r()}}},K(tt,j),K(rt,j),K(nt,j),K(it,j),K(at,j),K(ot,j),K(st,j);var Df={codes:Gt,createDeflate:lp,createInflate:up,createDeflateRaw:hp,createInflateRaw:dp,createGzip:pp,createGunzip:yp,createUnzip:vp,deflate:gp,deflateSync:_p,gzip:wp,gzipSync:bp,deflateRaw:mp,deflateRawSync:xp,unzip:Ep,unzipSync:Sp,inflate:Ap,inflateSync:kp,gunzip:Rp,gunzipSync:Op,inflateRaw:Tp,inflateRawSync:Ip,Deflate:tt,Inflate:rt,Gzip:nt,Gunzip:it,DeflateRaw:at,InflateRaw:ot,Unzip:st,Zlib:j};class jf extends ui{constructor({client:t,keyPrefix:r="cache",ttl:n=0,prefix:i=void 0}){super({client:t,keyPrefix:r,ttl:n,prefix:i}),this.client=t,this.keyPrefix=r,this.config.ttl=n,this.config.client=t,this.config.prefix=i!==void 0?i:r+(r.endsWith("/")?"":"/")}async _set(t,r){let n=JSON.stringify(r);const i=n.length;return n=Df.gzipSync(n).toString("base64"),this.client.putObject({key:ge(this.keyPrefix,t),body:n,contentEncoding:"gzip",contentType:"application/gzip",metadata:{compressor:"zlib",compressed:"true","client-id":this.client.id,"length-serialized":String(i),"length-compressed":String(n.length),"compression-gain":(n.length/i).toFixed(2)}})}async _get(t){try{const{Body:r}=await this.client.getObject(ge(this.keyPrefix,t));let n=await Ft(r);return n=Buffer.from(n,"base64"),n=Df.unzipSync(n).toString(),JSON.parse(n)}catch(r){if(r.name==="NoSuchKey"||r.name==="NotFound")return null;throw r}}async _del(t){return await this.client.deleteObject(ge(this.keyPrefix,t)),!0}async _clear(){const t=await this.client.getAllKeys({prefix:this.keyPrefix});for(const r of t)await this.client.deleteObject(r)}async size(){return(await this.keys()).length}async keys(){const t=await this.client.getAllKeys({prefix:this.keyPrefix}),r=this.keyPrefix.endsWith("/")?this.keyPrefix:this.keyPrefix+"/";return t.map(n=>n.startsWith(r)?n.slice(r.length):n)}}class Mf extends R{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 Pp={setup(e){},start(){},stop(){}},Fp={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 Cp extends Mf{constructor(t={}){super(),this.driver=t.driver}async setup(t){this.database=t,this.driver||(this.driver=new jf({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 n=await this._createResource(...r);return t(n),n}}installResourcesProxies(t){t.cache=this.driver;let r=`resource=${t.name}`;this.driver.keyPrefix&&(this.driver.keyPrefix=ge(this.driver.keyPrefix,r)),t.cacheKeyFor=async function({params:n={},action:i="list"}){let a=Object.keys(n).sort().map(o=>`${o}:${n[o]}`).join("|")||"empty";return a=await fa(a),a=ge(r,`action=${i}`,`${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 n=await this.cacheKeyFor({action:"count"});try{const a=await this.cache.get(n);if(a)return a}catch(a){if(a.name!=="NoSuchKey")throw a}const i=await t._count();return await this.cache.set(n,i),i},t.listIds=async function(){const n=await this.cacheKeyFor({action:"listIds"});try{const a=await this.cache.get(n);if(a)return a}catch(a){if(a.name!=="NoSuchKey")throw a}const i=await t._listIds();return await this.cache.set(n,i),i},t.getMany=async function(n){const i=await this.cacheKeyFor({action:"getMany",params:{ids:n}});try{const o=await this.cache.get(i);if(o)return o}catch(o){if(o.name!=="NoSuchKey")throw o}const a=await t._getMany(n);return await this.cache.set(i,a),a},t.getAll=async function(){const n=await this.cacheKeyFor({action:"getAll"});try{const a=await this.cache.get(n);if(a)return a}catch(a){if(a.name!=="NoSuchKey")throw a}const i=await t._getAll();return await this.cache.set(n,i),i},t.page=async function({offset:n,size:i}){const a=await this.cacheKeyFor({action:"page",params:{offset:n,size:i}});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:n,size:i});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(...n){const i=await t._insert(...n);return await this.cache.clear(r),i},t.update=async function(...n){const i=await t._update(...n);return await this.cache.clear(r),i},t.delete=async function(...n){const i=await t._delete(...n);return await this.cache.clear(r),i},t.deleteMany=async function(...n){const i=await t._deleteMany(...n);return await this.cache.clear(r),i}}}export{ct as BaseError,ui as Cache,Cp as CachePlugin,sa as Client,oa as ConnectionString,Fp as CostsPlugin,ps as Database,na as ErrorMap,rr as InvalidResourceItem,Ah as MemoryCache,ta as MissingMetadata,Qi as NoSuchBucket,$r as NoSuchKey,ea as NotFound,Mf as Plugin,Pp as PluginObject,as as ResourceIdsPageReader,is as ResourceIdsReader,os as ResourceReader,ss as ResourceWriter,jf as S3Cache,aa as S3_DEFAULT_ENDPOINT,ia as S3_DEFAULT_REGION,Sh as S3db,ra as UnknownError,po as Validator,yo as ValidatorManager,ca as decrypt,zr as encrypt,fa as sha256,Ft as streamToString};