@tencentcloud/web-push 1.0.4 → 1.0.5

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.0.5] - 2025-02-02
4
+
5
+ ### Added
6
+
7
+ - Support for webpushInfo ext pass-through fields
8
+
3
9
  ## [1.0.4] - 2025-01-27
4
10
 
5
11
  ### Added
package/index.esm.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import ChatSDK from "@tencentcloud/lite-chat/professional";
2
- const version = "1.0.4";
2
+ const version = "1.0.5";
3
3
  var Placement = /* @__PURE__ */ ((Placement2) => {
4
4
  Placement2[Placement2["CENTER"] = 0] = "CENTER";
5
5
  Placement2[Placement2["TOP_LEFT"] = 1] = "TOP_LEFT";
package/index.umd.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@tencentcloud/lite-chat/professional")):"function"==typeof define&&define.amd?define(["exports","@tencentcloud/lite-chat/professional"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).WebPushSDK={},e.TencentCloudChat)}(this,function(e,t){"use strict";const n="1.0.4";var r=(e=>(e[e.CENTER=0]="CENTER",e[e.TOP_LEFT=1]="TOP_LEFT",e[e.TOP_CENTER=2]="TOP_CENTER",e[e.TOP_RIGHT=3]="TOP_RIGHT",e[e.MIDDLE_RIGHT=4]="MIDDLE_RIGHT",e[e.BOTTOM_RIGHT=5]="BOTTOM_RIGHT",e[e.BOTTOM_CENTER=6]="BOTTOM_CENTER",e[e.BOTTOM_LEFT=7]="BOTTOM_LEFT",e[e.MIDDLE_LEFT=8]="MIDDLE_LEFT",e))(r||{}),i=(e=>(e.MESSAGE_RECEIVED="message_received",e.MESSAGE_REVOKED="message_revoked",e.NOTIFICATION_CLICKED="notification_clicked",e.CUSTOM_MESSAGE_RECEIVED="custom_message_received",e))(i||{});const c="[WebPush]";class f{constructor(){this.logLevel=1}static getInstance(){return f.instance||(f.instance=new f),f.instance}setLogLevel(e){this.logLevel=e}getLogLevel(){return this.logLevel}shouldLog(e){return 4!==this.logLevel&&e>=this.logLevel}log(e,...t){this.shouldLog(1)&&console.log(`${c} ${e}`,...t)}warn(e,...t){this.shouldLog(2)&&console.warn(`${c} ${e}`,...t)}error(e,...t){this.shouldLog(3)&&console.error(`${c} ${e}`,...t)}info(e,...t){this.shouldLog(1)&&console.info(`${c} ${e}`,...t)}debug(e,...t){this.shouldLog(0)&&console.debug(`${c} ${e}`,...t)}}const D=f.getInstance();class K{constructor(){this.events=new Map}on(e,t){this.events.has(e)||this.events.set(e,new Map);const n=Math.random().toString(36).substr(2,9);return this.events.get(e).set(n,t),n}off(e,t){const n=this.events.get(e);if(!n)return!1;for(const[r,i]of n.entries())if(i===t)return n.delete(r),!0;return!1}emit(e,...t){const n=this.events.get(e);n&&n.forEach(n=>{try{n(...t)}catch(r){D.error(`Event listener error for ${e}:`,r)}})}removeAllListeners(e){e?this.events.delete(e):this.events.clear()}listenerCount(e){const t=this.events.get(e);return t?t.size:0}}class ee extends Error{constructor(e,t,n){super(`Parameter validation failed: ${e} - ${t}`),this.name="ValidationError",this.field=e,this.value=n}}class te{static validateValue(e,t,n){if(n.required&&(null==t||""===t))throw new ee(e,n.message||`${e} is required`,t);if(n.required||null!=t&&""!==t){if(n.type&&!this.checkType(t,n.type))throw new ee(e,n.message||`${e} must be of type ${n.type}`,t);if("string"===n.type&&"string"==typeof t){if(void 0!==n.min&&t.length<n.min)throw new ee(e,n.message||`${e} length cannot be less than ${n.min} characters`,t);if(void 0!==n.max&&t.length>n.max)throw new ee(e,n.message||`${e} length cannot exceed ${n.max} characters`,t)}if("number"===n.type&&"number"==typeof t){if(void 0!==n.min&&t<n.min)throw new ee(e,n.message||`${e} cannot be less than ${n.min}`,t);if(void 0!==n.max&&t>n.max)throw new ee(e,n.message||`${e} cannot be greater than ${n.max}`,t)}if(n.pattern&&"string"==typeof t&&!n.pattern.test(t))throw new ee(e,n.message||`${e} format is incorrect`,t);if(n.custom){const r=n.custom(t);if(!0!==r){const i="string"==typeof r?r:n.message||`${e} validation failed`;throw new ee(e,i,t)}}}}static validateObject(e,t){if(!e||"object"!=typeof e)throw new ee("root","Parameter must be an object type");for(const[n,r]of Object.entries(t)){const t=e[n];this.validateValue(n,t,r)}}static checkType(e,t){switch(t){case"string":return"string"==typeof e;case"number":return"number"==typeof e&&!isNaN(e);case"boolean":return"boolean"==typeof e;case"object":return null!==e&&"object"==typeof e&&!Array.isArray(e);case"array":return Array.isArray(e);case"function":return"function"==typeof e;default:return!1}}static validateSDKAppID(e){this.validateValue("SDKAppID",e,{required:!0,type:"number",custom:e=>!!Number.isInteger(e)||"SDKAppID must be an integer",message:"SDKAppID must be an integer between 1-999999999"})}static validateAppKey(e){this.validateValue("appKey",e,{required:!0,type:"string",pattern:/^[a-zA-Z0-9_-]+$/,message:"appKey must be a 1-256 character string composed of letters, numbers, underscores or hyphens"})}static validateUserID(e){this.validateValue("userID",e,{required:!0,type:"string",pattern:/^[a-zA-Z0-9_.-]+$/,message:"userID must be a 1-128 character string composed of letters, numbers, underscores, dots or hyphens"})}static validateEventType(e){const t=["message_received","message_revoked","notification_clicked"];this.validateValue("eventType",e,{required:!0,type:"string",custom:e=>!!t.includes(e)||`eventType must be one of: ${t.join(", ")}`})}static validateListener(e){this.validateValue("listener",e,{required:!0,type:"function",message:"listener must be a function"})}static validateRegisterPushOptions(e){if(!e)throw new ee("options","Registration options cannot be empty");const t={SDKAppID:{required:!0,type:"number",custom:e=>!!Number.isInteger(e)||"SDKAppID must be an integer"},appKey:{required:!0,type:"string",pattern:/^[a-zA-Z0-9_-]+$/},userID:{required:!0,type:"string",pattern:/^[a-zA-Z0-9_.-]+$/}};this.validateObject(e,t)}static validateServiceWorkerPath(e){this.validateValue("serviceWorkerPath",e,{required:!1,type:"string",pattern:/^[a-zA-Z0-9_./-]+\.js$/,message:"serviceWorkerPath must be a valid JavaScript file path"})}}class ie{constructor(){this.browserInfo=null}static getInstance(){return ie.instance||(ie.instance=new ie),ie.instance}getBrowserInfo(){if(this.browserInfo)return this.browserInfo;const e="undefined"!=typeof navigator&&navigator.userAgent||"Test/1.0.0",t={name:"Unknown",version:"0.0.0",majorVersion:0,platform:this.detectPlatform(),userAgent:e,language:this.detectLanguage()};if(/Chrome\/(\d+)/.test(e)&&!/Edge|Edg/.test(e)){const n=e.match(/Chrome\/(\d+)\.(\d+)\.(\d+)/);n&&(t.name="Chrome",t.version=`${n[1]}.${n[2]}.${n[3]}`,t.majorVersion=parseInt(n[1]))}else if(/Firefox\/(\d+)/.test(e)){const n=e.match(/Firefox\/(\d+)\.(\d+)/);n&&(t.name="Firefox",t.version=`${n[1]}.${n[2]}`,t.majorVersion=parseInt(n[1]))}else if(/Safari\//.test(e)&&!/Chrome|Chromium/.test(e)){const n=e.match(/Version\/(\d+)\.(\d+)/);n&&(t.name="Safari",t.version=`${n[1]}.${n[2]}`,t.majorVersion=parseInt(n[1]))}else if(/Edg\/(\d+)/.test(e)){const n=e.match(/Edg\/(\d+)\.(\d+)\.(\d+)/);n&&(t.name="Edge",t.version=`${n[1]}.${n[2]}.${n[3]}`,t.majorVersion=parseInt(n[1]))}else if(/Edge\/(\d+)/.test(e)){const n=e.match(/Edge\/(\d+)\.(\d+)/);n&&(t.name="Edge Legacy",t.version=`${n[1]}.${n[2]}`,t.majorVersion=parseInt(n[1]))}else if(/OPR\/(\d+)/.test(e)){const n=e.match(/OPR\/(\d+)\.(\d+)\.(\d+)/);n&&(t.name="Opera",t.version=`${n[1]}.${n[2]}.${n[3]}`,t.majorVersion=parseInt(n[1]))}return this.browserInfo=t,t}detectPlatform(){if("undefined"==typeof navigator)return"Test";const e=navigator.userAgent||"";return/Windows/.test(e)?"Windows":/Mac OS X/.test(e)?"macOS":/Linux/.test(e)?"Linux":/Android/.test(e)?"Android":/iPhone|iPad|iPod/.test(e)?"iOS":"Unknown"}detectLanguage(){return"undefined"==typeof navigator?"en-US":navigator.language||navigator.languages?.[0]||"en-US"}getFeatureSupport(){return{serviceWorker:"serviceWorker"in navigator,pushManager:"PushManager"in window,notification:"Notification"in window,webPush:this.isWebPushSupported()}}detectWebPushCapability(){if("undefined"!=typeof jest)return{supported:!0,browserName:"Test",browserVersion:"1.0.0"};const e=this.getBrowserInfo();if("undefined"==typeof window)return{supported:!1,reason:"Not running in browser environment",browserName:e.name,browserVersion:e.version};if(!("serviceWorker"in navigator))return{supported:!1,reason:"Service Worker not supported",browserName:e.name,browserVersion:e.version};if(!("PushManager"in window))return{supported:!1,reason:"Push Manager not supported",browserName:e.name,browserVersion:e.version};if(!("Notification"in window))return{supported:!1,reason:"Notification API not supported",browserName:e.name,browserVersion:e.version};const t=this.checkBrowserVersionSupport(e);return t.supported?{supported:!0,browserName:e.name,browserVersion:e.version}:{supported:!1,reason:t.reason,browserName:e.name,browserVersion:e.version}}checkBrowserVersionSupport(e){switch(e.name){case"Safari":if(e.majorVersion<16)return{supported:!1,reason:"Safari version too old (requires 16+)"};break;case"Chrome":if(e.majorVersion<42)return{supported:!1,reason:"Chrome version too old (requires 42+)"};break;case"Firefox":if(e.majorVersion<44)return{supported:!1,reason:"Firefox version too old (requires 44+)"};break;case"Edge":if(e.majorVersion<17)return{supported:!1,reason:"Edge version too old (requires 17+)"};break;case"Edge Legacy":return{supported:!1,reason:"Edge Legacy not supported, please upgrade to new Edge"};case"Opera":if(e.majorVersion<39)return{supported:!1,reason:"Opera version too old (requires 39+)"};break;case"Unknown":return{supported:!1,reason:"Unknown browser, WebPush support uncertain"}}return{supported:!0}}isWebPushSupported(){return this.detectWebPushCapability().supported}getUnsupportedReason(){const e=this.detectWebPushCapability();return e.supported?void 0:e.reason}async checkNotificationPermission(){return"undefined"!=typeof window&&"Notification"in window?Notification.permission:(D.warn("Notification API not available"),"denied")}async requestNotificationPermission(){try{if("undefined"!=typeof window&&"Notification"in window&&"function"==typeof Notification.requestPermission)return await Notification.requestPermission();throw new Error("Notification permission request not supported")}catch(e){return D.error("Failed to request notification permission",e),this.handleBrowserSpecificError(e)}}requiresUserGesture(){const e=undefined;return"Safari"===this.getBrowserInfo().name}handleBrowserSpecificError(e){const t=this.getBrowserInfo();let n="Permission denied";switch(t.name){case"Safari":n=`Safari: ${e.message}`;break;case"Chrome":n=`Chrome: ${e.message}`;break;case"Firefox":n=`Firefox: ${e.message}`;break;default:n=`${t.name}: ${e.message}`}return D.error("Browser specific error:",n),"denied"}checkBrowserSupport(){const e=this.detectWebPushCapability();return e.supported?(D.log("Browser supports Web Push:",{browser:`${e.browserName} ${e.browserVersion}`,features:this.getFeatureSupport()}),!0):(D.error("Browser not supported for Web Push:",e.reason),!1)}}const se=ie.getInstance();function getBrowserInfo(){return se.getBrowserInfo()}const oe=class e{static set(t,n){try{const r=JSON.stringify(n);localStorage.setItem(e.PREFIX+t,r)}catch(r){D.error("Storage set error:",r)}}static get(t,n){try{const r=localStorage.getItem(e.PREFIX+t);return null===r?n||null:JSON.parse(r)}catch(r){return D.error("Storage get error:",r),n||null}}static remove(t){try{localStorage.removeItem(e.PREFIX+t)}catch(n){D.error("Storage remove error:",n)}}static clear(){try{const t=undefined;Object.keys(localStorage).forEach(t=>{t.startsWith(e.PREFIX)&&localStorage.removeItem(t)})}catch(t){D.error("Storage clear error:",t)}}};oe.PREFIX="webpush_";let he=oe;class le{constructor(e){this.registration=null,this.swUrl="/sw.js",this.eventEmitter=e,this.setupMessageListener()}static getInstance(e){return le.instance||(le.instance=new le(e)),le.instance}async checkServiceWorkerExists(e){try{const t=undefined;return(await fetch(e,{method:"HEAD"})).ok}catch{return!1}}async autoDetectServiceWorkerUrl(){if("undefined"!=typeof window){const e=window.location.pathname,t=undefined;"/"!==(e.endsWith("/")?e:e+"/")?(this.swUrl="./sw.js",D.log("Detected subdirectory deployment, using relative path:",this.swUrl)):(this.swUrl="/sw.js",D.log("Detected root directory deployment, using absolute path:",this.swUrl));const n=undefined;await this.checkServiceWorkerExists(this.swUrl)||D.warn("Default Service Worker path not available, will try other paths during registration")}}setServiceWorkerUrl(e){try{te.validateServiceWorkerPath(e),this.swUrl=e,D.log("Manually set Service Worker path:",e)}catch(t){if(t instanceof ee)throw D.error("Set Service Worker path parameter validation failed",t.message),t;throw new Error("Failed to set Service Worker path")}}async register(){if(!("serviceWorker"in navigator))throw new Error("Service Worker is not supported");await this.autoDetectServiceWorkerUrl();const e=[this.swUrl,"./sw.js","/sw.js","/dist/sw.js","/assets/sw.js"],t=[...new Set(e)];let n=null;for(const i of t)try{return D.log("Attempting to register Service Worker:",i),this.registration=await navigator.serviceWorker.register(i),this.swUrl=i,D.log("Service Worker registration successful",{url:i,registration:this.registration}),await this.waitForServiceWorkerReady(),this.registration}catch(r){n=r,D.warn(`Service Worker registration failed (${i}):`,r);continue}throw D.error("All Service Worker paths failed to register",n),new Error(`Service Worker registration failed: ${n?.message||"Unknown error"}. Please ensure sw.js file exists in one of the following paths: ${t.join(", ")}`)}async waitForServiceWorkerReady(){if(!this.registration)throw new Error("Service Worker not registered");return new Promise(e=>{if(this.registration.active)return void e();const t=this.registration.installing||this.registration.waiting;t&&t.addEventListener("statechange",()=>{"activated"===t.state&&e()})})}async getPushSubscription(e){try{if(te.validateValue("vapidPublicKey",e,{required:!0,type:"string",min:1,max:512,message:"VAPID public key must be a valid string"}),!this.registration)throw new Error("Service Worker not registered");const t=this.getStoredVapidPublicKey();let n=await this.registration.pushManager.getSubscription();n&&t!==e&&(D.log("VAPID public key changed, unsubscribing existing subscription"),await n.unsubscribe(),n=null),n||(n=await this.registration.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:this.urlBase64ToUint8Array(e)}),this.setStoreVapidPublicKey(e)),D.log("Get push subscription successful",n);const r=this.getSubscriptionInfo(n);return D.log("Extracted subscription information:",{token:r.token,auth:r.auth,p256dh:r.p256dh,endpoint:r.endpoint}),{subscription:n,token:r.token||"",auth:r.auth||"",p256dh:r.p256dh||"",endpoint:r.endpoint||""}}catch(t){if(t instanceof ee)throw D.error("Get push subscription parameter validation failed",t.message),t;throw D.error("Get push subscription failed",t),t}}getSubscriptionInfo(e){if(!e||!e.endpoint)return{token:null,auth:null,p256dh:null,endpoint:null};const t=e.endpoint,n=getBrowserInfo(),r=e.getKey?{auth:e.getKey("auth")?this.arrayBufferToBase64(e.getKey("auth")):null,p256dh:e.getKey("p256dh")?this.arrayBufferToBase64(e.getKey("p256dh")):null}:{auth:null,p256dh:null};D.log("Extract push subscription information",{browser:`${n.name} ${n.version}`,hasAuth:!!r.auth,hasP256dh:!!r.p256dh});try{if("Chrome"===n.name||"Edge"===n.name){const e=t.match(/https:\/\/fcm\.googleapis\.com\/fcm\/send\/(.+)/);if(e)return D.log("Extract Token using Chrome/Edge FCM format"),{token:e[1],auth:r.auth,p256dh:r.p256dh,endpoint:t};const n=t.match(/https:\/\/android\.googleapis\.com\/gcm\/send\/(.+)/);if(n)return D.log("Extract Token using Chrome/Edge GCM format"),{token:n[1],auth:r.auth,p256dh:r.p256dh,endpoint:t}}else if("Firefox"===n.name){const e=t.match(/https:\/\/updates\.push\.services\.mozilla\.com\/wpush\/v(\d+)\/(.+)/);if(e)return D.log(`Extract Token using Firefox WebPush v${e[1]} format`),{token:e[2],auth:r.auth,p256dh:r.p256dh,endpoint:t};const n=t.match(/https:\/\/updates\.push\.services\.mozilla\.com\/push\/(.+)/);if(n)return D.log("Extract Token using Firefox legacy format"),{token:n[1],auth:r.auth,p256dh:r.p256dh,endpoint:t}}else if("Safari"===n.name){if(n.majorVersion>=16){const e=t.match(/https:\/\/web\.push\.apple\.com\/(.+)/);if(e)return D.log("Extract Token using Safari Web Push format"),{token:e[1],auth:r.auth,p256dh:r.p256dh,endpoint:t}}if(t.includes("safari")||t.includes("apple"))return D.log("Safari push notification uses complete endpoint as identifier"),{token:this.generateSafariToken(t),auth:r.auth,p256dh:r.p256dh,endpoint:t}}else if("Opera"===n.name){const e=t.match(/https:\/\/fcm\.googleapis\.com\/fcm\/send\/(.+)/);if(e)return D.log("Extract Token using Opera FCM format"),{token:e[1],auth:r.auth,p256dh:r.p256dh,endpoint:t}}else if("Samsung Internet"===n.name){const e=t.match(/https:\/\/fcm\.googleapis\.com\/fcm\/send\/(.+)/);if(e)return D.log("Extract Token using Samsung Internet FCM format"),{token:e[1],auth:r.auth,p256dh:r.p256dh,endpoint:t}}const e=[{pattern:/https:\/\/fcm\.googleapis\.com\/fcm\/send\/(.+)/,name:"FCM Standard"},{pattern:/https:\/\/android\.googleapis\.com\/gcm\/send\/(.+)/,name:"GCM Legacy"},{pattern:/https:\/\/gcm-http\.googleapis\.com\/gcm\/(.+)/,name:"GCM HTTP"},{pattern:/https:\/\/updates\.push\.services\.mozilla\.com\/wpush\/v\d+\/(.+)/,name:"Mozilla WebPush"},{pattern:/https:\/\/updates\.push\.services\.mozilla\.com\/push\/(.+)/,name:"Mozilla Legacy"},{pattern:/https:\/\/.*\.notify\.windows\.com\/.*\/(.+)/,name:"Windows Notification"},{pattern:/https:\/\/web\.push\.apple\.com\/(.+)/,name:"Apple Web Push"},{pattern:/https:\/\/.*\/push\/(.+)/,name:"Generic Push"},{pattern:/https:\/\/.*\/wpush\/(.+)/,name:"Generic WebPush"}];for(const{pattern:c,name:f}of e){const e=t.match(c);if(e&&e[1])return D.log(`Extract Token using generic pattern: ${f}`,{browser:n.name,pattern:c.source}),{token:e[1],auth:r.auth,p256dh:r.p256dh,endpoint:t}}D.warn("Unable to extract standard Token from push endpoint, generating unique identifier",{browser:`${n.name} ${n.version}`,endpointLength:t.length,endpointStart:t.substring(0,50)+"..."});const i=undefined;return{token:this.generateFallbackToken(t,n),auth:r.auth,p256dh:r.p256dh,endpoint:t}}catch(i){D.error("Error occurred during push subscription information extraction",{error:i instanceof Error?i.message:i,browser:n.name,endpointDomain:t.split("/")[2]});const e=undefined;return{token:this.generateFallbackToken(t,n),auth:r.auth,p256dh:r.p256dh,endpoint:t}}}generateSafariToken(e){const t=e.match(/https:\/\/.*safari.*\/(.+)/);return t?`safari_${t[1]}`:`safari_${this.generateEndpointHash(e)}`}generateFallbackToken(e,t){const n=this.generateEndpointHash(e),r=undefined,i=undefined;return`${t.name.toLowerCase().replace(/\s+/g,"")}_${n}_${Date.now().toString(36)}`}generateEndpointHash(e){let t=0;for(let n=0;n<e.length;n++){const r=undefined;t=(t<<5)-t+e.charCodeAt(n),t&=t}return Math.abs(t).toString(36)}async unsubscribe(){if(!this.registration)return!1;const e=await this.registration.pushManager.getSubscription();if(e){const t=await e.unsubscribe();return D.log("Unsubscribe from push notifications",t),this.clearStoredVapidPublicKey(),t}return!0}async unregister(){if(!this.registration)return!1;const e=await this.registration.unregister();return this.registration=null,this.clearStoredVapidPublicKey(),D.log("Unregister Service Worker",e),e}setupMessageListener(){"serviceWorker"in navigator&&navigator.serviceWorker.addEventListener("message",e=>{const t=e.data;this.handleServiceWorkerMessage(t)})}handleServiceWorkerMessage(e){switch(D.log("Received Service Worker message",e),e.type){case"MESSAGE_RECEIVED":this.eventEmitter.emit(i.MESSAGE_RECEIVED,e.data);break;case"NOTIFICATION_CLICKED":this.eventEmitter.emit(i.NOTIFICATION_CLICKED,e.data);break;case"MESSAGE_REVOKED":this.eventEmitter.emit(i.MESSAGE_REVOKED,e.data)}}async postMessage(e){try{if(te.validateValue("message",e,{required:!0,message:"Message content cannot be empty"}),!this.registration||!this.registration.active)throw new Error("Service Worker not activated");this.registration.active.postMessage(e),D.log("Send message to Service Worker successful",e)}catch(t){if(t instanceof ee)throw D.error("Send message parameter validation failed",t.message),t;throw D.error("Send message to Service Worker failed",t),t}}arrayBufferToBase64(e){const t=new Uint8Array(e);let n="";for(let r=0;r<t.byteLength;r++)n+=String.fromCharCode(t[r]);return window.btoa(n)}urlBase64ToUint8Array(e){const t=undefined,n=(e+"=".repeat((4-e.length%4)%4)).replace(/-/g,"+").replace(/_/g,"/"),r=window.atob(n),i=new Uint8Array(r.length);for(let c=0;c<r.length;++c)i[c]=r.charCodeAt(c);return i}getRegistration(){return this.registration}getStoredVapidPublicKey(){try{return he.get("sdk_vapid_key")}catch(e){return D.error("Failed to get stored VAPID public key",e),null}}setStoreVapidPublicKey(e){try{he.set("sdk_vapid_key",e),D.log("VAPID public key stored successfully")}catch(t){D.error("Failed to store VAPID public key",t)}}clearStoredVapidPublicKey(){try{he.remove("sdk_vapid_key"),D.log("VAPID public key cleared successfully")}catch(e){D.error("Failed to clear VAPID public key",e)}}}class fe{constructor(e={}){this.container=null,this.popups=new Map,this.timers=new Map,this.messageHandlers=new Map,this.animationTimers=new Map,this.adjustHeightTimers=new Map,this.defaultConfig={enabled:!0,duration:0,position:"top-right",maxCount:5,showCloseButton:!0,clickable:!0,customRender:void 0,onClick:void 0,onClose:void 0},this.config={...this.defaultConfig,...e},this.init()}init(){this.config.enabled&&(this.createContainer(),this.injectStyles())}createContainer(){const e=document.getElementById("web-push-popup-container");e?this.container=e:(this.container=document.createElement("div"),this.container.id="web-push-popup-container",this.container.className=`web-push-popup-container web-push-popup-${this.config.position}`,document.body.appendChild(this.container))}injectStyles(){if(document.getElementById("web-push-popup-styles"))return;const e=document.createElement("style");e.id="web-push-popup-styles",e.textContent="\n .web-push-popup-container {\n position: fixed;\n z-index: 10000;\n pointer-events: none;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;\n }\n\n .web-push-popup-top-left {\n top: 20px;\n left: 20px;\n }\n\n .web-push-popup-top-center {\n top: 20px;\n left: 50%;\n transform: translateX(-50%);\n }\n\n .web-push-popup-top-right {\n top: 20px;\n right: 20px;\n }\n\n .web-push-popup-right-center {\n top: 50%;\n right: 20px;\n transform: translateY(-50%);\n }\n\n .web-push-popup-bottom-right {\n bottom: 20px;\n right: 20px;\n }\n\n .web-push-popup-bottom-center {\n bottom: 20px;\n left: 50%;\n transform: translateX(-50%);\n }\n\n .web-push-popup-bottom-left {\n bottom: 20px;\n left: 20px;\n }\n\n .web-push-popup-left-center {\n top: 50%;\n left: 20px;\n transform: translateY(-50%);\n }\n\n .web-push-popup-center {\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n\n .web-push-popup {\n background: #ffffff;\n border-radius: 16px;\n box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);\n margin-bottom: 10px;\n padding: 24px;\n min-width: 300px;\n max-width: 480px;\n pointer-events: auto;\n cursor: pointer;\n transition: all 0.3s ease;\n border: 1px solid #e1e5e9;\n position: relative;\n animation: web-push-popup-slide-in 0.3s ease-out;\n }\n\n .web-push-popup:hover {\n box-shadow: 0 6px 25px rgba(0, 0, 0, 0.2);\n transform: translateY(-2px);\n }\n\n .web-push-popup.web-push-popup-closing {\n animation: web-push-popup-slide-out 0.3s ease-in forwards;\n }\n\n @keyframes web-push-popup-slide-in {\n from {\n opacity: 0;\n transform: translateX(100%);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n }\n\n @keyframes web-push-popup-slide-out {\n from {\n opacity: 1;\n transform: translateX(0);\n }\n to {\n opacity: 0;\n transform: translateX(100%);\n }\n }\n\n .web-push-popup-header {\n display: flex;\n align-items: center;\n margin-bottom: 8px;\n }\n\n .web-push-popup-info {\n flex: 1;\n min-width: 0;\n }\n\n .web-push-popup-title {\n font-size: 14px;\n font-weight: 600;\n color: #1a1a1a;\n margin: 0 0 2px 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .web-push-popup-subtitle {\n font-size: 12px;\n color: #666;\n margin: 0;\n }\n\n .web-push-popup-close {\n position: absolute;\n top: 8px;\n right: 8px;\n background: none;\n border: none;\n font-size: 18px;\n color: #999;\n cursor: pointer;\n padding: 4px;\n line-height: 1;\n border-radius: 4px;\n transition: all 0.2s ease;\n }\n\n .web-push-popup-close:hover {\n background: #f5f5f5;\n color: #333;\n }\n\n .web-push-popup-content {\n font-size: 14px;\n color: #333;\n line-height: 1.4;\n word-wrap: break-word;\n margin: 0;\n }\n\n .web-push-popup-html-container {\n margin-bottom: 10px;\n pointer-events: auto;\n position: relative;\n animation: web-push-popup-slide-in 0.3s ease-out;\n }\n\n .web-push-popup-html-container.web-push-popup-closing {\n animation: web-push-popup-slide-out 0.3s ease-in forwards;\n }\n ",document.head.appendChild(e)}show(e){if(this.config.enabled&&this.container)try{if(this.popups.size>=this.config.maxCount&&this.removeOldestPopup(),this.config.customRender){const t=this.config.customRender(e,this.container);return void this.addPopup(e.id,t,e.MsgContent.Duration)}let t;t="standard"===e.MsgType?this.createStandardPopup(e,e.id):this.createHtmlPopup(e,e.id),this.applyPlacement(e.MsgContent.Placement??0),this.addPopup(e.id,t,e.MsgContent.Duration)}catch(t){D.error("Failed to show message popup",t)}}createStandardPopup(e,t){const n=document.createElement("div");if(n.className="web-push-popup web-push-popup-standard",n.dataset.messageId=t,e.MsgContent.Image){const r=document.createElement("div");r.className="web-push-popup-image",r.style.cssText="\n text-align: center;\n margin-bottom: 20px;\n ";const i=document.createElement("img");i.src=e.MsgContent.Image.URL,i.alt="Message Image",i.style.cssText="\n width: auto;\n height: auto;\n max-width: 432px;\n max-height: 222px;\n border-radius: 4px;\n object-fit: cover;\n cursor: pointer;\n display: block;\n margin: 0 auto;\n ",i.onclick=r=>{r.stopPropagation(),e.MsgContent.Image?.LinkURL&&window.open(e.MsgContent.Image.LinkURL,"_blank"),this.config.onClick&&this.config.onClick(e,n),this.close(t)},r.appendChild(i),n.appendChild(r)}if(e.MsgContent.Text){const t=document.createElement("div");if(t.className="web-push-popup-content-area",e.MsgContent.Text.Title){const n=document.createElement("div");n.className="web-push-popup-standard-title",n.textContent=e.MsgContent.Text.Title,n.style.cssText="\n font-size: 18px;\n line-height: 26px;\n font-weight: 600;\n color: #000000E5;\n margin-bottom: 8px;\n max-width: 432px;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n word-wrap: break-word;\n ",t.appendChild(n)}if(e.MsgContent.Text.Desc){const n=document.createElement("div");n.className="web-push-popup-standard-desc",n.textContent=e.MsgContent.Text.Desc,n.style.cssText="\n font-size: 14px;\n font-weight: 400;\n color: #000000B2;\n line-height: 22px;\n max-width: 432px;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 6;\n -webkit-box-orient: vertical;\n word-wrap: break-word;\n ",t.appendChild(n)}n.appendChild(t)}if(e.MsgContent.Button&&e.MsgContent.Button.length>0){const r=document.createElement("div");r.className="web-push-popup-buttons",r.style.cssText="\n display: flex;\n gap: 12px;\n margin-top: 24px;\n flex-wrap: wrap;\n ",e.MsgContent.Button.forEach((i,c)=>{const f=document.createElement("button");if(f.className="web-push-popup-button",f.textContent=i.Text,f.style.cssText=`\n flex: 1;\n min-width: 80px;\n padding: 8px 16px;\n border: 1px solid ${0===c?"#E6E9EF":"#0052D9"};\n background: ${0===c?"transparent":"#0052D9"};\n color: ${0===c?"#000000E5":"#FFFFFFE5"};\n border-radius: 4px;\n font-size: 14px;\n font-weight: 400;\n line-height: 22px;\n cursor: pointer;\n transition: all 0.2s ease;\n `,i.Icon){const e=document.createElement("img");e.src=i.Icon,e.style.cssText="\n width: 16px;\n height: 16px;\n margin-right: 6px;\n vertical-align: middle;\n ",f.insertBefore(e,f.firstChild)}f.onclick=r=>{r.stopPropagation(),i.Url&&window.open(i.Url,"_blank"),this.config.onClick&&this.config.onClick(e,n),this.close(t)},f.onmouseenter=()=>{f.style.transform="translateY(-1px)",f.style.boxShadow="0 2px 8px rgba(0,122,255,0.3)"},f.onmouseleave=()=>{f.style.transform="translateY(0)",f.style.boxShadow="none"},r.appendChild(f)}),n.appendChild(r)}if(1===e.MsgContent.Close&&this.config.showCloseButton){const e=document.createElement("button");e.className="web-push-popup-close",e.innerHTML="×",e.style.cssText="\n position: absolute;\n top: 8px;\n right: 8px;\n width: 24px;\n height: 24px;\n border: none;\n background: rgba(0,0,0,0.1);\n color: #666;\n border-radius: 50%;\n cursor: pointer;\n font-size: 16px;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.2s ease;\n ",e.onclick=e=>{e.stopPropagation(),this.close(t)},e.onmouseenter=()=>{e.style.background="rgba(0,0,0,0.2)"},e.onmouseleave=()=>{e.style.background="rgba(0,0,0,0.1)"},n.appendChild(e)}return this.config.clickable&&(n.onclick=()=>{this.config.onClick&&this.config.onClick(e,n),this.close(t)}),n}createHtmlPopup(e,t){const n=document.createElement("div");n.className="web-push-popup-html-container",n.dataset.messageId=t,n.style.cssText="\n pointer-events: auto;\n position: relative;\n ";try{const r=undefined,i=(e=>{try{const t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);const r=undefined;return new TextDecoder("utf-8").decode(n)}catch(t){return D.warn("UTF-8 解码失败,使用原始 atob 解码:",t),atob(e)}})(e.MsgContent.Html),c=document.createElement("iframe");c.className="web-push-popup-html-iframe",c.style.cssText="\n width: 100%;\n min-height: 200px;\n max-height: 400px;\n border: none;\n background: transparent;\n overflow: auto;\n display: block;\n ",c.setAttribute("sandbox","allow-same-origin allow-scripts"),c.setAttribute("loading","eager"),n.appendChild(c);const messageHandler=r=>{r.source===c.contentWindow&&(r.data&&"iframe-click"===r.data.type?(this.config.onClick&&this.config.onClick(e,n),this.close(t)):r.data&&"iframe-content-loaded"===r.data.type&&this.adjustIframeHeight(c))};window.addEventListener("message",messageHandler),this.messageHandlers.set(t,messageHandler);const writeContent=()=>{try{const e=c.contentDocument||c.contentWindow?.document;if(e){const n=this.createIframeHtml(i,t);e.open(),e.write(n),e.close();const r=setTimeout(()=>{this.adjustIframeHeight(c),this.adjustHeightTimers.delete(t)},100);this.adjustHeightTimers.set(t,r)}}catch(e){D.error("Failed to write content to iframe",e)}};c.onload=writeContent;const f=setTimeout(()=>{writeContent(),this.adjustHeightTimers.delete(`${t}_write`)},0);this.adjustHeightTimers.set(`${t}_write`,f)}catch(r){D.error("Failed to decode HTML message",r);const e=document.createElement("div");e.className="web-push-popup-error",e.textContent="消息内容解析失败",e.style.cssText="\n padding: 16px;\n color: #ff4444;\n text-align: center;\n font-size: 14px;\n ",n.appendChild(e)}return this.config.clickable&&(n.onclick=()=>{this.config.onClick&&this.config.onClick(e,n),this.close(t)}),n}addPopup(e,t,n){if(!this.container)return;this.popups.set(e,t),this.container.appendChild(t);const r=void 0!==n?1e3*n:this.config.duration;if(r>0){const t=setTimeout(()=>{this.timers.delete(e),this.close(e)},r);this.timers.set(e,t)}}removeOldestPopup(){const e=this.popups.keys().next().value;e&&this.close(e)}close(e){const t=this.popups.get(e);if(t)try{const n=this.timers.get(e);n&&(clearTimeout(n),this.timers.delete(e));const r=this.adjustHeightTimers.get(e);r&&(clearTimeout(r),this.adjustHeightTimers.delete(e));const i=this.adjustHeightTimers.get(`${e}_write`);i&&(clearTimeout(i),this.adjustHeightTimers.delete(`${e}_write`));const c=this.messageHandlers.get(e);c&&(window.removeEventListener("message",c),this.messageHandlers.delete(e)),t.classList.add("web-push-popup-closing"),this.config.onClose&&this.config.onClose({ID:e},t);const f=setTimeout(()=>{t.parentNode&&t.parentNode.removeChild(t),this.popups.delete(e),this.animationTimers.delete(e)},300);this.animationTimers.set(e,f)}catch(n){D.error("Failed to close popup",n),t.parentNode&&t.parentNode.removeChild(t),this.popups.delete(e);const r=this.timers.get(e);r&&(clearTimeout(r),this.timers.delete(e));const i=this.adjustHeightTimers.get(e);i&&(clearTimeout(i),this.adjustHeightTimers.delete(e));const c=this.adjustHeightTimers.get(`${e}_write`);c&&(clearTimeout(c),this.adjustHeightTimers.delete(`${e}_write`));const f=this.animationTimers.get(e);f&&(clearTimeout(f),this.animationTimers.delete(e));const K=this.messageHandlers.get(e);K&&(window.removeEventListener("message",K),this.messageHandlers.delete(e))}}hasMessage(e){return this.popups.has(e)}closeAll(){for(const e of this.popups.keys())this.close(e)}updateConfig(e){this.config={...this.config,...e},this.config.enabled||this.closeAll()}destroy(){this.closeAll(),this.timers.forEach(e=>clearTimeout(e)),this.timers.clear(),this.animationTimers.forEach(e=>clearTimeout(e)),this.animationTimers.clear(),this.adjustHeightTimers.forEach(e=>clearTimeout(e)),this.adjustHeightTimers.clear(),this.messageHandlers.forEach(e=>window.removeEventListener("message",e)),this.messageHandlers.clear(),this.container&&this.container.parentNode&&this.container.parentNode.removeChild(this.container);const e=document.getElementById("web-push-popup-styles");e&&e.parentNode&&e.parentNode.removeChild(e),this.container=null,this.popups.clear()}applyPlacement(e){if(this.container)switch(this.container.classList.remove("web-push-popup-center","web-push-popup-top-left","web-push-popup-top-center","web-push-popup-top-right","web-push-popup-right-center","web-push-popup-bottom-right","web-push-popup-bottom-center","web-push-popup-bottom-left","web-push-popup-left-center"),e){case 0:this.container.classList.add("web-push-popup-center");break;case 1:this.container.classList.add("web-push-popup-top-left");break;case 2:this.container.classList.add("web-push-popup-top-center");break;case 3:this.container.classList.add("web-push-popup-top-right");break;case 4:this.container.classList.add("web-push-popup-right-center");break;case 5:this.container.classList.add("web-push-popup-bottom-right");break;case 6:this.container.classList.add("web-push-popup-bottom-center");break;case 7:this.container.classList.add("web-push-popup-bottom-left");break;case 8:this.container.classList.add("web-push-popup-left-center");break;default:this.container.classList.add(`web-push-popup-${this.config.position}`)}}adjustIframeHeight(e){try{const t=e.contentDocument||e.contentWindow?.document;if(!t)return;const n=t.body,r=t.documentElement;if(n&&r){const t=Math.max(n.scrollHeight,n.offsetHeight,r.clientHeight,r.scrollHeight,r.offsetHeight),i=100,c=400,f=Math.min(Math.max(t,i),c);e.style.height=`${f}px`,t>c?(e.style.overflow="auto",n.style.overflow="auto"):(e.style.overflow="hidden",n.style.overflow="hidden")}}catch(t){D.warn("Failed to adjust iframe height",t),e.style.height="200px",e.style.overflow="auto"}}createIframeHtml(e,t){return`\n<!DOCTYPE html>\n<html>\n<head>\n <meta charset="utf-8">\n <meta name="viewport" content="width=device-width, initial-scale=1.0">\n <style>\n * {\n box-sizing: border-box;\n }\n html, body {\n margin: 0;\n padding: 8px;\n width: 100%;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n font-size: 14px;\n line-height: 1.4;\n cursor: pointer;\n }\n body {\n min-height: auto;\n overflow-wrap: break-word;\n word-wrap: break-word;\n }\n img {\n max-width: 100%;\n height: auto;\n }\n a {\n color: #1976d2;\n text-decoration: none;\n }\n a:hover {\n text-decoration: underline;\n }\n </style>\n</head>\n<body>\n ${e}\n <script>\n // 确保所有链接在新窗口打开\n document.addEventListener('DOMContentLoaded', function() {\n const links = document.querySelectorAll('a');\n links.forEach(function(link) {\n link.target = '_blank';\n link.rel = 'noopener noreferrer';\n });\n \n // 添加点击事件监听器\n ${t?`\n document.addEventListener('click', function(e) {\n window.parent.postMessage({\n type: 'iframe-click',\n messageId: '${t}'\n }, '*');\n });\n `:""}\n \n // 通知父页面内容已加载,可以调整高度\n var contentLoadedTimer = setTimeout(function() {\n if (window.parent && window.parent !== window) {\n try {\n window.parent.postMessage({\n type: 'iframe-content-loaded',\n height: document.body.scrollHeight\n }, '*');\n } catch (e) {\n // 忽略跨域错误\n }\n }\n }, 100);\n });\n \n // 注意:不要重新定义 window.parent,否则会阻止与父页面的通信\n <\/script>\n</body>\n</html>`}}var _e="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Ce=[],Be=[],Me="undefined"!=typeof Uint8Array?Uint8Array:Array,ze=!1;function o(){ze=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0,n=64;t<n;++t)Ce[t]=e[t],Be[e.charCodeAt(t)]=t;Be["-".charCodeAt(0)]=62,Be["_".charCodeAt(0)]=63}function a(e,t,n){for(var r,i,c=[],f=t;f<n;f+=3)r=(e[f]<<16)+(e[f+1]<<8)+e[f+2],c.push(Ce[(i=r)>>18&63]+Ce[i>>12&63]+Ce[i>>6&63]+Ce[63&i]);return c.join("")}function s(e){var t;ze||o();for(var n=e.length,r=n%3,i="",c=[],f=0,D=n-r;f<D;f+=16383)c.push(a(e,f,f+16383>D?D:f+16383));return 1===r?(t=e[n-1],i+=Ce[t>>2],i+=Ce[t<<4&63],i+="=="):2===r&&(t=(e[n-2]<<8)+e[n-1],i+=Ce[t>>10],i+=Ce[t>>4&63],i+=Ce[t<<2&63],i+="="),c.push(i),c.join("")}function h(e,t,n,r,i){var c,f,D=8*i-r-1,K=(1<<D)-1,ee=K>>1,te=-7,ie=n?i-1:0,se=n?-1:1,oe=e[t+ie];for(ie+=se,c=oe&(1<<-te)-1,oe>>=-te,te+=D;te>0;c=256*c+e[t+ie],ie+=se,te-=8);for(f=c&(1<<-te)-1,c>>=-te,te+=r;te>0;f=256*f+e[t+ie],ie+=se,te-=8);if(0===c)c=1-ee;else{if(c===K)return f?NaN:1/0*(oe?-1:1);f+=Math.pow(2,r),c-=ee}return(oe?-1:1)*f*Math.pow(2,c-r)}function l(e,t,n,r,i,c){var f,D,K,ee=8*c-i-1,te=(1<<ee)-1,ie=te>>1,se=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,oe=r?0:c-1,he=r?1:-1,le=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(D=isNaN(t)?1:0,f=te):(f=Math.floor(Math.log(t)/Math.LN2),t*(K=Math.pow(2,-f))<1&&(f--,K*=2),(t+=f+ie>=1?se/K:se*Math.pow(2,1-ie))*K>=2&&(f++,K/=2),f+ie>=te?(D=0,f=te):f+ie>=1?(D=(t*K-1)*Math.pow(2,i),f+=ie):(D=t*Math.pow(2,ie-1)*Math.pow(2,i),f=0));i>=8;e[n+oe]=255&D,oe+=he,D/=256,i-=8);for(f=f<<i|D,ee+=i;ee>0;e[n+oe]=255&f,oe+=he,f/=256,ee-=8);e[n+oe-he]|=128*le}var Je={}.toString,nt=Array.isArray||function(e){return"[object Array]"==Je.call(e)};function u(){return p.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function d(e,t){if(u()<t)throw new RangeError("Invalid typed array length");return p.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=p.prototype:(null===e&&(e=new p(t)),e.length=t),e}function p(e,t,n){if(!(p.TYPED_ARRAY_SUPPORT||this instanceof p))return new p(e,t,n);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return v(this,e)}return _(this,e,t,n)}function _(e,t,n,r){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,r){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError("'offset' is out of bounds");if(t.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");return t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r),p.TYPED_ARRAY_SUPPORT?(e=t).__proto__=p.prototype:e=w(e,t),e}(e,t,n,r):"string"==typeof t?function(e,t,n){if("string"==typeof n&&""!==n||(n="utf8"),!p.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|m(t,n),i=(e=d(e,r)).write(t,n);return i!==r&&(e=e.slice(0,i)),e}(e,t,n):function(e,t){if(y(t)){var n=0|b(t.length);return 0===(e=d(e,n)).length||t.copy(e,0,0,n),e}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(r=t.length)!=r?d(e,0):w(e,t);if("Buffer"===t.type&&nt(t.data))return w(e,t.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function g(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function v(e,t){if(g(t),e=d(e,t<0?0:0|b(t)),!p.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function w(e,t){var n=t.length<0?0:0|b(t.length);e=d(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function b(e){if(e>=u())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+u().toString(16)+" bytes");return 0|e}function y(e){return!(null==e||!e._isBuffer)}function m(e,t){if(y(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return q(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return V(e).length;default:if(r)return q(e).length;t=(""+t).toLowerCase(),r=!0}}function k(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return O(this,t,n);case"utf8":case"utf-8":return C(this,t,n);case"ascii":return I(this,t,n);case"latin1":case"binary":return P(this,t,n);case"base64":return M(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return U(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function E(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function S(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof t&&(t=p.from(t,r)),y(t))return 0===t.length?-1:x(e,t,n,r,i);if("number"==typeof t)return t&=255,p.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):x(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function x(e,t,n,r,i){var c,f=1,D=e.length,K=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;f=2,D/=2,K/=2,n/=2}function l2(e,t){return 1===f?e[t]:e.readUInt16BE(t*f)}if(i){var ee=-1;for(c=n;c<D;c++)if(l2(e,c)===l2(t,-1===ee?0:c-ee)){if(-1===ee&&(ee=c),c-ee+1===K)return ee*f}else-1!==ee&&(c-=c-ee),ee=-1}else for(n+K>D&&(n=D-K),c=n;c>=0;c--){for(var te=!0,ie=0;ie<K;ie++)if(l2(e,c+ie)!==l2(t,ie)){te=!1;break}if(te)return c}return-1}function R(e,t,n,r){n=Number(n)||0;var i=e.length-n;r?(r=Number(r))>i&&(r=i):r=i;var c=t.length;if(c%2!=0)throw new TypeError("Invalid hex string");r>c/2&&(r=c/2);for(var f=0;f<r;++f){var D=parseInt(t.substr(2*f,2),16);if(isNaN(D))return f;e[n+f]=D}return f}function A(e,t,n,r){return G(q(t,e.length-n),e,n,r)}function B(e,t,n,r){return G(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function z(e,t,n,r){return B(e,t,n,r)}function L(e,t,n,r){return G(V(t),e,n,r)}function T(e,t,n,r){return G(function(e,t){for(var n,r,i,c=[],f=0;f<e.length&&!((t-=2)<0);++f)r=(n=e.charCodeAt(f))>>8,i=n%256,c.push(i),c.push(r);return c}(t,e.length-n),e,n,r)}function M(e,t,n){return 0===t&&n===e.length?s(e):s(e.slice(t,n))}function C(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i<n;){var c,f,D,K,ee=e[i],te=null,ie=ee>239?4:ee>223?3:ee>191?2:1;if(i+ie<=n)switch(ie){case 1:ee<128&&(te=ee);break;case 2:128==(192&(c=e[i+1]))&&(K=(31&ee)<<6|63&c)>127&&(te=K);break;case 3:c=e[i+1],f=e[i+2],128==(192&c)&&128==(192&f)&&(K=(15&ee)<<12|(63&c)<<6|63&f)>2047&&(K<55296||K>57343)&&(te=K);break;case 4:c=e[i+1],f=e[i+2],D=e[i+3],128==(192&c)&&128==(192&f)&&128==(192&D)&&(K=(15&ee)<<18|(63&c)<<12|(63&f)<<6|63&D)>65535&&K<1114112&&(te=K)}null===te?(te=65533,ie=1):te>65535&&(te-=65536,r.push(te>>>10&1023|55296),te=56320|1023&te),r.push(te),i+=ie}return function(e){var t=e.length;if(t<=st)return String.fromCharCode.apply(String,e);for(var n="",r=0;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=st));return n}(r)}p.TYPED_ARRAY_SUPPORT=void 0===_e.TYPED_ARRAY_SUPPORT||_e.TYPED_ARRAY_SUPPORT,p.poolSize=8192,p._augment=function(e){return e.__proto__=p.prototype,e},p.from=function(e,t,n){return _(null,e,t,n)},p.TYPED_ARRAY_SUPPORT&&(p.prototype.__proto__=Uint8Array.prototype,p.__proto__=Uint8Array),p.alloc=function(e,t,n){return r=null,c=t,f=n,g(i=e),i<=0?d(r,i):void 0!==c?"string"==typeof f?d(r,i).fill(c,f):d(r,i).fill(c):d(r,i);var r,i,c,f},p.allocUnsafe=function(e){return v(null,e)},p.allocUnsafeSlow=function(e){return v(null,e)},p.isBuffer=$,p.compare=function(e,t){if(!y(e)||!y(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,i=0,c=Math.min(n,r);i<c;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:r<n?1:0},p.isEncoding=function(e){switch(String(e).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}},p.concat=function(e,t){if(!nt(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return p.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=p.allocUnsafe(t),i=0;for(n=0;n<e.length;++n){var c=e[n];if(!y(c))throw new TypeError('"list" argument must be an Array of Buffers');c.copy(r,i),i+=c.length}return r},p.byteLength=m,p.prototype._isBuffer=!0,p.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)E(this,t,t+1);return this},p.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)E(this,t,t+3),E(this,t+1,t+2);return this},p.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)E(this,t,t+7),E(this,t+1,t+6),E(this,t+2,t+5),E(this,t+3,t+4);return this},p.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?C(this,0,e):k.apply(this,arguments)},p.prototype.equals=function(e){if(!y(e))throw new TypeError("Argument must be a Buffer");return this===e||0===p.compare(this,e)},p.prototype.inspect=function(){var e="";return this.length>0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),"<Buffer "+e+">"},p.prototype.compare=function(e,t,n,r,i){if(!y(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(this===e)return 0;for(var c=(i>>>=0)-(r>>>=0),f=(n>>>=0)-(t>>>=0),D=Math.min(c,f),K=this.slice(r,i),ee=e.slice(t,n),te=0;te<D;++te)if(K[te]!==ee[te]){c=K[te],f=ee[te];break}return c<f?-1:f<c?1:0},p.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},p.prototype.indexOf=function(e,t,n){return S(this,e,t,n,!0)},p.prototype.lastIndexOf=function(e,t,n){return S(this,e,t,n,!1)},p.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var c=!1;;)switch(r){case"hex":return R(this,e,t,n);case"utf8":case"utf-8":return A(this,e,t,n);case"ascii":return B(this,e,t,n);case"latin1":case"binary":return z(this,e,t,n);case"base64":return L(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,e,t,n);default:if(c)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),c=!0}},p.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var st=4096;function I(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(127&e[i]);return r}function P(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(e[i]);return r}function O(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var i="",c=t;c<n;++c)i+=X(e[c]);return i}function U(e,t,n){for(var r=e.slice(t,n),i="",c=0;c<r.length;c+=2)i+=String.fromCharCode(r[c]+256*r[c+1]);return i}function H(e,t,n){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function F(e,t,n,r,i,c){if(!y(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<c)throw new RangeError('"value" argument is out of bounds');if(n+r>e.length)throw new RangeError("Index out of range")}function N(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,c=Math.min(e.length-n,2);i<c;++i)e[n+i]=(t&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function Z(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,c=Math.min(e.length-n,4);i<c;++i)e[n+i]=t>>>8*(r?i:3-i)&255}function j(e,t,n,r,i,c){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function W(e,t,n,r,i){return i||j(e,0,n,4),l(e,t,n,r,23,4),n+4}function Y(e,t,n,r,i){return i||j(e,0,n,8),l(e,t,n,r,52,8),n+8}p.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e),p.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=p.prototype;else{var i=t-e;n=new p(i,void 0);for(var c=0;c<i;++c)n[c]=this[c+e]}return n},p.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||H(e,t,this.length);for(var r=this[e],i=1,c=0;++c<t&&(i*=256);)r+=this[e+c]*i;return r},p.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||H(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},p.prototype.readUInt8=function(e,t){return t||H(e,1,this.length),this[e]},p.prototype.readUInt16LE=function(e,t){return t||H(e,2,this.length),this[e]|this[e+1]<<8},p.prototype.readUInt16BE=function(e,t){return t||H(e,2,this.length),this[e]<<8|this[e+1]},p.prototype.readUInt32LE=function(e,t){return t||H(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},p.prototype.readUInt32BE=function(e,t){return t||H(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},p.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||H(e,t,this.length);for(var r=this[e],i=1,c=0;++c<t&&(i*=256);)r+=this[e+c]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*t)),r},p.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||H(e,t,this.length);for(var r=t,i=1,c=this[e+--r];r>0&&(i*=256);)c+=this[e+--r]*i;return c>=(i*=128)&&(c-=Math.pow(2,8*t)),c},p.prototype.readInt8=function(e,t){return t||H(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},p.prototype.readInt16LE=function(e,t){t||H(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},p.prototype.readInt16BE=function(e,t){t||H(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},p.prototype.readInt32LE=function(e,t){return t||H(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},p.prototype.readInt32BE=function(e,t){return t||H(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},p.prototype.readFloatLE=function(e,t){return t||H(e,4,this.length),h(this,e,!0,23,4)},p.prototype.readFloatBE=function(e,t){return t||H(e,4,this.length),h(this,e,!1,23,4)},p.prototype.readDoubleLE=function(e,t){return t||H(e,8,this.length),h(this,e,!0,52,8)},p.prototype.readDoubleBE=function(e,t){return t||H(e,8,this.length),h(this,e,!1,52,8)},p.prototype.writeUIntLE=function(e,t,n,r){e=+e,t|=0,n|=0,r||F(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,c=0;for(this[t]=255&e;++c<n&&(i*=256);)this[t+c]=e/i&255;return t+n},p.prototype.writeUIntBE=function(e,t,n,r){e=+e,t|=0,n|=0,r||F(this,e,t,n,Math.pow(2,8*n)-1,0);var i=n-1,c=1;for(this[t+i]=255&e;--i>=0&&(c*=256);)this[t+i]=e/c&255;return t+n},p.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,1,255,0),p.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},p.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,2,65535,0),p.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):N(this,e,t,!0),t+2},p.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,2,65535,0),p.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):N(this,e,t,!1),t+2},p.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,4,4294967295,0),p.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):Z(this,e,t,!0),t+4},p.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,4,4294967295,0),p.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Z(this,e,t,!1),t+4},p.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);F(this,e,t,n,i-1,-i)}var c=0,f=1,D=0;for(this[t]=255&e;++c<n&&(f*=256);)e<0&&0===D&&0!==this[t+c-1]&&(D=1),this[t+c]=(e/f|0)-D&255;return t+n},p.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);F(this,e,t,n,i-1,-i)}var c=n-1,f=1,D=0;for(this[t+c]=255&e;--c>=0&&(f*=256);)e<0&&0===D&&0!==this[t+c+1]&&(D=1),this[t+c]=(e/f|0)-D&255;return t+n},p.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,1,127,-128),p.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},p.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,2,32767,-32768),p.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):N(this,e,t,!0),t+2},p.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,2,32767,-32768),p.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):N(this,e,t,!1),t+2},p.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,4,2147483647,-2147483648),p.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):Z(this,e,t,!0),t+4},p.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),p.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Z(this,e,t,!1),t+4},p.prototype.writeFloatLE=function(e,t,n){return W(this,e,t,!0,n)},p.prototype.writeFloatBE=function(e,t,n){return W(this,e,t,!1,n)},p.prototype.writeDoubleLE=function(e,t,n){return Y(this,e,t,!0,n)},p.prototype.writeDoubleBE=function(e,t,n){return Y(this,e,t,!1,n)},p.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var i,c=r-n;if(this===e&&n<t&&t<r)for(i=c-1;i>=0;--i)e[i+t]=this[i+n];else if(c<1e3||!p.TYPED_ARRAY_SUPPORT)for(i=0;i<c;++i)e[i+t]=this[i+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+c),t);return c},p.prototype.fill=function(e,t,n,r){if("string"==typeof e){if("string"==typeof t?(r=t,t=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===e.length){var i=e.charCodeAt(0);i<256&&(e=i)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!p.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError("Out of range index");if(n<=t)return this;var c;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(c=t;c<n;++c)this[c]=e;else{var f=y(e)?e:q(new p(e,r).toString()),D=f.length;for(c=0;c<n-t;++c)this[c+t]=f[c%D]}return this};var Tt=/[^+\/0-9A-Za-z-_]/g;function X(e){return e<16?"0"+e.toString(16):e.toString(16)}function q(e,t){var n;t=t||1/0;for(var r=e.length,i=null,c=[],f=0;f<r;++f){if((n=e.charCodeAt(f))>55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&c.push(239,191,189);continue}if(f+1===r){(t-=3)>-1&&c.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&c.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&c.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;c.push(n)}else if(n<2048){if((t-=2)<0)break;c.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;c.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;c.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return c}function V(e){return function(e){var t,n,r,i,c,f;ze||o();var D=e.length;if(D%4>0)throw new Error("Invalid string. Length must be a multiple of 4");c="="===e[D-2]?2:"="===e[D-1]?1:0,f=new Me(3*D/4-c),r=c>0?D-4:D;var K=0;for(t=0,n=0;t<r;t+=4,n+=3)i=Be[e.charCodeAt(t)]<<18|Be[e.charCodeAt(t+1)]<<12|Be[e.charCodeAt(t+2)]<<6|Be[e.charCodeAt(t+3)],f[K++]=i>>16&255,f[K++]=i>>8&255,f[K++]=255&i;return 2===c?(i=Be[e.charCodeAt(t)]<<2|Be[e.charCodeAt(t+1)]>>4,f[K++]=255&i):1===c&&(i=Be[e.charCodeAt(t)]<<10|Be[e.charCodeAt(t+1)]<<4|Be[e.charCodeAt(t+2)]>>2,f[K++]=i>>8&255,f[K++]=255&i),f}(function(e){if((e=(t=e,t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")).replace(Tt,"")).length<2)return"";for(var t;e.length%4!=0;)e+="=";return e}(e))}function G(e,t,n,r){for(var i=0;i<r&&!(i+n>=t.length||i>=e.length);++i)t[i+n]=e[i];return i}function $(e){return null!=e&&(!!e._isBuffer||J(e)||"function"==typeof(t=e).readFloatLE&&"function"==typeof t.slice&&J(t.slice(0,0)));var t}function J(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function Q(e,t){return e(t={exports:{}},t.exports),t.exports}var Lt=Q(function(e,t){var n,r,i,c,f,D,K,ee,te,ie,se,oe,he,le;e.exports=(n=n||(r=Math,c=Object.create||function(){function e4(){}return function(e){var t;return e4.prototype=e,t=new e4,e4.prototype=null,t}}(),D=(f={}).lib={},K=D.Base={extend:function(e){var t=c(this);return e&&t.mixIn(e),t.hasOwnProperty("init")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},ee=D.WordArray=K.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||ie).stringify(this)},concat:function(e){var t=this.words,n=e.words,r=this.sigBytes,i=e.sigBytes;if(this.clamp(),r%4)for(var c=0;c<i;c++){var f=n[c>>>2]>>>24-c%4*8&255;t[r+c>>>2]|=f<<24-(r+c)%4*8}else for(var c=0;c<i;c+=4)t[r+c>>>2]=n[c>>>2];return this.sigBytes+=i,this},clamp:function(){var e=this.words,t=this.sigBytes;e[t>>>2]&=4294967295<<32-t%4*8,e.length=r.ceil(t/4)},clone:function(){var e=K.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t,n=[],i3=function(e){var e=e,t=987654321,n=4294967295;return function(){var i=((t=36969*(65535&t)+(t>>16)&n)<<16)+(e=18e3*(65535&e)+(e>>16)&n)&n;return i/=4294967296,(i+=.5)*(r.random()>.5?1:-1)}},i=0;i<e;i+=4){var c=i3(4294967296*(t||r.random()));t=987654071*c(),n.push(4294967296*c()|0)}return new ee.init(n,e)}}),te=f.enc={},ie=te.Hex={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],i=0;i<n;i++){var c=t[i>>>2]>>>24-i%4*8&255;r.push((c>>>4).toString(16)),r.push((15&c).toString(16))}return r.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r<t;r+=2)n[r>>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new ee.init(n,t/2)}},se=te.Latin1={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],i=0;i<n;i++){var c=t[i>>>2]>>>24-i%4*8&255;r.push(String.fromCharCode(c))}return r.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r<t;r++)n[r>>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new ee.init(n,t)}},oe=te.Utf8={stringify:function(e){try{return decodeURIComponent(escape(se.stringify(e)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(e){return se.parse(unescape(encodeURIComponent(e)))}},he=D.BufferedBlockAlgorithm=K.extend({reset:function(){this._data=new ee.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=oe.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(e){var t=this._data,n=t.words,i=t.sigBytes,c=this.blockSize,f,D=i/(4*c),K=(D=e?r.ceil(D):r.max((0|D)-this._minBufferSize,0))*c,te=r.min(4*K,i);if(K){for(var ie=0;ie<K;ie+=c)this._doProcessBlock(n,ie);var se=n.splice(0,K);t.sigBytes-=te}return new ee.init(se,te)},clone:function(){var e=K.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0}),D.Hasher=he.extend({cfg:K.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){he.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){var t;return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(e){return function(t,n){return new e.init(n).finalize(t)}},_createHmacHelper:function(e){return function(t,n){return new le.HMAC.init(e,n).finalize(t)}}}),le=f.algo={},f),n)}),Mt=(Q(function(e,t){var n,r,i,c,f,D;e.exports=(i=(r=n=Lt).lib,c=i.Base,f=i.WordArray,(D=r.x64={}).Word=c.extend({init:function(e,t){this.high=e,this.low=t}}),D.WordArray=c.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:8*e.length},toX32:function(){for(var e=this.words,t=e.length,n=[],r=0;r<t;r++){var i=e[r];n.push(i.high),n.push(i.low)}return f.create(n,this.sigBytes)},clone:function(){for(var e=c.clone.call(this),t=e.words=this.words.slice(0),n=t.length,r=0;r<n;r++)t[r]=t[r].clone();return e}}),n)}),Q(function(e,t){var n;e.exports=(n=Lt,function(){if("function"==typeof ArrayBuffer){var e=n.lib.WordArray,t=e.init;(e.init=function(e){if(e instanceof ArrayBuffer&&(e=new Uint8Array(e)),(e instanceof Int8Array||"undefined"!=typeof Uint8ClampedArray&&e instanceof Uint8ClampedArray||e instanceof Int16Array||e instanceof Uint16Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Float32Array||e instanceof Float64Array)&&(e=new Uint8Array(e.buffer,e.byteOffset,e.byteLength)),e instanceof Uint8Array){for(var n=e.byteLength,r=[],i=0;i<n;i++)r[i>>>2]|=e[i]<<24-i%4*8;t.call(this,r,n)}else t.apply(this,arguments)}).prototype=e}}(),n.lib.WordArray)}),Q(function(e,t){var n;e.exports=(n=Lt,function(){var e=n,t=e.lib.WordArray,r=e.enc;function i2(e){return e<<8&4278255360|e>>>8&16711935}r.Utf16=r.Utf16BE={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],i=0;i<n;i+=2){var c=t[i>>>2]>>>16-i%4*8&65535;r.push(String.fromCharCode(c))}return r.join("")},parse:function(e){for(var n=e.length,r=[],i=0;i<n;i++)r[i>>>1]|=e.charCodeAt(i)<<16-i%2*16;return t.create(r,2*n)}},r.Utf16LE={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],i=0;i<n;i+=2){var c=i2(t[i>>>2]>>>16-i%4*8&65535);r.push(String.fromCharCode(c))}return r.join("")},parse:function(e){for(var n=e.length,r=[],i=0;i<n;i++)r[i>>>1]|=i2(e.charCodeAt(i)<<16-i%2*16);return t.create(r,2*n)}}}(),n.enc.Utf16)}),Q(function(e,t){var n,r,i;e.exports=(i=(r=n=Lt).lib.WordArray,r.enc.Base64={stringify:function(e){var t=e.words,n=e.sigBytes,r=this._map;e.clamp();for(var i=[],c=0;c<n;c+=3)for(var f=(t[c>>>2]>>>24-c%4*8&255)<<16|(t[c+1>>>2]>>>24-(c+1)%4*8&255)<<8|t[c+2>>>2]>>>24-(c+2)%4*8&255,D=0;D<4&&c+.75*D<n;D++)i.push(r.charAt(f>>>6*(3-D)&63));var K=r.charAt(64);if(K)for(;i.length%4;)i.push(K);return i.join("")},parse:function(e){var t=e.length,n=this._map,r=this._reverseMap;if(!r){r=this._reverseMap=[];for(var c=0;c<n.length;c++)r[n.charCodeAt(c)]=c}var f=n.charAt(64);if(f){var D=e.indexOf(f);-1!==D&&(t=D)}return function(e,t,n){for(var r=[],c=0,f=0;f<t;f++)if(f%4){var D=n[e.charCodeAt(f-1)]<<f%4*2,K=n[e.charCodeAt(f)]>>>6-f%4*2;r[c>>>2]|=(D|K)<<24-c%4*8,c++}return i.create(r,c)}(e,t,r)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},n.enc.Base64)}),Q(function(e,t){var n;e.exports=(n=Lt,function(e){var t=n,r=t.lib,i=r.WordArray,c=r.Hasher,f=t.algo,D=[];!function(){for(var t=0;t<64;t++)D[t]=4294967296*e.abs(e.sin(t+1))|0}();var K=f.MD5=c.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var n=0;n<16;n++){var r=t+n,i=e[r];e[r]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8)}var c=this._hash.words,f=e[t+0],K=e[t+1],ee=e[t+2],te=e[t+3],ie=e[t+4],se=e[t+5],oe=e[t+6],he=e[t+7],le=e[t+8],fe=e[t+9],_e=e[t+10],Ce=e[t+11],Be=e[t+12],Me=e[t+13],ze=e[t+14],Je=e[t+15],nt=c[0],st=c[1],Tt=c[2],Lt=c[3];nt=l2(nt,st,Tt,Lt,f,7,D[0]),Lt=l2(Lt,nt,st,Tt,K,12,D[1]),Tt=l2(Tt,Lt,nt,st,ee,17,D[2]),st=l2(st,Tt,Lt,nt,te,22,D[3]),nt=l2(nt,st,Tt,Lt,ie,7,D[4]),Lt=l2(Lt,nt,st,Tt,se,12,D[5]),Tt=l2(Tt,Lt,nt,st,oe,17,D[6]),st=l2(st,Tt,Lt,nt,he,22,D[7]),nt=l2(nt,st,Tt,Lt,le,7,D[8]),Lt=l2(Lt,nt,st,Tt,fe,12,D[9]),Tt=l2(Tt,Lt,nt,st,_e,17,D[10]),st=l2(st,Tt,Lt,nt,Ce,22,D[11]),nt=l2(nt,st,Tt,Lt,Be,7,D[12]),Lt=l2(Lt,nt,st,Tt,Me,12,D[13]),Tt=l2(Tt,Lt,nt,st,ze,17,D[14]),nt=f2(nt,st=l2(st,Tt,Lt,nt,Je,22,D[15]),Tt,Lt,K,5,D[16]),Lt=f2(Lt,nt,st,Tt,oe,9,D[17]),Tt=f2(Tt,Lt,nt,st,Ce,14,D[18]),st=f2(st,Tt,Lt,nt,f,20,D[19]),nt=f2(nt,st,Tt,Lt,se,5,D[20]),Lt=f2(Lt,nt,st,Tt,_e,9,D[21]),Tt=f2(Tt,Lt,nt,st,Je,14,D[22]),st=f2(st,Tt,Lt,nt,ie,20,D[23]),nt=f2(nt,st,Tt,Lt,fe,5,D[24]),Lt=f2(Lt,nt,st,Tt,ze,9,D[25]),Tt=f2(Tt,Lt,nt,st,te,14,D[26]),st=f2(st,Tt,Lt,nt,le,20,D[27]),nt=f2(nt,st,Tt,Lt,Me,5,D[28]),Lt=f2(Lt,nt,st,Tt,ee,9,D[29]),Tt=f2(Tt,Lt,nt,st,he,14,D[30]),nt=c2(nt,st=f2(st,Tt,Lt,nt,Be,20,D[31]),Tt,Lt,se,4,D[32]),Lt=c2(Lt,nt,st,Tt,le,11,D[33]),Tt=c2(Tt,Lt,nt,st,Ce,16,D[34]),st=c2(st,Tt,Lt,nt,ze,23,D[35]),nt=c2(nt,st,Tt,Lt,K,4,D[36]),Lt=c2(Lt,nt,st,Tt,ie,11,D[37]),Tt=c2(Tt,Lt,nt,st,he,16,D[38]),st=c2(st,Tt,Lt,nt,_e,23,D[39]),nt=c2(nt,st,Tt,Lt,Me,4,D[40]),Lt=c2(Lt,nt,st,Tt,f,11,D[41]),Tt=c2(Tt,Lt,nt,st,te,16,D[42]),st=c2(st,Tt,Lt,nt,oe,23,D[43]),nt=c2(nt,st,Tt,Lt,fe,4,D[44]),Lt=c2(Lt,nt,st,Tt,Be,11,D[45]),Tt=c2(Tt,Lt,nt,st,Je,16,D[46]),nt=u2(nt,st=c2(st,Tt,Lt,nt,ee,23,D[47]),Tt,Lt,f,6,D[48]),Lt=u2(Lt,nt,st,Tt,he,10,D[49]),Tt=u2(Tt,Lt,nt,st,ze,15,D[50]),st=u2(st,Tt,Lt,nt,se,21,D[51]),nt=u2(nt,st,Tt,Lt,Be,6,D[52]),Lt=u2(Lt,nt,st,Tt,te,10,D[53]),Tt=u2(Tt,Lt,nt,st,_e,15,D[54]),st=u2(st,Tt,Lt,nt,K,21,D[55]),nt=u2(nt,st,Tt,Lt,le,6,D[56]),Lt=u2(Lt,nt,st,Tt,Je,10,D[57]),Tt=u2(Tt,Lt,nt,st,oe,15,D[58]),st=u2(st,Tt,Lt,nt,Me,21,D[59]),nt=u2(nt,st,Tt,Lt,ie,6,D[60]),Lt=u2(Lt,nt,st,Tt,Ce,10,D[61]),Tt=u2(Tt,Lt,nt,st,ee,15,D[62]),st=u2(st,Tt,Lt,nt,fe,21,D[63]),c[0]=c[0]+nt|0,c[1]=c[1]+st|0,c[2]=c[2]+Tt|0,c[3]=c[3]+Lt|0},_doFinalize:function(){var t=this._data,n=t.words,r=8*this._nDataBytes,i=8*t.sigBytes;n[i>>>5]|=128<<24-i%32;var c=e.floor(r/4294967296),f=r;n[15+(i+64>>>9<<4)]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),n[14+(i+64>>>9<<4)]=16711935&(f<<8|f>>>24)|4278255360&(f<<24|f>>>8),t.sigBytes=4*(n.length+1),this._process();for(var D=this._hash,K=D.words,ee=0;ee<4;ee++){var te=K[ee];K[ee]=16711935&(te<<8|te>>>24)|4278255360&(te<<24|te>>>8)}return D},clone:function(){var e=c.clone.call(this);return e._hash=this._hash.clone(),e}});function l2(e,t,n,r,i,c,f){var D=e+(t&n|~t&r)+i+f;return(D<<c|D>>>32-c)+t}function f2(e,t,n,r,i,c,f){var D=e+(t&r|n&~r)+i+f;return(D<<c|D>>>32-c)+t}function c2(e,t,n,r,i,c,f){var D=e+(t^n^r)+i+f;return(D<<c|D>>>32-c)+t}function u2(e,t,n,r,i,c,f){var D=e+(n^(t|~r))+i+f;return(D<<c|D>>>32-c)+t}t.MD5=c._createHelper(K),t.HmacMD5=c._createHmacHelper(K)}(Math),n.MD5)}),Q(function(e,t){var n,r,i,c,f,D,K,ee;e.exports=(i=(r=n=Lt).lib,c=i.WordArray,f=i.Hasher,D=r.algo,K=[],ee=D.SHA1=f.extend({_doReset:function(){this._hash=new c.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],i=n[1],c=n[2],f=n[3],D=n[4],ee=0;ee<80;ee++){if(ee<16)K[ee]=0|e[t+ee];else{var te=K[ee-3]^K[ee-8]^K[ee-14]^K[ee-16];K[ee]=te<<1|te>>>31}var ie=(r<<5|r>>>27)+D+K[ee];ie+=ee<20?1518500249+(i&c|~i&f):ee<40?1859775393+(i^c^f):ee<60?(i&c|i&f|c&f)-1894007588:(i^c^f)-899497514,D=f,f=c,c=i<<30|i>>>2,i=r,r=ie}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+c|0,n[3]=n[3]+f|0,n[4]=n[4]+D|0},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[14+(r+64>>>9<<4)]=Math.floor(n/4294967296),t[15+(r+64>>>9<<4)]=n,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=f.clone.call(this);return e._hash=this._hash.clone(),e}}),r.SHA1=f._createHelper(ee),r.HmacSHA1=f._createHmacHelper(ee),n.SHA1)}),Q(function(e,t){var n;e.exports=(n=Lt,function(e){var t=n,r=t.lib,i=r.WordArray,c=r.Hasher,f=t.algo,D=[],K=[];!function(){function t4(t){for(var n=e.sqrt(t),r=2;r<=n;r++)if(!(t%r))return!1;return!0}function r3(e){return 4294967296*(e-(0|e))|0}for(var t=2,n=0;n<64;)t4(t)&&(n<8&&(D[n]=r3(e.pow(t,.5))),K[n]=r3(e.pow(t,1/3)),n++),t++}();var ee=[],te=f.SHA256=c.extend({_doReset:function(){this._hash=new i.init(D.slice(0))},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],i=n[1],c=n[2],f=n[3],D=n[4],te=n[5],ie=n[6],se=n[7],oe=0;oe<64;oe++){if(oe<16)ee[oe]=0|e[t+oe];else{var he=ee[oe-15],le=(he<<25|he>>>7)^(he<<14|he>>>18)^he>>>3,fe=ee[oe-2],_e=(fe<<15|fe>>>17)^(fe<<13|fe>>>19)^fe>>>10;ee[oe]=le+ee[oe-7]+_e+ee[oe-16]}var Ce=r&i^r&c^i&c,Be=(r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22),Me=se+((D<<26|D>>>6)^(D<<21|D>>>11)^(D<<7|D>>>25))+(D&te^~D&ie)+K[oe]+ee[oe];se=ie,ie=te,te=D,D=f+Me|0,f=c,c=i,i=r,r=Me+(Be+Ce)|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+c|0,n[3]=n[3]+f|0,n[4]=n[4]+D|0,n[5]=n[5]+te|0,n[6]=n[6]+ie|0,n[7]=n[7]+se|0},_doFinalize:function(){var t=this._data,n=t.words,r=8*this._nDataBytes,i=8*t.sigBytes;return n[i>>>5]|=128<<24-i%32,n[14+(i+64>>>9<<4)]=e.floor(r/4294967296),n[15+(i+64>>>9<<4)]=r,t.sigBytes=4*n.length,this._process(),this._hash},clone:function(){var e=c.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=c._createHelper(te),t.HmacSHA256=c._createHmacHelper(te)}(Math),n.SHA256)}),Q(function(e,t){var n,r,i,c,f,D;e.exports=(i=(r=n=Lt).lib.WordArray,c=r.algo,f=c.SHA256,D=c.SHA224=f.extend({_doReset:function(){this._hash=new i.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=f._doFinalize.call(this);return e.sigBytes-=4,e}}),r.SHA224=f._createHelper(D),r.HmacSHA224=f._createHmacHelper(D),n.SHA224)}),Q(function(e,t){var n;e.exports=(n=Lt,function(){var e=n,t=e.lib.Hasher,r=e.x64,i=r.Word,c=r.WordArray,f=e.algo;function s2(){return i.create.apply(i,arguments)}var D=[s2(1116352408,3609767458),s2(1899447441,602891725),s2(3049323471,3964484399),s2(3921009573,2173295548),s2(961987163,4081628472),s2(1508970993,3053834265),s2(2453635748,2937671579),s2(2870763221,3664609560),s2(3624381080,2734883394),s2(310598401,1164996542),s2(607225278,1323610764),s2(1426881987,3590304994),s2(1925078388,4068182383),s2(2162078206,991336113),s2(2614888103,633803317),s2(3248222580,3479774868),s2(3835390401,2666613458),s2(4022224774,944711139),s2(264347078,2341262773),s2(604807628,2007800933),s2(770255983,1495990901),s2(1249150122,1856431235),s2(1555081692,3175218132),s2(1996064986,2198950837),s2(2554220882,3999719339),s2(2821834349,766784016),s2(2952996808,2566594879),s2(3210313671,3203337956),s2(3336571891,1034457026),s2(3584528711,2466948901),s2(113926993,3758326383),s2(338241895,168717936),s2(666307205,1188179964),s2(773529912,1546045734),s2(1294757372,1522805485),s2(1396182291,2643833823),s2(1695183700,2343527390),s2(1986661051,1014477480),s2(2177026350,1206759142),s2(2456956037,344077627),s2(2730485921,1290863460),s2(2820302411,3158454273),s2(3259730800,3505952657),s2(3345764771,106217008),s2(3516065817,3606008344),s2(3600352804,1432725776),s2(4094571909,1467031594),s2(275423344,851169720),s2(430227734,3100823752),s2(506948616,1363258195),s2(659060556,3750685593),s2(883997877,3785050280),s2(958139571,3318307427),s2(1322822218,3812723403),s2(1537002063,2003034995),s2(1747873779,3602036899),s2(1955562222,1575990012),s2(2024104815,1125592928),s2(2227730452,2716904306),s2(2361852424,442776044),s2(2428436474,593698344),s2(2756734187,3733110249),s2(3204031479,2999351573),s2(3329325298,3815920427),s2(3391569614,3928383900),s2(3515267271,566280711),s2(3940187606,3454069534),s2(4118630271,4000239992),s2(116418474,1914138554),s2(174292421,2731055270),s2(289380356,3203993006),s2(460393269,320620315),s2(685471733,587496836),s2(852142971,1086792851),s2(1017036298,365543100),s2(1126000580,2618297676),s2(1288033470,3409855158),s2(1501505948,4234509866),s2(1607167915,987167468),s2(1816402316,1246189591)],K=[];!function(){for(var e=0;e<80;e++)K[e]=s2()}();var ee=f.SHA512=t.extend({_doReset:function(){this._hash=new c.init([new i.init(1779033703,4089235720),new i.init(3144134277,2227873595),new i.init(1013904242,4271175723),new i.init(2773480762,1595750129),new i.init(1359893119,2917565137),new i.init(2600822924,725511199),new i.init(528734635,4215389547),new i.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],i=n[1],c=n[2],f=n[3],ee=n[4],te=n[5],ie=n[6],se=n[7],oe=r.high,he=r.low,le=i.high,fe=i.low,_e=c.high,Ce=c.low,Be=f.high,Me=f.low,ze=ee.high,Je=ee.low,nt=te.high,st=te.low,Tt=ie.high,Lt=ie.low,Mt=se.high,Nt=se.low,Wt=oe,Vt=he,Kt=le,qt=fe,Yt=_e,Gt=Ce,Xt=Be,Qt=Me,Jt=ze,en=Je,tn=nt,nn=st,rn=Tt,sn=Lt,on=Mt,an=Nt,hn=0;hn<80;hn++){var cn=K[hn];if(hn<16)var ln=cn.high=0|e[t+2*hn],un=cn.low=0|e[t+2*hn+1];else{var fn=K[hn-15],dn=fn.high,pn=fn.low,gn=(dn>>>1|pn<<31)^(dn>>>8|pn<<24)^dn>>>7,mn=(pn>>>1|dn<<31)^(pn>>>8|dn<<24)^(pn>>>7|dn<<25),wn=K[hn-2],vn=wn.high,_n=wn.low,bn=(vn>>>19|_n<<13)^(vn<<3|_n>>>29)^vn>>>6,yn=(_n>>>19|vn<<13)^(_n<<3|vn>>>29)^(_n>>>6|vn<<26),kn=K[hn-7],En=kn.high,Sn=kn.low,xn=K[hn-16],An=xn.high,Rn=xn.low;ln=(ln=(ln=gn+En+((un=mn+Sn)>>>0<mn>>>0?1:0))+bn+((un+=yn)>>>0<yn>>>0?1:0))+An+((un+=Rn)>>>0<Rn>>>0?1:0),cn.high=ln,cn.low=un}var Tn,In=Jt&tn^~Jt&rn,Cn=en&nn^~en&sn,Bn=Wt&Kt^Wt&Yt^Kt&Yt,Ln=Vt&qt^Vt&Gt^qt&Gt,Mn=(Wt>>>28|Vt<<4)^(Wt<<30|Vt>>>2)^(Wt<<25|Vt>>>7),Pn=(Vt>>>28|Wt<<4)^(Vt<<30|Wt>>>2)^(Vt<<25|Wt>>>7),Dn=(Jt>>>14|en<<18)^(Jt>>>18|en<<14)^(Jt<<23|en>>>9),zn=(en>>>14|Jt<<18)^(en>>>18|Jt<<14)^(en<<23|Jt>>>9),On=D[hn],Un=On.high,er=On.low,tr=on+Dn+((Tn=an+zn)>>>0<an>>>0?1:0),nr=Pn+Ln;on=rn,an=sn,rn=tn,sn=nn,tn=Jt,nn=en,Jt=Xt+(tr=(tr=(tr=tr+In+((Tn+=Cn)>>>0<Cn>>>0?1:0))+Un+((Tn+=er)>>>0<er>>>0?1:0))+ln+((Tn+=un)>>>0<un>>>0?1:0))+((en=Qt+Tn|0)>>>0<Qt>>>0?1:0)|0,Xt=Yt,Qt=Gt,Yt=Kt,Gt=qt,Kt=Wt,qt=Vt,Wt=tr+(Mn+Bn+(nr>>>0<Pn>>>0?1:0))+((Vt=Tn+nr|0)>>>0<Tn>>>0?1:0)|0}he=r.low=he+Vt,r.high=oe+Wt+(he>>>0<Vt>>>0?1:0),fe=i.low=fe+qt,i.high=le+Kt+(fe>>>0<qt>>>0?1:0),Ce=c.low=Ce+Gt,c.high=_e+Yt+(Ce>>>0<Gt>>>0?1:0),Me=f.low=Me+Qt,f.high=Be+Xt+(Me>>>0<Qt>>>0?1:0),Je=ee.low=Je+en,ee.high=ze+Jt+(Je>>>0<en>>>0?1:0),st=te.low=st+nn,te.high=nt+tn+(st>>>0<nn>>>0?1:0),Lt=ie.low=Lt+sn,ie.high=Tt+rn+(Lt>>>0<sn>>>0?1:0),Nt=se.low=Nt+an,se.high=Mt+on+(Nt>>>0<an>>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[30+(r+128>>>10<<5)]=Math.floor(n/4294967296),t[31+(r+128>>>10<<5)]=n,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=t.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32});e.SHA512=t._createHelper(ee),e.HmacSHA512=t._createHmacHelper(ee)}(),n.SHA512)}),Q(function(e,t){var n,r,i,c,f,D,K,ee;e.exports=(i=(r=n=Lt).x64,c=i.Word,f=i.WordArray,D=r.algo,K=D.SHA512,ee=D.SHA384=K.extend({_doReset:function(){this._hash=new f.init([new c.init(3418070365,3238371032),new c.init(1654270250,914150663),new c.init(2438529370,812702999),new c.init(355462360,4144912697),new c.init(1731405415,4290775857),new c.init(2394180231,1750603025),new c.init(3675008525,1694076839),new c.init(1203062813,3204075428)])},_doFinalize:function(){var e=K._doFinalize.call(this);return e.sigBytes-=16,e}}),r.SHA384=K._createHelper(ee),r.HmacSHA384=K._createHmacHelper(ee),n.SHA384)}),Q(function(e,t){var n;e.exports=(n=Lt,function(e){var t=n,r=t.lib,i=r.WordArray,c=r.Hasher,f=t.x64.Word,D=t.algo,K=[],ee=[],te=[];!function(){for(var e=1,t=0,n=0;n<24;n++){K[e+5*t]=(n+1)*(n+2)/2%64;var r=(2*e+3*t)%5;e=t%5,t=r}for(e=0;e<5;e++)for(t=0;t<5;t++)ee[e+5*t]=t+(2*e+3*t)%5*5;for(var i=1,c=0;c<24;c++){for(var D=0,ie=0,se=0;se<7;se++){if(1&i){var oe=(1<<se)-1;oe<32?ie^=1<<oe:D^=1<<oe-32}128&i?i=i<<1^113:i<<=1}te[c]=f.create(D,ie)}}();var ie=[];!function(){for(var e=0;e<25;e++)ie[e]=f.create()}();var se=D.SHA3=c.extend({cfg:c.cfg.extend({outputLength:512}),_doReset:function(){for(var e=this._state=[],t=0;t<25;t++)e[t]=new f.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(e,t){for(var n=this._state,r=this.blockSize/2,i=0;i<r;i++){var c=e[t+2*i],f=e[t+2*i+1];c=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),f=16711935&(f<<8|f>>>24)|4278255360&(f<<24|f>>>8),(Nt=n[i]).high^=f,Nt.low^=c}for(var D=0;D<24;D++){for(var se=0;se<5;se++){for(var oe=0,he=0,le=0;le<5;le++)oe^=(Nt=n[se+5*le]).high,he^=Nt.low;var fe=ie[se];fe.high=oe,fe.low=he}for(se=0;se<5;se++){var _e=ie[(se+4)%5],Ce=ie[(se+1)%5],Be=Ce.high,Me=Ce.low;for(oe=_e.high^(Be<<1|Me>>>31),he=_e.low^(Me<<1|Be>>>31),le=0;le<5;le++)(Nt=n[se+5*le]).high^=oe,Nt.low^=he}for(var ze=1;ze<25;ze++){var Je=(Nt=n[ze]).high,nt=Nt.low,st=K[ze];st<32?(oe=Je<<st|nt>>>32-st,he=nt<<st|Je>>>32-st):(oe=nt<<st-32|Je>>>64-st,he=Je<<st-32|nt>>>64-st);var Tt=ie[ee[ze]];Tt.high=oe,Tt.low=he}var Lt=ie[0],Mt=n[0];for(Lt.high=Mt.high,Lt.low=Mt.low,se=0;se<5;se++)for(le=0;le<5;le++){var Nt=n[ze=se+5*le],Wt=ie[ze],Vt=ie[(se+1)%5+5*le],Kt=ie[(se+2)%5+5*le];Nt.high=Wt.high^~Vt.high&Kt.high,Nt.low=Wt.low^~Vt.low&Kt.low}Nt=n[0];var qt=te[D];Nt.high^=qt.high,Nt.low^=qt.low}},_doFinalize:function(){var t=this._data,n=t.words,r=(this._nDataBytes,8*t.sigBytes),c=32*this.blockSize;n[r>>>5]|=1<<24-r%32,n[(e.ceil((r+1)/c)*c>>>5)-1]|=128,t.sigBytes=4*n.length,this._process();for(var f=this._state,D=this.cfg.outputLength/8,K=D/8,ee=[],te=0;te<K;te++){var ie=f[te],se=ie.high,oe=ie.low;se=16711935&(se<<8|se>>>24)|4278255360&(se<<24|se>>>8),oe=16711935&(oe<<8|oe>>>24)|4278255360&(oe<<24|oe>>>8),ee.push(oe),ee.push(se)}return new i.init(ee,D)},clone:function(){for(var e=c.clone.call(this),t=e._state=this._state.slice(0),n=0;n<25;n++)t[n]=t[n].clone();return e}});t.SHA3=c._createHelper(se),t.HmacSHA3=c._createHmacHelper(se)}(Math),n.SHA3)}),Q(function(e,t){var n;e.exports=(n=Lt,function(e){var t=n,r=t.lib,i=r.WordArray,c=r.Hasher,f=t.algo,D=i.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),K=i.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),ee=i.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),te=i.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),ie=i.create([0,1518500249,1859775393,2400959708,2840853838]),se=i.create([1352829926,1548603684,1836072691,2053994217,0]),oe=f.RIPEMD160=c.extend({_doReset:function(){this._hash=i.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var n=0;n<16;n++){var r=t+n,i=e[r];e[r]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8)}var c,f,oe,he,le,fe,_e,Ce,Be,Me,ze,Je=this._hash.words,nt=ie.words,st=se.words,Tt=D.words,Lt=K.words,Mt=ee.words,Nt=te.words;for(fe=c=Je[0],_e=f=Je[1],Ce=oe=Je[2],Be=he=Je[3],Me=le=Je[4],n=0;n<80;n+=1)ze=c+e[t+Tt[n]]|0,ze+=n<16?p2(f,oe,he)+nt[0]:n<32?_2(f,oe,he)+nt[1]:n<48?g2(f,oe,he)+nt[2]:n<64?v2(f,oe,he)+nt[3]:w2(f,oe,he)+nt[4],ze=(ze=b2(ze|=0,Mt[n]))+le|0,c=le,le=he,he=b2(oe,10),oe=f,f=ze,ze=fe+e[t+Lt[n]]|0,ze+=n<16?w2(_e,Ce,Be)+st[0]:n<32?v2(_e,Ce,Be)+st[1]:n<48?g2(_e,Ce,Be)+st[2]:n<64?_2(_e,Ce,Be)+st[3]:p2(_e,Ce,Be)+st[4],ze=(ze=b2(ze|=0,Nt[n]))+Me|0,fe=Me,Me=Be,Be=b2(Ce,10),Ce=_e,_e=ze;ze=Je[1]+oe+Be|0,Je[1]=Je[2]+he+Me|0,Je[2]=Je[3]+le+fe|0,Je[3]=Je[4]+c+_e|0,Je[4]=Je[0]+f+Ce|0,Je[0]=ze},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;t[r>>>5]|=128<<24-r%32,t[14+(r+64>>>9<<4)]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),e.sigBytes=4*(t.length+1),this._process();for(var i=this._hash,c=i.words,f=0;f<5;f++){var D=c[f];c[f]=16711935&(D<<8|D>>>24)|4278255360&(D<<24|D>>>8)}return i},clone:function(){var e=c.clone.call(this);return e._hash=this._hash.clone(),e}});function p2(e,t,n){return e^t^n}function _2(e,t,n){return e&t|~e&n}function g2(e,t,n){return(e|~t)^n}function v2(e,t,n){return e&n|t&~n}function w2(e,t,n){return e^(t|~n)}function b2(e,t){return e<<t|e>>>32-t}t.RIPEMD160=c._createHelper(oe),t.HmacRIPEMD160=c._createHmacHelper(oe)}(),n.RIPEMD160)}),Q(function(e,t){var n,r,i,c,f,D;e.exports=(i=(r=(n=Lt).lib).Base,c=n.enc,f=c.Utf8,void((D=n.algo).HMAC=i.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=f.parse(t));var n=e.blockSize,r=4*n;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),c=this._iKey=t.clone(),D=i.words,K=c.words,ee=0;ee<n;ee++)D[ee]^=1549556828,K[ee]^=909522486;i.sigBytes=c.sigBytes=r,this.reset()},reset:function(){var e=this._hasher;e.reset(),e.update(this._iKey)},update:function(e){return this._hasher.update(e),this},finalize:function(e){var t=this._hasher,n=t.finalize(e),r;return t.reset(),t.finalize(this._oKey.clone().concat(n))}})))}),Q(function(e,t){var n,r,i,c,f,D,K,ee,te;e.exports=(c=(i=(r=n=Lt).lib).Base,f=i.WordArray,K=(D=r.algo).SHA1,ee=D.HMAC,te=D.PBKDF2=c.extend({cfg:c.extend({keySize:4,hasher:K,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var n=this.cfg,r=ee.create(n.hasher,e),i=f.create(),c=f.create([1]),D=i.words,K=c.words,te=n.keySize,ie=n.iterations;D.length<te;){var se=r.update(t).finalize(c);r.reset();for(var oe=se.words,he=oe.length,le=se,fe=1;fe<ie;fe++){le=r.finalize(le),r.reset();for(var _e=le.words,Ce=0;Ce<he;Ce++)oe[Ce]^=_e[Ce]}i.concat(se),K[0]++}return i.sigBytes=4*te,i}}),r.PBKDF2=function(e,t,n){return te.create(n).compute(e,t)},n.PBKDF2)}),Q(function(e,t){var n,r,i,c,f,D,K,ee;e.exports=(c=(i=(r=n=Lt).lib).Base,f=i.WordArray,K=(D=r.algo).MD5,ee=D.EvpKDF=c.extend({cfg:c.extend({keySize:4,hasher:K,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var n=this.cfg,r=n.hasher.create(),i=f.create(),c=i.words,D=n.keySize,K=n.iterations;c.length<D;){ee&&r.update(ee);var ee=r.update(e).finalize(t);r.reset();for(var te=1;te<K;te++)ee=r.finalize(ee),r.reset();i.concat(ee)}return i.sigBytes=4*D,i}}),r.EvpKDF=function(e,t,n){return ee.create(n).compute(e,t)},n.EvpKDF)}),Q(function(e,t){var n,r,i,c,f,D,K,ee,te,ie,se,oe,he,le,fe,_e,Ce,Be,Me,ze,Je,nt,st,Tt;e.exports=void((n=Lt).lib.Cipher||(i=n,c=i.lib,f=c.Base,D=c.WordArray,K=c.BufferedBlockAlgorithm,ee=i.enc,ee.Utf8,te=ee.Base64,ie=i.algo,se=ie.EvpKDF,oe=c.Cipher=K.extend({cfg:f.extend(),createEncryptor:function(e,t){return this.create(this._ENC_XFORM_MODE,e,t)},createDecryptor:function(e,t){return this.create(this._DEC_XFORM_MODE,e,t)},init:function(e,t,n){this.cfg=this.cfg.extend(n),this._xformMode=e,this._key=t,this.reset()},reset:function(){K.reset.call(this),this._doReset()},process:function(e){return this._append(e),this._process()},finalize:function(e){var t;return e&&this._append(e),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function e3(e){return"string"==typeof e?Tt:Je}return function(e){return{encrypt:function(t,n,r){return e3(n).encrypt(e,t,n,r)},decrypt:function(t,n,r){return e3(n).decrypt(e,t,n,r)}}}}()}),c.StreamCipher=oe.extend({_doFinalize:function(){var e;return this._process(!0)},blockSize:1}),he=i.mode={},le=c.BlockCipherMode=f.extend({createEncryptor:function(e,t){return this.Encryptor.create(e,t)},createDecryptor:function(e,t){return this.Decryptor.create(e,t)},init:function(e,t){this._cipher=e,this._iv=t}}),fe=he.CBC=function(){var e=le.extend();function t3(e,t,n){var i=this._iv;if(i){var c=i;this._iv=r}else var c=this._prevBlock;for(var f=0;f<n;f++)e[t+f]^=c[f]}return e.Encryptor=e.extend({processBlock:function(e,t){var n=this._cipher,r=n.blockSize;t3.call(this,e,t,r),n.encryptBlock(e,t),this._prevBlock=e.slice(t,t+r)}}),e.Decryptor=e.extend({processBlock:function(e,t){var n=this._cipher,r=n.blockSize,i=e.slice(t,t+r);n.decryptBlock(e,t),t3.call(this,e,t,r),this._prevBlock=i}}),e}(),_e=i.pad={},Ce=_e.Pkcs7={pad:function(e,t){for(var n=4*t,r=n-e.sigBytes%n,i=r<<24|r<<16|r<<8|r,c=[],f=0;f<r;f+=4)c.push(i);var K=D.create(c,r);e.concat(K)},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},c.BlockCipher=oe.extend({cfg:oe.cfg.extend({mode:fe,padding:Ce}),reset:function(){oe.reset.call(this);var e=this.cfg,t=e.iv,n=e.mode;if(this._xformMode==this._ENC_XFORM_MODE)var r=n.createEncryptor;else{var r=n.createDecryptor;this._minBufferSize=1}this._mode&&this._mode.__creator==r?this._mode.init(this,t&&t.words):(this._mode=r.call(n,this,t&&t.words),this._mode.__creator=r)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);var t=this._process(!0)}else{var t=this._process(!0);e.unpad(t)}return t},blockSize:4}),Be=c.CipherParams=f.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),Me=i.format={},ze=Me.OpenSSL={stringify:function(e){var t=e.ciphertext,n=e.salt;if(n)var r=D.create([1398893684,1701076831]).concat(n).concat(t);else var r=t;return r.toString(te)},parse:function(e){var t=te.parse(e),n=t.words;if(1398893684==n[0]&&1701076831==n[1]){var r=D.create(n.slice(2,4));n.splice(0,4),t.sigBytes-=16}return Be.create({ciphertext:t,salt:r})}},Je=c.SerializableCipher=f.extend({cfg:f.extend({format:ze}),encrypt:function(e,t,n,r){r=this.cfg.extend(r);var i=e.createEncryptor(n,r),c=i.finalize(t),f=i.cfg;return Be.create({ciphertext:c,key:n,iv:f.iv,algorithm:e,mode:f.mode,padding:f.padding,blockSize:e.blockSize,formatter:r.format})},decrypt:function(e,t,n,r){var i;return r=this.cfg.extend(r),t=this._parse(t,r.format),e.createDecryptor(n,r).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}}),nt=i.kdf={},st=nt.OpenSSL={execute:function(e,t,n,r){r||(r=D.random(8));var i=se.create({keySize:t+n}).compute(e,r),c=D.create(i.words.slice(t),4*n);return i.sigBytes=4*t,Be.create({key:i,iv:c,salt:r})}},Tt=c.PasswordBasedCipher=Je.extend({cfg:Je.cfg.extend({kdf:st}),encrypt:function(e,t,n,r){var i=(r=this.cfg.extend(r)).kdf.execute(n,e.keySize,e.ivSize);r.iv=i.iv;var c=Je.encrypt.call(this,e,t,i.key,r);return c.mixIn(i),c},decrypt:function(e,t,n,r){r=this.cfg.extend(r),t=this._parse(t,r.format);var i=r.kdf.execute(n,e.keySize,e.ivSize,t.salt),c;return r.iv=i.iv,Je.decrypt.call(this,e,t,i.key,r)}})))}),Q(function(e,t){var n;e.exports=((n=Lt).mode.CFB=function(){var e=n.lib.BlockCipherMode.extend();function t3(e,t,n,r){var i=this._iv;if(i){var c=i.slice(0);this._iv=void 0}else c=this._prevBlock;r.encryptBlock(c,0);for(var f=0;f<n;f++)e[t+f]^=c[f]}return e.Encryptor=e.extend({processBlock:function(e,t){var n=this._cipher,r=n.blockSize;t3.call(this,e,t,r,n),this._prevBlock=e.slice(t,t+r)}}),e.Decryptor=e.extend({processBlock:function(e,t){var n=this._cipher,r=n.blockSize,i=e.slice(t,t+r);t3.call(this,e,t,r,n),this._prevBlock=i}}),e}(),n.mode.CFB)}),Q(function(e,t){var n,r,i;e.exports=((n=Lt).mode.CTR=(i=(r=n.lib.BlockCipherMode.extend()).Encryptor=r.extend({processBlock:function(e,t){var n=this._cipher,r=n.blockSize,i=this._iv,c=this._counter;i&&(c=this._counter=i.slice(0),this._iv=void 0);var f=c.slice(0);n.encryptBlock(f,0),c[r-1]=c[r-1]+1|0;for(var D=0;D<r;D++)e[t+D]^=f[D]}}),r.Decryptor=i,r),n.mode.CTR)}),Q(function(e,t){var n;e.exports=((n=Lt).mode.CTRGladman=function(){var e=n.lib.BlockCipherMode.extend();function t3(e){if(255&~(e>>24))e+=1<<24;else{var t=e>>16&255,n=e>>8&255,r=255&e;255===t?(t=0,255===n?(n=0,255===r?r=0:++r):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=r}return e}var t=e.Encryptor=e.extend({processBlock:function(e,t){var n=this._cipher,r=n.blockSize,i=this._iv,c=this._counter,f;i&&(c=this._counter=i.slice(0),this._iv=void 0),0===((f=c)[0]=t3(f[0]))&&(f[1]=t3(f[1]));var D=c.slice(0);n.encryptBlock(D,0);for(var K=0;K<r;K++)e[t+K]^=D[K]}});return e.Decryptor=t,e}(),n.mode.CTRGladman)}),Q(function(e,t){var n,r,i;e.exports=((n=Lt).mode.OFB=(i=(r=n.lib.BlockCipherMode.extend()).Encryptor=r.extend({processBlock:function(e,t){var n=this._cipher,r=n.blockSize,i=this._iv,c=this._keystream;i&&(c=this._keystream=i.slice(0),this._iv=void 0),n.encryptBlock(c,0);for(var f=0;f<r;f++)e[t+f]^=c[f]}}),r.Decryptor=i,r),n.mode.OFB)}),Q(function(e,t){var n,r;e.exports=((n=Lt).mode.ECB=((r=n.lib.BlockCipherMode.extend()).Encryptor=r.extend({processBlock:function(e,t){this._cipher.encryptBlock(e,t)}}),r.Decryptor=r.extend({processBlock:function(e,t){this._cipher.decryptBlock(e,t)}}),r),n.mode.ECB)}),Q(function(e,t){var n;e.exports=((n=Lt).pad.AnsiX923={pad:function(e,t){var n=e.sigBytes,r=4*t,i=r-n%r,c=n+i-1;e.clamp(),e.words[c>>>2]|=i<<24-c%4*8,e.sigBytes+=i},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},n.pad.Ansix923)}),Q(function(e,t){var n;e.exports=((n=Lt).pad.Iso10126={pad:function(e,t){var r=4*t,i=r-e.sigBytes%r;e.concat(n.lib.WordArray.random(i-1)).concat(n.lib.WordArray.create([i<<24],1))},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},n.pad.Iso10126)}),Q(function(e,t){var n;e.exports=((n=Lt).pad.Iso97971={pad:function(e,t){e.concat(n.lib.WordArray.create([2147483648],1)),n.pad.ZeroPadding.pad(e,t)},unpad:function(e){n.pad.ZeroPadding.unpad(e),e.sigBytes--}},n.pad.Iso97971)}),Q(function(e,t){var n;e.exports=((n=Lt).pad.ZeroPadding={pad:function(e,t){var n=4*t;e.clamp(),e.sigBytes+=n-(e.sigBytes%n||n)},unpad:function(e){for(var t=e.words,n=e.sigBytes-1;!(t[n>>>2]>>>24-n%4*8&255);)n--;e.sigBytes=n+1}},n.pad.ZeroPadding)}),Q(function(e,t){var n;e.exports=((n=Lt).pad.NoPadding={pad:function(){},unpad:function(){}},n.pad.NoPadding)}),Q(function(e,t){var n,r,i,c;e.exports=(i=(r=n=Lt).lib.CipherParams,c=r.enc.Hex,r.format.Hex={stringify:function(e){return e.ciphertext.toString(c)},parse:function(e){var t=c.parse(e);return i.create({ciphertext:t})}},n.format.Hex)}),Q(function(e,t){var n;e.exports=(n=Lt,function(){var e=n,t=e.lib.BlockCipher,r=e.algo,i=[],c=[],f=[],D=[],K=[],ee=[],te=[],ie=[],se=[],oe=[];!function(){for(var e=[],t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;var n=0,r=0;for(t=0;t<256;t++){var he=r^r<<1^r<<2^r<<3^r<<4;he=he>>>8^255&he^99,i[n]=he,c[he]=n;var le=e[n],fe=e[le],_e=e[fe],Ce=257*e[he]^16843008*he;f[n]=Ce<<24|Ce>>>8,D[n]=Ce<<16|Ce>>>16,K[n]=Ce<<8|Ce>>>24,ee[n]=Ce,Ce=16843009*_e^65537*fe^257*le^16843008*n,te[he]=Ce<<24|Ce>>>8,ie[he]=Ce<<16|Ce>>>16,se[he]=Ce<<8|Ce>>>24,oe[he]=Ce,n?(n=le^e[e[e[_e^le]]],r^=e[e[r]]):n=r=1}}();var he=[0,1,2,4,8,16,32,64,128,27,54],le=r.AES=t.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var e=this._keyPriorReset=this._key,t=e.words,n=e.sigBytes/4,r=4*((this._nRounds=n+6)+1),c=this._keySchedule=[],f=0;f<r;f++)if(f<n)c[f]=t[f];else{var D=c[f-1];f%n?n>6&&f%n==4&&(D=i[D>>>24]<<24|i[D>>>16&255]<<16|i[D>>>8&255]<<8|i[255&D]):(D=i[(D=D<<8|D>>>24)>>>24]<<24|i[D>>>16&255]<<16|i[D>>>8&255]<<8|i[255&D],D^=he[f/n|0]<<24),c[f]=c[f-n]^D}for(var K=this._invKeySchedule=[],ee=0;ee<r;ee++)f=r-ee,D=ee%4?c[f]:c[f-4],K[ee]=ee<4||f<=4?D:te[i[D>>>24]]^ie[i[D>>>16&255]]^se[i[D>>>8&255]]^oe[i[255&D]]}},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,f,D,K,ee,i)},decryptBlock:function(e,t){var n=e[t+1];e[t+1]=e[t+3],e[t+3]=n,this._doCryptBlock(e,t,this._invKeySchedule,te,ie,se,oe,c),n=e[t+1],e[t+1]=e[t+3],e[t+3]=n},_doCryptBlock:function(e,t,n,r,i,c,f,D){for(var K=this._nRounds,ee=e[t]^n[0],te=e[t+1]^n[1],ie=e[t+2]^n[2],se=e[t+3]^n[3],oe=4,he=1;he<K;he++){var le=r[ee>>>24]^i[te>>>16&255]^c[ie>>>8&255]^f[255&se]^n[oe++],fe=r[te>>>24]^i[ie>>>16&255]^c[se>>>8&255]^f[255&ee]^n[oe++],_e=r[ie>>>24]^i[se>>>16&255]^c[ee>>>8&255]^f[255&te]^n[oe++],Ce=r[se>>>24]^i[ee>>>16&255]^c[te>>>8&255]^f[255&ie]^n[oe++];ee=le,te=fe,ie=_e,se=Ce}le=(D[ee>>>24]<<24|D[te>>>16&255]<<16|D[ie>>>8&255]<<8|D[255&se])^n[oe++],fe=(D[te>>>24]<<24|D[ie>>>16&255]<<16|D[se>>>8&255]<<8|D[255&ee])^n[oe++],_e=(D[ie>>>24]<<24|D[se>>>16&255]<<16|D[ee>>>8&255]<<8|D[255&te])^n[oe++],Ce=(D[se>>>24]<<24|D[ee>>>16&255]<<16|D[te>>>8&255]<<8|D[255&ie])^n[oe++],e[t]=le,e[t+1]=fe,e[t+2]=_e,e[t+3]=Ce},keySize:8});e.AES=t._createHelper(le)}(),n.AES)}),Q(function(e,t){var n;e.exports=(n=Lt,function(){var e=n,t=e.lib,r=t.WordArray,i=t.BlockCipher,c=e.algo,f=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],D=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],K=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],ee=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],te=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],ie=c.DES=i.extend({_doReset:function(){for(var e=this._key.words,t=[],n=0;n<56;n++){var r=f[n]-1;t[n]=e[r>>>5]>>>31-r%32&1}for(var i=this._subKeys=[],c=0;c<16;c++){var ee=i[c]=[],te=K[c];for(n=0;n<24;n++)ee[n/6|0]|=t[(D[n]-1+te)%28]<<31-n%6,ee[4+(n/6|0)]|=t[28+(D[n+24]-1+te)%28]<<31-n%6;for(ee[0]=ee[0]<<1|ee[0]>>>31,n=1;n<7;n++)ee[n]=ee[n]>>>4*(n-1)+3;ee[7]=ee[7]<<5|ee[7]>>>27}var ie=this._invSubKeys=[];for(n=0;n<16;n++)ie[n]=i[15-n]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._subKeys)},decryptBlock:function(e,t){this._doCryptBlock(e,t,this._invSubKeys)},_doCryptBlock:function(e,t,n){this._lBlock=e[t],this._rBlock=e[t+1],u2.call(this,4,252645135),u2.call(this,16,65535),d2.call(this,2,858993459),d2.call(this,8,16711935),u2.call(this,1,1431655765);for(var r=0;r<16;r++){for(var i=n[r],c=this._lBlock,f=this._rBlock,D=0,K=0;K<8;K++)D|=ee[K][((f^i[K])&te[K])>>>0];this._lBlock=f,this._rBlock=c^D}var ie=this._lBlock;this._lBlock=this._rBlock,this._rBlock=ie,u2.call(this,1,1431655765),d2.call(this,8,16711935),d2.call(this,2,858993459),u2.call(this,16,65535),u2.call(this,4,252645135),e[t]=this._lBlock,e[t+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function u2(e,t){var n=(this._lBlock>>>e^this._rBlock)&t;this._rBlock^=n,this._lBlock^=n<<e}function d2(e,t){var n=(this._rBlock>>>e^this._lBlock)&t;this._lBlock^=n,this._rBlock^=n<<e}e.DES=i._createHelper(ie);var se=c.TripleDES=i.extend({_doReset:function(){var e=this._key.words;this._des1=ie.createEncryptor(r.create(e.slice(0,2))),this._des2=ie.createEncryptor(r.create(e.slice(2,4))),this._des3=ie.createEncryptor(r.create(e.slice(4,6)))},encryptBlock:function(e,t){this._des1.encryptBlock(e,t),this._des2.decryptBlock(e,t),this._des3.encryptBlock(e,t)},decryptBlock:function(e,t){this._des3.decryptBlock(e,t),this._des2.encryptBlock(e,t),this._des1.decryptBlock(e,t)},keySize:6,ivSize:2,blockSize:2});e.TripleDES=i._createHelper(se)}(),n.TripleDES)}),Q(function(e,t){var n;e.exports=(n=Lt,function(){var e=n,t=e.lib.StreamCipher,r=e.algo,i=r.RC4=t.extend({_doReset:function(){for(var e=this._key,t=e.words,n=e.sigBytes,r=this._S=[],i=0;i<256;i++)r[i]=i;i=0;for(var c=0;i<256;i++){var f=i%n,D=t[f>>>2]>>>24-f%4*8&255;c=(c+r[i]+D)%256;var K=r[i];r[i]=r[c],r[c]=K}this._i=this._j=0},_doProcessBlock:function(e,t){e[t]^=o2.call(this)},keySize:8,ivSize:0});function o2(){for(var e=this._S,t=this._i,n=this._j,r=0,i=0;i<4;i++){n=(n+e[t=(t+1)%256])%256;var c=e[t];e[t]=e[n],e[n]=c,r|=e[(e[t]+e[n])%256]<<24-8*i}return this._i=t,this._j=n,r}e.RC4=t._createHelper(i);var c=r.RC4Drop=i.extend({cfg:i.cfg.extend({drop:192}),_doReset:function(){i._doReset.call(this);for(var e=this.cfg.drop;e>0;e--)o2.call(this)}});e.RC4Drop=t._createHelper(c)}(),n.RC4)}),Q(function(e,t){var n;e.exports=(n=Lt,function(){var e=n,t=e.lib.StreamCipher,r=e.algo,i=[],c=[],f=[],D=r.Rabbit=t.extend({_doReset:function(){for(var e=this._key.words,t=this.cfg.iv,n=0;n<4;n++)e[n]=16711935&(e[n]<<8|e[n]>>>24)|4278255360&(e[n]<<24|e[n]>>>8);var r=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],i=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];for(this._b=0,n=0;n<4;n++)h2.call(this);for(n=0;n<8;n++)i[n]^=r[n+4&7];if(t){var c=t.words,f=c[0],D=c[1],K=16711935&(f<<8|f>>>24)|4278255360&(f<<24|f>>>8),ee=16711935&(D<<8|D>>>24)|4278255360&(D<<24|D>>>8),te=K>>>16|4294901760&ee,ie=ee<<16|65535&K;for(i[0]^=K,i[1]^=te,i[2]^=ee,i[3]^=ie,i[4]^=K,i[5]^=te,i[6]^=ee,i[7]^=ie,n=0;n<4;n++)h2.call(this)}},_doProcessBlock:function(e,t){var n=this._X;h2.call(this),i[0]=n[0]^n[5]>>>16^n[3]<<16,i[1]=n[2]^n[7]>>>16^n[5]<<16,i[2]=n[4]^n[1]>>>16^n[7]<<16,i[3]=n[6]^n[3]>>>16^n[1]<<16;for(var r=0;r<4;r++)i[r]=16711935&(i[r]<<8|i[r]>>>24)|4278255360&(i[r]<<24|i[r]>>>8),e[t+r]^=i[r]},blockSize:4,ivSize:2});function h2(){for(var e=this._X,t=this._C,n=0;n<8;n++)c[n]=t[n];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0<c[0]>>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0<c[1]>>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0<c[2]>>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0<c[3]>>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0<c[4]>>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0<c[5]>>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0<c[6]>>>0?1:0)|0,this._b=t[7]>>>0<c[7]>>>0?1:0,n=0;n<8;n++){var r=e[n]+t[n],i=65535&r,D=r>>>16,K=((i*i>>>17)+i*D>>>15)+D*D,ee=((4294901760&r)*r|0)+((65535&r)*r|0);f[n]=K^ee}e[0]=f[0]+(f[7]<<16|f[7]>>>16)+(f[6]<<16|f[6]>>>16)|0,e[1]=f[1]+(f[0]<<8|f[0]>>>24)+f[7]|0,e[2]=f[2]+(f[1]<<16|f[1]>>>16)+(f[0]<<16|f[0]>>>16)|0,e[3]=f[3]+(f[2]<<8|f[2]>>>24)+f[1]|0,e[4]=f[4]+(f[3]<<16|f[3]>>>16)+(f[2]<<16|f[2]>>>16)|0,e[5]=f[5]+(f[4]<<8|f[4]>>>24)+f[3]|0,e[6]=f[6]+(f[5]<<16|f[5]>>>16)+(f[4]<<16|f[4]>>>16)|0,e[7]=f[7]+(f[6]<<8|f[6]>>>24)+f[5]|0}e.Rabbit=t._createHelper(D)}(),n.Rabbit)}),Q(function(e,t){var n;e.exports=(n=Lt,function(){var e=n,t=e.lib.StreamCipher,r=e.algo,i=[],c=[],f=[],D=r.RabbitLegacy=t.extend({_doReset:function(){var e=this._key.words,t=this.cfg.iv,n=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],r=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];this._b=0;for(var i=0;i<4;i++)h2.call(this);for(i=0;i<8;i++)r[i]^=n[i+4&7];if(t){var c=t.words,f=c[0],D=c[1],K=16711935&(f<<8|f>>>24)|4278255360&(f<<24|f>>>8),ee=16711935&(D<<8|D>>>24)|4278255360&(D<<24|D>>>8),te=K>>>16|4294901760&ee,ie=ee<<16|65535&K;for(r[0]^=K,r[1]^=te,r[2]^=ee,r[3]^=ie,r[4]^=K,r[5]^=te,r[6]^=ee,r[7]^=ie,i=0;i<4;i++)h2.call(this)}},_doProcessBlock:function(e,t){var n=this._X;h2.call(this),i[0]=n[0]^n[5]>>>16^n[3]<<16,i[1]=n[2]^n[7]>>>16^n[5]<<16,i[2]=n[4]^n[1]>>>16^n[7]<<16,i[3]=n[6]^n[3]>>>16^n[1]<<16;for(var r=0;r<4;r++)i[r]=16711935&(i[r]<<8|i[r]>>>24)|4278255360&(i[r]<<24|i[r]>>>8),e[t+r]^=i[r]},blockSize:4,ivSize:2});function h2(){for(var e=this._X,t=this._C,n=0;n<8;n++)c[n]=t[n];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0<c[0]>>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0<c[1]>>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0<c[2]>>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0<c[3]>>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0<c[4]>>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0<c[5]>>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0<c[6]>>>0?1:0)|0,this._b=t[7]>>>0<c[7]>>>0?1:0,n=0;n<8;n++){var r=e[n]+t[n],i=65535&r,D=r>>>16,K=((i*i>>>17)+i*D>>>15)+D*D,ee=((4294901760&r)*r|0)+((65535&r)*r|0);f[n]=K^ee}e[0]=f[0]+(f[7]<<16|f[7]>>>16)+(f[6]<<16|f[6]>>>16)|0,e[1]=f[1]+(f[0]<<8|f[0]>>>24)+f[7]|0,e[2]=f[2]+(f[1]<<16|f[1]>>>16)+(f[0]<<16|f[0]>>>16)|0,e[3]=f[3]+(f[2]<<8|f[2]>>>24)+f[1]|0,e[4]=f[4]+(f[3]<<16|f[3]>>>16)+(f[2]<<16|f[2]>>>16)|0,e[5]=f[5]+(f[4]<<8|f[4]>>>24)+f[3]|0,e[6]=f[6]+(f[5]<<16|f[5]>>>16)+(f[4]<<16|f[4]>>>16)|0,e[7]=f[7]+(f[6]<<8|f[6]>>>24)+f[5]|0}e.RabbitLegacy=t._createHelper(D)}(),n.RabbitLegacy)}),Q(function(e,t){e.exports=Lt}));function re(){throw new Error("setTimeout has not been defined")}function ne(){throw new Error("clearTimeout has not been defined")}var Nt=re,Wt=ne;function ae(e){if(Nt===setTimeout)return setTimeout(e,0);if((Nt===re||!Nt)&&setTimeout)return Nt=setTimeout,setTimeout(e,0);try{return Nt(e,0)}catch(t){try{return Nt.call(null,e,0)}catch(n){return Nt.call(this,e,0)}}}"function"==typeof _e.setTimeout&&(Nt=setTimeout),"function"==typeof _e.clearTimeout&&(Wt=clearTimeout);var Vt,Kt=[],qt=!1,Yt=-1;function ce(){qt&&Vt&&(qt=!1,Vt.length?Kt=Vt.concat(Kt):Yt=-1,Kt.length&&ue())}function ue(){if(!qt){var e=ae(ce);qt=!0;for(var t=Kt.length;t;){for(Vt=Kt,Kt=[];++Yt<t;)Vt&&Vt[Yt].run();Yt=-1,t=Kt.length}Vt=null,qt=!1,function(e){if(Wt===clearTimeout)return clearTimeout(e);if((Wt===ne||!Wt)&&clearTimeout)return Wt=clearTimeout,clearTimeout(e);try{Wt(e)}catch(t){try{return Wt.call(null,e)}catch(n){return Wt.call(this,e)}}}(e)}}function de(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];Kt.push(new pe(e,t)),1!==Kt.length||qt||ae(ue)}function pe(e,t){this.fun=e,this.array=t}pe.prototype.run=function(){this.fun.apply(null,this.array)};var Gt=_e.performance||{};function ge(){}function ve(){ve.init.call(this)}function we(e){return void 0===e._maxListeners?ve.defaultMaxListeners:e._maxListeners}function be(e,t,n){if(t)e.call(n);else for(var r=e.length,i=Ae(e,r),c=0;c<r;++c)i[c].call(n)}function ye(e,t,n,r){if(t)e.call(n,r);else for(var i=e.length,c=Ae(e,i),f=0;f<i;++f)c[f].call(n,r)}function me(e,t,n,r,i){if(t)e.call(n,r,i);else for(var c=e.length,f=Ae(e,c),D=0;D<c;++D)f[D].call(n,r,i)}function ke(e,t,n,r,i,c){if(t)e.call(n,r,i,c);else for(var f=e.length,D=Ae(e,f),K=0;K<f;++K)D[K].call(n,r,i,c)}function Ee(e,t,n,r){if(t)e.apply(n,r);else for(var i=e.length,c=Ae(e,i),f=0;f<i;++f)c[f].apply(n,r)}function Se(e,t,n,r){var i,c,f,D;if("function"!=typeof n)throw new TypeError('"listener" argument must be a function');if((c=e._events)?(c.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),c=e._events),f=c[t]):(c=e._events=new ge,e._eventsCount=0),f){if("function"==typeof f?f=c[t]=r?[n,f]:[f,n]:r?f.unshift(n):f.push(n),!f.warned&&(i=we(e))&&i>0&&f.length>i){f.warned=!0;var K=new Error("Possible EventEmitter memory leak detected. "+f.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit");K.name="MaxListenersExceededWarning",K.emitter=e,K.type=t,K.count=f.length,D=K,"function"==typeof console.warn?console.warn(D):console.log(D)}}else f=c[t]=n,++e._eventsCount;return e}function xe(e,t,n){var r=!1;function i2(){e.removeListener(t,i2),r||(r=!0,n.apply(e,arguments))}return i2.listener=n,i2}function Re(e){var t=this._events;if(t){var n=t[e];if("function"==typeof n)return 1;if(n)return n.length}return 0}function Ae(e,t){for(var n=new Array(t);t--;)n[t]=e[t];return n}Gt.now||Gt.mozNow||Gt.msNow||Gt.oNow||Gt.webkitNow,ge.prototype=Object.create(null),ve.EventEmitter=ve,ve.usingDomains=!1,ve.prototype.domain=void 0,ve.prototype._events=void 0,ve.prototype._maxListeners=void 0,ve.defaultMaxListeners=10,ve.init=function(){this.domain=null,ve.usingDomains&&(void 0).active&&(void 0).Domain,this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new ge,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},ve.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=e,this},ve.prototype.getMaxListeners=function(){return we(this)},ve.prototype.emit=function(e){var t,n,r,i,c,f,D,K="error"===e;if(f=this._events)K=K&&null==f.error;else if(!K)return!1;if(D=this.domain,K){if(t=arguments[1],!D){if(t instanceof Error)throw t;var ee=new Error('Uncaught, unspecified "error" event. ('+t+")");throw ee.context=t,ee}return t||(t=new Error('Uncaught, unspecified "error" event')),t.domainEmitter=this,t.domain=D,t.domainThrown=!1,D.emit("error",t),!1}if(!(n=f[e]))return!1;var te="function"==typeof n;switch(r=arguments.length){case 1:be(n,te,this);break;case 2:ye(n,te,this,arguments[1]);break;case 3:me(n,te,this,arguments[1],arguments[2]);break;case 4:ke(n,te,this,arguments[1],arguments[2],arguments[3]);break;default:for(i=new Array(r-1),c=1;c<r;c++)i[c-1]=arguments[c];Ee(n,te,this,i)}return!0},ve.prototype.addListener=function(e,t){return Se(this,e,t,!1)},ve.prototype.on=ve.prototype.addListener,ve.prototype.prependListener=function(e,t){return Se(this,e,t,!0)},ve.prototype.once=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.on(e,xe(this,e,t)),this},ve.prototype.prependOnceListener=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.prependListener(e,xe(this,e,t)),this},ve.prototype.removeListener=function(e,t){var n,r,i,c,f;if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');if(!(r=this._events))return this;if(!(n=r[e]))return this;if(n===t||n.listener&&n.listener===t)0==--this._eventsCount?this._events=new ge:(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(i=-1,c=n.length;c-- >0;)if(n[c]===t||n[c].listener&&n[c].listener===t){f=n[c].listener,i=c;break}if(i<0)return this;if(1===n.length){if(n[0]=void 0,0==--this._eventsCount)return this._events=new ge,this;delete r[e]}else!function(e,t){for(var n=t,r=n+1,i=e.length;r<i;n+=1,r+=1)e[n]=e[r];e.pop()}(n,i);r.removeListener&&this.emit("removeListener",e,f||t)}return this},ve.prototype.removeAllListeners=function(e){var t,n;if(!(n=this._events))return this;if(!n.removeListener)return 0===arguments.length?(this._events=new ge,this._eventsCount=0):n[e]&&(0==--this._eventsCount?this._events=new ge:delete n[e]),this;if(0===arguments.length){for(var r,i=Object.keys(n),c=0;c<i.length;++c)"removeListener"!==(r=i[c])&&this.removeAllListeners(r);return this.removeAllListeners("removeListener"),this._events=new ge,this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(t)do{this.removeListener(e,t[t.length-1])}while(t[0]);return this},ve.prototype.listeners=function(e){var t,n=this._events;return n&&(t=n[e])?"function"==typeof t?[t.listener||t]:function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(t):[]},ve.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):Re.call(e,t)},ve.prototype.listenerCount=Re,ve.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};var Xt="function"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var r2=function(){};r2.prototype=t.prototype,e.prototype=new r2,e.prototype.constructor=e},Qt=/%[sdj%]/g;function Le(e){if(!Ze(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(De(arguments[n]));return t.join(" ")}n=1;for(var r=arguments,i=r.length,c=String(e).replace(Qt,function(e){if("%%"===e)return"%";if(n>=i)return e;switch(e){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(t){return"[Circular]"}default:return e}}),f=r[n];n<i;f=r[++n])Ne(f)||!Ye(f)?c+=" "+f:c+=" "+De(f);return c}function Te(e,t){if(je(_e.process))return function(){return Te(e,t).apply(this,arguments)};var n=!1;return function(){return n||(console.error(t),n=!0),e.apply(this,arguments)}}var Jt,en={};function De(e,t){var n={seen:[],stylize:Pe};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),Fe(t)?n.showHidden=t:t&&function(e,t){if(!t||!Ye(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]]}(n,t),je(n.showHidden)&&(n.showHidden=!1),je(n.depth)&&(n.depth=2),je(n.colors)&&(n.colors=!1),je(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=Ie),Oe(n,e,n.depth)}function Ie(e,t){var n=De.styles[t];return n?"["+De.colors[n][0]+"m"+e+"["+De.colors[n][1]+"m":e}function Pe(e,t){return e}function Oe(e,t,n){if(e.customInspect&&t&&qe(t.inspect)&&t.inspect!==De&&(!t.constructor||t.constructor.prototype!==t)){var r=t.inspect(n,e);return Ze(r)||(r=Oe(e,r,n)),r}var i=function(e,t){if(je(t))return e.stylize("undefined","undefined");if(Ze(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}return"number"==typeof(r=t)?e.stylize(""+t,"number"):Fe(t)?e.stylize(""+t,"boolean"):Ne(t)?e.stylize("null","null"):void 0;var r}(e,t);if(i)return i;var c=Object.keys(t),f=(K={},(D=c).forEach(function(e,t){K[e]=!0}),K),D,K;if(e.showHidden&&(c=Object.getOwnPropertyNames(t)),Xe(t)&&(c.indexOf("message")>=0||c.indexOf("description")>=0))return Ue(t);if(0===c.length){if(qe(t)){var ee=t.name?": "+t.name:"";return e.stylize("[Function"+ee+"]","special")}if(We(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(Ke(t))return e.stylize(Date.prototype.toString.call(t),"date");if(Xe(t))return Ue(t)}var te,ie,se="",oe=!1,he=["{","}"];return te=t,Array.isArray(te)&&(oe=!0,he=["[","]"]),qe(t)&&(se=" [Function"+(t.name?": "+t.name:"")+"]"),We(t)&&(se=" "+RegExp.prototype.toString.call(t)),Ke(t)&&(se=" "+Date.prototype.toUTCString.call(t)),Xe(t)&&(se=" "+Ue(t)),0!==c.length||oe&&0!=t.length?n<0?We(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),ie=oe?function(e,t,n,r,i){for(var c=[],f=0,D=t.length;f<D;++f)Ge(t,String(f))?c.push(He(e,t,n,r,String(f),!0)):c.push("");return i.forEach(function(i){i.match(/^\d+$/)||c.push(He(e,t,n,r,i,!0))}),c}(e,t,n,f,c):c.map(function(r){return He(e,t,n,f,r,oe)}),e.seen.pop(),function(e,t,n){return e.reduce(function(e,t){return t.indexOf("\n"),e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}(ie,se,he)):he[0]+se+he[1]}function Ue(e){return"["+Error.prototype.toString.call(e)+"]"}function He(e,t,n,r,i,c){var f,D,K;if((K=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?D=K.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):K.set&&(D=e.stylize("[Setter]","special")),Ge(r,i)||(f="["+i+"]"),D||(e.seen.indexOf(K.value)<0?(D=Ne(n)?Oe(e,K.value,null):Oe(e,K.value,n-1)).indexOf("\n")>-1&&(D=c?D.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+D.split("\n").map(function(e){return" "+e}).join("\n")):D=e.stylize("[Circular]","special")),je(f)){if(c&&i.match(/^\d+$/))return D;(f=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(f=f.substr(1,f.length-2),f=e.stylize(f,"name")):(f=f.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),f=e.stylize(f,"string"))}return f+": "+D}function Fe(e){return"boolean"==typeof e}function Ne(e){return null===e}function Ze(e){return"string"==typeof e}function je(e){return void 0===e}function We(e){return Ye(e)&&"[object RegExp]"===Ve(e)}function Ye(e){return"object"==typeof e&&null!==e}function Ke(e){return Ye(e)&&"[object Date]"===Ve(e)}function Xe(e){return Ye(e)&&("[object Error]"===Ve(e)||e instanceof Error)}function qe(e){return"function"==typeof e}function Ve(e){return Object.prototype.toString.call(e)}function Ge(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function $e(){this.head=null,this.tail=null,this.length=0}De.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]},De.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},$e.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},$e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},$e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},$e.prototype.clear=function(){this.head=this.tail=null,this.length=0},$e.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n},$e.prototype.concat=function(e){if(0===this.length)return p.alloc(0);if(1===this.length)return this.head.data;for(var t=p.allocUnsafe(e>>>0),n=this.head,r=0;n;)n.data.copy(t,r),r+=n.data.length,n=n.next;return t};var tn=p.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 Qe(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),function(e){if(e&&!tn(e))throw new Error("Unknown encoding: "+e)}(e),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=tt;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=rt;break;default:return void(this.write=et)}this.charBuffer=new p(6),this.charReceived=0,this.charLength=0}function et(e){return e.toString(this.encoding)}function tt(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function rt(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}Qe.prototype.write=function(e){for(var t="";this.charLength;){var n=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,n),this.charReceived+=n,this.charReceived<this.charLength)return"";if(e=e.slice(n,e.length),!((i=(t=this.charBuffer.slice(0,this.charLength).toString(this.encoding)).charCodeAt(t.length-1))>=55296&&i<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=""}this.detectIncompleteChar(e);var r=e.length,i;if(this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,r),r-=this.charReceived),r=(t+=e.toString(this.encoding,0,r)).length-1,(i=t.charCodeAt(r))>=55296&&i<=56319){var c=this.surrogateSize;return this.charLength+=c,this.charReceived+=c,this.charBuffer.copy(this.charBuffer,c,0,c),e.copy(this.charBuffer,0,0,c),t.substring(0,r)}return t},Qe.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var n=e[e.length-t];if(1==t&&n>>5==6){this.charLength=2;break}if(t<=2&&n>>4==14){this.charLength=3;break}if(t<=3&&n>>3==30){this.charLength=4;break}}this.charReceived=t},Qe.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var n=this.charReceived,r=this.charBuffer,i=this.encoding;t+=r.slice(0,n).toString(i)}return t},ot.ReadableState=it;var nn=(rn="stream",je(Jt)&&(Jt=""),rn=rn.toUpperCase(),en[rn]||(new RegExp("\\b"+rn+"\\b","i").test(Jt)?en[rn]=function(){var e=Le.apply(null,arguments);console.error("%s %d: %s",rn,0,e)}:en[rn]=function(){}),en[rn]),rn;function it(e,t){e=e||{},this.objectMode=!!e.objectMode,t instanceof Ct&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var n=e.highWaterMark,r=this.objectMode?16:16384;this.highWaterMark=n||0===n?n:r,this.highWaterMark=~~this.highWaterMark,this.buffer=new $e,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 Qe(e.encoding),this.encoding=e.encoding)}function ot(e){if(!(this instanceof ot))return new ot(e);this._readableState=new it(e,this),this.readable=!0,e&&"function"==typeof e.read&&(this._read=e.read),ve.call(this)}function at(e,t,n,r,i){var c=(f=t,K=null,$(D=n)||"string"==typeof D||null==D||f.objectMode||(K=new TypeError("Invalid non-string/buffer chunk")),K),f,D,K;if(c)e.emit("error",c);else if(null===n)t.reading=!1,function(e,t){if(!t.ended){if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,lt(e)}}(e,t);else if(t.objectMode||n&&n.length>0)if(t.ended&&!i){var ee=new Error("stream.push() after EOF");e.emit("error",ee)}else if(t.endEmitted&&i){var te=new Error("stream.unshift() after end event");e.emit("error",te)}else{var ie;!t.decoder||i||r||(n=t.decoder.write(n),ie=!t.objectMode&&0===n.length),i||(t.reading=!1),ie||(t.flowing&&0===t.length&&!t.sync?(e.emit("data",n),e.read(0)):(t.length+=t.objectMode?1:n.length,i?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&lt(e))),function(e,t){t.readingMore||(t.readingMore=!0,de(ct,e,t))}(e,t)}else i||(t.reading=!1);return function(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}(t)}Xt(ot,ve),ot.prototype.push=function(e,t){var n=this._readableState;return n.objectMode||"string"!=typeof e||(t=t||n.defaultEncoding)!==n.encoding&&(e=p.from(e,t),t=""),at(this,n,e,t,!1)},ot.prototype.unshift=function(e){return at(this,this._readableState,e,"",!0)},ot.prototype.isPaused=function(){return!1===this._readableState.flowing},ot.prototype.setEncoding=function(e){return this._readableState.decoder=new Qe(e),this._readableState.encoding=e,this};var sn=8388608;function ht(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=((n=e)>=sn?n=sn:(n--,n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n++),n)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0));var n}function lt(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(nn("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?de(ft,e):ft(e))}function ft(e){nn("emit readable"),e.emit("readable"),pt(e)}function ct(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(nn("maybeReadMore read 0"),e.read(0),n!==t.length);)n=t.length;t.readingMore=!1}function ut(e){nn("readable nexttick read 0"),e.read(0)}function dt(e,t){t.reading||(nn("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),pt(e),t.flowing&&!t.reading&&e.read(0)}function pt(e){var t=e._readableState;for(nn("flow",t.flowing);t.flowing&&null!==e.read(););}function _t(e,t){return 0===t.length?null:(t.objectMode?f=t.buffer.shift():!e||e>=t.length?(f=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):(n=e,r=t.buffer,i=t.decoder,n<r.head.data.length?(c=r.head.data.slice(0,n),r.head.data=r.head.data.slice(n)):c=n===r.head.data.length?r.shift():i?function(e,t){var n=t.head,r=1,i=n.data;for(e-=i.length;n=n.next;){var c=n.data,f=e>c.length?c.length:e;if(f===c.length?i+=c:i+=c.slice(0,e),0===(e-=f)){f===c.length?(++r,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=c.slice(f));break}++r}return t.length-=r,i}(n,r):function(e,t){var n=p.allocUnsafe(e),r=t.head,i=1;for(r.data.copy(n),e-=r.data.length;r=r.next;){var c=r.data,f=e>c.length?c.length:e;if(c.copy(n,n.length-e,0,f),0===(e-=f)){f===c.length?(++i,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=c.slice(f));break}++i}return t.length-=i,n}(n,r),f=c),f);var n,r,i,c,f}function gt(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,de(vt,t,e))}function vt(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function wt(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1}function bt(){}function yt(e,t,n){this.chunk=e,this.encoding=t,this.callback=n,this.next=null}function mt(e,t){Object.defineProperty(this,"buffer",{get:Te(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.")}),e=e||{},this.objectMode=!!e.objectMode,t instanceof Ct&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var n=e.highWaterMark,r=this.objectMode?16:16384;this.highWaterMark=n||0===n?n:r,this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1;var i=!1===e.decodeStrings;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(e){!function(e,t){var n=e._writableState,r=n.sync,i=n.writecb,c;if((c=n).writing=!1,c.writecb=null,c.length-=c.writelen,c.writelen=0,t)!function(e,t,n,r,i){--t.pendingcb,n?de(i,r):i(r),e._writableState.errorEmitted=!0,e.emit("error",r)}(e,n,r,t,i);else{var f=Rt(n);f||n.corked||n.bufferProcessing||!n.bufferedRequest||xt(e,n),r?de(St,e,n,f,i):St(e,n,f,i)}}(t,e)},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 zt(this)}function kt(e){if(!(this instanceof kt||this instanceof Ct))return new kt(e);this._writableState=new mt(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev)),ve.call(this)}function Et(e,t,n,r,i,c,f){t.writelen=r,t.writecb=f,t.writing=!0,t.sync=!0,n?e._writev(i,t.onwrite):e._write(i,c,t.onwrite),t.sync=!1}function St(e,t,n,r){var i,c;n||(i=e,0===(c=t).length&&c.needDrain&&(c.needDrain=!1,i.emit("drain"))),t.pendingcb--,r(),Bt(e,t)}function xt(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var r=t.bufferedRequestCount,i=new Array(r),c=t.corkedRequestsFree;c.entry=n;for(var f=0;n;)i[f]=n,n=n.next,f+=1;Et(e,t,!0,t.length,i,"",c.finish),t.pendingcb++,t.lastBufferedRequest=null,c.next?(t.corkedRequestsFree=c.next,c.next=null):t.corkedRequestsFree=new zt(t)}else{for(;n;){var D=n.chunk,K=n.encoding,ee=n.callback;if(Et(e,t,!1,t.objectMode?1:D.length,D,K,ee),n=n.next,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequestCount=0,t.bufferedRequest=n,t.bufferProcessing=!1}function Rt(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function At(e,t){t.prefinished||(t.prefinished=!0,e.emit("prefinish"))}function Bt(e,t){var n=Rt(t);return n&&(0===t.pendingcb?(At(e,t),t.finished=!0,e.emit("finish")):At(e,t)),n}function zt(e){var t=this;this.next=null,this.entry=null,this.finish=function(n){var r=t.entry;for(t.entry=null;r;){var i=r.callback;e.pendingcb--,i(n),r=r.next}e.corkedRequestsFree?e.corkedRequestsFree.next=t:e.corkedRequestsFree=t}}ot.prototype.read=function(e){nn("read",e),e=parseInt(e,10);var t=this._readableState,n=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return nn("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?gt(this):lt(this),null;if(0===(e=ht(e,t))&&t.ended)return 0===t.length&&gt(this),null;var r,i=t.needReadable;return nn("need readable",i),(0===t.length||t.length-e<t.highWaterMark)&&nn("length less than watermark",i=!0),t.ended||t.reading?nn("reading or ended",i=!1):i&&(nn("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=ht(n,t))),null===(r=e>0?_t(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&gt(this)),null!==r&&this.emit("data",r),r},ot.prototype._read=function(e){this.emit("error",new Error("not implemented"))},ot.prototype.pipe=function(e,t){var n=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=e;break;case 1:r.pipes=[r.pipes,e];break;default:r.pipes.push(e)}r.pipesCount+=1,nn("pipe count=%d opts=%j",r.pipesCount,t);var i=t&&!1===t.end?l2:a2;function o2(e){nn("onunpipe"),e===n&&l2()}function a2(){nn("onend"),e.end()}r.endEmitted?de(i):n.once("end",i),e.on("unpipe",o2);var c=(f=n,function(){var e=f._readableState;nn("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&f.listeners("data").length&&(e.flowing=!0,pt(f))}),f;e.on("drain",c);var D=!1;function l2(){nn("cleanup"),e.removeListener("close",d2),e.removeListener("finish",p2),e.removeListener("drain",c),e.removeListener("error",u2),e.removeListener("unpipe",o2),n.removeListener("end",a2),n.removeListener("end",l2),n.removeListener("data",c2),D=!0,!r.awaitDrain||e._writableState&&!e._writableState.needDrain||c()}var K=!1;function c2(t){nn("ondata"),K=!1,!1!==e.write(t)||K||((1===r.pipesCount&&r.pipes===e||r.pipesCount>1&&-1!==wt(r.pipes,e))&&!D&&(nn("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,K=!0),n.pause())}function u2(t){var n;nn("onerror",t),_2(),e.removeListener("error",u2),0===(n="error",e.listeners(n).length)&&e.emit("error",t)}function d2(){e.removeListener("finish",p2),_2()}function p2(){nn("onfinish"),e.removeListener("close",d2),_2()}function _2(){nn("unpipe"),n.unpipe(e)}return n.on("data",c2),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,"error",u2),e.once("close",d2),e.once("finish",p2),e.emit("pipe",n),r.flowing||(nn("pipe resume"),n.resume()),e},ot.prototype.unpipe=function(e){var t=this._readableState;if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this)),this;if(!e){var n=t.pipes,r=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var i=0;i<r;i++)n[i].emit("unpipe",this);return this}var c=wt(t.pipes,e);return-1===c||(t.pipes.splice(c,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this)),this},ot.prototype.on=function(e,t){var n=ve.prototype.on.call(this,e,t);if("data"===e)!1!==this._readableState.flowing&&this.resume();else if("readable"===e){var r=this._readableState;r.endEmitted||r.readableListening||(r.readableListening=r.needReadable=!0,r.emittedReadable=!1,r.reading?r.length&&lt(this):de(ut,this))}return n},ot.prototype.addListener=ot.prototype.on,ot.prototype.resume=function(){var e=this._readableState,t,n;return e.flowing||(nn("resume"),e.flowing=!0,t=this,(n=e).resumeScheduled||(n.resumeScheduled=!0,de(dt,t,n))),this},ot.prototype.pause=function(){return nn("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(nn("pause"),this._readableState.flowing=!1,this.emit("pause")),this},ot.prototype.wrap=function(e){var t=this._readableState,n=!1,r=this;for(var i in e.on("end",function(){if(nn("wrapped end"),t.decoder&&!t.ended){var e=t.decoder.end();e&&e.length&&r.push(e)}r.push(null)}),e.on("data",function(i){nn("wrapped data"),t.decoder&&(i=t.decoder.write(i)),t.objectMode&&null==i||(t.objectMode||i&&i.length)&&(r.push(i)||(n=!0,e.pause()))}),e)void 0===this[i]&&"function"==typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));return function(e,t){for(var n=0,r=e.length;n<r;n++)t(e[n],n)}(["error","close","destroy","pause","resume"],function(t){e.on(t,r.emit.bind(r,t))}),r._read=function(t){nn("wrapped _read",t),n&&(n=!1,e.resume())},r},ot._fromList=_t,kt.WritableState=mt,Xt(kt,ve),mt.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},kt.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},kt.prototype.write=function(e,t,n){var r=this._writableState,i=!1,c,f,D;return"function"==typeof t&&(n=t,t=null),p.isBuffer(e)?t="buffer":t||(t=r.defaultEncoding),"function"!=typeof n&&(n=bt),r.ended?(c=this,f=n,D=new Error("write after end"),c.emit("error",D),de(f,D)):function(e,t,n,r){var i=!0,c=!1;return null===n?c=new TypeError("May not write null values to stream"):p.isBuffer(n)||"string"==typeof n||void 0===n||t.objectMode||(c=new TypeError("Invalid non-string/buffer chunk")),c&&(e.emit("error",c),de(r,c),i=!1),i}(this,r,e,n)&&(r.pendingcb++,i=function(e,t,n,r,i){var c,f,D;f=n,D=r,(c=t).objectMode||!1===c.decodeStrings||"string"!=typeof f||(f=p.from(f,D)),n=f,p.isBuffer(n)&&(r="buffer");var K=t.objectMode?1:n.length;t.length+=K;var ee=t.length<t.highWaterMark;if(ee||(t.needDrain=!0),t.writing||t.corked){var te=t.lastBufferedRequest;t.lastBufferedRequest=new yt(n,r,i),te?te.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else Et(e,t,!1,K,n,r,i);return ee}(this,r,e,t,n)),i},kt.prototype.cork=function(){this._writableState.corked++},kt.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||xt(this,e))},kt.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},kt.prototype._write=function(e,t,n){n(new Error("not implemented"))},kt.prototype._writev=null,kt.prototype.end=function(e,t,n){var r=this._writableState,i,c,f;"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||(i=this,f=n,(c=r).ending=!0,Bt(i,c),f&&(c.finished?de(f):i.once("finish",f)),c.ended=!0,i.writable=!1)},Xt(Ct,ot);for(var on=Object.keys(kt.prototype),an=0;an<on.length;an++){var hn=on[an];Ct.prototype[hn]||(Ct.prototype[hn]=kt.prototype[hn])}function Ct(e){if(!(this instanceof Ct))return new Ct(e);ot.call(this,e),kt.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",Dt)}function Dt(){this.allowHalfOpen||this._writableState.ended||de(It,this)}function It(e){e.end()}function Pt(e){this.afterTransform=function(t,n){return function(e,t,n){var r=e._transformState;r.transforming=!1;var i=r.writecb;if(!i)return e.emit("error",new Error("no writecb in Transform class"));r.writechunk=null,r.writecb=null,null!=n&&e.push(n),i(t);var c=e._readableState;c.reading=!1,(c.needReadable||c.length<c.highWaterMark)&&e._read(c.highWaterMark)}(e,t,n)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null,this.writeencoding=null}function Ot(e){if(!(this instanceof Ot))return new Ot(e);Ct.call(this,e),this._transformState=new Pt(this);var t=this;this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush&&(this._flush=e.flush)),this.once("prefinish",function(){"function"==typeof this._flush?this._flush(function(e){Ut(t,e)}):Ut(t)})}function Ut(e,t){if(t)return e.emit("error",t);var n=e._writableState,r=e._transformState;if(n.length)throw new Error("Calling transform done when ws.length != 0");if(r.transforming)throw new Error("Calling transform done when still transforming");return e.push(null)}function Ht(e){if(!(this instanceof Ht))return new Ht(e);Ot.call(this,e)}function Ft(){ve.call(this)}Xt(Ot,Ct),Ot.prototype.push=function(e,t){return this._transformState.needTransform=!1,Ct.prototype.push.call(this,e,t)},Ot.prototype._transform=function(e,t,n){throw new Error("Not implemented")},Ot.prototype._write=function(e,t,n){var r=this._transformState;if(r.writecb=n,r.writechunk=e,r.writeencoding=t,!r.transforming){var i=this._readableState;(r.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},Ot.prototype._read=function(e){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0},Xt(Ht,Ot),Ht.prototype._transform=function(e,t,n){n(null,e)},Xt(Ft,ve),Ft.Readable=ot,Ft.Writable=kt,Ft.Duplex=Ct,Ft.Transform=Ot,Ft.PassThrough=Ht,Ft.Stream=Ft,Ft.prototype.pipe=function(e,t){var n=this;function n2(t){e.writable&&!1===e.write(t)&&n.pause&&n.pause()}function i2(){n.readable&&n.resume&&n.resume()}n.on("data",n2),e.on("drain",i2),e._isStdio||t&&!1===t.end||(n.on("end",a2),n.on("close",s2));var r=!1;function a2(){r||(r=!0,e.end())}function s2(){r||(r=!0,"function"==typeof e.destroy&&e.destroy())}function h2(e){if(l2(),0===ve.listenerCount(this,"error"))throw e}function l2(){n.removeListener("data",n2),e.removeListener("drain",i2),n.removeListener("end",a2),n.removeListener("close",s2),n.removeListener("error",h2),e.removeListener("error",h2),n.removeListener("end",l2),n.removeListener("close",l2),e.removeListener("close",l2)}return n.on("error",h2),e.on("error",h2),n.on("end",l2),n.on("close",l2),e.on("close",l2),e.emit("pipe",n),e};var cn={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 Zt(){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 jt(e,t,n,r,i){if(t.subarray&&e.subarray)e.set(t.subarray(n,n+r),i);else for(var c=0;c<r;c++)e[i+c]=t[n+c]}var ln=Uint8Array,un=Uint16Array,fn=Int32Array,dn=4,pn=0,gn=1,mn=2;function $t(e){for(var t=e.length;--t>=0;)e[t]=0}var wn=0,vn=1,_n=2,bn=29,yn=256,kn=286,En=30,Sn=19,xn=573,An=15,Rn=16,Tn=7,In=256,Cn=16,Bn=17,Ln=18,Mn=[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],Pn=[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],Dn=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],zn=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],On=new Array(576);$t(On);var Un=new Array(60);$t(Un);var er=new Array(512);$t(er);var tr=new Array(256);$t(tr);var nr=new Array(bn);$t(nr);var rr,ir,sr,or=new Array(En);function Ar(e,t,n,r,i){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=i,this.has_stree=e&&e.length}function Br(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function zr(e){return e<256?er[e]:er[256+(e>>>7)]}function Lr(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function Tr(e,t,n){e.bi_valid>Rn-n?(e.bi_buf|=t<<e.bi_valid&65535,Lr(e,e.bi_buf),e.bi_buf=t>>Rn-e.bi_valid,e.bi_valid+=n-Rn):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)}function Mr(e,t,n){Tr(e,n[2*t],n[2*t+1])}function Cr(e,t){var n=0;do{n|=1&e,e>>>=1,n<<=1}while(--t>0);return n>>>1}function Dr(e,t,n){var r,i,c=new Array(16),f=0;for(r=1;r<=An;r++)c[r]=f=f+n[r-1]<<1;for(i=0;i<=t;i++){var D=e[2*i+1];0!==D&&(e[2*i]=Cr(c[D]++,D))}}function Ir(e){var t;for(t=0;t<kn;t++)e.dyn_ltree[2*t]=0;for(t=0;t<En;t++)e.dyn_dtree[2*t]=0;for(t=0;t<Sn;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function Pr(e){e.bi_valid>8?Lr(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 Or(e,t,n,r){var i=2*t,c=2*n;return e[i]<e[c]||e[i]===e[c]&&r[t]<=r[n]}function Ur(e,t,n){for(var r=e.heap[n],i=n<<1;i<=e.heap_len&&(i<e.heap_len&&Or(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!Or(t,r,e.heap[i],e.depth));)e.heap[n]=e.heap[i],n=i,i<<=1;e.heap[n]=r}function Hr(e,t,n){var r,i,c,f,D=0;if(0!==e.last_lit)do{r=e.pending_buf[e.d_buf+2*D]<<8|e.pending_buf[e.d_buf+2*D+1],i=e.pending_buf[e.l_buf+D],D++,0===r?Mr(e,i,t):(Mr(e,(c=tr[i])+yn+1,t),0!==(f=Mn[c])&&Tr(e,i-=nr[c],f),Mr(e,c=zr(--r),n),0!==(f=Pn[c])&&Tr(e,r-=or[c],f))}while(D<e.last_lit);Mr(e,In,t)}function Fr(e,t){var n,r,i,c=t.dyn_tree,f=t.stat_desc.static_tree,D=t.stat_desc.has_stree,K=t.stat_desc.elems,ee=-1;for(e.heap_len=0,e.heap_max=xn,n=0;n<K;n++)0!==c[2*n]?(e.heap[++e.heap_len]=ee=n,e.depth[n]=0):c[2*n+1]=0;for(;e.heap_len<2;)c[2*(i=e.heap[++e.heap_len]=ee<2?++ee:0)]=1,e.depth[i]=0,e.opt_len--,D&&(e.static_len-=f[2*i+1]);for(t.max_code=ee,n=e.heap_len>>1;n>=1;n--)Ur(e,c,n);i=K;do{n=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Ur(e,c,1),r=e.heap[1],e.heap[--e.heap_max]=n,e.heap[--e.heap_max]=r,c[2*i]=c[2*n]+c[2*r],e.depth[i]=(e.depth[n]>=e.depth[r]?e.depth[n]:e.depth[r])+1,c[2*n+1]=c[2*r+1]=i,e.heap[1]=i++,Ur(e,c,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var n,r,i,c,f,D,K=t.dyn_tree,ee=t.max_code,te=t.stat_desc.static_tree,ie=t.stat_desc.has_stree,se=t.stat_desc.extra_bits,oe=t.stat_desc.extra_base,he=t.stat_desc.max_length,le=0;for(c=0;c<=An;c++)e.bl_count[c]=0;for(K[2*e.heap[e.heap_max]+1]=0,n=e.heap_max+1;n<xn;n++)(c=K[2*K[2*(r=e.heap[n])+1]+1]+1)>he&&(c=he,le++),K[2*r+1]=c,r>ee||(e.bl_count[c]++,f=0,r>=oe&&(f=se[r-oe]),D=K[2*r],e.opt_len+=D*(c+f),ie&&(e.static_len+=D*(te[2*r+1]+f)));if(0!==le){do{for(c=he-1;0===e.bl_count[c];)c--;e.bl_count[c]--,e.bl_count[c+1]+=2,e.bl_count[he]--,le-=2}while(le>0);for(c=he;0!==c;c--)for(r=e.bl_count[c];0!==r;)(i=e.heap[--n])>ee||(K[2*i+1]!==c&&(e.opt_len+=(c-K[2*i+1])*K[2*i],K[2*i+1]=c),r--)}}(e,t),Dr(c,ee,e.bl_count)}function Nr(e,t,n){var r,i,c=-1,f=t[1],D=0,K=7,ee=4;for(0===f&&(K=138,ee=3),t[2*(n+1)+1]=65535,r=0;r<=n;r++)i=f,f=t[2*(r+1)+1],++D<K&&i===f||(D<ee?e.bl_tree[2*i]+=D:0!==i?(i!==c&&e.bl_tree[2*i]++,e.bl_tree[32]++):D<=10?e.bl_tree[34]++:e.bl_tree[36]++,D=0,c=i,0===f?(K=138,ee=3):i===f?(K=6,ee=3):(K=7,ee=4))}function Zr(e,t,n){var r,i,c=-1,f=t[1],D=0,K=7,ee=4;for(0===f&&(K=138,ee=3),r=0;r<=n;r++)if(i=f,f=t[2*(r+1)+1],!(++D<K&&i===f)){if(D<ee)do{Mr(e,i,e.bl_tree)}while(0!=--D);else 0!==i?(i!==c&&(Mr(e,i,e.bl_tree),D--),Mr(e,Cn,e.bl_tree),Tr(e,D-3,2)):D<=10?(Mr(e,Bn,e.bl_tree),Tr(e,D-3,3)):(Mr(e,Ln,e.bl_tree),Tr(e,D-11,7));D=0,c=i,0===f?(K=138,ee=3):i===f?(K=6,ee=3):(K=7,ee=4)}}$t(or);var ar=!1;function Wr(e){ar||(function(){var e,t,n,r,i,c=new Array(16);for(n=0,r=0;r<28;r++)for(nr[r]=n,e=0;e<1<<Mn[r];e++)tr[n++]=r;for(tr[n-1]=r,i=0,r=0;r<16;r++)for(or[r]=i,e=0;e<1<<Pn[r];e++)er[i++]=r;for(i>>=7;r<En;r++)for(or[r]=i<<7,e=0;e<1<<Pn[r]-7;e++)er[256+i++]=r;for(t=0;t<=An;t++)c[t]=0;for(e=0;e<=143;)On[2*e+1]=8,e++,c[8]++;for(;e<=255;)On[2*e+1]=9,e++,c[9]++;for(;e<=279;)On[2*e+1]=7,e++,c[7]++;for(;e<=287;)On[2*e+1]=8,e++,c[8]++;for(Dr(On,287,c),e=0;e<En;e++)Un[2*e+1]=5,Un[2*e]=Cr(e,5);rr=new Ar(On,Mn,257,kn,An),ir=new Ar(Un,Pn,0,En,An),sr=new Ar(new Array(0),Dn,0,Sn,7)}(),ar=!0),e.l_desc=new Br(e.dyn_ltree,rr),e.d_desc=new Br(e.dyn_dtree,ir),e.bl_desc=new Br(e.bl_tree,sr),e.bi_buf=0,e.bi_valid=0,Ir(e)}function Yr(e,t,n,r){var i,c,f,D;Tr(e,0+(r?1:0),3),c=t,f=n,D=!0,Pr(i=e),Lr(i,f),Lr(i,~f),jt(i.pending_buf,i.window,c,f,i.pending),i.pending+=f}function Kr(e){var t;Tr(e,2,3),Mr(e,In,On),16===(t=e).bi_valid?(Lr(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}function Xr(e,t,n,r){var i,c,f=0;e.level>0?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,n=4093624447;for(t=0;t<=31;t++,n>>>=1)if(1&n&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<yn;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0}(e)),Fr(e,e.l_desc),Fr(e,e.d_desc),f=function(e){var t;for(Nr(e,e.dyn_ltree,e.l_desc.max_code),Nr(e,e.dyn_dtree,e.d_desc.max_code),Fr(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*zn[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,(c=e.static_len+3+7>>>3)<=i&&(i=c)):i=c=n+5,n+4<=i&&-1!==t?Yr(e,t,n,r):4===e.strategy||c===i?(Tr(e,2+(r?1:0),3),Hr(e,On,Un)):(Tr(e,4+(r?1:0),3),function(e,t,n,r){var i;for(Tr(e,t-257,5),Tr(e,n-1,5),Tr(e,r-4,4),i=0;i<r;i++)Tr(e,e.bl_tree[2*zn[i]+1],3);Zr(e,e.dyn_ltree,t-1),Zr(e,e.dyn_dtree,n-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,f+1),Hr(e,e.dyn_ltree,e.dyn_dtree)),Ir(e),r&&Pr(e)}function qr(e,t,n){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&n,e.last_lit++,0===t?e.dyn_ltree[2*n]++:(e.matches++,t--,e.dyn_ltree[2*(tr[n]+yn+1)]++,e.dyn_dtree[2*zr(t)]++),e.last_lit===e.lit_bufsize-1}function Vr(e,t,n,r){for(var i=65535&e,c=e>>>16&65535,f=0;0!==n;){n-=f=n>2e3?2e3:n;do{c=c+(i=i+t[r++]|0)|0}while(--f);i%=65521,c%=65521}return i|c<<16}var hr=function(){for(var e,t=[],n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t}();function $r(e,t,n,r){var i=hr,c=r+n;e^=-1;for(var f=r;f<c;f++)e=e>>>8^i[255&(e^t[f])];return-1^e}var cr,lr=0,ur=1,fr=3,dr=4,pr=5,gr=0,mr=1,wr=-2,vr=-3,_r=-5,br=-1,yr=1,kr=2,Er=3,Sr=4,xr=2,Rr=8,jr=9,Gr=286,Qr=30,Jr=19,ei=573,ti=15,ni=3,ii=258,si=262,oi=32,ai=42,hi=69,ci=73,li=91,ui=103,fi=113,pi=666,gi=1,mi=2,wi=3,vi=4,_i=3;function Hn(e,t){return e.msg=cn[t],t}function Fn(e){return(e<<1)-(e>4?9:0)}function Nn(e){for(var t=e.length;--t>=0;)e[t]=0}function Zn(e){var t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),0!==n&&(jt(e.output,t.pending_buf,t.pending_out,n,e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,0===t.pending&&(t.pending_out=0))}function jn(e,t){Xr(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,Zn(e.strm)}function Wn(e,t){e.pending_buf[e.pending++]=t}function Yn(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function Kn(e,t){var n,r,i=e.max_chain_length,c=e.strstart,f=e.prev_length,D=e.nice_match,K=e.strstart>e.w_size-si?e.strstart-(e.w_size-si):0,ee=e.window,te=e.w_mask,ie=e.prev,se=e.strstart+ii,oe=ee[c+f-1],he=ee[c+f];e.prev_length>=e.good_match&&(i>>=2),D>e.lookahead&&(D=e.lookahead);do{if(ee[(n=t)+f]===he&&ee[n+f-1]===oe&&ee[n]===ee[c]&&ee[++n]===ee[c+1]){c+=2,n++;do{}while(ee[++c]===ee[++n]&&ee[++c]===ee[++n]&&ee[++c]===ee[++n]&&ee[++c]===ee[++n]&&ee[++c]===ee[++n]&&ee[++c]===ee[++n]&&ee[++c]===ee[++n]&&ee[++c]===ee[++n]&&c<se);if(r=ii-(se-c),c=se-ii,r>f){if(e.match_start=t,f=r,r>=D)break;oe=ee[c+f-1],he=ee[c+f]}}}while((t=ie[t&te])>K&&0!=--i);return f<=e.lookahead?f:e.lookahead}function Xn(e){var t,n,r,i,c,f,D,K,ee,te,ie=e.w_size;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=ie+(ie-si)){jt(e.window,e.window,ie,ie,0),e.match_start-=ie,e.strstart-=ie,e.block_start-=ie,t=n=e.hash_size;do{r=e.head[--t],e.head[t]=r>=ie?r-ie:0}while(--n);t=n=ie;do{r=e.prev[--t],e.prev[t]=r>=ie?r-ie:0}while(--n);i+=ie}if(0===e.strm.avail_in)break;if(f=e.strm,D=e.window,K=e.strstart+e.lookahead,ee=i,te=void 0,(te=f.avail_in)>ee&&(te=ee),n=0===te?0:(f.avail_in-=te,jt(D,f.input,f.next_in,te,K),1===f.state.wrap?f.adler=Vr(f.adler,D,te,K):2===f.state.wrap&&(f.adler=$r(f.adler,D,te,K)),f.next_in+=te,f.total_in+=te,te),e.lookahead+=n,e.lookahead+e.insert>=3)for(c=e.strstart-e.insert,e.ins_h=e.window[c],e.ins_h=(e.ins_h<<e.hash_shift^e.window[c+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[c+3-1])&e.hash_mask,e.prev[c&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=c,c++,e.insert--,!(e.lookahead+e.insert<3)););}while(e.lookahead<si&&0!==e.strm.avail_in)}function qn(e,t){for(var n,r;;){if(e.lookahead<si){if(Xn(e),e.lookahead<si&&0===t)return 1;if(0===e.lookahead)break}if(n=0,e.lookahead>=3&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==n&&e.strstart-n<=e.w_size-si&&(e.match_length=Kn(e,n)),e.match_length>=3)if(r=qr(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!=--e.match_length);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 r=qr(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(r&&(jn(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<2?e.strstart:2,4===t?(jn(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(jn(e,!1),0===e.strm.avail_out)?1:2}function Vn(e,t){for(var n,r,i;;){if(e.lookahead<si){if(Xn(e),e.lookahead<si&&0===t)return 1;if(0===e.lookahead)break}if(n=0,e.lookahead>=3&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,n=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=2,0!==n&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-si&&(e.match_length=Kn(e,n),e.match_length<=5&&(1===e.strategy||3===e.match_length&&e.strstart-e.match_start>4096)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-3,r=qr(e,e.strstart-1-e.prev_match,e.prev_length-3),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+3-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!=--e.prev_length);if(e.match_available=0,e.match_length=2,e.strstart++,r&&(jn(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if((r=qr(e,0,e.window[e.strstart-1]))&&jn(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(r=qr(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<2?e.strstart:2,4===t?(jn(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(jn(e,!1),0===e.strm.avail_out)?1:2}function Gn(e,t,n,r,i){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=r,this.func=i}function $n(){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=8,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 un(1146),this.dyn_dtree=new un(122),this.bl_tree=new un(78),Nn(this.dyn_ltree),Nn(this.dyn_dtree),Nn(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new un(16),this.heap=new un(573),Nn(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new un(573),Nn(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 Jn(e){var t,n=(r=e)&&r.state?(r.total_in=r.total_out=0,r.data_type=2,(i=r.state).pending=0,i.pending_out=0,i.wrap<0&&(i.wrap=-i.wrap),i.status=i.wrap?ai:fi,r.adler=2===i.wrap?0:1,i.last_flush=0,Wr(i),0):Hn(r,wr),r,i;return 0===n&&((t=e.state).window_size=2*t.w_size,Nn(t.head),t.max_lazy_match=cr[t.level].max_lazy,t.good_match=cr[t.level].good_length,t.nice_match=cr[t.level].nice_length,t.max_chain_length=cr[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=2,t.match_available=0,t.ins_h=0),n}function Qn(e,t){var n,r,i,c;if(!e||!e.state||t>5||t<0)return e?Hn(e,wr):wr;if(r=e.state,!e.output||!e.input&&0!==e.avail_in||r.status===pi&&4!==t)return Hn(e,0===e.avail_out?_r:wr);if(r.strm=e,n=r.last_flush,r.last_flush=t,r.status===ai)if(2===r.wrap)e.adler=0,Wn(r,31),Wn(r,139),Wn(r,8),r.gzhead?(Wn(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),Wn(r,255&r.gzhead.time),Wn(r,r.gzhead.time>>8&255),Wn(r,r.gzhead.time>>16&255),Wn(r,r.gzhead.time>>24&255),Wn(r,9===r.level?2:r.strategy>=2||r.level<2?4:0),Wn(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(Wn(r,255&r.gzhead.extra.length),Wn(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(e.adler=$r(e.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=hi):(Wn(r,0),Wn(r,0),Wn(r,0),Wn(r,0),Wn(r,0),Wn(r,9===r.level?2:r.strategy>=2||r.level<2?4:0),Wn(r,3),r.status=fi);else{var f=8+(r.w_bits-8<<4)<<8;f|=(r.strategy>=2||r.level<2?0:r.level<6?1:6===r.level?2:3)<<6,0!==r.strstart&&(f|=oi),f+=31-f%31,r.status=fi,Yn(r,f),0!==r.strstart&&(Yn(r,e.adler>>>16),Yn(r,65535&e.adler)),e.adler=1}if(r.status===hi)if(r.gzhead.extra){for(i=r.pending;r.gzindex<(65535&r.gzhead.extra.length)&&(r.pending!==r.pending_buf_size||(r.gzhead.hcrc&&r.pending>i&&(e.adler=$r(e.adler,r.pending_buf,r.pending-i,i)),Zn(e),i=r.pending,r.pending!==r.pending_buf_size));)Wn(r,255&r.gzhead.extra[r.gzindex]),r.gzindex++;r.gzhead.hcrc&&r.pending>i&&(e.adler=$r(e.adler,r.pending_buf,r.pending-i,i)),r.gzindex===r.gzhead.extra.length&&(r.gzindex=0,r.status=ci)}else r.status=ci;if(r.status===ci)if(r.gzhead.name){i=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>i&&(e.adler=$r(e.adler,r.pending_buf,r.pending-i,i)),Zn(e),i=r.pending,r.pending===r.pending_buf_size)){c=1;break}c=r.gzindex<r.gzhead.name.length?255&r.gzhead.name.charCodeAt(r.gzindex++):0,Wn(r,c)}while(0!==c);r.gzhead.hcrc&&r.pending>i&&(e.adler=$r(e.adler,r.pending_buf,r.pending-i,i)),0===c&&(r.gzindex=0,r.status=li)}else r.status=li;if(r.status===li)if(r.gzhead.comment){i=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>i&&(e.adler=$r(e.adler,r.pending_buf,r.pending-i,i)),Zn(e),i=r.pending,r.pending===r.pending_buf_size)){c=1;break}c=r.gzindex<r.gzhead.comment.length?255&r.gzhead.comment.charCodeAt(r.gzindex++):0,Wn(r,c)}while(0!==c);r.gzhead.hcrc&&r.pending>i&&(e.adler=$r(e.adler,r.pending_buf,r.pending-i,i)),0===c&&(r.status=ui)}else r.status=ui;if(r.status===ui&&(r.gzhead.hcrc?(r.pending+2>r.pending_buf_size&&Zn(e),r.pending+2<=r.pending_buf_size&&(Wn(r,255&e.adler),Wn(r,e.adler>>8&255),e.adler=0,r.status=fi)):r.status=fi),0!==r.pending){if(Zn(e),0===e.avail_out)return r.last_flush=-1,0}else if(0===e.avail_in&&Fn(t)<=Fn(n)&&4!==t)return Hn(e,_r);if(r.status===pi&&0!==e.avail_in)return Hn(e,_r);if(0!==e.avail_in||0!==r.lookahead||0!==t&&r.status!==pi){var D=2===r.strategy?function(e,t){for(var n;;){if(0===e.lookahead&&(Xn(e),0===e.lookahead)){if(0===t)return 1;break}if(e.match_length=0,n=qr(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(jn(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(jn(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(jn(e,!1),0===e.strm.avail_out)?1:2}(r,t):3===r.strategy?function(e,t){for(var n,r,i,c,f=e.window;;){if(e.lookahead<=ii){if(Xn(e),e.lookahead<=ii&&0===t)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=3&&e.strstart>0&&(r=f[i=e.strstart-1])===f[++i]&&r===f[++i]&&r===f[++i]){c=e.strstart+ii;do{}while(r===f[++i]&&r===f[++i]&&r===f[++i]&&r===f[++i]&&r===f[++i]&&r===f[++i]&&r===f[++i]&&r===f[++i]&&i<c);e.match_length=ii-(c-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=3?(n=qr(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=qr(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(jn(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(jn(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(jn(e,!1),0===e.strm.avail_out)?1:2}(r,t):cr[r.level].func(r,t);if(3!==D&&4!==D||(r.status=pi),1===D||3===D)return 0===e.avail_out&&(r.last_flush=-1),0;if(2===D&&(1===t?Kr(r):5!==t&&(Yr(r,0,0,!1),3===t&&(Nn(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),Zn(e),0===e.avail_out))return r.last_flush=-1,0}return 4!==t?0:r.wrap<=0?1:(2===r.wrap?(Wn(r,255&e.adler),Wn(r,e.adler>>8&255),Wn(r,e.adler>>16&255),Wn(r,e.adler>>24&255),Wn(r,255&e.total_in),Wn(r,e.total_in>>8&255),Wn(r,e.total_in>>16&255),Wn(r,e.total_in>>24&255)):(Yn(r,e.adler>>>16),Yn(r,65535&e.adler)),Zn(e),r.wrap>0&&(r.wrap=-r.wrap),0!==r.pending?0:1)}cr=[new Gn(0,0,0,0,function(e,t){var n=65535;for(n>e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(Xn(e),0===e.lookahead&&0===t)return 1;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var r=e.block_start+n;if((0===e.strstart||e.strstart>=r)&&(e.lookahead=e.strstart-r,e.strstart=r,jn(e,!1),0===e.strm.avail_out))return 1;if(e.strstart-e.block_start>=e.w_size-si&&(jn(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(jn(e,!0),0===e.strm.avail_out?3:4):(e.strstart>e.block_start&&(jn(e,!1),e.strm.avail_out),1)}),new Gn(4,4,8,4,qn),new Gn(4,5,16,8,qn),new Gn(4,6,32,32,qn),new Gn(4,4,16,16,Vn),new Gn(8,16,32,32,Vn),new Gn(8,16,128,128,Vn),new Gn(8,32,128,256,Vn),new Gn(32,128,258,1024,Vn),new Gn(32,258,258,4096,Vn)];var bi=30,yi=12;function ri(e,t){var n,r,i,c,f,D,K,ee,te,ie,se,oe,he,le,fe,_e,Ce,Be,Me,ze,Je,nt,st,Tt,Lt;n=e.state,r=e.next_in,Tt=e.input,i=r+(e.avail_in-5),c=e.next_out,Lt=e.output,f=c-(t-e.avail_out),D=c+(e.avail_out-257),K=n.dmax,ee=n.wsize,te=n.whave,ie=n.wnext,se=n.window,oe=n.hold,he=n.bits,le=n.lencode,fe=n.distcode,_e=(1<<n.lenbits)-1,Ce=(1<<n.distbits)-1;e:do{he<15&&(oe+=Tt[r++]<<he,he+=8,oe+=Tt[r++]<<he,he+=8),Be=le[oe&_e];t:for(;;){if(oe>>>=Me=Be>>>24,he-=Me,0==(Me=Be>>>16&255))Lt[c++]=65535&Be;else{if(!(16&Me)){if(!(64&Me)){Be=le[(65535&Be)+(oe&(1<<Me)-1)];continue t}if(32&Me){n.mode=yi;break e}e.msg="invalid literal/length code",n.mode=bi;break e}ze=65535&Be,(Me&=15)&&(he<Me&&(oe+=Tt[r++]<<he,he+=8),ze+=oe&(1<<Me)-1,oe>>>=Me,he-=Me),he<15&&(oe+=Tt[r++]<<he,he+=8,oe+=Tt[r++]<<he,he+=8),Be=fe[oe&Ce];n:for(;;){if(oe>>>=Me=Be>>>24,he-=Me,!(16&(Me=Be>>>16&255))){if(!(64&Me)){Be=fe[(65535&Be)+(oe&(1<<Me)-1)];continue n}e.msg="invalid distance code",n.mode=bi;break e}if(Je=65535&Be,he<(Me&=15)&&(oe+=Tt[r++]<<he,(he+=8)<Me&&(oe+=Tt[r++]<<he,he+=8)),(Je+=oe&(1<<Me)-1)>K){e.msg="invalid distance too far back",n.mode=bi;break e}if(oe>>>=Me,he-=Me,Je>(Me=c-f)){if((Me=Je-Me)>te&&n.sane){e.msg="invalid distance too far back",n.mode=bi;break e}if(nt=0,st=se,0===ie){if(nt+=ee-Me,Me<ze){ze-=Me;do{Lt[c++]=se[nt++]}while(--Me);nt=c-Je,st=Lt}}else if(ie<Me){if(nt+=ee+ie-Me,(Me-=ie)<ze){ze-=Me;do{Lt[c++]=se[nt++]}while(--Me);if(nt=0,ie<ze){ze-=Me=ie;do{Lt[c++]=se[nt++]}while(--Me);nt=c-Je,st=Lt}}}else if(nt+=ie-Me,Me<ze){ze-=Me;do{Lt[c++]=se[nt++]}while(--Me);nt=c-Je,st=Lt}for(;ze>2;)Lt[c++]=st[nt++],Lt[c++]=st[nt++],Lt[c++]=st[nt++],ze-=3;ze&&(Lt[c++]=st[nt++],ze>1&&(Lt[c++]=st[nt++]))}else{nt=c-Je;do{Lt[c++]=Lt[nt++],Lt[c++]=Lt[nt++],Lt[c++]=Lt[nt++],ze-=3}while(ze>2);ze&&(Lt[c++]=Lt[nt++],ze>1&&(Lt[c++]=Lt[nt++]))}break}}break}}while(r<i&&c<D);r-=ze=he>>3,oe&=(1<<(he-=ze<<3))-1,e.next_in=r,e.next_out=c,e.avail_in=r<i?i-r+5:5-(r-i),e.avail_out=c<D?D-c+257:257-(c-D),n.hold=oe,n.bits=he}var ki=15,Ei=852,Si=592,xi=0,Ai=1,Ri=2,Ti=[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],Ii=[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],Ci=[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],Bi=[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 di(e,t,n,r,i,c,f,D){var K,ee,te,ie,se,oe,he,le,fe,_e=D.bits,Ce=0,Be=0,Me=0,ze=0,Je=0,nt=0,st=0,Tt=0,Lt=0,Mt=0,Nt=null,Wt=0,Vt=new un(16),Kt=new un(16),qt=null,Yt=0;for(Ce=0;Ce<=ki;Ce++)Vt[Ce]=0;for(Be=0;Be<r;Be++)Vt[t[n+Be]]++;for(Je=_e,ze=ki;ze>=1&&0===Vt[ze];ze--);if(Je>ze&&(Je=ze),0===ze)return i[c++]=20971520,i[c++]=20971520,D.bits=1,0;for(Me=1;Me<ze&&0===Vt[Me];Me++);for(Je<Me&&(Je=Me),Tt=1,Ce=1;Ce<=ki;Ce++)if(Tt<<=1,(Tt-=Vt[Ce])<0)return-1;if(Tt>0&&(0===e||1!==ze))return-1;for(Kt[1]=0,Ce=1;Ce<ki;Ce++)Kt[Ce+1]=Kt[Ce]+Vt[Ce];for(Be=0;Be<r;Be++)0!==t[n+Be]&&(f[Kt[t[n+Be]]++]=Be);if(0===e?(Nt=qt=f,oe=19):1===e?(Nt=Ti,Wt-=257,qt=Ii,Yt-=257,oe=256):(Nt=Ci,qt=Bi,oe=-1),Mt=0,Be=0,Ce=Me,se=c,nt=Je,st=0,te=-1,ie=(Lt=1<<Je)-1,1===e&&Lt>Ei||2===e&&Lt>Si)return 1;for(;;){he=Ce-st,f[Be]<oe?(le=0,fe=f[Be]):f[Be]>oe?(le=qt[Yt+f[Be]],fe=Nt[Wt+f[Be]]):(le=96,fe=0),K=1<<Ce-st,Me=ee=1<<nt;do{i[se+(Mt>>st)+(ee-=K)]=he<<24|le<<16|fe}while(0!==ee);for(K=1<<Ce-1;Mt&K;)K>>=1;if(0!==K?(Mt&=K-1,Mt+=K):Mt=0,Be++,0==--Vt[Ce]){if(Ce===ze)break;Ce=t[n+f[Be]]}if(Ce>Je&&(Mt&ie)!==te){for(0===st&&(st=Je),se+=Me,Tt=1<<(nt=Ce-st);nt+st<ze&&!((Tt-=Vt[nt+st])<=0);)nt++,Tt<<=1;if(Lt+=1<<nt,1===e&&Lt>Ei||2===e&&Lt>Si)return 1;i[te=Mt&ie]=Je<<24|nt<<16|se-c}}return 0!==Mt&&(i[se+Mt]=Ce-st<<24|64<<16),D.bits=Je,0}var Li=0,Mi=1,Pi=2,Di=4,zi=5,Oi=6,Fi=0,Hi=1,Ni=2,Wi=-2,Ui=-3,ji=-4,$i=-5,Zi=8,Vi=1,Ki=2,qi=3,Yi=4,Gi=5,Xi=6,Qi=7,Ji=8,es=9,ts=10,ns=11,rs=12,is=13,ss=14,os=15,as=16,hs=17,cs=18,ls=19,us=20,fs=21,ds=22,ps=23,gs=24,ms=25,ws=26,vs=27,_s=28,bs=29,ys=30,ks=31,Es=32,Ss=852,xs=592;function ho(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function lo(){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 un(320),this.work=new un(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function fo(e){var t,n,r;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,(n=e)&&n.state?(r=n.state,n.total_in=n.total_out=r.total=0,n.msg="",r.wrap&&(n.adler=1&r.wrap),r.mode=1,r.last=0,r.havedict=0,r.dmax=32768,r.head=null,r.hold=0,r.bits=0,r.lencode=r.lendyn=new fn(Ss),r.distcode=r.distdyn=new fn(xs),r.sane=1,r.back=-1,0):Wi):Wi}function co(e,t){var n,r,i,c,f,D;return e?(r=new lo,e.state=r,r.window=null,0!==(c=t,n=(i=e)&&i.state?(D=i.state,c<0?(f=0,c=-c):(f=1+(c>>4),c<48&&(c&=15)),c&&(c<8||c>15)?Wi:(null!==D.window&&D.wbits!==c&&(D.window=null),D.wrap=f,D.wbits=c,fo(i))):Wi)&&(e.state=null),n):Wi}var As,Rs,Ts=!0;function go(e){if(Ts){var t;for(As=new fn(512),Rs=new fn(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(di(1,e.lens,0,288,As,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;di(2,e.lens,0,32,Rs,0,e.work,{bits:5}),Ts=!1}e.lencode=As,e.lenbits=9,e.distcode=Rs,e.distbits=5}function vo(e,t){var n,r,i,c,f,D,K,ee,te,ie,se,oe,he,le,fe,_e,Ce,Be,Me,ze,Je,nt,st,Tt,Lt=0,Mt=new ln(4),Nt=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Wt,Vt,Kt,qt,Yt,Gt;if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return Wi;(n=e.state).mode===rs&&(n.mode=is),f=e.next_out,i=e.output,K=e.avail_out,c=e.next_in,r=e.input,D=e.avail_in,ee=n.hold,te=n.bits,ie=D,se=K,nt=0;e:for(;;)switch(n.mode){case 1:if(0===n.wrap){n.mode=is;break}for(;te<16;){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}if(2&n.wrap&&35615===ee){n.check=0,Mt[0]=255&ee,Mt[1]=ee>>>8&255,n.check=$r(n.check,Mt,2,0),ee=0,te=0,n.mode=2;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&ee)<<8)+(ee>>8))%31){e.msg="incorrect header check",n.mode=ys;break}if(8!=(15&ee)){e.msg="unknown compression method",n.mode=ys;break}if(te-=4,Je=8+(15&(ee>>>=4)),0===n.wbits)n.wbits=Je;else if(Je>n.wbits){e.msg="invalid window size",n.mode=ys;break}n.dmax=1<<Je,e.adler=n.check=1,n.mode=512&ee?ts:rs,ee=0,te=0;break;case 2:for(;te<16;){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}if(n.flags=ee,8!=(255&n.flags)){e.msg="unknown compression method",n.mode=ys;break}if(57344&n.flags){e.msg="unknown header flags set",n.mode=ys;break}n.head&&(n.head.text=ee>>8&1),512&n.flags&&(Mt[0]=255&ee,Mt[1]=ee>>>8&255,n.check=$r(n.check,Mt,2,0)),ee=0,te=0,n.mode=3;case 3:for(;te<32;){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}n.head&&(n.head.time=ee),512&n.flags&&(Mt[0]=255&ee,Mt[1]=ee>>>8&255,Mt[2]=ee>>>16&255,Mt[3]=ee>>>24&255,n.check=$r(n.check,Mt,4,0)),ee=0,te=0,n.mode=4;case 4:for(;te<16;){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}n.head&&(n.head.xflags=255&ee,n.head.os=ee>>8),512&n.flags&&(Mt[0]=255&ee,Mt[1]=ee>>>8&255,n.check=$r(n.check,Mt,2,0)),ee=0,te=0,n.mode=5;case 5:if(1024&n.flags){for(;te<16;){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}n.length=ee,n.head&&(n.head.extra_len=ee),512&n.flags&&(Mt[0]=255&ee,Mt[1]=ee>>>8&255,n.check=$r(n.check,Mt,2,0)),ee=0,te=0}else n.head&&(n.head.extra=null);n.mode=6;case 6:if(1024&n.flags&&((oe=n.length)>D&&(oe=D),oe&&(n.head&&(Je=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),jt(n.head.extra,r,c,oe,Je)),512&n.flags&&(n.check=$r(n.check,r,oe,c)),D-=oe,c+=oe,n.length-=oe),n.length))break e;n.length=0,n.mode=7;case 7:if(2048&n.flags){if(0===D)break e;oe=0;do{Je=r[c+oe++],n.head&&Je&&n.length<65536&&(n.head.name+=String.fromCharCode(Je))}while(Je&&oe<D);if(512&n.flags&&(n.check=$r(n.check,r,oe,c)),D-=oe,c+=oe,Je)break e}else n.head&&(n.head.name=null);n.length=0,n.mode=8;case 8:if(4096&n.flags){if(0===D)break e;oe=0;do{Je=r[c+oe++],n.head&&Je&&n.length<65536&&(n.head.comment+=String.fromCharCode(Je))}while(Je&&oe<D);if(512&n.flags&&(n.check=$r(n.check,r,oe,c)),D-=oe,c+=oe,Je)break e}else n.head&&(n.head.comment=null);n.mode=9;case 9:if(512&n.flags){for(;te<16;){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}if(ee!==(65535&n.check)){e.msg="header crc mismatch",n.mode=ys;break}ee=0,te=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=rs;break;case ts:for(;te<32;){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}e.adler=n.check=ho(ee),ee=0,te=0,n.mode=ns;case ns:if(0===n.havedict)return e.next_out=f,e.avail_out=K,e.next_in=c,e.avail_in=D,n.hold=ee,n.bits=te,2;e.adler=n.check=1,n.mode=rs;case rs:if(5===t||6===t)break e;case is:if(n.last){ee>>>=7&te,te-=7&te,n.mode=vs;break}for(;te<3;){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}switch(n.last=1&ee,te-=1,3&(ee>>>=1)){case 0:n.mode=ss;break;case 1:if(go(n),n.mode=us,6===t){ee>>>=2,te-=2;break e}break;case 2:n.mode=hs;break;case 3:e.msg="invalid block type",n.mode=ys}ee>>>=2,te-=2;break;case ss:for(ee>>>=7&te,te-=7&te;te<32;){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}if((65535&ee)!=(ee>>>16^65535)){e.msg="invalid stored block lengths",n.mode=ys;break}if(n.length=65535&ee,ee=0,te=0,n.mode=os,6===t)break e;case os:n.mode=as;case as:if(oe=n.length){if(oe>D&&(oe=D),oe>K&&(oe=K),0===oe)break e;jt(i,r,c,oe,f),D-=oe,c+=oe,K-=oe,f+=oe,n.length-=oe;break}n.mode=rs;break;case hs:for(;te<14;){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}if(n.nlen=257+(31&ee),ee>>>=5,te-=5,n.ndist=1+(31&ee),ee>>>=5,te-=5,n.ncode=4+(15&ee),ee>>>=4,te-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=ys;break}n.have=0,n.mode=cs;case cs:for(;n.have<n.ncode;){for(;te<3;){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}n.lens[Nt[n.have++]]=7&ee,ee>>>=3,te-=3}for(;n.have<19;)n.lens[Nt[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,st={bits:n.lenbits},nt=di(0,n.lens,0,19,n.lencode,0,n.work,st),n.lenbits=st.bits,nt){e.msg="invalid code lengths set",n.mode=ys;break}n.have=0,n.mode=ls;case ls:for(;n.have<n.nlen+n.ndist;){for(;_e=(Lt=n.lencode[ee&(1<<n.lenbits)-1])>>>16&255,Ce=65535&Lt,!((fe=Lt>>>24)<=te);){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}if(Ce<16)ee>>>=fe,te-=fe,n.lens[n.have++]=Ce;else{if(16===Ce){for(Tt=fe+2;te<Tt;){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}if(ee>>>=fe,te-=fe,0===n.have){e.msg="invalid bit length repeat",n.mode=ys;break}Je=n.lens[n.have-1],oe=3+(3&ee),ee>>>=2,te-=2}else if(17===Ce){for(Tt=fe+3;te<Tt;){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}te-=fe,Je=0,oe=3+(7&(ee>>>=fe)),ee>>>=3,te-=3}else{for(Tt=fe+7;te<Tt;){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}te-=fe,Je=0,oe=11+(127&(ee>>>=fe)),ee>>>=7,te-=7}if(n.have+oe>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=ys;break}for(;oe--;)n.lens[n.have++]=Je}}if(n.mode===ys)break;if(0===n.lens[256]){e.msg="invalid code -- missing end-of-block",n.mode=ys;break}if(n.lenbits=9,st={bits:n.lenbits},nt=di(1,n.lens,0,n.nlen,n.lencode,0,n.work,st),n.lenbits=st.bits,nt){e.msg="invalid literal/lengths set",n.mode=ys;break}if(n.distbits=6,n.distcode=n.distdyn,st={bits:n.distbits},nt=di(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,st),n.distbits=st.bits,nt){e.msg="invalid distances set",n.mode=ys;break}if(n.mode=us,6===t)break e;case us:n.mode=fs;case fs:if(D>=6&&K>=258){e.next_out=f,e.avail_out=K,e.next_in=c,e.avail_in=D,n.hold=ee,n.bits=te,ri(e,se),f=e.next_out,i=e.output,K=e.avail_out,c=e.next_in,r=e.input,D=e.avail_in,ee=n.hold,te=n.bits,n.mode===rs&&(n.back=-1);break}for(n.back=0;_e=(Lt=n.lencode[ee&(1<<n.lenbits)-1])>>>16&255,Ce=65535&Lt,!((fe=Lt>>>24)<=te);){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}if(_e&&!(240&_e)){for(Be=fe,Me=_e,ze=Ce;_e=(Lt=n.lencode[ze+((ee&(1<<Be+Me)-1)>>Be)])>>>16&255,Ce=65535&Lt,!(Be+(fe=Lt>>>24)<=te);){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}ee>>>=Be,te-=Be,n.back+=Be}if(ee>>>=fe,te-=fe,n.back+=fe,n.length=Ce,0===_e){n.mode=ws;break}if(32&_e){n.back=-1,n.mode=rs;break}if(64&_e){e.msg="invalid literal/length code",n.mode=ys;break}n.extra=15&_e,n.mode=ds;case ds:if(n.extra){for(Tt=n.extra;te<Tt;){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}n.length+=ee&(1<<n.extra)-1,ee>>>=n.extra,te-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=ps;case ps:for(;_e=(Lt=n.distcode[ee&(1<<n.distbits)-1])>>>16&255,Ce=65535&Lt,!((fe=Lt>>>24)<=te);){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}if(!(240&_e)){for(Be=fe,Me=_e,ze=Ce;_e=(Lt=n.distcode[ze+((ee&(1<<Be+Me)-1)>>Be)])>>>16&255,Ce=65535&Lt,!(Be+(fe=Lt>>>24)<=te);){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}ee>>>=Be,te-=Be,n.back+=Be}if(ee>>>=fe,te-=fe,n.back+=fe,64&_e){e.msg="invalid distance code",n.mode=ys;break}n.offset=Ce,n.extra=15&_e,n.mode=gs;case gs:if(n.extra){for(Tt=n.extra;te<Tt;){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}n.offset+=ee&(1<<n.extra)-1,ee>>>=n.extra,te-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=ys;break}n.mode=ms;case ms:if(0===K)break e;if(oe=se-K,n.offset>oe){if((oe=n.offset-oe)>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=ys;break}oe>n.wnext?(oe-=n.wnext,he=n.wsize-oe):he=n.wnext-oe,oe>n.length&&(oe=n.length),le=n.window}else le=i,he=f-n.offset,oe=n.length;oe>K&&(oe=K),K-=oe,n.length-=oe;do{i[f++]=le[he++]}while(--oe);0===n.length&&(n.mode=fs);break;case ws:if(0===K)break e;i[f++]=n.length,K--,n.mode=fs;break;case vs:if(n.wrap){for(;te<32;){if(0===D)break e;D--,ee|=r[c++]<<te,te+=8}if(se-=K,e.total_out+=se,n.total+=se,se&&(e.adler=n.check=n.flags?$r(n.check,i,se,f-se):Vr(n.check,i,se,f-se)),se=K,(n.flags?ee:ho(ee))!==n.check){e.msg="incorrect data check",n.mode=ys;break}ee=0,te=0}n.mode=_s;case _s:if(n.wrap&&n.flags){for(;te<32;){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}if(ee!==(4294967295&n.total)){e.msg="incorrect length check",n.mode=ys;break}ee=0,te=0}n.mode=bs;case bs:nt=1;break e;case ys:nt=Ui;break e;case ks:return ji;default:return Wi}return e.next_out=f,e.avail_out=K,e.next_in=c,e.avail_in=D,n.hold=ee,n.bits=te,(n.wsize||se!==e.avail_out&&n.mode<ys&&(n.mode<vs||4!==t))&&(Wt=e,Vt=e.output,Kt=e.next_out,qt=se-e.avail_out,null===(Gt=Wt.state).window&&(Gt.wsize=1<<Gt.wbits,Gt.wnext=0,Gt.whave=0,Gt.window=new ln(Gt.wsize)),qt>=Gt.wsize?(jt(Gt.window,Vt,Kt-Gt.wsize,Gt.wsize,0),Gt.wnext=0,Gt.whave=Gt.wsize):((Yt=Gt.wsize-Gt.wnext)>qt&&(Yt=qt),jt(Gt.window,Vt,Kt-qt,Yt,Gt.wnext),(qt-=Yt)?(jt(Gt.window,Vt,Kt-qt,qt,0),Gt.wnext=qt,Gt.whave=Gt.wsize):(Gt.wnext+=Yt,Gt.wnext===Gt.wsize&&(Gt.wnext=0),Gt.whave<Gt.wsize&&(Gt.whave+=Yt)))),ie-=e.avail_in,se-=e.avail_out,e.total_in+=ie,e.total_out+=se,n.total+=se,n.wrap&&se&&(e.adler=n.check=n.flags?$r(n.check,i,se,e.next_out-se):Vr(n.check,i,se,e.next_out-se)),e.data_type=n.bits+(n.last?64:0)+(n.mode===rs?128:0)+(n.mode===us||n.mode===os?256:0),(0===ie&&0===se||4===t)&&0===nt&&(nt=$i),nt}var Is,Cs=1,Bs=7;function mo(e){if(e<1||e>7)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}function ko(e,t){for(var n=0;n<e.length;n++)this[t+n]=e[n]}mo.prototype.init=function(e,t,n,r,i){var c;switch(this.windowBits=e,this.level=t,this.memLevel=n,this.strategy=r,3!==this.mode&&4!==this.mode||(this.windowBits+=16),7===this.mode&&(this.windowBits+=32),5!==this.mode&&6!==this.mode||(this.windowBits=-this.windowBits),this.strm=new Zt,this.mode){case 1:case 3:case 5:c=function(e,t,n,r,i,c){if(!e)return wr;var f=1;if(t===br&&(t=6),r<0?(f=0,r=-r):r>15&&(f=2,r-=16),i<1||i>9||r<8||r>15||t<0||t>9||c<0||c>4)return Hn(e,wr);8===r&&(r=9);var D=new $n;return e.state=D,D.strm=e,D.wrap=f,D.gzhead=null,D.w_bits=r,D.w_size=1<<D.w_bits,D.w_mask=D.w_size-1,D.hash_bits=i+7,D.hash_size=1<<D.hash_bits,D.hash_mask=D.hash_size-1,D.hash_shift=~~((D.hash_bits+3-1)/3),D.window=new ln(2*D.w_size),D.head=new un(D.hash_size),D.prev=new un(D.w_size),D.lit_bufsize=1<<i+6,D.pending_buf_size=4*D.lit_bufsize,D.pending_buf=new ln(D.pending_buf_size),D.d_buf=1*D.lit_bufsize,D.l_buf=3*D.lit_bufsize,D.level=t,D.strategy=c,D.method=8,Jn(e)}(this.strm,this.level,8,this.windowBits,this.memLevel,this.strategy);break;case 2:case 4:case 6:case 7:c=co(this.strm,this.windowBits);break;default:throw new Error("Unknown mode "+this.mode)}0===c?(this.write_in_progress=!1,this.init_done=!0):this._error(c)},mo.prototype.params=function(){throw new Error("deflateParams Not supported")},mo.prototype._writeCheck=function(){if(!this.init_done)throw new Error("write before init");if(0===this.mode)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")},mo.prototype.write=function(e,t,n,r,i,c,f){this._writeCheck(),this.write_in_progress=!0;var D=this;return de(function(){D.write_in_progress=!1;var K=D._write(e,t,n,r,i,c,f);D.callback(K[0],K[1]),D.pending_close&&D.close()}),this},mo.prototype.writeSync=function(e,t,n,r,i,c,f){return this._writeCheck(),this._write(e,t,n,r,i,c,f)},mo.prototype._write=function(e,t,n,r,i,c,f){if(this.write_in_progress=!0,0!==e&&1!==e&&2!==e&&3!==e&&4!==e&&5!==e)throw new Error("Invalid flush value");null==t&&(t=new p(0),r=0,n=0),i._set?i.set=i._set:i.set=ko;var D,K=this.strm;switch(K.avail_in=r,K.input=t,K.next_in=n,K.avail_out=f,K.output=i,K.next_out=c,this.mode){case 1:case 3:case 5:D=Qn(K,e);break;case 7:case 2:case 4:case 6:D=vo(K,e);break;default:throw new Error("Unknown mode "+this.mode)}return 1!==D&&0!==D&&this._error(D),this.write_in_progress=!1,[K.avail_in,K.avail_out]},mo.prototype.close=function(){this.write_in_progress?this.pending_close=!0:(this.pending_close=!1,1===this.mode||3===this.mode||5===this.mode?function(e){var t;e&&e.state&&((t=e.state.status)!==ai&&t!==hi&&t!==ci&&t!==li&&t!==ui&&t!==fi&&t!==pi?Hn(e,wr):(e.state=null,t===fi&&Hn(e,vr)))}(this.strm):function(e){if(!e||!e.state)return Wi;var t=e.state;t.window&&(t.window=null),e.state=null}(this.strm),this.mode=0)},mo.prototype.reset=function(){switch(this.mode){case 1:case 5:Is=Jn(this.strm);break;case 2:case 6:Is=fo(this.strm)}0!==Is&&this._error(Is)},mo.prototype._error=function(e){this.onerror(cn[e]+": "+this.strm.msg,e),this.write_in_progress=!1,this.pending_close&&this.close()};var Ls=Object.freeze({NONE:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8,Zlib:mo}),Ms={};Object.keys(Ls).forEach(function(e){Ms[e]=Ls[e]}),Ms.Z_MIN_WINDOWBITS=8,Ms.Z_MAX_WINDOWBITS=15,Ms.Z_DEFAULT_WINDOWBITS=15,Ms.Z_MIN_CHUNK=64,Ms.Z_MAX_CHUNK=1/0,Ms.Z_DEFAULT_CHUNK=16384,Ms.Z_MIN_MEMLEVEL=1,Ms.Z_MAX_MEMLEVEL=9,Ms.Z_DEFAULT_MEMLEVEL=8,Ms.Z_MIN_LEVEL=-1,Ms.Z_MAX_LEVEL=9,Ms.Z_DEFAULT_LEVEL=Ms.Z_DEFAULT_COMPRESSION;var Ps={Z_OK:Ms.Z_OK,Z_STREAM_END:Ms.Z_STREAM_END,Z_NEED_DICT:Ms.Z_NEED_DICT,Z_ERRNO:Ms.Z_ERRNO,Z_STREAM_ERROR:Ms.Z_STREAM_ERROR,Z_DATA_ERROR:Ms.Z_DATA_ERROR,Z_MEM_ERROR:Ms.Z_MEM_ERROR,Z_BUF_ERROR:Ms.Z_BUF_ERROR,Z_VERSION_ERROR:Ms.Z_VERSION_ERROR};function Ro(e,t,n){var r=[],i=0;function o2(){for(var t;null!==(t=e.read());)r.push(t),i+=t.length;e.once("readable",o2)}function a2(){var t=p.concat(r,i);r=[],n(null,t),e.close()}e.on("error",function(t){e.removeListener("end",a2),e.removeListener("readable",o2),n(t)}),e.on("end",a2),e.end(t),o2()}function Ao(e,t){if("string"==typeof t&&(t=new p(t)),!$(t))throw new TypeError("Not a string or buffer");var n=Ms.Z_FINISH;return e._processChunk(t,n)}function Bo(e){if(!(this instanceof Bo))return new Bo(e);Io.call(this,e,Ms.DEFLATE)}function zo(e){if(!(this instanceof zo))return new zo(e);Io.call(this,e,Ms.INFLATE)}function Lo(e){if(!(this instanceof Lo))return new Lo(e);Io.call(this,e,Ms.GZIP)}function To(e){if(!(this instanceof To))return new To(e);Io.call(this,e,Ms.GUNZIP)}function Mo(e){if(!(this instanceof Mo))return new Mo(e);Io.call(this,e,Ms.DEFLATERAW)}function Co(e){if(!(this instanceof Co))return new Co(e);Io.call(this,e,Ms.INFLATERAW)}function Do(e){if(!(this instanceof Do))return new Do(e);Io.call(this,e,Ms.UNZIP)}function Io(e,t){if(this._opts=e=e||{},this._chunkSize=e.chunkSize||Ms.Z_DEFAULT_CHUNK,Ot.call(this,e),e.flush&&e.flush!==Ms.Z_NO_FLUSH&&e.flush!==Ms.Z_PARTIAL_FLUSH&&e.flush!==Ms.Z_SYNC_FLUSH&&e.flush!==Ms.Z_FULL_FLUSH&&e.flush!==Ms.Z_FINISH&&e.flush!==Ms.Z_BLOCK)throw new Error("Invalid flush flag: "+e.flush);if(this._flushFlag=e.flush||Ms.Z_NO_FLUSH,e.chunkSize&&(e.chunkSize<Ms.Z_MIN_CHUNK||e.chunkSize>Ms.Z_MAX_CHUNK))throw new Error("Invalid chunk size: "+e.chunkSize);if(e.windowBits&&(e.windowBits<Ms.Z_MIN_WINDOWBITS||e.windowBits>Ms.Z_MAX_WINDOWBITS))throw new Error("Invalid windowBits: "+e.windowBits);if(e.level&&(e.level<Ms.Z_MIN_LEVEL||e.level>Ms.Z_MAX_LEVEL))throw new Error("Invalid compression level: "+e.level);if(e.memLevel&&(e.memLevel<Ms.Z_MIN_MEMLEVEL||e.memLevel>Ms.Z_MAX_MEMLEVEL))throw new Error("Invalid memLevel: "+e.memLevel);if(e.strategy&&e.strategy!=Ms.Z_FILTERED&&e.strategy!=Ms.Z_HUFFMAN_ONLY&&e.strategy!=Ms.Z_RLE&&e.strategy!=Ms.Z_FIXED&&e.strategy!=Ms.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+e.strategy);if(e.dictionary&&!$(e.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance");this._binding=new Ms.Zlib(t);var n=this;this._hadError=!1,this._binding.onerror=function(e,t){n._binding=null,n._hadError=!0;var r=new Error(e);r.errno=t,r.code=Ms.codes[t],n.emit("error",r)};var r=Ms.Z_DEFAULT_COMPRESSION;"number"==typeof e.level&&(r=e.level);var i=Ms.Z_DEFAULT_STRATEGY;"number"==typeof e.strategy&&(i=e.strategy),this._binding.init(e.windowBits||Ms.Z_DEFAULT_WINDOWBITS,r,e.memLevel||Ms.Z_DEFAULT_MEMLEVEL,i,e.dictionary),this._buffer=new p(this._chunkSize),this._offset=0,this._closed=!1,this._level=r,this._strategy=i,this.once("end",this.close)}Object.keys(Ps).forEach(function(e){Ps[Ps[e]]=e}),Xt(Io,Ot),Io.prototype.params=function(e,t,n){if(e<Ms.Z_MIN_LEVEL||e>Ms.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+e);if(t!=Ms.Z_FILTERED&&t!=Ms.Z_HUFFMAN_ONLY&&t!=Ms.Z_RLE&&t!=Ms.Z_FIXED&&t!=Ms.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+t);if(this._level!==e||this._strategy!==t){var r=this;this.flush(Ms.Z_SYNC_FLUSH,function(){r._binding.params(e,t),r._hadError||(r._level=e,r._strategy=t,n&&n())})}else de(n)},Io.prototype.reset=function(){return this._binding.reset()},Io.prototype._flush=function(e){this._transform(new p(0),"",e)},Io.prototype.flush=function(e,t){var n=this._writableState;if(("function"==typeof e||void 0===e&&!t)&&(t=e,e=Ms.Z_FULL_FLUSH),n.ended)t&&de(t);else if(n.ending)t&&this.once("end",t);else if(n.needDrain){var r=this;this.once("drain",function(){r.flush(t)})}else this._flushFlag=e,this.write(new p(0),"",t)},Io.prototype.close=function(e){if(e&&de(e),!this._closed){this._closed=!0,this._binding.close();var t=this;de(function(){t.emit("close")})}},Io.prototype._transform=function(e,t,n){var r,i=this._writableState,c=(i.ending||i.ended)&&(!e||i.length===e.length);if(null===!e&&!$(e))return n(new Error("invalid input"));c?r=Ms.Z_FINISH:(r=this._flushFlag,e.length>=i.length&&(this._flushFlag=this._opts.flush||Ms.Z_NO_FLUSH)),this._processChunk(e,r,n)},Io.prototype._processChunk=function(e,t,n){var r=e&&e.length,i=this._chunkSize-this._offset,c=0,f=this,D="function"==typeof n;if(!D){var K,ee=[],te=0;this.on("error",function(e){K=e});do{var ie=this._binding.writeSync(t,e,c,r,this._buffer,this._offset,i)}while(!this._hadError&&_2(ie[0],ie[1]));if(this._hadError)throw K;var se=p.concat(ee,te);return this.close(),se}var oe=this._binding.write(t,e,c,r,this._buffer,this._offset,i);function _2(K,ie){if(!f._hadError){var se=i-ie;if(function(e,t){if(!e)throw new Error(t)}(se>=0,"have should not go down"),se>0){var oe=f._buffer.slice(f._offset,f._offset+se);f._offset+=se,D?f.push(oe):(ee.push(oe),te+=oe.length)}if((0===ie||f._offset>=f._chunkSize)&&(i=f._chunkSize,f._offset=0,f._buffer=new p(f._chunkSize)),0===ie){if(c+=r-K,r=K,!D)return!0;var he=f._binding.write(t,e,c,r,f._buffer,f._offset,f._chunkSize);return he.callback=_2,void(he.buffer=e)}if(!D)return!1;n()}}oe.buffer=e,oe.callback=_2},Xt(Bo,Io),Xt(zo,Io),Xt(Lo,Io),Xt(To,Io),Xt(Mo,Io),Xt(Co,Io),Xt(Do,Io);var Ds=Ps,Po_createDeflate=function(e){return new Bo(e)},Po_createInflate=function(e){return new zo(e)},Po_createDeflateRaw=function(e){return new Mo(e)},Po_createInflateRaw=function(e){return new Co(e)},Po_createGzip=function(e){return new Lo(e)},Po_createGunzip=function(e){return new To(e)},Po_createUnzip=function(e){return new Do(e)},Po_deflate=function(e,t,n){return"function"==typeof t&&(n=t,t={}),Ro(new Bo(t),e,n)},Po_deflateSync=function(e,t){return Ao(new Bo(t),e)},Po_gzip=function(e,t,n){return"function"==typeof t&&(n=t,t={}),Ro(new Lo(t),e,n)},Po_gzipSync=function(e,t){return Ao(new Lo(t),e)},Po_deflateRaw=function(e,t,n){return"function"==typeof t&&(n=t,t={}),Ro(new Mo(t),e,n)},Po_deflateRawSync=function(e,t){return Ao(new Mo(t),e)},Po_unzip=function(e,t,n){return"function"==typeof t&&(n=t,t={}),Ro(new Do(t),e,n)},Po_unzipSync=function(e,t){return Ao(new Do(t),e)},Po_inflate=function(e,t,n){return"function"==typeof t&&(n=t,t={}),Ro(new zo(t),e,n)},Po_inflateSync=function(e,t){return Ao(new zo(t),e)},Po_gunzip=function(e,t,n){return"function"==typeof t&&(n=t,t={}),Ro(new To(t),e,n)},Po_gunzipSync=function(e,t){return Ao(new To(t),e)},Po_inflateRaw=function(e,t,n){return"function"==typeof t&&(n=t,t={}),Ro(new Co(t),e,n)},Po_inflateRawSync=function(e,t){return Ao(new Co(t),e)},zs=Bo,Os=zo,Fs=Lo,Hs=To,Ns=Mo,Ws=Co,Us=Do,js=Io;class $s{constructor(e,t,n){this.SDKAPPID=e,this.EXPIRETIME=n,this.PRIVATEKEY=t}genTestUserSig(e){return this._isNumber(this.SDKAPPID)?this._isString(this.PRIVATEKEY)?this._isString(e)?this._isNumber(this.EXPIRETIME)?(console.log("sdkAppID="+this.SDKAPPID+" key="+this.PRIVATEKEY+" userID="+e+" expire="+this.EXPIRETIME),this.genSigWithUserbuf(e,this.EXPIRETIME,null)):(console.error("expireTime must be a number"),""):(console.error("userID must be a string"),""):(console.error("privateKey must be a string"),""):(console.error("sdkAppID must be a number"),"")}newBuffer(e,t){return p.from?p.from(e,t):new p(e,t)}unescape(e){return e.replace(/_/g,"=").replace(/\-/g,"/").replace(/\*/g,"+")}escape(e){return e.replace(/\+/g,"*").replace(/\//g,"-").replace(/=/g,"_")}encode(e){return this.escape(this.newBuffer(e).toString("base64"))}decode(e){return this.newBuffer(this.unescape(e),"base64")}base64encode(e){return this.newBuffer(e).toString("base64")}base64decode(e){return this.newBuffer(e,"base64").toString()}_hmacsha256(e,t,n,r){let i="TLS.identifier:"+e+"\n";i+="TLS.sdkappid:"+this.SDKAPPID+"\n",i+="TLS.time:"+t+"\n",i+="TLS.expire:"+n+"\n",null!=r&&(i+="TLS.userbuf:"+r+"\n");let c=Mt.HmacSHA256(i,this.PRIVATEKEY);return Mt.enc.Base64.stringify(c)}_utc(){return Math.round(Date.now()/1e3)}_isNumber(e){return null!==e&&("number"==typeof e&&!isNaN(e-0)||"object"==typeof e&&e.constructor===Number)}_isString(e){return"string"==typeof e}genSigWithUserbuf(e,t,n){let r=this._utc(),i={"TLS.ver":"2.0","TLS.identifier":e,"TLS.sdkappid":this.SDKAPPID,"TLS.time":r,"TLS.expire":t},c="";if(null!=n){let f=this.base64encode(n);i["TLS.userbuf"]=f,c=this._hmacsha256(e,r,t,f)}else c=this._hmacsha256(e,r,t,null);i["TLS.sig"]=c;let f=JSON.stringify(i),D=Po_deflateSync(this.newBuffer(f)).toString("base64"),K=this.escape(D);return console.log("ret="+K),K}validate(e){let t=this.decode(e),n=Po_inflateSync(t);console.log("validate ret="+n)}}const Zs=604800;function genTestUserSig(e){const{SDKAppID:t,secretKey:n,userID:r}=e,i=undefined,c=undefined;return{SDKAppID:t,userSig:new $s(t,n,Zs).genTestUserSig(r)}}class Vs{constructor(){this.messagePopup=null,this.isRegistered=!1,this.registrationID="",this.chat=null,this.SDKAppID=0,this.appKey="",this.vapidPublicKey="",this.pendingMessages=[],this.EVENT=i,this.VERSION=n,D.log("version:",n),this.eventEmitter=new K,this.serviceWorkerManager=le.getInstance(this.eventEmitter),this.initializeBrowserCompatibility().catch(e=>{D.error("Browser compatibility initialization failed",e)}),this.setupInternalListeners(),this.setupVisibilityChangeListener()}static getInstance(){return this.instance||(this.instance=new Vs),this.instance}async registerPush(e){try{te.validateRegisterPushOptions(e);const{SDKAppID:n,appKey:r,userID:i,chat:c,logLevel:f}=e;void 0!==f&&D.setLogLevel(f),this.isRegistered&&(D.warn("Push service already registered, will unregister first and then re-register"),await this.unRegisterPush()),this.checkBrowserSupport();const K=undefined;if("granted"!==await this.requestNotificationPermission())throw new Error("User denied notification permission");if(this.SDKAppID=n,this.appKey=r,this.registrationID=i,this.messagePopup=new fe({onClick:(e,t)=>{this.serviceWorkerManager.postMessage({type:"REPORT_WEBPUSH_EVENT",payload:{...e,eventType:3}})}}),c)this.chat=c;else{if(void 0===t)throw new Error("TencentCloudChat SDK is not available. Please ensure you have imported @tencentcloud/lite-chat/professional or provided a chat instance in the options.");this.chat=t.create({SDKAppID:this.SDKAppID,...e}),void 0!==f&&this.chat.setLogLevel(f)}this.addChatListener(),await this.serviceWorkerManager.register(),void 0!==f&&await this.sendLogLevelToServiceWorker(f),await this.pushLogin();const ee=await this.serviceWorkerManager.getPushSubscription(this.vapidPublicKey);return await this.setToken(ee),this.isRegistered=!0,D.log("Push service registration successful",this.registrationID),this.registrationID}catch(n){if(n instanceof ee)throw D.error("Push service registration parameter validation failed",n.message),n;throw D.error("Push service registration failed",n),n}}async unRegisterPush(){try{return this.isRegistered?(this.chat&&this.removeChatListener(),this.messagePopup&&(this.messagePopup.destroy(),this.messagePopup=null),await this.serviceWorkerManager.unsubscribe(),await this.serviceWorkerManager.unregister(),await this.chat.callExperimentalAPI("logoutWebPush"),this.isRegistered=!1,this.registrationID="",this.SDKAppID=0,this.appKey="",this.vapidPublicKey="",this.clearState(),D.log("Push service unregistration successful"),!0):(D.warn("Push service is not registered, no need to unregister"),!0)}catch(e){return D.error("Push service unregistration failed",e),!1}}addPushListener(e,t){try{te.validateEventType(e),te.validateListener(t);const n=this.eventEmitter.on(e,t);return D.log("Add push listener",e,n),n}catch(n){if(n instanceof ee)throw D.error("Add push listener parameter validation failed",n.message),n;throw D.error("Add push listener failed",n),new Error("Add push listener failed")}}async sendLogLevelToServiceWorker(e){try{this.serviceWorkerManager&&(await this.serviceWorkerManager.postMessage({type:"SET_LOG_LEVEL",payload:{logLevel:e}}),D.log("Log level sent to Service Worker:",e))}catch(t){D.warn("Failed to send log level to Service Worker",t)}}removePushListener(e,t){try{te.validateEventType(e),te.validateListener(t);const n=this.eventEmitter.off(e,t);return D.log("Remove push listener",e,n),n}catch(n){if(n instanceof ee)throw D.error("Remove push listener parameter validation failed",n.message),n;return D.error("Remove push listener failed",n),!1}}checkBrowserSupport(){if(!se.checkBrowserSupport()){const e=se.detectWebPushCapability();throw new Error(`Browser not supported: ${e.reason}`)}}async requestNotificationPermission(){try{const e=await se.checkNotificationPermission();if("granted"===e)return"granted";const t=undefined,n=se.detectWebPushCapability().browserName;if("denied"===e){const e=`Notification permission denied for ${n}. Please check your system settings.`;throw new Error(e)}se.requiresUserGesture()&&D.warn("Current browser requires user gesture to request notification permission");const r=await se.requestNotificationPermission();if("granted"!==r)throw new Error(`User denied notification permission for ${n}`);return this.showSystemPermissionAlert(n),r}catch(e){throw D.error("Request notification permission failed",e),e}}async pushLogin(){try{const e=await this.chat.callExperimentalAPI("loginWebPush",{userID:this.registrationID,userSig:genTestUserSig({SDKAppID:this.SDKAppID,secretKey:this.appKey,userID:this.registrationID}).userSig,pushSDKVersion:n});e.data.vapid?this.vapidPublicKey=e.data.vapid:D.error("Failed to fetch VAPID public key")}catch(e){if(2905===e?.code){const t=new Error("The API you are calling is only available in the Professional edition. Please change your import from @tencentcloud/lite-chat to @tencentcloud/lite-chat/professional to access this feature.");throw t.code=e.code,t}throw e}}onMessageReceived(e){D.log("Received message data",e),e.data.forEach(e=>{const{webPush:t}=e,{content:n,info:r,extension:c}=t,{TaskId:f,WebpushReportUrl:K,OnlineClickExt:ee}=c;if(n)try{const e=JSON.parse(n),t={id:f,...e};if(this.eventEmitter.emit(i.MESSAGE_RECEIVED,t),"custom"!==e.MsgType){const e={...t,rptURL:K,rptExt:ee};this.messagePopup&&"visible"===document.visibilityState?this.messagePopup.show(e):this.messagePopup&&(this.pendingMessages.push(e),D.log("Message added to pending queue (page hidden)",f))}}catch(te){D.error("Failed to parse message content",te),this.eventEmitter.emit(i.MESSAGE_RECEIVED,n)}else if(r)try{this.sendNotificationToServiceWorker({id:f,...r,rptURL:K,rptExt:ee})}catch(te){D.error("Failed to send notification to service worker",te),this.eventEmitter.emit(i.MESSAGE_RECEIVED,r)}})}onMessageRevoked(e){e.data.forEach(e=>{const{ID:t}=e;D.log("Message revoked",t);const n=this.messagePopup&&this.messagePopup.hasMessage(t),r=this.pendingMessages.findIndex(e=>e.id===t);if(-1!==r)return this.pendingMessages.splice(r,1),D.log("Pending message removed from queue",t),void this.eventEmitter.emit(i.MESSAGE_REVOKED,{messageID:t});if(n)this.messagePopup.close(t),this.eventEmitter.emit(i.MESSAGE_REVOKED,{messageID:t}),D.log("Popup message revoked and closed",t);else try{this.sendMessageRevokeToServiceWorker(t),D.log("Message revoke sent to service worker",t)}catch(c){D.error("Failed to send message revoke to service worker",c),this.eventEmitter.emit(i.MESSAGE_REVOKED,{messageID:t})}})}addChatListener(){if(this.chat)try{this.chat.on(t.EVENT.WEB_PUSH_MESSAGE_RECEIVED,this.onMessageReceived.bind(this)),this.chat.on(t.EVENT.MESSAGE_REVOKED,this.onMessageRevoked.bind(this)),D.log("Chat listeners added for online push")}catch(e){D.error("Failed to add chat listeners",e)}}removeChatListener(){if(this.chat)try{this.chat.off(t.EVENT.WEB_PUSH_MESSAGE_RECEIVED,this.onMessageReceived),this.chat.off(t.EVENT.MESSAGE_REVOKED,this.onMessageRevoked),D.log("Chat listeners removed")}catch(e){D.error("Failed to remove chat listeners",e)}}getSystemPermissionMessage(e){const t=undefined,n=undefined;return navigator.userAgent.toLowerCase().includes("mac os")?`For macOS: System Preferences > Notifications > ${e}, then enable notifications.`:`For Windows: Settings > Privacy > Notifications > ${e}, then enable notifications.`}showSystemPermissionAlert(e){const t=this.getSystemPermissionMessage(e),n=undefined;alert(`System notification permission for ${e}.\n\n${t}\n\nPlease refresh the page after enabling notifications.`)}getBrowserInstType(){const e=navigator.userAgent.toLowerCase();return e.includes("edg/")?3003:e.includes("yabrowser/")?3004:e.includes("opr/")||e.includes("opera/")?3005:e.includes("chrome/")&&!e.includes("edg/")?3e3:e.includes("firefox/")?3001:e.includes("safari/")&&!e.includes("chrome/")?3002:1}async setToken(e){try{const t=se.detectWebPushCapability(),r=se.getBrowserInfo(),i={browserType:this.getBrowserInstType(),pushToken:e.endpoint,webPushAuthKey:e.auth,webPushP256:e.p256dh,pushSDKVersion:n,browserVersion:`${t.browserName} ${t.browserVersion}`,browserPlatform:r.platform,browserLanguage:r.language},c=undefined;return await this.chat.callExperimentalAPI("setWebPushToken",i)}catch(t){throw D.error("Device registration failed",t),t}}async initializeBrowserCompatibility(){try{const e=se.detectWebPushCapability();D.log("Browser Web Push capability initialization completed",{browser:`${e.browserName} ${e.browserVersion}`,supported:e.supported,reason:e.reason}),e.supported||D.warn("[WebPush] Browser compatibility warning:",e.reason)}catch(e){D.error("Browser compatibility initialization failed",e)}}setupVisibilityChangeListener(){document.addEventListener("visibilitychange",()=>{if("visible"===document.visibilityState&&this.messagePopup&&this.pendingMessages.length>0){D.log("Page became visible, showing pending messages",this.pendingMessages.length);const e=[...this.pendingMessages];this.pendingMessages=[];const t=setTimeout(()=>{e.forEach(e=>{this.messagePopup&&this.messagePopup.show(e)}),clearTimeout(t)},100)}})}setupInternalListeners(){this.eventEmitter.on(i.MESSAGE_RECEIVED,e=>{this.SDKAppID&&this.registrationID&&e.messageID&&this.pushStatistics(e.messageID,"reach")}),this.eventEmitter.on(i.NOTIFICATION_CLICKED,e=>{this.SDKAppID&&this.registrationID&&e.notification?.messageID&&this.pushStatistics(e.notification.messageID,"click")})}async pushStatistics(e,t){try{if(!this.chat)return void D.warn("Chat SDK not initialized, skipping statistics");const n={messageID:e,type:t,timestamp:Date.now(),SDKAppID:this.SDKAppID,registrationID:this.registrationID};D.log(`Message ${t} statistics recorded`,n)}catch(n){D.error(`Failed to record message ${t} statistics`,n)}}clearState(){this.isRegistered=!1,this.registrationID="",this.SDKAppID=0,this.appKey="",this.vapidPublicKey="",this.pendingMessages=[],this.messagePopup&&(this.messagePopup.destroy(),this.messagePopup=null)}async sendNotificationToServiceWorker(e){try{if(!this.serviceWorkerManager)return void D.warn("ServiceWorkerManager not initialized, skipping notification");await this.serviceWorkerManager.postMessage({type:"PROCESS_WEBPUSH_DATA",payload:e}),D.log("WebPush data sent to service-worker",e)}catch(t){D.error("Failed to send webpush data to service-worker",t)}}async sendMessageRevokeToServiceWorker(e){try{if(!this.serviceWorkerManager)return void D.warn("ServiceWorkerManager not initialized, skipping message revoke");await this.serviceWorkerManager.postMessage({type:"REVOKE_MESSAGE",payload:{messageID:e}}),D.log("Message revoke sent to service-worker",e)}catch(t){throw D.error("Failed to send message revoke to service-worker",t),t}}}const Ks=Vs.getInstance();e.EVENT=i,e.MessagePopup=fe,e.Placement=r,e.default=Ks,e.webPush=Ks,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@tencentcloud/lite-chat/professional")):"function"==typeof define&&define.amd?define(["exports","@tencentcloud/lite-chat/professional"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).WebPushSDK={},e.TencentCloudChat)}(this,function(e,t){"use strict";const n="1.0.5";var r=(e=>(e[e.CENTER=0]="CENTER",e[e.TOP_LEFT=1]="TOP_LEFT",e[e.TOP_CENTER=2]="TOP_CENTER",e[e.TOP_RIGHT=3]="TOP_RIGHT",e[e.MIDDLE_RIGHT=4]="MIDDLE_RIGHT",e[e.BOTTOM_RIGHT=5]="BOTTOM_RIGHT",e[e.BOTTOM_CENTER=6]="BOTTOM_CENTER",e[e.BOTTOM_LEFT=7]="BOTTOM_LEFT",e[e.MIDDLE_LEFT=8]="MIDDLE_LEFT",e))(r||{}),i=(e=>(e.MESSAGE_RECEIVED="message_received",e.MESSAGE_REVOKED="message_revoked",e.NOTIFICATION_CLICKED="notification_clicked",e.CUSTOM_MESSAGE_RECEIVED="custom_message_received",e))(i||{});const c="[WebPush]";class f{constructor(){this.logLevel=1}static getInstance(){return f.instance||(f.instance=new f),f.instance}setLogLevel(e){this.logLevel=e}getLogLevel(){return this.logLevel}shouldLog(e){return 4!==this.logLevel&&e>=this.logLevel}log(e,...t){this.shouldLog(1)&&console.log(`${c} ${e}`,...t)}warn(e,...t){this.shouldLog(2)&&console.warn(`${c} ${e}`,...t)}error(e,...t){this.shouldLog(3)&&console.error(`${c} ${e}`,...t)}info(e,...t){this.shouldLog(1)&&console.info(`${c} ${e}`,...t)}debug(e,...t){this.shouldLog(0)&&console.debug(`${c} ${e}`,...t)}}const D=f.getInstance();class K{constructor(){this.events=new Map}on(e,t){this.events.has(e)||this.events.set(e,new Map);const n=Math.random().toString(36).substr(2,9);return this.events.get(e).set(n,t),n}off(e,t){const n=this.events.get(e);if(!n)return!1;for(const[r,i]of n.entries())if(i===t)return n.delete(r),!0;return!1}emit(e,...t){const n=this.events.get(e);n&&n.forEach(n=>{try{n(...t)}catch(r){D.error(`Event listener error for ${e}:`,r)}})}removeAllListeners(e){e?this.events.delete(e):this.events.clear()}listenerCount(e){const t=this.events.get(e);return t?t.size:0}}class ee extends Error{constructor(e,t,n){super(`Parameter validation failed: ${e} - ${t}`),this.name="ValidationError",this.field=e,this.value=n}}class te{static validateValue(e,t,n){if(n.required&&(null==t||""===t))throw new ee(e,n.message||`${e} is required`,t);if(n.required||null!=t&&""!==t){if(n.type&&!this.checkType(t,n.type))throw new ee(e,n.message||`${e} must be of type ${n.type}`,t);if("string"===n.type&&"string"==typeof t){if(void 0!==n.min&&t.length<n.min)throw new ee(e,n.message||`${e} length cannot be less than ${n.min} characters`,t);if(void 0!==n.max&&t.length>n.max)throw new ee(e,n.message||`${e} length cannot exceed ${n.max} characters`,t)}if("number"===n.type&&"number"==typeof t){if(void 0!==n.min&&t<n.min)throw new ee(e,n.message||`${e} cannot be less than ${n.min}`,t);if(void 0!==n.max&&t>n.max)throw new ee(e,n.message||`${e} cannot be greater than ${n.max}`,t)}if(n.pattern&&"string"==typeof t&&!n.pattern.test(t))throw new ee(e,n.message||`${e} format is incorrect`,t);if(n.custom){const r=n.custom(t);if(!0!==r){const i="string"==typeof r?r:n.message||`${e} validation failed`;throw new ee(e,i,t)}}}}static validateObject(e,t){if(!e||"object"!=typeof e)throw new ee("root","Parameter must be an object type");for(const[n,r]of Object.entries(t)){const t=e[n];this.validateValue(n,t,r)}}static checkType(e,t){switch(t){case"string":return"string"==typeof e;case"number":return"number"==typeof e&&!isNaN(e);case"boolean":return"boolean"==typeof e;case"object":return null!==e&&"object"==typeof e&&!Array.isArray(e);case"array":return Array.isArray(e);case"function":return"function"==typeof e;default:return!1}}static validateSDKAppID(e){this.validateValue("SDKAppID",e,{required:!0,type:"number",custom:e=>!!Number.isInteger(e)||"SDKAppID must be an integer",message:"SDKAppID must be an integer between 1-999999999"})}static validateAppKey(e){this.validateValue("appKey",e,{required:!0,type:"string",pattern:/^[a-zA-Z0-9_-]+$/,message:"appKey must be a 1-256 character string composed of letters, numbers, underscores or hyphens"})}static validateUserID(e){this.validateValue("userID",e,{required:!0,type:"string",pattern:/^[a-zA-Z0-9_.-]+$/,message:"userID must be a 1-128 character string composed of letters, numbers, underscores, dots or hyphens"})}static validateEventType(e){const t=["message_received","message_revoked","notification_clicked"];this.validateValue("eventType",e,{required:!0,type:"string",custom:e=>!!t.includes(e)||`eventType must be one of: ${t.join(", ")}`})}static validateListener(e){this.validateValue("listener",e,{required:!0,type:"function",message:"listener must be a function"})}static validateRegisterPushOptions(e){if(!e)throw new ee("options","Registration options cannot be empty");const t={SDKAppID:{required:!0,type:"number",custom:e=>!!Number.isInteger(e)||"SDKAppID must be an integer"},appKey:{required:!0,type:"string",pattern:/^[a-zA-Z0-9_-]+$/},userID:{required:!0,type:"string",pattern:/^[a-zA-Z0-9_.-]+$/}};this.validateObject(e,t)}static validateServiceWorkerPath(e){this.validateValue("serviceWorkerPath",e,{required:!1,type:"string",pattern:/^[a-zA-Z0-9_./-]+\.js$/,message:"serviceWorkerPath must be a valid JavaScript file path"})}}class ie{constructor(){this.browserInfo=null}static getInstance(){return ie.instance||(ie.instance=new ie),ie.instance}getBrowserInfo(){if(this.browserInfo)return this.browserInfo;const e="undefined"!=typeof navigator&&navigator.userAgent||"Test/1.0.0",t={name:"Unknown",version:"0.0.0",majorVersion:0,platform:this.detectPlatform(),userAgent:e,language:this.detectLanguage()};if(/Chrome\/(\d+)/.test(e)&&!/Edge|Edg/.test(e)){const n=e.match(/Chrome\/(\d+)\.(\d+)\.(\d+)/);n&&(t.name="Chrome",t.version=`${n[1]}.${n[2]}.${n[3]}`,t.majorVersion=parseInt(n[1]))}else if(/Firefox\/(\d+)/.test(e)){const n=e.match(/Firefox\/(\d+)\.(\d+)/);n&&(t.name="Firefox",t.version=`${n[1]}.${n[2]}`,t.majorVersion=parseInt(n[1]))}else if(/Safari\//.test(e)&&!/Chrome|Chromium/.test(e)){const n=e.match(/Version\/(\d+)\.(\d+)/);n&&(t.name="Safari",t.version=`${n[1]}.${n[2]}`,t.majorVersion=parseInt(n[1]))}else if(/Edg\/(\d+)/.test(e)){const n=e.match(/Edg\/(\d+)\.(\d+)\.(\d+)/);n&&(t.name="Edge",t.version=`${n[1]}.${n[2]}.${n[3]}`,t.majorVersion=parseInt(n[1]))}else if(/Edge\/(\d+)/.test(e)){const n=e.match(/Edge\/(\d+)\.(\d+)/);n&&(t.name="Edge Legacy",t.version=`${n[1]}.${n[2]}`,t.majorVersion=parseInt(n[1]))}else if(/OPR\/(\d+)/.test(e)){const n=e.match(/OPR\/(\d+)\.(\d+)\.(\d+)/);n&&(t.name="Opera",t.version=`${n[1]}.${n[2]}.${n[3]}`,t.majorVersion=parseInt(n[1]))}return this.browserInfo=t,t}detectPlatform(){if("undefined"==typeof navigator)return"Test";const e=navigator.userAgent||"";return/Windows/.test(e)?"Windows":/Mac OS X/.test(e)?"macOS":/Linux/.test(e)?"Linux":/Android/.test(e)?"Android":/iPhone|iPad|iPod/.test(e)?"iOS":"Unknown"}detectLanguage(){return"undefined"==typeof navigator?"en-US":navigator.language||navigator.languages?.[0]||"en-US"}getFeatureSupport(){return{serviceWorker:"serviceWorker"in navigator,pushManager:"PushManager"in window,notification:"Notification"in window,webPush:this.isWebPushSupported()}}detectWebPushCapability(){if("undefined"!=typeof jest)return{supported:!0,browserName:"Test",browserVersion:"1.0.0"};const e=this.getBrowserInfo();if("undefined"==typeof window)return{supported:!1,reason:"Not running in browser environment",browserName:e.name,browserVersion:e.version};if(!("serviceWorker"in navigator))return{supported:!1,reason:"Service Worker not supported",browserName:e.name,browserVersion:e.version};if(!("PushManager"in window))return{supported:!1,reason:"Push Manager not supported",browserName:e.name,browserVersion:e.version};if(!("Notification"in window))return{supported:!1,reason:"Notification API not supported",browserName:e.name,browserVersion:e.version};const t=this.checkBrowserVersionSupport(e);return t.supported?{supported:!0,browserName:e.name,browserVersion:e.version}:{supported:!1,reason:t.reason,browserName:e.name,browserVersion:e.version}}checkBrowserVersionSupport(e){switch(e.name){case"Safari":if(e.majorVersion<16)return{supported:!1,reason:"Safari version too old (requires 16+)"};break;case"Chrome":if(e.majorVersion<42)return{supported:!1,reason:"Chrome version too old (requires 42+)"};break;case"Firefox":if(e.majorVersion<44)return{supported:!1,reason:"Firefox version too old (requires 44+)"};break;case"Edge":if(e.majorVersion<17)return{supported:!1,reason:"Edge version too old (requires 17+)"};break;case"Edge Legacy":return{supported:!1,reason:"Edge Legacy not supported, please upgrade to new Edge"};case"Opera":if(e.majorVersion<39)return{supported:!1,reason:"Opera version too old (requires 39+)"};break;case"Unknown":return{supported:!1,reason:"Unknown browser, WebPush support uncertain"}}return{supported:!0}}isWebPushSupported(){return this.detectWebPushCapability().supported}getUnsupportedReason(){const e=this.detectWebPushCapability();return e.supported?void 0:e.reason}async checkNotificationPermission(){return"undefined"!=typeof window&&"Notification"in window?Notification.permission:(D.warn("Notification API not available"),"denied")}async requestNotificationPermission(){try{if("undefined"!=typeof window&&"Notification"in window&&"function"==typeof Notification.requestPermission)return await Notification.requestPermission();throw new Error("Notification permission request not supported")}catch(e){return D.error("Failed to request notification permission",e),this.handleBrowserSpecificError(e)}}requiresUserGesture(){const e=undefined;return"Safari"===this.getBrowserInfo().name}handleBrowserSpecificError(e){const t=this.getBrowserInfo();let n="Permission denied";switch(t.name){case"Safari":n=`Safari: ${e.message}`;break;case"Chrome":n=`Chrome: ${e.message}`;break;case"Firefox":n=`Firefox: ${e.message}`;break;default:n=`${t.name}: ${e.message}`}return D.error("Browser specific error:",n),"denied"}checkBrowserSupport(){const e=this.detectWebPushCapability();return e.supported?(D.log("Browser supports Web Push:",{browser:`${e.browserName} ${e.browserVersion}`,features:this.getFeatureSupport()}),!0):(D.error("Browser not supported for Web Push:",e.reason),!1)}}const se=ie.getInstance();function getBrowserInfo(){return se.getBrowserInfo()}const oe=class e{static set(t,n){try{const r=JSON.stringify(n);localStorage.setItem(e.PREFIX+t,r)}catch(r){D.error("Storage set error:",r)}}static get(t,n){try{const r=localStorage.getItem(e.PREFIX+t);return null===r?n||null:JSON.parse(r)}catch(r){return D.error("Storage get error:",r),n||null}}static remove(t){try{localStorage.removeItem(e.PREFIX+t)}catch(n){D.error("Storage remove error:",n)}}static clear(){try{const t=undefined;Object.keys(localStorage).forEach(t=>{t.startsWith(e.PREFIX)&&localStorage.removeItem(t)})}catch(t){D.error("Storage clear error:",t)}}};oe.PREFIX="webpush_";let he=oe;class le{constructor(e){this.registration=null,this.swUrl="/sw.js",this.eventEmitter=e,this.setupMessageListener()}static getInstance(e){return le.instance||(le.instance=new le(e)),le.instance}async checkServiceWorkerExists(e){try{const t=undefined;return(await fetch(e,{method:"HEAD"})).ok}catch{return!1}}async autoDetectServiceWorkerUrl(){if("undefined"!=typeof window){const e=window.location.pathname,t=undefined;"/"!==(e.endsWith("/")?e:e+"/")?(this.swUrl="./sw.js",D.log("Detected subdirectory deployment, using relative path:",this.swUrl)):(this.swUrl="/sw.js",D.log("Detected root directory deployment, using absolute path:",this.swUrl));const n=undefined;await this.checkServiceWorkerExists(this.swUrl)||D.warn("Default Service Worker path not available, will try other paths during registration")}}setServiceWorkerUrl(e){try{te.validateServiceWorkerPath(e),this.swUrl=e,D.log("Manually set Service Worker path:",e)}catch(t){if(t instanceof ee)throw D.error("Set Service Worker path parameter validation failed",t.message),t;throw new Error("Failed to set Service Worker path")}}async register(){if(!("serviceWorker"in navigator))throw new Error("Service Worker is not supported");await this.autoDetectServiceWorkerUrl();const e=[this.swUrl,"./sw.js","/sw.js","/dist/sw.js","/assets/sw.js"],t=[...new Set(e)];let n=null;for(const i of t)try{return D.log("Attempting to register Service Worker:",i),this.registration=await navigator.serviceWorker.register(i),this.swUrl=i,D.log("Service Worker registration successful",{url:i,registration:this.registration}),await this.waitForServiceWorkerReady(),this.registration}catch(r){n=r,D.warn(`Service Worker registration failed (${i}):`,r);continue}throw D.error("All Service Worker paths failed to register",n),new Error(`Service Worker registration failed: ${n?.message||"Unknown error"}. Please ensure sw.js file exists in one of the following paths: ${t.join(", ")}`)}async waitForServiceWorkerReady(){if(!this.registration)throw new Error("Service Worker not registered");return new Promise(e=>{if(this.registration.active)return void e();const t=this.registration.installing||this.registration.waiting;t&&t.addEventListener("statechange",()=>{"activated"===t.state&&e()})})}async getPushSubscription(e){try{if(te.validateValue("vapidPublicKey",e,{required:!0,type:"string",min:1,max:512,message:"VAPID public key must be a valid string"}),!this.registration)throw new Error("Service Worker not registered");const t=this.getStoredVapidPublicKey();let n=await this.registration.pushManager.getSubscription();n&&t!==e&&(D.log("VAPID public key changed, unsubscribing existing subscription"),await n.unsubscribe(),n=null),n||(n=await this.registration.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:this.urlBase64ToUint8Array(e)}),this.setStoreVapidPublicKey(e)),D.log("Get push subscription successful",n);const r=this.getSubscriptionInfo(n);return D.log("Extracted subscription information:",{token:r.token,auth:r.auth,p256dh:r.p256dh,endpoint:r.endpoint}),{subscription:n,token:r.token||"",auth:r.auth||"",p256dh:r.p256dh||"",endpoint:r.endpoint||""}}catch(t){if(t instanceof ee)throw D.error("Get push subscription parameter validation failed",t.message),t;throw D.error("Get push subscription failed",t),t}}getSubscriptionInfo(e){if(!e||!e.endpoint)return{token:null,auth:null,p256dh:null,endpoint:null};const t=e.endpoint,n=getBrowserInfo(),r=e.getKey?{auth:e.getKey("auth")?this.arrayBufferToBase64(e.getKey("auth")):null,p256dh:e.getKey("p256dh")?this.arrayBufferToBase64(e.getKey("p256dh")):null}:{auth:null,p256dh:null};D.log("Extract push subscription information",{browser:`${n.name} ${n.version}`,hasAuth:!!r.auth,hasP256dh:!!r.p256dh});try{if("Chrome"===n.name||"Edge"===n.name){const e=t.match(/https:\/\/fcm\.googleapis\.com\/fcm\/send\/(.+)/);if(e)return D.log("Extract Token using Chrome/Edge FCM format"),{token:e[1],auth:r.auth,p256dh:r.p256dh,endpoint:t};const n=t.match(/https:\/\/android\.googleapis\.com\/gcm\/send\/(.+)/);if(n)return D.log("Extract Token using Chrome/Edge GCM format"),{token:n[1],auth:r.auth,p256dh:r.p256dh,endpoint:t}}else if("Firefox"===n.name){const e=t.match(/https:\/\/updates\.push\.services\.mozilla\.com\/wpush\/v(\d+)\/(.+)/);if(e)return D.log(`Extract Token using Firefox WebPush v${e[1]} format`),{token:e[2],auth:r.auth,p256dh:r.p256dh,endpoint:t};const n=t.match(/https:\/\/updates\.push\.services\.mozilla\.com\/push\/(.+)/);if(n)return D.log("Extract Token using Firefox legacy format"),{token:n[1],auth:r.auth,p256dh:r.p256dh,endpoint:t}}else if("Safari"===n.name){if(n.majorVersion>=16){const e=t.match(/https:\/\/web\.push\.apple\.com\/(.+)/);if(e)return D.log("Extract Token using Safari Web Push format"),{token:e[1],auth:r.auth,p256dh:r.p256dh,endpoint:t}}if(t.includes("safari")||t.includes("apple"))return D.log("Safari push notification uses complete endpoint as identifier"),{token:this.generateSafariToken(t),auth:r.auth,p256dh:r.p256dh,endpoint:t}}else if("Opera"===n.name){const e=t.match(/https:\/\/fcm\.googleapis\.com\/fcm\/send\/(.+)/);if(e)return D.log("Extract Token using Opera FCM format"),{token:e[1],auth:r.auth,p256dh:r.p256dh,endpoint:t}}else if("Samsung Internet"===n.name){const e=t.match(/https:\/\/fcm\.googleapis\.com\/fcm\/send\/(.+)/);if(e)return D.log("Extract Token using Samsung Internet FCM format"),{token:e[1],auth:r.auth,p256dh:r.p256dh,endpoint:t}}const e=[{pattern:/https:\/\/fcm\.googleapis\.com\/fcm\/send\/(.+)/,name:"FCM Standard"},{pattern:/https:\/\/android\.googleapis\.com\/gcm\/send\/(.+)/,name:"GCM Legacy"},{pattern:/https:\/\/gcm-http\.googleapis\.com\/gcm\/(.+)/,name:"GCM HTTP"},{pattern:/https:\/\/updates\.push\.services\.mozilla\.com\/wpush\/v\d+\/(.+)/,name:"Mozilla WebPush"},{pattern:/https:\/\/updates\.push\.services\.mozilla\.com\/push\/(.+)/,name:"Mozilla Legacy"},{pattern:/https:\/\/.*\.notify\.windows\.com\/.*\/(.+)/,name:"Windows Notification"},{pattern:/https:\/\/web\.push\.apple\.com\/(.+)/,name:"Apple Web Push"},{pattern:/https:\/\/.*\/push\/(.+)/,name:"Generic Push"},{pattern:/https:\/\/.*\/wpush\/(.+)/,name:"Generic WebPush"}];for(const{pattern:c,name:f}of e){const e=t.match(c);if(e&&e[1])return D.log(`Extract Token using generic pattern: ${f}`,{browser:n.name,pattern:c.source}),{token:e[1],auth:r.auth,p256dh:r.p256dh,endpoint:t}}D.warn("Unable to extract standard Token from push endpoint, generating unique identifier",{browser:`${n.name} ${n.version}`,endpointLength:t.length,endpointStart:t.substring(0,50)+"..."});const i=undefined;return{token:this.generateFallbackToken(t,n),auth:r.auth,p256dh:r.p256dh,endpoint:t}}catch(i){D.error("Error occurred during push subscription information extraction",{error:i instanceof Error?i.message:i,browser:n.name,endpointDomain:t.split("/")[2]});const e=undefined;return{token:this.generateFallbackToken(t,n),auth:r.auth,p256dh:r.p256dh,endpoint:t}}}generateSafariToken(e){const t=e.match(/https:\/\/.*safari.*\/(.+)/);return t?`safari_${t[1]}`:`safari_${this.generateEndpointHash(e)}`}generateFallbackToken(e,t){const n=this.generateEndpointHash(e),r=undefined,i=undefined;return`${t.name.toLowerCase().replace(/\s+/g,"")}_${n}_${Date.now().toString(36)}`}generateEndpointHash(e){let t=0;for(let n=0;n<e.length;n++){const r=undefined;t=(t<<5)-t+e.charCodeAt(n),t&=t}return Math.abs(t).toString(36)}async unsubscribe(){if(!this.registration)return!1;const e=await this.registration.pushManager.getSubscription();if(e){const t=await e.unsubscribe();return D.log("Unsubscribe from push notifications",t),this.clearStoredVapidPublicKey(),t}return!0}async unregister(){if(!this.registration)return!1;const e=await this.registration.unregister();return this.registration=null,this.clearStoredVapidPublicKey(),D.log("Unregister Service Worker",e),e}setupMessageListener(){"serviceWorker"in navigator&&navigator.serviceWorker.addEventListener("message",e=>{const t=e.data;this.handleServiceWorkerMessage(t)})}handleServiceWorkerMessage(e){switch(D.log("Received Service Worker message",e),e.type){case"MESSAGE_RECEIVED":this.eventEmitter.emit(i.MESSAGE_RECEIVED,e.data);break;case"NOTIFICATION_CLICKED":this.eventEmitter.emit(i.NOTIFICATION_CLICKED,e.data);break;case"MESSAGE_REVOKED":this.eventEmitter.emit(i.MESSAGE_REVOKED,e.data)}}async postMessage(e){try{if(te.validateValue("message",e,{required:!0,message:"Message content cannot be empty"}),!this.registration||!this.registration.active)throw new Error("Service Worker not activated");this.registration.active.postMessage(e),D.log("Send message to Service Worker successful",e)}catch(t){if(t instanceof ee)throw D.error("Send message parameter validation failed",t.message),t;throw D.error("Send message to Service Worker failed",t),t}}arrayBufferToBase64(e){const t=new Uint8Array(e);let n="";for(let r=0;r<t.byteLength;r++)n+=String.fromCharCode(t[r]);return window.btoa(n)}urlBase64ToUint8Array(e){const t=undefined,n=(e+"=".repeat((4-e.length%4)%4)).replace(/-/g,"+").replace(/_/g,"/"),r=window.atob(n),i=new Uint8Array(r.length);for(let c=0;c<r.length;++c)i[c]=r.charCodeAt(c);return i}getRegistration(){return this.registration}getStoredVapidPublicKey(){try{return he.get("sdk_vapid_key")}catch(e){return D.error("Failed to get stored VAPID public key",e),null}}setStoreVapidPublicKey(e){try{he.set("sdk_vapid_key",e),D.log("VAPID public key stored successfully")}catch(t){D.error("Failed to store VAPID public key",t)}}clearStoredVapidPublicKey(){try{he.remove("sdk_vapid_key"),D.log("VAPID public key cleared successfully")}catch(e){D.error("Failed to clear VAPID public key",e)}}}class fe{constructor(e={}){this.container=null,this.popups=new Map,this.timers=new Map,this.messageHandlers=new Map,this.animationTimers=new Map,this.adjustHeightTimers=new Map,this.defaultConfig={enabled:!0,duration:0,position:"top-right",maxCount:5,showCloseButton:!0,clickable:!0,customRender:void 0,onClick:void 0,onClose:void 0},this.config={...this.defaultConfig,...e},this.init()}init(){this.config.enabled&&(this.createContainer(),this.injectStyles())}createContainer(){const e=document.getElementById("web-push-popup-container");e?this.container=e:(this.container=document.createElement("div"),this.container.id="web-push-popup-container",this.container.className=`web-push-popup-container web-push-popup-${this.config.position}`,document.body.appendChild(this.container))}injectStyles(){if(document.getElementById("web-push-popup-styles"))return;const e=document.createElement("style");e.id="web-push-popup-styles",e.textContent="\n .web-push-popup-container {\n position: fixed;\n z-index: 10000;\n pointer-events: none;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;\n }\n\n .web-push-popup-top-left {\n top: 20px;\n left: 20px;\n }\n\n .web-push-popup-top-center {\n top: 20px;\n left: 50%;\n transform: translateX(-50%);\n }\n\n .web-push-popup-top-right {\n top: 20px;\n right: 20px;\n }\n\n .web-push-popup-right-center {\n top: 50%;\n right: 20px;\n transform: translateY(-50%);\n }\n\n .web-push-popup-bottom-right {\n bottom: 20px;\n right: 20px;\n }\n\n .web-push-popup-bottom-center {\n bottom: 20px;\n left: 50%;\n transform: translateX(-50%);\n }\n\n .web-push-popup-bottom-left {\n bottom: 20px;\n left: 20px;\n }\n\n .web-push-popup-left-center {\n top: 50%;\n left: 20px;\n transform: translateY(-50%);\n }\n\n .web-push-popup-center {\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n\n .web-push-popup {\n background: #ffffff;\n border-radius: 16px;\n box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);\n margin-bottom: 10px;\n padding: 24px;\n min-width: 300px;\n max-width: 480px;\n pointer-events: auto;\n cursor: pointer;\n transition: all 0.3s ease;\n border: 1px solid #e1e5e9;\n position: relative;\n animation: web-push-popup-slide-in 0.3s ease-out;\n }\n\n .web-push-popup:hover {\n box-shadow: 0 6px 25px rgba(0, 0, 0, 0.2);\n transform: translateY(-2px);\n }\n\n .web-push-popup.web-push-popup-closing {\n animation: web-push-popup-slide-out 0.3s ease-in forwards;\n }\n\n @keyframes web-push-popup-slide-in {\n from {\n opacity: 0;\n transform: translateX(100%);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n }\n\n @keyframes web-push-popup-slide-out {\n from {\n opacity: 1;\n transform: translateX(0);\n }\n to {\n opacity: 0;\n transform: translateX(100%);\n }\n }\n\n .web-push-popup-header {\n display: flex;\n align-items: center;\n margin-bottom: 8px;\n }\n\n .web-push-popup-info {\n flex: 1;\n min-width: 0;\n }\n\n .web-push-popup-title {\n font-size: 14px;\n font-weight: 600;\n color: #1a1a1a;\n margin: 0 0 2px 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .web-push-popup-subtitle {\n font-size: 12px;\n color: #666;\n margin: 0;\n }\n\n .web-push-popup-close {\n position: absolute;\n top: 8px;\n right: 8px;\n background: none;\n border: none;\n font-size: 18px;\n color: #999;\n cursor: pointer;\n padding: 4px;\n line-height: 1;\n border-radius: 4px;\n transition: all 0.2s ease;\n }\n\n .web-push-popup-close:hover {\n background: #f5f5f5;\n color: #333;\n }\n\n .web-push-popup-content {\n font-size: 14px;\n color: #333;\n line-height: 1.4;\n word-wrap: break-word;\n margin: 0;\n }\n\n .web-push-popup-html-container {\n margin-bottom: 10px;\n pointer-events: auto;\n position: relative;\n animation: web-push-popup-slide-in 0.3s ease-out;\n }\n\n .web-push-popup-html-container.web-push-popup-closing {\n animation: web-push-popup-slide-out 0.3s ease-in forwards;\n }\n ",document.head.appendChild(e)}show(e){if(this.config.enabled&&this.container)try{if(this.popups.size>=this.config.maxCount&&this.removeOldestPopup(),this.config.customRender){const t=this.config.customRender(e,this.container);return void this.addPopup(e.id,t,e.MsgContent.Duration)}let t;t="standard"===e.MsgType?this.createStandardPopup(e,e.id):this.createHtmlPopup(e,e.id),this.applyPlacement(e.MsgContent.Placement??0),this.addPopup(e.id,t,e.MsgContent.Duration)}catch(t){D.error("Failed to show message popup",t)}}createStandardPopup(e,t){const n=document.createElement("div");if(n.className="web-push-popup web-push-popup-standard",n.dataset.messageId=t,e.MsgContent.Image){const r=document.createElement("div");r.className="web-push-popup-image",r.style.cssText="\n text-align: center;\n margin-bottom: 20px;\n ";const i=document.createElement("img");i.src=e.MsgContent.Image.URL,i.alt="Message Image",i.style.cssText="\n width: auto;\n height: auto;\n max-width: 432px;\n max-height: 222px;\n border-radius: 4px;\n object-fit: cover;\n cursor: pointer;\n display: block;\n margin: 0 auto;\n ",i.onclick=r=>{r.stopPropagation(),e.MsgContent.Image?.LinkURL&&window.open(e.MsgContent.Image.LinkURL,"_blank"),this.config.onClick&&this.config.onClick(e,n),this.close(t)},r.appendChild(i),n.appendChild(r)}if(e.MsgContent.Text){const t=document.createElement("div");if(t.className="web-push-popup-content-area",e.MsgContent.Text.Title){const n=document.createElement("div");n.className="web-push-popup-standard-title",n.textContent=e.MsgContent.Text.Title,n.style.cssText="\n font-size: 18px;\n line-height: 26px;\n font-weight: 600;\n color: #000000E5;\n margin-bottom: 8px;\n max-width: 432px;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n word-wrap: break-word;\n ",t.appendChild(n)}if(e.MsgContent.Text.Desc){const n=document.createElement("div");n.className="web-push-popup-standard-desc",n.textContent=e.MsgContent.Text.Desc,n.style.cssText="\n font-size: 14px;\n font-weight: 400;\n color: #000000B2;\n line-height: 22px;\n max-width: 432px;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 6;\n -webkit-box-orient: vertical;\n word-wrap: break-word;\n ",t.appendChild(n)}n.appendChild(t)}if(e.MsgContent.Button&&e.MsgContent.Button.length>0){const r=document.createElement("div");r.className="web-push-popup-buttons",r.style.cssText="\n display: flex;\n gap: 12px;\n margin-top: 24px;\n flex-wrap: wrap;\n ",e.MsgContent.Button.forEach((i,c)=>{const f=document.createElement("button");if(f.className="web-push-popup-button",f.textContent=i.Text,f.style.cssText=`\n flex: 1;\n min-width: 80px;\n padding: 8px 16px;\n border: 1px solid ${0===c?"#E6E9EF":"#0052D9"};\n background: ${0===c?"transparent":"#0052D9"};\n color: ${0===c?"#000000E5":"#FFFFFFE5"};\n border-radius: 4px;\n font-size: 14px;\n font-weight: 400;\n line-height: 22px;\n cursor: pointer;\n transition: all 0.2s ease;\n `,i.Icon){const e=document.createElement("img");e.src=i.Icon,e.style.cssText="\n width: 16px;\n height: 16px;\n margin-right: 6px;\n vertical-align: middle;\n ",f.insertBefore(e,f.firstChild)}f.onclick=r=>{r.stopPropagation(),i.Url&&window.open(i.Url,"_blank"),this.config.onClick&&this.config.onClick(e,n),this.close(t)},f.onmouseenter=()=>{f.style.transform="translateY(-1px)",f.style.boxShadow="0 2px 8px rgba(0,122,255,0.3)"},f.onmouseleave=()=>{f.style.transform="translateY(0)",f.style.boxShadow="none"},r.appendChild(f)}),n.appendChild(r)}if(1===e.MsgContent.Close&&this.config.showCloseButton){const e=document.createElement("button");e.className="web-push-popup-close",e.innerHTML="×",e.style.cssText="\n position: absolute;\n top: 8px;\n right: 8px;\n width: 24px;\n height: 24px;\n border: none;\n background: rgba(0,0,0,0.1);\n color: #666;\n border-radius: 50%;\n cursor: pointer;\n font-size: 16px;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.2s ease;\n ",e.onclick=e=>{e.stopPropagation(),this.close(t)},e.onmouseenter=()=>{e.style.background="rgba(0,0,0,0.2)"},e.onmouseleave=()=>{e.style.background="rgba(0,0,0,0.1)"},n.appendChild(e)}return this.config.clickable&&(n.onclick=()=>{this.config.onClick&&this.config.onClick(e,n),this.close(t)}),n}createHtmlPopup(e,t){const n=document.createElement("div");n.className="web-push-popup-html-container",n.dataset.messageId=t,n.style.cssText="\n pointer-events: auto;\n position: relative;\n ";try{const r=undefined,i=(e=>{try{const t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);const r=undefined;return new TextDecoder("utf-8").decode(n)}catch(t){return D.warn("UTF-8 解码失败,使用原始 atob 解码:",t),atob(e)}})(e.MsgContent.Html),c=document.createElement("iframe");c.className="web-push-popup-html-iframe",c.style.cssText="\n width: 100%;\n min-height: 200px;\n max-height: 400px;\n border: none;\n background: transparent;\n overflow: auto;\n display: block;\n ",c.setAttribute("sandbox","allow-same-origin allow-scripts"),c.setAttribute("loading","eager"),n.appendChild(c);const messageHandler=r=>{r.source===c.contentWindow&&(r.data&&"iframe-click"===r.data.type?(this.config.onClick&&this.config.onClick(e,n),this.close(t)):r.data&&"iframe-content-loaded"===r.data.type&&this.adjustIframeHeight(c))};window.addEventListener("message",messageHandler),this.messageHandlers.set(t,messageHandler);const writeContent=()=>{try{const e=c.contentDocument||c.contentWindow?.document;if(e){const n=this.createIframeHtml(i,t);e.open(),e.write(n),e.close();const r=setTimeout(()=>{this.adjustIframeHeight(c),this.adjustHeightTimers.delete(t)},100);this.adjustHeightTimers.set(t,r)}}catch(e){D.error("Failed to write content to iframe",e)}};c.onload=writeContent;const f=setTimeout(()=>{writeContent(),this.adjustHeightTimers.delete(`${t}_write`)},0);this.adjustHeightTimers.set(`${t}_write`,f)}catch(r){D.error("Failed to decode HTML message",r);const e=document.createElement("div");e.className="web-push-popup-error",e.textContent="消息内容解析失败",e.style.cssText="\n padding: 16px;\n color: #ff4444;\n text-align: center;\n font-size: 14px;\n ",n.appendChild(e)}return this.config.clickable&&(n.onclick=()=>{this.config.onClick&&this.config.onClick(e,n),this.close(t)}),n}addPopup(e,t,n){if(!this.container)return;this.popups.set(e,t),this.container.appendChild(t);const r=void 0!==n?1e3*n:this.config.duration;if(r>0){const t=setTimeout(()=>{this.timers.delete(e),this.close(e)},r);this.timers.set(e,t)}}removeOldestPopup(){const e=this.popups.keys().next().value;e&&this.close(e)}close(e){const t=this.popups.get(e);if(t)try{const n=this.timers.get(e);n&&(clearTimeout(n),this.timers.delete(e));const r=this.adjustHeightTimers.get(e);r&&(clearTimeout(r),this.adjustHeightTimers.delete(e));const i=this.adjustHeightTimers.get(`${e}_write`);i&&(clearTimeout(i),this.adjustHeightTimers.delete(`${e}_write`));const c=this.messageHandlers.get(e);c&&(window.removeEventListener("message",c),this.messageHandlers.delete(e)),t.classList.add("web-push-popup-closing"),this.config.onClose&&this.config.onClose({ID:e},t);const f=setTimeout(()=>{t.parentNode&&t.parentNode.removeChild(t),this.popups.delete(e),this.animationTimers.delete(e)},300);this.animationTimers.set(e,f)}catch(n){D.error("Failed to close popup",n),t.parentNode&&t.parentNode.removeChild(t),this.popups.delete(e);const r=this.timers.get(e);r&&(clearTimeout(r),this.timers.delete(e));const i=this.adjustHeightTimers.get(e);i&&(clearTimeout(i),this.adjustHeightTimers.delete(e));const c=this.adjustHeightTimers.get(`${e}_write`);c&&(clearTimeout(c),this.adjustHeightTimers.delete(`${e}_write`));const f=this.animationTimers.get(e);f&&(clearTimeout(f),this.animationTimers.delete(e));const K=this.messageHandlers.get(e);K&&(window.removeEventListener("message",K),this.messageHandlers.delete(e))}}hasMessage(e){return this.popups.has(e)}closeAll(){for(const e of this.popups.keys())this.close(e)}updateConfig(e){this.config={...this.config,...e},this.config.enabled||this.closeAll()}destroy(){this.closeAll(),this.timers.forEach(e=>clearTimeout(e)),this.timers.clear(),this.animationTimers.forEach(e=>clearTimeout(e)),this.animationTimers.clear(),this.adjustHeightTimers.forEach(e=>clearTimeout(e)),this.adjustHeightTimers.clear(),this.messageHandlers.forEach(e=>window.removeEventListener("message",e)),this.messageHandlers.clear(),this.container&&this.container.parentNode&&this.container.parentNode.removeChild(this.container);const e=document.getElementById("web-push-popup-styles");e&&e.parentNode&&e.parentNode.removeChild(e),this.container=null,this.popups.clear()}applyPlacement(e){if(this.container)switch(this.container.classList.remove("web-push-popup-center","web-push-popup-top-left","web-push-popup-top-center","web-push-popup-top-right","web-push-popup-right-center","web-push-popup-bottom-right","web-push-popup-bottom-center","web-push-popup-bottom-left","web-push-popup-left-center"),e){case 0:this.container.classList.add("web-push-popup-center");break;case 1:this.container.classList.add("web-push-popup-top-left");break;case 2:this.container.classList.add("web-push-popup-top-center");break;case 3:this.container.classList.add("web-push-popup-top-right");break;case 4:this.container.classList.add("web-push-popup-right-center");break;case 5:this.container.classList.add("web-push-popup-bottom-right");break;case 6:this.container.classList.add("web-push-popup-bottom-center");break;case 7:this.container.classList.add("web-push-popup-bottom-left");break;case 8:this.container.classList.add("web-push-popup-left-center");break;default:this.container.classList.add(`web-push-popup-${this.config.position}`)}}adjustIframeHeight(e){try{const t=e.contentDocument||e.contentWindow?.document;if(!t)return;const n=t.body,r=t.documentElement;if(n&&r){const t=Math.max(n.scrollHeight,n.offsetHeight,r.clientHeight,r.scrollHeight,r.offsetHeight),i=100,c=400,f=Math.min(Math.max(t,i),c);e.style.height=`${f}px`,t>c?(e.style.overflow="auto",n.style.overflow="auto"):(e.style.overflow="hidden",n.style.overflow="hidden")}}catch(t){D.warn("Failed to adjust iframe height",t),e.style.height="200px",e.style.overflow="auto"}}createIframeHtml(e,t){return`\n<!DOCTYPE html>\n<html>\n<head>\n <meta charset="utf-8">\n <meta name="viewport" content="width=device-width, initial-scale=1.0">\n <style>\n * {\n box-sizing: border-box;\n }\n html, body {\n margin: 0;\n padding: 8px;\n width: 100%;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n font-size: 14px;\n line-height: 1.4;\n cursor: pointer;\n }\n body {\n min-height: auto;\n overflow-wrap: break-word;\n word-wrap: break-word;\n }\n img {\n max-width: 100%;\n height: auto;\n }\n a {\n color: #1976d2;\n text-decoration: none;\n }\n a:hover {\n text-decoration: underline;\n }\n </style>\n</head>\n<body>\n ${e}\n <script>\n // 确保所有链接在新窗口打开\n document.addEventListener('DOMContentLoaded', function() {\n const links = document.querySelectorAll('a');\n links.forEach(function(link) {\n link.target = '_blank';\n link.rel = 'noopener noreferrer';\n });\n \n // 添加点击事件监听器\n ${t?`\n document.addEventListener('click', function(e) {\n window.parent.postMessage({\n type: 'iframe-click',\n messageId: '${t}'\n }, '*');\n });\n `:""}\n \n // 通知父页面内容已加载,可以调整高度\n var contentLoadedTimer = setTimeout(function() {\n if (window.parent && window.parent !== window) {\n try {\n window.parent.postMessage({\n type: 'iframe-content-loaded',\n height: document.body.scrollHeight\n }, '*');\n } catch (e) {\n // 忽略跨域错误\n }\n }\n }, 100);\n });\n \n // 注意:不要重新定义 window.parent,否则会阻止与父页面的通信\n <\/script>\n</body>\n</html>`}}var _e="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Ce=[],Be=[],Me="undefined"!=typeof Uint8Array?Uint8Array:Array,ze=!1;function o(){ze=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0,n=64;t<n;++t)Ce[t]=e[t],Be[e.charCodeAt(t)]=t;Be["-".charCodeAt(0)]=62,Be["_".charCodeAt(0)]=63}function a(e,t,n){for(var r,i,c=[],f=t;f<n;f+=3)r=(e[f]<<16)+(e[f+1]<<8)+e[f+2],c.push(Ce[(i=r)>>18&63]+Ce[i>>12&63]+Ce[i>>6&63]+Ce[63&i]);return c.join("")}function s(e){var t;ze||o();for(var n=e.length,r=n%3,i="",c=[],f=0,D=n-r;f<D;f+=16383)c.push(a(e,f,f+16383>D?D:f+16383));return 1===r?(t=e[n-1],i+=Ce[t>>2],i+=Ce[t<<4&63],i+="=="):2===r&&(t=(e[n-2]<<8)+e[n-1],i+=Ce[t>>10],i+=Ce[t>>4&63],i+=Ce[t<<2&63],i+="="),c.push(i),c.join("")}function h(e,t,n,r,i){var c,f,D=8*i-r-1,K=(1<<D)-1,ee=K>>1,te=-7,ie=n?i-1:0,se=n?-1:1,oe=e[t+ie];for(ie+=se,c=oe&(1<<-te)-1,oe>>=-te,te+=D;te>0;c=256*c+e[t+ie],ie+=se,te-=8);for(f=c&(1<<-te)-1,c>>=-te,te+=r;te>0;f=256*f+e[t+ie],ie+=se,te-=8);if(0===c)c=1-ee;else{if(c===K)return f?NaN:1/0*(oe?-1:1);f+=Math.pow(2,r),c-=ee}return(oe?-1:1)*f*Math.pow(2,c-r)}function l(e,t,n,r,i,c){var f,D,K,ee=8*c-i-1,te=(1<<ee)-1,ie=te>>1,se=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,oe=r?0:c-1,he=r?1:-1,le=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(D=isNaN(t)?1:0,f=te):(f=Math.floor(Math.log(t)/Math.LN2),t*(K=Math.pow(2,-f))<1&&(f--,K*=2),(t+=f+ie>=1?se/K:se*Math.pow(2,1-ie))*K>=2&&(f++,K/=2),f+ie>=te?(D=0,f=te):f+ie>=1?(D=(t*K-1)*Math.pow(2,i),f+=ie):(D=t*Math.pow(2,ie-1)*Math.pow(2,i),f=0));i>=8;e[n+oe]=255&D,oe+=he,D/=256,i-=8);for(f=f<<i|D,ee+=i;ee>0;e[n+oe]=255&f,oe+=he,f/=256,ee-=8);e[n+oe-he]|=128*le}var Je={}.toString,nt=Array.isArray||function(e){return"[object Array]"==Je.call(e)};function u(){return p.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function d(e,t){if(u()<t)throw new RangeError("Invalid typed array length");return p.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=p.prototype:(null===e&&(e=new p(t)),e.length=t),e}function p(e,t,n){if(!(p.TYPED_ARRAY_SUPPORT||this instanceof p))return new p(e,t,n);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return v(this,e)}return _(this,e,t,n)}function _(e,t,n,r){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,r){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError("'offset' is out of bounds");if(t.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");return t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r),p.TYPED_ARRAY_SUPPORT?(e=t).__proto__=p.prototype:e=w(e,t),e}(e,t,n,r):"string"==typeof t?function(e,t,n){if("string"==typeof n&&""!==n||(n="utf8"),!p.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|m(t,n),i=(e=d(e,r)).write(t,n);return i!==r&&(e=e.slice(0,i)),e}(e,t,n):function(e,t){if(y(t)){var n=0|b(t.length);return 0===(e=d(e,n)).length||t.copy(e,0,0,n),e}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(r=t.length)!=r?d(e,0):w(e,t);if("Buffer"===t.type&&nt(t.data))return w(e,t.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function g(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function v(e,t){if(g(t),e=d(e,t<0?0:0|b(t)),!p.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function w(e,t){var n=t.length<0?0:0|b(t.length);e=d(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function b(e){if(e>=u())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+u().toString(16)+" bytes");return 0|e}function y(e){return!(null==e||!e._isBuffer)}function m(e,t){if(y(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return q(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return V(e).length;default:if(r)return q(e).length;t=(""+t).toLowerCase(),r=!0}}function k(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return O(this,t,n);case"utf8":case"utf-8":return C(this,t,n);case"ascii":return I(this,t,n);case"latin1":case"binary":return P(this,t,n);case"base64":return M(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return U(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function E(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function S(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof t&&(t=p.from(t,r)),y(t))return 0===t.length?-1:x(e,t,n,r,i);if("number"==typeof t)return t&=255,p.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):x(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function x(e,t,n,r,i){var c,f=1,D=e.length,K=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;f=2,D/=2,K/=2,n/=2}function l2(e,t){return 1===f?e[t]:e.readUInt16BE(t*f)}if(i){var ee=-1;for(c=n;c<D;c++)if(l2(e,c)===l2(t,-1===ee?0:c-ee)){if(-1===ee&&(ee=c),c-ee+1===K)return ee*f}else-1!==ee&&(c-=c-ee),ee=-1}else for(n+K>D&&(n=D-K),c=n;c>=0;c--){for(var te=!0,ie=0;ie<K;ie++)if(l2(e,c+ie)!==l2(t,ie)){te=!1;break}if(te)return c}return-1}function R(e,t,n,r){n=Number(n)||0;var i=e.length-n;r?(r=Number(r))>i&&(r=i):r=i;var c=t.length;if(c%2!=0)throw new TypeError("Invalid hex string");r>c/2&&(r=c/2);for(var f=0;f<r;++f){var D=parseInt(t.substr(2*f,2),16);if(isNaN(D))return f;e[n+f]=D}return f}function A(e,t,n,r){return G(q(t,e.length-n),e,n,r)}function B(e,t,n,r){return G(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function z(e,t,n,r){return B(e,t,n,r)}function L(e,t,n,r){return G(V(t),e,n,r)}function T(e,t,n,r){return G(function(e,t){for(var n,r,i,c=[],f=0;f<e.length&&!((t-=2)<0);++f)r=(n=e.charCodeAt(f))>>8,i=n%256,c.push(i),c.push(r);return c}(t,e.length-n),e,n,r)}function M(e,t,n){return 0===t&&n===e.length?s(e):s(e.slice(t,n))}function C(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i<n;){var c,f,D,K,ee=e[i],te=null,ie=ee>239?4:ee>223?3:ee>191?2:1;if(i+ie<=n)switch(ie){case 1:ee<128&&(te=ee);break;case 2:128==(192&(c=e[i+1]))&&(K=(31&ee)<<6|63&c)>127&&(te=K);break;case 3:c=e[i+1],f=e[i+2],128==(192&c)&&128==(192&f)&&(K=(15&ee)<<12|(63&c)<<6|63&f)>2047&&(K<55296||K>57343)&&(te=K);break;case 4:c=e[i+1],f=e[i+2],D=e[i+3],128==(192&c)&&128==(192&f)&&128==(192&D)&&(K=(15&ee)<<18|(63&c)<<12|(63&f)<<6|63&D)>65535&&K<1114112&&(te=K)}null===te?(te=65533,ie=1):te>65535&&(te-=65536,r.push(te>>>10&1023|55296),te=56320|1023&te),r.push(te),i+=ie}return function(e){var t=e.length;if(t<=st)return String.fromCharCode.apply(String,e);for(var n="",r=0;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=st));return n}(r)}p.TYPED_ARRAY_SUPPORT=void 0===_e.TYPED_ARRAY_SUPPORT||_e.TYPED_ARRAY_SUPPORT,p.poolSize=8192,p._augment=function(e){return e.__proto__=p.prototype,e},p.from=function(e,t,n){return _(null,e,t,n)},p.TYPED_ARRAY_SUPPORT&&(p.prototype.__proto__=Uint8Array.prototype,p.__proto__=Uint8Array),p.alloc=function(e,t,n){return r=null,c=t,f=n,g(i=e),i<=0?d(r,i):void 0!==c?"string"==typeof f?d(r,i).fill(c,f):d(r,i).fill(c):d(r,i);var r,i,c,f},p.allocUnsafe=function(e){return v(null,e)},p.allocUnsafeSlow=function(e){return v(null,e)},p.isBuffer=$,p.compare=function(e,t){if(!y(e)||!y(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,i=0,c=Math.min(n,r);i<c;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:r<n?1:0},p.isEncoding=function(e){switch(String(e).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}},p.concat=function(e,t){if(!nt(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return p.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=p.allocUnsafe(t),i=0;for(n=0;n<e.length;++n){var c=e[n];if(!y(c))throw new TypeError('"list" argument must be an Array of Buffers');c.copy(r,i),i+=c.length}return r},p.byteLength=m,p.prototype._isBuffer=!0,p.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)E(this,t,t+1);return this},p.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)E(this,t,t+3),E(this,t+1,t+2);return this},p.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)E(this,t,t+7),E(this,t+1,t+6),E(this,t+2,t+5),E(this,t+3,t+4);return this},p.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?C(this,0,e):k.apply(this,arguments)},p.prototype.equals=function(e){if(!y(e))throw new TypeError("Argument must be a Buffer");return this===e||0===p.compare(this,e)},p.prototype.inspect=function(){var e="";return this.length>0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),"<Buffer "+e+">"},p.prototype.compare=function(e,t,n,r,i){if(!y(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(this===e)return 0;for(var c=(i>>>=0)-(r>>>=0),f=(n>>>=0)-(t>>>=0),D=Math.min(c,f),K=this.slice(r,i),ee=e.slice(t,n),te=0;te<D;++te)if(K[te]!==ee[te]){c=K[te],f=ee[te];break}return c<f?-1:f<c?1:0},p.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},p.prototype.indexOf=function(e,t,n){return S(this,e,t,n,!0)},p.prototype.lastIndexOf=function(e,t,n){return S(this,e,t,n,!1)},p.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var c=!1;;)switch(r){case"hex":return R(this,e,t,n);case"utf8":case"utf-8":return A(this,e,t,n);case"ascii":return B(this,e,t,n);case"latin1":case"binary":return z(this,e,t,n);case"base64":return L(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,e,t,n);default:if(c)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),c=!0}},p.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var st=4096;function I(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(127&e[i]);return r}function P(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(e[i]);return r}function O(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var i="",c=t;c<n;++c)i+=X(e[c]);return i}function U(e,t,n){for(var r=e.slice(t,n),i="",c=0;c<r.length;c+=2)i+=String.fromCharCode(r[c]+256*r[c+1]);return i}function H(e,t,n){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function F(e,t,n,r,i,c){if(!y(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<c)throw new RangeError('"value" argument is out of bounds');if(n+r>e.length)throw new RangeError("Index out of range")}function N(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,c=Math.min(e.length-n,2);i<c;++i)e[n+i]=(t&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function Z(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,c=Math.min(e.length-n,4);i<c;++i)e[n+i]=t>>>8*(r?i:3-i)&255}function j(e,t,n,r,i,c){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function W(e,t,n,r,i){return i||j(e,0,n,4),l(e,t,n,r,23,4),n+4}function Y(e,t,n,r,i){return i||j(e,0,n,8),l(e,t,n,r,52,8),n+8}p.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e),p.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=p.prototype;else{var i=t-e;n=new p(i,void 0);for(var c=0;c<i;++c)n[c]=this[c+e]}return n},p.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||H(e,t,this.length);for(var r=this[e],i=1,c=0;++c<t&&(i*=256);)r+=this[e+c]*i;return r},p.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||H(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},p.prototype.readUInt8=function(e,t){return t||H(e,1,this.length),this[e]},p.prototype.readUInt16LE=function(e,t){return t||H(e,2,this.length),this[e]|this[e+1]<<8},p.prototype.readUInt16BE=function(e,t){return t||H(e,2,this.length),this[e]<<8|this[e+1]},p.prototype.readUInt32LE=function(e,t){return t||H(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},p.prototype.readUInt32BE=function(e,t){return t||H(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},p.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||H(e,t,this.length);for(var r=this[e],i=1,c=0;++c<t&&(i*=256);)r+=this[e+c]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*t)),r},p.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||H(e,t,this.length);for(var r=t,i=1,c=this[e+--r];r>0&&(i*=256);)c+=this[e+--r]*i;return c>=(i*=128)&&(c-=Math.pow(2,8*t)),c},p.prototype.readInt8=function(e,t){return t||H(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},p.prototype.readInt16LE=function(e,t){t||H(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},p.prototype.readInt16BE=function(e,t){t||H(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},p.prototype.readInt32LE=function(e,t){return t||H(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},p.prototype.readInt32BE=function(e,t){return t||H(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},p.prototype.readFloatLE=function(e,t){return t||H(e,4,this.length),h(this,e,!0,23,4)},p.prototype.readFloatBE=function(e,t){return t||H(e,4,this.length),h(this,e,!1,23,4)},p.prototype.readDoubleLE=function(e,t){return t||H(e,8,this.length),h(this,e,!0,52,8)},p.prototype.readDoubleBE=function(e,t){return t||H(e,8,this.length),h(this,e,!1,52,8)},p.prototype.writeUIntLE=function(e,t,n,r){e=+e,t|=0,n|=0,r||F(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,c=0;for(this[t]=255&e;++c<n&&(i*=256);)this[t+c]=e/i&255;return t+n},p.prototype.writeUIntBE=function(e,t,n,r){e=+e,t|=0,n|=0,r||F(this,e,t,n,Math.pow(2,8*n)-1,0);var i=n-1,c=1;for(this[t+i]=255&e;--i>=0&&(c*=256);)this[t+i]=e/c&255;return t+n},p.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,1,255,0),p.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},p.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,2,65535,0),p.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):N(this,e,t,!0),t+2},p.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,2,65535,0),p.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):N(this,e,t,!1),t+2},p.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,4,4294967295,0),p.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):Z(this,e,t,!0),t+4},p.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,4,4294967295,0),p.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Z(this,e,t,!1),t+4},p.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);F(this,e,t,n,i-1,-i)}var c=0,f=1,D=0;for(this[t]=255&e;++c<n&&(f*=256);)e<0&&0===D&&0!==this[t+c-1]&&(D=1),this[t+c]=(e/f|0)-D&255;return t+n},p.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);F(this,e,t,n,i-1,-i)}var c=n-1,f=1,D=0;for(this[t+c]=255&e;--c>=0&&(f*=256);)e<0&&0===D&&0!==this[t+c+1]&&(D=1),this[t+c]=(e/f|0)-D&255;return t+n},p.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,1,127,-128),p.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},p.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,2,32767,-32768),p.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):N(this,e,t,!0),t+2},p.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,2,32767,-32768),p.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):N(this,e,t,!1),t+2},p.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,4,2147483647,-2147483648),p.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):Z(this,e,t,!0),t+4},p.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),p.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Z(this,e,t,!1),t+4},p.prototype.writeFloatLE=function(e,t,n){return W(this,e,t,!0,n)},p.prototype.writeFloatBE=function(e,t,n){return W(this,e,t,!1,n)},p.prototype.writeDoubleLE=function(e,t,n){return Y(this,e,t,!0,n)},p.prototype.writeDoubleBE=function(e,t,n){return Y(this,e,t,!1,n)},p.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var i,c=r-n;if(this===e&&n<t&&t<r)for(i=c-1;i>=0;--i)e[i+t]=this[i+n];else if(c<1e3||!p.TYPED_ARRAY_SUPPORT)for(i=0;i<c;++i)e[i+t]=this[i+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+c),t);return c},p.prototype.fill=function(e,t,n,r){if("string"==typeof e){if("string"==typeof t?(r=t,t=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===e.length){var i=e.charCodeAt(0);i<256&&(e=i)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!p.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError("Out of range index");if(n<=t)return this;var c;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(c=t;c<n;++c)this[c]=e;else{var f=y(e)?e:q(new p(e,r).toString()),D=f.length;for(c=0;c<n-t;++c)this[c+t]=f[c%D]}return this};var Tt=/[^+\/0-9A-Za-z-_]/g;function X(e){return e<16?"0"+e.toString(16):e.toString(16)}function q(e,t){var n;t=t||1/0;for(var r=e.length,i=null,c=[],f=0;f<r;++f){if((n=e.charCodeAt(f))>55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&c.push(239,191,189);continue}if(f+1===r){(t-=3)>-1&&c.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&c.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&c.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;c.push(n)}else if(n<2048){if((t-=2)<0)break;c.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;c.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;c.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return c}function V(e){return function(e){var t,n,r,i,c,f;ze||o();var D=e.length;if(D%4>0)throw new Error("Invalid string. Length must be a multiple of 4");c="="===e[D-2]?2:"="===e[D-1]?1:0,f=new Me(3*D/4-c),r=c>0?D-4:D;var K=0;for(t=0,n=0;t<r;t+=4,n+=3)i=Be[e.charCodeAt(t)]<<18|Be[e.charCodeAt(t+1)]<<12|Be[e.charCodeAt(t+2)]<<6|Be[e.charCodeAt(t+3)],f[K++]=i>>16&255,f[K++]=i>>8&255,f[K++]=255&i;return 2===c?(i=Be[e.charCodeAt(t)]<<2|Be[e.charCodeAt(t+1)]>>4,f[K++]=255&i):1===c&&(i=Be[e.charCodeAt(t)]<<10|Be[e.charCodeAt(t+1)]<<4|Be[e.charCodeAt(t+2)]>>2,f[K++]=i>>8&255,f[K++]=255&i),f}(function(e){if((e=(t=e,t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")).replace(Tt,"")).length<2)return"";for(var t;e.length%4!=0;)e+="=";return e}(e))}function G(e,t,n,r){for(var i=0;i<r&&!(i+n>=t.length||i>=e.length);++i)t[i+n]=e[i];return i}function $(e){return null!=e&&(!!e._isBuffer||J(e)||"function"==typeof(t=e).readFloatLE&&"function"==typeof t.slice&&J(t.slice(0,0)));var t}function J(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function Q(e,t){return e(t={exports:{}},t.exports),t.exports}var Lt=Q(function(e,t){var n,r,i,c,f,D,K,ee,te,ie,se,oe,he,le;e.exports=(n=n||(r=Math,c=Object.create||function(){function e4(){}return function(e){var t;return e4.prototype=e,t=new e4,e4.prototype=null,t}}(),D=(f={}).lib={},K=D.Base={extend:function(e){var t=c(this);return e&&t.mixIn(e),t.hasOwnProperty("init")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},ee=D.WordArray=K.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||ie).stringify(this)},concat:function(e){var t=this.words,n=e.words,r=this.sigBytes,i=e.sigBytes;if(this.clamp(),r%4)for(var c=0;c<i;c++){var f=n[c>>>2]>>>24-c%4*8&255;t[r+c>>>2]|=f<<24-(r+c)%4*8}else for(var c=0;c<i;c+=4)t[r+c>>>2]=n[c>>>2];return this.sigBytes+=i,this},clamp:function(){var e=this.words,t=this.sigBytes;e[t>>>2]&=4294967295<<32-t%4*8,e.length=r.ceil(t/4)},clone:function(){var e=K.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t,n=[],i3=function(e){var e=e,t=987654321,n=4294967295;return function(){var i=((t=36969*(65535&t)+(t>>16)&n)<<16)+(e=18e3*(65535&e)+(e>>16)&n)&n;return i/=4294967296,(i+=.5)*(r.random()>.5?1:-1)}},i=0;i<e;i+=4){var c=i3(4294967296*(t||r.random()));t=987654071*c(),n.push(4294967296*c()|0)}return new ee.init(n,e)}}),te=f.enc={},ie=te.Hex={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],i=0;i<n;i++){var c=t[i>>>2]>>>24-i%4*8&255;r.push((c>>>4).toString(16)),r.push((15&c).toString(16))}return r.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r<t;r+=2)n[r>>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new ee.init(n,t/2)}},se=te.Latin1={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],i=0;i<n;i++){var c=t[i>>>2]>>>24-i%4*8&255;r.push(String.fromCharCode(c))}return r.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r<t;r++)n[r>>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new ee.init(n,t)}},oe=te.Utf8={stringify:function(e){try{return decodeURIComponent(escape(se.stringify(e)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(e){return se.parse(unescape(encodeURIComponent(e)))}},he=D.BufferedBlockAlgorithm=K.extend({reset:function(){this._data=new ee.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=oe.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(e){var t=this._data,n=t.words,i=t.sigBytes,c=this.blockSize,f,D=i/(4*c),K=(D=e?r.ceil(D):r.max((0|D)-this._minBufferSize,0))*c,te=r.min(4*K,i);if(K){for(var ie=0;ie<K;ie+=c)this._doProcessBlock(n,ie);var se=n.splice(0,K);t.sigBytes-=te}return new ee.init(se,te)},clone:function(){var e=K.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0}),D.Hasher=he.extend({cfg:K.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){he.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){var t;return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(e){return function(t,n){return new e.init(n).finalize(t)}},_createHmacHelper:function(e){return function(t,n){return new le.HMAC.init(e,n).finalize(t)}}}),le=f.algo={},f),n)}),Mt=(Q(function(e,t){var n,r,i,c,f,D;e.exports=(i=(r=n=Lt).lib,c=i.Base,f=i.WordArray,(D=r.x64={}).Word=c.extend({init:function(e,t){this.high=e,this.low=t}}),D.WordArray=c.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:8*e.length},toX32:function(){for(var e=this.words,t=e.length,n=[],r=0;r<t;r++){var i=e[r];n.push(i.high),n.push(i.low)}return f.create(n,this.sigBytes)},clone:function(){for(var e=c.clone.call(this),t=e.words=this.words.slice(0),n=t.length,r=0;r<n;r++)t[r]=t[r].clone();return e}}),n)}),Q(function(e,t){var n;e.exports=(n=Lt,function(){if("function"==typeof ArrayBuffer){var e=n.lib.WordArray,t=e.init;(e.init=function(e){if(e instanceof ArrayBuffer&&(e=new Uint8Array(e)),(e instanceof Int8Array||"undefined"!=typeof Uint8ClampedArray&&e instanceof Uint8ClampedArray||e instanceof Int16Array||e instanceof Uint16Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Float32Array||e instanceof Float64Array)&&(e=new Uint8Array(e.buffer,e.byteOffset,e.byteLength)),e instanceof Uint8Array){for(var n=e.byteLength,r=[],i=0;i<n;i++)r[i>>>2]|=e[i]<<24-i%4*8;t.call(this,r,n)}else t.apply(this,arguments)}).prototype=e}}(),n.lib.WordArray)}),Q(function(e,t){var n;e.exports=(n=Lt,function(){var e=n,t=e.lib.WordArray,r=e.enc;function i2(e){return e<<8&4278255360|e>>>8&16711935}r.Utf16=r.Utf16BE={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],i=0;i<n;i+=2){var c=t[i>>>2]>>>16-i%4*8&65535;r.push(String.fromCharCode(c))}return r.join("")},parse:function(e){for(var n=e.length,r=[],i=0;i<n;i++)r[i>>>1]|=e.charCodeAt(i)<<16-i%2*16;return t.create(r,2*n)}},r.Utf16LE={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],i=0;i<n;i+=2){var c=i2(t[i>>>2]>>>16-i%4*8&65535);r.push(String.fromCharCode(c))}return r.join("")},parse:function(e){for(var n=e.length,r=[],i=0;i<n;i++)r[i>>>1]|=i2(e.charCodeAt(i)<<16-i%2*16);return t.create(r,2*n)}}}(),n.enc.Utf16)}),Q(function(e,t){var n,r,i;e.exports=(i=(r=n=Lt).lib.WordArray,r.enc.Base64={stringify:function(e){var t=e.words,n=e.sigBytes,r=this._map;e.clamp();for(var i=[],c=0;c<n;c+=3)for(var f=(t[c>>>2]>>>24-c%4*8&255)<<16|(t[c+1>>>2]>>>24-(c+1)%4*8&255)<<8|t[c+2>>>2]>>>24-(c+2)%4*8&255,D=0;D<4&&c+.75*D<n;D++)i.push(r.charAt(f>>>6*(3-D)&63));var K=r.charAt(64);if(K)for(;i.length%4;)i.push(K);return i.join("")},parse:function(e){var t=e.length,n=this._map,r=this._reverseMap;if(!r){r=this._reverseMap=[];for(var c=0;c<n.length;c++)r[n.charCodeAt(c)]=c}var f=n.charAt(64);if(f){var D=e.indexOf(f);-1!==D&&(t=D)}return function(e,t,n){for(var r=[],c=0,f=0;f<t;f++)if(f%4){var D=n[e.charCodeAt(f-1)]<<f%4*2,K=n[e.charCodeAt(f)]>>>6-f%4*2;r[c>>>2]|=(D|K)<<24-c%4*8,c++}return i.create(r,c)}(e,t,r)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},n.enc.Base64)}),Q(function(e,t){var n;e.exports=(n=Lt,function(e){var t=n,r=t.lib,i=r.WordArray,c=r.Hasher,f=t.algo,D=[];!function(){for(var t=0;t<64;t++)D[t]=4294967296*e.abs(e.sin(t+1))|0}();var K=f.MD5=c.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var n=0;n<16;n++){var r=t+n,i=e[r];e[r]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8)}var c=this._hash.words,f=e[t+0],K=e[t+1],ee=e[t+2],te=e[t+3],ie=e[t+4],se=e[t+5],oe=e[t+6],he=e[t+7],le=e[t+8],fe=e[t+9],_e=e[t+10],Ce=e[t+11],Be=e[t+12],Me=e[t+13],ze=e[t+14],Je=e[t+15],nt=c[0],st=c[1],Tt=c[2],Lt=c[3];nt=l2(nt,st,Tt,Lt,f,7,D[0]),Lt=l2(Lt,nt,st,Tt,K,12,D[1]),Tt=l2(Tt,Lt,nt,st,ee,17,D[2]),st=l2(st,Tt,Lt,nt,te,22,D[3]),nt=l2(nt,st,Tt,Lt,ie,7,D[4]),Lt=l2(Lt,nt,st,Tt,se,12,D[5]),Tt=l2(Tt,Lt,nt,st,oe,17,D[6]),st=l2(st,Tt,Lt,nt,he,22,D[7]),nt=l2(nt,st,Tt,Lt,le,7,D[8]),Lt=l2(Lt,nt,st,Tt,fe,12,D[9]),Tt=l2(Tt,Lt,nt,st,_e,17,D[10]),st=l2(st,Tt,Lt,nt,Ce,22,D[11]),nt=l2(nt,st,Tt,Lt,Be,7,D[12]),Lt=l2(Lt,nt,st,Tt,Me,12,D[13]),Tt=l2(Tt,Lt,nt,st,ze,17,D[14]),nt=f2(nt,st=l2(st,Tt,Lt,nt,Je,22,D[15]),Tt,Lt,K,5,D[16]),Lt=f2(Lt,nt,st,Tt,oe,9,D[17]),Tt=f2(Tt,Lt,nt,st,Ce,14,D[18]),st=f2(st,Tt,Lt,nt,f,20,D[19]),nt=f2(nt,st,Tt,Lt,se,5,D[20]),Lt=f2(Lt,nt,st,Tt,_e,9,D[21]),Tt=f2(Tt,Lt,nt,st,Je,14,D[22]),st=f2(st,Tt,Lt,nt,ie,20,D[23]),nt=f2(nt,st,Tt,Lt,fe,5,D[24]),Lt=f2(Lt,nt,st,Tt,ze,9,D[25]),Tt=f2(Tt,Lt,nt,st,te,14,D[26]),st=f2(st,Tt,Lt,nt,le,20,D[27]),nt=f2(nt,st,Tt,Lt,Me,5,D[28]),Lt=f2(Lt,nt,st,Tt,ee,9,D[29]),Tt=f2(Tt,Lt,nt,st,he,14,D[30]),nt=c2(nt,st=f2(st,Tt,Lt,nt,Be,20,D[31]),Tt,Lt,se,4,D[32]),Lt=c2(Lt,nt,st,Tt,le,11,D[33]),Tt=c2(Tt,Lt,nt,st,Ce,16,D[34]),st=c2(st,Tt,Lt,nt,ze,23,D[35]),nt=c2(nt,st,Tt,Lt,K,4,D[36]),Lt=c2(Lt,nt,st,Tt,ie,11,D[37]),Tt=c2(Tt,Lt,nt,st,he,16,D[38]),st=c2(st,Tt,Lt,nt,_e,23,D[39]),nt=c2(nt,st,Tt,Lt,Me,4,D[40]),Lt=c2(Lt,nt,st,Tt,f,11,D[41]),Tt=c2(Tt,Lt,nt,st,te,16,D[42]),st=c2(st,Tt,Lt,nt,oe,23,D[43]),nt=c2(nt,st,Tt,Lt,fe,4,D[44]),Lt=c2(Lt,nt,st,Tt,Be,11,D[45]),Tt=c2(Tt,Lt,nt,st,Je,16,D[46]),nt=u2(nt,st=c2(st,Tt,Lt,nt,ee,23,D[47]),Tt,Lt,f,6,D[48]),Lt=u2(Lt,nt,st,Tt,he,10,D[49]),Tt=u2(Tt,Lt,nt,st,ze,15,D[50]),st=u2(st,Tt,Lt,nt,se,21,D[51]),nt=u2(nt,st,Tt,Lt,Be,6,D[52]),Lt=u2(Lt,nt,st,Tt,te,10,D[53]),Tt=u2(Tt,Lt,nt,st,_e,15,D[54]),st=u2(st,Tt,Lt,nt,K,21,D[55]),nt=u2(nt,st,Tt,Lt,le,6,D[56]),Lt=u2(Lt,nt,st,Tt,Je,10,D[57]),Tt=u2(Tt,Lt,nt,st,oe,15,D[58]),st=u2(st,Tt,Lt,nt,Me,21,D[59]),nt=u2(nt,st,Tt,Lt,ie,6,D[60]),Lt=u2(Lt,nt,st,Tt,Ce,10,D[61]),Tt=u2(Tt,Lt,nt,st,ee,15,D[62]),st=u2(st,Tt,Lt,nt,fe,21,D[63]),c[0]=c[0]+nt|0,c[1]=c[1]+st|0,c[2]=c[2]+Tt|0,c[3]=c[3]+Lt|0},_doFinalize:function(){var t=this._data,n=t.words,r=8*this._nDataBytes,i=8*t.sigBytes;n[i>>>5]|=128<<24-i%32;var c=e.floor(r/4294967296),f=r;n[15+(i+64>>>9<<4)]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),n[14+(i+64>>>9<<4)]=16711935&(f<<8|f>>>24)|4278255360&(f<<24|f>>>8),t.sigBytes=4*(n.length+1),this._process();for(var D=this._hash,K=D.words,ee=0;ee<4;ee++){var te=K[ee];K[ee]=16711935&(te<<8|te>>>24)|4278255360&(te<<24|te>>>8)}return D},clone:function(){var e=c.clone.call(this);return e._hash=this._hash.clone(),e}});function l2(e,t,n,r,i,c,f){var D=e+(t&n|~t&r)+i+f;return(D<<c|D>>>32-c)+t}function f2(e,t,n,r,i,c,f){var D=e+(t&r|n&~r)+i+f;return(D<<c|D>>>32-c)+t}function c2(e,t,n,r,i,c,f){var D=e+(t^n^r)+i+f;return(D<<c|D>>>32-c)+t}function u2(e,t,n,r,i,c,f){var D=e+(n^(t|~r))+i+f;return(D<<c|D>>>32-c)+t}t.MD5=c._createHelper(K),t.HmacMD5=c._createHmacHelper(K)}(Math),n.MD5)}),Q(function(e,t){var n,r,i,c,f,D,K,ee;e.exports=(i=(r=n=Lt).lib,c=i.WordArray,f=i.Hasher,D=r.algo,K=[],ee=D.SHA1=f.extend({_doReset:function(){this._hash=new c.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],i=n[1],c=n[2],f=n[3],D=n[4],ee=0;ee<80;ee++){if(ee<16)K[ee]=0|e[t+ee];else{var te=K[ee-3]^K[ee-8]^K[ee-14]^K[ee-16];K[ee]=te<<1|te>>>31}var ie=(r<<5|r>>>27)+D+K[ee];ie+=ee<20?1518500249+(i&c|~i&f):ee<40?1859775393+(i^c^f):ee<60?(i&c|i&f|c&f)-1894007588:(i^c^f)-899497514,D=f,f=c,c=i<<30|i>>>2,i=r,r=ie}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+c|0,n[3]=n[3]+f|0,n[4]=n[4]+D|0},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[14+(r+64>>>9<<4)]=Math.floor(n/4294967296),t[15+(r+64>>>9<<4)]=n,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=f.clone.call(this);return e._hash=this._hash.clone(),e}}),r.SHA1=f._createHelper(ee),r.HmacSHA1=f._createHmacHelper(ee),n.SHA1)}),Q(function(e,t){var n;e.exports=(n=Lt,function(e){var t=n,r=t.lib,i=r.WordArray,c=r.Hasher,f=t.algo,D=[],K=[];!function(){function t4(t){for(var n=e.sqrt(t),r=2;r<=n;r++)if(!(t%r))return!1;return!0}function r3(e){return 4294967296*(e-(0|e))|0}for(var t=2,n=0;n<64;)t4(t)&&(n<8&&(D[n]=r3(e.pow(t,.5))),K[n]=r3(e.pow(t,1/3)),n++),t++}();var ee=[],te=f.SHA256=c.extend({_doReset:function(){this._hash=new i.init(D.slice(0))},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],i=n[1],c=n[2],f=n[3],D=n[4],te=n[5],ie=n[6],se=n[7],oe=0;oe<64;oe++){if(oe<16)ee[oe]=0|e[t+oe];else{var he=ee[oe-15],le=(he<<25|he>>>7)^(he<<14|he>>>18)^he>>>3,fe=ee[oe-2],_e=(fe<<15|fe>>>17)^(fe<<13|fe>>>19)^fe>>>10;ee[oe]=le+ee[oe-7]+_e+ee[oe-16]}var Ce=r&i^r&c^i&c,Be=(r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22),Me=se+((D<<26|D>>>6)^(D<<21|D>>>11)^(D<<7|D>>>25))+(D&te^~D&ie)+K[oe]+ee[oe];se=ie,ie=te,te=D,D=f+Me|0,f=c,c=i,i=r,r=Me+(Be+Ce)|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+c|0,n[3]=n[3]+f|0,n[4]=n[4]+D|0,n[5]=n[5]+te|0,n[6]=n[6]+ie|0,n[7]=n[7]+se|0},_doFinalize:function(){var t=this._data,n=t.words,r=8*this._nDataBytes,i=8*t.sigBytes;return n[i>>>5]|=128<<24-i%32,n[14+(i+64>>>9<<4)]=e.floor(r/4294967296),n[15+(i+64>>>9<<4)]=r,t.sigBytes=4*n.length,this._process(),this._hash},clone:function(){var e=c.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=c._createHelper(te),t.HmacSHA256=c._createHmacHelper(te)}(Math),n.SHA256)}),Q(function(e,t){var n,r,i,c,f,D;e.exports=(i=(r=n=Lt).lib.WordArray,c=r.algo,f=c.SHA256,D=c.SHA224=f.extend({_doReset:function(){this._hash=new i.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=f._doFinalize.call(this);return e.sigBytes-=4,e}}),r.SHA224=f._createHelper(D),r.HmacSHA224=f._createHmacHelper(D),n.SHA224)}),Q(function(e,t){var n;e.exports=(n=Lt,function(){var e=n,t=e.lib.Hasher,r=e.x64,i=r.Word,c=r.WordArray,f=e.algo;function s2(){return i.create.apply(i,arguments)}var D=[s2(1116352408,3609767458),s2(1899447441,602891725),s2(3049323471,3964484399),s2(3921009573,2173295548),s2(961987163,4081628472),s2(1508970993,3053834265),s2(2453635748,2937671579),s2(2870763221,3664609560),s2(3624381080,2734883394),s2(310598401,1164996542),s2(607225278,1323610764),s2(1426881987,3590304994),s2(1925078388,4068182383),s2(2162078206,991336113),s2(2614888103,633803317),s2(3248222580,3479774868),s2(3835390401,2666613458),s2(4022224774,944711139),s2(264347078,2341262773),s2(604807628,2007800933),s2(770255983,1495990901),s2(1249150122,1856431235),s2(1555081692,3175218132),s2(1996064986,2198950837),s2(2554220882,3999719339),s2(2821834349,766784016),s2(2952996808,2566594879),s2(3210313671,3203337956),s2(3336571891,1034457026),s2(3584528711,2466948901),s2(113926993,3758326383),s2(338241895,168717936),s2(666307205,1188179964),s2(773529912,1546045734),s2(1294757372,1522805485),s2(1396182291,2643833823),s2(1695183700,2343527390),s2(1986661051,1014477480),s2(2177026350,1206759142),s2(2456956037,344077627),s2(2730485921,1290863460),s2(2820302411,3158454273),s2(3259730800,3505952657),s2(3345764771,106217008),s2(3516065817,3606008344),s2(3600352804,1432725776),s2(4094571909,1467031594),s2(275423344,851169720),s2(430227734,3100823752),s2(506948616,1363258195),s2(659060556,3750685593),s2(883997877,3785050280),s2(958139571,3318307427),s2(1322822218,3812723403),s2(1537002063,2003034995),s2(1747873779,3602036899),s2(1955562222,1575990012),s2(2024104815,1125592928),s2(2227730452,2716904306),s2(2361852424,442776044),s2(2428436474,593698344),s2(2756734187,3733110249),s2(3204031479,2999351573),s2(3329325298,3815920427),s2(3391569614,3928383900),s2(3515267271,566280711),s2(3940187606,3454069534),s2(4118630271,4000239992),s2(116418474,1914138554),s2(174292421,2731055270),s2(289380356,3203993006),s2(460393269,320620315),s2(685471733,587496836),s2(852142971,1086792851),s2(1017036298,365543100),s2(1126000580,2618297676),s2(1288033470,3409855158),s2(1501505948,4234509866),s2(1607167915,987167468),s2(1816402316,1246189591)],K=[];!function(){for(var e=0;e<80;e++)K[e]=s2()}();var ee=f.SHA512=t.extend({_doReset:function(){this._hash=new c.init([new i.init(1779033703,4089235720),new i.init(3144134277,2227873595),new i.init(1013904242,4271175723),new i.init(2773480762,1595750129),new i.init(1359893119,2917565137),new i.init(2600822924,725511199),new i.init(528734635,4215389547),new i.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],i=n[1],c=n[2],f=n[3],ee=n[4],te=n[5],ie=n[6],se=n[7],oe=r.high,he=r.low,le=i.high,fe=i.low,_e=c.high,Ce=c.low,Be=f.high,Me=f.low,ze=ee.high,Je=ee.low,nt=te.high,st=te.low,Tt=ie.high,Lt=ie.low,Mt=se.high,Nt=se.low,Wt=oe,Vt=he,Kt=le,qt=fe,Yt=_e,Gt=Ce,Xt=Be,Qt=Me,Jt=ze,en=Je,tn=nt,nn=st,rn=Tt,sn=Lt,on=Mt,an=Nt,hn=0;hn<80;hn++){var cn=K[hn];if(hn<16)var ln=cn.high=0|e[t+2*hn],un=cn.low=0|e[t+2*hn+1];else{var fn=K[hn-15],dn=fn.high,pn=fn.low,gn=(dn>>>1|pn<<31)^(dn>>>8|pn<<24)^dn>>>7,mn=(pn>>>1|dn<<31)^(pn>>>8|dn<<24)^(pn>>>7|dn<<25),wn=K[hn-2],vn=wn.high,_n=wn.low,bn=(vn>>>19|_n<<13)^(vn<<3|_n>>>29)^vn>>>6,yn=(_n>>>19|vn<<13)^(_n<<3|vn>>>29)^(_n>>>6|vn<<26),kn=K[hn-7],En=kn.high,Sn=kn.low,xn=K[hn-16],An=xn.high,Rn=xn.low;ln=(ln=(ln=gn+En+((un=mn+Sn)>>>0<mn>>>0?1:0))+bn+((un+=yn)>>>0<yn>>>0?1:0))+An+((un+=Rn)>>>0<Rn>>>0?1:0),cn.high=ln,cn.low=un}var Tn,In=Jt&tn^~Jt&rn,Cn=en&nn^~en&sn,Bn=Wt&Kt^Wt&Yt^Kt&Yt,Ln=Vt&qt^Vt&Gt^qt&Gt,Mn=(Wt>>>28|Vt<<4)^(Wt<<30|Vt>>>2)^(Wt<<25|Vt>>>7),Pn=(Vt>>>28|Wt<<4)^(Vt<<30|Wt>>>2)^(Vt<<25|Wt>>>7),Dn=(Jt>>>14|en<<18)^(Jt>>>18|en<<14)^(Jt<<23|en>>>9),zn=(en>>>14|Jt<<18)^(en>>>18|Jt<<14)^(en<<23|Jt>>>9),On=D[hn],Un=On.high,er=On.low,tr=on+Dn+((Tn=an+zn)>>>0<an>>>0?1:0),nr=Pn+Ln;on=rn,an=sn,rn=tn,sn=nn,tn=Jt,nn=en,Jt=Xt+(tr=(tr=(tr=tr+In+((Tn+=Cn)>>>0<Cn>>>0?1:0))+Un+((Tn+=er)>>>0<er>>>0?1:0))+ln+((Tn+=un)>>>0<un>>>0?1:0))+((en=Qt+Tn|0)>>>0<Qt>>>0?1:0)|0,Xt=Yt,Qt=Gt,Yt=Kt,Gt=qt,Kt=Wt,qt=Vt,Wt=tr+(Mn+Bn+(nr>>>0<Pn>>>0?1:0))+((Vt=Tn+nr|0)>>>0<Tn>>>0?1:0)|0}he=r.low=he+Vt,r.high=oe+Wt+(he>>>0<Vt>>>0?1:0),fe=i.low=fe+qt,i.high=le+Kt+(fe>>>0<qt>>>0?1:0),Ce=c.low=Ce+Gt,c.high=_e+Yt+(Ce>>>0<Gt>>>0?1:0),Me=f.low=Me+Qt,f.high=Be+Xt+(Me>>>0<Qt>>>0?1:0),Je=ee.low=Je+en,ee.high=ze+Jt+(Je>>>0<en>>>0?1:0),st=te.low=st+nn,te.high=nt+tn+(st>>>0<nn>>>0?1:0),Lt=ie.low=Lt+sn,ie.high=Tt+rn+(Lt>>>0<sn>>>0?1:0),Nt=se.low=Nt+an,se.high=Mt+on+(Nt>>>0<an>>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[30+(r+128>>>10<<5)]=Math.floor(n/4294967296),t[31+(r+128>>>10<<5)]=n,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=t.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32});e.SHA512=t._createHelper(ee),e.HmacSHA512=t._createHmacHelper(ee)}(),n.SHA512)}),Q(function(e,t){var n,r,i,c,f,D,K,ee;e.exports=(i=(r=n=Lt).x64,c=i.Word,f=i.WordArray,D=r.algo,K=D.SHA512,ee=D.SHA384=K.extend({_doReset:function(){this._hash=new f.init([new c.init(3418070365,3238371032),new c.init(1654270250,914150663),new c.init(2438529370,812702999),new c.init(355462360,4144912697),new c.init(1731405415,4290775857),new c.init(2394180231,1750603025),new c.init(3675008525,1694076839),new c.init(1203062813,3204075428)])},_doFinalize:function(){var e=K._doFinalize.call(this);return e.sigBytes-=16,e}}),r.SHA384=K._createHelper(ee),r.HmacSHA384=K._createHmacHelper(ee),n.SHA384)}),Q(function(e,t){var n;e.exports=(n=Lt,function(e){var t=n,r=t.lib,i=r.WordArray,c=r.Hasher,f=t.x64.Word,D=t.algo,K=[],ee=[],te=[];!function(){for(var e=1,t=0,n=0;n<24;n++){K[e+5*t]=(n+1)*(n+2)/2%64;var r=(2*e+3*t)%5;e=t%5,t=r}for(e=0;e<5;e++)for(t=0;t<5;t++)ee[e+5*t]=t+(2*e+3*t)%5*5;for(var i=1,c=0;c<24;c++){for(var D=0,ie=0,se=0;se<7;se++){if(1&i){var oe=(1<<se)-1;oe<32?ie^=1<<oe:D^=1<<oe-32}128&i?i=i<<1^113:i<<=1}te[c]=f.create(D,ie)}}();var ie=[];!function(){for(var e=0;e<25;e++)ie[e]=f.create()}();var se=D.SHA3=c.extend({cfg:c.cfg.extend({outputLength:512}),_doReset:function(){for(var e=this._state=[],t=0;t<25;t++)e[t]=new f.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(e,t){for(var n=this._state,r=this.blockSize/2,i=0;i<r;i++){var c=e[t+2*i],f=e[t+2*i+1];c=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),f=16711935&(f<<8|f>>>24)|4278255360&(f<<24|f>>>8),(Nt=n[i]).high^=f,Nt.low^=c}for(var D=0;D<24;D++){for(var se=0;se<5;se++){for(var oe=0,he=0,le=0;le<5;le++)oe^=(Nt=n[se+5*le]).high,he^=Nt.low;var fe=ie[se];fe.high=oe,fe.low=he}for(se=0;se<5;se++){var _e=ie[(se+4)%5],Ce=ie[(se+1)%5],Be=Ce.high,Me=Ce.low;for(oe=_e.high^(Be<<1|Me>>>31),he=_e.low^(Me<<1|Be>>>31),le=0;le<5;le++)(Nt=n[se+5*le]).high^=oe,Nt.low^=he}for(var ze=1;ze<25;ze++){var Je=(Nt=n[ze]).high,nt=Nt.low,st=K[ze];st<32?(oe=Je<<st|nt>>>32-st,he=nt<<st|Je>>>32-st):(oe=nt<<st-32|Je>>>64-st,he=Je<<st-32|nt>>>64-st);var Tt=ie[ee[ze]];Tt.high=oe,Tt.low=he}var Lt=ie[0],Mt=n[0];for(Lt.high=Mt.high,Lt.low=Mt.low,se=0;se<5;se++)for(le=0;le<5;le++){var Nt=n[ze=se+5*le],Wt=ie[ze],Vt=ie[(se+1)%5+5*le],Kt=ie[(se+2)%5+5*le];Nt.high=Wt.high^~Vt.high&Kt.high,Nt.low=Wt.low^~Vt.low&Kt.low}Nt=n[0];var qt=te[D];Nt.high^=qt.high,Nt.low^=qt.low}},_doFinalize:function(){var t=this._data,n=t.words,r=(this._nDataBytes,8*t.sigBytes),c=32*this.blockSize;n[r>>>5]|=1<<24-r%32,n[(e.ceil((r+1)/c)*c>>>5)-1]|=128,t.sigBytes=4*n.length,this._process();for(var f=this._state,D=this.cfg.outputLength/8,K=D/8,ee=[],te=0;te<K;te++){var ie=f[te],se=ie.high,oe=ie.low;se=16711935&(se<<8|se>>>24)|4278255360&(se<<24|se>>>8),oe=16711935&(oe<<8|oe>>>24)|4278255360&(oe<<24|oe>>>8),ee.push(oe),ee.push(se)}return new i.init(ee,D)},clone:function(){for(var e=c.clone.call(this),t=e._state=this._state.slice(0),n=0;n<25;n++)t[n]=t[n].clone();return e}});t.SHA3=c._createHelper(se),t.HmacSHA3=c._createHmacHelper(se)}(Math),n.SHA3)}),Q(function(e,t){var n;e.exports=(n=Lt,function(e){var t=n,r=t.lib,i=r.WordArray,c=r.Hasher,f=t.algo,D=i.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),K=i.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),ee=i.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),te=i.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),ie=i.create([0,1518500249,1859775393,2400959708,2840853838]),se=i.create([1352829926,1548603684,1836072691,2053994217,0]),oe=f.RIPEMD160=c.extend({_doReset:function(){this._hash=i.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var n=0;n<16;n++){var r=t+n,i=e[r];e[r]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8)}var c,f,oe,he,le,fe,_e,Ce,Be,Me,ze,Je=this._hash.words,nt=ie.words,st=se.words,Tt=D.words,Lt=K.words,Mt=ee.words,Nt=te.words;for(fe=c=Je[0],_e=f=Je[1],Ce=oe=Je[2],Be=he=Je[3],Me=le=Je[4],n=0;n<80;n+=1)ze=c+e[t+Tt[n]]|0,ze+=n<16?p2(f,oe,he)+nt[0]:n<32?_2(f,oe,he)+nt[1]:n<48?g2(f,oe,he)+nt[2]:n<64?v2(f,oe,he)+nt[3]:w2(f,oe,he)+nt[4],ze=(ze=b2(ze|=0,Mt[n]))+le|0,c=le,le=he,he=b2(oe,10),oe=f,f=ze,ze=fe+e[t+Lt[n]]|0,ze+=n<16?w2(_e,Ce,Be)+st[0]:n<32?v2(_e,Ce,Be)+st[1]:n<48?g2(_e,Ce,Be)+st[2]:n<64?_2(_e,Ce,Be)+st[3]:p2(_e,Ce,Be)+st[4],ze=(ze=b2(ze|=0,Nt[n]))+Me|0,fe=Me,Me=Be,Be=b2(Ce,10),Ce=_e,_e=ze;ze=Je[1]+oe+Be|0,Je[1]=Je[2]+he+Me|0,Je[2]=Je[3]+le+fe|0,Je[3]=Je[4]+c+_e|0,Je[4]=Je[0]+f+Ce|0,Je[0]=ze},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;t[r>>>5]|=128<<24-r%32,t[14+(r+64>>>9<<4)]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),e.sigBytes=4*(t.length+1),this._process();for(var i=this._hash,c=i.words,f=0;f<5;f++){var D=c[f];c[f]=16711935&(D<<8|D>>>24)|4278255360&(D<<24|D>>>8)}return i},clone:function(){var e=c.clone.call(this);return e._hash=this._hash.clone(),e}});function p2(e,t,n){return e^t^n}function _2(e,t,n){return e&t|~e&n}function g2(e,t,n){return(e|~t)^n}function v2(e,t,n){return e&n|t&~n}function w2(e,t,n){return e^(t|~n)}function b2(e,t){return e<<t|e>>>32-t}t.RIPEMD160=c._createHelper(oe),t.HmacRIPEMD160=c._createHmacHelper(oe)}(),n.RIPEMD160)}),Q(function(e,t){var n,r,i,c,f,D;e.exports=(i=(r=(n=Lt).lib).Base,c=n.enc,f=c.Utf8,void((D=n.algo).HMAC=i.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=f.parse(t));var n=e.blockSize,r=4*n;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),c=this._iKey=t.clone(),D=i.words,K=c.words,ee=0;ee<n;ee++)D[ee]^=1549556828,K[ee]^=909522486;i.sigBytes=c.sigBytes=r,this.reset()},reset:function(){var e=this._hasher;e.reset(),e.update(this._iKey)},update:function(e){return this._hasher.update(e),this},finalize:function(e){var t=this._hasher,n=t.finalize(e),r;return t.reset(),t.finalize(this._oKey.clone().concat(n))}})))}),Q(function(e,t){var n,r,i,c,f,D,K,ee,te;e.exports=(c=(i=(r=n=Lt).lib).Base,f=i.WordArray,K=(D=r.algo).SHA1,ee=D.HMAC,te=D.PBKDF2=c.extend({cfg:c.extend({keySize:4,hasher:K,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var n=this.cfg,r=ee.create(n.hasher,e),i=f.create(),c=f.create([1]),D=i.words,K=c.words,te=n.keySize,ie=n.iterations;D.length<te;){var se=r.update(t).finalize(c);r.reset();for(var oe=se.words,he=oe.length,le=se,fe=1;fe<ie;fe++){le=r.finalize(le),r.reset();for(var _e=le.words,Ce=0;Ce<he;Ce++)oe[Ce]^=_e[Ce]}i.concat(se),K[0]++}return i.sigBytes=4*te,i}}),r.PBKDF2=function(e,t,n){return te.create(n).compute(e,t)},n.PBKDF2)}),Q(function(e,t){var n,r,i,c,f,D,K,ee;e.exports=(c=(i=(r=n=Lt).lib).Base,f=i.WordArray,K=(D=r.algo).MD5,ee=D.EvpKDF=c.extend({cfg:c.extend({keySize:4,hasher:K,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var n=this.cfg,r=n.hasher.create(),i=f.create(),c=i.words,D=n.keySize,K=n.iterations;c.length<D;){ee&&r.update(ee);var ee=r.update(e).finalize(t);r.reset();for(var te=1;te<K;te++)ee=r.finalize(ee),r.reset();i.concat(ee)}return i.sigBytes=4*D,i}}),r.EvpKDF=function(e,t,n){return ee.create(n).compute(e,t)},n.EvpKDF)}),Q(function(e,t){var n,r,i,c,f,D,K,ee,te,ie,se,oe,he,le,fe,_e,Ce,Be,Me,ze,Je,nt,st,Tt;e.exports=void((n=Lt).lib.Cipher||(i=n,c=i.lib,f=c.Base,D=c.WordArray,K=c.BufferedBlockAlgorithm,ee=i.enc,ee.Utf8,te=ee.Base64,ie=i.algo,se=ie.EvpKDF,oe=c.Cipher=K.extend({cfg:f.extend(),createEncryptor:function(e,t){return this.create(this._ENC_XFORM_MODE,e,t)},createDecryptor:function(e,t){return this.create(this._DEC_XFORM_MODE,e,t)},init:function(e,t,n){this.cfg=this.cfg.extend(n),this._xformMode=e,this._key=t,this.reset()},reset:function(){K.reset.call(this),this._doReset()},process:function(e){return this._append(e),this._process()},finalize:function(e){var t;return e&&this._append(e),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function e3(e){return"string"==typeof e?Tt:Je}return function(e){return{encrypt:function(t,n,r){return e3(n).encrypt(e,t,n,r)},decrypt:function(t,n,r){return e3(n).decrypt(e,t,n,r)}}}}()}),c.StreamCipher=oe.extend({_doFinalize:function(){var e;return this._process(!0)},blockSize:1}),he=i.mode={},le=c.BlockCipherMode=f.extend({createEncryptor:function(e,t){return this.Encryptor.create(e,t)},createDecryptor:function(e,t){return this.Decryptor.create(e,t)},init:function(e,t){this._cipher=e,this._iv=t}}),fe=he.CBC=function(){var e=le.extend();function t3(e,t,n){var i=this._iv;if(i){var c=i;this._iv=r}else var c=this._prevBlock;for(var f=0;f<n;f++)e[t+f]^=c[f]}return e.Encryptor=e.extend({processBlock:function(e,t){var n=this._cipher,r=n.blockSize;t3.call(this,e,t,r),n.encryptBlock(e,t),this._prevBlock=e.slice(t,t+r)}}),e.Decryptor=e.extend({processBlock:function(e,t){var n=this._cipher,r=n.blockSize,i=e.slice(t,t+r);n.decryptBlock(e,t),t3.call(this,e,t,r),this._prevBlock=i}}),e}(),_e=i.pad={},Ce=_e.Pkcs7={pad:function(e,t){for(var n=4*t,r=n-e.sigBytes%n,i=r<<24|r<<16|r<<8|r,c=[],f=0;f<r;f+=4)c.push(i);var K=D.create(c,r);e.concat(K)},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},c.BlockCipher=oe.extend({cfg:oe.cfg.extend({mode:fe,padding:Ce}),reset:function(){oe.reset.call(this);var e=this.cfg,t=e.iv,n=e.mode;if(this._xformMode==this._ENC_XFORM_MODE)var r=n.createEncryptor;else{var r=n.createDecryptor;this._minBufferSize=1}this._mode&&this._mode.__creator==r?this._mode.init(this,t&&t.words):(this._mode=r.call(n,this,t&&t.words),this._mode.__creator=r)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);var t=this._process(!0)}else{var t=this._process(!0);e.unpad(t)}return t},blockSize:4}),Be=c.CipherParams=f.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),Me=i.format={},ze=Me.OpenSSL={stringify:function(e){var t=e.ciphertext,n=e.salt;if(n)var r=D.create([1398893684,1701076831]).concat(n).concat(t);else var r=t;return r.toString(te)},parse:function(e){var t=te.parse(e),n=t.words;if(1398893684==n[0]&&1701076831==n[1]){var r=D.create(n.slice(2,4));n.splice(0,4),t.sigBytes-=16}return Be.create({ciphertext:t,salt:r})}},Je=c.SerializableCipher=f.extend({cfg:f.extend({format:ze}),encrypt:function(e,t,n,r){r=this.cfg.extend(r);var i=e.createEncryptor(n,r),c=i.finalize(t),f=i.cfg;return Be.create({ciphertext:c,key:n,iv:f.iv,algorithm:e,mode:f.mode,padding:f.padding,blockSize:e.blockSize,formatter:r.format})},decrypt:function(e,t,n,r){var i;return r=this.cfg.extend(r),t=this._parse(t,r.format),e.createDecryptor(n,r).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}}),nt=i.kdf={},st=nt.OpenSSL={execute:function(e,t,n,r){r||(r=D.random(8));var i=se.create({keySize:t+n}).compute(e,r),c=D.create(i.words.slice(t),4*n);return i.sigBytes=4*t,Be.create({key:i,iv:c,salt:r})}},Tt=c.PasswordBasedCipher=Je.extend({cfg:Je.cfg.extend({kdf:st}),encrypt:function(e,t,n,r){var i=(r=this.cfg.extend(r)).kdf.execute(n,e.keySize,e.ivSize);r.iv=i.iv;var c=Je.encrypt.call(this,e,t,i.key,r);return c.mixIn(i),c},decrypt:function(e,t,n,r){r=this.cfg.extend(r),t=this._parse(t,r.format);var i=r.kdf.execute(n,e.keySize,e.ivSize,t.salt),c;return r.iv=i.iv,Je.decrypt.call(this,e,t,i.key,r)}})))}),Q(function(e,t){var n;e.exports=((n=Lt).mode.CFB=function(){var e=n.lib.BlockCipherMode.extend();function t3(e,t,n,r){var i=this._iv;if(i){var c=i.slice(0);this._iv=void 0}else c=this._prevBlock;r.encryptBlock(c,0);for(var f=0;f<n;f++)e[t+f]^=c[f]}return e.Encryptor=e.extend({processBlock:function(e,t){var n=this._cipher,r=n.blockSize;t3.call(this,e,t,r,n),this._prevBlock=e.slice(t,t+r)}}),e.Decryptor=e.extend({processBlock:function(e,t){var n=this._cipher,r=n.blockSize,i=e.slice(t,t+r);t3.call(this,e,t,r,n),this._prevBlock=i}}),e}(),n.mode.CFB)}),Q(function(e,t){var n,r,i;e.exports=((n=Lt).mode.CTR=(i=(r=n.lib.BlockCipherMode.extend()).Encryptor=r.extend({processBlock:function(e,t){var n=this._cipher,r=n.blockSize,i=this._iv,c=this._counter;i&&(c=this._counter=i.slice(0),this._iv=void 0);var f=c.slice(0);n.encryptBlock(f,0),c[r-1]=c[r-1]+1|0;for(var D=0;D<r;D++)e[t+D]^=f[D]}}),r.Decryptor=i,r),n.mode.CTR)}),Q(function(e,t){var n;e.exports=((n=Lt).mode.CTRGladman=function(){var e=n.lib.BlockCipherMode.extend();function t3(e){if(255&~(e>>24))e+=1<<24;else{var t=e>>16&255,n=e>>8&255,r=255&e;255===t?(t=0,255===n?(n=0,255===r?r=0:++r):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=r}return e}var t=e.Encryptor=e.extend({processBlock:function(e,t){var n=this._cipher,r=n.blockSize,i=this._iv,c=this._counter,f;i&&(c=this._counter=i.slice(0),this._iv=void 0),0===((f=c)[0]=t3(f[0]))&&(f[1]=t3(f[1]));var D=c.slice(0);n.encryptBlock(D,0);for(var K=0;K<r;K++)e[t+K]^=D[K]}});return e.Decryptor=t,e}(),n.mode.CTRGladman)}),Q(function(e,t){var n,r,i;e.exports=((n=Lt).mode.OFB=(i=(r=n.lib.BlockCipherMode.extend()).Encryptor=r.extend({processBlock:function(e,t){var n=this._cipher,r=n.blockSize,i=this._iv,c=this._keystream;i&&(c=this._keystream=i.slice(0),this._iv=void 0),n.encryptBlock(c,0);for(var f=0;f<r;f++)e[t+f]^=c[f]}}),r.Decryptor=i,r),n.mode.OFB)}),Q(function(e,t){var n,r;e.exports=((n=Lt).mode.ECB=((r=n.lib.BlockCipherMode.extend()).Encryptor=r.extend({processBlock:function(e,t){this._cipher.encryptBlock(e,t)}}),r.Decryptor=r.extend({processBlock:function(e,t){this._cipher.decryptBlock(e,t)}}),r),n.mode.ECB)}),Q(function(e,t){var n;e.exports=((n=Lt).pad.AnsiX923={pad:function(e,t){var n=e.sigBytes,r=4*t,i=r-n%r,c=n+i-1;e.clamp(),e.words[c>>>2]|=i<<24-c%4*8,e.sigBytes+=i},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},n.pad.Ansix923)}),Q(function(e,t){var n;e.exports=((n=Lt).pad.Iso10126={pad:function(e,t){var r=4*t,i=r-e.sigBytes%r;e.concat(n.lib.WordArray.random(i-1)).concat(n.lib.WordArray.create([i<<24],1))},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},n.pad.Iso10126)}),Q(function(e,t){var n;e.exports=((n=Lt).pad.Iso97971={pad:function(e,t){e.concat(n.lib.WordArray.create([2147483648],1)),n.pad.ZeroPadding.pad(e,t)},unpad:function(e){n.pad.ZeroPadding.unpad(e),e.sigBytes--}},n.pad.Iso97971)}),Q(function(e,t){var n;e.exports=((n=Lt).pad.ZeroPadding={pad:function(e,t){var n=4*t;e.clamp(),e.sigBytes+=n-(e.sigBytes%n||n)},unpad:function(e){for(var t=e.words,n=e.sigBytes-1;!(t[n>>>2]>>>24-n%4*8&255);)n--;e.sigBytes=n+1}},n.pad.ZeroPadding)}),Q(function(e,t){var n;e.exports=((n=Lt).pad.NoPadding={pad:function(){},unpad:function(){}},n.pad.NoPadding)}),Q(function(e,t){var n,r,i,c;e.exports=(i=(r=n=Lt).lib.CipherParams,c=r.enc.Hex,r.format.Hex={stringify:function(e){return e.ciphertext.toString(c)},parse:function(e){var t=c.parse(e);return i.create({ciphertext:t})}},n.format.Hex)}),Q(function(e,t){var n;e.exports=(n=Lt,function(){var e=n,t=e.lib.BlockCipher,r=e.algo,i=[],c=[],f=[],D=[],K=[],ee=[],te=[],ie=[],se=[],oe=[];!function(){for(var e=[],t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;var n=0,r=0;for(t=0;t<256;t++){var he=r^r<<1^r<<2^r<<3^r<<4;he=he>>>8^255&he^99,i[n]=he,c[he]=n;var le=e[n],fe=e[le],_e=e[fe],Ce=257*e[he]^16843008*he;f[n]=Ce<<24|Ce>>>8,D[n]=Ce<<16|Ce>>>16,K[n]=Ce<<8|Ce>>>24,ee[n]=Ce,Ce=16843009*_e^65537*fe^257*le^16843008*n,te[he]=Ce<<24|Ce>>>8,ie[he]=Ce<<16|Ce>>>16,se[he]=Ce<<8|Ce>>>24,oe[he]=Ce,n?(n=le^e[e[e[_e^le]]],r^=e[e[r]]):n=r=1}}();var he=[0,1,2,4,8,16,32,64,128,27,54],le=r.AES=t.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var e=this._keyPriorReset=this._key,t=e.words,n=e.sigBytes/4,r=4*((this._nRounds=n+6)+1),c=this._keySchedule=[],f=0;f<r;f++)if(f<n)c[f]=t[f];else{var D=c[f-1];f%n?n>6&&f%n==4&&(D=i[D>>>24]<<24|i[D>>>16&255]<<16|i[D>>>8&255]<<8|i[255&D]):(D=i[(D=D<<8|D>>>24)>>>24]<<24|i[D>>>16&255]<<16|i[D>>>8&255]<<8|i[255&D],D^=he[f/n|0]<<24),c[f]=c[f-n]^D}for(var K=this._invKeySchedule=[],ee=0;ee<r;ee++)f=r-ee,D=ee%4?c[f]:c[f-4],K[ee]=ee<4||f<=4?D:te[i[D>>>24]]^ie[i[D>>>16&255]]^se[i[D>>>8&255]]^oe[i[255&D]]}},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,f,D,K,ee,i)},decryptBlock:function(e,t){var n=e[t+1];e[t+1]=e[t+3],e[t+3]=n,this._doCryptBlock(e,t,this._invKeySchedule,te,ie,se,oe,c),n=e[t+1],e[t+1]=e[t+3],e[t+3]=n},_doCryptBlock:function(e,t,n,r,i,c,f,D){for(var K=this._nRounds,ee=e[t]^n[0],te=e[t+1]^n[1],ie=e[t+2]^n[2],se=e[t+3]^n[3],oe=4,he=1;he<K;he++){var le=r[ee>>>24]^i[te>>>16&255]^c[ie>>>8&255]^f[255&se]^n[oe++],fe=r[te>>>24]^i[ie>>>16&255]^c[se>>>8&255]^f[255&ee]^n[oe++],_e=r[ie>>>24]^i[se>>>16&255]^c[ee>>>8&255]^f[255&te]^n[oe++],Ce=r[se>>>24]^i[ee>>>16&255]^c[te>>>8&255]^f[255&ie]^n[oe++];ee=le,te=fe,ie=_e,se=Ce}le=(D[ee>>>24]<<24|D[te>>>16&255]<<16|D[ie>>>8&255]<<8|D[255&se])^n[oe++],fe=(D[te>>>24]<<24|D[ie>>>16&255]<<16|D[se>>>8&255]<<8|D[255&ee])^n[oe++],_e=(D[ie>>>24]<<24|D[se>>>16&255]<<16|D[ee>>>8&255]<<8|D[255&te])^n[oe++],Ce=(D[se>>>24]<<24|D[ee>>>16&255]<<16|D[te>>>8&255]<<8|D[255&ie])^n[oe++],e[t]=le,e[t+1]=fe,e[t+2]=_e,e[t+3]=Ce},keySize:8});e.AES=t._createHelper(le)}(),n.AES)}),Q(function(e,t){var n;e.exports=(n=Lt,function(){var e=n,t=e.lib,r=t.WordArray,i=t.BlockCipher,c=e.algo,f=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],D=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],K=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],ee=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],te=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],ie=c.DES=i.extend({_doReset:function(){for(var e=this._key.words,t=[],n=0;n<56;n++){var r=f[n]-1;t[n]=e[r>>>5]>>>31-r%32&1}for(var i=this._subKeys=[],c=0;c<16;c++){var ee=i[c]=[],te=K[c];for(n=0;n<24;n++)ee[n/6|0]|=t[(D[n]-1+te)%28]<<31-n%6,ee[4+(n/6|0)]|=t[28+(D[n+24]-1+te)%28]<<31-n%6;for(ee[0]=ee[0]<<1|ee[0]>>>31,n=1;n<7;n++)ee[n]=ee[n]>>>4*(n-1)+3;ee[7]=ee[7]<<5|ee[7]>>>27}var ie=this._invSubKeys=[];for(n=0;n<16;n++)ie[n]=i[15-n]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._subKeys)},decryptBlock:function(e,t){this._doCryptBlock(e,t,this._invSubKeys)},_doCryptBlock:function(e,t,n){this._lBlock=e[t],this._rBlock=e[t+1],u2.call(this,4,252645135),u2.call(this,16,65535),d2.call(this,2,858993459),d2.call(this,8,16711935),u2.call(this,1,1431655765);for(var r=0;r<16;r++){for(var i=n[r],c=this._lBlock,f=this._rBlock,D=0,K=0;K<8;K++)D|=ee[K][((f^i[K])&te[K])>>>0];this._lBlock=f,this._rBlock=c^D}var ie=this._lBlock;this._lBlock=this._rBlock,this._rBlock=ie,u2.call(this,1,1431655765),d2.call(this,8,16711935),d2.call(this,2,858993459),u2.call(this,16,65535),u2.call(this,4,252645135),e[t]=this._lBlock,e[t+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function u2(e,t){var n=(this._lBlock>>>e^this._rBlock)&t;this._rBlock^=n,this._lBlock^=n<<e}function d2(e,t){var n=(this._rBlock>>>e^this._lBlock)&t;this._lBlock^=n,this._rBlock^=n<<e}e.DES=i._createHelper(ie);var se=c.TripleDES=i.extend({_doReset:function(){var e=this._key.words;this._des1=ie.createEncryptor(r.create(e.slice(0,2))),this._des2=ie.createEncryptor(r.create(e.slice(2,4))),this._des3=ie.createEncryptor(r.create(e.slice(4,6)))},encryptBlock:function(e,t){this._des1.encryptBlock(e,t),this._des2.decryptBlock(e,t),this._des3.encryptBlock(e,t)},decryptBlock:function(e,t){this._des3.decryptBlock(e,t),this._des2.encryptBlock(e,t),this._des1.decryptBlock(e,t)},keySize:6,ivSize:2,blockSize:2});e.TripleDES=i._createHelper(se)}(),n.TripleDES)}),Q(function(e,t){var n;e.exports=(n=Lt,function(){var e=n,t=e.lib.StreamCipher,r=e.algo,i=r.RC4=t.extend({_doReset:function(){for(var e=this._key,t=e.words,n=e.sigBytes,r=this._S=[],i=0;i<256;i++)r[i]=i;i=0;for(var c=0;i<256;i++){var f=i%n,D=t[f>>>2]>>>24-f%4*8&255;c=(c+r[i]+D)%256;var K=r[i];r[i]=r[c],r[c]=K}this._i=this._j=0},_doProcessBlock:function(e,t){e[t]^=o2.call(this)},keySize:8,ivSize:0});function o2(){for(var e=this._S,t=this._i,n=this._j,r=0,i=0;i<4;i++){n=(n+e[t=(t+1)%256])%256;var c=e[t];e[t]=e[n],e[n]=c,r|=e[(e[t]+e[n])%256]<<24-8*i}return this._i=t,this._j=n,r}e.RC4=t._createHelper(i);var c=r.RC4Drop=i.extend({cfg:i.cfg.extend({drop:192}),_doReset:function(){i._doReset.call(this);for(var e=this.cfg.drop;e>0;e--)o2.call(this)}});e.RC4Drop=t._createHelper(c)}(),n.RC4)}),Q(function(e,t){var n;e.exports=(n=Lt,function(){var e=n,t=e.lib.StreamCipher,r=e.algo,i=[],c=[],f=[],D=r.Rabbit=t.extend({_doReset:function(){for(var e=this._key.words,t=this.cfg.iv,n=0;n<4;n++)e[n]=16711935&(e[n]<<8|e[n]>>>24)|4278255360&(e[n]<<24|e[n]>>>8);var r=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],i=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];for(this._b=0,n=0;n<4;n++)h2.call(this);for(n=0;n<8;n++)i[n]^=r[n+4&7];if(t){var c=t.words,f=c[0],D=c[1],K=16711935&(f<<8|f>>>24)|4278255360&(f<<24|f>>>8),ee=16711935&(D<<8|D>>>24)|4278255360&(D<<24|D>>>8),te=K>>>16|4294901760&ee,ie=ee<<16|65535&K;for(i[0]^=K,i[1]^=te,i[2]^=ee,i[3]^=ie,i[4]^=K,i[5]^=te,i[6]^=ee,i[7]^=ie,n=0;n<4;n++)h2.call(this)}},_doProcessBlock:function(e,t){var n=this._X;h2.call(this),i[0]=n[0]^n[5]>>>16^n[3]<<16,i[1]=n[2]^n[7]>>>16^n[5]<<16,i[2]=n[4]^n[1]>>>16^n[7]<<16,i[3]=n[6]^n[3]>>>16^n[1]<<16;for(var r=0;r<4;r++)i[r]=16711935&(i[r]<<8|i[r]>>>24)|4278255360&(i[r]<<24|i[r]>>>8),e[t+r]^=i[r]},blockSize:4,ivSize:2});function h2(){for(var e=this._X,t=this._C,n=0;n<8;n++)c[n]=t[n];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0<c[0]>>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0<c[1]>>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0<c[2]>>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0<c[3]>>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0<c[4]>>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0<c[5]>>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0<c[6]>>>0?1:0)|0,this._b=t[7]>>>0<c[7]>>>0?1:0,n=0;n<8;n++){var r=e[n]+t[n],i=65535&r,D=r>>>16,K=((i*i>>>17)+i*D>>>15)+D*D,ee=((4294901760&r)*r|0)+((65535&r)*r|0);f[n]=K^ee}e[0]=f[0]+(f[7]<<16|f[7]>>>16)+(f[6]<<16|f[6]>>>16)|0,e[1]=f[1]+(f[0]<<8|f[0]>>>24)+f[7]|0,e[2]=f[2]+(f[1]<<16|f[1]>>>16)+(f[0]<<16|f[0]>>>16)|0,e[3]=f[3]+(f[2]<<8|f[2]>>>24)+f[1]|0,e[4]=f[4]+(f[3]<<16|f[3]>>>16)+(f[2]<<16|f[2]>>>16)|0,e[5]=f[5]+(f[4]<<8|f[4]>>>24)+f[3]|0,e[6]=f[6]+(f[5]<<16|f[5]>>>16)+(f[4]<<16|f[4]>>>16)|0,e[7]=f[7]+(f[6]<<8|f[6]>>>24)+f[5]|0}e.Rabbit=t._createHelper(D)}(),n.Rabbit)}),Q(function(e,t){var n;e.exports=(n=Lt,function(){var e=n,t=e.lib.StreamCipher,r=e.algo,i=[],c=[],f=[],D=r.RabbitLegacy=t.extend({_doReset:function(){var e=this._key.words,t=this.cfg.iv,n=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],r=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];this._b=0;for(var i=0;i<4;i++)h2.call(this);for(i=0;i<8;i++)r[i]^=n[i+4&7];if(t){var c=t.words,f=c[0],D=c[1],K=16711935&(f<<8|f>>>24)|4278255360&(f<<24|f>>>8),ee=16711935&(D<<8|D>>>24)|4278255360&(D<<24|D>>>8),te=K>>>16|4294901760&ee,ie=ee<<16|65535&K;for(r[0]^=K,r[1]^=te,r[2]^=ee,r[3]^=ie,r[4]^=K,r[5]^=te,r[6]^=ee,r[7]^=ie,i=0;i<4;i++)h2.call(this)}},_doProcessBlock:function(e,t){var n=this._X;h2.call(this),i[0]=n[0]^n[5]>>>16^n[3]<<16,i[1]=n[2]^n[7]>>>16^n[5]<<16,i[2]=n[4]^n[1]>>>16^n[7]<<16,i[3]=n[6]^n[3]>>>16^n[1]<<16;for(var r=0;r<4;r++)i[r]=16711935&(i[r]<<8|i[r]>>>24)|4278255360&(i[r]<<24|i[r]>>>8),e[t+r]^=i[r]},blockSize:4,ivSize:2});function h2(){for(var e=this._X,t=this._C,n=0;n<8;n++)c[n]=t[n];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0<c[0]>>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0<c[1]>>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0<c[2]>>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0<c[3]>>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0<c[4]>>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0<c[5]>>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0<c[6]>>>0?1:0)|0,this._b=t[7]>>>0<c[7]>>>0?1:0,n=0;n<8;n++){var r=e[n]+t[n],i=65535&r,D=r>>>16,K=((i*i>>>17)+i*D>>>15)+D*D,ee=((4294901760&r)*r|0)+((65535&r)*r|0);f[n]=K^ee}e[0]=f[0]+(f[7]<<16|f[7]>>>16)+(f[6]<<16|f[6]>>>16)|0,e[1]=f[1]+(f[0]<<8|f[0]>>>24)+f[7]|0,e[2]=f[2]+(f[1]<<16|f[1]>>>16)+(f[0]<<16|f[0]>>>16)|0,e[3]=f[3]+(f[2]<<8|f[2]>>>24)+f[1]|0,e[4]=f[4]+(f[3]<<16|f[3]>>>16)+(f[2]<<16|f[2]>>>16)|0,e[5]=f[5]+(f[4]<<8|f[4]>>>24)+f[3]|0,e[6]=f[6]+(f[5]<<16|f[5]>>>16)+(f[4]<<16|f[4]>>>16)|0,e[7]=f[7]+(f[6]<<8|f[6]>>>24)+f[5]|0}e.RabbitLegacy=t._createHelper(D)}(),n.RabbitLegacy)}),Q(function(e,t){e.exports=Lt}));function re(){throw new Error("setTimeout has not been defined")}function ne(){throw new Error("clearTimeout has not been defined")}var Nt=re,Wt=ne;function ae(e){if(Nt===setTimeout)return setTimeout(e,0);if((Nt===re||!Nt)&&setTimeout)return Nt=setTimeout,setTimeout(e,0);try{return Nt(e,0)}catch(t){try{return Nt.call(null,e,0)}catch(n){return Nt.call(this,e,0)}}}"function"==typeof _e.setTimeout&&(Nt=setTimeout),"function"==typeof _e.clearTimeout&&(Wt=clearTimeout);var Vt,Kt=[],qt=!1,Yt=-1;function ce(){qt&&Vt&&(qt=!1,Vt.length?Kt=Vt.concat(Kt):Yt=-1,Kt.length&&ue())}function ue(){if(!qt){var e=ae(ce);qt=!0;for(var t=Kt.length;t;){for(Vt=Kt,Kt=[];++Yt<t;)Vt&&Vt[Yt].run();Yt=-1,t=Kt.length}Vt=null,qt=!1,function(e){if(Wt===clearTimeout)return clearTimeout(e);if((Wt===ne||!Wt)&&clearTimeout)return Wt=clearTimeout,clearTimeout(e);try{Wt(e)}catch(t){try{return Wt.call(null,e)}catch(n){return Wt.call(this,e)}}}(e)}}function de(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];Kt.push(new pe(e,t)),1!==Kt.length||qt||ae(ue)}function pe(e,t){this.fun=e,this.array=t}pe.prototype.run=function(){this.fun.apply(null,this.array)};var Gt=_e.performance||{};function ge(){}function ve(){ve.init.call(this)}function we(e){return void 0===e._maxListeners?ve.defaultMaxListeners:e._maxListeners}function be(e,t,n){if(t)e.call(n);else for(var r=e.length,i=Ae(e,r),c=0;c<r;++c)i[c].call(n)}function ye(e,t,n,r){if(t)e.call(n,r);else for(var i=e.length,c=Ae(e,i),f=0;f<i;++f)c[f].call(n,r)}function me(e,t,n,r,i){if(t)e.call(n,r,i);else for(var c=e.length,f=Ae(e,c),D=0;D<c;++D)f[D].call(n,r,i)}function ke(e,t,n,r,i,c){if(t)e.call(n,r,i,c);else for(var f=e.length,D=Ae(e,f),K=0;K<f;++K)D[K].call(n,r,i,c)}function Ee(e,t,n,r){if(t)e.apply(n,r);else for(var i=e.length,c=Ae(e,i),f=0;f<i;++f)c[f].apply(n,r)}function Se(e,t,n,r){var i,c,f,D;if("function"!=typeof n)throw new TypeError('"listener" argument must be a function');if((c=e._events)?(c.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),c=e._events),f=c[t]):(c=e._events=new ge,e._eventsCount=0),f){if("function"==typeof f?f=c[t]=r?[n,f]:[f,n]:r?f.unshift(n):f.push(n),!f.warned&&(i=we(e))&&i>0&&f.length>i){f.warned=!0;var K=new Error("Possible EventEmitter memory leak detected. "+f.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit");K.name="MaxListenersExceededWarning",K.emitter=e,K.type=t,K.count=f.length,D=K,"function"==typeof console.warn?console.warn(D):console.log(D)}}else f=c[t]=n,++e._eventsCount;return e}function xe(e,t,n){var r=!1;function i2(){e.removeListener(t,i2),r||(r=!0,n.apply(e,arguments))}return i2.listener=n,i2}function Re(e){var t=this._events;if(t){var n=t[e];if("function"==typeof n)return 1;if(n)return n.length}return 0}function Ae(e,t){for(var n=new Array(t);t--;)n[t]=e[t];return n}Gt.now||Gt.mozNow||Gt.msNow||Gt.oNow||Gt.webkitNow,ge.prototype=Object.create(null),ve.EventEmitter=ve,ve.usingDomains=!1,ve.prototype.domain=void 0,ve.prototype._events=void 0,ve.prototype._maxListeners=void 0,ve.defaultMaxListeners=10,ve.init=function(){this.domain=null,ve.usingDomains&&(void 0).active&&(void 0).Domain,this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new ge,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},ve.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=e,this},ve.prototype.getMaxListeners=function(){return we(this)},ve.prototype.emit=function(e){var t,n,r,i,c,f,D,K="error"===e;if(f=this._events)K=K&&null==f.error;else if(!K)return!1;if(D=this.domain,K){if(t=arguments[1],!D){if(t instanceof Error)throw t;var ee=new Error('Uncaught, unspecified "error" event. ('+t+")");throw ee.context=t,ee}return t||(t=new Error('Uncaught, unspecified "error" event')),t.domainEmitter=this,t.domain=D,t.domainThrown=!1,D.emit("error",t),!1}if(!(n=f[e]))return!1;var te="function"==typeof n;switch(r=arguments.length){case 1:be(n,te,this);break;case 2:ye(n,te,this,arguments[1]);break;case 3:me(n,te,this,arguments[1],arguments[2]);break;case 4:ke(n,te,this,arguments[1],arguments[2],arguments[3]);break;default:for(i=new Array(r-1),c=1;c<r;c++)i[c-1]=arguments[c];Ee(n,te,this,i)}return!0},ve.prototype.addListener=function(e,t){return Se(this,e,t,!1)},ve.prototype.on=ve.prototype.addListener,ve.prototype.prependListener=function(e,t){return Se(this,e,t,!0)},ve.prototype.once=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.on(e,xe(this,e,t)),this},ve.prototype.prependOnceListener=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.prependListener(e,xe(this,e,t)),this},ve.prototype.removeListener=function(e,t){var n,r,i,c,f;if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');if(!(r=this._events))return this;if(!(n=r[e]))return this;if(n===t||n.listener&&n.listener===t)0==--this._eventsCount?this._events=new ge:(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(i=-1,c=n.length;c-- >0;)if(n[c]===t||n[c].listener&&n[c].listener===t){f=n[c].listener,i=c;break}if(i<0)return this;if(1===n.length){if(n[0]=void 0,0==--this._eventsCount)return this._events=new ge,this;delete r[e]}else!function(e,t){for(var n=t,r=n+1,i=e.length;r<i;n+=1,r+=1)e[n]=e[r];e.pop()}(n,i);r.removeListener&&this.emit("removeListener",e,f||t)}return this},ve.prototype.removeAllListeners=function(e){var t,n;if(!(n=this._events))return this;if(!n.removeListener)return 0===arguments.length?(this._events=new ge,this._eventsCount=0):n[e]&&(0==--this._eventsCount?this._events=new ge:delete n[e]),this;if(0===arguments.length){for(var r,i=Object.keys(n),c=0;c<i.length;++c)"removeListener"!==(r=i[c])&&this.removeAllListeners(r);return this.removeAllListeners("removeListener"),this._events=new ge,this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(t)do{this.removeListener(e,t[t.length-1])}while(t[0]);return this},ve.prototype.listeners=function(e){var t,n=this._events;return n&&(t=n[e])?"function"==typeof t?[t.listener||t]:function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(t):[]},ve.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):Re.call(e,t)},ve.prototype.listenerCount=Re,ve.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};var Xt="function"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var r2=function(){};r2.prototype=t.prototype,e.prototype=new r2,e.prototype.constructor=e},Qt=/%[sdj%]/g;function Le(e){if(!Ze(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(De(arguments[n]));return t.join(" ")}n=1;for(var r=arguments,i=r.length,c=String(e).replace(Qt,function(e){if("%%"===e)return"%";if(n>=i)return e;switch(e){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(t){return"[Circular]"}default:return e}}),f=r[n];n<i;f=r[++n])Ne(f)||!Ye(f)?c+=" "+f:c+=" "+De(f);return c}function Te(e,t){if(je(_e.process))return function(){return Te(e,t).apply(this,arguments)};var n=!1;return function(){return n||(console.error(t),n=!0),e.apply(this,arguments)}}var Jt,en={};function De(e,t){var n={seen:[],stylize:Pe};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),Fe(t)?n.showHidden=t:t&&function(e,t){if(!t||!Ye(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]]}(n,t),je(n.showHidden)&&(n.showHidden=!1),je(n.depth)&&(n.depth=2),je(n.colors)&&(n.colors=!1),je(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=Ie),Oe(n,e,n.depth)}function Ie(e,t){var n=De.styles[t];return n?"["+De.colors[n][0]+"m"+e+"["+De.colors[n][1]+"m":e}function Pe(e,t){return e}function Oe(e,t,n){if(e.customInspect&&t&&qe(t.inspect)&&t.inspect!==De&&(!t.constructor||t.constructor.prototype!==t)){var r=t.inspect(n,e);return Ze(r)||(r=Oe(e,r,n)),r}var i=function(e,t){if(je(t))return e.stylize("undefined","undefined");if(Ze(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}return"number"==typeof(r=t)?e.stylize(""+t,"number"):Fe(t)?e.stylize(""+t,"boolean"):Ne(t)?e.stylize("null","null"):void 0;var r}(e,t);if(i)return i;var c=Object.keys(t),f=(K={},(D=c).forEach(function(e,t){K[e]=!0}),K),D,K;if(e.showHidden&&(c=Object.getOwnPropertyNames(t)),Xe(t)&&(c.indexOf("message")>=0||c.indexOf("description")>=0))return Ue(t);if(0===c.length){if(qe(t)){var ee=t.name?": "+t.name:"";return e.stylize("[Function"+ee+"]","special")}if(We(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(Ke(t))return e.stylize(Date.prototype.toString.call(t),"date");if(Xe(t))return Ue(t)}var te,ie,se="",oe=!1,he=["{","}"];return te=t,Array.isArray(te)&&(oe=!0,he=["[","]"]),qe(t)&&(se=" [Function"+(t.name?": "+t.name:"")+"]"),We(t)&&(se=" "+RegExp.prototype.toString.call(t)),Ke(t)&&(se=" "+Date.prototype.toUTCString.call(t)),Xe(t)&&(se=" "+Ue(t)),0!==c.length||oe&&0!=t.length?n<0?We(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),ie=oe?function(e,t,n,r,i){for(var c=[],f=0,D=t.length;f<D;++f)Ge(t,String(f))?c.push(He(e,t,n,r,String(f),!0)):c.push("");return i.forEach(function(i){i.match(/^\d+$/)||c.push(He(e,t,n,r,i,!0))}),c}(e,t,n,f,c):c.map(function(r){return He(e,t,n,f,r,oe)}),e.seen.pop(),function(e,t,n){return e.reduce(function(e,t){return t.indexOf("\n"),e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}(ie,se,he)):he[0]+se+he[1]}function Ue(e){return"["+Error.prototype.toString.call(e)+"]"}function He(e,t,n,r,i,c){var f,D,K;if((K=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?D=K.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):K.set&&(D=e.stylize("[Setter]","special")),Ge(r,i)||(f="["+i+"]"),D||(e.seen.indexOf(K.value)<0?(D=Ne(n)?Oe(e,K.value,null):Oe(e,K.value,n-1)).indexOf("\n")>-1&&(D=c?D.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+D.split("\n").map(function(e){return" "+e}).join("\n")):D=e.stylize("[Circular]","special")),je(f)){if(c&&i.match(/^\d+$/))return D;(f=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(f=f.substr(1,f.length-2),f=e.stylize(f,"name")):(f=f.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),f=e.stylize(f,"string"))}return f+": "+D}function Fe(e){return"boolean"==typeof e}function Ne(e){return null===e}function Ze(e){return"string"==typeof e}function je(e){return void 0===e}function We(e){return Ye(e)&&"[object RegExp]"===Ve(e)}function Ye(e){return"object"==typeof e&&null!==e}function Ke(e){return Ye(e)&&"[object Date]"===Ve(e)}function Xe(e){return Ye(e)&&("[object Error]"===Ve(e)||e instanceof Error)}function qe(e){return"function"==typeof e}function Ve(e){return Object.prototype.toString.call(e)}function Ge(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function $e(){this.head=null,this.tail=null,this.length=0}De.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]},De.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},$e.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},$e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},$e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},$e.prototype.clear=function(){this.head=this.tail=null,this.length=0},$e.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n},$e.prototype.concat=function(e){if(0===this.length)return p.alloc(0);if(1===this.length)return this.head.data;for(var t=p.allocUnsafe(e>>>0),n=this.head,r=0;n;)n.data.copy(t,r),r+=n.data.length,n=n.next;return t};var tn=p.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 Qe(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),function(e){if(e&&!tn(e))throw new Error("Unknown encoding: "+e)}(e),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=tt;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=rt;break;default:return void(this.write=et)}this.charBuffer=new p(6),this.charReceived=0,this.charLength=0}function et(e){return e.toString(this.encoding)}function tt(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function rt(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}Qe.prototype.write=function(e){for(var t="";this.charLength;){var n=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,n),this.charReceived+=n,this.charReceived<this.charLength)return"";if(e=e.slice(n,e.length),!((i=(t=this.charBuffer.slice(0,this.charLength).toString(this.encoding)).charCodeAt(t.length-1))>=55296&&i<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=""}this.detectIncompleteChar(e);var r=e.length,i;if(this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,r),r-=this.charReceived),r=(t+=e.toString(this.encoding,0,r)).length-1,(i=t.charCodeAt(r))>=55296&&i<=56319){var c=this.surrogateSize;return this.charLength+=c,this.charReceived+=c,this.charBuffer.copy(this.charBuffer,c,0,c),e.copy(this.charBuffer,0,0,c),t.substring(0,r)}return t},Qe.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var n=e[e.length-t];if(1==t&&n>>5==6){this.charLength=2;break}if(t<=2&&n>>4==14){this.charLength=3;break}if(t<=3&&n>>3==30){this.charLength=4;break}}this.charReceived=t},Qe.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var n=this.charReceived,r=this.charBuffer,i=this.encoding;t+=r.slice(0,n).toString(i)}return t},ot.ReadableState=it;var nn=(rn="stream",je(Jt)&&(Jt=""),rn=rn.toUpperCase(),en[rn]||(new RegExp("\\b"+rn+"\\b","i").test(Jt)?en[rn]=function(){var e=Le.apply(null,arguments);console.error("%s %d: %s",rn,0,e)}:en[rn]=function(){}),en[rn]),rn;function it(e,t){e=e||{},this.objectMode=!!e.objectMode,t instanceof Ct&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var n=e.highWaterMark,r=this.objectMode?16:16384;this.highWaterMark=n||0===n?n:r,this.highWaterMark=~~this.highWaterMark,this.buffer=new $e,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 Qe(e.encoding),this.encoding=e.encoding)}function ot(e){if(!(this instanceof ot))return new ot(e);this._readableState=new it(e,this),this.readable=!0,e&&"function"==typeof e.read&&(this._read=e.read),ve.call(this)}function at(e,t,n,r,i){var c=(f=t,K=null,$(D=n)||"string"==typeof D||null==D||f.objectMode||(K=new TypeError("Invalid non-string/buffer chunk")),K),f,D,K;if(c)e.emit("error",c);else if(null===n)t.reading=!1,function(e,t){if(!t.ended){if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,lt(e)}}(e,t);else if(t.objectMode||n&&n.length>0)if(t.ended&&!i){var ee=new Error("stream.push() after EOF");e.emit("error",ee)}else if(t.endEmitted&&i){var te=new Error("stream.unshift() after end event");e.emit("error",te)}else{var ie;!t.decoder||i||r||(n=t.decoder.write(n),ie=!t.objectMode&&0===n.length),i||(t.reading=!1),ie||(t.flowing&&0===t.length&&!t.sync?(e.emit("data",n),e.read(0)):(t.length+=t.objectMode?1:n.length,i?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&lt(e))),function(e,t){t.readingMore||(t.readingMore=!0,de(ct,e,t))}(e,t)}else i||(t.reading=!1);return function(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}(t)}Xt(ot,ve),ot.prototype.push=function(e,t){var n=this._readableState;return n.objectMode||"string"!=typeof e||(t=t||n.defaultEncoding)!==n.encoding&&(e=p.from(e,t),t=""),at(this,n,e,t,!1)},ot.prototype.unshift=function(e){return at(this,this._readableState,e,"",!0)},ot.prototype.isPaused=function(){return!1===this._readableState.flowing},ot.prototype.setEncoding=function(e){return this._readableState.decoder=new Qe(e),this._readableState.encoding=e,this};var sn=8388608;function ht(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=((n=e)>=sn?n=sn:(n--,n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n++),n)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0));var n}function lt(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(nn("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?de(ft,e):ft(e))}function ft(e){nn("emit readable"),e.emit("readable"),pt(e)}function ct(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(nn("maybeReadMore read 0"),e.read(0),n!==t.length);)n=t.length;t.readingMore=!1}function ut(e){nn("readable nexttick read 0"),e.read(0)}function dt(e,t){t.reading||(nn("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),pt(e),t.flowing&&!t.reading&&e.read(0)}function pt(e){var t=e._readableState;for(nn("flow",t.flowing);t.flowing&&null!==e.read(););}function _t(e,t){return 0===t.length?null:(t.objectMode?f=t.buffer.shift():!e||e>=t.length?(f=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):(n=e,r=t.buffer,i=t.decoder,n<r.head.data.length?(c=r.head.data.slice(0,n),r.head.data=r.head.data.slice(n)):c=n===r.head.data.length?r.shift():i?function(e,t){var n=t.head,r=1,i=n.data;for(e-=i.length;n=n.next;){var c=n.data,f=e>c.length?c.length:e;if(f===c.length?i+=c:i+=c.slice(0,e),0===(e-=f)){f===c.length?(++r,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=c.slice(f));break}++r}return t.length-=r,i}(n,r):function(e,t){var n=p.allocUnsafe(e),r=t.head,i=1;for(r.data.copy(n),e-=r.data.length;r=r.next;){var c=r.data,f=e>c.length?c.length:e;if(c.copy(n,n.length-e,0,f),0===(e-=f)){f===c.length?(++i,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=c.slice(f));break}++i}return t.length-=i,n}(n,r),f=c),f);var n,r,i,c,f}function gt(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,de(vt,t,e))}function vt(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function wt(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1}function bt(){}function yt(e,t,n){this.chunk=e,this.encoding=t,this.callback=n,this.next=null}function mt(e,t){Object.defineProperty(this,"buffer",{get:Te(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.")}),e=e||{},this.objectMode=!!e.objectMode,t instanceof Ct&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var n=e.highWaterMark,r=this.objectMode?16:16384;this.highWaterMark=n||0===n?n:r,this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1;var i=!1===e.decodeStrings;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(e){!function(e,t){var n=e._writableState,r=n.sync,i=n.writecb,c;if((c=n).writing=!1,c.writecb=null,c.length-=c.writelen,c.writelen=0,t)!function(e,t,n,r,i){--t.pendingcb,n?de(i,r):i(r),e._writableState.errorEmitted=!0,e.emit("error",r)}(e,n,r,t,i);else{var f=Rt(n);f||n.corked||n.bufferProcessing||!n.bufferedRequest||xt(e,n),r?de(St,e,n,f,i):St(e,n,f,i)}}(t,e)},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 zt(this)}function kt(e){if(!(this instanceof kt||this instanceof Ct))return new kt(e);this._writableState=new mt(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev)),ve.call(this)}function Et(e,t,n,r,i,c,f){t.writelen=r,t.writecb=f,t.writing=!0,t.sync=!0,n?e._writev(i,t.onwrite):e._write(i,c,t.onwrite),t.sync=!1}function St(e,t,n,r){var i,c;n||(i=e,0===(c=t).length&&c.needDrain&&(c.needDrain=!1,i.emit("drain"))),t.pendingcb--,r(),Bt(e,t)}function xt(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var r=t.bufferedRequestCount,i=new Array(r),c=t.corkedRequestsFree;c.entry=n;for(var f=0;n;)i[f]=n,n=n.next,f+=1;Et(e,t,!0,t.length,i,"",c.finish),t.pendingcb++,t.lastBufferedRequest=null,c.next?(t.corkedRequestsFree=c.next,c.next=null):t.corkedRequestsFree=new zt(t)}else{for(;n;){var D=n.chunk,K=n.encoding,ee=n.callback;if(Et(e,t,!1,t.objectMode?1:D.length,D,K,ee),n=n.next,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequestCount=0,t.bufferedRequest=n,t.bufferProcessing=!1}function Rt(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function At(e,t){t.prefinished||(t.prefinished=!0,e.emit("prefinish"))}function Bt(e,t){var n=Rt(t);return n&&(0===t.pendingcb?(At(e,t),t.finished=!0,e.emit("finish")):At(e,t)),n}function zt(e){var t=this;this.next=null,this.entry=null,this.finish=function(n){var r=t.entry;for(t.entry=null;r;){var i=r.callback;e.pendingcb--,i(n),r=r.next}e.corkedRequestsFree?e.corkedRequestsFree.next=t:e.corkedRequestsFree=t}}ot.prototype.read=function(e){nn("read",e),e=parseInt(e,10);var t=this._readableState,n=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return nn("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?gt(this):lt(this),null;if(0===(e=ht(e,t))&&t.ended)return 0===t.length&&gt(this),null;var r,i=t.needReadable;return nn("need readable",i),(0===t.length||t.length-e<t.highWaterMark)&&nn("length less than watermark",i=!0),t.ended||t.reading?nn("reading or ended",i=!1):i&&(nn("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=ht(n,t))),null===(r=e>0?_t(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&gt(this)),null!==r&&this.emit("data",r),r},ot.prototype._read=function(e){this.emit("error",new Error("not implemented"))},ot.prototype.pipe=function(e,t){var n=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=e;break;case 1:r.pipes=[r.pipes,e];break;default:r.pipes.push(e)}r.pipesCount+=1,nn("pipe count=%d opts=%j",r.pipesCount,t);var i=t&&!1===t.end?l2:a2;function o2(e){nn("onunpipe"),e===n&&l2()}function a2(){nn("onend"),e.end()}r.endEmitted?de(i):n.once("end",i),e.on("unpipe",o2);var c=(f=n,function(){var e=f._readableState;nn("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&f.listeners("data").length&&(e.flowing=!0,pt(f))}),f;e.on("drain",c);var D=!1;function l2(){nn("cleanup"),e.removeListener("close",d2),e.removeListener("finish",p2),e.removeListener("drain",c),e.removeListener("error",u2),e.removeListener("unpipe",o2),n.removeListener("end",a2),n.removeListener("end",l2),n.removeListener("data",c2),D=!0,!r.awaitDrain||e._writableState&&!e._writableState.needDrain||c()}var K=!1;function c2(t){nn("ondata"),K=!1,!1!==e.write(t)||K||((1===r.pipesCount&&r.pipes===e||r.pipesCount>1&&-1!==wt(r.pipes,e))&&!D&&(nn("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,K=!0),n.pause())}function u2(t){var n;nn("onerror",t),_2(),e.removeListener("error",u2),0===(n="error",e.listeners(n).length)&&e.emit("error",t)}function d2(){e.removeListener("finish",p2),_2()}function p2(){nn("onfinish"),e.removeListener("close",d2),_2()}function _2(){nn("unpipe"),n.unpipe(e)}return n.on("data",c2),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,"error",u2),e.once("close",d2),e.once("finish",p2),e.emit("pipe",n),r.flowing||(nn("pipe resume"),n.resume()),e},ot.prototype.unpipe=function(e){var t=this._readableState;if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this)),this;if(!e){var n=t.pipes,r=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var i=0;i<r;i++)n[i].emit("unpipe",this);return this}var c=wt(t.pipes,e);return-1===c||(t.pipes.splice(c,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this)),this},ot.prototype.on=function(e,t){var n=ve.prototype.on.call(this,e,t);if("data"===e)!1!==this._readableState.flowing&&this.resume();else if("readable"===e){var r=this._readableState;r.endEmitted||r.readableListening||(r.readableListening=r.needReadable=!0,r.emittedReadable=!1,r.reading?r.length&&lt(this):de(ut,this))}return n},ot.prototype.addListener=ot.prototype.on,ot.prototype.resume=function(){var e=this._readableState,t,n;return e.flowing||(nn("resume"),e.flowing=!0,t=this,(n=e).resumeScheduled||(n.resumeScheduled=!0,de(dt,t,n))),this},ot.prototype.pause=function(){return nn("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(nn("pause"),this._readableState.flowing=!1,this.emit("pause")),this},ot.prototype.wrap=function(e){var t=this._readableState,n=!1,r=this;for(var i in e.on("end",function(){if(nn("wrapped end"),t.decoder&&!t.ended){var e=t.decoder.end();e&&e.length&&r.push(e)}r.push(null)}),e.on("data",function(i){nn("wrapped data"),t.decoder&&(i=t.decoder.write(i)),t.objectMode&&null==i||(t.objectMode||i&&i.length)&&(r.push(i)||(n=!0,e.pause()))}),e)void 0===this[i]&&"function"==typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));return function(e,t){for(var n=0,r=e.length;n<r;n++)t(e[n],n)}(["error","close","destroy","pause","resume"],function(t){e.on(t,r.emit.bind(r,t))}),r._read=function(t){nn("wrapped _read",t),n&&(n=!1,e.resume())},r},ot._fromList=_t,kt.WritableState=mt,Xt(kt,ve),mt.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},kt.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},kt.prototype.write=function(e,t,n){var r=this._writableState,i=!1,c,f,D;return"function"==typeof t&&(n=t,t=null),p.isBuffer(e)?t="buffer":t||(t=r.defaultEncoding),"function"!=typeof n&&(n=bt),r.ended?(c=this,f=n,D=new Error("write after end"),c.emit("error",D),de(f,D)):function(e,t,n,r){var i=!0,c=!1;return null===n?c=new TypeError("May not write null values to stream"):p.isBuffer(n)||"string"==typeof n||void 0===n||t.objectMode||(c=new TypeError("Invalid non-string/buffer chunk")),c&&(e.emit("error",c),de(r,c),i=!1),i}(this,r,e,n)&&(r.pendingcb++,i=function(e,t,n,r,i){var c,f,D;f=n,D=r,(c=t).objectMode||!1===c.decodeStrings||"string"!=typeof f||(f=p.from(f,D)),n=f,p.isBuffer(n)&&(r="buffer");var K=t.objectMode?1:n.length;t.length+=K;var ee=t.length<t.highWaterMark;if(ee||(t.needDrain=!0),t.writing||t.corked){var te=t.lastBufferedRequest;t.lastBufferedRequest=new yt(n,r,i),te?te.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else Et(e,t,!1,K,n,r,i);return ee}(this,r,e,t,n)),i},kt.prototype.cork=function(){this._writableState.corked++},kt.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||xt(this,e))},kt.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},kt.prototype._write=function(e,t,n){n(new Error("not implemented"))},kt.prototype._writev=null,kt.prototype.end=function(e,t,n){var r=this._writableState,i,c,f;"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||(i=this,f=n,(c=r).ending=!0,Bt(i,c),f&&(c.finished?de(f):i.once("finish",f)),c.ended=!0,i.writable=!1)},Xt(Ct,ot);for(var on=Object.keys(kt.prototype),an=0;an<on.length;an++){var hn=on[an];Ct.prototype[hn]||(Ct.prototype[hn]=kt.prototype[hn])}function Ct(e){if(!(this instanceof Ct))return new Ct(e);ot.call(this,e),kt.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",Dt)}function Dt(){this.allowHalfOpen||this._writableState.ended||de(It,this)}function It(e){e.end()}function Pt(e){this.afterTransform=function(t,n){return function(e,t,n){var r=e._transformState;r.transforming=!1;var i=r.writecb;if(!i)return e.emit("error",new Error("no writecb in Transform class"));r.writechunk=null,r.writecb=null,null!=n&&e.push(n),i(t);var c=e._readableState;c.reading=!1,(c.needReadable||c.length<c.highWaterMark)&&e._read(c.highWaterMark)}(e,t,n)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null,this.writeencoding=null}function Ot(e){if(!(this instanceof Ot))return new Ot(e);Ct.call(this,e),this._transformState=new Pt(this);var t=this;this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush&&(this._flush=e.flush)),this.once("prefinish",function(){"function"==typeof this._flush?this._flush(function(e){Ut(t,e)}):Ut(t)})}function Ut(e,t){if(t)return e.emit("error",t);var n=e._writableState,r=e._transformState;if(n.length)throw new Error("Calling transform done when ws.length != 0");if(r.transforming)throw new Error("Calling transform done when still transforming");return e.push(null)}function Ht(e){if(!(this instanceof Ht))return new Ht(e);Ot.call(this,e)}function Ft(){ve.call(this)}Xt(Ot,Ct),Ot.prototype.push=function(e,t){return this._transformState.needTransform=!1,Ct.prototype.push.call(this,e,t)},Ot.prototype._transform=function(e,t,n){throw new Error("Not implemented")},Ot.prototype._write=function(e,t,n){var r=this._transformState;if(r.writecb=n,r.writechunk=e,r.writeencoding=t,!r.transforming){var i=this._readableState;(r.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},Ot.prototype._read=function(e){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0},Xt(Ht,Ot),Ht.prototype._transform=function(e,t,n){n(null,e)},Xt(Ft,ve),Ft.Readable=ot,Ft.Writable=kt,Ft.Duplex=Ct,Ft.Transform=Ot,Ft.PassThrough=Ht,Ft.Stream=Ft,Ft.prototype.pipe=function(e,t){var n=this;function n2(t){e.writable&&!1===e.write(t)&&n.pause&&n.pause()}function i2(){n.readable&&n.resume&&n.resume()}n.on("data",n2),e.on("drain",i2),e._isStdio||t&&!1===t.end||(n.on("end",a2),n.on("close",s2));var r=!1;function a2(){r||(r=!0,e.end())}function s2(){r||(r=!0,"function"==typeof e.destroy&&e.destroy())}function h2(e){if(l2(),0===ve.listenerCount(this,"error"))throw e}function l2(){n.removeListener("data",n2),e.removeListener("drain",i2),n.removeListener("end",a2),n.removeListener("close",s2),n.removeListener("error",h2),e.removeListener("error",h2),n.removeListener("end",l2),n.removeListener("close",l2),e.removeListener("close",l2)}return n.on("error",h2),e.on("error",h2),n.on("end",l2),n.on("close",l2),e.on("close",l2),e.emit("pipe",n),e};var cn={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 Zt(){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 jt(e,t,n,r,i){if(t.subarray&&e.subarray)e.set(t.subarray(n,n+r),i);else for(var c=0;c<r;c++)e[i+c]=t[n+c]}var ln=Uint8Array,un=Uint16Array,fn=Int32Array,dn=4,pn=0,gn=1,mn=2;function $t(e){for(var t=e.length;--t>=0;)e[t]=0}var wn=0,vn=1,_n=2,bn=29,yn=256,kn=286,En=30,Sn=19,xn=573,An=15,Rn=16,Tn=7,In=256,Cn=16,Bn=17,Ln=18,Mn=[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],Pn=[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],Dn=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],zn=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],On=new Array(576);$t(On);var Un=new Array(60);$t(Un);var er=new Array(512);$t(er);var tr=new Array(256);$t(tr);var nr=new Array(bn);$t(nr);var rr,ir,sr,or=new Array(En);function Ar(e,t,n,r,i){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=i,this.has_stree=e&&e.length}function Br(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function zr(e){return e<256?er[e]:er[256+(e>>>7)]}function Lr(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function Tr(e,t,n){e.bi_valid>Rn-n?(e.bi_buf|=t<<e.bi_valid&65535,Lr(e,e.bi_buf),e.bi_buf=t>>Rn-e.bi_valid,e.bi_valid+=n-Rn):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)}function Mr(e,t,n){Tr(e,n[2*t],n[2*t+1])}function Cr(e,t){var n=0;do{n|=1&e,e>>>=1,n<<=1}while(--t>0);return n>>>1}function Dr(e,t,n){var r,i,c=new Array(16),f=0;for(r=1;r<=An;r++)c[r]=f=f+n[r-1]<<1;for(i=0;i<=t;i++){var D=e[2*i+1];0!==D&&(e[2*i]=Cr(c[D]++,D))}}function Ir(e){var t;for(t=0;t<kn;t++)e.dyn_ltree[2*t]=0;for(t=0;t<En;t++)e.dyn_dtree[2*t]=0;for(t=0;t<Sn;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function Pr(e){e.bi_valid>8?Lr(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 Or(e,t,n,r){var i=2*t,c=2*n;return e[i]<e[c]||e[i]===e[c]&&r[t]<=r[n]}function Ur(e,t,n){for(var r=e.heap[n],i=n<<1;i<=e.heap_len&&(i<e.heap_len&&Or(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!Or(t,r,e.heap[i],e.depth));)e.heap[n]=e.heap[i],n=i,i<<=1;e.heap[n]=r}function Hr(e,t,n){var r,i,c,f,D=0;if(0!==e.last_lit)do{r=e.pending_buf[e.d_buf+2*D]<<8|e.pending_buf[e.d_buf+2*D+1],i=e.pending_buf[e.l_buf+D],D++,0===r?Mr(e,i,t):(Mr(e,(c=tr[i])+yn+1,t),0!==(f=Mn[c])&&Tr(e,i-=nr[c],f),Mr(e,c=zr(--r),n),0!==(f=Pn[c])&&Tr(e,r-=or[c],f))}while(D<e.last_lit);Mr(e,In,t)}function Fr(e,t){var n,r,i,c=t.dyn_tree,f=t.stat_desc.static_tree,D=t.stat_desc.has_stree,K=t.stat_desc.elems,ee=-1;for(e.heap_len=0,e.heap_max=xn,n=0;n<K;n++)0!==c[2*n]?(e.heap[++e.heap_len]=ee=n,e.depth[n]=0):c[2*n+1]=0;for(;e.heap_len<2;)c[2*(i=e.heap[++e.heap_len]=ee<2?++ee:0)]=1,e.depth[i]=0,e.opt_len--,D&&(e.static_len-=f[2*i+1]);for(t.max_code=ee,n=e.heap_len>>1;n>=1;n--)Ur(e,c,n);i=K;do{n=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Ur(e,c,1),r=e.heap[1],e.heap[--e.heap_max]=n,e.heap[--e.heap_max]=r,c[2*i]=c[2*n]+c[2*r],e.depth[i]=(e.depth[n]>=e.depth[r]?e.depth[n]:e.depth[r])+1,c[2*n+1]=c[2*r+1]=i,e.heap[1]=i++,Ur(e,c,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var n,r,i,c,f,D,K=t.dyn_tree,ee=t.max_code,te=t.stat_desc.static_tree,ie=t.stat_desc.has_stree,se=t.stat_desc.extra_bits,oe=t.stat_desc.extra_base,he=t.stat_desc.max_length,le=0;for(c=0;c<=An;c++)e.bl_count[c]=0;for(K[2*e.heap[e.heap_max]+1]=0,n=e.heap_max+1;n<xn;n++)(c=K[2*K[2*(r=e.heap[n])+1]+1]+1)>he&&(c=he,le++),K[2*r+1]=c,r>ee||(e.bl_count[c]++,f=0,r>=oe&&(f=se[r-oe]),D=K[2*r],e.opt_len+=D*(c+f),ie&&(e.static_len+=D*(te[2*r+1]+f)));if(0!==le){do{for(c=he-1;0===e.bl_count[c];)c--;e.bl_count[c]--,e.bl_count[c+1]+=2,e.bl_count[he]--,le-=2}while(le>0);for(c=he;0!==c;c--)for(r=e.bl_count[c];0!==r;)(i=e.heap[--n])>ee||(K[2*i+1]!==c&&(e.opt_len+=(c-K[2*i+1])*K[2*i],K[2*i+1]=c),r--)}}(e,t),Dr(c,ee,e.bl_count)}function Nr(e,t,n){var r,i,c=-1,f=t[1],D=0,K=7,ee=4;for(0===f&&(K=138,ee=3),t[2*(n+1)+1]=65535,r=0;r<=n;r++)i=f,f=t[2*(r+1)+1],++D<K&&i===f||(D<ee?e.bl_tree[2*i]+=D:0!==i?(i!==c&&e.bl_tree[2*i]++,e.bl_tree[32]++):D<=10?e.bl_tree[34]++:e.bl_tree[36]++,D=0,c=i,0===f?(K=138,ee=3):i===f?(K=6,ee=3):(K=7,ee=4))}function Zr(e,t,n){var r,i,c=-1,f=t[1],D=0,K=7,ee=4;for(0===f&&(K=138,ee=3),r=0;r<=n;r++)if(i=f,f=t[2*(r+1)+1],!(++D<K&&i===f)){if(D<ee)do{Mr(e,i,e.bl_tree)}while(0!=--D);else 0!==i?(i!==c&&(Mr(e,i,e.bl_tree),D--),Mr(e,Cn,e.bl_tree),Tr(e,D-3,2)):D<=10?(Mr(e,Bn,e.bl_tree),Tr(e,D-3,3)):(Mr(e,Ln,e.bl_tree),Tr(e,D-11,7));D=0,c=i,0===f?(K=138,ee=3):i===f?(K=6,ee=3):(K=7,ee=4)}}$t(or);var ar=!1;function Wr(e){ar||(function(){var e,t,n,r,i,c=new Array(16);for(n=0,r=0;r<28;r++)for(nr[r]=n,e=0;e<1<<Mn[r];e++)tr[n++]=r;for(tr[n-1]=r,i=0,r=0;r<16;r++)for(or[r]=i,e=0;e<1<<Pn[r];e++)er[i++]=r;for(i>>=7;r<En;r++)for(or[r]=i<<7,e=0;e<1<<Pn[r]-7;e++)er[256+i++]=r;for(t=0;t<=An;t++)c[t]=0;for(e=0;e<=143;)On[2*e+1]=8,e++,c[8]++;for(;e<=255;)On[2*e+1]=9,e++,c[9]++;for(;e<=279;)On[2*e+1]=7,e++,c[7]++;for(;e<=287;)On[2*e+1]=8,e++,c[8]++;for(Dr(On,287,c),e=0;e<En;e++)Un[2*e+1]=5,Un[2*e]=Cr(e,5);rr=new Ar(On,Mn,257,kn,An),ir=new Ar(Un,Pn,0,En,An),sr=new Ar(new Array(0),Dn,0,Sn,7)}(),ar=!0),e.l_desc=new Br(e.dyn_ltree,rr),e.d_desc=new Br(e.dyn_dtree,ir),e.bl_desc=new Br(e.bl_tree,sr),e.bi_buf=0,e.bi_valid=0,Ir(e)}function Yr(e,t,n,r){var i,c,f,D;Tr(e,0+(r?1:0),3),c=t,f=n,D=!0,Pr(i=e),Lr(i,f),Lr(i,~f),jt(i.pending_buf,i.window,c,f,i.pending),i.pending+=f}function Kr(e){var t;Tr(e,2,3),Mr(e,In,On),16===(t=e).bi_valid?(Lr(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}function Xr(e,t,n,r){var i,c,f=0;e.level>0?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,n=4093624447;for(t=0;t<=31;t++,n>>>=1)if(1&n&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<yn;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0}(e)),Fr(e,e.l_desc),Fr(e,e.d_desc),f=function(e){var t;for(Nr(e,e.dyn_ltree,e.l_desc.max_code),Nr(e,e.dyn_dtree,e.d_desc.max_code),Fr(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*zn[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,(c=e.static_len+3+7>>>3)<=i&&(i=c)):i=c=n+5,n+4<=i&&-1!==t?Yr(e,t,n,r):4===e.strategy||c===i?(Tr(e,2+(r?1:0),3),Hr(e,On,Un)):(Tr(e,4+(r?1:0),3),function(e,t,n,r){var i;for(Tr(e,t-257,5),Tr(e,n-1,5),Tr(e,r-4,4),i=0;i<r;i++)Tr(e,e.bl_tree[2*zn[i]+1],3);Zr(e,e.dyn_ltree,t-1),Zr(e,e.dyn_dtree,n-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,f+1),Hr(e,e.dyn_ltree,e.dyn_dtree)),Ir(e),r&&Pr(e)}function qr(e,t,n){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&n,e.last_lit++,0===t?e.dyn_ltree[2*n]++:(e.matches++,t--,e.dyn_ltree[2*(tr[n]+yn+1)]++,e.dyn_dtree[2*zr(t)]++),e.last_lit===e.lit_bufsize-1}function Vr(e,t,n,r){for(var i=65535&e,c=e>>>16&65535,f=0;0!==n;){n-=f=n>2e3?2e3:n;do{c=c+(i=i+t[r++]|0)|0}while(--f);i%=65521,c%=65521}return i|c<<16}var hr=function(){for(var e,t=[],n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t}();function $r(e,t,n,r){var i=hr,c=r+n;e^=-1;for(var f=r;f<c;f++)e=e>>>8^i[255&(e^t[f])];return-1^e}var cr,lr=0,ur=1,fr=3,dr=4,pr=5,gr=0,mr=1,wr=-2,vr=-3,_r=-5,br=-1,yr=1,kr=2,Er=3,Sr=4,xr=2,Rr=8,jr=9,Gr=286,Qr=30,Jr=19,ei=573,ti=15,ni=3,ii=258,si=262,oi=32,ai=42,hi=69,ci=73,li=91,ui=103,fi=113,pi=666,gi=1,mi=2,wi=3,vi=4,_i=3;function Hn(e,t){return e.msg=cn[t],t}function Fn(e){return(e<<1)-(e>4?9:0)}function Nn(e){for(var t=e.length;--t>=0;)e[t]=0}function Zn(e){var t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),0!==n&&(jt(e.output,t.pending_buf,t.pending_out,n,e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,0===t.pending&&(t.pending_out=0))}function jn(e,t){Xr(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,Zn(e.strm)}function Wn(e,t){e.pending_buf[e.pending++]=t}function Yn(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function Kn(e,t){var n,r,i=e.max_chain_length,c=e.strstart,f=e.prev_length,D=e.nice_match,K=e.strstart>e.w_size-si?e.strstart-(e.w_size-si):0,ee=e.window,te=e.w_mask,ie=e.prev,se=e.strstart+ii,oe=ee[c+f-1],he=ee[c+f];e.prev_length>=e.good_match&&(i>>=2),D>e.lookahead&&(D=e.lookahead);do{if(ee[(n=t)+f]===he&&ee[n+f-1]===oe&&ee[n]===ee[c]&&ee[++n]===ee[c+1]){c+=2,n++;do{}while(ee[++c]===ee[++n]&&ee[++c]===ee[++n]&&ee[++c]===ee[++n]&&ee[++c]===ee[++n]&&ee[++c]===ee[++n]&&ee[++c]===ee[++n]&&ee[++c]===ee[++n]&&ee[++c]===ee[++n]&&c<se);if(r=ii-(se-c),c=se-ii,r>f){if(e.match_start=t,f=r,r>=D)break;oe=ee[c+f-1],he=ee[c+f]}}}while((t=ie[t&te])>K&&0!=--i);return f<=e.lookahead?f:e.lookahead}function Xn(e){var t,n,r,i,c,f,D,K,ee,te,ie=e.w_size;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=ie+(ie-si)){jt(e.window,e.window,ie,ie,0),e.match_start-=ie,e.strstart-=ie,e.block_start-=ie,t=n=e.hash_size;do{r=e.head[--t],e.head[t]=r>=ie?r-ie:0}while(--n);t=n=ie;do{r=e.prev[--t],e.prev[t]=r>=ie?r-ie:0}while(--n);i+=ie}if(0===e.strm.avail_in)break;if(f=e.strm,D=e.window,K=e.strstart+e.lookahead,ee=i,te=void 0,(te=f.avail_in)>ee&&(te=ee),n=0===te?0:(f.avail_in-=te,jt(D,f.input,f.next_in,te,K),1===f.state.wrap?f.adler=Vr(f.adler,D,te,K):2===f.state.wrap&&(f.adler=$r(f.adler,D,te,K)),f.next_in+=te,f.total_in+=te,te),e.lookahead+=n,e.lookahead+e.insert>=3)for(c=e.strstart-e.insert,e.ins_h=e.window[c],e.ins_h=(e.ins_h<<e.hash_shift^e.window[c+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[c+3-1])&e.hash_mask,e.prev[c&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=c,c++,e.insert--,!(e.lookahead+e.insert<3)););}while(e.lookahead<si&&0!==e.strm.avail_in)}function qn(e,t){for(var n,r;;){if(e.lookahead<si){if(Xn(e),e.lookahead<si&&0===t)return 1;if(0===e.lookahead)break}if(n=0,e.lookahead>=3&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==n&&e.strstart-n<=e.w_size-si&&(e.match_length=Kn(e,n)),e.match_length>=3)if(r=qr(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!=--e.match_length);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 r=qr(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(r&&(jn(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<2?e.strstart:2,4===t?(jn(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(jn(e,!1),0===e.strm.avail_out)?1:2}function Vn(e,t){for(var n,r,i;;){if(e.lookahead<si){if(Xn(e),e.lookahead<si&&0===t)return 1;if(0===e.lookahead)break}if(n=0,e.lookahead>=3&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,n=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=2,0!==n&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-si&&(e.match_length=Kn(e,n),e.match_length<=5&&(1===e.strategy||3===e.match_length&&e.strstart-e.match_start>4096)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-3,r=qr(e,e.strstart-1-e.prev_match,e.prev_length-3),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+3-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!=--e.prev_length);if(e.match_available=0,e.match_length=2,e.strstart++,r&&(jn(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if((r=qr(e,0,e.window[e.strstart-1]))&&jn(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(r=qr(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<2?e.strstart:2,4===t?(jn(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(jn(e,!1),0===e.strm.avail_out)?1:2}function Gn(e,t,n,r,i){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=r,this.func=i}function $n(){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=8,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 un(1146),this.dyn_dtree=new un(122),this.bl_tree=new un(78),Nn(this.dyn_ltree),Nn(this.dyn_dtree),Nn(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new un(16),this.heap=new un(573),Nn(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new un(573),Nn(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 Jn(e){var t,n=(r=e)&&r.state?(r.total_in=r.total_out=0,r.data_type=2,(i=r.state).pending=0,i.pending_out=0,i.wrap<0&&(i.wrap=-i.wrap),i.status=i.wrap?ai:fi,r.adler=2===i.wrap?0:1,i.last_flush=0,Wr(i),0):Hn(r,wr),r,i;return 0===n&&((t=e.state).window_size=2*t.w_size,Nn(t.head),t.max_lazy_match=cr[t.level].max_lazy,t.good_match=cr[t.level].good_length,t.nice_match=cr[t.level].nice_length,t.max_chain_length=cr[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=2,t.match_available=0,t.ins_h=0),n}function Qn(e,t){var n,r,i,c;if(!e||!e.state||t>5||t<0)return e?Hn(e,wr):wr;if(r=e.state,!e.output||!e.input&&0!==e.avail_in||r.status===pi&&4!==t)return Hn(e,0===e.avail_out?_r:wr);if(r.strm=e,n=r.last_flush,r.last_flush=t,r.status===ai)if(2===r.wrap)e.adler=0,Wn(r,31),Wn(r,139),Wn(r,8),r.gzhead?(Wn(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),Wn(r,255&r.gzhead.time),Wn(r,r.gzhead.time>>8&255),Wn(r,r.gzhead.time>>16&255),Wn(r,r.gzhead.time>>24&255),Wn(r,9===r.level?2:r.strategy>=2||r.level<2?4:0),Wn(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(Wn(r,255&r.gzhead.extra.length),Wn(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(e.adler=$r(e.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=hi):(Wn(r,0),Wn(r,0),Wn(r,0),Wn(r,0),Wn(r,0),Wn(r,9===r.level?2:r.strategy>=2||r.level<2?4:0),Wn(r,3),r.status=fi);else{var f=8+(r.w_bits-8<<4)<<8;f|=(r.strategy>=2||r.level<2?0:r.level<6?1:6===r.level?2:3)<<6,0!==r.strstart&&(f|=oi),f+=31-f%31,r.status=fi,Yn(r,f),0!==r.strstart&&(Yn(r,e.adler>>>16),Yn(r,65535&e.adler)),e.adler=1}if(r.status===hi)if(r.gzhead.extra){for(i=r.pending;r.gzindex<(65535&r.gzhead.extra.length)&&(r.pending!==r.pending_buf_size||(r.gzhead.hcrc&&r.pending>i&&(e.adler=$r(e.adler,r.pending_buf,r.pending-i,i)),Zn(e),i=r.pending,r.pending!==r.pending_buf_size));)Wn(r,255&r.gzhead.extra[r.gzindex]),r.gzindex++;r.gzhead.hcrc&&r.pending>i&&(e.adler=$r(e.adler,r.pending_buf,r.pending-i,i)),r.gzindex===r.gzhead.extra.length&&(r.gzindex=0,r.status=ci)}else r.status=ci;if(r.status===ci)if(r.gzhead.name){i=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>i&&(e.adler=$r(e.adler,r.pending_buf,r.pending-i,i)),Zn(e),i=r.pending,r.pending===r.pending_buf_size)){c=1;break}c=r.gzindex<r.gzhead.name.length?255&r.gzhead.name.charCodeAt(r.gzindex++):0,Wn(r,c)}while(0!==c);r.gzhead.hcrc&&r.pending>i&&(e.adler=$r(e.adler,r.pending_buf,r.pending-i,i)),0===c&&(r.gzindex=0,r.status=li)}else r.status=li;if(r.status===li)if(r.gzhead.comment){i=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>i&&(e.adler=$r(e.adler,r.pending_buf,r.pending-i,i)),Zn(e),i=r.pending,r.pending===r.pending_buf_size)){c=1;break}c=r.gzindex<r.gzhead.comment.length?255&r.gzhead.comment.charCodeAt(r.gzindex++):0,Wn(r,c)}while(0!==c);r.gzhead.hcrc&&r.pending>i&&(e.adler=$r(e.adler,r.pending_buf,r.pending-i,i)),0===c&&(r.status=ui)}else r.status=ui;if(r.status===ui&&(r.gzhead.hcrc?(r.pending+2>r.pending_buf_size&&Zn(e),r.pending+2<=r.pending_buf_size&&(Wn(r,255&e.adler),Wn(r,e.adler>>8&255),e.adler=0,r.status=fi)):r.status=fi),0!==r.pending){if(Zn(e),0===e.avail_out)return r.last_flush=-1,0}else if(0===e.avail_in&&Fn(t)<=Fn(n)&&4!==t)return Hn(e,_r);if(r.status===pi&&0!==e.avail_in)return Hn(e,_r);if(0!==e.avail_in||0!==r.lookahead||0!==t&&r.status!==pi){var D=2===r.strategy?function(e,t){for(var n;;){if(0===e.lookahead&&(Xn(e),0===e.lookahead)){if(0===t)return 1;break}if(e.match_length=0,n=qr(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(jn(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(jn(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(jn(e,!1),0===e.strm.avail_out)?1:2}(r,t):3===r.strategy?function(e,t){for(var n,r,i,c,f=e.window;;){if(e.lookahead<=ii){if(Xn(e),e.lookahead<=ii&&0===t)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=3&&e.strstart>0&&(r=f[i=e.strstart-1])===f[++i]&&r===f[++i]&&r===f[++i]){c=e.strstart+ii;do{}while(r===f[++i]&&r===f[++i]&&r===f[++i]&&r===f[++i]&&r===f[++i]&&r===f[++i]&&r===f[++i]&&r===f[++i]&&i<c);e.match_length=ii-(c-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=3?(n=qr(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=qr(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(jn(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(jn(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(jn(e,!1),0===e.strm.avail_out)?1:2}(r,t):cr[r.level].func(r,t);if(3!==D&&4!==D||(r.status=pi),1===D||3===D)return 0===e.avail_out&&(r.last_flush=-1),0;if(2===D&&(1===t?Kr(r):5!==t&&(Yr(r,0,0,!1),3===t&&(Nn(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),Zn(e),0===e.avail_out))return r.last_flush=-1,0}return 4!==t?0:r.wrap<=0?1:(2===r.wrap?(Wn(r,255&e.adler),Wn(r,e.adler>>8&255),Wn(r,e.adler>>16&255),Wn(r,e.adler>>24&255),Wn(r,255&e.total_in),Wn(r,e.total_in>>8&255),Wn(r,e.total_in>>16&255),Wn(r,e.total_in>>24&255)):(Yn(r,e.adler>>>16),Yn(r,65535&e.adler)),Zn(e),r.wrap>0&&(r.wrap=-r.wrap),0!==r.pending?0:1)}cr=[new Gn(0,0,0,0,function(e,t){var n=65535;for(n>e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(Xn(e),0===e.lookahead&&0===t)return 1;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var r=e.block_start+n;if((0===e.strstart||e.strstart>=r)&&(e.lookahead=e.strstart-r,e.strstart=r,jn(e,!1),0===e.strm.avail_out))return 1;if(e.strstart-e.block_start>=e.w_size-si&&(jn(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(jn(e,!0),0===e.strm.avail_out?3:4):(e.strstart>e.block_start&&(jn(e,!1),e.strm.avail_out),1)}),new Gn(4,4,8,4,qn),new Gn(4,5,16,8,qn),new Gn(4,6,32,32,qn),new Gn(4,4,16,16,Vn),new Gn(8,16,32,32,Vn),new Gn(8,16,128,128,Vn),new Gn(8,32,128,256,Vn),new Gn(32,128,258,1024,Vn),new Gn(32,258,258,4096,Vn)];var bi=30,yi=12;function ri(e,t){var n,r,i,c,f,D,K,ee,te,ie,se,oe,he,le,fe,_e,Ce,Be,Me,ze,Je,nt,st,Tt,Lt;n=e.state,r=e.next_in,Tt=e.input,i=r+(e.avail_in-5),c=e.next_out,Lt=e.output,f=c-(t-e.avail_out),D=c+(e.avail_out-257),K=n.dmax,ee=n.wsize,te=n.whave,ie=n.wnext,se=n.window,oe=n.hold,he=n.bits,le=n.lencode,fe=n.distcode,_e=(1<<n.lenbits)-1,Ce=(1<<n.distbits)-1;e:do{he<15&&(oe+=Tt[r++]<<he,he+=8,oe+=Tt[r++]<<he,he+=8),Be=le[oe&_e];t:for(;;){if(oe>>>=Me=Be>>>24,he-=Me,0==(Me=Be>>>16&255))Lt[c++]=65535&Be;else{if(!(16&Me)){if(!(64&Me)){Be=le[(65535&Be)+(oe&(1<<Me)-1)];continue t}if(32&Me){n.mode=yi;break e}e.msg="invalid literal/length code",n.mode=bi;break e}ze=65535&Be,(Me&=15)&&(he<Me&&(oe+=Tt[r++]<<he,he+=8),ze+=oe&(1<<Me)-1,oe>>>=Me,he-=Me),he<15&&(oe+=Tt[r++]<<he,he+=8,oe+=Tt[r++]<<he,he+=8),Be=fe[oe&Ce];n:for(;;){if(oe>>>=Me=Be>>>24,he-=Me,!(16&(Me=Be>>>16&255))){if(!(64&Me)){Be=fe[(65535&Be)+(oe&(1<<Me)-1)];continue n}e.msg="invalid distance code",n.mode=bi;break e}if(Je=65535&Be,he<(Me&=15)&&(oe+=Tt[r++]<<he,(he+=8)<Me&&(oe+=Tt[r++]<<he,he+=8)),(Je+=oe&(1<<Me)-1)>K){e.msg="invalid distance too far back",n.mode=bi;break e}if(oe>>>=Me,he-=Me,Je>(Me=c-f)){if((Me=Je-Me)>te&&n.sane){e.msg="invalid distance too far back",n.mode=bi;break e}if(nt=0,st=se,0===ie){if(nt+=ee-Me,Me<ze){ze-=Me;do{Lt[c++]=se[nt++]}while(--Me);nt=c-Je,st=Lt}}else if(ie<Me){if(nt+=ee+ie-Me,(Me-=ie)<ze){ze-=Me;do{Lt[c++]=se[nt++]}while(--Me);if(nt=0,ie<ze){ze-=Me=ie;do{Lt[c++]=se[nt++]}while(--Me);nt=c-Je,st=Lt}}}else if(nt+=ie-Me,Me<ze){ze-=Me;do{Lt[c++]=se[nt++]}while(--Me);nt=c-Je,st=Lt}for(;ze>2;)Lt[c++]=st[nt++],Lt[c++]=st[nt++],Lt[c++]=st[nt++],ze-=3;ze&&(Lt[c++]=st[nt++],ze>1&&(Lt[c++]=st[nt++]))}else{nt=c-Je;do{Lt[c++]=Lt[nt++],Lt[c++]=Lt[nt++],Lt[c++]=Lt[nt++],ze-=3}while(ze>2);ze&&(Lt[c++]=Lt[nt++],ze>1&&(Lt[c++]=Lt[nt++]))}break}}break}}while(r<i&&c<D);r-=ze=he>>3,oe&=(1<<(he-=ze<<3))-1,e.next_in=r,e.next_out=c,e.avail_in=r<i?i-r+5:5-(r-i),e.avail_out=c<D?D-c+257:257-(c-D),n.hold=oe,n.bits=he}var ki=15,Ei=852,Si=592,xi=0,Ai=1,Ri=2,Ti=[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],Ii=[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],Ci=[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],Bi=[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 di(e,t,n,r,i,c,f,D){var K,ee,te,ie,se,oe,he,le,fe,_e=D.bits,Ce=0,Be=0,Me=0,ze=0,Je=0,nt=0,st=0,Tt=0,Lt=0,Mt=0,Nt=null,Wt=0,Vt=new un(16),Kt=new un(16),qt=null,Yt=0;for(Ce=0;Ce<=ki;Ce++)Vt[Ce]=0;for(Be=0;Be<r;Be++)Vt[t[n+Be]]++;for(Je=_e,ze=ki;ze>=1&&0===Vt[ze];ze--);if(Je>ze&&(Je=ze),0===ze)return i[c++]=20971520,i[c++]=20971520,D.bits=1,0;for(Me=1;Me<ze&&0===Vt[Me];Me++);for(Je<Me&&(Je=Me),Tt=1,Ce=1;Ce<=ki;Ce++)if(Tt<<=1,(Tt-=Vt[Ce])<0)return-1;if(Tt>0&&(0===e||1!==ze))return-1;for(Kt[1]=0,Ce=1;Ce<ki;Ce++)Kt[Ce+1]=Kt[Ce]+Vt[Ce];for(Be=0;Be<r;Be++)0!==t[n+Be]&&(f[Kt[t[n+Be]]++]=Be);if(0===e?(Nt=qt=f,oe=19):1===e?(Nt=Ti,Wt-=257,qt=Ii,Yt-=257,oe=256):(Nt=Ci,qt=Bi,oe=-1),Mt=0,Be=0,Ce=Me,se=c,nt=Je,st=0,te=-1,ie=(Lt=1<<Je)-1,1===e&&Lt>Ei||2===e&&Lt>Si)return 1;for(;;){he=Ce-st,f[Be]<oe?(le=0,fe=f[Be]):f[Be]>oe?(le=qt[Yt+f[Be]],fe=Nt[Wt+f[Be]]):(le=96,fe=0),K=1<<Ce-st,Me=ee=1<<nt;do{i[se+(Mt>>st)+(ee-=K)]=he<<24|le<<16|fe}while(0!==ee);for(K=1<<Ce-1;Mt&K;)K>>=1;if(0!==K?(Mt&=K-1,Mt+=K):Mt=0,Be++,0==--Vt[Ce]){if(Ce===ze)break;Ce=t[n+f[Be]]}if(Ce>Je&&(Mt&ie)!==te){for(0===st&&(st=Je),se+=Me,Tt=1<<(nt=Ce-st);nt+st<ze&&!((Tt-=Vt[nt+st])<=0);)nt++,Tt<<=1;if(Lt+=1<<nt,1===e&&Lt>Ei||2===e&&Lt>Si)return 1;i[te=Mt&ie]=Je<<24|nt<<16|se-c}}return 0!==Mt&&(i[se+Mt]=Ce-st<<24|64<<16),D.bits=Je,0}var Li=0,Mi=1,Pi=2,Di=4,zi=5,Oi=6,Fi=0,Hi=1,Ni=2,Wi=-2,Ui=-3,ji=-4,$i=-5,Zi=8,Vi=1,Ki=2,qi=3,Yi=4,Gi=5,Xi=6,Qi=7,Ji=8,es=9,ts=10,ns=11,rs=12,is=13,ss=14,os=15,as=16,hs=17,cs=18,ls=19,us=20,fs=21,ds=22,ps=23,gs=24,ms=25,ws=26,vs=27,_s=28,bs=29,ys=30,ks=31,Es=32,Ss=852,xs=592;function ho(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function lo(){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 un(320),this.work=new un(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function fo(e){var t,n,r;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,(n=e)&&n.state?(r=n.state,n.total_in=n.total_out=r.total=0,n.msg="",r.wrap&&(n.adler=1&r.wrap),r.mode=1,r.last=0,r.havedict=0,r.dmax=32768,r.head=null,r.hold=0,r.bits=0,r.lencode=r.lendyn=new fn(Ss),r.distcode=r.distdyn=new fn(xs),r.sane=1,r.back=-1,0):Wi):Wi}function co(e,t){var n,r,i,c,f,D;return e?(r=new lo,e.state=r,r.window=null,0!==(c=t,n=(i=e)&&i.state?(D=i.state,c<0?(f=0,c=-c):(f=1+(c>>4),c<48&&(c&=15)),c&&(c<8||c>15)?Wi:(null!==D.window&&D.wbits!==c&&(D.window=null),D.wrap=f,D.wbits=c,fo(i))):Wi)&&(e.state=null),n):Wi}var As,Rs,Ts=!0;function go(e){if(Ts){var t;for(As=new fn(512),Rs=new fn(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(di(1,e.lens,0,288,As,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;di(2,e.lens,0,32,Rs,0,e.work,{bits:5}),Ts=!1}e.lencode=As,e.lenbits=9,e.distcode=Rs,e.distbits=5}function vo(e,t){var n,r,i,c,f,D,K,ee,te,ie,se,oe,he,le,fe,_e,Ce,Be,Me,ze,Je,nt,st,Tt,Lt=0,Mt=new ln(4),Nt=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Wt,Vt,Kt,qt,Yt,Gt;if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return Wi;(n=e.state).mode===rs&&(n.mode=is),f=e.next_out,i=e.output,K=e.avail_out,c=e.next_in,r=e.input,D=e.avail_in,ee=n.hold,te=n.bits,ie=D,se=K,nt=0;e:for(;;)switch(n.mode){case 1:if(0===n.wrap){n.mode=is;break}for(;te<16;){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}if(2&n.wrap&&35615===ee){n.check=0,Mt[0]=255&ee,Mt[1]=ee>>>8&255,n.check=$r(n.check,Mt,2,0),ee=0,te=0,n.mode=2;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&ee)<<8)+(ee>>8))%31){e.msg="incorrect header check",n.mode=ys;break}if(8!=(15&ee)){e.msg="unknown compression method",n.mode=ys;break}if(te-=4,Je=8+(15&(ee>>>=4)),0===n.wbits)n.wbits=Je;else if(Je>n.wbits){e.msg="invalid window size",n.mode=ys;break}n.dmax=1<<Je,e.adler=n.check=1,n.mode=512&ee?ts:rs,ee=0,te=0;break;case 2:for(;te<16;){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}if(n.flags=ee,8!=(255&n.flags)){e.msg="unknown compression method",n.mode=ys;break}if(57344&n.flags){e.msg="unknown header flags set",n.mode=ys;break}n.head&&(n.head.text=ee>>8&1),512&n.flags&&(Mt[0]=255&ee,Mt[1]=ee>>>8&255,n.check=$r(n.check,Mt,2,0)),ee=0,te=0,n.mode=3;case 3:for(;te<32;){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}n.head&&(n.head.time=ee),512&n.flags&&(Mt[0]=255&ee,Mt[1]=ee>>>8&255,Mt[2]=ee>>>16&255,Mt[3]=ee>>>24&255,n.check=$r(n.check,Mt,4,0)),ee=0,te=0,n.mode=4;case 4:for(;te<16;){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}n.head&&(n.head.xflags=255&ee,n.head.os=ee>>8),512&n.flags&&(Mt[0]=255&ee,Mt[1]=ee>>>8&255,n.check=$r(n.check,Mt,2,0)),ee=0,te=0,n.mode=5;case 5:if(1024&n.flags){for(;te<16;){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}n.length=ee,n.head&&(n.head.extra_len=ee),512&n.flags&&(Mt[0]=255&ee,Mt[1]=ee>>>8&255,n.check=$r(n.check,Mt,2,0)),ee=0,te=0}else n.head&&(n.head.extra=null);n.mode=6;case 6:if(1024&n.flags&&((oe=n.length)>D&&(oe=D),oe&&(n.head&&(Je=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),jt(n.head.extra,r,c,oe,Je)),512&n.flags&&(n.check=$r(n.check,r,oe,c)),D-=oe,c+=oe,n.length-=oe),n.length))break e;n.length=0,n.mode=7;case 7:if(2048&n.flags){if(0===D)break e;oe=0;do{Je=r[c+oe++],n.head&&Je&&n.length<65536&&(n.head.name+=String.fromCharCode(Je))}while(Je&&oe<D);if(512&n.flags&&(n.check=$r(n.check,r,oe,c)),D-=oe,c+=oe,Je)break e}else n.head&&(n.head.name=null);n.length=0,n.mode=8;case 8:if(4096&n.flags){if(0===D)break e;oe=0;do{Je=r[c+oe++],n.head&&Je&&n.length<65536&&(n.head.comment+=String.fromCharCode(Je))}while(Je&&oe<D);if(512&n.flags&&(n.check=$r(n.check,r,oe,c)),D-=oe,c+=oe,Je)break e}else n.head&&(n.head.comment=null);n.mode=9;case 9:if(512&n.flags){for(;te<16;){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}if(ee!==(65535&n.check)){e.msg="header crc mismatch",n.mode=ys;break}ee=0,te=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=rs;break;case ts:for(;te<32;){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}e.adler=n.check=ho(ee),ee=0,te=0,n.mode=ns;case ns:if(0===n.havedict)return e.next_out=f,e.avail_out=K,e.next_in=c,e.avail_in=D,n.hold=ee,n.bits=te,2;e.adler=n.check=1,n.mode=rs;case rs:if(5===t||6===t)break e;case is:if(n.last){ee>>>=7&te,te-=7&te,n.mode=vs;break}for(;te<3;){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}switch(n.last=1&ee,te-=1,3&(ee>>>=1)){case 0:n.mode=ss;break;case 1:if(go(n),n.mode=us,6===t){ee>>>=2,te-=2;break e}break;case 2:n.mode=hs;break;case 3:e.msg="invalid block type",n.mode=ys}ee>>>=2,te-=2;break;case ss:for(ee>>>=7&te,te-=7&te;te<32;){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}if((65535&ee)!=(ee>>>16^65535)){e.msg="invalid stored block lengths",n.mode=ys;break}if(n.length=65535&ee,ee=0,te=0,n.mode=os,6===t)break e;case os:n.mode=as;case as:if(oe=n.length){if(oe>D&&(oe=D),oe>K&&(oe=K),0===oe)break e;jt(i,r,c,oe,f),D-=oe,c+=oe,K-=oe,f+=oe,n.length-=oe;break}n.mode=rs;break;case hs:for(;te<14;){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}if(n.nlen=257+(31&ee),ee>>>=5,te-=5,n.ndist=1+(31&ee),ee>>>=5,te-=5,n.ncode=4+(15&ee),ee>>>=4,te-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=ys;break}n.have=0,n.mode=cs;case cs:for(;n.have<n.ncode;){for(;te<3;){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}n.lens[Nt[n.have++]]=7&ee,ee>>>=3,te-=3}for(;n.have<19;)n.lens[Nt[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,st={bits:n.lenbits},nt=di(0,n.lens,0,19,n.lencode,0,n.work,st),n.lenbits=st.bits,nt){e.msg="invalid code lengths set",n.mode=ys;break}n.have=0,n.mode=ls;case ls:for(;n.have<n.nlen+n.ndist;){for(;_e=(Lt=n.lencode[ee&(1<<n.lenbits)-1])>>>16&255,Ce=65535&Lt,!((fe=Lt>>>24)<=te);){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}if(Ce<16)ee>>>=fe,te-=fe,n.lens[n.have++]=Ce;else{if(16===Ce){for(Tt=fe+2;te<Tt;){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}if(ee>>>=fe,te-=fe,0===n.have){e.msg="invalid bit length repeat",n.mode=ys;break}Je=n.lens[n.have-1],oe=3+(3&ee),ee>>>=2,te-=2}else if(17===Ce){for(Tt=fe+3;te<Tt;){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}te-=fe,Je=0,oe=3+(7&(ee>>>=fe)),ee>>>=3,te-=3}else{for(Tt=fe+7;te<Tt;){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}te-=fe,Je=0,oe=11+(127&(ee>>>=fe)),ee>>>=7,te-=7}if(n.have+oe>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=ys;break}for(;oe--;)n.lens[n.have++]=Je}}if(n.mode===ys)break;if(0===n.lens[256]){e.msg="invalid code -- missing end-of-block",n.mode=ys;break}if(n.lenbits=9,st={bits:n.lenbits},nt=di(1,n.lens,0,n.nlen,n.lencode,0,n.work,st),n.lenbits=st.bits,nt){e.msg="invalid literal/lengths set",n.mode=ys;break}if(n.distbits=6,n.distcode=n.distdyn,st={bits:n.distbits},nt=di(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,st),n.distbits=st.bits,nt){e.msg="invalid distances set",n.mode=ys;break}if(n.mode=us,6===t)break e;case us:n.mode=fs;case fs:if(D>=6&&K>=258){e.next_out=f,e.avail_out=K,e.next_in=c,e.avail_in=D,n.hold=ee,n.bits=te,ri(e,se),f=e.next_out,i=e.output,K=e.avail_out,c=e.next_in,r=e.input,D=e.avail_in,ee=n.hold,te=n.bits,n.mode===rs&&(n.back=-1);break}for(n.back=0;_e=(Lt=n.lencode[ee&(1<<n.lenbits)-1])>>>16&255,Ce=65535&Lt,!((fe=Lt>>>24)<=te);){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}if(_e&&!(240&_e)){for(Be=fe,Me=_e,ze=Ce;_e=(Lt=n.lencode[ze+((ee&(1<<Be+Me)-1)>>Be)])>>>16&255,Ce=65535&Lt,!(Be+(fe=Lt>>>24)<=te);){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}ee>>>=Be,te-=Be,n.back+=Be}if(ee>>>=fe,te-=fe,n.back+=fe,n.length=Ce,0===_e){n.mode=ws;break}if(32&_e){n.back=-1,n.mode=rs;break}if(64&_e){e.msg="invalid literal/length code",n.mode=ys;break}n.extra=15&_e,n.mode=ds;case ds:if(n.extra){for(Tt=n.extra;te<Tt;){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}n.length+=ee&(1<<n.extra)-1,ee>>>=n.extra,te-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=ps;case ps:for(;_e=(Lt=n.distcode[ee&(1<<n.distbits)-1])>>>16&255,Ce=65535&Lt,!((fe=Lt>>>24)<=te);){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}if(!(240&_e)){for(Be=fe,Me=_e,ze=Ce;_e=(Lt=n.distcode[ze+((ee&(1<<Be+Me)-1)>>Be)])>>>16&255,Ce=65535&Lt,!(Be+(fe=Lt>>>24)<=te);){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}ee>>>=Be,te-=Be,n.back+=Be}if(ee>>>=fe,te-=fe,n.back+=fe,64&_e){e.msg="invalid distance code",n.mode=ys;break}n.offset=Ce,n.extra=15&_e,n.mode=gs;case gs:if(n.extra){for(Tt=n.extra;te<Tt;){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}n.offset+=ee&(1<<n.extra)-1,ee>>>=n.extra,te-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=ys;break}n.mode=ms;case ms:if(0===K)break e;if(oe=se-K,n.offset>oe){if((oe=n.offset-oe)>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=ys;break}oe>n.wnext?(oe-=n.wnext,he=n.wsize-oe):he=n.wnext-oe,oe>n.length&&(oe=n.length),le=n.window}else le=i,he=f-n.offset,oe=n.length;oe>K&&(oe=K),K-=oe,n.length-=oe;do{i[f++]=le[he++]}while(--oe);0===n.length&&(n.mode=fs);break;case ws:if(0===K)break e;i[f++]=n.length,K--,n.mode=fs;break;case vs:if(n.wrap){for(;te<32;){if(0===D)break e;D--,ee|=r[c++]<<te,te+=8}if(se-=K,e.total_out+=se,n.total+=se,se&&(e.adler=n.check=n.flags?$r(n.check,i,se,f-se):Vr(n.check,i,se,f-se)),se=K,(n.flags?ee:ho(ee))!==n.check){e.msg="incorrect data check",n.mode=ys;break}ee=0,te=0}n.mode=_s;case _s:if(n.wrap&&n.flags){for(;te<32;){if(0===D)break e;D--,ee+=r[c++]<<te,te+=8}if(ee!==(4294967295&n.total)){e.msg="incorrect length check",n.mode=ys;break}ee=0,te=0}n.mode=bs;case bs:nt=1;break e;case ys:nt=Ui;break e;case ks:return ji;default:return Wi}return e.next_out=f,e.avail_out=K,e.next_in=c,e.avail_in=D,n.hold=ee,n.bits=te,(n.wsize||se!==e.avail_out&&n.mode<ys&&(n.mode<vs||4!==t))&&(Wt=e,Vt=e.output,Kt=e.next_out,qt=se-e.avail_out,null===(Gt=Wt.state).window&&(Gt.wsize=1<<Gt.wbits,Gt.wnext=0,Gt.whave=0,Gt.window=new ln(Gt.wsize)),qt>=Gt.wsize?(jt(Gt.window,Vt,Kt-Gt.wsize,Gt.wsize,0),Gt.wnext=0,Gt.whave=Gt.wsize):((Yt=Gt.wsize-Gt.wnext)>qt&&(Yt=qt),jt(Gt.window,Vt,Kt-qt,Yt,Gt.wnext),(qt-=Yt)?(jt(Gt.window,Vt,Kt-qt,qt,0),Gt.wnext=qt,Gt.whave=Gt.wsize):(Gt.wnext+=Yt,Gt.wnext===Gt.wsize&&(Gt.wnext=0),Gt.whave<Gt.wsize&&(Gt.whave+=Yt)))),ie-=e.avail_in,se-=e.avail_out,e.total_in+=ie,e.total_out+=se,n.total+=se,n.wrap&&se&&(e.adler=n.check=n.flags?$r(n.check,i,se,e.next_out-se):Vr(n.check,i,se,e.next_out-se)),e.data_type=n.bits+(n.last?64:0)+(n.mode===rs?128:0)+(n.mode===us||n.mode===os?256:0),(0===ie&&0===se||4===t)&&0===nt&&(nt=$i),nt}var Is,Cs=1,Bs=7;function mo(e){if(e<1||e>7)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}function ko(e,t){for(var n=0;n<e.length;n++)this[t+n]=e[n]}mo.prototype.init=function(e,t,n,r,i){var c;switch(this.windowBits=e,this.level=t,this.memLevel=n,this.strategy=r,3!==this.mode&&4!==this.mode||(this.windowBits+=16),7===this.mode&&(this.windowBits+=32),5!==this.mode&&6!==this.mode||(this.windowBits=-this.windowBits),this.strm=new Zt,this.mode){case 1:case 3:case 5:c=function(e,t,n,r,i,c){if(!e)return wr;var f=1;if(t===br&&(t=6),r<0?(f=0,r=-r):r>15&&(f=2,r-=16),i<1||i>9||r<8||r>15||t<0||t>9||c<0||c>4)return Hn(e,wr);8===r&&(r=9);var D=new $n;return e.state=D,D.strm=e,D.wrap=f,D.gzhead=null,D.w_bits=r,D.w_size=1<<D.w_bits,D.w_mask=D.w_size-1,D.hash_bits=i+7,D.hash_size=1<<D.hash_bits,D.hash_mask=D.hash_size-1,D.hash_shift=~~((D.hash_bits+3-1)/3),D.window=new ln(2*D.w_size),D.head=new un(D.hash_size),D.prev=new un(D.w_size),D.lit_bufsize=1<<i+6,D.pending_buf_size=4*D.lit_bufsize,D.pending_buf=new ln(D.pending_buf_size),D.d_buf=1*D.lit_bufsize,D.l_buf=3*D.lit_bufsize,D.level=t,D.strategy=c,D.method=8,Jn(e)}(this.strm,this.level,8,this.windowBits,this.memLevel,this.strategy);break;case 2:case 4:case 6:case 7:c=co(this.strm,this.windowBits);break;default:throw new Error("Unknown mode "+this.mode)}0===c?(this.write_in_progress=!1,this.init_done=!0):this._error(c)},mo.prototype.params=function(){throw new Error("deflateParams Not supported")},mo.prototype._writeCheck=function(){if(!this.init_done)throw new Error("write before init");if(0===this.mode)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")},mo.prototype.write=function(e,t,n,r,i,c,f){this._writeCheck(),this.write_in_progress=!0;var D=this;return de(function(){D.write_in_progress=!1;var K=D._write(e,t,n,r,i,c,f);D.callback(K[0],K[1]),D.pending_close&&D.close()}),this},mo.prototype.writeSync=function(e,t,n,r,i,c,f){return this._writeCheck(),this._write(e,t,n,r,i,c,f)},mo.prototype._write=function(e,t,n,r,i,c,f){if(this.write_in_progress=!0,0!==e&&1!==e&&2!==e&&3!==e&&4!==e&&5!==e)throw new Error("Invalid flush value");null==t&&(t=new p(0),r=0,n=0),i._set?i.set=i._set:i.set=ko;var D,K=this.strm;switch(K.avail_in=r,K.input=t,K.next_in=n,K.avail_out=f,K.output=i,K.next_out=c,this.mode){case 1:case 3:case 5:D=Qn(K,e);break;case 7:case 2:case 4:case 6:D=vo(K,e);break;default:throw new Error("Unknown mode "+this.mode)}return 1!==D&&0!==D&&this._error(D),this.write_in_progress=!1,[K.avail_in,K.avail_out]},mo.prototype.close=function(){this.write_in_progress?this.pending_close=!0:(this.pending_close=!1,1===this.mode||3===this.mode||5===this.mode?function(e){var t;e&&e.state&&((t=e.state.status)!==ai&&t!==hi&&t!==ci&&t!==li&&t!==ui&&t!==fi&&t!==pi?Hn(e,wr):(e.state=null,t===fi&&Hn(e,vr)))}(this.strm):function(e){if(!e||!e.state)return Wi;var t=e.state;t.window&&(t.window=null),e.state=null}(this.strm),this.mode=0)},mo.prototype.reset=function(){switch(this.mode){case 1:case 5:Is=Jn(this.strm);break;case 2:case 6:Is=fo(this.strm)}0!==Is&&this._error(Is)},mo.prototype._error=function(e){this.onerror(cn[e]+": "+this.strm.msg,e),this.write_in_progress=!1,this.pending_close&&this.close()};var Ls=Object.freeze({NONE:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8,Zlib:mo}),Ms={};Object.keys(Ls).forEach(function(e){Ms[e]=Ls[e]}),Ms.Z_MIN_WINDOWBITS=8,Ms.Z_MAX_WINDOWBITS=15,Ms.Z_DEFAULT_WINDOWBITS=15,Ms.Z_MIN_CHUNK=64,Ms.Z_MAX_CHUNK=1/0,Ms.Z_DEFAULT_CHUNK=16384,Ms.Z_MIN_MEMLEVEL=1,Ms.Z_MAX_MEMLEVEL=9,Ms.Z_DEFAULT_MEMLEVEL=8,Ms.Z_MIN_LEVEL=-1,Ms.Z_MAX_LEVEL=9,Ms.Z_DEFAULT_LEVEL=Ms.Z_DEFAULT_COMPRESSION;var Ps={Z_OK:Ms.Z_OK,Z_STREAM_END:Ms.Z_STREAM_END,Z_NEED_DICT:Ms.Z_NEED_DICT,Z_ERRNO:Ms.Z_ERRNO,Z_STREAM_ERROR:Ms.Z_STREAM_ERROR,Z_DATA_ERROR:Ms.Z_DATA_ERROR,Z_MEM_ERROR:Ms.Z_MEM_ERROR,Z_BUF_ERROR:Ms.Z_BUF_ERROR,Z_VERSION_ERROR:Ms.Z_VERSION_ERROR};function Ro(e,t,n){var r=[],i=0;function o2(){for(var t;null!==(t=e.read());)r.push(t),i+=t.length;e.once("readable",o2)}function a2(){var t=p.concat(r,i);r=[],n(null,t),e.close()}e.on("error",function(t){e.removeListener("end",a2),e.removeListener("readable",o2),n(t)}),e.on("end",a2),e.end(t),o2()}function Ao(e,t){if("string"==typeof t&&(t=new p(t)),!$(t))throw new TypeError("Not a string or buffer");var n=Ms.Z_FINISH;return e._processChunk(t,n)}function Bo(e){if(!(this instanceof Bo))return new Bo(e);Io.call(this,e,Ms.DEFLATE)}function zo(e){if(!(this instanceof zo))return new zo(e);Io.call(this,e,Ms.INFLATE)}function Lo(e){if(!(this instanceof Lo))return new Lo(e);Io.call(this,e,Ms.GZIP)}function To(e){if(!(this instanceof To))return new To(e);Io.call(this,e,Ms.GUNZIP)}function Mo(e){if(!(this instanceof Mo))return new Mo(e);Io.call(this,e,Ms.DEFLATERAW)}function Co(e){if(!(this instanceof Co))return new Co(e);Io.call(this,e,Ms.INFLATERAW)}function Do(e){if(!(this instanceof Do))return new Do(e);Io.call(this,e,Ms.UNZIP)}function Io(e,t){if(this._opts=e=e||{},this._chunkSize=e.chunkSize||Ms.Z_DEFAULT_CHUNK,Ot.call(this,e),e.flush&&e.flush!==Ms.Z_NO_FLUSH&&e.flush!==Ms.Z_PARTIAL_FLUSH&&e.flush!==Ms.Z_SYNC_FLUSH&&e.flush!==Ms.Z_FULL_FLUSH&&e.flush!==Ms.Z_FINISH&&e.flush!==Ms.Z_BLOCK)throw new Error("Invalid flush flag: "+e.flush);if(this._flushFlag=e.flush||Ms.Z_NO_FLUSH,e.chunkSize&&(e.chunkSize<Ms.Z_MIN_CHUNK||e.chunkSize>Ms.Z_MAX_CHUNK))throw new Error("Invalid chunk size: "+e.chunkSize);if(e.windowBits&&(e.windowBits<Ms.Z_MIN_WINDOWBITS||e.windowBits>Ms.Z_MAX_WINDOWBITS))throw new Error("Invalid windowBits: "+e.windowBits);if(e.level&&(e.level<Ms.Z_MIN_LEVEL||e.level>Ms.Z_MAX_LEVEL))throw new Error("Invalid compression level: "+e.level);if(e.memLevel&&(e.memLevel<Ms.Z_MIN_MEMLEVEL||e.memLevel>Ms.Z_MAX_MEMLEVEL))throw new Error("Invalid memLevel: "+e.memLevel);if(e.strategy&&e.strategy!=Ms.Z_FILTERED&&e.strategy!=Ms.Z_HUFFMAN_ONLY&&e.strategy!=Ms.Z_RLE&&e.strategy!=Ms.Z_FIXED&&e.strategy!=Ms.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+e.strategy);if(e.dictionary&&!$(e.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance");this._binding=new Ms.Zlib(t);var n=this;this._hadError=!1,this._binding.onerror=function(e,t){n._binding=null,n._hadError=!0;var r=new Error(e);r.errno=t,r.code=Ms.codes[t],n.emit("error",r)};var r=Ms.Z_DEFAULT_COMPRESSION;"number"==typeof e.level&&(r=e.level);var i=Ms.Z_DEFAULT_STRATEGY;"number"==typeof e.strategy&&(i=e.strategy),this._binding.init(e.windowBits||Ms.Z_DEFAULT_WINDOWBITS,r,e.memLevel||Ms.Z_DEFAULT_MEMLEVEL,i,e.dictionary),this._buffer=new p(this._chunkSize),this._offset=0,this._closed=!1,this._level=r,this._strategy=i,this.once("end",this.close)}Object.keys(Ps).forEach(function(e){Ps[Ps[e]]=e}),Xt(Io,Ot),Io.prototype.params=function(e,t,n){if(e<Ms.Z_MIN_LEVEL||e>Ms.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+e);if(t!=Ms.Z_FILTERED&&t!=Ms.Z_HUFFMAN_ONLY&&t!=Ms.Z_RLE&&t!=Ms.Z_FIXED&&t!=Ms.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+t);if(this._level!==e||this._strategy!==t){var r=this;this.flush(Ms.Z_SYNC_FLUSH,function(){r._binding.params(e,t),r._hadError||(r._level=e,r._strategy=t,n&&n())})}else de(n)},Io.prototype.reset=function(){return this._binding.reset()},Io.prototype._flush=function(e){this._transform(new p(0),"",e)},Io.prototype.flush=function(e,t){var n=this._writableState;if(("function"==typeof e||void 0===e&&!t)&&(t=e,e=Ms.Z_FULL_FLUSH),n.ended)t&&de(t);else if(n.ending)t&&this.once("end",t);else if(n.needDrain){var r=this;this.once("drain",function(){r.flush(t)})}else this._flushFlag=e,this.write(new p(0),"",t)},Io.prototype.close=function(e){if(e&&de(e),!this._closed){this._closed=!0,this._binding.close();var t=this;de(function(){t.emit("close")})}},Io.prototype._transform=function(e,t,n){var r,i=this._writableState,c=(i.ending||i.ended)&&(!e||i.length===e.length);if(null===!e&&!$(e))return n(new Error("invalid input"));c?r=Ms.Z_FINISH:(r=this._flushFlag,e.length>=i.length&&(this._flushFlag=this._opts.flush||Ms.Z_NO_FLUSH)),this._processChunk(e,r,n)},Io.prototype._processChunk=function(e,t,n){var r=e&&e.length,i=this._chunkSize-this._offset,c=0,f=this,D="function"==typeof n;if(!D){var K,ee=[],te=0;this.on("error",function(e){K=e});do{var ie=this._binding.writeSync(t,e,c,r,this._buffer,this._offset,i)}while(!this._hadError&&_2(ie[0],ie[1]));if(this._hadError)throw K;var se=p.concat(ee,te);return this.close(),se}var oe=this._binding.write(t,e,c,r,this._buffer,this._offset,i);function _2(K,ie){if(!f._hadError){var se=i-ie;if(function(e,t){if(!e)throw new Error(t)}(se>=0,"have should not go down"),se>0){var oe=f._buffer.slice(f._offset,f._offset+se);f._offset+=se,D?f.push(oe):(ee.push(oe),te+=oe.length)}if((0===ie||f._offset>=f._chunkSize)&&(i=f._chunkSize,f._offset=0,f._buffer=new p(f._chunkSize)),0===ie){if(c+=r-K,r=K,!D)return!0;var he=f._binding.write(t,e,c,r,f._buffer,f._offset,f._chunkSize);return he.callback=_2,void(he.buffer=e)}if(!D)return!1;n()}}oe.buffer=e,oe.callback=_2},Xt(Bo,Io),Xt(zo,Io),Xt(Lo,Io),Xt(To,Io),Xt(Mo,Io),Xt(Co,Io),Xt(Do,Io);var Ds=Ps,Po_createDeflate=function(e){return new Bo(e)},Po_createInflate=function(e){return new zo(e)},Po_createDeflateRaw=function(e){return new Mo(e)},Po_createInflateRaw=function(e){return new Co(e)},Po_createGzip=function(e){return new Lo(e)},Po_createGunzip=function(e){return new To(e)},Po_createUnzip=function(e){return new Do(e)},Po_deflate=function(e,t,n){return"function"==typeof t&&(n=t,t={}),Ro(new Bo(t),e,n)},Po_deflateSync=function(e,t){return Ao(new Bo(t),e)},Po_gzip=function(e,t,n){return"function"==typeof t&&(n=t,t={}),Ro(new Lo(t),e,n)},Po_gzipSync=function(e,t){return Ao(new Lo(t),e)},Po_deflateRaw=function(e,t,n){return"function"==typeof t&&(n=t,t={}),Ro(new Mo(t),e,n)},Po_deflateRawSync=function(e,t){return Ao(new Mo(t),e)},Po_unzip=function(e,t,n){return"function"==typeof t&&(n=t,t={}),Ro(new Do(t),e,n)},Po_unzipSync=function(e,t){return Ao(new Do(t),e)},Po_inflate=function(e,t,n){return"function"==typeof t&&(n=t,t={}),Ro(new zo(t),e,n)},Po_inflateSync=function(e,t){return Ao(new zo(t),e)},Po_gunzip=function(e,t,n){return"function"==typeof t&&(n=t,t={}),Ro(new To(t),e,n)},Po_gunzipSync=function(e,t){return Ao(new To(t),e)},Po_inflateRaw=function(e,t,n){return"function"==typeof t&&(n=t,t={}),Ro(new Co(t),e,n)},Po_inflateRawSync=function(e,t){return Ao(new Co(t),e)},zs=Bo,Os=zo,Fs=Lo,Hs=To,Ns=Mo,Ws=Co,Us=Do,js=Io;class $s{constructor(e,t,n){this.SDKAPPID=e,this.EXPIRETIME=n,this.PRIVATEKEY=t}genTestUserSig(e){return this._isNumber(this.SDKAPPID)?this._isString(this.PRIVATEKEY)?this._isString(e)?this._isNumber(this.EXPIRETIME)?(console.log("sdkAppID="+this.SDKAPPID+" key="+this.PRIVATEKEY+" userID="+e+" expire="+this.EXPIRETIME),this.genSigWithUserbuf(e,this.EXPIRETIME,null)):(console.error("expireTime must be a number"),""):(console.error("userID must be a string"),""):(console.error("privateKey must be a string"),""):(console.error("sdkAppID must be a number"),"")}newBuffer(e,t){return p.from?p.from(e,t):new p(e,t)}unescape(e){return e.replace(/_/g,"=").replace(/\-/g,"/").replace(/\*/g,"+")}escape(e){return e.replace(/\+/g,"*").replace(/\//g,"-").replace(/=/g,"_")}encode(e){return this.escape(this.newBuffer(e).toString("base64"))}decode(e){return this.newBuffer(this.unescape(e),"base64")}base64encode(e){return this.newBuffer(e).toString("base64")}base64decode(e){return this.newBuffer(e,"base64").toString()}_hmacsha256(e,t,n,r){let i="TLS.identifier:"+e+"\n";i+="TLS.sdkappid:"+this.SDKAPPID+"\n",i+="TLS.time:"+t+"\n",i+="TLS.expire:"+n+"\n",null!=r&&(i+="TLS.userbuf:"+r+"\n");let c=Mt.HmacSHA256(i,this.PRIVATEKEY);return Mt.enc.Base64.stringify(c)}_utc(){return Math.round(Date.now()/1e3)}_isNumber(e){return null!==e&&("number"==typeof e&&!isNaN(e-0)||"object"==typeof e&&e.constructor===Number)}_isString(e){return"string"==typeof e}genSigWithUserbuf(e,t,n){let r=this._utc(),i={"TLS.ver":"2.0","TLS.identifier":e,"TLS.sdkappid":this.SDKAPPID,"TLS.time":r,"TLS.expire":t},c="";if(null!=n){let f=this.base64encode(n);i["TLS.userbuf"]=f,c=this._hmacsha256(e,r,t,f)}else c=this._hmacsha256(e,r,t,null);i["TLS.sig"]=c;let f=JSON.stringify(i),D=Po_deflateSync(this.newBuffer(f)).toString("base64"),K=this.escape(D);return console.log("ret="+K),K}validate(e){let t=this.decode(e),n=Po_inflateSync(t);console.log("validate ret="+n)}}const Zs=604800;function genTestUserSig(e){const{SDKAppID:t,secretKey:n,userID:r}=e,i=undefined,c=undefined;return{SDKAppID:t,userSig:new $s(t,n,Zs).genTestUserSig(r)}}class Vs{constructor(){this.messagePopup=null,this.isRegistered=!1,this.registrationID="",this.chat=null,this.SDKAppID=0,this.appKey="",this.vapidPublicKey="",this.pendingMessages=[],this.EVENT=i,this.VERSION=n,D.log("version:",n),this.eventEmitter=new K,this.serviceWorkerManager=le.getInstance(this.eventEmitter),this.initializeBrowserCompatibility().catch(e=>{D.error("Browser compatibility initialization failed",e)}),this.setupInternalListeners(),this.setupVisibilityChangeListener()}static getInstance(){return this.instance||(this.instance=new Vs),this.instance}async registerPush(e){try{te.validateRegisterPushOptions(e);const{SDKAppID:n,appKey:r,userID:i,chat:c,logLevel:f}=e;void 0!==f&&D.setLogLevel(f),this.isRegistered&&(D.warn("Push service already registered, will unregister first and then re-register"),await this.unRegisterPush()),this.checkBrowserSupport();const K=undefined;if("granted"!==await this.requestNotificationPermission())throw new Error("User denied notification permission");if(this.SDKAppID=n,this.appKey=r,this.registrationID=i,this.messagePopup=new fe({onClick:(e,t)=>{this.serviceWorkerManager.postMessage({type:"REPORT_WEBPUSH_EVENT",payload:{...e,eventType:3}})}}),c)this.chat=c;else{if(void 0===t)throw new Error("TencentCloudChat SDK is not available. Please ensure you have imported @tencentcloud/lite-chat/professional or provided a chat instance in the options.");this.chat=t.create({SDKAppID:this.SDKAppID,...e}),void 0!==f&&this.chat.setLogLevel(f)}this.addChatListener(),await this.serviceWorkerManager.register(),void 0!==f&&await this.sendLogLevelToServiceWorker(f),await this.pushLogin();const ee=await this.serviceWorkerManager.getPushSubscription(this.vapidPublicKey);return await this.setToken(ee),this.isRegistered=!0,D.log("Push service registration successful",this.registrationID),this.registrationID}catch(n){if(n instanceof ee)throw D.error("Push service registration parameter validation failed",n.message),n;throw D.error("Push service registration failed",n),n}}async unRegisterPush(){try{return this.isRegistered?(this.chat&&this.removeChatListener(),this.messagePopup&&(this.messagePopup.destroy(),this.messagePopup=null),await this.serviceWorkerManager.unsubscribe(),await this.serviceWorkerManager.unregister(),await this.chat.callExperimentalAPI("logoutWebPush"),this.isRegistered=!1,this.registrationID="",this.SDKAppID=0,this.appKey="",this.vapidPublicKey="",this.clearState(),D.log("Push service unregistration successful"),!0):(D.warn("Push service is not registered, no need to unregister"),!0)}catch(e){return D.error("Push service unregistration failed",e),!1}}addPushListener(e,t){try{te.validateEventType(e),te.validateListener(t);const n=this.eventEmitter.on(e,t);return D.log("Add push listener",e,n),n}catch(n){if(n instanceof ee)throw D.error("Add push listener parameter validation failed",n.message),n;throw D.error("Add push listener failed",n),new Error("Add push listener failed")}}async sendLogLevelToServiceWorker(e){try{this.serviceWorkerManager&&(await this.serviceWorkerManager.postMessage({type:"SET_LOG_LEVEL",payload:{logLevel:e}}),D.log("Log level sent to Service Worker:",e))}catch(t){D.warn("Failed to send log level to Service Worker",t)}}removePushListener(e,t){try{te.validateEventType(e),te.validateListener(t);const n=this.eventEmitter.off(e,t);return D.log("Remove push listener",e,n),n}catch(n){if(n instanceof ee)throw D.error("Remove push listener parameter validation failed",n.message),n;return D.error("Remove push listener failed",n),!1}}checkBrowserSupport(){if(!se.checkBrowserSupport()){const e=se.detectWebPushCapability();throw new Error(`Browser not supported: ${e.reason}`)}}async requestNotificationPermission(){try{const e=await se.checkNotificationPermission();if("granted"===e)return"granted";const t=undefined,n=se.detectWebPushCapability().browserName;if("denied"===e){const e=`Notification permission denied for ${n}. Please check your system settings.`;throw new Error(e)}se.requiresUserGesture()&&D.warn("Current browser requires user gesture to request notification permission");const r=await se.requestNotificationPermission();if("granted"!==r)throw new Error(`User denied notification permission for ${n}`);return this.showSystemPermissionAlert(n),r}catch(e){throw D.error("Request notification permission failed",e),e}}async pushLogin(){try{const e=await this.chat.callExperimentalAPI("loginWebPush",{userID:this.registrationID,userSig:genTestUserSig({SDKAppID:this.SDKAppID,secretKey:this.appKey,userID:this.registrationID}).userSig,pushSDKVersion:n});e.data.vapid?this.vapidPublicKey=e.data.vapid:D.error("Failed to fetch VAPID public key")}catch(e){if(2905===e?.code){const t=new Error("The API you are calling is only available in the Professional edition. Please change your import from @tencentcloud/lite-chat to @tencentcloud/lite-chat/professional to access this feature.");throw t.code=e.code,t}throw e}}onMessageReceived(e){D.log("Received message data",e),e.data.forEach(e=>{const{webPush:t}=e,{content:n,info:r,extension:c}=t,{TaskId:f,WebpushReportUrl:K,OnlineClickExt:ee}=c;if(n)try{const e=JSON.parse(n),t={id:f,...e};if(this.eventEmitter.emit(i.MESSAGE_RECEIVED,t),"custom"!==e.MsgType){const e={...t,rptURL:K,rptExt:ee};this.messagePopup&&"visible"===document.visibilityState?this.messagePopup.show(e):this.messagePopup&&(this.pendingMessages.push(e),D.log("Message added to pending queue (page hidden)",f))}}catch(te){D.error("Failed to parse message content",te),this.eventEmitter.emit(i.MESSAGE_RECEIVED,n)}else if(r)try{this.sendNotificationToServiceWorker({id:f,...r,rptURL:K,rptExt:ee})}catch(te){D.error("Failed to send notification to service worker",te),this.eventEmitter.emit(i.MESSAGE_RECEIVED,r)}})}onMessageRevoked(e){e.data.forEach(e=>{const{ID:t}=e;D.log("Message revoked",t);const n=this.messagePopup&&this.messagePopup.hasMessage(t),r=this.pendingMessages.findIndex(e=>e.id===t);if(-1!==r)return this.pendingMessages.splice(r,1),D.log("Pending message removed from queue",t),void this.eventEmitter.emit(i.MESSAGE_REVOKED,{messageID:t});if(n)this.messagePopup.close(t),this.eventEmitter.emit(i.MESSAGE_REVOKED,{messageID:t}),D.log("Popup message revoked and closed",t);else try{this.sendMessageRevokeToServiceWorker(t),D.log("Message revoke sent to service worker",t)}catch(c){D.error("Failed to send message revoke to service worker",c),this.eventEmitter.emit(i.MESSAGE_REVOKED,{messageID:t})}})}addChatListener(){if(this.chat)try{this.chat.on(t.EVENT.WEB_PUSH_MESSAGE_RECEIVED,this.onMessageReceived.bind(this)),this.chat.on(t.EVENT.MESSAGE_REVOKED,this.onMessageRevoked.bind(this)),D.log("Chat listeners added for online push")}catch(e){D.error("Failed to add chat listeners",e)}}removeChatListener(){if(this.chat)try{this.chat.off(t.EVENT.WEB_PUSH_MESSAGE_RECEIVED,this.onMessageReceived),this.chat.off(t.EVENT.MESSAGE_REVOKED,this.onMessageRevoked),D.log("Chat listeners removed")}catch(e){D.error("Failed to remove chat listeners",e)}}getSystemPermissionMessage(e){const t=undefined,n=undefined;return navigator.userAgent.toLowerCase().includes("mac os")?`For macOS: System Preferences > Notifications > ${e}, then enable notifications.`:`For Windows: Settings > Privacy > Notifications > ${e}, then enable notifications.`}showSystemPermissionAlert(e){const t=this.getSystemPermissionMessage(e),n=undefined;alert(`System notification permission for ${e}.\n\n${t}\n\nPlease refresh the page after enabling notifications.`)}getBrowserInstType(){const e=navigator.userAgent.toLowerCase();return e.includes("edg/")?3003:e.includes("yabrowser/")?3004:e.includes("opr/")||e.includes("opera/")?3005:e.includes("chrome/")&&!e.includes("edg/")?3e3:e.includes("firefox/")?3001:e.includes("safari/")&&!e.includes("chrome/")?3002:1}async setToken(e){try{const t=se.detectWebPushCapability(),r=se.getBrowserInfo(),i={browserType:this.getBrowserInstType(),pushToken:e.endpoint,webPushAuthKey:e.auth,webPushP256:e.p256dh,pushSDKVersion:n,browserVersion:`${t.browserName} ${t.browserVersion}`,browserPlatform:r.platform,browserLanguage:r.language},c=undefined;return await this.chat.callExperimentalAPI("setWebPushToken",i)}catch(t){throw D.error("Device registration failed",t),t}}async initializeBrowserCompatibility(){try{const e=se.detectWebPushCapability();D.log("Browser Web Push capability initialization completed",{browser:`${e.browserName} ${e.browserVersion}`,supported:e.supported,reason:e.reason}),e.supported||D.warn("[WebPush] Browser compatibility warning:",e.reason)}catch(e){D.error("Browser compatibility initialization failed",e)}}setupVisibilityChangeListener(){document.addEventListener("visibilitychange",()=>{if("visible"===document.visibilityState&&this.messagePopup&&this.pendingMessages.length>0){D.log("Page became visible, showing pending messages",this.pendingMessages.length);const e=[...this.pendingMessages];this.pendingMessages=[];const t=setTimeout(()=>{e.forEach(e=>{this.messagePopup&&this.messagePopup.show(e)}),clearTimeout(t)},100)}})}setupInternalListeners(){this.eventEmitter.on(i.MESSAGE_RECEIVED,e=>{this.SDKAppID&&this.registrationID&&e.messageID&&this.pushStatistics(e.messageID,"reach")}),this.eventEmitter.on(i.NOTIFICATION_CLICKED,e=>{this.SDKAppID&&this.registrationID&&e.notification?.messageID&&this.pushStatistics(e.notification.messageID,"click")})}async pushStatistics(e,t){try{if(!this.chat)return void D.warn("Chat SDK not initialized, skipping statistics");const n={messageID:e,type:t,timestamp:Date.now(),SDKAppID:this.SDKAppID,registrationID:this.registrationID};D.log(`Message ${t} statistics recorded`,n)}catch(n){D.error(`Failed to record message ${t} statistics`,n)}}clearState(){this.isRegistered=!1,this.registrationID="",this.SDKAppID=0,this.appKey="",this.vapidPublicKey="",this.pendingMessages=[],this.messagePopup&&(this.messagePopup.destroy(),this.messagePopup=null)}async sendNotificationToServiceWorker(e){try{if(!this.serviceWorkerManager)return void D.warn("ServiceWorkerManager not initialized, skipping notification");await this.serviceWorkerManager.postMessage({type:"PROCESS_WEBPUSH_DATA",payload:e}),D.log("WebPush data sent to service-worker",e)}catch(t){D.error("Failed to send webpush data to service-worker",t)}}async sendMessageRevokeToServiceWorker(e){try{if(!this.serviceWorkerManager)return void D.warn("ServiceWorkerManager not initialized, skipping message revoke");await this.serviceWorkerManager.postMessage({type:"REVOKE_MESSAGE",payload:{messageID:e}}),D.log("Message revoke sent to service-worker",e)}catch(t){throw D.error("Failed to send message revoke to service-worker",t),t}}}const Ks=Vs.getInstance();e.EVENT=i,e.MessagePopup=fe,e.Placement=r,e.default=Ks,e.webPush=Ks,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tencentcloud/web-push",
3
- "version": "1.0.4",
3
+ "version": "1.0.5",
4
4
  "description": "Tencent Cloud Web Push SDK - Service Worker-based web push notification service",
5
5
  "main": "index.umd.js",
6
6
  "module": "index.esm.js",
package/sw.js CHANGED
@@ -1 +1 @@
1
- !function(){"use strict";let t=1;function e(e){return 4!==t&&e>=t}function a(t,...a){e(1)&&console.log(`[WebPush SW] ${t}`,...a)}function i(t,...a){e(2)&&console.warn(`[WebPush SW] ${t}`,...a)}function n(t,...a){e(3)&&console.error(`[WebPush SW] ${t}`,...a)}async function o(t,e={}){const{shouldReport:a=!0,clickEventType:i=2}=e,n={messageID:t.id||Date.now().toString(36)+Math.random().toString(36).substring(2),title:t.title||"New Message",body:t.desc||"You have a new message",icon:t.icon||"",tag:t.tag||t?.id?.slice(-100)||"push-"+Date.now()+"-"+Math.random().toString(36).substring(2,7),data:{url:t.url,image:t.image,rptExt:t.rptExt,rptURL:t.rptURL,clickEventType:i},timestamp:Date.now()},o=self.registration.showNotification(n.title,{body:n.body,icon:n.icon,image:t.image,tag:n.tag,data:n,requireInteraction:!1}),l=r({type:"MESSAGE_RECEIVED",data:s(n)}),d=a&&t.rptURL&&t.rptExt?c({id:t.id,rptURL:t.rptURL,rptExt:t.rptExt,eventType:1}):Promise.resolve();await Promise.all([o,l,d])}function s(t){return{messageID:t.messageID,title:t.title,body:t.body,icon:t.icon,tag:t.tag,data:{url:t.data?.url,image:t.data?.image},timestamp:t.timestamp}}async function r(t){try{(await self.clients.matchAll({includeUncontrolled:!0,type:"window"})).forEach(e=>{e.postMessage(t)})}catch(e){n("Failed to send message to clients",e)}}async function c(t){try{if(!t.rptURL||!t.rptExt)return void i("Missing rptURL or rptExt, skipping report");const e={webpushEvents:[{id:t.id,EventType:t.eventType||1,EventTime:Math.floor(Date.now()/1e3),rptExt:t.rptExt}]};a("Reporting WebPush event",{rptURL:t.rptURL,reportData:e});const n=await fetch(t.rptURL,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});n.ok?a("WebPush event reported successfully"):i("Failed to report WebPush event",n.status,n.statusText)}catch(e){n("Error reporting WebPush event",e)}}self.addEventListener("install",t=>{a("Service Worker installing..."),self.skipWaiting()}),self.addEventListener("activate",t=>{a("Service Worker activating..."),t.waitUntil(self.clients.claim())}),self.addEventListener("push",t=>{if(a("Push message received",t),t.data)try{const e=function(t){if(!t)throw new Error("No push data available");try{const e=t.json();return a("Push message data (JSON):",e),e}catch{const e=t.text();return a("Push message data (Text):",e),{id:"",title:"WebPush Notification",desc:e||"You have a new message",url:"/",icon:"",tag:"",image:"",rptExt:"",rptURL:""}}}(t.data);t.waitUntil(o(e))}catch(e){n("Failed to process push message",e),t.waitUntil(self.registration.showNotification("WebPush Notification",{body:"You have a new message",tag:"fallback"}))}else i("Push message has no data")}),self.addEventListener("notificationclick",t=>{a("Notification clicked",t);const e=t.notification,o=t.action,l=e.data;if(e.close(),"close"===o)return;const d=r({type:"NOTIFICATION_CLICKED",data:{notification:s(l),action:o}}),u=async function(t="/"){try{a("Attempting to open or focus window with URL:",t);const n=await self.clients.matchAll({type:"window",includeUncontrolled:!0});let o;a("Found clients:",n.length);try{o=t.startsWith("http://")||t.startsWith("https://")?t:new URL(t,self.location.origin).href}catch(e){i("Invalid URL, using origin:",t,e),o=self.location.origin}a("Full target URL:",o);for(const t of n)if(t.url===o&&"focus"in t)return void(await t.focus());self.clients.openWindow&&await self.clients.openWindow(o)}catch(e){n("Failed to open or focus window",e)}}(l?.data?.url||"/"),p=l?.data?.clickEventType||2,f=l?.data?.rptURL&&l?.data?.rptExt?c({id:l.messageID,rptURL:l.data.rptURL,rptExt:l.data.rptExt,eventType:p}):Promise.resolve();t.waitUntil(Promise.all([d,u,f]))}),self.addEventListener("notificationclose",t=>{a("Notification closed",t)}),self.addEventListener("message",e=>{a("Message received from main thread",e.data);const{type:i,payload:s}=e.data;switch(i){case"SHOW_NOTIFICATION":!async function(t){try{const{eventType:e,data:i,options:n}=t;a("Handling show notification request",{eventType:e,data:i,options:n}),await self.registration.showNotification(n.title,{body:n.body,icon:n.icon,badge:n.badge,tag:n.tag,requireInteraction:n.requireInteraction,silent:n.silent,data:n.data}),a("Notification shown successfully",n.title)}catch(e){n("Failed to handle show notification",e)}}(s);break;case"PROCESS_WEBPUSH_DATA":!async function(t){try{a("Handling webpush data from main thread",t),await o(t,{shouldReport:!1,clickEventType:3}),a("WebPush notification processed successfully")}catch(e){n("Failed to handle webpush data",e);try{await self.registration.showNotification("WebPush Notification",{body:"You have a new message",tag:"fallback"})}catch(i){n("Failed to show fallback notification",i)}}}(s);break;case"REVOKE_MESSAGE":!async function(t){try{(await self.registration.getNotifications()).forEach(e=>{e.data&&e.data.messageID===t&&e.close()}),await r({type:"MESSAGE_REVOKED",data:{messageID:t}})}catch(e){n("Failed to handle message revocation",e)}}(s.messageID);break;case"SET_LOG_LEVEL":l=s.logLevel,t=l,a("Log level updated to:",l);break;case"REPORT_WEBPUSH_EVENT":c(s)}var l}),self.addEventListener("error",t=>{n("Service Worker error",t.error)}),self.addEventListener("unhandledrejection",t=>{n("Service Worker unhandled promise rejection",t.reason)})}();
1
+ !function(){"use strict";let t=1;function e(e){return 4!==t&&e>=t}function a(t,...a){e(1)&&console.log(`[WebPush SW] ${t}`,...a)}function i(t,...a){e(2)&&console.warn(`[WebPush SW] ${t}`,...a)}function n(t,...a){e(3)&&console.error(`[WebPush SW] ${t}`,...a)}async function o(t,e={}){const{shouldReport:a=!0,clickEventType:i=2}=e,n={messageID:t.id||Date.now().toString(36)+Math.random().toString(36).substring(2),title:t.title||"New Message",body:t.desc||"You have a new message",icon:t.icon||"",tag:t.tag||t?.id?.slice(-100)||"push-"+Date.now()+"-"+Math.random().toString(36).substring(2,7),data:{...t,clickEventType:i},timestamp:Date.now()},o=self.registration.showNotification(n.title,{body:n.body,icon:n.icon,image:t.image,tag:n.tag,data:n,requireInteraction:!1}),c=s({type:"MESSAGE_RECEIVED",data:n}),l=a&&t.rptURL&&t.rptExt?r({id:t.id,rptURL:t.rptURL,rptExt:t.rptExt,eventType:1}):Promise.resolve();await Promise.all([o,c,l])}async function s(t){try{(await self.clients.matchAll({includeUncontrolled:!0,type:"window"})).forEach(e=>{e.postMessage(t)})}catch(e){n("Failed to send message to clients",e)}}async function r(t){try{if(!t.rptURL||!t.rptExt)return void i("Missing rptURL or rptExt, skipping report");const e={webpushEvents:[{id:t.id,EventType:t.eventType||1,EventTime:Math.floor(Date.now()/1e3),rptExt:t.rptExt}]};a("Reporting WebPush event",{rptURL:t.rptURL,reportData:e});const n=await fetch(t.rptURL,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});n.ok?a("WebPush event reported successfully"):i("Failed to report WebPush event",n.status,n.statusText)}catch(e){n("Error reporting WebPush event",e)}}self.addEventListener("install",t=>{a("Service Worker installing..."),self.skipWaiting()}),self.addEventListener("activate",t=>{a("Service Worker activating..."),t.waitUntil(self.clients.claim())}),self.addEventListener("push",t=>{if(a("Push message received",t),t.data)try{const e=function(t){if(!t)throw new Error("No push data available");try{const e=t.json();return a("Push message data (JSON):",e),e}catch{const e=t.text();return a("Push message data (Text):",e),{id:"",title:"WebPush Notification",desc:e||"You have a new message",url:"/",icon:"",tag:"",image:"",ext:"",rptExt:"",rptURL:""}}}(t.data);t.waitUntil(o(e))}catch(e){n("Failed to process push message",e),t.waitUntil(self.registration.showNotification("WebPush Notification",{body:"You have a new message",tag:"fallback"}))}else i("Push message has no data")}),self.addEventListener("notificationclick",t=>{a("Notification clicked",t);const e=t.notification,o=t.action,c=e.data;if(e.close(),"close"===o)return;const l=s({type:"NOTIFICATION_CLICKED",data:{notification:c,action:o}}),d=async function(t="/"){try{a("Attempting to open or focus window with URL:",t);const n=await self.clients.matchAll({type:"window",includeUncontrolled:!0});let o;a("Found clients:",n.length);try{o=t.startsWith("http://")||t.startsWith("https://")?t:new URL(t,self.location.origin).href}catch(e){i("Invalid URL, using origin:",t,e),o=self.location.origin}a("Full target URL:",o);for(const t of n)if(t.url===o&&"focus"in t)return void(await t.focus());self.clients.openWindow&&await self.clients.openWindow(o)}catch(e){n("Failed to open or focus window",e)}}(c?.data?.url||"/"),f=c?.data?.clickEventType||2,u=c?.data?.rptURL&&c?.data?.rptExt?r({id:c.messageID,rptURL:c.data.rptURL,rptExt:c.data.rptExt,eventType:f}):Promise.resolve();t.waitUntil(Promise.all([l,d,u]))}),self.addEventListener("notificationclose",t=>{a("Notification closed",t)}),self.addEventListener("message",e=>{a("Message received from main thread",e.data);const{type:i,payload:c}=e.data;switch(i){case"SHOW_NOTIFICATION":!async function(t){try{const{eventType:e,data:i,options:n}=t;a("Handling show notification request",{eventType:e,data:i,options:n}),await self.registration.showNotification(n.title,{body:n.body,icon:n.icon,badge:n.badge,tag:n.tag,requireInteraction:n.requireInteraction,silent:n.silent,data:n.data}),a("Notification shown successfully",n.title)}catch(e){n("Failed to handle show notification",e)}}(c);break;case"PROCESS_WEBPUSH_DATA":!async function(t){try{a("Handling webpush data from main thread",t),await o(t,{shouldReport:!1,clickEventType:3}),a("WebPush notification processed successfully")}catch(e){n("Failed to handle webpush data",e);try{await self.registration.showNotification("WebPush Notification",{body:"You have a new message",tag:"fallback"})}catch(i){n("Failed to show fallback notification",i)}}}(c);break;case"REVOKE_MESSAGE":!async function(t){try{(await self.registration.getNotifications()).forEach(e=>{e.data&&e.data.messageID===t&&e.close()}),await s({type:"MESSAGE_REVOKED",data:{messageID:t}})}catch(e){n("Failed to handle message revocation",e)}}(c.messageID);break;case"SET_LOG_LEVEL":l=c.logLevel,t=l,a("Log level updated to:",l);break;case"REPORT_WEBPUSH_EVENT":r(c)}var l}),self.addEventListener("error",t=>{n("Service Worker error",t.error)}),self.addEventListener("unhandledrejection",t=>{n("Service Worker unhandled promise rejection",t.reason)})}();