diff --git "a/_next/static/chunks/pages/_app-e3dcb59f7e5dc3f0.js" "b/_next/static/chunks/pages/_app-e3dcb59f7e5dc3f0.js" new file mode 100644--- /dev/null +++ "b/_next/static/chunks/pages/_app-e3dcb59f7e5dc3f0.js" @@ -0,0 +1,193 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[888],{13083:function(e,t,n){"use strict";var r,o;n.d(t,{Tb:function(){return R},s3:function(){return W},nZ:function(){return N}});let i=Object.prototype.toString;function a(e){return"[object Object]"===i.call(e)}function s(e){return!!(e&&e.then&&"function"==typeof e.then)}function u(e){return e&&e.Math==Math?e:void 0}let c="object"==typeof globalThis&&u(globalThis)||"object"==typeof window&&u(window)||"object"==typeof self&&u(self)||"object"==typeof n.g&&u(n.g)||function(){return this}()||{};function l(e,t,n){let r=n||c,o=r.__SENTRY__=r.__SENTRY__||{};return o[e]||(o[e]=t())}function d(){let e=c.crypto||c.msCrypto,t=()=>16*Math.random();try{if(e&&e.randomUUID)return e.randomUUID().replace(/-/g,"");e&&e.getRandomValues&&(t=()=>{let t=new Uint8Array(1);return e.getRandomValues(t),t[0]})}catch(e){}return"10000000100040008000100000000000".replace(/[018]/g,e=>(e^(15&t())>>e/4).toString(16))}function p(){return Date.now()/1e3}let h=function(){let{performance:e}=c;if(!e||!e.now)return p;let t=Date.now()-e.now(),n=void 0==e.timeOrigin?t:e.timeOrigin;return()=>(n+e.now())/1e3}();(()=>{let{performance:e}=c;if(!e||!e.now)return;let t=e.now(),n=Date.now(),r=e.timeOrigin?Math.abs(e.timeOrigin+t-n):36e5,o=e.timing&&e.timing.navigationStart,i="number"==typeof o?Math.abs(o+t-n):36e5;if(r<36e5||i<36e5)return r<=i?e.timeOrigin:void 0})();let f="undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__,m=["debug","info","warn","error","log","assert","trace"],g={};function y(e){if(!("console"in c))return e();let t=c.console,n={},r=Object.keys(g);r.forEach(e=>{let r=g[e];n[e]=t[e],t[e]=r});try{return e()}finally{r.forEach(e=>{t[e]=n[e]})}}let v=function(){let e=!1,t={enable:()=>{e=!0},disable:()=>{e=!1},isEnabled:()=>e};return f?m.forEach(n=>{t[n]=(...t)=>{e&&y(()=>{c.console[n](`Sentry Logger [${n}]:`,...t)})}}):m.forEach(e=>{t[e]=()=>void 0}),t}(),w="production",b="undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__;(o=r||(r={}))[o.PENDING=0]="PENDING",o[o.RESOLVED=1]="RESOLVED",o[o.REJECTED=2]="REJECTED";class A{constructor(e){A.prototype.__init.call(this),A.prototype.__init2.call(this),A.prototype.__init3.call(this),A.prototype.__init4.call(this),this._state=r.PENDING,this._handlers=[];try{e(this._resolve,this._reject)}catch(e){this._reject(e)}}then(e,t){return new A((n,r)=>{this._handlers.push([!1,t=>{if(e)try{n(e(t))}catch(e){r(e)}else n(t)},e=>{if(t)try{n(t(e))}catch(e){r(e)}else r(e)}]),this._executeHandlers()})}catch(e){return this.then(e=>e,e)}finally(e){return new A((t,n)=>{let r,o;return this.then(t=>{o=!1,r=t,e&&e()},t=>{o=!0,r=t,e&&e()}).then(()=>{if(o){n(r);return}t(r)})})}__init(){this._resolve=e=>{this._setResult(r.RESOLVED,e)}}__init2(){this._reject=e=>{this._setResult(r.REJECTED,e)}}__init3(){this._setResult=(e,t)=>{if(this._state===r.PENDING){if(s(t)){t.then(this._resolve,this._reject);return}this._state=e,this._value=t,this._executeHandlers()}}}__init4(){this._executeHandlers=()=>{if(this._state===r.PENDING)return;let e=this._handlers.slice();this._handlers=[],e.forEach(e=>{e[0]||(this._state===r.RESOLVED&&e[1](this._value),this._state===r.REJECTED&&e[2](this._value),e[0]=!0)})}}}function S(e){return function e(t,n){if(function(e){if(!a(e))return!1;try{let t=Object.getPrototypeOf(e).constructor.name;return!t||"Object"===t}catch(e){return!0}}(t)){let r=n.get(t);if(void 0!==r)return r;let o={};for(let r of(n.set(t,o),Object.keys(t)))void 0!==t[r]&&(o[r]=e(t[r],n));return o}if(Array.isArray(t)){let r=n.get(t);if(void 0!==r)return r;let o=[];return n.set(t,o),t.forEach(t=>{o.push(e(t,n))}),o}return t}(e,new Map)}function P(e,t={}){if(!t.user||(!e.ipAddress&&t.user.ip_address&&(e.ipAddress=t.user.ip_address),e.did||t.did||(e.did=t.user.id||t.user.email||t.user.username)),e.timestamp=t.timestamp||h(),t.abnormal_mechanism&&(e.abnormal_mechanism=t.abnormal_mechanism),t.ignoreDuration&&(e.ignoreDuration=t.ignoreDuration),t.sid&&(e.sid=32===t.sid.length?t.sid:d()),void 0!==t.init&&(e.init=t.init),!e.did&&t.did&&(e.did=`${t.did}`),"number"==typeof t.started&&(e.started=t.started),e.ignoreDuration)e.duration=void 0;else if("number"==typeof t.duration)e.duration=t.duration;else{let t=e.timestamp-e.started;e.duration=t>=0?t:0}t.release&&(e.release=t.release),t.environment&&(e.environment=t.environment),!e.ipAddress&&t.ipAddress&&(e.ipAddress=t.ipAddress),!e.userAgent&&t.userAgent&&(e.userAgent=t.userAgent),"number"==typeof t.errors&&(e.errors=t.errors),t.status&&(e.status=t.status)}function k(e){return e.transaction}function _(e){return"function"==typeof e.getSpanJSON?e.getSpanJSON():"function"==typeof e.toJSON?e.toJSON():{}}class I{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._extra={},this._contexts={},this._sdkProcessingMetadata={},this._propagationContext=x()}static clone(e){return e?e.clone():new I}clone(){let e=new I;return e._breadcrumbs=[...this._breadcrumbs],e._tags={...this._tags},e._extra={...this._extra},e._contexts={...this._contexts},e._user=this._user,e._level=this._level,e._span=this._span,e._session=this._session,e._transactionName=this._transactionName,e._fingerprint=this._fingerprint,e._eventProcessors=[...this._eventProcessors],e._requestSession=this._requestSession,e._attachments=[...this._attachments],e._sdkProcessingMetadata={...this._sdkProcessingMetadata},e._propagationContext={...this._propagationContext},e._client=this._client,e}setClient(e){this._client=e}getClient(){return this._client}addScopeListener(e){this._scopeListeners.push(e)}addEventProcessor(e){return this._eventProcessors.push(e),this}setUser(e){return this._user=e||{email:void 0,id:void 0,ip_address:void 0,segment:void 0,username:void 0},this._session&&P(this._session,{user:e}),this._notifyScopeListeners(),this}getUser(){return this._user}getRequestSession(){return this._requestSession}setRequestSession(e){return this._requestSession=e,this}setTags(e){return this._tags={...this._tags,...e},this._notifyScopeListeners(),this}setTag(e,t){return this._tags={...this._tags,[e]:t},this._notifyScopeListeners(),this}setExtras(e){return this._extra={...this._extra,...e},this._notifyScopeListeners(),this}setExtra(e,t){return this._extra={...this._extra,[e]:t},this._notifyScopeListeners(),this}setFingerprint(e){return this._fingerprint=e,this._notifyScopeListeners(),this}setLevel(e){return this._level=e,this._notifyScopeListeners(),this}setTransactionName(e){return this._transactionName=e,this._notifyScopeListeners(),this}setContext(e,t){return null===t?delete this._contexts[e]:this._contexts[e]=t,this._notifyScopeListeners(),this}setSpan(e){return this._span=e,this._notifyScopeListeners(),this}getSpan(){return this._span}getTransaction(){let e=this._span;return e&&e.transaction}setSession(e){return e?this._session=e:delete this._session,this._notifyScopeListeners(),this}getSession(){return this._session}update(e){if(!e)return this;if("function"==typeof e){let t=e(this);return t instanceof I?t:this}return e instanceof I?(this._tags={...this._tags,...e._tags},this._extra={...this._extra,...e._extra},this._contexts={...this._contexts,...e._contexts},e._user&&Object.keys(e._user).length&&(this._user=e._user),e._level&&(this._level=e._level),e._fingerprint&&(this._fingerprint=e._fingerprint),e._requestSession&&(this._requestSession=e._requestSession),e._propagationContext&&(this._propagationContext=e._propagationContext)):a(e)&&(this._tags={...this._tags,...e.tags},this._extra={...this._extra,...e.extra},this._contexts={...this._contexts,...e.contexts},e.user&&(this._user=e.user),e.level&&(this._level=e.level),e.fingerprint&&(this._fingerprint=e.fingerprint),e.requestSession&&(this._requestSession=e.requestSession),e.propagationContext&&(this._propagationContext=e.propagationContext)),this}clear(){return this._breadcrumbs=[],this._tags={},this._extra={},this._user={},this._contexts={},this._level=void 0,this._transactionName=void 0,this._fingerprint=void 0,this._requestSession=void 0,this._span=void 0,this._session=void 0,this._notifyScopeListeners(),this._attachments=[],this._propagationContext=x(),this}addBreadcrumb(e,t){let n="number"==typeof t?t:100;if(n<=0)return this;let r={timestamp:p(),...e},o=this._breadcrumbs;return o.push(r),this._breadcrumbs=o.length>n?o.slice(-n):o,this._notifyScopeListeners(),this}getLastBreadcrumb(){return this._breadcrumbs[this._breadcrumbs.length-1]}clearBreadcrumbs(){return this._breadcrumbs=[],this._notifyScopeListeners(),this}addAttachment(e){return this._attachments.push(e),this}getAttachments(){return this.getScopeData().attachments}clearAttachments(){return this._attachments=[],this}getScopeData(){let{_breadcrumbs:e,_attachments:t,_contexts:n,_tags:r,_extra:o,_user:i,_level:a,_fingerprint:s,_eventProcessors:u,_propagationContext:c,_sdkProcessingMetadata:l,_transactionName:d,_span:p}=this;return{breadcrumbs:e,attachments:t,contexts:n,tags:r,extra:o,user:i,level:a,fingerprint:s||[],eventProcessors:u,propagationContext:c,sdkProcessingMetadata:l,transactionName:d,span:p}}applyToEvent(e,t={},n=[]){return!function(e,t){var n;let{fingerprint:r,span:o,breadcrumbs:i,sdkProcessingMetadata:a}=t;(function(e,t){let{extra:n,tags:r,user:o,contexts:i,level:a,transactionName:s}=t,u=S(n);u&&Object.keys(u).length&&(e.extra={...u,...e.extra});let c=S(r);c&&Object.keys(c).length&&(e.tags={...c,...e.tags});let l=S(o);l&&Object.keys(l).length&&(e.user={...l,...e.user});let d=S(i);d&&Object.keys(d).length&&(e.contexts={...d,...e.contexts}),a&&(e.level=a),s&&(e.transaction=s)})(e,t),o&&function(e,t){e.contexts={trace:function(e){let{spanId:t,traceId:n}=e.spanContext(),{data:r,op:o,parent_span_id:i,status:a,tags:s,origin:u}=_(e);return S({data:r,op:o,parent_span_id:i,span_id:t,status:a,tags:s,trace_id:n,origin:u})}(t),...e.contexts};let n=k(t);if(n){e.sdkProcessingMetadata={dynamicSamplingContext:function(e){let t=W();if(!t)return{};let n=function(e,t,n){let r=t.getOptions(),{publicKey:o}=t.getDsn()||{},{segment:i}=n&&n.getUser()||{},a=S({environment:r.environment||w,release:r.release,user_segment:i,public_key:o,trace_id:e});return t.emit&&t.emit("createDsc",a),a}(_(e).trace_id||"",t,N()),r=k(e);if(!r)return n;let o=r&&r._frozenDynamicSamplingContext;if(o)return o;let{sampleRate:i,source:a}=r.metadata;null!=i&&(n.sample_rate=`${i}`);let s=_(r);return a&&"url"!==a&&(n.transaction=s.description),n.sampled=String(function(e){let{traceFlags:t}=e.spanContext();return!!(1&t)}(r)),t.emit&&t.emit("createDsc",n),n}(t),...e.sdkProcessingMetadata};let r=_(n).description;r&&(e.tags={transaction:r,...e.tags})}}(e,o),e.fingerprint=e.fingerprint?Array.isArray(n=e.fingerprint)?n:[n]:[],r&&(e.fingerprint=e.fingerprint.concat(r)),e.fingerprint&&!e.fingerprint.length&&delete e.fingerprint,function(e,t){let n=[...e.breadcrumbs||[],...t];e.breadcrumbs=n.length?n:void 0}(e,i),e.sdkProcessingMetadata={...e.sdkProcessingMetadata,...a}}(e,this.getScopeData()),function e(t,n,r,o=0){return new A((i,a)=>{let u=t[o];if(null===n||"function"!=typeof u)i(n);else{let c=u({...n},r);b&&u.id&&null===c&&v.log(`Event processor "${u.id}" dropped event`),s(c)?c.then(n=>e(t,n,r,o+1).then(i)).then(null,a):e(t,c,r,o+1).then(i).then(null,a)}})}([...n,...l("globalEventProcessors",()=>[]),...this._eventProcessors],e,t)}setSDKProcessingMetadata(e){return this._sdkProcessingMetadata={...this._sdkProcessingMetadata,...e},this}setPropagationContext(e){return this._propagationContext=e,this}getPropagationContext(){return this._propagationContext}captureException(e,t){let n=t&&t.event_id?t.event_id:d();if(!this._client)return v.warn("No client configured on scope - will not capture exception!"),n;let r=Error("Sentry syntheticException");return this._client.captureException(e,{originalException:e,syntheticException:r,...t,event_id:n},this),n}captureMessage(e,t,n){let r=n&&n.event_id?n.event_id:d();if(!this._client)return v.warn("No client configured on scope - will not capture message!"),r;let o=Error(e);return this._client.captureMessage(e,t,{originalException:e,syntheticException:o,...n,event_id:r},this),r}captureEvent(e,t){let n=t&&t.event_id?t.event_id:d();return this._client?this._client.captureEvent(e,{...t,event_id:n},this):v.warn("No client configured on scope - will not capture event!"),n}_notifyScopeListeners(){this._notifyingListeners||(this._notifyingListeners=!0,this._scopeListeners.forEach(e=>{e(this)}),this._notifyingListeners=!1)}}function x(){return{traceId:d(),spanId:d().substring(16)}}let T=parseFloat("7.101.1");class E{constructor(e,t,n,r=T){let o,i;this._version=r,t?o=t:(o=new I).setClient(e),n?i=n:(i=new I).setClient(e),this._stack=[{scope:o}],e&&this.bindClient(e),this._isolationScope=i}isOlderThan(e){return this._version(this.popScope(),e),e=>{throw this.popScope(),e}):(this.popScope(),t)}getClient(){return this.getStackTop().client}getScope(){return this.getStackTop().scope}getIsolationScope(){return this._isolationScope}getStack(){return this._stack}getStackTop(){return this._stack[this._stack.length-1]}captureException(e,t){let n=this._lastEventId=t&&t.event_id?t.event_id:d(),r=Error("Sentry syntheticException");return this.getScope().captureException(e,{originalException:e,syntheticException:r,...t,event_id:n}),n}captureMessage(e,t,n){let r=this._lastEventId=n&&n.event_id?n.event_id:d(),o=Error(e);return this.getScope().captureMessage(e,t,{originalException:e,syntheticException:o,...n,event_id:r}),r}captureEvent(e,t){let n=t&&t.event_id?t.event_id:d();return e.type||(this._lastEventId=n),this.getScope().captureEvent(e,{...t,event_id:n}),n}lastEventId(){return this._lastEventId}addBreadcrumb(e,t){let{scope:n,client:r}=this.getStackTop();if(!r)return;let{beforeBreadcrumb:o=null,maxBreadcrumbs:i=100}=r.getOptions&&r.getOptions()||{};if(i<=0)return;let a={timestamp:p(),...e},s=o?y(()=>o(a,t)):a;null!==s&&(r.emit&&r.emit("beforeAddBreadcrumb",s,t),n.addBreadcrumb(s,i))}setUser(e){this.getScope().setUser(e),this.getIsolationScope().setUser(e)}setTags(e){this.getScope().setTags(e),this.getIsolationScope().setTags(e)}setExtras(e){this.getScope().setExtras(e),this.getIsolationScope().setExtras(e)}setTag(e,t){this.getScope().setTag(e,t),this.getIsolationScope().setTag(e,t)}setExtra(e,t){this.getScope().setExtra(e,t),this.getIsolationScope().setExtra(e,t)}setContext(e,t){this.getScope().setContext(e,t),this.getIsolationScope().setContext(e,t)}configureScope(e){let{scope:t,client:n}=this.getStackTop();n&&e(t)}run(e){let t=M(this);try{e(this)}finally{M(t)}}getIntegration(e){let t=this.getClient();if(!t)return null;try{return t.getIntegration(e)}catch(t){return b&&v.warn(`Cannot retrieve integration ${e.id} from the current Hub`),null}}startTransaction(e,t){let n=this._callExtensionMethod("startTransaction",e,t);return b&&!n&&(this.getClient()?v.warn(`Tracing extension 'startTransaction' has not been added. Call 'addTracingExtensions' before calling 'init': +Sentry.addTracingExtensions(); +Sentry.init({...}); +`):v.warn("Tracing extension 'startTransaction' is missing. You should 'init' the SDK before calling 'startTransaction'")),n}traceHeaders(){return this._callExtensionMethod("traceHeaders")}captureSession(e=!1){if(e)return this.endSession();this._sendSessionUpdate()}endSession(){let e=this.getStackTop().scope,t=e.getSession();if(t){let e;e={},"ok"===t.status&&(e={status:"exited"}),P(t,e)}this._sendSessionUpdate(),e.setSession()}startSession(e){let{scope:t,client:n}=this.getStackTop(),{release:r,environment:o=w}=n&&n.getOptions()||{},{userAgent:i}=c.navigator||{},a=function(e){let t=h(),n={sid:d(),init:!0,timestamp:t,started:t,duration:0,status:"ok",errors:0,ignoreDuration:!1,toJSON:()=>S({sid:`${n.sid}`,init:n.init,started:new Date(1e3*n.started).toISOString(),timestamp:new Date(1e3*n.timestamp).toISOString(),status:n.status,errors:n.errors,did:"number"==typeof n.did||"string"==typeof n.did?`${n.did}`:void 0,duration:n.duration,abnormal_mechanism:n.abnormal_mechanism,attrs:{release:n.release,environment:n.environment,ip_address:n.ipAddress,user_agent:n.userAgent}})};return e&&P(n,e),n}({release:r,environment:o,user:t.getUser(),...i&&{userAgent:i},...e}),s=t.getSession&&t.getSession();return s&&"ok"===s.status&&P(s,{status:"exited"}),this.endSession(),t.setSession(a),a}shouldSendDefaultPii(){let e=this.getClient(),t=e&&e.getOptions();return!!(t&&t.sendDefaultPii)}_sendSessionUpdate(){let{scope:e,client:t}=this.getStackTop(),n=e.getSession();n&&t&&t.captureSession&&t.captureSession(n)}_callExtensionMethod(e,...t){let n=C().__SENTRY__;if(n&&n.extensions&&"function"==typeof n.extensions[e])return n.extensions[e].apply(this,t);b&&v.warn(`Extension method ${e} couldn't be found, doing nothing.`)}}function C(){return c.__SENTRY__=c.__SENTRY__||{extensions:{},hub:void 0},c}function M(e){let t=C(),n=D(t);return j(t,e),n}function O(){let e=C();if(e.__SENTRY__&&e.__SENTRY__.acs){let t=e.__SENTRY__.acs.getCurrentHub();if(t)return t}return function(e=C()){return(!(e&&e.__SENTRY__&&e.__SENTRY__.hub)||D(e).isOlderThan(T))&&j(e,new E),D(e)}(e)}function D(e){return l("hub",()=>new E,e)}function j(e,t){return!!e&&((e.__SENTRY__=e.__SENTRY__||{}).hub=t,!0)}new WeakMap;let U=["user","level","extra","contexts","tags","fingerprint","requestSession","propagationContext"];function R(e,t){return O().captureException(e,t?t instanceof I||"function"==typeof t||Object.keys(t).some(e=>U.includes(e))?{captureContext:t}:t:void 0)}function W(){return O().getClient()}function N(){return O().getScope()}},79742:function(e,t){"use strict";t.byteLength=function(e){var t=u(e),n=t[0],r=t[1];return(n+r)*3/4-r},t.toByteArray=function(e){var t,n,i=u(e),a=i[0],s=i[1],c=new o((a+s)*3/4-s),l=0,d=s>0?a-4:a;for(n=0;n>16&255,c[l++]=t>>8&255,c[l++]=255&t;return 2===s&&(t=r[e.charCodeAt(n)]<<2|r[e.charCodeAt(n+1)]>>4,c[l++]=255&t),1===s&&(t=r[e.charCodeAt(n)]<<10|r[e.charCodeAt(n+1)]<<4|r[e.charCodeAt(n+2)]>>2,c[l++]=t>>8&255,c[l++]=255&t),c},t.fromByteArray=function(e){for(var t,r=e.length,o=r%3,i=[],a=0,s=r-o;a>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return i.join("")}(e,a,a+16383>s?s:a+16383));return 1===o?i.push(n[(t=e[r-1])>>2]+n[t<<4&63]+"=="):2===o&&i.push(n[(t=(e[r-2]<<8)+e[r-1])>>10]+n[t>>4&63]+n[t<<2&63]+"="),i.join("")};for(var n=[],r=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,s=i.length;a0)throw Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");-1===n&&(n=t);var r=n===t?0:4-n%4;return[n,r]}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63},48764:function(e,t,n){"use strict";/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */let r=n(79742),o=n(80645),i="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;function a(e){if(e>2147483647)throw RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,s.prototype),t}function s(e,t,n){if("number"==typeof e){if("string"==typeof t)throw TypeError('The "string" argument must be of type string. Received type number');return l(e)}return u(e,t,n)}function u(e,t,n){if("string"==typeof e)return function(e,t){if(("string"!=typeof t||""===t)&&(t="utf8"),!s.isEncoding(t))throw TypeError("Unknown encoding: "+t);let n=0|f(e,t),r=a(n),o=r.write(e,t);return o!==n&&(r=r.slice(0,o)),r}(e,t);if(ArrayBuffer.isView(e))return function(e){if(W(e,Uint8Array)){let t=new Uint8Array(e);return p(t.buffer,t.byteOffset,t.byteLength)}return d(e)}(e);if(null==e)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(W(e,ArrayBuffer)||e&&W(e.buffer,ArrayBuffer)||"undefined"!=typeof SharedArrayBuffer&&(W(e,SharedArrayBuffer)||e&&W(e.buffer,SharedArrayBuffer)))return p(e,t,n);if("number"==typeof e)throw TypeError('The "value" argument must not be of type number. Received type number');let r=e.valueOf&&e.valueOf();if(null!=r&&r!==e)return s.from(r,t,n);let o=function(e){var t;if(s.isBuffer(e)){let t=0|h(e.length),n=a(t);return 0===n.length||e.copy(n,0,0,t),n}return void 0!==e.length?"number"!=typeof e.length||(t=e.length)!=t?a(0):d(e):"Buffer"===e.type&&Array.isArray(e.data)?d(e.data):void 0}(e);if(o)return o;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return s.from(e[Symbol.toPrimitive]("string"),t,n);throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function c(e){if("number"!=typeof e)throw TypeError('"size" argument must be of type number');if(e<0)throw RangeError('The value "'+e+'" is invalid for option "size"')}function l(e){return c(e),a(e<0?0:0|h(e))}function d(e){let t=e.length<0?0:0|h(e.length),n=a(t);for(let r=0;r=2147483647)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x7fffffff bytes");return 0|e}function f(e,t){if(s.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||W(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let n=e.length,r=arguments.length>2&&!0===arguments[2];if(!r&&0===n)return 0;let o=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return j(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return U(e).length;default:if(o)return r?-1:j(e).length;t=(""+t).toLowerCase(),o=!0}}function m(e,t,n){let o=!1;if((void 0===t||t<0)&&(t=0),t>this.length||((void 0===n||n>this.length)&&(n=this.length),n<=0||(n>>>=0)<=(t>>>=0)))return"";for(e||(e="utf8");;)switch(e){case"hex":return function(e,t,n){let r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);let o="";for(let r=t;r2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),(i=n=+n)!=i&&(n=o?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(o)return -1;n=e.length-1}else if(n<0){if(!o)return -1;n=0}if("string"==typeof t&&(t=s.from(t,r)),s.isBuffer(t))return 0===t.length?-1:v(e,t,n,r,o);if("number"==typeof t)return(t&=255,"function"==typeof Uint8Array.prototype.indexOf)?o?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):v(e,[t],n,r,o);throw TypeError("val must be string, number or Buffer")}function v(e,t,n,r,o){let i,a=1,s=e.length,u=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;a=2,s/=2,u/=2,n/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(o){let r=-1;for(i=n;is&&(n=s-u),i=n;i>=0;i--){let n=!0;for(let r=0;r239?4:t>223?3:t>191?2:1;if(o+a<=n){let n,r,s,u;switch(a){case 1:t<128&&(i=t);break;case 2:(192&(n=e[o+1]))==128&&(u=(31&t)<<6|63&n)>127&&(i=u);break;case 3:n=e[o+1],r=e[o+2],(192&n)==128&&(192&r)==128&&(u=(15&t)<<12|(63&n)<<6|63&r)>2047&&(u<55296||u>57343)&&(i=u);break;case 4:n=e[o+1],r=e[o+2],s=e[o+3],(192&n)==128&&(192&r)==128&&(192&s)==128&&(u=(15&t)<<18|(63&n)<<12|(63&r)<<6|63&s)>65535&&u<1114112&&(i=u)}}null===i?(i=65533,a=1):i>65535&&(i-=65536,r.push(i>>>10&1023|55296),i=56320|1023&i),r.push(i),o+=a}return function(e){let t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);let n="",r=0;for(;rn)throw RangeError("Trying to access beyond buffer length")}function A(e,t,n,r,o,i){if(!s.isBuffer(e))throw TypeError('"buffer" argument must be a Buffer instance');if(t>o||te.length)throw RangeError("Index out of range")}function S(e,t,n,r,o){C(t,r,o,e,n,7);let i=Number(t&BigInt(4294967295));e[n++]=i,i>>=8,e[n++]=i,i>>=8,e[n++]=i,i>>=8,e[n++]=i;let a=Number(t>>BigInt(32)&BigInt(4294967295));return e[n++]=a,a>>=8,e[n++]=a,a>>=8,e[n++]=a,a>>=8,e[n++]=a,n}function P(e,t,n,r,o){C(t,r,o,e,n,7);let i=Number(t&BigInt(4294967295));e[n+7]=i,i>>=8,e[n+6]=i,i>>=8,e[n+5]=i,i>>=8,e[n+4]=i;let a=Number(t>>BigInt(32)&BigInt(4294967295));return e[n+3]=a,a>>=8,e[n+2]=a,a>>=8,e[n+1]=a,a>>=8,e[n]=a,n+8}function k(e,t,n,r,o,i){if(n+r>e.length||n<0)throw RangeError("Index out of range")}function _(e,t,n,r,i){return t=+t,n>>>=0,i||k(e,t,n,4,34028234663852886e22,-34028234663852886e22),o.write(e,t,n,r,23,4),n+4}function I(e,t,n,r,i){return t=+t,n>>>=0,i||k(e,t,n,8,17976931348623157e292,-17976931348623157e292),o.write(e,t,n,r,52,8),n+8}t.Buffer=s,t.SlowBuffer=function(e){return+e!=e&&(e=0),s.alloc(+e)},t.INSPECT_MAX_BYTES=50,t.kMaxLength=2147483647,s.TYPED_ARRAY_SUPPORT=function(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),42===e.foo()}catch(e){return!1}}(),s.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(s.prototype,"parent",{enumerable:!0,get:function(){if(s.isBuffer(this))return this.buffer}}),Object.defineProperty(s.prototype,"offset",{enumerable:!0,get:function(){if(s.isBuffer(this))return this.byteOffset}}),s.poolSize=8192,s.from=function(e,t,n){return u(e,t,n)},Object.setPrototypeOf(s.prototype,Uint8Array.prototype),Object.setPrototypeOf(s,Uint8Array),s.alloc=function(e,t,n){return(c(e),e<=0)?a(e):void 0!==t?"string"==typeof n?a(e).fill(t,n):a(e).fill(t):a(e)},s.allocUnsafe=function(e){return l(e)},s.allocUnsafeSlow=function(e){return l(e)},s.isBuffer=function(e){return null!=e&&!0===e._isBuffer&&e!==s.prototype},s.compare=function(e,t){if(W(e,Uint8Array)&&(e=s.from(e,e.offset,e.byteLength)),W(t,Uint8Array)&&(t=s.from(t,t.offset,t.byteLength)),!s.isBuffer(e)||!s.isBuffer(t))throw TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;let n=e.length,r=t.length;for(let o=0,i=Math.min(n,r);or.length?(s.isBuffer(t)||(t=s.from(t)),t.copy(r,o)):Uint8Array.prototype.set.call(r,t,o);else if(s.isBuffer(t))t.copy(r,o);else throw TypeError('"list" argument must be an Array of Buffers');o+=t.length}return r},s.byteLength=f,s.prototype._isBuffer=!0,s.prototype.swap16=function(){let e=this.length;if(e%2!=0)throw RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tn&&(e+=" ... "),""},i&&(s.prototype[i]=s.prototype.inspect),s.prototype.compare=function(e,t,n,r,o){if(W(e,Uint8Array)&&(e=s.from(e,e.offset,e.byteLength)),!s.isBuffer(e))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),t<0||n>e.length||r<0||o>this.length)throw RangeError("out of range index");if(r>=o&&t>=n)return 0;if(r>=o)return -1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,o>>>=0,this===e)return 0;let i=o-r,a=n-t,u=Math.min(i,a),c=this.slice(r,o),l=e.slice(t,n);for(let e=0;e>>=0,isFinite(n)?(n>>>=0,void 0===r&&(r="utf8")):(r=n,n=void 0);else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let p=this.length-t;if((void 0===n||n>p)&&(n=p),e.length>0&&(n<0||t<0)||t>this.length)throw RangeError("Attempt to write outside buffer bounds");r||(r="utf8");let h=!1;for(;;)switch(r){case"hex":return function(e,t,n,r){let o;n=Number(n)||0;let i=e.length-n;r?(r=Number(r))>i&&(r=i):r=i;let a=t.length;for(r>a/2&&(r=a/2),o=0;o>8,o.push(n%256),o.push(r);return o}(e,this.length-l),this,l,d);default:if(h)throw TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),h=!0}},s.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},s.prototype.slice=function(e,t){let n=this.length;e=~~e,t=void 0===t?n:~~t,e<0?(e+=n)<0&&(e=0):e>n&&(e=n),t<0?(t+=n)<0&&(t=0):t>n&&(t=n),t>>=0,t>>>=0,n||b(e,t,this.length);let r=this[e],o=1,i=0;for(;++i>>=0,t>>>=0,n||b(e,t,this.length);let r=this[e+--t],o=1;for(;t>0&&(o*=256);)r+=this[e+--t]*o;return r},s.prototype.readUint8=s.prototype.readUInt8=function(e,t){return e>>>=0,t||b(e,1,this.length),this[e]},s.prototype.readUint16LE=s.prototype.readUInt16LE=function(e,t){return e>>>=0,t||b(e,2,this.length),this[e]|this[e+1]<<8},s.prototype.readUint16BE=s.prototype.readUInt16BE=function(e,t){return e>>>=0,t||b(e,2,this.length),this[e]<<8|this[e+1]},s.prototype.readUint32LE=s.prototype.readUInt32LE=function(e,t){return e>>>=0,t||b(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},s.prototype.readUint32BE=s.prototype.readUInt32BE=function(e,t){return e>>>=0,t||b(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},s.prototype.readBigUInt64LE=H(function(e){M(e>>>=0,"offset");let t=this[e],n=this[e+7];(void 0===t||void 0===n)&&O(e,this.length-8);let r=t+256*this[++e]+65536*this[++e]+16777216*this[++e],o=this[++e]+256*this[++e]+65536*this[++e]+16777216*n;return BigInt(r)+(BigInt(o)<>>=0,"offset");let t=this[e],n=this[e+7];(void 0===t||void 0===n)&&O(e,this.length-8);let r=16777216*t+65536*this[++e]+256*this[++e]+this[++e],o=16777216*this[++e]+65536*this[++e]+256*this[++e]+n;return(BigInt(r)<>>=0,t>>>=0,n||b(e,t,this.length);let r=this[e],o=1,i=0;for(;++i=(o*=128)&&(r-=Math.pow(2,8*t)),r},s.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||b(e,t,this.length);let r=t,o=1,i=this[e+--r];for(;r>0&&(o*=256);)i+=this[e+--r]*o;return i>=(o*=128)&&(i-=Math.pow(2,8*t)),i},s.prototype.readInt8=function(e,t){return(e>>>=0,t||b(e,1,this.length),128&this[e])?-((255-this[e]+1)*1):this[e]},s.prototype.readInt16LE=function(e,t){e>>>=0,t||b(e,2,this.length);let n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},s.prototype.readInt16BE=function(e,t){e>>>=0,t||b(e,2,this.length);let n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},s.prototype.readInt32LE=function(e,t){return e>>>=0,t||b(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},s.prototype.readInt32BE=function(e,t){return e>>>=0,t||b(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},s.prototype.readBigInt64LE=H(function(e){M(e>>>=0,"offset");let t=this[e],n=this[e+7];return(void 0===t||void 0===n)&&O(e,this.length-8),(BigInt(this[e+4]+256*this[e+5]+65536*this[e+6]+(n<<24))<>>=0,"offset");let t=this[e],n=this[e+7];return(void 0===t||void 0===n)&&O(e,this.length-8),(BigInt((t<<24)+65536*this[++e]+256*this[++e]+this[++e])<>>=0,t||b(e,4,this.length),o.read(this,e,!0,23,4)},s.prototype.readFloatBE=function(e,t){return e>>>=0,t||b(e,4,this.length),o.read(this,e,!1,23,4)},s.prototype.readDoubleLE=function(e,t){return e>>>=0,t||b(e,8,this.length),o.read(this,e,!0,52,8)},s.prototype.readDoubleBE=function(e,t){return e>>>=0,t||b(e,8,this.length),o.read(this,e,!1,52,8)},s.prototype.writeUintLE=s.prototype.writeUIntLE=function(e,t,n,r){if(e=+e,t>>>=0,n>>>=0,!r){let r=Math.pow(2,8*n)-1;A(this,e,t,n,r,0)}let o=1,i=0;for(this[t]=255&e;++i>>=0,n>>>=0,!r){let r=Math.pow(2,8*n)-1;A(this,e,t,n,r,0)}let o=n-1,i=1;for(this[t+o]=255&e;--o>=0&&(i*=256);)this[t+o]=e/i&255;return t+n},s.prototype.writeUint8=s.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,1,255,0),this[t]=255&e,t+1},s.prototype.writeUint16LE=s.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},s.prototype.writeUint16BE=s.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},s.prototype.writeUint32LE=s.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},s.prototype.writeUint32BE=s.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},s.prototype.writeBigUInt64LE=H(function(e,t=0){return S(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))}),s.prototype.writeBigUInt64BE=H(function(e,t=0){return P(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))}),s.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t>>>=0,!r){let r=Math.pow(2,8*n-1);A(this,e,t,n,r-1,-r)}let o=0,i=1,a=0;for(this[t]=255&e;++o>0)-a&255;return t+n},s.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t>>>=0,!r){let r=Math.pow(2,8*n-1);A(this,e,t,n,r-1,-r)}let o=n-1,i=1,a=0;for(this[t+o]=255&e;--o>=0&&(i*=256);)e<0&&0===a&&0!==this[t+o+1]&&(a=1),this[t+o]=(e/i>>0)-a&255;return t+n},s.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},s.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},s.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},s.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},s.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},s.prototype.writeBigInt64LE=H(function(e,t=0){return S(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),s.prototype.writeBigInt64BE=H(function(e,t=0){return P(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),s.prototype.writeFloatLE=function(e,t,n){return _(this,e,t,!0,n)},s.prototype.writeFloatBE=function(e,t,n){return _(this,e,t,!1,n)},s.prototype.writeDoubleLE=function(e,t,n){return I(this,e,t,!0,n)},s.prototype.writeDoubleBE=function(e,t,n){return I(this,e,t,!1,n)},s.prototype.copy=function(e,t,n,r){if(!s.isBuffer(e))throw TypeError("argument should be a Buffer");if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw RangeError("Index out of range");if(r<0)throw RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(o=t;o=r+4;n-=3)t=`_${e.slice(n-3,n)}${t}`;return`${e.slice(0,n)}${t}`}function C(e,t,n,r,o,i){if(e>n||e3?0===t||t===BigInt(0)?`>= 0${o} and < 2${o} ** ${(i+1)*8}${o}`:`>= -(2${o} ** ${(i+1)*8-1}${o}) and < 2 ** ${(i+1)*8-1}${o}`:`>= ${t}${o} and <= ${n}${o}`,new x.ERR_OUT_OF_RANGE("value",r,e)}M(o,"offset"),(void 0===r[o]||void 0===r[o+i])&&O(o,r.length-(i+1))}function M(e,t){if("number"!=typeof e)throw new x.ERR_INVALID_ARG_TYPE(t,"number",e)}function O(e,t,n){if(Math.floor(e)!==e)throw M(e,n),new x.ERR_OUT_OF_RANGE(n||"offset","an integer",e);if(t<0)throw new x.ERR_BUFFER_OUT_OF_BOUNDS;throw new x.ERR_OUT_OF_RANGE(n||"offset",`>= ${n?1:0} and <= ${t}`,e)}T("ERR_BUFFER_OUT_OF_BOUNDS",function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),T("ERR_INVALID_ARG_TYPE",function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`},TypeError),T("ERR_OUT_OF_RANGE",function(e,t,n){let r=`The value of "${e}" is out of range.`,o=n;return Number.isInteger(n)&&Math.abs(n)>4294967296?o=E(String(n)):"bigint"==typeof n&&(o=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(o=E(o)),o+="n"),r+=` It must be ${t}. Received ${o}`},RangeError);let D=/[^+/0-9A-Za-z-_]/g;function j(e,t){let n;t=t||1/0;let r=e.length,o=null,i=[];for(let a=0;a55295&&n<57344){if(!o){if(n>56319||a+1===r){(t-=3)>-1&&i.push(239,191,189);continue}o=n;continue}if(n<56320){(t-=3)>-1&&i.push(239,191,189),o=n;continue}n=(o-55296<<10|n-56320)+65536}else o&&(t-=3)>-1&&i.push(239,191,189);if(o=null,n<128){if((t-=1)<0)break;i.push(n)}else if(n<2048){if((t-=2)<0)break;i.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;i.push(n>>12|224,n>>6&63|128,63&n|128)}else if(n<1114112){if((t-=4)<0)break;i.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}else throw Error("Invalid code point")}return i}function U(e){return r.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(D,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function R(e,t,n,r){let o;for(o=0;o=t.length)&&!(o>=e.length);++o)t[o+n]=e[o];return o}function W(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}let N=function(){let e="0123456789abcdef",t=Array(256);for(let n=0;n<16;++n){let r=16*n;for(let o=0;o<16;++o)t[r+o]=e[n]+e[o]}return t}();function H(e){return"undefined"==typeof BigInt?L:e}function L(){throw Error("BigInt not supported")}},40487:function(e){var t={utf8:{stringToBytes:function(e){return t.bin.stringToBytes(unescape(encodeURIComponent(e)))},bytesToString:function(e){return decodeURIComponent(escape(t.bin.bytesToString(e)))}},bin:{stringToBytes:function(e){for(var t=[],n=0;n>>32-t},rotr:function(e,t){return e<<32-t|e>>>t},endian:function(e){if(e.constructor==Number)return 16711935&n.rotl(e,8)|4278255360&n.rotl(e,24);for(var t=0;t0;e--)t.push(Math.floor(256*Math.random()));return t},bytesToWords:function(e){for(var t=[],n=0,r=0;n>>5]|=e[n]<<24-r%32;return t},wordsToBytes:function(e){for(var t=[],n=0;n<32*e.length;n+=8)t.push(e[n>>>5]>>>24-n%32&255);return t},bytesToHex:function(e){for(var t=[],n=0;n>>4).toString(16)),t.push((15&e[n]).toString(16));return t.join("")},hexToBytes:function(e){for(var t=[],n=0;n>>6*(3-i)&63)):n.push("=");return n.join("")},base64ToBytes:function(e){e=e.replace(/[^A-Z0-9+\/]/ig,"");for(var n=[],r=0,o=0;r>>6-2*o);return n}},e.exports=n},12296:function(e,t,n){"use strict";var r=n(31044)(),o=n(76308),i=r&&o("%Object.defineProperty%",!0);if(i)try{i({},"a",{value:1})}catch(e){i=!1}var a=o("%SyntaxError%"),s=o("%TypeError%"),u=n(27296);e.exports=function(e,t,n){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new s("`obj` must be an object or a function`");if("string"!=typeof t&&"symbol"!=typeof t)throw new s("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new s("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new s("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new s("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new s("`loose`, if provided, must be a boolean");var r=arguments.length>3?arguments[3]:null,o=arguments.length>4?arguments[4]:null,c=arguments.length>5?arguments[5]:null,l=arguments.length>6&&arguments[6],d=!!u&&u(e,t);if(i)i(e,t,{configurable:null===c&&d?d.configurable:!c,enumerable:null===r&&d?d.enumerable:!r,value:n,writable:null===o&&d?d.writable:!o});else if(!l&&(r||o||c))throw new a("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");else e[t]=n}},24087:function(e){"use strict";var t=Object.prototype.toString,n=Math.max,r=function(e,t){for(var n=[],r=0;r1&&"boolean"!=typeof t)throw new a('"allowMissing" argument must be a boolean');if(null===I(/^%?[^%]*%?$/,e))throw new o("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=E(e),r=n.length>0?n[0]:"",i=C("%"+r+"%",t),s=i.name,c=i.value,l=!1,d=i.alias;d&&(r=d[0],P(n,S([0,1],d)));for(var p=1,h=!0;p=n.length){var v=u(c,f);c=(h=!!v)&&"get"in v&&!("originalValue"in v.get)?v.get:c[f]}else h=A(c,f),c=c[f];h&&!l&&(g[s]=c)}}return c}},17648:function(e){"use strict";var t=Array.prototype.slice,n=Object.prototype.toString;e.exports=function(e){var r,o=this;if("function"!=typeof o||"[object Function]"!==n.call(o))throw TypeError("Function.prototype.bind called on incompatible "+o);for(var i=t.call(arguments,1),a=Math.max(0,o.length-i.length),s=[],u=0;u1&&"boolean"!=typeof t)throw new a('"allowMissing" argument must be a boolean');if(null===I(/^%?[^%]*%?$/,e))throw new o("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=E(e),r=n.length>0?n[0]:"",i=C("%"+r+"%",t),s=i.name,c=i.value,l=!1,d=i.alias;d&&(r=d[0],P(n,S([0,1],d)));for(var p=1,h=!0;p=n.length){var v=u(c,f);c=(h=!!v)&&"get"in v&&!("originalValue"in v.get)?v.get:c[f]}else h=A(c,f),c=c[f];h&&!l&&(g[s]=c)}}return c}},27296:function(e,t,n){"use strict";var r=n(40210)("%Object.getOwnPropertyDescriptor%",!0);if(r)try{r([],"length")}catch(e){r=null}e.exports=r},31044:function(e,t,n){"use strict";var r=n(40210)("%Object.defineProperty%",!0),o=function(){if(r)try{return r({},"a",{value:1}),!0}catch(e){}return!1};o.hasArrayLengthDefineBug=function(){if(!o())return null;try{return 1!==r([],"length",{value:1}).length}catch(e){return!0}},e.exports=o},28185:function(e){"use strict";var t={foo:{}},n=Object;e.exports=function(){return({__proto__:t}).foo===t.foo&&!(({__proto__:null})instanceof n)}},41405:function(e,t,n){"use strict";var r="undefined"!=typeof Symbol&&Symbol,o=n(55419);e.exports=function(){return"function"==typeof r&&"function"==typeof Symbol&&"symbol"==typeof r("foo")&&"symbol"==typeof Symbol("bar")&&o()}},55419:function(e){"use strict";e.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var e={},t=Symbol("test"),n=Object(t);if("string"==typeof t||"[object Symbol]"!==Object.prototype.toString.call(t)||"[object Symbol]"!==Object.prototype.toString.call(n))return!1;for(t in e[t]=42,e)return!1;if("function"==typeof Object.keys&&0!==Object.keys(e).length||"function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var r=Object.getOwnPropertySymbols(e);if(1!==r.length||r[0]!==t||!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var o=Object.getOwnPropertyDescriptor(e,t);if(42!==o.value||!0!==o.enumerable)return!1}return!0}},17642:function(e,t,n){"use strict";var r=n(58612);e.exports=r.call(Function.call,Object.prototype.hasOwnProperty)},48824:function(e,t,n){"use strict";var r=Function.prototype.call,o=Object.prototype.hasOwnProperty,i=n(24753);e.exports=i.call(r,o)},61454:function(e){"use strict";var t=Object.prototype.toString,n=Math.max,r=function(e,t){for(var n=[],r=0;r */t.read=function(e,t,n,r,o){var i,a,s=8*o-r-1,u=(1<>1,l=-7,d=n?o-1:0,p=n?-1:1,h=e[t+d];for(d+=p,i=h&(1<<-l)-1,h>>=-l,l+=s;l>0;i=256*i+e[t+d],d+=p,l-=8);for(a=i&(1<<-l)-1,i>>=-l,l+=r;l>0;a=256*a+e[t+d],d+=p,l-=8);if(0===i)i=1-c;else{if(i===u)return a?NaN:1/0*(h?-1:1);a+=Math.pow(2,r),i-=c}return(h?-1:1)*a*Math.pow(2,i-r)},t.write=function(e,t,n,r,o,i){var a,s,u,c=8*i-o-1,l=(1<>1,p=23===o?5960464477539062e-23:0,h=r?0:i-1,f=r?1:-1,m=t<0||0===t&&1/t<0?1:0;for(isNaN(t=Math.abs(t))||t===1/0?(s=isNaN(t)?1:0,a=l):(a=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-a))<1&&(a--,u*=2),a+d>=1?t+=p/u:t+=p*Math.pow(2,1-d),t*u>=2&&(a++,u/=2),a+d>=l?(s=0,a=l):a+d>=1?(s=(t*u-1)*Math.pow(2,o),a+=d):(s=t*Math.pow(2,d-1)*Math.pow(2,o),a=0));o>=8;e[n+h]=255&s,h+=f,s/=256,o-=8);for(a=a<0;e[n+h]=255&a,h+=f,a/=256,c-=8);e[n+h-f]|=128*m}},5826:function(e){var t={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==t.call(e)}},67266:function(e,t,n){"use strict";var r=("undefined"!=typeof JSON?JSON:n(58418)).stringify,o=n(5826),i=n(82215),a=n(46009),s=n(62911),u=s("Array.prototype.join"),c=s("Array.prototype.push"),l=function(e,t){for(var n="",r=0;r1?arguments[1]:void 0,n=t&&t.space||"";"number"==typeof n&&(n=l(n," "));var s=!!t&&"boolean"==typeof t.cycles&&t.cycles,p=t&&t.replacer?a(t.replacer):d,h="function"==typeof t?t:t&&t.cmp,f=h&&function(e){var t=h.length>2&&function(t){return e[t]};return function(n,r){return h({key:n,value:e[n]},{key:r,value:e[r]},t?{__proto__:null,get:t}:void 0)}},m=[];return function e(t,a,d,h){var g=n?"\n"+l(h,n):"",y=n?": ":":";if(d&&d.toJSON&&"function"==typeof d.toJSON&&(d=d.toJSON()),void 0!==(d=p(t,a,d))){if("object"!=typeof d||null===d)return r(d);if(o(d)){for(var v=[],w=0;w-1?o(n):n}},46009:function(e,t,n){"use strict";var r=n(26473),o=n(85660),i=n(67771),a=o("%TypeError%"),s=o("%Function.prototype.apply%"),u=o("%Function.prototype.call%"),c=o("%Reflect.apply%",!0)||r.call(u,s),l=o("%Object.defineProperty%",!0),d=o("%Math.max%");if(l)try{l({},"a",{value:1})}catch(e){l=null}e.exports=function(e){if("function"!=typeof e)throw new a("a function is required");var t=c(r,u,arguments);return i(t,1+d(0,e.length-(arguments.length-1)),!0)};var p=function(){return c(r,s,arguments)};l?l(e.exports,"apply",{value:p}):e.exports.apply=p},3570:function(e){"use strict";var t=Object.prototype.toString,n=Math.max,r=function(e,t){for(var n=[],r=0;r1&&"boolean"!=typeof t)throw new a('"allowMissing" argument must be a boolean');if(null===I(/^%?[^%]*%?$/,e))throw new o("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=E(e),r=n.length>0?n[0]:"",i=C("%"+r+"%",t),s=i.name,c=i.value,l=!1,d=i.alias;d&&(r=d[0],P(n,S([0,1],d)));for(var p=1,h=!0;p=n.length){var v=u(c,f);c=(h=!!v)&&"get"in v&&!("originalValue"in v.get)?v.get:c[f]}else h=A(c,f),c=c[f];h&&!l&&(g[s]=c)}}return c}},58418:function(e,t,n){"use strict";t.parse=n(51396),t.stringify=n(66177)},51396:function(e){"use strict";var t,n,r,o={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:" "};function i(e){throw{name:"SyntaxError",message:e,at:t,text:r}}function a(e){return e&&e!==n&&i("Expected '"+e+"' instead of '"+n+"'"),n=r.charAt(t),t+=1,n}function s(){var e,t="";for("-"===n&&(t="-",a("-"));n>="0"&&n<="9";)t+=n,a();if("."===n)for(t+=".";a()&&n>="0"&&n<="9";)t+=n;if("e"===n||"E"===n)for(t+=n,a(),("-"===n||"+"===n)&&(t+=n,a());n>="0"&&n<="9";)t+=n,a();return isFinite(e=Number(t))||i("Bad number"),e}function u(){var e,t,r,s="";if('"'===n)for(;a();){if('"'===n)return a(),s;if("\\"===n){if(a(),"u"===n){for(t=0,r=0;t<4&&isFinite(e=parseInt(a(),16));t+=1)r=16*r+e;s+=String.fromCharCode(r)}else if("string"==typeof o[n])s+=o[n];else break}else s+=n}i("Bad string")}function c(){for(;n&&n<=" ";)a()}function l(){switch(c(),n){case"{":return function(){var e,t={};if("{"===n){if(a("{"),c(),"}"===n)return a("}"),t;for(;n;){if(e=u(),c(),a(":"),Object.prototype.hasOwnProperty.call(t,e)&&i('Duplicate key "'+e+'"'),t[e]=l(),c(),"}"===n)return a("}"),t;a(","),c()}}i("Bad object")}();case"[":return function(){var e=[];if("["===n){if(a("["),c(),"]"===n)return a("]"),e;for(;n;){if(e.push(l()),c(),"]"===n)return a("]"),e;a(","),c()}}i("Bad array")}();case'"':return u();case"-":return s();default:return n>="0"&&n<="9"?s():function(){switch(n){case"t":return a("t"),a("r"),a("u"),a("e"),!0;case"f":return a("f"),a("a"),a("l"),a("s"),a("e"),!1;case"n":return a("n"),a("u"),a("l"),a("l"),null;default:i("Unexpected '"+n+"'")}}()}}e.exports=function(e,o){var a;return r=e,t=0,n=" ",a=l(),c(),n&&i("Syntax error"),"function"==typeof o?function e(t,n){var r,i,a=t[n];if(a&&"object"==typeof a)for(r in l)Object.prototype.hasOwnProperty.call(a,r)&&(void 0===(i=e(a,r))?delete a[r]:a[r]=i);return o.call(t,n,a)}({"":a},""):a}},66177:function(e){"use strict";var t,n,r,o=/[\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,i={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};function a(e){return o.lastIndex=0,o.test(e)?'"'+e.replace(o,function(e){var t=i[e];return"string"==typeof t?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+e+'"'}e.exports=function(e,o,i){var s;if(t="",n="","number"==typeof i)for(s=0;s"']/g,K=RegExp(B.source),G=RegExp(F.source),z=/<%-([\s\S]+?)%>/g,Z=/<%([\s\S]+?)%>/g,q=/<%=([\s\S]+?)%>/g,J=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Y=/^\w*$/,V=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,$=/[\\^$.*+?()[\]{}|]/g,Q=RegExp($.source),X=/^\s+/,ee=/\s/,et=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,en=/\{\n\/\* \[wrapped with (.+)\] \*/,er=/,? & /,eo=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ei=/[()=,{}\[\]\/\s]/,ea=/\\(\\)?/g,es=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,eu=/\w*$/,ec=/^[-+]0x[0-9a-f]+$/i,el=/^0b[01]+$/i,ed=/^\[object .+?Constructor\]$/,ep=/^0o[0-7]+$/i,eh=/^(?:0|[1-9]\d*)$/,ef=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,em=/($^)/,eg=/['\n\r\u2028\u2029\\]/g,ey="\ud800-\udfff",ev="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",ew="\\u2700-\\u27bf",eb="a-z\\xdf-\\xf6\\xf8-\\xff",eA="A-Z\\xc0-\\xd6\\xd8-\\xde",eS="\\ufe0e\\ufe0f",eP="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",ek="['’]",e_="["+eP+"]",eI="["+ev+"]",ex="["+eb+"]",eT="[^"+ey+eP+"\\d+"+ew+eb+eA+"]",eE="\ud83c[\udffb-\udfff]",eC="[^"+ey+"]",eM="(?:\ud83c[\udde6-\uddff]){2}",eO="[\ud800-\udbff][\udc00-\udfff]",eD="["+eA+"]",ej="\\u200d",eU="(?:"+ex+"|"+eT+")",eR="(?:"+ek+"(?:d|ll|m|re|s|t|ve))?",eW="(?:"+ek+"(?:D|LL|M|RE|S|T|VE))?",eN="(?:"+eI+"|"+eE+")?",eH="["+eS+"]?",eL="(?:"+ej+"(?:"+[eC,eM,eO].join("|")+")"+eH+eN+")*",eB=eH+eN+eL,eF="(?:"+["["+ew+"]",eM,eO].join("|")+")"+eB,eK="(?:"+[eC+eI+"?",eI,eM,eO,"["+ey+"]"].join("|")+")",eG=RegExp(ek,"g"),ez=RegExp(eI,"g"),eZ=RegExp(eE+"(?="+eE+")|"+eK+eB,"g"),eq=RegExp([eD+"?"+ex+"+"+eR+"(?="+[e_,eD,"$"].join("|")+")","(?:"+eD+"|"+eT+")+"+eW+"(?="+[e_,eD+eU,"$"].join("|")+")",eD+"?"+eU+"+"+eR,eD+"+"+eW,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",eF].join("|"),"g"),eJ=RegExp("["+ej+ey+ev+eS+"]"),eY=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,eV=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],e$=-1,eQ={};eQ[E]=eQ[C]=eQ[M]=eQ[O]=eQ[D]=eQ[j]=eQ[U]=eQ[R]=eQ[W]=!0,eQ[d]=eQ[p]=eQ[x]=eQ[h]=eQ[T]=eQ[f]=eQ[m]=eQ[g]=eQ[v]=eQ[w]=eQ[b]=eQ[S]=eQ[P]=eQ[k]=eQ[I]=!1;var eX={};eX[d]=eX[p]=eX[x]=eX[T]=eX[h]=eX[f]=eX[E]=eX[C]=eX[M]=eX[O]=eX[D]=eX[v]=eX[w]=eX[b]=eX[S]=eX[P]=eX[k]=eX[_]=eX[j]=eX[U]=eX[R]=eX[W]=!0,eX[m]=eX[g]=eX[I]=!1;var e0={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},e1=parseFloat,e2=parseInt,e4="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,e3="object"==typeof self&&self&&self.Object===Object&&self,e8=e4||e3||Function("return this")(),e6=t&&!t.nodeType&&t,e5=e6&&e&&!e.nodeType&&e,e7=e5&&e5.exports===e6,e9=e7&&e4.process,te=function(){try{var e=e5&&e5.require&&e5.require("util").types;if(e)return e;return e9&&e9.binding&&e9.binding("util")}catch(e){}}(),tt=te&&te.isArrayBuffer,tn=te&&te.isDate,tr=te&&te.isMap,to=te&&te.isRegExp,ti=te&&te.isSet,ta=te&&te.isTypedArray;function ts(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function tu(e,t,n,r){for(var o=-1,i=null==e?0:e.length;++o-1}function th(e,t,n){for(var r=-1,o=null==e?0:e.length;++r-1;);return n}function tR(e,t){for(var n=e.length;n--&&tS(t,e[n],0)>-1;);return n}var tW=tx({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),tN=tx({"&":"&","<":"<",">":">",'"':""","'":"'"});function tH(e){return"\\"+e0[e]}function tL(e){return eJ.test(e)}function tB(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}function tF(e,t){return function(n){return e(t(n))}}function tK(e,t){for(var n=-1,r=e.length,o=0,i=[];++n",""":'"',"'":"'"}),tY=function e(t){var n,r,ee,ey,ev=(t=null==t?e8:tY.defaults(e8.Object(),t,tY.pick(e8,eV))).Array,ew=t.Date,eb=t.Error,eA=t.Function,eS=t.Math,eP=t.Object,ek=t.RegExp,e_=t.String,eI=t.TypeError,ex=ev.prototype,eT=eA.prototype,eE=eP.prototype,eC=t["__core-js_shared__"],eM=eT.toString,eO=eE.hasOwnProperty,eD=0,ej=(n=/[^.]+$/.exec(eC&&eC.keys&&eC.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",eU=eE.toString,eR=eM.call(eP),eW=e8._,eN=ek("^"+eM.call(eO).replace($,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),eH=e7?t.Buffer:o,eL=t.Symbol,eB=t.Uint8Array,eF=eH?eH.allocUnsafe:o,eK=tF(eP.getPrototypeOf,eP),eZ=eP.create,eJ=eE.propertyIsEnumerable,e0=ex.splice,e4=eL?eL.isConcatSpreadable:o,e3=eL?eL.iterator:o,e6=eL?eL.toStringTag:o,e5=function(){try{var e=op(eP,"defineProperty");return e({},"",{}),e}catch(e){}}(),e9=t.clearTimeout!==e8.clearTimeout&&t.clearTimeout,te=ew&&ew.now!==e8.Date.now&&ew.now,tw=t.setTimeout!==e8.setTimeout&&t.setTimeout,tx=eS.ceil,tV=eS.floor,t$=eP.getOwnPropertySymbols,tQ=eH?eH.isBuffer:o,tX=t.isFinite,t0=ex.join,t1=tF(eP.keys,eP),t2=eS.max,t4=eS.min,t3=ew.now,t8=t.parseInt,t6=eS.random,t5=ex.reverse,t7=op(t,"DataView"),t9=op(t,"Map"),ne=op(t,"Promise"),nt=op(t,"Set"),nn=op(t,"WeakMap"),nr=op(eP,"create"),no=nn&&new nn,ni={},na=oW(t7),ns=oW(t9),nu=oW(ne),nc=oW(nt),nl=oW(nn),nd=eL?eL.prototype:o,np=nd?nd.valueOf:o,nh=nd?nd.toString:o;function nf(e){if(iZ(e)&&!iU(e)&&!(e instanceof nv)){if(e instanceof ny)return e;if(eO.call(e,"__wrapped__"))return oN(e)}return new ny(e)}var nm=function(){function e(){}return function(t){if(!iz(t))return{};if(eZ)return eZ(t);e.prototype=t;var n=new e;return e.prototype=o,n}}();function ng(){}function ny(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=o}function nv(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}function nw(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function nj(e,t,n,r,i,a){var s,u=1&t,c=2&t,l=4&t;if(n&&(s=i?n(e,r,i,a):n(e)),o!==s)return s;if(!iz(e))return e;var p=iU(e);if(p){if(m=e.length,A=new e.constructor(m),m&&"string"==typeof e[0]&&eO.call(e,"index")&&(A.index=e.index,A.input=e.input),s=A,!u)return rL(e,s)}else{var m,A,I,N,H,L=om(e),B=L==g||L==y;if(iH(e))return rj(e,u);if(L==b||L==d||B&&!i){if(s=c||B?{}:oy(e),!u)return c?(I=(H=s)&&rB(e,ah(e),H),rB(e,of(e),I)):(N=nC(s,e),rB(e,oh(e),N))}else{if(!eX[L])return i?e:{};s=function(e,t,n){var r,o,i=e.constructor;switch(t){case x:return rU(e);case h:case f:return new i(+e);case T:return r=n?rU(e.buffer):e.buffer,new e.constructor(r,e.byteOffset,e.byteLength);case E:case C:case M:case O:case D:case j:case U:case R:case W:return rR(e,n);case v:return new i;case w:case k:return new i(e);case S:return(o=new e.constructor(e.source,eu.exec(e))).lastIndex=e.lastIndex,o;case P:return new i;case _:return np?eP(np.call(e)):{}}}(e,L,u)}}a||(a=new nP);var F=a.get(e);if(F)return F;a.set(e,s),i$(e)?e.forEach(function(r){s.add(nj(r,t,n,r,e,a))}):iq(e)&&e.forEach(function(r,o){s.set(o,nj(r,t,n,o,e,a))});var K=l?c?oi:oo:c?ah:ap,G=p?o:K(e);return tc(G||e,function(r,o){G&&(r=e[o=r]),nx(s,o,nj(r,t,n,o,e,a))}),s}function nU(e,t,n){var r=n.length;if(null==e)return!r;for(e=eP(e);r--;){var i=n[r],a=t[i],s=e[i];if(o===s&&!(i in e)||!a(s))return!1}return!0}function nR(e,t,n){if("function"!=typeof e)throw new eI(i);return oC(function(){e.apply(o,n)},t)}function nW(e,t,n,r){var o=-1,i=tp,a=!0,s=e.length,u=[],c=t.length;if(!s)return u;n&&(t=tf(t,tO(n))),r?(i=th,a=!1):t.length>=200&&(i=tj,a=!1,t=new nS(t));e:for(;++o-1},nb.prototype.set=function(e,t){var n=this.__data__,r=nT(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},nA.prototype.clear=function(){this.size=0,this.__data__={hash:new nw,map:new(t9||nb),string:new nw}},nA.prototype.delete=function(e){var t=ol(this,e).delete(e);return this.size-=t?1:0,t},nA.prototype.get=function(e){return ol(this,e).get(e)},nA.prototype.has=function(e){return ol(this,e).has(e)},nA.prototype.set=function(e,t){var n=ol(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},nS.prototype.add=nS.prototype.push=function(e){return this.__data__.set(e,a),this},nS.prototype.has=function(e){return this.__data__.has(e)},nP.prototype.clear=function(){this.__data__=new nb,this.size=0},nP.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},nP.prototype.get=function(e){return this.__data__.get(e)},nP.prototype.has=function(e){return this.__data__.has(e)},nP.prototype.set=function(e,t){var n=this.__data__;if(n instanceof nb){var r=n.__data__;if(!t9||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new nA(r)}return n.set(e,t),this.size=n.size,this};var nN=rG(nZ),nH=rG(nq,!0);function nL(e,t){var n=!0;return nN(e,function(e,r,o){return n=!!t(e,r,o)}),n}function nB(e,t,n){for(var r=-1,i=e.length;++r0&&n(s)?t>1?nK(s,t-1,n,r,o):tm(o,s):r||(o[o.length]=s)}return o}var nG=rz(),nz=rz(!0);function nZ(e,t){return e&&nG(e,t,ap)}function nq(e,t){return e&&nz(e,t,ap)}function nJ(e,t){return td(t,function(t){return iF(e[t])})}function nY(e,t){t=rM(t,e);for(var n=0,r=t.length;null!=e&&nt}function nX(e,t){return null!=e&&eO.call(e,t)}function n0(e,t){return null!=e&&t in eP(e)}function n1(e,t,n){for(var r=n?th:tp,i=e[0].length,a=e.length,s=a,u=ev(a),c=1/0,l=[];s--;){var d=e[s];s&&t&&(d=tf(d,tO(t))),c=t4(d.length,c),u[s]=!n&&(t||i>=120&&d.length>=120)?new nS(s&&d):o}d=e[0];var p=-1,h=u[0];e:for(;++p=s)return u;return u*("desc"==n[r]?-1:1)}}return e.index-t.index}(e,t,n)})}function ra(e,t,n){for(var r=-1,o=t.length,i={};++r-1;)s!==e&&e0.call(s,u,1),e0.call(e,u,1);return e}function ru(e,t){for(var n=e?t.length:0,r=n-1;n--;){var o=t[n];if(n==r||o!==i){var i=o;ow(o)?e0.call(e,o,1):rP(e,o)}}return e}function rc(e,t){return e+tV(t6()*(t-e+1))}function rl(e,t){var n="";if(!e||t<1||t>9007199254740991)return n;do t%2&&(n+=e),(t=tV(t/2))&&(e+=e);while(t);return n}function rd(e,t){return oM(oI(e,t,aN),e+"")}function rp(e,t,n,r){if(!iz(e))return e;t=rM(t,e);for(var i=-1,a=t.length,s=a-1,u=e;null!=u&&++io?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var i=ev(o);++r>>1,a=e[i];null!==a&&!iX(a)&&(n?a<=t:a=200){var c=t?null:r6(e);if(c)return tG(c);a=!1,o=tj,u=new nS}else u=t?[]:s;e:for(;++r=r?e:rm(e,t,n)}var rD=e9||function(e){return e8.clearTimeout(e)};function rj(e,t){if(t)return e.slice();var n=e.length,r=eF?eF(n):new e.constructor(n);return e.copy(r),r}function rU(e){var t=new e.constructor(e.byteLength);return new eB(t).set(new eB(e)),t}function rR(e,t){var n=t?rU(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function rW(e,t){if(e!==t){var n=o!==e,r=null===e,i=e==e,a=iX(e),s=o!==t,u=null===t,c=t==t,l=iX(t);if(!u&&!l&&!a&&e>t||a&&s&&c&&!u&&!l||r&&s&&c||!n&&c||!i)return 1;if(!r&&!a&&!l&&e1?n[i-1]:o,s=i>2?n[2]:o;for(a=e.length>3&&"function"==typeof a?(i--,a):o,s&&ob(n[0],n[1],s)&&(a=i<3?o:a,i=1),t=eP(t);++r-1?i[a?t[s]:s]:o}}function rV(e){return or(function(t){var n=t.length,r=n,a=ny.prototype.thru;for(e&&t.reverse();r--;){var s=t[r];if("function"!=typeof s)throw new eI(i);if(a&&!u&&"wrapper"==os(s))var u=new ny([],!0)}for(r=u?r:n;++r1&&w.reverse(),d&&cu))return!1;var l=a.get(e),d=a.get(t);if(l&&d)return l==t&&d==e;var p=-1,h=!0,f=2&n?new nS:o;for(a.set(e,t),a.set(t,e);++p-1&&e%1==0&&e1?"& ":"")+t[r],t=t.join(n>2?", ":" "),e.replace(et,"{\n/* [wrapped with "+t+"] */\n")}(i,(r=(o=i.match(en))?o[1].split(er):[],tc(l,function(e){var t="_."+e[0];n&e[1]&&!tp(r,t)&&r.push(t)}),r.sort())))}function oD(e){var t=0,n=0;return function(){var r=t3(),i=16-(r-n);if(n=r,i>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(o,arguments)}}function oj(e,t){var n=-1,r=e.length,i=r-1;for(t=o===t?r:t;++n1?e[t-1]:o;return n="function"==typeof n?(e.pop(),n):o,o3(e,n)});function it(e){var t=nf(e);return t.__chain__=!0,t}function ir(e,t){return t(e)}var io=or(function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,i=function(t){return nO(t,e)};return!(t>1)&&!this.__actions__.length&&r instanceof nv&&ow(n)?((r=r.slice(n,+n+(t?1:0))).__actions__.push({func:ir,args:[i],thisArg:o}),new ny(r,this.__chain__).thru(function(e){return t&&!e.length&&e.push(o),e})):this.thru(i)}),ii=rF(function(e,t,n){eO.call(e,n)?++e[n]:nM(e,n,1)}),ia=rY(oF),is=rY(oK);function iu(e,t){return(iU(e)?tc:nN)(e,oc(t,3))}function ic(e,t){return(iU(e)?function(e,t){for(var n=null==e?0:e.length;n--&&!1!==t(e[n],n,e););return e}:nH)(e,oc(t,3))}var il=rF(function(e,t,n){eO.call(e,n)?e[n].push(t):nM(e,n,[t])}),id=rd(function(e,t,n){var r=-1,o="function"==typeof t,i=iW(e)?ev(e.length):[];return nN(e,function(e){i[++r]=o?ts(t,e,n):n2(e,t,n)}),i}),ip=rF(function(e,t,n){nM(e,n,t)});function ih(e,t){return(iU(e)?tf:re)(e,oc(t,3))}var im=rF(function(e,t,n){e[n?0:1].push(t)},function(){return[[],[]]}),ig=rd(function(e,t){if(null==e)return[];var n=t.length;return n>1&&ob(e,t[0],t[1])?t=[]:n>2&&ob(t[0],t[1],t[2])&&(t=[t[0]]),ri(e,nK(t,1),[])}),iy=te||function(){return e8.Date.now()};function iv(e,t,n){return t=n?o:t,t=e&&null==t?e.length:t,r7(e,128,o,o,o,o,t)}function iw(e,t){var n;if("function"!=typeof t)throw new eI(i);return e=i8(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=o),n}}var ib=rd(function(e,t,n){var r=1;if(n.length){var o=tK(n,ou(ib));r|=32}return r7(e,r,t,n,o)}),iA=rd(function(e,t,n){var r=3;if(n.length){var o=tK(n,ou(iA));r|=32}return r7(t,r,e,n,o)});function iS(e,t,n){var r,a,s,u,c,l,d=0,p=!1,h=!1,f=!0;if("function"!=typeof e)throw new eI(i);function m(t){var n=r,i=a;return r=a=o,d=t,u=e.apply(i,n)}function g(e){var n=e-l,r=e-d;return o===l||n>=t||n<0||h&&r>=s}function y(){var e,n,r,o=iy();if(g(o))return v(o);c=oC(y,(e=o-l,n=o-d,r=t-e,h?t4(r,s-n):r))}function v(e){return(c=o,f&&r)?m(e):(r=a=o,u)}function w(){var e,n=iy(),i=g(n);if(r=arguments,a=this,l=n,i){if(o===c)return d=e=l,c=oC(y,t),p?m(e):u;if(h)return rD(c),c=oC(y,t),m(l)}return o===c&&(c=oC(y,t)),u}return t=i5(t)||0,iz(n)&&(p=!!n.leading,s=(h="maxWait"in n)?t2(i5(n.maxWait)||0,t):s,f="trailing"in n?!!n.trailing:f),w.cancel=function(){o!==c&&rD(c),d=0,r=l=a=c=o},w.flush=function(){return o===c?u:v(iy())},w}var iP=rd(function(e,t){return nR(e,1,t)}),ik=rd(function(e,t,n){return nR(e,i5(t)||0,n)});function i_(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new eI(i);var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],i=n.cache;if(i.has(o))return i.get(o);var a=e.apply(this,r);return n.cache=i.set(o,a)||i,a};return n.cache=new(i_.Cache||nA),n}function iI(e){if("function"!=typeof e)throw new eI(i);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}i_.Cache=nA;var ix=rd(function(e,t){var n=(t=1==t.length&&iU(t[0])?tf(t[0],tO(oc())):tf(nK(t,1),tO(oc()))).length;return rd(function(r){for(var o=-1,i=t4(r.length,n);++o=t}),ij=n4(function(){return arguments}())?n4:function(e){return iZ(e)&&eO.call(e,"callee")&&!eJ.call(e,"callee")},iU=ev.isArray,iR=tt?tO(tt):function(e){return iZ(e)&&n$(e)==x};function iW(e){return null!=e&&iG(e.length)&&!iF(e)}function iN(e){return iZ(e)&&iW(e)}var iH=tQ||a$,iL=tn?tO(tn):function(e){return iZ(e)&&n$(e)==f};function iB(e){if(!iZ(e))return!1;var t=n$(e);return t==m||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!iY(e)}function iF(e){if(!iz(e))return!1;var t=n$(e);return t==g||t==y||"[object AsyncFunction]"==t||"[object Proxy]"==t}function iK(e){return"number"==typeof e&&e==i8(e)}function iG(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}function iz(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function iZ(e){return null!=e&&"object"==typeof e}var iq=tr?tO(tr):function(e){return iZ(e)&&om(e)==v};function iJ(e){return"number"==typeof e||iZ(e)&&n$(e)==w}function iY(e){if(!iZ(e)||n$(e)!=b)return!1;var t=eK(e);if(null===t)return!0;var n=eO.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&eM.call(n)==eR}var iV=to?tO(to):function(e){return iZ(e)&&n$(e)==S},i$=ti?tO(ti):function(e){return iZ(e)&&om(e)==P};function iQ(e){return"string"==typeof e||!iU(e)&&iZ(e)&&n$(e)==k}function iX(e){return"symbol"==typeof e||iZ(e)&&n$(e)==_}var i0=ta?tO(ta):function(e){return iZ(e)&&iG(e.length)&&!!eQ[n$(e)]},i1=r4(n9),i2=r4(function(e,t){return e<=t});function i4(e){if(!e)return[];if(iW(e))return iQ(e)?tZ(e):rL(e);if(e3&&e[e3])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[e3]());var t=om(e);return(t==v?tB:t==P?tG:aA)(e)}function i3(e){return e?(e=i5(e))===u||e===-u?(e<0?-1:1)*17976931348623157e292:e==e?e:0:0===e?e:0}function i8(e){var t=i3(e),n=t%1;return t==t?n?t-n:t:0}function i6(e){return e?nD(i8(e),0,4294967295):0}function i5(e){if("number"==typeof e)return e;if(iX(e))return c;if(iz(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=iz(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=tM(e);var n=el.test(e);return n||ep.test(e)?e2(e.slice(2),n?2:8):ec.test(e)?c:+e}function i7(e){return rB(e,ah(e))}function i9(e){return null==e?"":rA(e)}var ae=rK(function(e,t){if(ok(t)||iW(t)){rB(t,ap(t),e);return}for(var n in t)eO.call(t,n)&&nx(e,n,t[n])}),at=rK(function(e,t){rB(t,ah(t),e)}),an=rK(function(e,t,n,r){rB(t,ah(t),e,r)}),ar=rK(function(e,t,n,r){rB(t,ap(t),e,r)}),ao=or(nO),ai=rd(function(e,t){e=eP(e);var n=-1,r=t.length,i=r>2?t[2]:o;for(i&&ob(t[0],t[1],i)&&(r=1);++n1),t}),rB(e,oi(e),n),r&&(n=nj(n,7,ot));for(var o=t.length;o--;)rP(n,t[o]);return n}),ay=or(function(e,t){return null==e?{}:ra(e,t,function(t,n){return au(e,n)})});function av(e,t){if(null==e)return{};var n=tf(oi(e),function(e){return[e]});return t=oc(t),ra(e,n,function(e,n){return t(e,n[0])})}var aw=r5(ap),ab=r5(ah);function aA(e){return null==e?[]:tD(e,ap(e))}var aS=rq(function(e,t,n){return t=t.toLowerCase(),e+(n?aP(t):t)});function aP(e){return aM(i9(e).toLowerCase())}function ak(e){return(e=i9(e))&&e.replace(ef,tW).replace(ez,"")}var a_=rq(function(e,t,n){return e+(n?"-":"")+t.toLowerCase()}),aI=rq(function(e,t,n){return e+(n?" ":"")+t.toLowerCase()}),ax=rZ("toLowerCase"),aT=rq(function(e,t,n){return e+(n?"_":"")+t.toLowerCase()}),aE=rq(function(e,t,n){return e+(n?" ":"")+aM(t)}),aC=rq(function(e,t,n){return e+(n?" ":"")+t.toUpperCase()}),aM=rZ("toUpperCase");function aO(e,t,n){if(e=i9(e),t=n?o:t,o===t){var r;return(r=e,eY.test(r))?e.match(eq)||[]:e.match(eo)||[]}return e.match(t)||[]}var aD=rd(function(e,t){try{return ts(e,o,t)}catch(e){return iB(e)?e:new eb(e)}}),aj=or(function(e,t){return tc(t,function(t){nM(e,t=oR(t),ib(e[t],e))}),e});function aU(e){return function(){return e}}var aR=rV(),aW=rV(!0);function aN(e){return e}function aH(e){return n5("function"==typeof e?e:nj(e,1))}var aL=rd(function(e,t){return function(n){return n2(n,e,t)}}),aB=rd(function(e,t){return function(n){return n2(e,n,t)}});function aF(e,t,n){var r=ap(t),o=nJ(t,r);null!=n||iz(t)&&(o.length||!r.length)||(n=t,t=e,e=this,o=nJ(t,ap(t)));var i=!(iz(n)&&"chain"in n)||!!n.chain,a=iF(e);return tc(o,function(n){var r=t[n];e[n]=r,a&&(e.prototype[n]=function(){var t=this.__chain__;if(i||t){var n=e(this.__wrapped__);return(n.__actions__=rL(this.__actions__)).push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,tm([this.value()],arguments))})}),e}function aK(){}var aG=r0(tf),az=r0(tl),aZ=r0(tv);function aq(e){return oA(e)?tI(oR(e)):function(t){return nY(t,e)}}var aJ=r2(),aY=r2(!0);function aV(){return[]}function a$(){return!1}var aQ=rX(function(e,t){return e+t},0),aX=r8("ceil"),a0=rX(function(e,t){return e/t},1),a1=r8("floor"),a2=rX(function(e,t){return e*t},1),a4=r8("round"),a3=rX(function(e,t){return e-t},0);return nf.after=function(e,t){if("function"!=typeof t)throw new eI(i);return e=i8(e),function(){if(--e<1)return t.apply(this,arguments)}},nf.ary=iv,nf.assign=ae,nf.assignIn=at,nf.assignInWith=an,nf.assignWith=ar,nf.at=ao,nf.before=iw,nf.bind=ib,nf.bindAll=aj,nf.bindKey=iA,nf.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return iU(e)?e:[e]},nf.chain=it,nf.chunk=function(e,t,n){t=(n?ob(e,t,n):o===t)?1:t2(i8(t),0);var r=null==e?0:e.length;if(!r||t<1)return[];for(var i=0,a=0,s=ev(tx(r/t));ii?0:i+n),(r=o===r||r>i?i:i8(r))<0&&(r+=i),r=n>r?0:i6(r);n>>0)?(e=i9(e))&&("string"==typeof t||null!=t&&!iV(t))&&!(t=rA(t))&&tL(e)?rO(tZ(e),0,n):e.split(t,n):[]},nf.spread=function(e,t){if("function"!=typeof e)throw new eI(i);return t=null==t?0:t2(i8(t),0),rd(function(n){var r=n[t],o=rO(n,0,t);return r&&tm(o,r),ts(e,this,o)})},nf.tail=function(e){var t=null==e?0:e.length;return t?rm(e,1,t):[]},nf.take=function(e,t,n){return e&&e.length?rm(e,0,(t=n||o===t?1:i8(t))<0?0:t):[]},nf.takeRight=function(e,t,n){var r=null==e?0:e.length;return r?rm(e,(t=r-(t=n||o===t?1:i8(t)))<0?0:t,r):[]},nf.takeRightWhile=function(e,t){return e&&e.length?r_(e,oc(t,3),!1,!0):[]},nf.takeWhile=function(e,t){return e&&e.length?r_(e,oc(t,3)):[]},nf.tap=function(e,t){return t(e),e},nf.throttle=function(e,t,n){var r=!0,o=!0;if("function"!=typeof e)throw new eI(i);return iz(n)&&(r="leading"in n?!!n.leading:r,o="trailing"in n?!!n.trailing:o),iS(e,t,{leading:r,maxWait:t,trailing:o})},nf.thru=ir,nf.toArray=i4,nf.toPairs=aw,nf.toPairsIn=ab,nf.toPath=function(e){return iU(e)?tf(e,oR):iX(e)?[e]:rL(oU(i9(e)))},nf.toPlainObject=i7,nf.transform=function(e,t,n){var r=iU(e),o=r||iH(e)||i0(e);if(t=oc(t,4),null==n){var i=e&&e.constructor;n=o?r?new i:[]:iz(e)&&iF(i)?nm(eK(e)):{}}return(o?tc:nZ)(e,function(e,r,o){return t(n,e,r,o)}),n},nf.unary=function(e){return iv(e,1)},nf.union=o0,nf.unionBy=o1,nf.unionWith=o2,nf.uniq=function(e){return e&&e.length?rS(e):[]},nf.uniqBy=function(e,t){return e&&e.length?rS(e,oc(t,2)):[]},nf.uniqWith=function(e,t){return t="function"==typeof t?t:o,e&&e.length?rS(e,o,t):[]},nf.unset=function(e,t){return null==e||rP(e,t)},nf.unzip=o4,nf.unzipWith=o3,nf.update=function(e,t,n){return null==e?e:rk(e,t,rC(n))},nf.updateWith=function(e,t,n,r){return r="function"==typeof r?r:o,null==e?e:rk(e,t,rC(n),r)},nf.values=aA,nf.valuesIn=function(e){return null==e?[]:tD(e,ah(e))},nf.without=o8,nf.words=aO,nf.wrap=function(e,t){return iT(rC(t),e)},nf.xor=o6,nf.xorBy=o5,nf.xorWith=o7,nf.zip=o9,nf.zipObject=function(e,t){return rT(e||[],t||[],nx)},nf.zipObjectDeep=function(e,t){return rT(e||[],t||[],rp)},nf.zipWith=ie,nf.entries=aw,nf.entriesIn=ab,nf.extend=at,nf.extendWith=an,aF(nf,nf),nf.add=aQ,nf.attempt=aD,nf.camelCase=aS,nf.capitalize=aP,nf.ceil=aX,nf.clamp=function(e,t,n){return o===n&&(n=t,t=o),o!==n&&(n=(n=i5(n))==n?n:0),o!==t&&(t=(t=i5(t))==t?t:0),nD(i5(e),t,n)},nf.clone=function(e){return nj(e,4)},nf.cloneDeep=function(e){return nj(e,5)},nf.cloneDeepWith=function(e,t){return nj(e,5,t="function"==typeof t?t:o)},nf.cloneWith=function(e,t){return nj(e,4,t="function"==typeof t?t:o)},nf.conformsTo=function(e,t){return null==t||nU(e,t,ap(t))},nf.deburr=ak,nf.defaultTo=function(e,t){return null==e||e!=e?t:e},nf.divide=a0,nf.endsWith=function(e,t,n){e=i9(e),t=rA(t);var r=e.length,i=n=o===n?r:nD(i8(n),0,r);return(n-=t.length)>=0&&e.slice(n,i)==t},nf.eq=iM,nf.escape=function(e){return(e=i9(e))&&G.test(e)?e.replace(F,tN):e},nf.escapeRegExp=function(e){return(e=i9(e))&&Q.test(e)?e.replace($,"\\$&"):e},nf.every=function(e,t,n){var r=iU(e)?tl:nL;return n&&ob(e,t,n)&&(t=o),r(e,oc(t,3))},nf.find=ia,nf.findIndex=oF,nf.findKey=function(e,t){return tb(e,oc(t,3),nZ)},nf.findLast=is,nf.findLastIndex=oK,nf.findLastKey=function(e,t){return tb(e,oc(t,3),nq)},nf.floor=a1,nf.forEach=iu,nf.forEachRight=ic,nf.forIn=function(e,t){return null==e?e:nG(e,oc(t,3),ah)},nf.forInRight=function(e,t){return null==e?e:nz(e,oc(t,3),ah)},nf.forOwn=function(e,t){return e&&nZ(e,oc(t,3))},nf.forOwnRight=function(e,t){return e&&nq(e,oc(t,3))},nf.get=as,nf.gt=iO,nf.gte=iD,nf.has=function(e,t){return null!=e&&og(e,t,nX)},nf.hasIn=au,nf.head=oz,nf.identity=aN,nf.includes=function(e,t,n,r){e=iW(e)?e:aA(e),n=n&&!r?i8(n):0;var o=e.length;return n<0&&(n=t2(o+n,0)),iQ(e)?n<=o&&e.indexOf(t,n)>-1:!!o&&tS(e,t,n)>-1},nf.indexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return -1;var o=null==n?0:i8(n);return o<0&&(o=t2(r+o,0)),tS(e,t,o)},nf.inRange=function(e,t,n){var r,i,a;return t=i3(t),o===n?(n=t,t=0):n=i3(n),(r=e=i5(e))>=t4(i=t,a=n)&&r=-9007199254740991&&e<=9007199254740991},nf.isSet=i$,nf.isString=iQ,nf.isSymbol=iX,nf.isTypedArray=i0,nf.isUndefined=function(e){return o===e},nf.isWeakMap=function(e){return iZ(e)&&om(e)==I},nf.isWeakSet=function(e){return iZ(e)&&"[object WeakSet]"==n$(e)},nf.join=function(e,t){return null==e?"":t0.call(e,t)},nf.kebabCase=a_,nf.last=oY,nf.lastIndexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return -1;var i=r;return o!==n&&(i=(i=i8(n))<0?t2(r+i,0):t4(i,r-1)),t==t?function(e,t,n){for(var r=n+1;r--&&e[r]!==t;);return r}(e,t,i):tA(e,tk,i,!0)},nf.lowerCase=aI,nf.lowerFirst=ax,nf.lt=i1,nf.lte=i2,nf.max=function(e){return e&&e.length?nB(e,aN,nQ):o},nf.maxBy=function(e,t){return e&&e.length?nB(e,oc(t,2),nQ):o},nf.mean=function(e){return t_(e,aN)},nf.meanBy=function(e,t){return t_(e,oc(t,2))},nf.min=function(e){return e&&e.length?nB(e,aN,n9):o},nf.minBy=function(e,t){return e&&e.length?nB(e,oc(t,2),n9):o},nf.stubArray=aV,nf.stubFalse=a$,nf.stubObject=function(){return{}},nf.stubString=function(){return""},nf.stubTrue=function(){return!0},nf.multiply=a2,nf.nth=function(e,t){return e&&e.length?ro(e,i8(t)):o},nf.noConflict=function(){return e8._===this&&(e8._=eW),this},nf.noop=aK,nf.now=iy,nf.pad=function(e,t,n){e=i9(e);var r=(t=i8(t))?tz(e):0;if(!t||r>=t)return e;var o=(t-r)/2;return r1(tV(o),n)+e+r1(tx(o),n)},nf.padEnd=function(e,t,n){e=i9(e);var r=(t=i8(t))?tz(e):0;return t&&rt){var r=e;e=t,t=r}if(n||e%1||t%1){var i=t6();return t4(e+i*(t-e+e1("1e-"+((i+"").length-1))),t)}return rc(e,t)},nf.reduce=function(e,t,n){var r=iU(e)?tg:tT,o=arguments.length<3;return r(e,oc(t,4),n,o,nN)},nf.reduceRight=function(e,t,n){var r=iU(e)?ty:tT,o=arguments.length<3;return r(e,oc(t,4),n,o,nH)},nf.repeat=function(e,t,n){return t=(n?ob(e,t,n):o===t)?1:i8(t),rl(i9(e),t)},nf.replace=function(){var e=arguments,t=i9(e[0]);return e.length<3?t:t.replace(e[1],e[2])},nf.result=function(e,t,n){t=rM(t,e);var r=-1,i=t.length;for(i||(i=1,e=o);++r9007199254740991)return[];var n=4294967295,r=t4(e,4294967295);t=oc(t),e-=4294967295;for(var o=tC(r,t);++n=a)return e;var u=n-tz(r);if(u<1)return r;var c=s?rO(s,0,u).join(""):e.slice(0,u);if(o===i)return c+r;if(s&&(u+=c.length-u),iV(i)){if(e.slice(u).search(i)){var l,d=c;for(i.global||(i=ek(i.source,i9(eu.exec(i))+"g")),i.lastIndex=0;l=i.exec(d);)var p=l.index;c=c.slice(0,o===p?u:p)}}else if(e.indexOf(rA(i),u)!=u){var h=c.lastIndexOf(i);h>-1&&(c=c.slice(0,h))}return c+r},nf.unescape=function(e){return(e=i9(e))&&K.test(e)?e.replace(B,tJ):e},nf.uniqueId=function(e){var t=++eD;return i9(e)+t},nf.upperCase=aC,nf.upperFirst=aM,nf.each=iu,nf.eachRight=ic,nf.first=oz,aF(nf,(ey={},nZ(nf,function(e,t){eO.call(nf.prototype,t)||(ey[t]=e)}),ey),{chain:!1}),nf.VERSION="4.17.21",tc(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){nf[e].placeholder=nf}),tc(["drop","take"],function(e,t){nv.prototype[e]=function(n){n=o===n?1:t2(i8(n),0);var r=this.__filtered__&&!t?new nv(this):this.clone();return r.__filtered__?r.__takeCount__=t4(n,r.__takeCount__):r.__views__.push({size:t4(n,4294967295),type:e+(r.__dir__<0?"Right":"")}),r},nv.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}}),tc(["filter","map","takeWhile"],function(e,t){var n=t+1,r=1==n||3==n;nv.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:oc(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}}),tc(["head","last"],function(e,t){var n="take"+(t?"Right":"");nv.prototype[e]=function(){return this[n](1).value()[0]}}),tc(["initial","tail"],function(e,t){var n="drop"+(t?"":"Right");nv.prototype[e]=function(){return this.__filtered__?new nv(this):this[n](1)}}),nv.prototype.compact=function(){return this.filter(aN)},nv.prototype.find=function(e){return this.filter(e).head()},nv.prototype.findLast=function(e){return this.reverse().find(e)},nv.prototype.invokeMap=rd(function(e,t){return"function"==typeof e?new nv(this):this.map(function(n){return n2(n,e,t)})}),nv.prototype.reject=function(e){return this.filter(iI(oc(e)))},nv.prototype.slice=function(e,t){e=i8(e);var n=this;return n.__filtered__&&(e>0||t<0)?new nv(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),o!==t&&(n=(t=i8(t))<0?n.dropRight(-t):n.take(t-e)),n)},nv.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},nv.prototype.toArray=function(){return this.take(4294967295)},nZ(nv.prototype,function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),i=nf[r?"take"+("last"==t?"Right":""):t],a=r||/^find/.test(t);i&&(nf.prototype[t]=function(){var t=this.__wrapped__,s=r?[1]:arguments,u=t instanceof nv,c=s[0],l=u||iU(t),d=function(e){var t=i.apply(nf,tm([e],s));return r&&p?t[0]:t};l&&n&&"function"==typeof c&&1!=c.length&&(u=l=!1);var p=this.__chain__,h=!!this.__actions__.length,f=a&&!p,m=u&&!h;if(!a&&l){t=m?t:new nv(this);var g=e.apply(t,s);return g.__actions__.push({func:ir,args:[d],thisArg:o}),new ny(g,p)}return f&&m?e.apply(this,s):(g=this.thru(d),f?r?g.value()[0]:g.value():g)})}),tc(["pop","push","shift","sort","splice","unshift"],function(e){var t=ex[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",r=/^(?:pop|shift)$/.test(e);nf.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var o=this.value();return t.apply(iU(o)?o:[],e)}return this[n](function(n){return t.apply(iU(n)?n:[],e)})}}),nZ(nv.prototype,function(e,t){var n=nf[t];if(n){var r=n.name+"";eO.call(ni,r)||(ni[r]=[]),ni[r].push({name:t,func:n})}}),ni[r$(o,2).name]=[{name:"wrapper",func:o}],nv.prototype.clone=function(){var e=new nv(this.__wrapped__);return e.__actions__=rL(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=rL(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=rL(this.__views__),e},nv.prototype.reverse=function(){if(this.__filtered__){var e=new nv(this);e.__dir__=-1,e.__filtered__=!0}else e=this.clone(),e.__dir__*=-1;return e},nv.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=iU(e),r=t<0,o=n?e.length:0,i=function(e,t,n){for(var r=-1,o=n.length;++r=this.__values__.length,t=e?o:this.__values__[this.__index__++];return{done:e,value:t}},nf.prototype.plant=function(e){for(var t,n=this;n instanceof ng;){var r=oN(n);r.__index__=0,r.__values__=o,t?i.__wrapped__=r:t=r;var i=r;n=n.__wrapped__}return i.__wrapped__=e,t},nf.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof nv){var t=e;return this.__actions__.length&&(t=new nv(this)),(t=t.reverse()).__actions__.push({func:ir,args:[oX],thisArg:o}),new ny(t,this.__chain__)}return this.thru(oX)},nf.prototype.toJSON=nf.prototype.valueOf=nf.prototype.value=function(){return rI(this.__wrapped__,this.__actions__)},nf.prototype.first=nf.prototype.head,e3&&(nf.prototype[e3]=function(){return this}),nf}();e8._=tY,o!==(r=(function(){return tY}).call(t,n,t,e))&&(e.exports=r)}).call(this)},88918:function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(o,i){function a(e){try{u(r.next(e))}catch(e){i(e)}}function s(e){try{u(r.throw(e))}catch(e){i(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(a,s)}u((r=r.apply(e,t||[])).next())})},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let i=o(n(63931));function a(e,t="maxAge"){let n,o,a;let s=()=>r(this,void 0,void 0,function*(){if(void 0!==n)return;let s=s=>r(this,void 0,void 0,function*(){a=i.default();let r=s[1][t]-Date.now();if(r<=0){e.delete(s[0]),a.resolve();return}return n=s[0],"function"==typeof(o=setTimeout(()=>{e.delete(s[0]),a&&a.resolve()},r)).unref&&o.unref(),a.promise});try{for(let t of e)yield s(t)}catch(e){}n=void 0}),u=()=>{n=void 0,void 0!==o&&(clearTimeout(o),o=void 0),void 0!==a&&(a.reject(void 0),a=void 0)},c=e.set.bind(e);return e.set=(t,r)=>{e.has(t)&&e.delete(t);let o=c(t,r);return n&&n===t&&u(),s(),o},s(),e}t.default=a,e.exports=a,e.exports.default=a},2568:function(e,t,n){var r,o,i,a,s;r=n(71012),o=n(40487).utf8,i=n(70076),a=n(40487).bin,(s=function(e,t){e.constructor==String?e=t&&"binary"===t.encoding?a.stringToBytes(e):o.stringToBytes(e):i(e)?e=Array.prototype.slice.call(e,0):Array.isArray(e)||e.constructor===Uint8Array||(e=e.toString());for(var n=r.bytesToWords(e),u=8*e.length,c=1732584193,l=-271733879,d=-1732584194,p=271733878,h=0;h>>24)&16711935|(n[h]<<24|n[h]>>>8)&4278255360;n[u>>>5]|=128<>>9<<4)+14]=u;for(var f=s._ff,m=s._gg,g=s._hh,y=s._ii,h=0;h>>0,l=l+w>>>0,d=d+b>>>0,p=p+A>>>0}return r.endian([c,l,d,p])})._ff=function(e,t,n,r,o,i,a){var s=e+(t&n|~t&r)+(o>>>0)+a;return(s<>>32-i)+t},s._gg=function(e,t,n,r,o,i,a){var s=e+(t&r|n&~r)+(o>>>0)+a;return(s<>>32-i)+t},s._hh=function(e,t,n,r,o,i,a){var s=e+(t^n^r)+(o>>>0)+a;return(s<>>32-i)+t},s._ii=function(e,t,n,r,o,i,a){var s=e+(n^(t|~r))+(o>>>0)+a;return(s<>>32-i)+t},s._blocksize=16,s._digestsize=16,e.exports=function(e,t){if(null==e)throw Error("Illegal argument "+e);var n=r.wordsToBytes(s(e,t));return t&&t.asBytes?n:t&&t.asString?a.bytesToString(n):r.bytesToHex(n)}},70076:function(e){function t(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}/*! + * Determine if an object is a Buffer + * + * @author Feross Aboukhadijeh + * @license MIT + */e.exports=function(e){return null!=e&&(t(e)||"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&t(e.slice(0,0))||!!e._isBuffer)}},85793:function(e,t,n){"use strict";n.d(t,{NZ:function(){return s},ZP:function(){return u},yZ:function(){return i}});var r=n(67294),o=n(85893),i={OK:"OK",SLOW:"SLOW",ERROR:"ERROR"},a=(0,r.createContext)(),s=function(){return(0,r.useContext)(a)};function u(e){var t=e.children,n=(0,r.useState)(i.OK),s=n[0],u=n[1],c=(0,r.useMemo)(function(){return{openAIStatus:s,setOpenAIStatus:u}},[s]);return(0,o.jsx)(a.Provider,{value:c,children:t})}},71501:function(e,t,n){"use strict";n.d(t,{Z:function(){return s},o:function(){return a}});var r=n(67294),o=n(85893),i=(0,r.createContext)(),a=function(){return(0,r.useContext)(i)};function s(e){var t=e.children,n=(0,r.useState)([]),a=n[0],s=n[1],u=(0,r.useMemo)(function(){return{openingPopupIDs:a,setOpeningPopupIDs:s}},[a,s]);return(0,o.jsx)(i.Provider,{value:u,children:t})}},10245:function(e,t,n){"use strict";n.d(t,{Z:function(){return eI},n:function(){return ek}});var r=n(27812),o=n(50029),i=n(16835),a=n(59499),s=n(64687),u=n.n(s),c=n(96486),l=n.n(c),d=n(67266),p=n.n(d),h=n(13083),f=n(67294),m=n(19261),g=n(24855),y=n(31955),v=n(4361),w=n(78798),b=n(134),A=n(33129),S=n(72152),P=n(79544),k=n(85893);function _(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function I(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.skipCheck;(void 0!==t&&t||ez)&&y.Z.get("typingmindcloud_token")&&(tf.current&&clearTimeout(tf.current),tf.current=setTimeout(function(){tm.current||(tm.current=rs().then(function(){tm.current=null}))},1e3),eJ("scheduled"))},ra=function(){return ru(new Date(0),{resync:!0})},rs=function(){return ru((null==eI?void 0:eI.lastSyncAt)||new Date(0))},ru=(0,f.useCallback)((t=(0,o.Z)(u().mark(function e(t){var n,i,a,c,d,f,v,w,b,A,S,k,_,T,E,C,M,O,D,j,U,R,W,N,H,L,B,F,K,G,z,Z,q,J,Y,V,$,Q,X,ee,et,en,er,eo,ei,ea=arguments;return u().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return i=void 0!==(n=(ea.length>1&&void 0!==ea[1]?ea[1]:{}).resync)&&n,e.prev=1,S=function(){var e=(0,o.Z)(u().mark(function e(){var t,n,r,o,i,a,s;return u().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:e.prev=0,t=T.chats,r=(n=(0,m.tB)(t,E,{excludeExceededItems:!0})).chunks,e$({ignoredCount:n.ignoredCount,ignoredChatIDs:n.ignoredChatIDs}),i=0;case 5:if(!(iE)){e.next=22;break}if(!(null!==(O=T.chats)&&void 0!==O&&O.length)){e.next=21;break}return e.next=17,S();case 17:M=e.sent,C=JSON.stringify({allData:I(I({},T),{},{chats:[]}),syncBufferID:M,lastSyncAt:t}),e.next=22;break;case 21:console.error("data exceeded max payload size",C.length,E,C);case 22:return null!==(a=T.deletedChatIDs)&&void 0!==a&&a.length&&eF([]),null!==(c=T.deletedFolderIDs)&&void 0!==c&&c.length&&eH([]),null!==(d=T.deletedPromptIDs)&&void 0!==d&&d.length&&e3([]),null!==(f=T.deletedCharacterIDs)&&void 0!==f&&f.length&&tt([]),null!==(v=T.deletedPluginIDs)&&void 0!==v&&v.length&&tl([]),e.next=29,fetch((0,m.wV)()+"/api/sync",{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer "+y.Z.get("typingmindcloud_token"),"x-license-token":rr()||""},body:C});case 29:if(!(D=e.sent).ok&&(null!==(j=T.deletedChatIDs)&&void 0!==j&&j.length&&eF(function(e){return Array.from(new Set([].concat((0,r.Z)(e),(0,r.Z)(T.deletedChatIDs))))}),null!==(U=T.deletedFolderIDs)&&void 0!==U&&U.length&&eH(function(e){return Array.from(new Set([].concat((0,r.Z)(e),(0,r.Z)(T.deletedFolderIDs))))}),null!==(R=T.deletedPromptIDs)&&void 0!==R&&R.length&&e3(function(e){return Array.from(new Set([].concat((0,r.Z)(e),(0,r.Z)(T.deletedPromptIDs))))}),null!==(W=T.deletedCharacterIDs)&&void 0!==W&&W.length&&tt(function(e){return Array.from(new Set([].concat((0,r.Z)(e),(0,r.Z)(T.deletedCharacterIDs))))}),null!==(N=T.deletedPluginIDs)&&void 0!==N&&N.length&&tl(function(e){return Array.from(new Set([].concat((0,r.Z)(e),(0,r.Z)(T.deletedPluginIDs))))})),!(D.status>=400)){e.next=54;break}if(503!==D.status){e.next=38;break}return eD("Sorry, cloud sync is temporarily disabled. We will resume cloud sync service as soon as possible. Sorry for the inconvenience."),eJ("error"),p(!0),eC(!1),e.abrupt("return");case 38:return e.prev=38,e.next=41,D.json();case 41:B=e.sent,e.next=48;break;case 44:e.prev=44,e.t0=e.catch(38),console.error("failed to parse json",e.t0),h.Tb(Error("Sync Response Error"),{extra:{source:"sync-error-response"}});case 48:return eD((null===(H=B)||void 0===H?void 0:H.userMessage)||tg._(x)),eJ("error"),p(!0),eC(!1),null!==(L=B)&&void 0!==L&&L.syncStats&&ex(B.syncStats),e.abrupt("return");case 54:if(D.ok){e.next=60;break}return eD(tg._(x)),eJ("error"),p(!0),eC(!1),e.abrupt("return");case 60:return e.next=62,D.json();case 62:if(K=(F=e.sent).updatedFolders,G=F.updatedPrompts,z=F.newToken,Z=F.updatedUserSettings,q=F.updatedChats,J=F.updatedCharacters,Y=F.updatedPlugins,!(null!==(w=F.updatedChatsChunks)&&void 0!==w&&w.length)){e.next=71;break}return e.next=70,k(F.updatedChatsChunks);case 70:q=e.sent;case 71:if(!(null!==(b=F.updatedPluginsChunks)&&void 0!==b&&b.length)){e.next=75;break}return e.next=74,k(F.updatedPluginsChunks);case 74:Y=e.sent;case 75:if(!(null!==(A=F.updatedCharactersChunks)&&void 0!==A&&A.length)){e.next=79;break}return e.next=78,k(F.updatedCharactersChunks);case 78:J=e.sent;case 79:if(z&&y.Z.set("typingmindcloud_token",z,{expires:180,sameSite:"none",secure:!0}),!(q&&q.length)){e.next=90;break}return V=q.map(function(e){return I(I({},e.data),{},{deletedAt:e.deletedAt})}),e.next=84,Promise.all(V.map(function(){var e=(0,o.Z)(u().mark(function e(t){var n,r;return u().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.deletedAt){e.next=6;break}return e.next=3,(0,g.CQ)().del("CHAT_"+t.chatID);case 3:case 19:return e.abrupt("return",t);case 6:return e.next=8,(0,g.CQ)().get("CHAT_"+t.chatID);case 8:if(!((n=e.sent)&&null===n.syncedAt)){e.next=17;break}return void 0===n.folderID&&void 0!==t.folderID&&(n.folderID=t.folderID),t.tokenUsage=(0,m.lk)(t.tokenUsage),n.tokenUsage=(0,m.lk)(n.tokenUsage),r=I(I({},n),{},{syncedAt:e_(t,n)?t.syncedAt:null}),e.next=16,(0,g.CQ)().set("CHAT_"+t.chatID,r);case 16:return e.abrupt("return",r);case 17:return e.next=19,(0,g.CQ)().set("CHAT_"+t.chatID,t);case 20:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}()));case 84:$=e.sent,Q=(0,m.FW)($),X=(0,m.dC)((0,g.cF)().getItem("TM_useChatList"))||[],ee=[].concat((0,r.Z)(Q),(0,r.Z)(X)).filter(function(e,t,n){return t===n.findIndex(function(t){return t.chatID===e.chatID})}).filter(function(e){return!e.deletedAt}),(0,g.cF)().setItem("TM_useChatList",JSON.stringify(ee));case 90:K&&K.length&&(et=(0,m.dC)((0,g.cF)().getItem("TM_useFolderList"))||[],en=[].concat((0,r.Z)(K.map(function(e){return I(I({},e.data),{},{deletedAt:e.deletedAt})})),(0,r.Z)(et)),er=(0,m.dC)((0,g.cF)().getItem("TM_useDeletedFolderIDs"))||[],(eo=en.filter(function(e,t,n){return t===n.findIndex(function(t){return t.id===e.id})}).filter(function(e){return!e.deletedAt}).filter(function(e){return -1===er.indexOf(e.id)}).map(function(e){return I(I({},e),{},{chatIDs:void 0})})).sort(function(e,t){return e.order-t.order}),eR(eo)),G&&G.length&&e0(function(e){return[].concat((0,r.Z)(G.map(function(e){return I(I({},e.data),{},{deletedAt:e.deletedAt})})),(0,r.Z)(e)).filter(function(e,t,n){return t===n.findIndex(function(t){return t.id===e.id})}).filter(function(e){return!e.deletedAt}).filter(function(e){return -1===e4.indexOf(e.id)})}),J&&J.length&&e5(function(e){return[].concat((0,r.Z)(J.map(function(e){return I(I({},e.data),{},{deletedAt:e.deletedAt})})),(0,r.Z)(e)).filter(function(e,t,n){return t===n.findIndex(function(t){return t.id===e.id})}).filter(function(e){return!e.deletedAt}).filter(function(e){return -1===te.indexOf(e.id)})}),Y&&Y.length&&th(function(e){return[].concat((0,r.Z)(Y.map(function(e){return I(I({},e.data),{},{deletedAt:e.deletedAt})})),(0,r.Z)(e)).filter(function(e,t,n){return t===n.findIndex(function(t){return t.uuid===e.uuid})}).filter(function(e){return!e.deletedAt}).filter(function(e){return -1===tc.indexOf(e.id)})}),Z&&Object.keys(Z).forEach(function(e){var t,n,r=(null===(t=ro[e])||void 0===t?void 0:t.updater)||function(){console.error("Updater for this setting not found",e,Z)};_[null===(n=ro[e])||void 0===n?void 0:n.section]&&r(Z[e])}),ex({lastSyncAt:F.lastSyncAt,totalUsageBytes:F.totalUsageBytes,limitUsageBytes:F.limitUsageBytes,subscriptions:F.subscriptions,isPaid:F.isPaid,apis:F.apis}),ei=Object.keys(ro),nc(function(e){var t=I({},e);return ei.forEach(function(e){!t[e]&&_[ro[e].section]&&(t[e]=new Date().toISOString())}),t}),eJ("ready"),p(!0),e.next=108;break;case 102:e.prev=102,e.t1=e.catch(1),console.error(e.t1),h.Tb(e.t1,{extra:{source:"sync-error"}}),eD(tg._({id:"cNnfG2"})),eJ("error");case 108:eC(!1);case 109:case"end":return e.stop()}},e,null,[[1,102],[38,44]])})),function(e){return t.apply(this,arguments)}),[ez,ex,eR,eH,eF,to,ta,th,tc,tl,ro,e5,e0,null==s?void 0:s.maxSyncPayloadSize]),rc=(0,f.useMemo)(function(){return{syncLoading:eE,syncError:eO,syncStats:eI,setSyncStats:ex,sync:rs,reSyncEverything:ra,scheduleSync:ri,syncStatus:eq,syncDetails:eV,tmcEnabed:ez,lastVerifiedToken:to}},[eE,eO,eI,ex,rs,ri,eq,eV,ez,to]);return(0,k.jsx)(T.Provider,{value:rc,children:n})}},53154:function(e,t,n){"use strict";n.d(t,{Z:function(){return f},e:function(){return p}});var r=n(50029),o=n(64687),i=n.n(o),a=n(67294),s=n(31955),u=n(4361),c=n(19261),l=n(85893),d=(0,a.createContext)(),p=function(){return(0,a.useContext)(d)},h={id:"lkE00/"};function f(e){var t=e.children,n=(0,a.useState)(null),o=n[0],p=n[1],f=(0,a.useState)(!0),m=f[0],g=f[1],y=(0,a.useState)(null),v=(y[0],y[1]),w=(0,u.mV)().i18n,b=(0,a.useCallback)((0,r.Z)(i().mark(function e(){var t;return i().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return g(!0),v(""),e.prev=2,e.next=5,fetch("/api/hosted/users/self",{headers:{"Content-Type":"application/json"}});case 5:if(!((t=e.sent).status>=400)){e.next=13;break}return e.next=9,t.json();case 9:return v(e.sent.userMessage||w._(h)),g(!1),e.abrupt("return");case 13:if(t.ok){e.next=17;break}return v(w._(h)),g(!1),e.abrupt("return");case 17:return e.next=19,t.json();case 19:p(e.sent),e.next=27;break;case 23:e.prev=23,e.t0=e.catch(2),v(w._(h)),console.error(e.t0);case 27:g(!1);case 28:case"end":return e.stop()}},e,null,[[2,23]])})),[]),A=(0,a.useCallback)((0,r.Z)(i().mark(function e(){return i().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return s.Z.remove("org_token"),s.Z.remove("typingmindcloud_token"),window.localStorage.clear(),e.next=5,(0,c.KJ)();case 5:window.location.reload();case 6:case"end":return e.stop()}},e)})),[]),S=(0,a.useMemo)(function(){return{user:o,loading:m,loadUser:b,logout:A}},[o,m,b,A]);return(0,l.jsx)(d.Provider,{value:S,children:t})}},134:function(e,t,n){"use strict";n.d(t,{$:function(){return u}});var r=n(50029),o=n(64687),i=n.n(o),a=n(67294),s=n(24855),u=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=(0,a.useState)(t),o=n[0],u=n[1];return(0,a.useEffect)(function(){var e,t=(e=(0,r.Z)(i().mark(function e(){return i().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,s.CQ)().get("TM_useChatPersistentMemory");case 2:u(e.sent||[]);case 4:case"end":return e.stop()}},e)})),function(){return e.apply(this,arguments)});return t(),window.addEventListener("update-chat-memory-entries",t),function(){window.removeEventListener("update-chat-memory-entries",t)}},[]),[o,(0,a.useCallback)((e=(0,r.Z)(i().mark(function e(t){var n,r,o;return i().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,s.CQ)().get("TM_useChatPersistentMemory");case 2:if(e.t0=e.sent,e.t0){e.next=5;break}e.t0=[];case 5:return n=e.t0,u(r="function"==typeof t?t(n):t),e.next=10,(0,s.CQ)().set("TM_useChatPersistentMemory",r);case 10:o=new Event("update-chat-memory-entries"),window.dispatchEvent(o);case 11:case"end":return e.stop()}},e)})),function(t){return e.apply(this,arguments)}),[])]}},72152:function(e,t,n){"use strict";n.d(t,{C:function(){return u}});var r=n(50029),o=n(64687),i=n.n(o),a=n(67294),s=n(24855),u=function(){var e,t=(0,a.useState)([]),n=t[0],o=t[1];return(0,a.useEffect)(function(){var e,t=(e=(0,r.Z)(i().mark(function e(){return i().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,s.CQ)().get("TM_useInstalledPlugins");case 2:o(e.sent||[]);case 4:case"end":return e.stop()}},e)})),function(){return e.apply(this,arguments)});return t(),window.addEventListener("update-user-installed-plugins",t),function(){window.removeEventListener("update-user-installed-plugins",t)}},[]),[n,(0,a.useCallback)((e=(0,r.Z)(i().mark(function e(t){var n,r,a;return i().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,s.CQ)().get("TM_useInstalledPlugins");case 2:if(e.t0=e.sent,e.t0){e.next=5;break}e.t0=[];case 5:return n=e.t0,o(r="function"==typeof t?t(n):t),e.next=10,(0,s.CQ)().set("TM_useInstalledPlugins",r);case 10:a=new Event("update-user-installed-plugins"),window.dispatchEvent(a);case 11:case"end":return e.stop()}},e)})),function(t){return e.apply(this,arguments)}),[])]}},33129:function(e,t,n){"use strict";n.d(t,{Q:function(){return u}});var r=n(50029),o=n(64687),i=n.n(o),a=n(67294),s=n(24855),u=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=(0,a.useState)(t),o=n[0],u=n[1];return(0,a.useEffect)(function(){var e,t=(e=(0,r.Z)(i().mark(function e(){return i().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,s.CQ)().get("TM_useUserCharacters");case 2:u(e.sent||[]);case 4:case"end":return e.stop()}},e)})),function(){return e.apply(this,arguments)});return t(),window.addEventListener("update-user-characters",t),function(){window.removeEventListener("update-user-characters",t)}},[]),[o,(0,a.useCallback)((e=(0,r.Z)(i().mark(function e(t){var n,r,o;return i().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,s.CQ)().get("TM_useUserCharacters");case 2:if(e.t0=e.sent,e.t0){e.next=5;break}e.t0=[];case 5:return n=e.t0,u(r="function"==typeof t?t(n):t),e.next=10,(0,s.CQ)().set("TM_useUserCharacters",r);case 10:o=new Event("update-user-characters"),window.dispatchEvent(o);case 11:case"end":return e.stop()}},e)})),function(t){return e.apply(this,arguments)}),[])]}},78798:function(e,t,n){"use strict";n.d(t,{A:function(){return u}});var r=n(50029),o=n(64687),i=n.n(o),a=n(67294),s=n(24855),u=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=(0,a.useState)(t),o=n[0],u=n[1];return(0,a.useEffect)(function(){var e,t=(e=(0,r.Z)(i().mark(function e(){return i().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,s.CQ)().get("TM_useUserPrompts");case 2:u(e.sent||[]);case 4:case"end":return e.stop()}},e)})),function(){return e.apply(this,arguments)});return t(),window.addEventListener("update-user-prompts",t),function(){window.removeEventListener("update-user-prompts",t)}},[]),[o,(0,a.useCallback)((e=(0,r.Z)(i().mark(function e(t){var n,r,o;return i().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,s.CQ)().get("TM_useUserPrompts");case 2:if(e.t0=e.sent,e.t0){e.next=5;break}e.t0=[];case 5:return n=e.t0,u(r="function"==typeof t?t(n):t),e.next=10,(0,s.CQ)().set("TM_useUserPrompts",r);case 10:o=new Event("update-user-prompts"),window.dispatchEvent(o);case 11:case"end":return e.stop()}},e)})),function(t){return e.apply(this,arguments)}),[])]}},82623:function(e){e.exports={messages:JSON.parse('{"xA+wuq":"- AI Assistant Chat","AlCw7T":"\'Listening...\'","4ZWIlk":["(",["0"],"% of total usage)"],"kS/gaE":"(All)","ghNpNS":"(Click Test API Key before saving)","nMAlk3":"(Default)","3ixyNq":"(Free)","cer5ho":"(Learn more)","8RknI/":"(Learn More)","fSOo0q":"(Leave empty if you already have an account)","Hjx5Vx":"(Locked)","rjoGU7":"(No instruction provided)","DzGwzA":"(No variables)","ZN0cYQ":"(Paste As Text)","fNqU0V":"(Show)","z7U/n+":"(View Demo)","6KMTVy":[["0","plural",{"one":["#"," Archived Chat"],"other":["#"," Archived Chats"]}]],"IPXOXm":[["0","plural",{"one":["#"," character"],"other":["#"," characters"]}]],"iwKytO":[["0","plural",{"one":["#"," chat"],"other":["#"," chats"]}]],"ao4ihU":[["0","plural",{"one":["#"," custom model"],"other":["#"," custom models"]}]],"Ftz/t9":[["0","plural",{"one":["#"," folder"],"other":["#"," folders"]}]],"M4fjIB":[["0","plural",{"one":["#"," hour"],"other":["#"," hours"]}]],"7dDfMK":[["0","plural",{"one":["#"," message"],"other":["#"," messages"]}]],"yxF19Y":[["0","plural",{"one":["#"," plugin"],"other":["#"," plugins"]}]],"WngjJs":[["0","plural",{"one":["#"," profile"],"other":["#"," profiles"]}]],"83la/n":[["0","plural",{"one":["#"," prompt"],"other":["#"," prompts"]}]],"YVY9Iw":[["0","plural",{"one":["#"," saved prompt"],"other":["#"," saved prompts"]}]],"G1lxoh":[["0","plural",{"one":["~","#"," token"],"other":["~","#"," tokens"]}]],"TuGMMD":[["0","plural",{"one":["Move ","#"," chat to"],"other":["Move ","#"," chats to"]}]],"3dz4IW":[["0","plural",{"one":["You have ","#"," invite code left."],"other":["You have ","#"," invite codes left."]}]],"DsE/2T":[["0"]," context length"],"4cp8tX":[["0"]," is already selected"],"yN4Oln":[["0"]," more AI agents hidden..."],"FCb/+G":[["1","plural",{"one":"every hour","other":["every ","#"," hours"]}]],"wGdwW4":[["2","plural",{"one":"every day","other":["every ","#"," days"]}]],"IYg/Ph":[["3","plural",{"one":"every month","other":["every ","#"," months"]}]],"+0skwN":[["availablePromptsCount","plural",{"one":["#"," propmt"],"other":["#"," prompts"]}]],"J3+TD7":[["count","plural",{"one":["#"," AI agent"],"other":["#"," AI agents"]}]],"BnhXW8":[["currentContextLength","plural",{"one":["#"," token"],"other":["#"," tokens"]}]],"MfPdYe":[["enabledCount"]," enabled"],"lo2Y4Y":[["estimatedTokens","plural",{"one":["~","#"," token"],"other":["~","#"," tokens"]}]],"MtlhoE":[["freeMessagesCount","plural",{"one":["You have ","#"," free message left today"],"other":["You have ","#"," free messages left today"]}]],"dQB853":[["i","plural",{"one":["#"," seat"],"other":["#"," seats"]}]],"rt+E3q":[["i","plural",{"one":["Last ","#"," message"],"other":["Last ","#"," messages"]}]],"ltmlBy":[["totalTokensSpent","plural",{"one":["#"," token"],"other":["#"," tokens"]}]],"fmLRjM":[["trainingMessagesCount","plural",{"one":["#"," training message hidden"],"other":["#"," training messages hidden"]}]],"+VVCL3":"* Find more information about Whisper prompt <0>here","b1cX7J":"* Must be compatible with /v1/chat/completions","/wY+cS":"# Your JS code here","sxg+VN":"→ Chat with AI on TypingMind.com","0YSH2s":"→ Get your API key from Open AI dashboard.","t3MnOU":["→ Go to ",["hostname"]],"BdH0Jq":"→ How to get Search Engine ID and API Key","vXqHoZ":"→ See FAQs for more information on device limits.","Y9TUSP":"→ Send","7HsnfO":["<0>",["totalSelected"]," selected"],"q1Iujb":["<0>⚠️ Important: You already have this plugin. <1/> (ID: ",["0"],").<2/><3/>Do you want to replace the old plugin with this new one?"],"pKmr0j":"<0>Chat history is not saved and other premium features will be limited soon in the free trial version.","TssG/Z":"<0>Cloud Sync & Backup provides a cloud storage for your data. You can backup your data to the cloud and sync your data across devices.","L5HMiK":"<0>Deleting your data from the cloud will also delete the corresponding local data.For example, if a chat is deleted from the cloud, it will be deleted from this device and any other devices with Cloud Sync enabled.","Njp4Fr":"<0>Microphone access is needed for voice input.","SLYcVl":"<0>NEW! Create a custom/private AI chat interface for your team:","Gnota0":"<0>Note: Enter API Key is optional. You have access to some free models by default. Only enter your API Key if you wish to use your own API Key and pay the cost by yourself.","UAJekh":"<0>Reminder: Please export and backup your chats regularly to avoid data lost!","G7dFid":["",["0","plural",{"one":["#"," chat"],"other":["#"," chats"]}]," with ",["messagesCount","plural",{"one":["#"," message"],"other":["#"," messages"]}]," on this device."],"U3RTaZ":["⚠️ ",["0"]," chat(s) are excluded from sync because they are too large."],"rk/03V":"✅ You have access to the compiled code of the app.","0DCczY":"✅ You have permission to deploy and use the compiled code on your own server.","csmgN6":"❌ You do not have permissions to modify or redistribute the compiled code.","6hLl3l":"❌ You do not have permissions to share or resell the compiled code.","uJfDIv":"\uD83C\uDF81 New feature: <0>Text-to-Speech","eDPfNj":"\uD83C\uDF89 Awesome. API Key is working!","Uautv5":"\uD83C\uDF89 It\'s done!","h3QnPS":"\uD83C\uDF89 Thank you for your purchase!","aTVsIr":"\uD83C\uDF99️ Voice Input","pM19tB":"\uD83D\uDC49 Click here to open your Email client with prefilled content","bGwrZ2":"\uD83D\uDC49 Don\'t see the receipt email? Click here.","08M6zB":"\uD83D\uDC4B Join #plugins on our Discord!","B1seby":"\uD83D\uDCD5 Read Developer Documentation","Dyot+U":["\uD83D\uDD12 ",["0"]," is not available for your current plan ",["1"],". Please buy or upgrade your license key to unlock this feature"],"voMgY+":"1 month","3vtzIH":"1 week","dmfyiH":"14-day money-back guarantee. All plans are one-time payments. Upgrade between plans anytime. Price does not include the API cost","He1Q8M":"18,000+ Happy Customers","HCLj1r":"2 months","O2B4EJ":"2 weeks","VaA9mu":"24 hours","7ZrpGs":"3 days","x1VeBD":"3 months","B/1Qzd":"3 weeks","UtXEjp":"48 hours","n6p4ka":"A better UI for ChatGPT, Claude, and Gemini","73O0MY":"A ChatGPT Plus Subscription is not needed.","tOO5PC":"A ChatGPT Plus Subscription is NOT needed.","hedKHR":"A custom model","i39oBj":"A JSON string that describes to the AI assistant what the function does and how to use it. Must strictly follow OpenAI\'s document about function call. See <0>Instructions & Examples here.","6iJX/K":"A shared License Key for up to 10 users on 50 different devices. comes with <0>Premium plan\'s benefits at <1>only half the price!","uyJsf6":"About","2lad0+":"About Me","n3bn7r":"About This Chat","ChasOQ":"Academic","VuFDmS":"Access the Web Search plugin that allows AI assistant to access the internet and look up information.","AeXO77":"Account","vOuxvL":"Account Information","FQBaXG":"Activate","VzNizi":"Activate License","JEv05s":"Activated","gj6qzs":["Activated Devices: ",["0"]],"F6pfE9":"Active","m16xKo":"Add","+7MTQz":"Add Conversation Starters","6clT5o":"Add Custom Body Params","iT8p0P":"Add Custom Headers","d2W4ef":"Add Custom Model","JRnw1i":"Add Custom Voice","axHfqA":"Add Endpoint","B+nQnj":"Add Plugin","QGP6it":"Add Post-Processing","aoFVdB":"Add profile","GGnNgC":"Add Profile","VrxS4o":"Add Prompt","KVJGUP":"Add Request Body","Ghn0ZA":"Add Request Headers","IKoyMv":"Add Tags","WD6ttL":"Add Test Variables","OF0JQ8":"Add Training Examples","YoxD8i":"Add your JS code here...","Yj2/Tk":"Add your JSON here...","hp8OtS":"Added","cRj6CO":"Additional Purchase Available","U3pytU":"Admin","mGLgVd":"Advanced Model Parameters","NFIOKv":"Advanced Options","JiIKww":"Advanced Settings","5lkKnr":"After you make a purchase, you will receive the files and instructions in your email. You can also login to https://app.lemonsqueezy.com/my-orders/ to download the files.","MnmJG1":"AI Agent","uHkL3b":"AI Agents","/Ul2lG":"AI agents are pre-built bots that you can chat with. AI agents are customized with specific context, training data, and model settings.","IwdUX/":"All costs are <0>estimated, please refer to your <1>OpenAI dashboard for the most accurate cost of your API key.","NdMF3Q":"All Dynamic Context Endpoints must have a name and a URL","OZbbiL":"All feedback, suggestions, feature requests, and bug reports are welcomed!","24snR+":"All of your chat data is stored locally by default","9jrTB+":"All of your data is stored locally in your browser. Each browser has a different limit of how much data you can store. If you are running out of space, you can delete some of your old chats.","wg2WXT":["All of your saved chats, messages, and prompts will be uploaded to the cloud server at <0>",["0"]," so that it can be synced between devices."],"G+I1gE":"All plugins","98vSRA":"All Previous Messages","kjv72T":"All purchases come with 365 days of free customer support. You can contact us using the Support button at the bottom of the sidebar. Note that we don\'t offer technical support for the self-host version. More info are available in the Self-host FAQs: https://www.typingmind.com/self-host-faqs","Wkdy65":"Already purchased?","pcjU7W":"Always show interactive content from this plugin without asking.","p1aRIt":"An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered.","stJ7GC":"An extension that allows AI assistant to speak out loud using ElevenLabs or Browser Text-to-Speech API.","+Bu/ke":"Analytical","AeMmrL":"and will be disabled after the Beta period","2s9w88":"Answer as concise as possible","Q973qV":"Answer in Blog format","vcFcLH":"Answer in Brochure format","FLWul7":"Answer in Case Study format","DukIlz":"Answer in eBook format","5LhHEt":"Answer in Email Campaign format","QdS+ah":"Answer in Essay format","uK5lNr":"Answer in FAQ format","jvU/at":"Answer in Infographic format","IBOZK1":"Answer in Interview format","ZtDtia":"Answer in Listicle format","I7V64k":"Answer in Memo format","CbfT1F":"Answer in News format","K+YMKx":"Answer in Newsletter format","0NE/hu":"Answer in Opinion format","iaWE1y":"Answer in painstakingly detail","lHgh9B":"Answer in Podcast Script format","iAYeUy":"Answer in Poem format","2BJ8/W":"Answer in Policy Document format","5+tfGx":"Answer in Presentation format","kWCukR":"Answer in Press Release format","NVybHC":"Answer in Product Description format","jnWaqI":"Answer in Profile format","tko26I":"Answer in Proposal format","M3LgmF":"Answer in Q&A format","4NCF/2":"Answer in Report format","O91zzn":"Answer in Research Paper format","VYCzS4":"Answer in Review format","sh/MHB":"Answer in Script format","x1WQ8C":"Answer in Social Media Post format","3Bd6y5":"Answer in Speech format","aRLf6W":"Answer in Summary format","BgxwOT":"Answer in Table format","6IjH1R":"Answer in Technical Documentation format","pd07qc":"Answer in Tutorial format","KQ5YyF":"Answer in User Guide format","FAYtw/":"Answer in Webinar format","9Mjf1u":"Answer in Whitepaper format","OpAwo5":"Anthropic API Key","8xI/bl":"Anthropic Chat Completions Endpoint (V1)","zMV8th":"Anywhere! You can deploy it on your own server, or on a static web cloud service like GitHub Pages, Cloudflare Pages, AWS S3, Vercel, Netlify, Heroku, etc. You can even run it on localhost.","yRnk5W":"API Key","1xrXA1":"API Key not working? Click Here.","FfSJ1Y":"API Keys","5ghbeJ":"API Keys & License Key","SHvKkv":"API Missing","dPIVSq":"App Data","2BpVx/":"App Data & Storage","aAIQg2":"Appearance","DB8zMK":"Apply","AL93NF":"Apply for all future chats","5zTU9p":"Apply for current chat","vdM0PU":"Approved Languages","B495Gs":"Archive","WAOQ5J":"Archive chats older than","/ns5IT":"Are you sure you want to cancel this subscription?","aS8e0y":"Are you sure you want to clear all your storage? This will delete all cloud data and the corresponding local data as well. To prevent data loss, consider using Manual Backup to export your data into a file.","G7hiVV":["Are you sure you want to delete <0>",["0"]," <1/>and its chats?"],"Pf89wO":"Are you sure you want to delete this chat? This is not undoable.","6foA8n":"Are you sure?","JeWEj+":"Argumentative","Jd1Cdw":"As of now, you cannot customize anything. You the self-host version will be exactly the same as the one you are using on TypingMind.com. If you are looking for a more flexible and customizable way to use TypingMind, check out https://custom.typingmind.com","F+vBv0":"Ask","CrlBwT":"Ask a question and see if it can answer it.","BwyPXx":"Ask a question...","CbOT+9":"Ask AI for domain name suggestions, then check the domain availability with 1 click.","BrM1bb":"Ask the AI assistant to generate a title based on the first message when starting a new chat. This will consume more tokens used in the first message. (All subsequent message tokens will not be affected).","LqNfc3":"Ask the AI assistant to suggest relevant keywords if the answer is more than 500 characters long. This will consume more of your token.","0CRwo2":"Assign a specific model to this AI agent","P2JOdR":"Assigned Advanced Model Parameters","Y9xqt2":"Assigned Model","PJ+Oxg":"Assigned Plugins","hICOwR":"Assigned Text-to-Speech API:","dR6shC":"Assigned Text-to-Speech Settings","4rpXj6":"Assistant response","fyOcj3":"Assistant Response:","tqcmtP":"Assistant:","pIrPsA":"At the moment, inactive devices will be revoked automatically after a short time, you don\'t need anything. In the future versions, you can access the License Manager from the app and manage your devices there.","5d7oGr":"Attach images and ask questions. GPT-4 Vision allows the AI assistant to see and understand images.","UY1vmE":"Attachment","JGrfzE":"Audio Input","1H+Sc2":"Audio input with OpenAI Whisper requires an OpenAI API Key. Please enter an OpenAI API Key to the app and try again.","M9+N8T":"Authoritative","Tppod2":"Auto archive old chats","+ZWSxY":"Auto delete archived chats","BSleER":"Auto fill content with AI","2Pa8mz":"Auto generate title for new chats","rXlXlr":"Auto play assistant messages","bE4siw":"Auto send the message after speaking","4ryaAZ":"Auto start recording when open","ZK5+g/":"Auto suggest relevant keywords after each message","j+fvUf":"Auto-Translated Languages","UrPLkb":"Automatic audio playback was prevented by the browser. Tap the play button to start playing audio.","4iqlgG":"Automatically archive chats that are older than a specific period. Exceptions: Favorited chats, chats in folders, or chats with tags will not be archived automatically.","OSt5XJ":"Automatically delete archived chats after they have been archived for a specific period.","NL1iX0":"Automatically resume your most recent chat when you reopen the app.","4/IEEY":"Available Integrations","TJCWpw":"Available variables","f0rbKh":"Awesome! You can start chatting now!","hksWkB":"Azure OpenAI","iH8pgl":"Back","qn5Xo4":"Back to active chats","tgg7/2":"Back to profiles","r5HG3n":"Backup & Sync","kJygHz":"Balanced","RIaiD3":"Basic Chat Features","YBt9YP":"Beta","astDB+":"Blog","bni2TZ":"Bonus Packages","jxmDgh":"Bot\'s answer","z2gcLy":"Brochure","ZtCLxJ":"Browser (Web Speech API)","7zrNaY":["Bulk Action (",["0"],")"],"ldcOo7":"Buy / Upgrade License","ggrnf1":"Buy a License Key","0nqkr3":"Buy Add-on","lAkf2Q":"Buy Another","1iJtdW":"Buy any license to get the following bonus packages for free!","oPWFMP":"Buy Extended","oqsSYB":"Buy Here","YX7STt":"Buy More Seats","m2pyX2":"Buy Now","dMT0t2":"Buy now to get it included for free!","HPC6Gz":"Buy or Upgrade Here","Ae1t/2":"Buy Premium","Betuyn":"Buy Standard","nn8KcR":"By default, the AI agent\'s instruction will be appended to the app\'s default system instruction (set in the model settings popup). Check this box if you want to skip the previous system instruction for this AI agent.","DkI3Vf":"By default, the AI agent\'s instruction will be appended to the global default system instruction (set in Training Data → Global System Instruction). Check this box if you want to skip the Global System Instruction for this AI agent.","tQht86":"By default, the plugin\'s output will be given to the AI and then the AI will decide how to respond to the user. You can change this behavior by selecting another output option below.","KiUAH8":"Cache Expire Time","uL2j1y":"Cache Refresh Policy","vTVaGb":"Can I embed my License Key/API key to the self-host version somehow and let my team/community/customers use it?","aVZ9yc":"Can I get a refund?","8o1RNk":"Can I have support on technical issues if I self-host?","hcGgve":"Can I let me team/community/customers use the self-host version?","ecAC9I":"Can I receive new updates after I buy a license key?","Go/vEu":"Can I self-host it?","rldNey":"Can I self-host TypingMind?","Qf9Ee9":"Can I use GPT-4 in TypingMind?","dEgA5A":"Cancel","vv7kpg":"Cancelled","g6Qo8V":"Case Study","RHRuDI":"Categories help you organize your AI agents. You can assign multiple categories to an AI agent.","07FUrc":"change","o+XJ9D":"Change","h3vADk":"Change API Key","SDhZUV":"Change Character","rZf6Qw":"Change Key","CWe7wB":"Changelog","P+2e0U":"Changes are saved only for the current chat","87RRXI":"characters","wQoVcC":"Characters","tQ4OxD":"Chat Not Found","C+pS1r":"Chat Output Settings","N+il+Q":"Chat with built-in AI agents on various topics.","5j4DOc":"chats","8Q+lLG":"Chats","3Fa5Z/":"Chats are not saved in free trial. Please buy a license key to unlock all features.","q9j23+":"Check API Key","1gDRRp":"Check Domain","hlKjs/":"Check Key","4fbZwm":"Choose how the plugin will be run.","x3hlms":"Choose one of the following methods","SqIaK+":"Clarity + Similarity Enhancement:","zljzWo":"Clear All Storage","z/5ptt":"Clear API Key and Password","Blz3jW":"Clear Context","UK3fsk":["Clear Selections (",["0"],")"],"zPQEe1":"Click \\"Create AI Agent\\" to explore more options.","qk7MVx":"Click here to help with translation","lcFzRd":"Click here to unlink old devices","mWkeNy":"Click Record to start recording audio. Text transcription will be provided by OpenAI\'s Whisper API.","xEX8ic":"Click Send Code to get started.","zOYG6Z":"Click the button above to start a new chat","cktsCs":"Click to calculate size","8J70rq":"Click to deselect the profile","J9vOlR":"Click to explore all features available \uD83D\uDC47","bi/d0n":"Click to retry.","7Zfhs6":"Clinical","9UQ730":"Clone","yz7wBu":"Close","62Ciis":"Close sidebar","tkhmZ9":"Cloud Backup & Sync provides <0>seamless backup & sync experience compared to other backup & sync solutions. This means changes are synced automatically in near real-time and only minimal data is transferred, ensuring a smooth experience.","s4xjn0":"Cloud Storage","UbVRmW":"Cloud Sync & Backup","sVBJ9u":"Code implementation is required.","sfhXn4":"Code Implementation:","3Nxy1n":"CodePen","56QffO":"Cold","H86f9p":"Collapse","wKlyxL":"Color Highlight","AUYALh":"Coming soon","q93mA4":"Community Prompts","9S4Fiy":"Compact","AzFAXz":"Concise","zNPkaU":"Confident","7VpPHA":"Confirm","jfC/xh":"Contact","ArkuA2":"Content is blocked based on the probability that it is harmful.","wmnTZp":"Context Length","HQF+Mf":"Context Length Limit","OI8spO":"Context length limit reached","Od+YcO":["Context length: ",["0"]," tokens"],"w7l4QY":"Context Limit:","tbb3wK":"Context Name","xGVfLh":"Continue","TSjITo":"Continue without Backup & Sync","fUFexU":"Continuously Updated","iqQ0P3":"Conversation Starters","hzExWo":"Conversational","PiH3UR":"Copied!","NmPNJJ":"Copy code","iVm46+":"Copy Code","EXTouI":"Copy Content","TZ5uLO":"Copy Last Message","ENCIQz":"Copy Link","7mai6W":"Cost are estimated and will not be 100% accurate. Please refer to the billing section of your AI provider dashboard for the actual cost. See FAQs below for more information.","jefIoa":"Cost associated with a chat includes the token cost for the chat messages AND all of the <0>enhanced features used for that chat.","bW1s55":"Cost estimation will be less accurate when stream response is enabled.","jM5g6I":"Could not connect to Anthropic API from your browser. This could be a network issue or adblock. Please try again or contact support. Open Developer Console to see more details.","SQw4QB":"Could not connect to Anthropic API. Please try again later. Error code:","atnPxc":"Could not connect to Anthropic API. Please try again later. Error details:","JkaJIP":"Could not connect to ElevenLabs from your browser. This could be a network issue or adblock. Please try again or contact support. Open Developer Console to see more details.","qoF6OQ":"Could not connect to Google Gemini API from your browser. This could be a network issue or adblock. Please try again or contact support. Open Developer Console to see more details.","NIkO92":"Could not connect to Google Gemini API. Please try again later. Error code:","Ukcq58":"Could not connect to Google Gemini API. Please try again later. Error message:","0O2epA":"Could not connect to License Server. Please try again later.","rPok8F":"Could not connect to OpenAI API from your browser. This could be a network issue or adblock. Please try again or contact support. Open Developer Console to see more details.","VMesfk":"Could not connect to OpenAI API. Please try again later. This could be because OpenAI\'s server is experiencing high demand and rejected your request. Go to https://status.openai.com/ to check their status. Error code:","m13MD6":"Create AI Agent","Z3mBOA":"Create new category","F1ebYf":"Create New Plugin","uFQF6u":"Create new tag:","oJhw1l":"Create plugin manually","0xD/Jm":"Creative","J5nbej":"Critical","HpGMZX":"Current Context Length:","8Tg/JR":"Custom","pC7150":"Custom Body Params","GnfGTT":"Custom Headers","vE8qON":"Custom Instruction","07Y2l2":"Custom model guides:","4OzRwX":"Custom Models","Bav+e0":"Custom Models:","/xJLUo":"Custom Voices:","6eagIY":"Cynical","+xHY/f":"Dangerous","pvnfJD":"Dark","Mb1IHF":["Deal ends in <0>",["timeLeftString"],"."],"Iy+/7K":"Deal ends soon.","ovBPCi":"Default","23umQ0":"DEFAULT","ztm4oE":"Default Model:","cnGeoo":"Delete","be4IUs":"Delete archived chats after","Q6Z4Kc":"Delete Folder & Chats","1oxiwc":"Delete Folder, Keep Chats","Wsu4Xu":"Delete This Chat","uNTuV6":"Deleted successfully!","C3l213":"Depends on the license key you buy. The Premium License Key is valid forever and includes all updates forever.","i5udnt":"Describe to the users what your plugin does and how to use it with examples.","Nu4oKW":"Description","jQFhbL":"Description (optional):","bIFrSy":"Description for the function","aH0Gbo":"Description of the first parameter","Dvc8Qg":"Description:","42aQMm":"Descriptive","E/QGRL":"Disabled","OdPOhy":"Discord","B7fqtM":"Discord Community","rKnHr6":"Do I have access to customer support after I purchase?","NnjDLd":"Do I have access to the full source code if I want to self-host?","OfaLQ8":"Do I need to have ChatGPT Plus ($20/month) to use TypingMind.com?","75mwHY":"Do I need to pay for ChatGPT Plus ($20/month) to use TypingMind.com?","OK9+n5":"Do I need to pay for OpenAI for a ChatGPT API Key?","xkeWcN":"Do I still need a License Key and Open API Key to use the self-hosted version?","pn+6yY":"Do not show this message again (you can enable Backup & Sync in settings later).","trpZLK":"Do you want to change the new character for this conversation?","TbjyhA":"Docs","wVeekH":"Document Attached","eCtitK":"Does Web Search require GPT-4? Can I use it with GPT-3.5?","bmPNEK":"Domain Check","gvy3rp":"Don\'t have one? <0>→ Buy A License Key","VbN7mk":"Don\'t show again","DPfwMq":"Done","7NkkFS":"Download .html","egdeNe":"Download .json","zQtsZm":"Download .md","XJyskP":"Download as JSON file that can be used for <0>fine-tuning","IFNYKF":"Download File","uOcnoU":"Download your recording","vEGzwu":["Duplicate function name: ",["parsedPluginID"],". The function name in your OpenAI Function Spec has already exists among your installed plugins. Please choose a new one."],"pi6L1F":"Dynamic Context via API","XBquZG":"E.g., A life coach who can help you set and achieve personal and professional goals.","xVkdoR":"E.g., A list of domain names based on topics","Yo1JjQ":"e.g., John","mLbNlk":"E.g., You are a life coach, you help the user identify and achieve their goals, motivate them, and provide support and encouragement.","OvyFOO":"Each item of \\"bodyRows\\" must include all required keys!","ZHX2Nv":"Each item of \\"headerRows\\" must include all required keys!","lZ6/UT":"Each license key can be used on 5 devices which is typically enough for 1 user. If you need to use it on for more devices, you can buy a new license keys or add more devices to your existing license key. \\"Device\\" is counted based on the number of places where the license key is entered and the chat history is saved for continuous use. For example, if you use the app on Chrome browser on your laptop and also on your phone, that will be 2 devices. Note that the license key and chat history is saved locally per browser, so if you use the app on Chrome and also on Firefox, you will need to enter the license key 2 times, have 2 separate chat histories, and that counts as 2 devices. If you need to use the license key on a new device but have reached the device limit, you can unlink the previous devices first using the License Manager (this is done online, access to the previous devices not needed). This device limit is put in place to avoid license key abuse and pirate.","HPqWYc":"Easily review color codes in the AI response.","+WvWWW":"eBook","ePK91l":"Edit","Dx6IaP":"Edit Info","QjH+ZX":"Edit message","QJQd1J":"Edit Profile","alTZor":"Edit the message without regenerating the rest of the conversation.","MMcsI2":"Edit this message","8V61zL":"Edit Title","GKJsTg":"Edited at","9r6uEg":"ElevenLabs (Beta)","gJaAE1":"ElevenLabs API Key","u2ugP9":"ElevenLabs requires an ElevenLabs API Key. Please enter an ElevenLabs API Key to the app and try again.","0GJN1u":"ELI5","poDAye":"Email Campaign","xCCCRp":"Emotional","rzMql/":"Empathetic","N2S1rs":"Empty","FZtBeR":["Enable ",["0"]],"7PDSeD":"Enable Cache","TmFE+J":"Enable Global Memory","CsVLg/":"Enable if the model supports image input (compatible with OpenAI API).","uOYIwm":"Enable if the model supports the \\"functions\\" parameter.","Nxc1QA":"Enable Plugins","7l5TV+":"Enable Web Search","6NbliF":"Encrypt API key with password","oGPAOk":"End of Chat","FCKppt":"Endpoint","kGCe95":"Endpoint saved! TypingMind will restart now.","sCG3Yu":"Endpoint Test Failed:","Wagt7O":"Endpoint Test Success:","T3juzf":"Endpoint URL","ZP7Y2s":"Enhance your chat experience x10 with our integrations.","5trAhQ":"Enter <0>License Key to unlock all premium features.","sbk2AF":"Enter any information you want the AI assistant to remember about you here:","YnCPVD":"Enter API Key","17SKb6":"Enter categories or create new one","rcyeIO":"Enter extension URL","IRwH+C":"Enter License Key","ENWqZw":"Enter new tag","hITuUq":"Enter Open Router API Key","f7sXvi":"Enter password","JxXP1G":"Enter Password","yAReJj":"Enter Password:","hSqeOv":["Enter the code in your email (",["email"],"):"],"99MXlb":"Enter Your Anthropic API Key","1Wa47i":"Enter your details so that your team can recognize you.","C3nD/1":"Enter your email","vUqMKV":"Enter your email:","4s7UWR":"Enter Your Gemini API Key","j/jUA8":"Enter your license key here","CVVC+5":"Enter your message...","/8zMx3":"Enter Your OpenAI API Key:","ZMHXQC":"Enter your prompt here...","npLws9":"Epigrammatic","QhCUtA":"Epistolary","fQGOXc":"Error!","uh+FNs":"Essay","zh1htt":"estimated","xEbu5z":"Estimated Cost:","sDp3Xz":"Estimated Size (for sync):","y8MW1k":"Example text...","d/uqej":"Excellent product. Continuously updated, with search, folders, prompts, and AI agents to make using GPT-4 much easier.","HXWJ3v":"Expected response time: <0>2-3 business days <1>(We\'ve been experiencing a high influx of new customers over the past few days. This might cause a delay in our email response time. We appreciate your patience.)","m9UoVv":"Expected response time: <0>20 seconds","TqoOrQ":"Explain like I\'m five","osTdTP":"Explain what the AI agent does and how to use it. Will be shown to the user.","22oG2a":"Explore All Features","Gx2RJ7":"Explore more on the topic on Google with 1 click","wBXYto":"Explore Plugins","GS+Mus":"Export","7ONgDR":"Export Data From OpenAI","iTDzyV":"Export Selections","MHwMyE":"Expository","JToDwi":"Expression:","HtEG00":"Extended","COlIpI":"Extensions","K8lalb":"Extensions allow you to load custom JavaScript into the application. This can be useful for adding custom functionality or integrating with other services.","ZbQrfp":"Extensions changed. Please restart the application to apply changes.","tIa0nY":"Extra Extra Large","vp6Yr4":"Extra Large","VfpfOY":"Extreme Detail","0aIV5B":["Failed to load extension: ",["url"]],"lKwla6":"Failed to render this response. Please contact support.","Avxzev":"Fair use bandwidth included. Upgrade or cancel anytime. By making a purchase, you agree with our <0><1>Privacy Policy and <2><3>Terms of Service.","sV1jTA":"false","/lDBHm":"FAQ","aJ4pMe":"FAQs","TgtE45":"FAQs about API Key","qmIOJX":"Faster","qPyzaP":"Feature Requests","YirHq7":"Feedback","q0qK3s":"Feedback / Customer Support","099VRC":"field 1","1Il5lG":"fill","oaz59c":"Filter by tags","JmZ/+d":"Finish","kODvZJ":"First Name","5TAuaz":"folders","HSh8u/":"Folders","cGeFup":"Font Size","CUHiET":"For more information, please refer to our <0>Privacy Policy and <1>Terms of Service.","VYIIuD":"For quick development and testing of a new plugin. You can also import a plugin from GitHub and modify it before saving it to use. For additional information on the plugin data format and instructions for sharing via GitHub, please refer to <0>this guide.","WsEnIq":"Force show login page","JRJf8U":"Fork Chat","uNHU5d":"Fork chat from here","BbNHZY":"Formal","sPODjJ":"Free Updates","p1i5jO":["Frequency Penalty: ",["0"]],"a3pVqb":"Frequently asked questions","Gq7H1m":"Friendly","gGUb6a":["Function name: ",["0"]," is not defined in your code. Please check your code."],"Weq9zb":"General","hxNoxI":"Generate images using the DALL-E 3 plugin. Simply describe the image you want the AI to generate. (Only available on supported models).","KLCCSP":"Get API key here","zCNvh1":"Get session link here","47jGM/":"Get sound notifications for AI responses when you are inactive.","c/xVhj":"Get the latest self-host update at https://github.com/TypingMind/typingmind","0uv2li":"Get your API key from Anthropic dashboard.","SitPcJ":"Get your API key from Google AI Studio dashboard.","Dedbjs":"Give plugin output to the AI","DzE6FV":"go to chat","gHSuV/":"Go to home page","b9KmAj":"Google Gemini API Key","76gPWk":"Got it","FPsvA8":"Got it!","vvDw4G":"Got Questions?","vgtoKX":"Got questions? Ask this Support Bot powered by GPT-4.","0u7U4p":"GPT-3.5 allows maximum of <0>4,096 tokens per chat. GPT-4 allows maximum of <1>8,192 tokens per chat in the 8K model and <2>32,768 tokens in the 32K model. OpenAI may increase the context length limit in the future.","72Hzfx":"GPT-3.5 Bot (Fast)","7SR6eZ":"GPT-4 Bot (Accurate)","Xm76hr":"GPT-4 Vision","X0azIX":"GPT-4 Vision requires a license key with the Premium plan. Please buy or upgrade your license key to continue using this feature.","R+05T4":"Guides:","+26uAM":["Handler for function ",["name"]," not found."],"EyQMHI":"Harassment","LoVB/U":"Hate speech","F6Go3M":"Header Key","BCL8Ot":"Header Value","C9r+t2":"Hello, I\'m a life coach. How can I help you today?","u3pv+W":"Hello, this is the test audio for the AI assistant.","geLLd1":"Help Desk & Documents","RFEi9f":"Here is your chat transcript","gmNQTg":"Here is your chat transcript:","/hc/Aq":"Here is your messages in JSON:","zTGSja":"Here is your plugin in JSON:","A+GCyx":"Hide Advanced","9aHqty":"Hide Advanced Options","QbJr9B":"Hide completely","2PtsU5":"Hide raw","ZUIr2+":"Hide this notification from the main page forever","yx/fMc":"High","1RkbIp":"High enhancement boosts overall voice clarity and target speaker similarity. Very high values can cause artifacts, so adjusting this setting to find the optimal value is encouraged.","bgYTxy":"Higher","ScdGLq":"Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.","TzBiUJ":"Hmm... it seems like your chats are corrupted.","cOkgyb":"How can I sync my chat conversations across devices?","E+1jcv":"How do I receive updates for the self-host version?","rq/EWc":"How do I remove a device from my license? How to access the License Manager?","D0hPsf":"How do you want to share this chat?","2/52pb":"How do you want to share this plugin?","ojrs7f":"How does this app work?","zSztZj":"How does TypingMind execute the search?","JNKgQJ":"How is the API key handled?","aPd0KC":"How is the cost calculated?","/tZEjV":"How it works?","OT18hB":"How many chats can I have?","ZX9OXO":"How many devices/users can I use the License Key on?","ucv4V3":"How much more tokens are used if I enable Web Search?","lIWqIu":"How much to penalize new tokens based on their existing frequency in the text so far. Decreases the model\'s likelihood to repeat the same line verbatim.","ED63fq":"How much to penalize new tokens based on whether they appear in the text so far. Increases the model\'s likelihood to talk about new topics.","IHD/ra":"How to export data from OpenAI?","OrpZKj":"How to use Azure OpenAI API","1fTVrT":"How to use local models (Vicuna, Alpaca, LLaMa, GPT4All, Dolly, etc.)","+u1nrq":"How to use Open Router models","bvG3QX":"How to use the Team License Key? How to add new users?","fN/3SW":"How tokens work?","4PbDoL":"How Web Search plugin works?","2N4F+A":"How Web Search works?","94nlq2":"HTML Webpage","qvRppp":"HTTP Action","bHXYoC":"HTTP Method","vXtlks":"https://","0X8rUE":"https://...","4Nl9R0":"Humorous","YFlz6q":"I have ChatGPT Plus, will it cost me more to use ChatGPT API via TypingMind?","TPNfdq":"I have purchased but forget my license key, how can I get it back?","rzZxW6":"I have read and understand the above.","ow9Olb":"I understand my chat will be made public","eh6z/i":"I understand that my chat history will be lost if I clear my browser cache or site data.","OcU847":"I\'ll activate later","aMPH6M":["I\'ll do it later",["0"]],"bd1Kuw":"Icon URL","/hz2xp":"Icon URL (optional)","Ffcffi":"If \'FormData\' is selected, the request body JSON will be converted to FormData.","xZ40r1":"If this problem persists, please contact support.","FU00DH":"If this problem persists, please contact support@typingmind.com.","vmyQ2D":"If you <0>have been charged but still don\'t see the receipt email, please send your <1>Transaction ID or your bank transaction detail to <2>hello@lemonsqueezy.com and CC <3>support@typingmind.com . We will check this for you ASAP.","mYZR41":"If you are using a custom model, make sure to set a correct Context Length and set the \\"max_tokens\\" body parameter to the recommended value by the provider. Contact your model provider for more information.","iK/LRS":"If you forgot or want to change your password, click \\"Change Key\\" and enter the API key again.","+hdF/5":"If you forgot your password, you can clear your API Key and password, then enter your API Key again.","xDic64":"If you have previously activated this license key on other devices, you must unlink those devices before continue.","bCDMZI":"If you reached the context length limit, you can delete some old messages to continue the chat, or start a new chat.","q+OiwQ":"If you think this is a mistake, please contact support.","1w2Cpf":"If you want to preserve this conversation, you can start a new chat from this point.","N1FnFw":"If your chat contains an <0>uploaded document or a custom <1>AI agent, those will also become publicly available.","HFASYW":"If your chats are not showing up, you can try to recover them here. This will find all of the existing chats available in your local storage and recover them. Usually, you don\'t need to do this, but in some extreme case where there is a browser bug, or the app\'s storage is corrupted by a other browser extensions, you can try to recover your chats here.","PVi43z":"Ignore the synced data from the cloud and create a new copy of the data from the file. This may create duplicate chats on your current device.","hG89Ed":"Image","m08Cos":"Image Generation","an5hVd":"Images","N4OVNn":"Implementation","l3s5ri":"Import","D8LFE+":["Import ",["0"]," model(s)"],"EILfvI":"Import & Clone","2iY5s/":"Import & Replace","m5Z2VD":"Import a plugin via URL:","FhMhTR":"Import Data","M0BKgX":"Import From GitHub","+wwQdk":"Import From OpenAI","T/YuOx":"Import Plugin","zjeHGx":["Import Plugin <0>",["0"],"?"],"HHxZa1":"Import plugin from JSON","z46NBz":"Import the data from the file to this device and keep them synced with the cloud version. Any existing duplicate chats will be replaced, then synced to the cloud.","j1RnC6":["Import to ",["0"]],"5yS40W":"Import to TypingMind","Bbn1qh":["Imported ",["0"]],"n1w4iu":["Importing new ",["0"],". Are you sure?"],"GdBrLi":["Importing new ",["0"],".<0><1>⚠️ Important: Some ",["1"]," in the imported file have been previously synced to Cloud Backup & Sync.<2/><3/>Do you want to replace those data with the synced version or create new cloned ones?"],"bN4bod":"Importing new data from a local file. Are you sure?","6xrUsk":"In the free plan, chat history will not be saved. You will be present with a popup every few minutes. Some other features may also be limited.","jZxGf9":"Incorrect password.","VoO3VA":"Incorrect password. All API keys must be encrypted with the same password. If you forgot your password, you can remove all API keys and add them again.","6sxUIo":"Increasing stability will make the voice more consistent between re-generations, but it can also make it sounds a bit monotone. On longer text fragments we recommend lowering this value.","BTNnlL":"IndexDB is unavailable in your current browser, and some features might not work. Please use a different browser for the best experience.","uSFHsO":"Infographic","n668ni":"Informal","xazJTP":"Informative","MfdckZ":"Initial System Instruction","TKQ7K+":"Install","zPsxDu":"Install Now","eQkgKV":"Installed","2oyZ/L":"Instructive","GUNLv1":"Interactive Content","4SUOez":"Interactive content may slow down your chat experience or be distracting.","umwQp0":"Interview","EPw/o1":"Invalid API key. Please make sure your API key is still working properly.","svQd1q":"Invalid OpenAI Function Spec. Please check your JSON.","e6Mc3R":"Invalid plugin. Please try again.","Tri+cM":"Invalid User Settings. Please check your JSON.","eJbPDS":"Invite code:","127v3Z":"Ironic","2zlZZS":"Is it ok to give my OpenAI API Key to TypingMind? Does OpenAI allow this use case?","9wNN3e":"Is my API Key encrypted in local storage?","CNe6lp":"Is the License Key one-time purchase? Do I need to renew it?","AcMcB2":"Is the macOS app a native app? How do I receive updates with the macOS app?","8w635b":"Is there a Windows/Linux app?","1RMOfL":"Is there an Android/iOS/iPad app?","Po7tj6":"Is there an expiration date for the License Key?","xkuRyy":"is thinking","b5PxgQ":"Is this app free?","IWs4FI":"is typing","HsTJS/":"It\'s free and takes 2 minutes. You need a Google account.","KA/DjW":"It\'s trained with our FAQs, Privacy Policy, and Terms of Service.","uIjGvG":"JavaScript Code Implementation","lulNQ0":"Journalistic","B2Zb/F":"JSON","leS9hw":"JSON file","aABkGI":"Kagi Session Link","y+HKwM":"Keep your data safe!","h7MgpO":"Keyboard Shortcuts","DVMnO1":"Keyboard shortcuts are not avaiable on mobile","VHZsGc":"Known Issues in macOS app:","vXIe7J":"Language","k7rCa/":"Large","JwWiPD":"Last Created","UXBCwc":"Last Name","qF4jem":"Last Sync","zt4unR":"Last Sync: Never","tKCBU0":"Last Used","zwWKhA":"Learn more","4nqCi7":"Learn more about OpenAI\'s model, tokens, and context length here.","ypjVz9":"Less Repetition","CcsE7w":"Let the AI know how to response when this profile is used.","4o/F78":"License Key","ttpgzw":"License Key is used to activate the premium features of TypingMind.com. API Key refers to OpenAI ChatGPT API Key, and is used to connect to OpenAI\'s API to interact with ChatGPT. You need an API Key to use the app. The License Key is only needed if you want to use the premium features.","h12eY8":"License Key vs. API Key","1njn7W":"Light","yRkqG9":"Limit","ml4bvW":"Limit:","tQU1G2":"Limitations","XbQkUk":"Link Copied","uebWmA":"List More...","95r17U":"Listening...","UBSiBT":"Listicle","bqeTuo":"Llama, Mistral, Perplexity,...","VUP5qf":"Loading Configuration","r53GSi":"Loading Plugin...","Z3FXyt":"Loading...","2tuzFd":"Local Chat Data:","2iTmdZ":"Local Storage:","j8TVcH":"LocalAI (Vicuna, Alpaca, LLaMa, GPT4All, Dolly, etc.)","HD2Tiz":"Lock","z0t9bb":"Login","FK/gUg":"Login / Signup","khlq+8":"Login Here","u62JiU":"Login with Email","nOhz3x":"Logout","4TQrIR":"Lost your license key?","nTWWCZ":"Low","pdO539":"Lower","yqdPiL":"MacOS App","OpIDIK":"Make sure you have your billing info added in <0>OpenAI Billing page. Without billing info, your API key will not work.","YybZzh":"Manage Files","HjdyXC":"Manage License & Devices","KhaF0E":"Manage Models","UwHZGA":"Manage Plugins","NcEE8j":"Manual Backup","7FWkv7":["Max Tokens: ",["0"]],"VbEe6v":"Maximum convenience (macOS 11.3+)","XNLbke":["Maximum Devices Allowed: ",["0"]],"agPptk":"Medium","Kbwvno":"Memo","v8o+Rn":"Memory","CARDy6":"Memory Entries","R8Ba3j":"Message Attachments (Images, Files, etc.)","6hMGSB":"Messages Count","0ivkbP":"Metadata & User Data:","Uo2nri":"Metaphorical","lRVSrT":"Missing required key:","lXJuyl":"Mistral AI","scu3wk":"Model","IzB3v0":"Model ID","0f8VF5":"Model Quick Selection","VdtyvK":"Model Settings","XDOReT":"Model Settings (Current Chat)","hDkkvu":"Model:","//nm2/":"Models","EvGHqi":"Models Visibility And Order","3xm05L":"More stable","SjsPQu":"More variable","mq//7G":["Move <0>",["chatTitle"]," to"],"/DMBqC":"Move To Folder","qhwV2C":"My Account","hKtWk2":"My Profile","6YtxFj":"Name","Sn9236":"Narrative","KwhrYp":"Need help creating plugins?","6FUdfq":"Need setup","proQUv":"Neutral","q2+WzE":"New Chat","5jeS/s":"New Chat in Folder","5FLa/t":"New Chat Instance","5sQUqJ":"New features, improvements, and bug fixes.","tX5yOZ":"New Folder","Bjt2Wt":"New Plugin","qdyV/M":"News","5ACX4z":"Newsletter","UcAV3Q":"Nice, the endpoint is working! \uD83C\uDF89","2Pl7Xj":"No AI agents found","cUyict":"No AI agents in your library yet.","CP6gDt":"No Chats Yet","gIikXc":"No data found on this device","INI7x0":"No information available","fnpUJJ":"No memory entries yet","Eo6Lg5":"No plugins available","uLNH6C":"No plugins found","PPDN8S":"No refresh. Use until cache expires.","tSEkZI":["No result found for \\"",["searchKeyword"],"\\""],"Ev2r9A":"No results","1dhpFr":"No results.","cCELIA":"No tags found!","7tSS3w":"No you can\'t, and you shouldn\'t. It\'s not safe to share your License Key and API Key to the public like that. The Static App Self-host version is meant for personal use. If you are looking to setup a custom deployment of TypingMind for your team/community/customers, please check out https://typingmind.com/custom","FTMbwN":"No, but you can add typingmind.com to your home screen. It works exaclty like an app!","z3hnVp":"No, I want to use my own API key","wIOBEk":"No! A ChatGPT Plus subscription is not needed. You just need to have an OpenAI\'s API Key. You can see more info on how to get one here: https://openai.com/blog/openai-api","dy1KlD":"No. The license key only grants you the permission to use and deploy the app on your own server. You do not have permissions to modify or redistribute the code. The full source code is not available for sale as the app is not open-source. You will only receive the compiled code of the app, you can deploy the app anywhere without having to update any code or settings.","EdQY6l":"None","youZKh":"Not for now. Sorry!","QmOa3K":"Note: answer from the bot may include inaccurate information. Always verify the information you received. When in doubt, contact customer support.","2T68PV":"Note: Extensions have full access to the application and can read and modify any data. Only install extensions from sources you trust.","yA1cUG":"Note: only models with OpenAI compatible API are supported.","EuE1GI":"Note: Post-Processing only works with JSON responses.","CvvaRA":"Note: some voices have different character limits.","mIHRS/":"Note: The content of the API response will be injected to the system prompt, keep your API response short to avoid exceeding the context limit. The best response format is Markdown or Formatted JSON. API responses that are longer than 15% of the model context length will be truncated automatically.","rF9ATR":"Note: Web Search works best with the <0>GPT-4 model. Enable Web Search will consume more tokens. All web searches are private. Learn more below.","NnuIWZ":"Note: you may need to update your API key after changing the endpoint.","UIpYys":"Note: You pay for your own API usage directly to ElevenLabs. API requests to ElevenLabs are sent directly from your browser without any intermediate server. No one can see your chat content and audio. Enjoy your privacy!","dk+V/P":["Nothing found for \\"",["0"],"\\""],"KB/SAo":["Nothing found for \\"",["debouncedSearch"],"\\""],"Amd0C9":"Nothing to export.","qmm0gd":"Notify Me","zga9sT":"OK","NIhxhS":"Ollama (Local models: Llava, Llama2, Mistral, Orca, etc.)","FjIVLO":"Only sample from the top K options for each subsequent token. Used to remove \\"long tail\\" low probability responses. Min: 0","v0YINs":"Open AI Agents","a2tx9b":"Open backup settings","w9uz3G":"Open chat with this specific AI agent","lydwZP":"Open code in CodePen editor with 1 click.","wc9o2P":"Open Full Page →","jZlMgr":"Open in CodePen","N5skTB":"Open in separate window","N5tvE6":"Open Model Settings","zx1wgl":"Open Prompt Library","seLMUl":"Open Router models","s19V4z":"Open Search","OdnLE4":"Open sidebar","9ElpTL":"Open-minded","16pk+G":"OpenAI API Key","rNGD7J":"OpenAI API Org ID","Rde+o4":"OpenAI Chat Completions Endpoint (V1)","7HIUd6":"OpenAI Function Spec","4cpPCu":"OpenAI Function Spec is required.","/xxPLj":"OpenAI Function Spec must have a \\"description\\" property.","LWocrQ":"OpenAI Function Spec must have a \\"name\\" property.","dbxhNC":"OpenAI Function Spec:","7+CA6l":"OpenAI Status: OK","D0uUAb":"OpenAI Status: Slow","rmkBdt":"OpenAI Status: Unavailable","lKxYcA":"OpenAI Text-to-speech","BLqwK7":"OpenAI Text-to-speech requires an OpenAI API Key. Please enter an OpenAI API Key to the app and try again.","I3d9HX":"OpenAI Whisper","2tVhma":"Opinion","rnF+lT":"Optimistic","AWA6XY":"optional","mp5yqd":"or <0>Upload an audio file","I8e+C7":"or anything","T7yhkH":"Output Format","2o7xcf":"Output Options","kzRPrD":"Override system instructions","6FSnpy":"Overview (Markdown Supported)","l9QF2Y":"Overview:","IgrLD/":"Pause","hgrGkS":"Perplexity AI","Lj9mvp":["persisted: ",["0"]],"jAz6//":"Persuasive","Dc1wVa":"Pessimistic","CGEos+":"Pick a color theme for the sidebar","qVkGWK":"Pin","NGcwCb":"Pin this AI agent on the main page","H/zYvy":"Pin this character on the main page","AURbCJ":"Pinned Messages","PBh8Vb":["Pitch: ",["0"]],"T91vKp":"Play","jzYyPY":"Playful","IHfMUc":"Please buy a license key to add this character","PsjNM2":"Please buy a license key to start chatting with this character.","mJOkX1":"Please confirm that you may lose your data if you clear the browser cache or site data.","rvyFY9":"Please enter your API key to get started.","jF//iB":"Please enter your ElevenLabs API key to start using text-to-speech.","kMEn8S":"Please export and backup your chats regularly to avoid data lost!","wwrAsK":"Please fill in all required fields","JOCX5y":"Please finish adding a Custom Model first (or click Cancel) before applying changes.","QYpq6r":"Please login to see all available characters","m1DS6L":"Please login to see all available prompts","36Sd6M":"Please make a copy of the links below, they will not be shown again.","nTJf+7":"Please read the following carefully.","HcH0CK":"Please select a plugin from the list first.","k8Mebo":"Please select tags...","4dbClF":"Please try to close the app and reopen again.","cQKduU":"Please try to reload the app.","C1aFyX":"Please wait while we sync your data to this device","rYG2u6":"Please wait...","fOuPPd":"Plugin","VGOLXi":"Plugin Code Implementation not available","0dl2VR":"Plugin is running","ErRKov":"Plugin Name","4od74D":"Plugin name is required.","nqxUE9":"Plugin OpenAI Function Spec not available","LQLgsn":"Plugin overview not available","eKHY3W":"Plugin Settings","E+y9QY":"Plugin Store","heVD0V":"Plugin supported","eTB1Zi":"plugins","ohUJJM":"Plugins","bPwU1X":"Plugins are locked for this chat","m6koiy":"Plugins: Not Supported","LKmpE/":"Plugins: Supported","TsPLF1":"Podcast Script","HkrWZH":"Poem","mcGYQP":"Poetic","lXk/9o":"Policy Document","PfQA36":"Possible workarounds","gF9SeK":"Post-Processing","6LWacs":"Precise","Q6hhn8":"Preferences","RY5kDp":"Premium","J7wKTg":["Presence Penalty: ",["0"]],"FOoDGS":"Presentation","gBJdgA":"Press \\"/\\" to focus input","PeRQRx":"Press [Tab] to move to the next fill-in-the-blank position.","uy5i6n":"Press Release","R3vQ4L":"Print / PDF","8AUk5H":"Print this page or save as PDF","rjGI/Q":"Privacy","LcET2C":"Privacy Policy","k+M+xc":"Processing Engine:","me35xG":"Product Description","vERlcd":"Profile","xBzEtd":"Profile Image URL:","p7V64o":"Profile picture for the AI agent. Will be displayed along with the AI agent\'s messages.","NI0r0N":"Profile picture URL must starts with http:// or https://","xvRniw":"Profile Picture URL:","vrQQgz":"Profiles","1mnY67":"Programmable Search Engine (by Google)","pqNt/b":"Programmable Search Engine (by Google) is a customizable tool that allows developers to integrate Google\'s search capabilities into their applications or websites.","W9uQXX":"Prompt","MqJtNb":"Prompt Library","3jrgtI":"Prompt Title (e.g., \'Domain Names Inspirations\')","o73FAt":"Prompt:","Ad1kG/":"prompts","Qmr3jO":"Prompts","JPFjAF":"Prompts are message templates that you can quickly fill in the chat input. Some prompts come with variables.","8B+pY5":"Property","i+CFi4":"Property Value","qcybNQ":"Proposal","AH5Ipl":"Proxy & Org ID","4bZkAM":"Put to background","T3l2/7":"Put your OpenAI Function Spec here...","z2HsPn":"Q&A","TAocpQ":["Rate: ",["0"]],"fqH5by":"Re-sync everything","4i4Xz6":"Read our reviews →","uUXlSw":"Recommendation: 128x128","YS2bZx":"Recommendation: 4 words or less.","w80YWM":"Record","GyaNUA":"Record Again","9kEKKZ":"Recover License Key","PjpB64":"Refresh once per chat (or when cache expires)","rC5mbl":"Refresh once per message (or when cache expires)","6exX+8":"Regenerate","JhXfkQ":"Register Here","KXcI9P":"Remember details across all chats and all AI agents. Old chats before this setting is enabled will not be considered.","ykZ0jq":"Remembering details you discuss across chats saves you from having to repeat information and makes future conversations more helpful.","t/YqKh":"Remove","eLm251":"Remove All Ads","mTAnk+":"Remove API Key & Disable Web Search","+J8ouA":"Remove Key","u/WKTl":"Render plugin output as interactive HTML","HVm9F2":"Render plugin output as markdown","yjKqG9":"Reopen previous chat when app open","B81CYu":"Replace Only","gjpdaf":"Report","yWOswz":"Request Body (JSON)","dZjnSE":"Request Body Format","ArNNAV":"Request Headers (JSON)","lY4/S/":"Requests to the endpoint are sent directly from the browser. Make sure your endpoint is configurated correctly to avoid CORS related issues.","RIssSO":"Research Paper","OfhWJH":"Reset","kQlJyC":"Reset Chat","SFteAp":"Reset Default","L+rMC9":"Reset to default","cdQnFM":"Reset to defaults","u6QeR6":"Restart Now","heil9d":"Restart the app to update to the latest version.","mBkVGB":"Restore Now","RD6AE9":"Result","v39wLo":"Resume","6vm5iQ":"Retrieve content from an API and inject into the system prompt. This can be used to add live information to the AI or implement Retrieval-Augmented Generation (RAG) from your own data sources (e.g., vector store database).","5k0NLb":"Review","oHml5X":"Run/deploy the app on your host","Wt3M+q":"Safety Settings (Gemini Only):","K6tmBZ":"Sarcastic","4uPDxA":"Satirical","tfDRzk":"Save","mxFYYR":"Save API Key","IUwGEM":"Save Changes","u1xg0F":"Saved successfully!","Zi7dyz":"Script","A1taO8":"Search","4IdIIf":"Search AI agents...","aDVBYo":"Search API","PtdI1b":"Search API Key","fsSQWV":"Search API Key is now working!","wRL7Wp":"Search chats...","5qSvKg":"Search Engine ID","50DcYA":"Search on the internet:","slq1pb":"Search plugins...","6u87ha":"Search prompts, characters, or chats...","xEEOHj":"Search Suggestions Link","lnWve4":"Search tags","9Bfco2":"Search your prompts","WNypG5":"Secret Link","V1fa9u":"See more","iqebkX":"See more FAQs","rG3WVm":"Select","z9xdHh":"Select a tab","yM5jvp":"Select AI agent","c/+K+h":"Select AI Agents","mCB6Je":"Select All","YH4rCS":"Select an Identity Provider:","MHm/fc":"Select Language","gzNMI5":"Select number of characters to buy:","VNEe/a":"Select number of seats to buy:","UJpWwn":"Select one or more plugins to add to your chat portal.","euBEyc":"Select the profile you want to use","QdU0Z4":"Select what you want to sync","ylXj1N":"Selected","J22SON":"Self-help","LTE+c6":"Self-host means you deploy the same version of TypingMind.com on your own web hosting server and domain name for your personal use.","bma1om":"Self-host Static App","7xHXyX":"Send Code","yxWIpJ":"Send Feedback / Contact Support","KgBK/c":"Send message on Enter key","Ls+eRP":"Send Test Request","3fV/9W":"Sent at","OI539Y":"Serious","qRsPIT":"Set default","1J28UM":"Setapp provides you with some free models, do you want to use free model instead?","Tz0i8g":"Settings","ah70YE":"Setup Backup & Sync","TQjmbE":"Setup Cloud Sync & Backup","xwwTVi":"Sexually explicit","Z8lGw6":"Share","nntTLt":"Share & download as a JSON file","5zYChD":"Share conversation in HTML format","TwWdwu":"Share conversation in Markdown text format","8nItET":"Share Failed:","QxxWAu":"Share Now","/9EVpH":["Share Plugin: ",["0"]],"uD5/Z+":"Share This Chat","Q600Ty":"Share to <0>Cloud","cY+WFi":"Share to <0>ShareGPT","8vETh9":"Show","PUO6ed":"Show Advanced Options","TKt2IH":"Show Content","qsNpLL":"Show estimated tokens while typing","sgzcYD":"Show labels","2xLA9y":"Show Play button after assistant messages","rlNC9x":"Show raw","5amG4X":"Show settings","6kuw9a":"Show, hide, sort models for quick selection on the navbar","pRcxFW":["Showing <0>",["0"]," to <1>",["1"]," of <2>",["totalResult"]," results"],"ebEv56":"Sidebar Color","tbgdI4":"Sidebar Style","Cj2Gtd":"Size","CoiZM+":["Skipped ",["0"]," chats due to an unsupported format"],"Ada8m+":["Skipped ",["0"]," chats, see details"],"w625t8":"Slower","4Revpc":"Small","Kmbi2z":"Social Media Post","+iNEMI":"Some enhanced features on TypingMind will increase your token usage. You can always turn these features off in the Settings pannel (click the gear icon in the sidebar). The enhanced features include: Chat Title Suggestion, Search Keywords Suggestions, AI Agents, Upload Document, etc. Amount of tokens used depends on the AI agent and the length of your document.","xzWvQE":"Some models come with limitations. <0>See details","ZgGAHI":"Some people prefer to run the software on their own server for privacy and availability reasons. For example, if TypingMind.com becomes inaccessible in the future, you can still access your own version of TypingMind from your server without any problem. The self-host version can also be run locally like an app.","lkE00/":"Something went wrong. Please try again later.","fWsBTs":"Something went wrong. Please try again.","UGi5Zs":"Something went wrong. Please try again. Open the console may reveal more information.","x2knav":"Something went wrong. This could be a temporary network connection issue. Please try again or contact support. Opening the console might help clarifying the issue.","+IoUcJ":"Sorry, audio input is not yet supported on your device/browser.","lYgpBY":"Sorry, that license key is invalid.","GAMnLq":"Sorry, the FAQ bot is currently experiencing high demand. Please try again later.","cNnfG2":"Sorry, there has been a problem with the sync process. Open the Console might clarify the issue.","04ofk2":"Sorry, your browser/device does not support Speech-to-Text API. Please select another Speech-to-Text service.","ZqFmVi":"Sorry. Voice input is not yet supported on your device/browser.","Sb94+G":"Sound notifications","dpGL2Q":"Source:","8BnJo9":"Speech","GPIMoy":"Speech API:","MbTAbA":"Speech-to-Text Provider:","UHgcpG":["Speed: ",["0"]],"CH0AaX":"Stability:","TJBHlP":"Standard","jDO+4L":"start a new chat","vPF04k":"Start a new chat","d9HU83":"Start a new chat from here","hYlkID":"Start talking...","JEGlfK":"Started","R1H72g":"Step-by-step","ygCKqB":"Stop","RlyAC4":"Storage Stats","ZuDIxL":"Storage Upgrade","c7CCr7":"Stream AI responses word by word","3mDv0d":"Stream AI responses word by word (typing animation)","hQRttt":"Submit","FP9FYD":"Subscription ends at","0EHAOo":"Such an easy purchase. This tool makes interacting with ChatGPT so much nicer. The pre-built personas are fantastic and the prompt library is such a time saver.","ddnJmC":"Suggest Search Keywords","yAyOUJ":"Suggest some first messages for the user to select from in the beginning of the conversation.","dXoieq":"Summary","0dyIBS":"Super Detailed List of FAQs","XYLcNv":"Support","IHh1FJ":"Support OpenAI Vision","r41Eim":"Support Plugins (via OpenAI Functions)","Aqw8Kb":"Sure?","1+P9RR":["Switch to ",["0"]],"XerTC6":"Sympathetic","KmFUm2":"Sync Changes","OafbM3":"Sync will continue but you can start using the app right away.","sP8i1e":"Synced At","GYA8rj":"Syncing Data...","uHIPUT":"Syncing...","D+NlUC":"System","ZGzNem":"System Instruction (for the AI agent)","vawWq6":"System Instruction:","GGF/7/":"System Instructions:","4hJhzz":"Table","OYHzN1":"Tags","HurUmz":"Tags (optional):","n6bA7l":"Tags:","9SpTGy":["Talking to <0>",["0"],""],"IhEEon":"Team License 10 users – $395","wanXT9":"Technical","AGHoaB":"Technical detail:","8RB+0b":"Technical Documentation","r6Q6b1":["Temperature: ",["0"]],"8dEBSa":["Temperature: ",["temperature"]],"lHk6rb":"Template:","3WYP3r":"Tentative","4Y5H+g":"Terms","xowcRf":"Terms of Service","NnH3pK":"Test","ALQq49":"Test API Key","oRX7OJ":"Test audio:","NFYITQ":"Test Endpoint","V17zQG":"Test Missing Translation.","cQfI46":"Test Variables (JSON)","yJvxHg":"Text (Markdown)","TTBVi5":"Text-to-speech","CZer2q":"Text-to-Speech","M+BBlf":"Text-to-speech is disabled. Please select a Speech API above to enable.","nAl9s9":"Thank you for your purchase!","M8UX1B":"That endpoint is not working. Please check and try again. Open the console log may reveal more information.","vVD6Dy":"That\'s not a license key. It looks like an OpenAI API Key, not a License Key. Please enter your license key instead.","QS9Feg":"The AI assistant will remember your information on all future chats.","7egM0P":"The app will connect to Anthropic API server via our proxy to check if your API Key is working properly.","6NM9H1":"The app will connect to OpenAI API server to check if your API Key is working properly.","153KVj":"The app will connect to the license server to verify your license key. To manage your license keys and devices, click the button below.","gqbLFw":"The app will restart now.","u5hWpH":"The base instructions for Web Search contains ~600 tokens. The search result will be added to the context and will be used to answer your question. The more search results you get, the more tokens will be used. The average number of tokens used for Web Search is ~800 tokens.","0pm0cB":"The ChatGPT API costs soooooo little you won\'t even notice it. Typical chat conversation is about 1000 characters, which costs ~$0.001. That\'s less than a cent. You can have thousands of chats and it will only costs you like $1. See official pricing here: https://openai.com/pricing#language-models","30hLYa":"The code that will be executed when the plugin is called. Must be a valid JavaScript code. <0>Learn how the code is executed here.","gbk4fY":"The cost is calculated based on the <0>public pricing of OpenAI\'s API. Each model has its own pricing, each type of tokens in each model also has its own pricing.","CH5FaG":["The custom model used for this chat is currently not available on your device. The default model <0>",["0"]," will be used for future messages of this chat."],"jbkRdE":"The default free plan of Programmable Search Engine includes 100 searches per day for free. If you need more, you may sign up for billing in the Google API Console. https://cloud.google.com/billing/docs/how-to/manage-billing-account","BmbkK/":["The first ",["skippedMessagesCount"]," messages are forgotten."],"jherDw":"The first message to send to the user when start a new chat.","pyyzCs":"The green dot indicates that OpenAI API services are working normally. When it turns red<0/>, that means OpenAI is slow or unresponsive due to high demand or other reasons.","FngNgl":"The license key is valid forever.","Uf4SSj":"The macOS app is a simple native app with a webview that runs the latest version of TypingMind on your dock. It\'s only ~5MB in size, load super fast, and can update itself everytime you open it. You can also check for updates manually in the app\'s menu.","LSy+DK":"The maximum number of tokens to generate before stopping.","iJi00j":["The number of characters is limited to ",["0"]," ",["4"],".<0>Your usage: ",["5"],"/",["6"],"."],"tE4Rz2":["The number of characters is limited to ",["0"]," per message"],"5u+jhV":["The number of files exceed the limit (",["fileUploadMaxTokens"],")."],"k2UV77":"The number of messages to include in the context for the AI assistant. When set to 1, the AI assistant will only see and remember the most recent message.","kXFHYg":["The number of requests is limited to ",["0"]," ",["4"],".<0>Your usage: ",["5"],"/",["6"],"."],"Torea7":"The official website is https://developers.google.com/custom-search/v1/overview. Also, you can follow the instructions on this page https://tdinh.notion.site/How-to-get-Search-Engine-ID-and-API-Key-on-Programmable-Search-Engine-by-Google-b861a749b20f4fcdbc1449f92ad9ed9a","9r58AF":"The premium features include: Chat Search History, Access Prompt Library, Integrations, etc. Check the pricing page for the latest details of all the premium features.","Za69ud":"The search requests are sent directly from your browser to the search API without any intermediate servers. Your privacy is 100% protected. No one can see your search query and search result except you and the search engine itself.","UUd8gD":"The selected model is unavailable. Please select another option","zJpCEF":"The self-host version comes for free when you buy a license key. There is no support on technical issues if you self-host. If you don\'t have the technical skills to setup the self-host version, we recommend using the hosted version on https://typingmind.com instead. You can also checkout the Custom Deployment for easier setup with custom branding and manage team member: https://typingmind.com/custom (available as a separate purchase)","WQEjxZ":"The shared chat only contains the messages <0>at the time it was created. Future messages are not synced automatically. You can share a chat multiple times and have different links each time.","j123Pn":"The static self-host version does not offer any customizations. Check out https://custom.typingmind.com for a custom version of TypingMind that will allow you to customize almost everything.","pWBnET":"The Team License gives you a License Key that can be shared and used among your team members. Simply share your license key with your team members and they can use it on their devices.","FEr96N":"Theme","i4CFDG":"There are way too many possible technical issues that could happen with various tech stacks and server configurations that are not in my control. That\'s why I cannot offer technical support if you have problem with your self-hosted version.","ZdIhm8":"There is a current temporary issue with our payment processor <0>Lemon Squeezy that causes the receipt emails to be lost for some customers. This happen more frequently with <1>PayPal users.","CGYYZ/":"Think step-by-step","U/7xR9":"Thinking... this may take up to 30 seconds.","k5Es8x":"This AI agent has an assigned voice","t77h0I":"This AI agent has assigned plugins","e50+si":"This archive file is empty.","mLHm5q":["This chat contains a plugin usage, but the AI agent \\"",["0"],"\\" does not support plugins and cannot be mentioned in this chat going forward."],"/tOeF0":"This could be because OpenAI\'s server is experiencing high demand or having an outage. Usually, the issue will goes away pretty quick. You can try to send your message again every few minutes. If it takes too long, go to <0>https://status.openai.com to check their service status.","6QICdW":"This device has been unlinked from your license key. Please enter your license key again to activate this device.","XvQUAU":"This device is currently linked with an existing license key. Please unlink it first before activating another license key.","Mwh/zr":"This extension has already been installed","FHVG+T":"This feature","ksNPZj":"This instance does\'t have any SSO connections yet. If you are an admin, you can add a new SSO connection in the Admin Panel.","HZu0OM":"This is a built-in plugin","XmhWD2":"This is a built-in system plugin, you can view the details but cannot edit or delete it.","cKOmN0":"This is a static web app, it doesn\'t have any backend server. When you enter your API key, it will be stored locally and securely on your browser. All API requests are sent directly from your browser to OpenAI server to interact with ChatGPT. Think of this as a HTTP client for your ChatGPT API with a lot of convenience features.","vBSaD3":"This is an example chat for demonstration purposes","UFFTVk":"This is not a valid archive file or it has been corrupted.","fnLwMQ":"This is the best ChatGPT client and I tested so many! So much better than the OpenAI user interface. Added my gpt4 API to bypass the 25 message cap PLUS have a better user experience.","C9R6Ya":"This is the total length of your current conversation. It is calculated by OpenAI\'s API when you send a message.","v7jVhI":"This library is empty","cTdBYz":"This license key is valid but it has reached the maximum number of activated devices.","dPvuoF":"This limitation is set by the model provider. Please check the model\'s context limit and ensure your message is within the limit.","M2+O2G":"This link is not valid","rzhN/v":"This means if you clear your browser cache or clear site data, <0>you will lose your chat history.","F1uW/d":"This plugin allows you to search the web...","xGQeda":"This plugin can be installed by anyone who has the link.","4AaI7a":"This plugin is assigned to the AI agent but could not be used. Please check if you have installed the plugin and make sure you are using a model with plugins support.","tAhtTZ":["This will <0>upload your chat conversation to <1>",["0"]," and become <2>publicly accessible for anyone on the internet."],"G2oQAJ":"This will <0>upload your chat conversation to <1>sharegpt.com and become <2>publicly accessible for anyone on the internet.","BHoBQr":"This will be used as the system instruction for the AI agent.","qZyW8X":"This will remove your license key from this device and you will not be able to use the premium features on this device. Are you sure?","MHrjPM":"Title","X5DieB":"Title and instruction cannot be empty!","oE9Wxh":"Title and prompt cannot be empty!","P2YRxu":"Title:","3fpIq1":["to ",["0"]],"UbVgIu":"to close","J5C0cq":"To delete the link above, go here:","rSHV7E":"To get started, select an AI agent","S0fQBK":"to navigate","TT5b0p":"To prevent this, you can enable <0>Backup & Sync. This will allow you to sync your chat history across devices and restore it if you ever lose it.","gLj//H":"To unlock your API Key","VbbNWn":"Toggle Plugins","6poLt9":"Toggle Sidebar","7ziKq7":"Token usages are not recorded when <0>streaming response is enabled. We will work on improving this soon.","uAQyzk":"Tone","VhAZmC":["Top K: ",["0"]],"fvdi5P":["Top P: ",["0"]],"SsfBpq":"Total cost:","+mOvod":["Total tokens of the files exceed the limit (",["fileUploadMaxTokens"],")."],"AG4LZH":"Total Tokens Spent:","37zp8q":"Training Examples","srA3JN":"Training examples help the AI agent learn how to respond to users.","rOzgch":"Training Examples:","fp5rKh":"Transcribing...","vzAe+s":"Translations provided and approved by human.","nrlh+D":"Translations provided by AI and may not be accurate.","yPA2s0":"true","V/skAV":"Try your luck with the FAQ bot!","T7w4KT":"Tutorial","Kfz6IH":"Type \\"/\\" for menu","0wNwVE":"Type \\"/\\" for menu, \\"@\\" to mention an AI agent","4elSI1":"Type 2 or more characters to search...","i0c8y8":"TypingMind — The #1 chat frontend UI for ChatGPT, Gemini, Claude, and more.","7zcVP2":"TypingMind currently only supports Google search engine. We will add more search engines in the future.","kwR92f":"TypingMind offers additional encryption for your API Key. You can enable encryption with a password by clicking the \\"OpenAI API Key\\" button in the sidebar and selecting \\"Encrypt API key...\\". Your API Key will be encrypted using the AES algorithm provided by the open-source CryptoJS library (https://github.com/brix/crypto-js). TypingMind only provides an encryption feature for your API key. Chat messages, prompts, AI agents, and other elements are stored using the standard local storage of your browser, which may or may not include encryption, depending on your browser. The encryption process are done entirely locally on your device, there is no backend server. If you use TypingMind on multiple devices, you will need to encrypt your API key on all of them, you can also set different passwords on different devices.","6nDmw9":"TypingMind respects your privacy. Your chat history is <0>only stored on this device by default and never sent to our servers.","YHikSC":"TypingMind uses the same underlying model as OpenAI\'s default chat app. For the same prompt, it can produce different responses each time. The default chat app by OpenAI may also have some initial prompt settings that are different from TypingMind. If you don\'t get the response you expects, try \\"Re-generate Response\\" or tweaking the prompt.","OnFMha":"TypingMind will ask for your password every time you open the app. If you forget your password, you will need to enter your API key again.","ZyBweS":"TypingMind will use the search engine\'s API to execute the search query. The search requests are sent directly from your browser to the search API without any intermediate servers. Your privacy is 100% protected. No one can see your search query and search result except you and the search engine itself.","cx6X5s":"TypingMind.com is free to use with some basic features. You will need to have a working OpenAI API Key in order to use the app. When you use the OpenAI API Key, you pay directly to OpenAI for the amount of credits/tokens you use. TypingMind.com has premium features that can be unlocked with a one-time purchase.","2sahWU":"Unable to import plugin. Please try again.","FzlEPS":"Unable to play audio:","Yyo7E4":"Unable to use the API. Check console logs and network requests for more information.","Rq8+VB":"Unable to use the API. Error message:","5JOLV9":"Unarchive","iGSBjq":"Under the hood, ChatGPT Plus and ChatGPT API offer the same model and the same quality. You can view this on their official announcement here: https://platform.openai.com/docs/guides/chat. The initial system instruction can be a little bit different, which can be configured to make the AI output different messages from time to time.","fo0VXg":"Uninstall","NIuIk1":"Unlimited","809od7":"Unlimited Plugins","W2RH+r":"Unlink this device","VAOn4r":"Unlock","/MikjG":"Unlock AI Agents","MEIAzV":"Unnamed","nWMRxa":"Unpin","tsBoaf":"Unpin this character on the main page","/lmbYn":"Unsupported Browser","x87WPC":"Untitled Chat","EkH9pt":"Update","mlNp7q":"Update & Regenerate","2p/Kya":"Update Custom Model","XymtD/":"Update Payment Method","/LO3aj":"Update Plugin","3/+eGC":"Update Prompt","ZRx6Ce":"Update Tags","+b7T3G":"Updated","qIrtcK":"Updates","XZFk+E":"Upgrade to Premium","qedMtm":"Upload and create a secret link that can be viewed by anyone who has the link.","9Vfh5E":"Uploaded At","3ELrQi":"Uploading documents requires a license key. Please buy a license key to continue using this feature.","9Rz3G/":"URL cannot be empty","Ug/Z77":"URL to chat with this specific AI agent:","7FaY4u":"Usage","4Lzyp6":"Usage:","DsBeuB":"Use","nskWen":["Use <0>",["field1Variable"]," <1>",["field2Variable"]," <2>",["otherVariable"]," to indicate the fill in the blank part."],"xU8mHI":["Use <0>",["yourContentVariable"]," to indicate the fill in the blank part."],"EuANcq":"Use <0>Google Drive to backup and sync your data across devices.","3HkJve":"Use Anthropic models","gitlhh":"Use as many plugins as you want at the same time, install external plugins, create custom plugins with JavaScript.","zIEEWT":"Use ChatGPT with enhanced features like chat history search, folders, integrations, prompt library, etc.","U2SXTH":"Use Google Gemini models","TmUqS+":"Use OpenAI models","kQqZRh":"Use Single Sign-On (SSO)","Roaswv":"User Guide","QOqjv5":"User message","y9LVx0":"User Message","fVja9T":"User profile","Nv92aJ":"User Settings (JSON, Optional)","GD4I91":"User Settings:","ikLQLQ":"User-specific settings that will be passed to the plugin when it is called. Must be a valid JSON. <0>See Example JSON and instruction here.","vM1Cz9":"User:","4aBfTf":"Users can\'t change the model when using this AI agent.","SsgICz":["Using <0>",["0"],""],"fgipLP":["Using <0>",["0"],"..."],"Su8blH":"using model:","OoaSi5":"Using Open Router? See instructions here","e/cvV1":"Verifying...","bSSnpo":"Very sorry about this inconvenience!","y3TO5G":["View All (",["count"],")"],"SZw9tS":"View Details","KvFtJO":"View Full Changelog →","dxFcof":"View Full Error","MOK0sX":"View Full Plan Comparision →","hs6G7P":"Vision supported","3BQnyB":"Voice ID","8YQMY4":"Voice Input","/dqlKh":"Voice input is not supported.","M7vN5/":"Voice Settings","cKuv8v":"Voice:","kWu0yk":"Waiting for previous audio to finish...","Wtu1aS":"Warm","Ud2w4n":["Warning: you have ",["unencryptedKeys","plural",{"one":["#"," unencrypted API key"],"other":["#"," unencrypted API keys"]}],". Please enter your password again to encrypt them."],"EK7vb0":"We are receiving multiple reports of OpenAI being slow or unresponsive. This is likely due to high demand. If your message is not being sent, please try again later. This issue will usually be resolved within a few hours. If it takes too long, go to <0>https://status.openai.com to check OpenAI service\'s status.","Wtg0tB":["We found <0>",["0"]," chats that we were able to restore."],"qKRCLC":"We only notify you when <0>new features are added.<1/>No spam. Unsubscribe anytime.","zaVaEv":"We released <0>100+ updates in the last 6 months! You\'ll never get left behind on the new features and AI capabilities from OpenAI/Anthropic.","3RCFDE":"We trained a GPT-4 model to answer your questions based on our <0>FAQs, <1>Terms of Service, and <2>Privacy Policy.","9kNmZU":"Web API (Free)","LnnVIT":"Web Search","i8itRy":"Web Search is best used with GPT-4 because it has a larger context length and can store more search results and can pull out information from search result more reliably. However, you can still Web Search with GPT-3.5 without problems (most of the time).","rxEvnk":"Webinar","/IAPcI":"Welcome message","0ZTOta":"Welcome Message:","0x5QFE":"Welcome to using TypingMind on macOS! Please be informed about the following known issues in the macOS app. We are working hard to improve the app every day!","W4q2I+":"What about my privacy? Who can see my search query?","O6XziL":"What are the limitations of the free plans.","iB2Bkg":"What are the limits? How many searches can I do?","DWdDaE":"What are the premium features?","XDMAfS":"What can I customize in the self-host version?","DwMTUj":"What is self-hosting?","h1Bn7G":"What permissions do I have with the self-host code?","zp5xO6":"What search engines are supported?","+Z6WVE":"What\'s the difference between ChatGPT Plus and ChatGPT API via TypingMind?","2h+sn/":"When you enable Web Search, TypingMind will use the function call feature provided by OpenAI models how to perform a search query using the selected search engine (which is Google by default). The model will then attempt to run a search command only when necessary and use the search result to answer your question.","opv8HK":"When you reach a certain length, you cannot add any more messages to the chat. This is the <0>context length limit of the OpenAI\'s API.","v2mmfw":"Where can I deploy my self-host version?","MufBKu":"Where can I download the macOS app?","9uiWR5":"Where can I get an OpenAI API Key?","qbPmKP":"Where can I get the search engine API Key?","gxYlbr":"Whisper Prompt:","vkJWU0":"Whitepaper","nBo3N2":"Why does sometimes TypingMind responds differently than the default OpenAI\'s ChatGPT event with the same prompt?","Gi4C7z":"Why don\'t you offer technical support for the self-hosted version?","AUHjnb":"Why self-hosting? What are the benefits?","R2ZXpR":"Writing Style","doZNDE":"Yes, Clear All Storage","+wDpvB":"Yes, license key is one-time purchase and valid forever. It is not a subscription and you don\'t need to renew it. You will also be provided with an offline static web app (self-host) after you purchase so you can self-host and use the app anytime anywhere you want. Enjoy!","Kb4R2a":"Yes, Unlink Now","GwJlK4":"Yes, use free Setapp models","ODPLFu":"Yes, you can use GPT-4 in TypingMind via the API access. Check out this article for more info: https://blog.typingmind.com/access-gpt-4-on-typingmind","phssxy":"Yes. After you make a purchase, you will receive a link to download the static web app and the instruction how to deploy it on your own server. Note that you will only receive the compiled code of the app, the full source code is not available because the app is not open-source. You can deploy the app anywhere without having to update any code or settings.","3ZEDHA":"Yes. Both are needed, as the self-hosted version is exactly the same as the version you see on TypingMind.com. The License Key is needed in the self-host version. When you enter the license key, the app will connect to TypingMind\'s license server to verify your license.","UohlSp":"Yes. TypingMind only stores your API Key locally and never sends your API Key anywhere. OpenAI allows use cases where the API key is stored locally in the user\'s device. You can see this official response from OpenAI\'s staff here: https://community.openai.com/t/openais-bring-your-own-key-policy/14538/4","oKL8Ih":"Yes. We offer a 14-day money-back guarantee. If you\'re not satisfied, let us know within 14 days and we\'ll give you a full refund. Request a refund at support@typingmind.com","9dFN/h":"Yes. You need to have an OpenAI account and a valid API key to use ChatGPT. We don\'t sell API keys.","+Obvhr":"You appear to be offline. Please check your internet connection and try again.","rHUldn":"You are a helpful AI assistant.","kW6uow":["You are now using profile \\"",["0"],"\\""],"qzMmix":"You are now using profile \\"Unnamed\\"","2LLYJB":["You are on the <0>",["0"]," plan"],"R0g4gG":"You are using a preview version.","Ny0rdk":"You are using the <0><1>free trial version.","S2lnkb":"You can continue this in a new chat, but keep in mind that the assistant will not remember the previous conversation.","jzCkMH":"You can delete some old messages from this chat, then start sending new messages again.","j+Ja1t":"You can export the chats and import it on another device. You can also enable TypingMind Cloud for seamless syncing across devices. TypingMind Cloud is a free service provided to all paying TypingMind users. You can enable it by clicking the cloud icon at the bottom of the sidebar.","wtFyIQ":"You can go to https://app.lemonsqueezy.com/my-orders/ to access your license key.","a1v3bw":"You can have as many chats as you want. The only limit is your OpenAI API key\'s limit and your browser storage limit (technical term: Local Storage and IndexedDB). Web browser gives you some limited data storage, the actual limit is different for each browser. Typically, you can save thousands of chat conversations without problems, but that\'s not guaranteed. When the browser storage runs out, you will need to delete old chats to save the new ones. We will provide a separate service to sync and backup your chats soon. Adding the website to your home screen may increase the storage capacity.","b/cYO6":"You can share a chat multiple times and have different links each time. The link contains the chat conversation and the time it was created.","B7bPOO":"You can signup directly with OpenAI at https://platform.openai.com/signup","G4U6ac":"You can still continue to chat, but the model will start to forget the old messages.","MSib0J":"You can, but keep in mind that they will also need a TypingMind License Key and OpenAI API Key in order to use it. If you are looking to use TypingMind for a team check out https://custom.typingmind.com","meXG5q":"You don\'t have a license key. Please buy or enter a license key to continue using all features.","yZwzBP":"You don\'t have any AI agents yet.","IBn/EB":"You don\'t have any invite codes. Please come back later.","N775f5":"You don\'t have any profiles, click \\"Add profile\\" to create a new one","tdX+tp":"You have","fmVolr":"You have no saved prompts. Tap \\"Add Prompt\\" to add a new prompt.","sTxGM6":["You have reached the context length limit of the <0>",["model"]," model for this chat."],"6+So7t":"You have reached the maximum context length of the conversation.","hzwvwf":"You have reached the maximum number of dynamic context endpoints.","02OlWC":"You need an Anthropic API Key to use TypingMind.","K3giZ9":"You need an Gemini API Key to use TypingMind.","zNOnmO":"You need an OpenAI API Key to use the app.","GhBsU+":"You need to buy a license key to use this feature.","zFLIIJ":["You now have ",["0"]," on this device"],"BkStSE":"You will probably find answers to most of your questions from:","oxXS/2":"You will receive a receipt and a <0>license key in your email shortly. Enter your license key here to save it:","CXtfyL":"You will receive a verification email. Please check your spam folder if you don\'t see it in your inbox.","Qdj6uz":"Your AI Agents","EJ3q8+":["Your AI Agents (",["0"],")"],"/UaKK0":"Your API is safe and stored locally on your device. This is a static app, which means that it doesn\'t have a backend. All the data is stored in your browser\'s local storage. Requests to Open AI\'s API is sent directly from your current browser (check the Network tab in your console if you want to see it).","uxcgu1":"Your API key is encrypted with a password","9/DJGE":"Your API key is not working. You need a <0>paid API account on OpenAI in order to use the ChatGPT API Key (the free trial won\'t work). To verify that you have a paid API account, go here and make sure you have your billing info added: <1>https://platform.openai.com/account/billing/overview. Note that you <2>do not need to have a ChatGPT Plus subscription, it\'s <3>not needed. If you already have a paid OpenAI account, check to see if you still have sufficient credits. Also, try creating a new API key and trying again. If this problem persists, please contact support.","yX4ZJX":"Your API Key is stored locally on your browser and never sent anywhere else.","70QBvo":"Your API Key is working normally.","Wzyks2":"Your browser does not support speech synthesis.","BS31Ou":"Your character description","abiI8L":"Your character title","HS7jeS":"your content here","o3VQwn":"Your data is securely stored in our database and is AES-encrypted both in transit and at rest.","e2pOIZ":"Your data is synced across multiple devices. Sync will be triggered automatically every time you chat or open the app. To trigger a sync manually, click the Sync button in the sidebar menu.","F56PXI":"Your department, bio, etc.","vpp2uI":"Your Information","0EmptK":"Your license key is being used on more devices than its limit allows. Please unlink other devices and enter your license key again.<0/>Click <1>Manage License & Devices to go to the License Manager.","a2BlV3":["Your license key is: <0>***",["0"],""],"/Rj5P4":"Your Name","+e9xkq":"Your Prompts","At02Ci":"Your Public Link:","uYL3GC":"Your Public Link: (tap below to copy)","DDRhQm":"Your session has expired.","38yscL":"Your users will not see the endpoints and the content of the Dynamic Context.","bxlmA3":"Your users will not see these training examples.","t03RMp":"Your users will not see this instruction."}')}},45600:function(e,t,n){"use strict";n.d(t,{j:function(){return o}});var r={};function o(){return r}},30062:function(e,t,n){"use strict";function r(e,t){if(t.length1?"s":"")+" required, but only "+t.length+" present")}n.d(t,{Z:function(){return r}})},61545:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});var r=n(31396),o=n(30062),i=n(2427),a=n(45600);function s(e,t){(0,o.Z)(1,arguments);var n,s,u,c,l,d,p,h,f=(0,a.j)(),m=(0,i.Z)(null!==(n=null!==(s=null!==(u=null!==(c=null==t?void 0:t.weekStartsOn)&&void 0!==c?c:null==t?void 0:null===(l=t.locale)||void 0===l?void 0:null===(d=l.options)||void 0===d?void 0:d.weekStartsOn)&&void 0!==u?u:f.weekStartsOn)&&void 0!==s?s:null===(p=f.locale)||void 0===p?void 0:null===(h=p.options)||void 0===h?void 0:h.weekStartsOn)&&void 0!==n?n:0);if(!(m>=0&&m<=6))throw RangeError("weekStartsOn must be between 0 and 6 inclusively");var g=(0,r.Z)(e),y=g.getUTCDay();return g.setUTCDate(g.getUTCDate()-((y=a.getTime()?n+1:t.getTime()>=c.getTime()?n:n-1}var c=n(61545),l=n(45600);function d(e,t){(0,o.Z)(1,arguments);var n,r,s,u,d,p,h,f,m=(0,i.Z)(e),g=m.getUTCFullYear(),y=(0,l.j)(),v=(0,a.Z)(null!==(n=null!==(r=null!==(s=null!==(u=null==t?void 0:t.firstWeekContainsDate)&&void 0!==u?u:null==t?void 0:null===(d=t.locale)||void 0===d?void 0:null===(p=d.options)||void 0===p?void 0:p.firstWeekContainsDate)&&void 0!==s?s:y.firstWeekContainsDate)&&void 0!==r?r:null===(h=y.locale)||void 0===h?void 0:null===(f=h.options)||void 0===f?void 0:f.firstWeekContainsDate)&&void 0!==n?n:1);if(!(v>=1&&v<=7))throw RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var w=new Date(0);w.setUTCFullYear(g+1,0,v),w.setUTCHours(0,0,0,0);var b=(0,c.Z)(w,t),A=new Date(0);A.setUTCFullYear(g,0,v),A.setUTCHours(0,0,0,0);var S=(0,c.Z)(A,t);return m.getTime()>=b.getTime()?g+1:m.getTime()>=S.getTime()?g:g-1}function p(e,t){for(var n=Math.abs(e).toString();n.length0?n:1-n;return p("yy"===t?r%100:r,t.length)},M:function(e,t){var n=e.getUTCMonth();return"M"===t?String(n+1):p(n+1,2)},d:function(e,t){return p(e.getUTCDate(),t.length)},h:function(e,t){return p(e.getUTCHours()%12||12,t.length)},H:function(e,t){return p(e.getUTCHours(),t.length)},m:function(e,t){return p(e.getUTCMinutes(),t.length)},s:function(e,t){return p(e.getUTCSeconds(),t.length)},S:function(e,t){var n=t.length;return p(Math.floor(e.getUTCMilliseconds()*Math.pow(10,n-3)),t.length)}},f={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"};function m(e,t){var n=e>0?"-":"+",r=Math.abs(e),o=Math.floor(r/60),i=r%60;return 0===i?n+String(o):n+String(o)+(t||"")+p(i,2)}function g(e,t){return e%60==0?(e>0?"-":"+")+p(Math.abs(e)/60,2):y(e,t)}function y(e,t){var n=Math.abs(e);return(e>0?"-":"+")+p(Math.floor(n/60),2)+(t||"")+p(n%60,2)}var v={G:function(e,t,n){var r=e.getUTCFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});default:return n.era(r,{width:"wide"})}},y:function(e,t,n){if("yo"===t){var r=e.getUTCFullYear();return n.ordinalNumber(r>0?r:1-r,{unit:"year"})}return h.y(e,t)},Y:function(e,t,n,r){var o=d(e,r),i=o>0?o:1-o;return"YY"===t?p(i%100,2):"Yo"===t?n.ordinalNumber(i,{unit:"year"}):p(i,t.length)},R:function(e,t){return p(u(e),t.length)},u:function(e,t){return p(e.getUTCFullYear(),t.length)},Q:function(e,t,n){var r=Math.ceil((e.getUTCMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return p(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,t,n){var r=Math.ceil((e.getUTCMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return p(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,t,n){var r=e.getUTCMonth();switch(t){case"M":case"MM":return h.M(e,t);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(e,t,n){var r=e.getUTCMonth();switch(t){case"L":return String(r+1);case"LL":return p(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(e,t,n,r){var s=function(e,t){(0,o.Z)(1,arguments);var n=(0,i.Z)(e);return Math.round(((0,c.Z)(n,t).getTime()-(function(e,t){(0,o.Z)(1,arguments);var n,r,i,s,u,p,h,f,m=(0,l.j)(),g=(0,a.Z)(null!==(n=null!==(r=null!==(i=null!==(s=null==t?void 0:t.firstWeekContainsDate)&&void 0!==s?s:null==t?void 0:null===(u=t.locale)||void 0===u?void 0:null===(p=u.options)||void 0===p?void 0:p.firstWeekContainsDate)&&void 0!==i?i:m.firstWeekContainsDate)&&void 0!==r?r:null===(h=m.locale)||void 0===h?void 0:null===(f=h.options)||void 0===f?void 0:f.firstWeekContainsDate)&&void 0!==n?n:1),y=d(e,t),v=new Date(0);return v.setUTCFullYear(y,0,g),v.setUTCHours(0,0,0,0),(0,c.Z)(v,t)})(n,t).getTime())/6048e5)+1}(e,r);return"wo"===t?n.ordinalNumber(s,{unit:"week"}):p(s,t.length)},I:function(e,t,n){var r=function(e){(0,o.Z)(1,arguments);var t=(0,i.Z)(e);return Math.round((s(t).getTime()-(function(e){(0,o.Z)(1,arguments);var t=u(e),n=new Date(0);return n.setUTCFullYear(t,0,4),n.setUTCHours(0,0,0,0),s(n)})(t).getTime())/6048e5)+1}(e);return"Io"===t?n.ordinalNumber(r,{unit:"week"}):p(r,t.length)},d:function(e,t,n){return"do"===t?n.ordinalNumber(e.getUTCDate(),{unit:"date"}):h.d(e,t)},D:function(e,t,n){var r=function(e){(0,o.Z)(1,arguments);var t=(0,i.Z)(e),n=t.getTime();return t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0),Math.floor((n-t.getTime())/864e5)+1}(e);return"Do"===t?n.ordinalNumber(r,{unit:"dayOfYear"}):p(r,t.length)},E:function(e,t,n){var r=e.getUTCDay();switch(t){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(e,t,n,r){var o=e.getUTCDay(),i=(o-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(i);case"ee":return p(i,2);case"eo":return n.ordinalNumber(i,{unit:"day"});case"eee":return n.day(o,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(o,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(o,{width:"short",context:"formatting"});default:return n.day(o,{width:"wide",context:"formatting"})}},c:function(e,t,n,r){var o=e.getUTCDay(),i=(o-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(i);case"cc":return p(i,t.length);case"co":return n.ordinalNumber(i,{unit:"day"});case"ccc":return n.day(o,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(o,{width:"narrow",context:"standalone"});case"cccccc":return n.day(o,{width:"short",context:"standalone"});default:return n.day(o,{width:"wide",context:"standalone"})}},i:function(e,t,n){var r=e.getUTCDay(),o=0===r?7:r;switch(t){case"i":return String(o);case"ii":return p(o,t.length);case"io":return n.ordinalNumber(o,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(e,t,n){var r=e.getUTCHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(e,t,n){var r,o=e.getUTCHours();switch(r=12===o?f.noon:0===o?f.midnight:o/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(e,t,n){var r,o=e.getUTCHours();switch(r=o>=17?f.evening:o>=12?f.afternoon:o>=4?f.morning:f.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(e,t,n){if("ho"===t){var r=e.getUTCHours()%12;return 0===r&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return h.h(e,t)},H:function(e,t,n){return"Ho"===t?n.ordinalNumber(e.getUTCHours(),{unit:"hour"}):h.H(e,t)},K:function(e,t,n){var r=e.getUTCHours()%12;return"Ko"===t?n.ordinalNumber(r,{unit:"hour"}):p(r,t.length)},k:function(e,t,n){var r=e.getUTCHours();return(0===r&&(r=24),"ko"===t)?n.ordinalNumber(r,{unit:"hour"}):p(r,t.length)},m:function(e,t,n){return"mo"===t?n.ordinalNumber(e.getUTCMinutes(),{unit:"minute"}):h.m(e,t)},s:function(e,t,n){return"so"===t?n.ordinalNumber(e.getUTCSeconds(),{unit:"second"}):h.s(e,t)},S:function(e,t){return h.S(e,t)},X:function(e,t,n,r){var o=(r._originalDate||e).getTimezoneOffset();if(0===o)return"Z";switch(t){case"X":return g(o);case"XXXX":case"XX":return y(o);default:return y(o,":")}},x:function(e,t,n,r){var o=(r._originalDate||e).getTimezoneOffset();switch(t){case"x":return g(o);case"xxxx":case"xx":return y(o);default:return y(o,":")}},O:function(e,t,n,r){var o=(r._originalDate||e).getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+m(o,":");default:return"GMT"+y(o,":")}},z:function(e,t,n,r){var o=(r._originalDate||e).getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+m(o,":");default:return"GMT"+y(o,":")}},t:function(e,t,n,r){return p(Math.floor((r._originalDate||e).getTime()/1e3),t.length)},T:function(e,t,n,r){return p((r._originalDate||e).getTime(),t.length)}},w=function(e,t){switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},b=function(e,t){switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},A={p:b,P:function(e,t){var n,r=e.match(/(P+)(p+)?/)||[],o=r[1],i=r[2];if(!i)return w(e,t);switch(o){case"P":n=t.dateTime({width:"short"});break;case"PP":n=t.dateTime({width:"medium"});break;case"PPP":n=t.dateTime({width:"long"});break;default:n=t.dateTime({width:"full"})}return n.replace("{{date}}",w(o,t)).replace("{{time}}",b(i,t))}},S=["D","DD"],P=["YY","YYYY"];function k(e,t,n){if("YYYY"===e)throw RangeError("Use `yyyy` instead of `YYYY` (in `".concat(t,"`) for formatting years to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("YY"===e)throw RangeError("Use `yy` instead of `YY` (in `".concat(t,"`) for formatting years to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("D"===e)throw RangeError("Use `d` instead of `D` (in `".concat(t,"`) for formatting days of the month to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("DD"===e)throw RangeError("Use `dd` instead of `DD` (in `".concat(t,"`) for formatting days of the month to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"))}var _={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},I=n(38683),x={date:(0,I.Z)({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:(0,I.Z)({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:(0,I.Z)({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},T={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},E=n(16252),C={ordinalNumber:function(e,t){var n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},era:(0,E.Z)({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:(0,E.Z)({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:function(e){return e-1}}),month:(0,E.Z)({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:(0,E.Z)({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:(0,E.Z)({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})},M=n(45826),O={code:"en-US",formatDistance:function(e,t,n){var r,o=_[e];return(r="string"==typeof o?o:1===t?o.one:o.other.replace("{{count}}",t.toString()),null!=n&&n.addSuffix)?n.comparison&&n.comparison>0?"in "+r:r+" ago":r},formatLong:x,formatRelative:function(e,t,n,r){return T[e]},localize:C,match:{ordinalNumber:(0,n(181).Z)({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:function(e){return parseInt(e,10)}}),era:(0,M.Z)({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:(0,M.Z)({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:function(e){return e+1}}),month:(0,M.Z)({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:(0,M.Z)({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:(0,M.Z)({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},options:{weekStartsOn:0,firstWeekContainsDate:1}},D=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,j=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,U=/^'([^]*?)'?$/,R=/''/g,W=/[a-zA-Z]/;function N(e,t,n){(0,o.Z)(2,arguments);var s,u,c,d,p,h,f,m,g,y,w,b,_,I,x,T,E,C,M,N=String(t),H=(0,l.j)(),L=null!==(u=null!==(c=null==n?void 0:n.locale)&&void 0!==c?c:H.locale)&&void 0!==u?u:O,B=(0,a.Z)(null!==(d=null!==(p=null!==(h=null!==(f=null==n?void 0:n.firstWeekContainsDate)&&void 0!==f?f:null==n?void 0:null===(m=n.locale)||void 0===m?void 0:null===(g=m.options)||void 0===g?void 0:g.firstWeekContainsDate)&&void 0!==h?h:H.firstWeekContainsDate)&&void 0!==p?p:null===(y=H.locale)||void 0===y?void 0:null===(w=y.options)||void 0===w?void 0:w.firstWeekContainsDate)&&void 0!==d?d:1);if(!(B>=1&&B<=7))throw RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var F=(0,a.Z)(null!==(b=null!==(_=null!==(I=null!==(x=null==n?void 0:n.weekStartsOn)&&void 0!==x?x:null==n?void 0:null===(T=n.locale)||void 0===T?void 0:null===(E=T.options)||void 0===E?void 0:E.weekStartsOn)&&void 0!==I?I:H.weekStartsOn)&&void 0!==_?_:null===(C=H.locale)||void 0===C?void 0:null===(M=C.options)||void 0===M?void 0:M.weekStartsOn)&&void 0!==b?b:0);if(!(F>=0&&F<=6))throw RangeError("weekStartsOn must be between 0 and 6 inclusively");if(!L.localize)throw RangeError("locale must contain localize property");if(!L.formatLong)throw RangeError("locale must contain formatLong property");var K=(0,i.Z)(e);if(!function(e){return(0,o.Z)(1,arguments),(!!function(e){return(0,o.Z)(1,arguments),e instanceof Date||"object"===(0,r.Z)(e)&&"[object Date]"===Object.prototype.toString.call(e)}(e)||"number"==typeof e)&&!isNaN(Number((0,i.Z)(e)))}(K))throw RangeError("Invalid time value");var G=((s=new Date(Date.UTC(K.getFullYear(),K.getMonth(),K.getDate(),K.getHours(),K.getMinutes(),K.getSeconds(),K.getMilliseconds()))).setUTCFullYear(K.getFullYear()),K.getTime()-s.getTime()),z=function(e,t){return(0,o.Z)(2,arguments),function(e,t){return(0,o.Z)(2,arguments),new Date((0,i.Z)(e).getTime()+(0,a.Z)(t))}(e,-(0,a.Z)(t))}(K,G),Z={firstWeekContainsDate:B,weekStartsOn:F,locale:L,_originalDate:K};return N.match(j).map(function(e){var t=e[0];return"p"===t||"P"===t?(0,A[t])(e,L.formatLong):e}).join("").match(D).map(function(r){if("''"===r)return"'";var o,i=r[0];if("'"===i)return(o=r.match(U))?o[1].replace(R,"'"):r;var a=v[i];if(a)return null!=n&&n.useAdditionalWeekYearTokens||-1===P.indexOf(r)||k(r,t,String(e)),null!=n&&n.useAdditionalDayOfYearTokens||-1===S.indexOf(r)||k(r,t,String(e)),a(z,r,L.localize,Z);if(i.match(W))throw RangeError("Format string contains an unescaped latin alphabet character `"+i+"`");return r}).join("")}},38683:function(e,t,n){"use strict";function r(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}n.d(t,{Z:function(){return r}})},16252:function(e,t,n){"use strict";function r(e){return function(t,n){var r;if("formatting"===(null!=n&&n.context?String(n.context):"standalone")&&e.formattingValues){var o=e.defaultFormattingWidth||e.defaultWidth,i=null!=n&&n.width?String(n.width):o;r=e.formattingValues[i]||e.formattingValues[o]}else{var a=e.defaultWidth,s=null!=n&&n.width?String(n.width):e.defaultWidth;r=e.values[s]||e.values[a]}return r[e.argumentCallback?e.argumentCallback(t):t]}}n.d(t,{Z:function(){return r}})},45826:function(e,t,n){"use strict";function r(e){return function(t){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=r.width,i=o&&e.matchPatterns[o]||e.matchPatterns[e.defaultMatchWidth],a=t.match(i);if(!a)return null;var s=a[0],u=o&&e.parsePatterns[o]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(u)?function(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{},r=t.match(e.matchPattern);if(!r)return null;var o=r[0],i=t.match(e.parsePattern);if(!i)return null;var a=e.valueCallback?e.valueCallback(i[0]):i[0];return{value:a=n.valueCallback?n.valueCallback(a):a,rest:t.slice(o.length)}}}n.d(t,{Z:function(){return r}})},31396:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var r=n(37768),o=n(30062);function i(e){(0,o.Z)(1,arguments);var t=Object.prototype.toString.call(e);return e instanceof Date||"object"===(0,r.Z)(e)&&"[object Date]"===t?new Date(e.getTime()):"number"==typeof e||"[object Number]"===t?new Date(e):(("string"==typeof e||"[object String]"===t)&&"undefined"!=typeof console&&(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn(Error().stack)),new Date(NaN))}},49278:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return x}});var r=n(67294);n(43950),n(64540),n(34155);var o=n(4361),i=n(89555),a=n(92777),s=n(82262),u=n(81531),c=n(72179),l=n(37247),d=n(13083),p=n(50029),h=n(64687),f=n.n(h),m=n(24855),g=n(85893);function y(){var e,t=(0,r.useState)(!1),n=t[0],o=t[1],i=(0,r.useState)(""),a=i[0],s=i[1],u=(e=(0,p.Z)(f().mark(function e(){var t;return f().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,m.CQ)().entries();case 2:t=e.sent,s(JSON.stringify({localStorage:window.localStorage,indexedDbData:t}));case 4:case"end":return e.stop()}},e)})),function(){return e.apply(this,arguments)});return(0,g.jsxs)("div",{className:"my-4 max-w-xl mx-auto",children:[(0,g.jsxs)("div",{className:"text-center",children:[(0,g.jsx)("button",{onClick:function(){window.location.reload()},className:"inline-flex items-center px-4 py-2 border border-transparent text-base font-medium rounded-md shadow-sm text-white bg-blue-600 hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 disabled:bg-gray-400 gap-2",children:(0,g.jsx)("span",{children:"Reload App"})}),(0,g.jsx)("div",{className:"text-sm my-2",children:"This will restart the app and reload all data. It should fix any temporary data coruption with no data lost but you will lose any unsaved changes."})]}),(0,g.jsxs)("details",{className:"space-y-8 text-center p-4 rounded-md border border-gray-200 my-4",children:[(0,g.jsx)("summary",{className:"my-4 text-lg font-semibold cursor-pointer hover:underline",children:"View Recovery Options"}),(0,g.jsxs)("div",{children:[(0,g.jsx)("button",{onClick:u,className:"inline-flex items-center px-4 py-2 border border-transparent text-base font-medium rounded-md shadow-sm text-white bg-blue-600 hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 disabled:bg-gray-400 gap-2",children:(0,g.jsx)("span",{children:"Dump All Local Data"})}),(0,g.jsx)("div",{className:"text-sm my-2",children:"This will give you a copy of all the local data currently stored on this device. This data can be inspected by the developer to figure out what went wrong."})]}),a?(0,g.jsxs)("div",{className:"text-left",children:[(0,g.jsx)("div",{className:"text-sm my-2",children:(0,g.jsxs)("span",{className:"font-semibold",children:["Here is your data dump: (",a.length.toLocaleString()," ","bytes)",(0,g.jsx)("br",{}),"Note: This data dump contains all of your previous chat conversations, messages, prompts, custom characters, bookmarks, etc."]})}),(0,g.jsx)("textarea",{className:"w-full h-64 p-2 border border-gray-200 rounded-md",value:a})]}):null,(0,g.jsxs)("div",{children:[(0,g.jsx)("button",{onClick:function(){o(!0)},className:"inline-flex items-center px-4 py-2 border border-transparent text-base font-medium rounded-md shadow-sm text-white bg-red-600 hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 disabled:bg-gray-400 gap-2",children:(0,g.jsx)("span",{children:"Clear All Data"})}),(0,g.jsx)("div",{className:"text-sm my-2 text-red-500",children:"This well return the app to its factory settings. All local data will be deleted and the app will be reset to its initial state. This will cause data lost!/"}),n?(0,g.jsxs)("div",{className:"text-sm my-2 text-red-500",children:["Are you sure you want to do this? This will cause data lost!",(0,g.jsx)("div",{className:"my-2",children:(0,g.jsx)("button",{onClick:function(){var e;window.localStorage.clear(),null===(e=window.webkit)||void 0===e||null===(e=e.messageHandlers)||void 0===e||null===(e=e.TypingMindMacApp)||void 0===e||e.postMessage("CLEAR_ALL_DATA"),window.location.reload()},className:"inline-flex items-center px-4 py-2 border border-transparent text-base font-medium rounded-md shadow-sm text-white bg-red-600 hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 disabled:bg-gray-400 gap-2",children:(0,g.jsx)("span",{children:"Yes, I'm sure. Delete all of my data on this device."})})})]}):null]})]})]})}var v=function(e){(0,u.Z)(r,e);var t,n=(t=function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}(),function(){var e,n=(0,l.Z)(r);return e=t?Reflect.construct(n,arguments,(0,l.Z)(this).constructor):n.apply(this,arguments),(0,c.Z)(this,e)});function r(e){var t;return(0,a.Z)(this,r),(t=n.call(this,e)).state={hasError:!1},t}return(0,s.Z)(r,[{key:"componentDidCatch",value:function(e,t){console.error("App render error",e,t),d.Tb(e)}},{key:"render",value:function(){return this.state.hasError?(0,g.jsxs)("div",{className:"p-4 min-h-screen flex items-center justify-center flex-col",children:[(0,g.jsx)("div",{className:"text-7xl",children:"\uD83D\uDCA5"}),(0,g.jsx)("div",{className:"text-red-500 font-semibold ",children:"Oops! The app has been corrupted due to an unexpected error. Open the console log may reveal more information."}),this.state.error&&(0,g.jsx)("div",{className:"max-w-2xl mx-auto",children:(0,g.jsxs)("details",{className:"block w-full mt-10",children:[(0,g.jsx)("summary",{className:"cursor-pointer hover:underline",children:"View Technical Details"}),(0,g.jsx)("code",{className:"my-2 text-xs overflow-auto max-w-full px-2 block font-semibold",children:this.state.error.message}),(0,g.jsx)("code",{className:"my-2 text-xs overflow-auto max-w-full px-2 block whitespace-pre-line",style:{height:300},children:this.state.error.stack})]})}),(0,g.jsx)(y,{})]}):this.props.children}}],[{key:"getDerivedStateFromError",value:function(e){return{hasError:!0,error:e}}}]),r}(r.Component),w=n(85793),b=n(10245),A=n(86501),S=n(53154),P=n(82623),k=n.n(P),_=n(71501),I=r.createElement,x=function(e){var t=e.Component,n=e.pageProps;return n.locale&&"en"!==n.locale?i.ag.loadAndActivate({locale:n.locale,messages:n.localeMessages}):i.ag.loadAndActivate({locale:"en",messages:k().messages}),I(v,null,I(o.bd,{i18n:i.ag},I(b.Z,{serverHostConfig:n.serverHostConfig},I(w.ZP,null,I(S.Z,null,I(_.Z,null,I(t,n))),I(A.x7,{toastOptions:{success:{style:{background:"#5ec269",color:"white"}},error:{style:{background:"#cb4538",color:"white"}}}})))))}},55433:function(e,t,n){"use strict";n.d(t,{Q:function(){return O}});var r,o,i,a,s,u,c,l,d,p,h,f,m,g=n(59499),y=n(16835),v=n(50029),w=n(64687),b=n.n(w),A=n(33281),S=n(19261),P={},k=(r=(0,v.Z)(b().mark(function e(t,n){var r;return b().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return P[t]||(P[t]={queue:[],isLocked:!1}),r=P[t],e.abrupt("return",new Promise(function(e,o){r.queue.push({asyncFn:n,resolve:e,reject:o}),_(t)}));case 3:case"end":return e.stop()}},e)})),function(e,t){return r.apply(this,arguments)}),_=(o=(0,v.Z)(b().mark(function e(t){var n,r,o,i,a,s;return b().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!(!(n=P[t]).isLocked&&n.queue.length>0)){e.next=18;break}return o=(r=n.queue.shift()).asyncFn,i=r.resolve,a=r.reject,n.isLocked=!0,e.prev=4,e.next=7,o();case 7:s=e.sent,i(s),e.next=14;break;case 11:e.prev=11,e.t0=e.catch(4),a(e.t0);case 14:return e.prev=14,n.isLocked=!1,_(t),e.finish(14);case 18:case"end":return e.stop()}},e,null,[[4,11,14,18]])})),function(e){return o.apply(this,arguments)}),I=n(96486),x=n.n(I),T=n(85893);function E(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function C(e){for(var t=1;t1&&void 0!==k[1]?k[1]:50,e.next=3,s();case 3:(r=e.sent).sort(function(e,t){return t.updatedAt-e.updatedAt}),o={},i=[],a=0;case 8:if(!(a=n))){e.next=23;break}return e.abrupt("break",26);case 23:a++,e.next=8;break;case 26:return e.abrupt("return",{filteredChats:(0,S.FW)(i),highlighted:o});case 27:case"end":return e.stop()}},e)})),function(e){return u.apply(this,arguments)}),getAllChatData:(c=(0,v.Z)(b().mark(function e(){return b().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,s();case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)})),function(){return c.apply(this,arguments)}),getAllChats:(l=(0,v.Z)(b().mark(function e(){var t,n,r;return b().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,s();case 2:return t=e.sent,n=(0,S.FW)(t),r=x().sortBy(n,function(e){return-e.createdAt}),e.abrupt("return",r);case 6:case"end":return e.stop()}},e)})),function(){return l.apply(this,arguments)}),addChats:(d=(0,v.Z)(b().mark(function e(t){return b().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all(t.map(function(e){return(0,A.CQ)().set("CHAT_"+e.id,C(C({},e),{},{chatID:e.id}))}));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)})),function(e){return d.apply(this,arguments)}),getChatData:(p=(0,v.Z)(b().mark(function e(t){var n;return b().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,A.CQ)().get("CHAT_"+t);case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}},e)})),function(e){return p.apply(this,arguments)}),bulkUpdateChatFields:(h=(0,v.Z)(b().mark(function e(t){var n,r,o,i;return b().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:n={},r=b().mark(function e(){var t,r,a;return b().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=(t=(0,y.Z)(i[o],2))[0],a=t[1],e.next=3,M("CHAT_"+r,(0,v.Z)(b().mark(function e(){var t,o,i;return b().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,A.CQ)().get("CHAT_"+r);case 2:if(t=e.sent){e.next=5;break}return e.abrupt("return");case 5:return o="function"==typeof a?a(t):a,i=C(C({},t),o),e.next=9,(0,A.CQ)().set("CHAT_"+r,i);case 9:n[r]=i;case 10:case"end":return e.stop()}},e)})));case 3:case"end":return e.stop()}},e)}),o=0,i=Object.entries(t);case 3:if(!(o-1&&e.splice(n,1)},emit:function(e){i[t].value!==e&&(i[t].value=e,i[t].callbacks.forEach(function(t){d!==t&&setTimeout(function(){t(e)},0)}))}}),function(){u.current.deregister()}},[e,t]);var p=(0,r.useCallback)(function(n){var r=new Event("local-storage");if(r.key=t,window.dispatchEvent(r),"function"==typeof n)d(function(r){var o=n(r);return null===o&&void 0!==e&&(console.warn("A persisted state with null value will be set to the default value: ".concat(t," is now set to:"),e),o=e),s(t,o),u.current.emit(o),o});else{var o=n;null===o&&void 0!==e&&(console.warn("A persisted state with null value will be set to the default value: ".concat(t," is now set to:"),e),o=e),s(t,o),d(o),u.current.emit(o)}},[l,s,t]);return[l,p]},s=function(e,t){try{return JSON.parse(e)}catch(e){return t}},u=[],c={},l=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0!==n.g&&n.g.localStorage?n.g.localStorage:"undefined"!=typeof globalThis&&globalThis.localStorage?globalThis.localStorage:window.localStorage?window.localStorage:"undefined"!=typeof localStorage?localStorage:null;if(t){var o={get:function(e,n){var r=t.getItem(e),o="function"==typeof n?n():n;return"null"===r&&void 0===n?null:null===r||"null"===r||void 0===r?o:s(r,o)},set:function(e,n){t.setItem(e,JSON.stringify(n))}};return function(t){return a(Array.isArray(t)&&0===t.length?u:t&&"object"==typeof t&&0===Object.keys(t).length?c:t,e,o)}}return r.useState},d=n(33281),p=function(e){return l("TM_"+e)}},33281:function(e,t,n){"use strict";n.d(t,{CQ:function(){return m},cF:function(){return h}});var r,o=n(50029),i=n(59499),a=n(16835),s=n(64687),u=n.n(s);function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}var l=null,d=function(e){try{return JSON.parse(e)}catch(e){return null}},p={get:function(e){return d(window.localStorage.getItem(e))},set:function(e,t){return window.localStorage.setItem(e,JSON.stringify(t))},del:function(e){return window.localStorage.removeItem(e)},getMany:function(e){return e.map(function(e){return d(window.localStorage.getItem(e))})},setMany:function(e){e.forEach(function(e){var t=(0,a.Z)(e,2),n=t[0],r=t[1];return window.localStorage.setItem(n,JSON.stringify(r))})},delMany:function(e){e.forEach(function(e){return window.localStorage.removeItem(e)})},entries:function(){var e=function(e){for(var t=1;tcrypto.getRandomValues(new Uint8Array(e)).reduce((e,t)=>((t&=63)<36?e+=t.toString(36):t<62?e+=(t-26).toString(36).toUpperCase():t>62?e+="-":e+="_",e),"");n(1841);var G=function(e,t,n){if(!t.has(e))throw TypeError("attempted to set private field on non-instance");return t.set(e,n),n},z=function(e,t){if(!t.has(e))throw TypeError("attempted to get private field on non-instance");return t.get(e)};let Z=function(e){var t=0;e+="x";var n=Math.floor(65745979961613.07);for(let r=0;rn&&(t=Math.floor(t/137)),t=131*t+e.charCodeAt(r);return t},q="0123456789abcdef".split(""),J=[-2147483648,8388608,32768,128],Y=[24,16,8,0],V=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],$=[];class Q{constructor(e=!1,t=!1){v.set(this,void 0),w.set(this,void 0),b.set(this,void 0),A.set(this,void 0),S.set(this,void 0),P.set(this,void 0),k.set(this,void 0),_.set(this,void 0),I.set(this,void 0),x.set(this,void 0),T.set(this,void 0),E.set(this,void 0),C.set(this,void 0),M.set(this,void 0),O.set(this,void 0),D.set(this,void 0),j.set(this,0),U.set(this,void 0),this.init(e,t)}init(e,t){t?($[0]=$[16]=$[1]=$[2]=$[3]=$[4]=$[5]=$[6]=$[7]=$[8]=$[9]=$[10]=$[11]=$[12]=$[13]=$[14]=$[15]=0,G(this,w,$)):G(this,w,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),e?(G(this,P,3238371032),G(this,k,914150663),G(this,_,812702999),G(this,I,4144912697),G(this,x,4290775857),G(this,T,1750603025),G(this,E,1694076839),G(this,C,3204075428)):(G(this,P,1779033703),G(this,k,3144134277),G(this,_,1013904242),G(this,I,2773480762),G(this,x,1359893119),G(this,T,2600822924),G(this,E,528734635),G(this,C,1541459225)),G(this,v,G(this,U,G(this,b,G(this,O,0)))),G(this,A,G(this,M,!1)),G(this,S,!0),G(this,D,e)}update(e){let t;if(z(this,A))return this;t=e instanceof ArrayBuffer?new Uint8Array(e):e;let n=0,r=t.length,o=z(this,w);for(;n>2]|=t[n]<>2]|=r<>2]|=(192|r>>6)<=57344?o[e>>2]|=(224|r>>12)<>2]|=(240|r>>18)<>2]|=(128|r>>12&63)<>2]|=(128|r>>6&63)<>2]|=(128|63&r)<=64?(G(this,v,o[16]),G(this,U,e-64),this.hash(),G(this,M,!0)):G(this,U,e)}return z(this,b)>4294967295&&(G(this,O,z(this,O)+(z(this,b)/4294967296<<0)),G(this,b,z(this,b)%4294967296)),this}finalize(){if(z(this,A))return;G(this,A,!0);let e=z(this,w),t=z(this,j);e[16]=z(this,v),e[t>>2]|=J[3&t],G(this,v,e[16]),t>=56&&(z(this,M)||this.hash(),e[0]=z(this,v),e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=z(this,O)<<3|z(this,b)>>>29,e[15]=z(this,b)<<3,this.hash()}hash(){let e,t,n,r,o,i,a,s,u,c=z(this,P),l=z(this,k),d=z(this,_),p=z(this,I),h=z(this,x),f=z(this,T),m=z(this,E),g=z(this,C),y=z(this,w);for(let n=16;n<64;++n)e=((r=y[n-15])>>>7|r<<25)^(r>>>18|r<<14)^r>>>3,t=((r=y[n-2])>>>17|r<<15)^(r>>>19|r<<13)^r>>>10,y[n]=y[n-16]+e+y[n-7]+t<<0;u=l&d;for(let v=0;v<64;v+=4)z(this,S)?(z(this,D)?(i=300032,g=(r=y[0]-1413257819)-150054599<<0,p=r+24177077<<0):(i=704751109,g=(r=y[0]-210244248)-1521486534<<0,p=r+143694565<<0),G(this,S,!1)):(e=(c>>>2|c<<30)^(c>>>13|c<<19)^(c>>>22|c<<10),t=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7),n=(i=c&l)^c&d^u,r=g+t+(h&f^~h&m)+V[v]+y[v],o=e+n,g=p+r<<0,p=r+o<<0),e=(p>>>2|p<<30)^(p>>>13|p<<19)^(p>>>22|p<<10),t=(g>>>6|g<<26)^(g>>>11|g<<21)^(g>>>25|g<<7),n=(a=p&c)^p&l^i,r=m+t+(g&h^~g&f)+V[v+1]+y[v+1],o=e+n,m=d+r<<0,e=((d=r+o<<0)>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10),t=(m>>>6|m<<26)^(m>>>11|m<<21)^(m>>>25|m<<7),n=(s=d&p)^d&c^a,r=f+t+(m&g^~m&h)+V[v+2]+y[v+2],o=e+n,f=l+r<<0,e=((l=r+o<<0)>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10),t=(f>>>6|f<<26)^(f>>>11|f<<21)^(f>>>25|f<<7),n=(u=l&d)^l&p^s,r=h+t+(f&m^~f&g)+V[v+3]+y[v+3],o=e+n,h=c+r<<0,c=r+o<<0;G(this,P,z(this,P)+c<<0),G(this,k,z(this,k)+l<<0),G(this,_,z(this,_)+d<<0),G(this,I,z(this,I)+p<<0),G(this,x,z(this,x)+h<<0),G(this,T,z(this,T)+f<<0),G(this,E,z(this,E)+m<<0),G(this,C,z(this,C)+g<<0)}hex(){this.finalize();let e=z(this,P),t=z(this,k),n=z(this,_),r=z(this,I),o=z(this,x),i=z(this,T),a=z(this,E),s=z(this,C),u=q[e>>28&15]+q[e>>24&15]+q[e>>20&15]+q[e>>16&15]+q[e>>12&15]+q[e>>8&15]+q[e>>4&15]+q[15&e]+q[t>>28&15]+q[t>>24&15]+q[t>>20&15]+q[t>>16&15]+q[t>>12&15]+q[t>>8&15]+q[t>>4&15]+q[15&t]+q[n>>28&15]+q[n>>24&15]+q[n>>20&15]+q[n>>16&15]+q[n>>12&15]+q[n>>8&15]+q[n>>4&15]+q[15&n]+q[r>>28&15]+q[r>>24&15]+q[r>>20&15]+q[r>>16&15]+q[r>>12&15]+q[r>>8&15]+q[r>>4&15]+q[15&r]+q[o>>28&15]+q[o>>24&15]+q[o>>20&15]+q[o>>16&15]+q[o>>12&15]+q[o>>8&15]+q[o>>4&15]+q[15&o]+q[i>>28&15]+q[i>>24&15]+q[i>>20&15]+q[i>>16&15]+q[i>>12&15]+q[i>>8&15]+q[i>>4&15]+q[15&i]+q[a>>28&15]+q[a>>24&15]+q[a>>20&15]+q[a>>16&15]+q[a>>12&15]+q[a>>8&15]+q[a>>4&15]+q[15&a];return z(this,D)||(u+=q[s>>28&15]+q[s>>24&15]+q[s>>20&15]+q[s>>16&15]+q[s>>12&15]+q[s>>8&15]+q[s>>4&15]+q[15&s]),u}toString(){return this.hex()}digest(){this.finalize();let e=z(this,P),t=z(this,k),n=z(this,_),r=z(this,I),o=z(this,x),i=z(this,T),a=z(this,E),s=z(this,C),u=[e>>24&255,e>>16&255,e>>8&255,255&e,t>>24&255,t>>16&255,t>>8&255,255&t,n>>24&255,n>>16&255,n>>8&255,255&n,r>>24&255,r>>16&255,r>>8&255,255&r,o>>24&255,o>>16&255,o>>8&255,255&o,i>>24&255,i>>16&255,i>>8&255,255&i,a>>24&255,a>>16&255,a>>8&255,255&a];return z(this,D)||u.push(s>>24&255,s>>16&255,s>>8&255,255&s),u}array(){return this.digest()}arrayBuffer(){this.finalize();let e=new ArrayBuffer(z(this,D)?28:32),t=new DataView(e);return t.setUint32(0,z(this,P)),t.setUint32(4,z(this,k)),t.setUint32(8,z(this,_)),t.setUint32(12,z(this,I)),t.setUint32(16,z(this,x)),t.setUint32(20,z(this,T)),t.setUint32(24,z(this,E)),z(this,D)||t.setUint32(28,z(this,C)),e}}function X(e){let t=new Q;return t.update(e),parseInt(t.hex().substring(0,8),16)}v=new WeakMap,w=new WeakMap,b=new WeakMap,A=new WeakMap,S=new WeakMap,P=new WeakMap,k=new WeakMap,_=new WeakMap,I=new WeakMap,x=new WeakMap,T=new WeakMap,E=new WeakMap,C=new WeakMap,M=new WeakMap,O=new WeakMap,D=new WeakMap,j=new WeakMap,U=new WeakMap;let ee=function(e){var t="#";return e.forEach(function(e){e<16&&(t+=0),t+=e.toString(16)}),t},et=function(e,t,n){var r=n<.5?n*(1+t):n+t-n*t,o=2*n-r;return[(e/=360)+1/3,e,e-1/3].map(function(e){return e<0&&e++,e>1&&e--,Math.round(255*(e=e<1/6?o+(r-o)*6*e:e<.5?r:e<2/3?o+(r-o)*6*(2/3-e):o))})};class en{constructor(e={}){let[t,n]=[e.lightness,e.saturation].map(function(e){return Array.isArray(e=void 0!==e?e:[.35,.5,.65])?e.concat():[e]});this.L=t,this.S=n,"number"==typeof e.hue&&(e.hue={min:e.hue,max:e.hue}),"object"!=typeof e.hue||Array.isArray(e.hue)||(e.hue=[e.hue]),void 0===e.hue&&(e.hue=[]),this.hueRanges=e.hue.map(function(e){return{min:void 0===e.min?0:e.min,max:void 0===e.max?360:e.max}}),this.hash=X,"function"==typeof e.hash&&(this.hash=e.hash),"bkdr"===e.hash&&(this.hash=Z)}hsl(e){var t,n,r=this.hash(e);if(this.hueRanges.length){let e=this.hueRanges[r%this.hueRanges.length];t=r/this.hueRanges.length%727*(e.max-e.min)/727+e.min}else t=r%359;return r=Math.ceil(r/360),n=this.S[r%this.S.length],r=Math.ceil(r/this.S.length),[t,n,this.L[r%this.L.length]]}rgb(e){var t=this.hsl(e);return et.apply(this,t)}hex(e){return ee(this.rgb(e))}}let er=(e,t,n,r)=>{if("length"===n||"prototype"===n||"arguments"===n||"caller"===n)return;let o=Object.getOwnPropertyDescriptor(e,n),i=Object.getOwnPropertyDescriptor(t,n);(eo(o,i)||!r)&&Object.defineProperty(e,n,i)},eo=function(e,t){return void 0===e||e.configurable||e.writable===t.writable&&e.enumerable===t.enumerable&&e.configurable===t.configurable&&(e.writable||e.value===t.value)},ei=(e,t)=>{let n=Object.getPrototypeOf(t);n!==Object.getPrototypeOf(e)&&Object.setPrototypeOf(e,n)},ea=(e,t)=>`/* Wrapped ${e}*/ +${t}`,es=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),eu=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),ec=(e,t,n)=>{let r=""===n?"":`with ${n.trim()}() `,o=ea.bind(null,r,t.toString());Object.defineProperty(o,"name",eu),Object.defineProperty(e,"toString",{...es,value:o})};var el=n(88918);let ed=new WeakMap;var ep=n(29631),eh=n(79804),ef=n(57632),em=n(42238),eg=n.n(em);n(79544);var ey=n(33281),ev=!0;ev=!1;var ew=n(68919),eb=n(31955),eA={lessThanXSeconds:{standalone:{one:"weniger als 1 Sekunde",other:"weniger als {{count}} Sekunden"},withPreposition:{one:"weniger als 1 Sekunde",other:"weniger als {{count}} Sekunden"}},xSeconds:{standalone:{one:"1 Sekunde",other:"{{count}} Sekunden"},withPreposition:{one:"1 Sekunde",other:"{{count}} Sekunden"}},halfAMinute:{standalone:"halbe Minute",withPreposition:"halben Minute"},lessThanXMinutes:{standalone:{one:"weniger als 1 Minute",other:"weniger als {{count}} Minuten"},withPreposition:{one:"weniger als 1 Minute",other:"weniger als {{count}} Minuten"}},xMinutes:{standalone:{one:"1 Minute",other:"{{count}} Minuten"},withPreposition:{one:"1 Minute",other:"{{count}} Minuten"}},aboutXHours:{standalone:{one:"etwa 1 Stunde",other:"etwa {{count}} Stunden"},withPreposition:{one:"etwa 1 Stunde",other:"etwa {{count}} Stunden"}},xHours:{standalone:{one:"1 Stunde",other:"{{count}} Stunden"},withPreposition:{one:"1 Stunde",other:"{{count}} Stunden"}},xDays:{standalone:{one:"1 Tag",other:"{{count}} Tage"},withPreposition:{one:"1 Tag",other:"{{count}} Tagen"}},aboutXWeeks:{standalone:{one:"etwa 1 Woche",other:"etwa {{count}} Wochen"},withPreposition:{one:"etwa 1 Woche",other:"etwa {{count}} Wochen"}},xWeeks:{standalone:{one:"1 Woche",other:"{{count}} Wochen"},withPreposition:{one:"1 Woche",other:"{{count}} Wochen"}},aboutXMonths:{standalone:{one:"etwa 1 Monat",other:"etwa {{count}} Monate"},withPreposition:{one:"etwa 1 Monat",other:"etwa {{count}} Monaten"}},xMonths:{standalone:{one:"1 Monat",other:"{{count}} Monate"},withPreposition:{one:"1 Monat",other:"{{count}} Monaten"}},aboutXYears:{standalone:{one:"etwa 1 Jahr",other:"etwa {{count}} Jahre"},withPreposition:{one:"etwa 1 Jahr",other:"etwa {{count}} Jahren"}},xYears:{standalone:{one:"1 Jahr",other:"{{count}} Jahre"},withPreposition:{one:"1 Jahr",other:"{{count}} Jahren"}},overXYears:{standalone:{one:"mehr als 1 Jahr",other:"mehr als {{count}} Jahre"},withPreposition:{one:"mehr als 1 Jahr",other:"mehr als {{count}} Jahren"}},almostXYears:{standalone:{one:"fast 1 Jahr",other:"fast {{count}} Jahre"},withPreposition:{one:"fast 1 Jahr",other:"fast {{count}} Jahren"}}},eS=n(38683),eP={date:(0,eS.Z)({formats:{full:"EEEE, do MMMM y",long:"do MMMM y",medium:"do MMM y",short:"dd.MM.y"},defaultWidth:"full"}),time:(0,eS.Z)({formats:{full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},defaultWidth:"full"}),dateTime:(0,eS.Z)({formats:{full:"{{date}} 'um' {{time}}",long:"{{date}} 'um' {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},defaultWidth:"full"})},ek={lastWeek:"'letzten' eeee 'um' p",yesterday:"'gestern um' p",today:"'heute um' p",tomorrow:"'morgen um' p",nextWeek:"eeee 'um' p",other:"P"},e_=n(16252),eI={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","M\xe4r","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],wide:["Januar","Februar","M\xe4rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]},ex={narrow:eI.narrow,abbreviated:["Jan.","Feb.","M\xe4rz","Apr.","Mai","Juni","Juli","Aug.","Sep.","Okt.","Nov.","Dez."],wide:eI.wide},eT={ordinalNumber:function(e){return Number(e)+"."},era:(0,e_.Z)({values:{narrow:["v.Chr.","n.Chr."],abbreviated:["v.Chr.","n.Chr."],wide:["vor Christus","nach Christus"]},defaultWidth:"wide"}),quarter:(0,e_.Z)({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1. Quartal","2. Quartal","3. Quartal","4. Quartal"]},defaultWidth:"wide",argumentCallback:function(e){return e-1}}),month:(0,e_.Z)({values:eI,formattingValues:ex,defaultWidth:"wide"}),day:(0,e_.Z)({values:{narrow:["S","M","D","M","D","F","S"],short:["So","Mo","Di","Mi","Do","Fr","Sa"],abbreviated:["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."],wide:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},defaultWidth:"wide"}),dayPeriod:(0,e_.Z)({values:{narrow:{am:"vm.",pm:"nm.",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachm.",evening:"Abend",night:"Nacht"},abbreviated:{am:"vorm.",pm:"nachm.",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachmittag",evening:"Abend",night:"Nacht"},wide:{am:"vormittags",pm:"nachmittags",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachmittag",evening:"Abend",night:"Nacht"}},defaultWidth:"wide",formattingValues:{narrow:{am:"vm.",pm:"nm.",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachm.",evening:"abends",night:"nachts"},abbreviated:{am:"vorm.",pm:"nachm.",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachmittags",evening:"abends",night:"nachts"},wide:{am:"vormittags",pm:"nachmittags",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachmittags",evening:"abends",night:"nachts"}},defaultFormattingWidth:"wide"})},eE=n(45826),eC=n(181),eM={ordinalNumber:(0,eC.Z)({matchPattern:/^(\d+)(\.)?/i,parsePattern:/\d+/i,valueCallback:function(e){return parseInt(e)}}),era:(0,eE.Z)({matchPatterns:{narrow:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,abbreviated:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,wide:/^(vor Christus|vor unserer Zeitrechnung|nach Christus|unserer Zeitrechnung)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^v/i,/^n/i]},defaultParseWidth:"any"}),quarter:(0,eE.Z)({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](\.)? Quartal/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:function(e){return e+1}}),month:(0,eE.Z)({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(j[aä]n|feb|mär[z]?|apr|mai|jun[i]?|jul[i]?|aug|sep|okt|nov|dez)\.?/i,wide:/^(januar|februar|märz|april|mai|juni|juli|august|september|oktober|november|dezember)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^j[aä]/i,/^f/i,/^mär/i,/^ap/i,/^mai/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:(0,eE.Z)({matchPatterns:{narrow:/^[smdmf]/i,short:/^(so|mo|di|mi|do|fr|sa)/i,abbreviated:/^(son?|mon?|die?|mit?|don?|fre?|sam?)\.?/i,wide:/^(sonntag|montag|dienstag|mittwoch|donnerstag|freitag|samstag)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^so/i,/^mo/i,/^di/i,/^mi/i,/^do/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:(0,eE.Z)({matchPatterns:{narrow:/^(vm\.?|nm\.?|Mitternacht|Mittag|morgens|nachm\.?|abends|nachts)/i,abbreviated:/^(vorm\.?|nachm\.?|Mitternacht|Mittag|morgens|nachm\.?|abends|nachts)/i,wide:/^(vormittags|nachmittags|Mitternacht|Mittag|morgens|nachmittags|abends|nachts)/i},defaultMatchWidth:"wide",parsePatterns:{any:{am:/^v/i,pm:/^n/i,midnight:/^Mitte/i,noon:/^Mitta/i,morning:/morgens/i,afternoon:/nachmittags/i,evening:/abends/i,night:/nachts/i}},defaultParseWidth:"any"})},eO={lessThanXSeconds:{one:"不到 1 秒",other:"不到 {{count}} 秒"},xSeconds:{one:"1 秒",other:"{{count}} 秒"},halfAMinute:"半分钟",lessThanXMinutes:{one:"不到 1 分钟",other:"不到 {{count}} 分钟"},xMinutes:{one:"1 分钟",other:"{{count}} 分钟"},xHours:{one:"1 小时",other:"{{count}} 小时"},aboutXHours:{one:"大约 1 小时",other:"大约 {{count}} 小时"},xDays:{one:"1 天",other:"{{count}} 天"},aboutXWeeks:{one:"大约 1 个星期",other:"大约 {{count}} 个星期"},xWeeks:{one:"1 个星期",other:"{{count}} 个星期"},aboutXMonths:{one:"大约 1 个月",other:"大约 {{count}} 个月"},xMonths:{one:"1 个月",other:"{{count}} 个月"},aboutXYears:{one:"大约 1 年",other:"大约 {{count}} 年"},xYears:{one:"1 年",other:"{{count}} 年"},overXYears:{one:"超过 1 年",other:"超过 {{count}} 年"},almostXYears:{one:"将近 1 年",other:"将近 {{count}} 年"}},eD={date:(0,eS.Z)({formats:{full:"y'年'M'月'd'日' EEEE",long:"y'年'M'月'd'日'",medium:"yyyy-MM-dd",short:"yy-MM-dd"},defaultWidth:"full"}),time:(0,eS.Z)({formats:{full:"zzzz a h:mm:ss",long:"z a h:mm:ss",medium:"a h:mm:ss",short:"a h:mm"},defaultWidth:"full"}),dateTime:(0,eS.Z)({formats:{full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},defaultWidth:"full"})},ej=n(30062),eU=n(61545);function eR(e,t,n){(0,ej.Z)(2,arguments);var r=(0,eU.Z)(e,n),o=(0,eU.Z)(t,n);return r.getTime()===o.getTime()}function eW(e,t,n){var r="eeee p";return eR(e,t,n)?r:e.getTime()>t.getTime()?"'下个'"+r:"'上个'"+r}var eN={lastWeek:eW,yesterday:"'昨天' p",today:"'今天' p",tomorrow:"'明天' p",nextWeek:eW,other:"PP p"},eH={ordinalNumber:function(e,t){var n=Number(e);switch(null==t?void 0:t.unit){case"date":return n.toString()+"日";case"hour":return n.toString()+"时";case"minute":return n.toString()+"分";case"second":return n.toString()+"秒";default:return"第 "+n.toString()}},era:(0,e_.Z)({values:{narrow:["前","公元"],abbreviated:["前","公元"],wide:["公元前","公元"]},defaultWidth:"wide"}),quarter:(0,e_.Z)({values:{narrow:["1","2","3","4"],abbreviated:["第一季","第二季","第三季","第四季"],wide:["第一季度","第二季度","第三季度","第四季度"]},defaultWidth:"wide",argumentCallback:function(e){return e-1}}),month:(0,e_.Z)({values:{narrow:["一","二","三","四","五","六","七","八","九","十","十一","十二"],abbreviated:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],wide:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},defaultWidth:"wide"}),day:(0,e_.Z)({values:{narrow:["日","一","二","三","四","五","六"],short:["日","一","二","三","四","五","六"],abbreviated:["周日","周一","周二","周三","周四","周五","周六"],wide:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},defaultWidth:"wide"}),dayPeriod:(0,e_.Z)({values:{narrow:{am:"上",pm:"下",midnight:"凌晨",noon:"午",morning:"早",afternoon:"下午",evening:"晚",night:"夜"},abbreviated:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"},wide:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"}},defaultWidth:"wide",formattingValues:{narrow:{am:"上",pm:"下",midnight:"凌晨",noon:"午",morning:"早",afternoon:"下午",evening:"晚",night:"夜"},abbreviated:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"},wide:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"}},defaultFormattingWidth:"wide"})},eL={ordinalNumber:(0,eC.Z)({matchPattern:/^(第\s*)?\d+(日|时|分|秒)?/i,parsePattern:/\d+/i,valueCallback:function(e){return parseInt(e,10)}}),era:(0,eE.Z)({matchPatterns:{narrow:/^(前)/i,abbreviated:/^(前)/i,wide:/^(公元前|公元)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^(前)/i,/^(公元)/i]},defaultParseWidth:"any"}),quarter:(0,eE.Z)({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^第[一二三四]刻/i,wide:/^第[一二三四]刻钟/i},defaultMatchWidth:"wide",parsePatterns:{any:[/(1|一)/i,/(2|二)/i,/(3|三)/i,/(4|四)/i]},defaultParseWidth:"any",valueCallback:function(e){return e+1}}),month:(0,eE.Z)({matchPatterns:{narrow:/^(一|二|三|四|五|六|七|八|九|十[二一])/i,abbreviated:/^(一|二|三|四|五|六|七|八|九|十[二一]|\d|1[12])月/i,wide:/^(一|二|三|四|五|六|七|八|九|十[二一])月/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^一/i,/^二/i,/^三/i,/^四/i,/^五/i,/^六/i,/^七/i,/^八/i,/^九/i,/^十(?!(一|二))/i,/^十一/i,/^十二/i],any:[/^一|1/i,/^二|2/i,/^三|3/i,/^四|4/i,/^五|5/i,/^六|6/i,/^七|7/i,/^八|8/i,/^九|9/i,/^十(?!(一|二))|10/i,/^十一|11/i,/^十二|12/i]},defaultParseWidth:"any"}),day:(0,eE.Z)({matchPatterns:{narrow:/^[一二三四五六日]/i,short:/^[一二三四五六日]/i,abbreviated:/^周[一二三四五六日]/i,wide:/^星期[一二三四五六日]/i},defaultMatchWidth:"wide",parsePatterns:{any:[/日/i,/一/i,/二/i,/三/i,/四/i,/五/i,/六/i]},defaultParseWidth:"any"}),dayPeriod:(0,eE.Z)({matchPatterns:{any:/^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨|)/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^上午?/i,pm:/^下午?/i,midnight:/^午夜/i,noon:/^[中正]午/i,morning:/^早上/i,afternoon:/^下午/i,evening:/^晚上?/i,night:/^凌晨/i}},defaultParseWidth:"any"})},eB={lessThanXSeconds:{one:"dưới 1 gi\xe2y",other:"dưới {{count}} gi\xe2y"},xSeconds:{one:"1 gi\xe2y",other:"{{count}} gi\xe2y"},halfAMinute:"nửa ph\xfat",lessThanXMinutes:{one:"dưới 1 ph\xfat",other:"dưới {{count}} ph\xfat"},xMinutes:{one:"1 ph\xfat",other:"{{count}} ph\xfat"},aboutXHours:{one:"khoảng 1 giờ",other:"khoảng {{count}} giờ"},xHours:{one:"1 giờ",other:"{{count}} giờ"},xDays:{one:"1 ng\xe0y",other:"{{count}} ng\xe0y"},aboutXWeeks:{one:"khoảng 1 tuần",other:"khoảng {{count}} tuần"},xWeeks:{one:"1 tuần",other:"{{count}} tuần"},aboutXMonths:{one:"khoảng 1 th\xe1ng",other:"khoảng {{count}} th\xe1ng"},xMonths:{one:"1 th\xe1ng",other:"{{count}} th\xe1ng"},aboutXYears:{one:"khoảng 1 năm",other:"khoảng {{count}} năm"},xYears:{one:"1 năm",other:"{{count}} năm"},overXYears:{one:"hơn 1 năm",other:"hơn {{count}} năm"},almostXYears:{one:"gần 1 năm",other:"gần {{count}} năm"}},eF={date:(0,eS.Z)({formats:{full:"EEEE, 'ng\xe0y' d MMMM 'năm' y",long:"'ng\xe0y' d MMMM 'năm' y",medium:"d MMM 'năm' y",short:"dd/MM/y"},defaultWidth:"full"}),time:(0,eS.Z)({formats:{full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},defaultWidth:"full"}),dateTime:(0,eS.Z)({formats:{full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},defaultWidth:"full"})},eK={lastWeek:"eeee 'tuần trước v\xe0o l\xfac' p",yesterday:"'h\xf4m qua v\xe0o l\xfac' p",today:"'h\xf4m nay v\xe0o l\xfac' p",tomorrow:"'ng\xe0y mai v\xe0o l\xfac' p",nextWeek:"eeee 'tới v\xe0o l\xfac' p",other:"P"},eG={ordinalNumber:function(e,t){var n=Number(e),r=null==t?void 0:t.unit;if("quarter"===r)switch(n){case 1:return"I";case 2:return"II";case 3:return"III";case 4:return"IV"}else if("day"===r)switch(n){case 1:return"thứ 2";case 2:return"thứ 3";case 3:return"thứ 4";case 4:return"thứ 5";case 5:return"thứ 6";case 6:return"thứ 7";case 7:return"chủ nhật"}else if("week"===r)return 1===n?"thứ nhất":"thứ "+n;else if("dayOfYear"===r)return 1===n?"đầu ti\xean":"thứ "+n;return String(n)},era:(0,e_.Z)({values:{narrow:["TCN","SCN"],abbreviated:["trước CN","sau CN"],wide:["trước C\xf4ng Nguy\xean","sau C\xf4ng Nguy\xean"]},defaultWidth:"wide"}),quarter:(0,e_.Z)({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["Qu\xfd 1","Qu\xfd 2","Qu\xfd 3","Qu\xfd 4"]},defaultWidth:"wide",formattingValues:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["qu\xfd I","qu\xfd II","qu\xfd III","qu\xfd IV"]},defaultFormattingWidth:"wide",argumentCallback:function(e){return e-1}}),month:(0,e_.Z)({values:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],abbreviated:["Thg 1","Thg 2","Thg 3","Thg 4","Thg 5","Thg 6","Thg 7","Thg 8","Thg 9","Thg 10","Thg 11","Thg 12"],wide:["Th\xe1ng Một","Th\xe1ng Hai","Th\xe1ng Ba","Th\xe1ng Tư","Th\xe1ng Năm","Th\xe1ng S\xe1u","Th\xe1ng Bảy","Th\xe1ng T\xe1m","Th\xe1ng Ch\xedn","Th\xe1ng Mười","Th\xe1ng Mười Một","Th\xe1ng Mười Hai"]},defaultWidth:"wide",formattingValues:{narrow:["01","02","03","04","05","06","07","08","09","10","11","12"],abbreviated:["thg 1","thg 2","thg 3","thg 4","thg 5","thg 6","thg 7","thg 8","thg 9","thg 10","thg 11","thg 12"],wide:["th\xe1ng 01","th\xe1ng 02","th\xe1ng 03","th\xe1ng 04","th\xe1ng 05","th\xe1ng 06","th\xe1ng 07","th\xe1ng 08","th\xe1ng 09","th\xe1ng 10","th\xe1ng 11","th\xe1ng 12"]},defaultFormattingWidth:"wide"}),day:(0,e_.Z)({values:{narrow:["CN","T2","T3","T4","T5","T6","T7"],short:["CN","Th 2","Th 3","Th 4","Th 5","Th 6","Th 7"],abbreviated:["CN","Thứ 2","Thứ 3","Thứ 4","Thứ 5","Thứ 6","Thứ 7"],wide:["Chủ Nhật","Thứ Hai","Thứ Ba","Thứ Tư","Thứ Năm","Thứ S\xe1u","Thứ Bảy"]},defaultWidth:"wide"}),dayPeriod:(0,e_.Z)({values:{narrow:{am:"am",pm:"pm",midnight:"nửa đ\xeam",noon:"tr",morning:"sg",afternoon:"ch",evening:"tối",night:"đ\xeam"},abbreviated:{am:"AM",pm:"PM",midnight:"nửa đ\xeam",noon:"trưa",morning:"s\xe1ng",afternoon:"chiều",evening:"tối",night:"đ\xeam"},wide:{am:"SA",pm:"CH",midnight:"nửa đ\xeam",noon:"trưa",morning:"s\xe1ng",afternoon:"chiều",evening:"tối",night:"đ\xeam"}},defaultWidth:"wide",formattingValues:{narrow:{am:"am",pm:"pm",midnight:"nửa đ\xeam",noon:"tr",morning:"sg",afternoon:"ch",evening:"tối",night:"đ\xeam"},abbreviated:{am:"AM",pm:"PM",midnight:"nửa đ\xeam",noon:"trưa",morning:"s\xe1ng",afternoon:"chiều",evening:"tối",night:"đ\xeam"},wide:{am:"SA",pm:"CH",midnight:"nửa đ\xeam",noon:"giữa trưa",morning:"v\xe0o buổi s\xe1ng",afternoon:"v\xe0o buổi chiều",evening:"v\xe0o buổi tối",night:"v\xe0o ban đ\xeam"}},defaultFormattingWidth:"wide"})},ez={ordinalNumber:(0,eC.Z)({matchPattern:/^(\d+)/i,parsePattern:/\d+/i,valueCallback:function(e){return parseInt(e,10)}}),era:(0,eE.Z)({matchPatterns:{narrow:/^(tcn|scn)/i,abbreviated:/^(trước CN|sau CN)/i,wide:/^(trước Công Nguyên|sau Công Nguyên)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^t/i,/^s/i]},defaultParseWidth:"any"}),quarter:(0,eE.Z)({matchPatterns:{narrow:/^([1234]|i{1,3}v?)/i,abbreviated:/^q([1234]|i{1,3}v?)/i,wide:/^quý ([1234]|i{1,3}v?)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/(1|i)$/i,/(2|ii)$/i,/(3|iii)$/i,/(4|iv)$/i]},defaultParseWidth:"any",valueCallback:function(e){return e+1}}),month:(0,eE.Z)({matchPatterns:{narrow:/^(0?[2-9]|10|11|12|0?1)/i,abbreviated:/^thg[ _]?(0?[1-9](?!\d)|10|11|12)/i,wide:/^tháng ?(Một|Hai|Ba|Tư|Năm|Sáu|Bảy|Tám|Chín|Mười|Mười ?Một|Mười ?Hai|0?[1-9](?!\d)|10|11|12)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/0?1$/i,/0?2/i,/3/,/4/,/5/,/6/,/7/,/8/,/9/,/10/,/11/,/12/],abbreviated:[/^thg[ _]?0?1(?!\d)/i,/^thg[ _]?0?2/i,/^thg[ _]?0?3/i,/^thg[ _]?0?4/i,/^thg[ _]?0?5/i,/^thg[ _]?0?6/i,/^thg[ _]?0?7/i,/^thg[ _]?0?8/i,/^thg[ _]?0?9/i,/^thg[ _]?10/i,/^thg[ _]?11/i,/^thg[ _]?12/i],wide:[/^tháng ?(Một|0?1(?!\d))/i,/^tháng ?(Hai|0?2)/i,/^tháng ?(Ba|0?3)/i,/^tháng ?(Tư|0?4)/i,/^tháng ?(Năm|0?5)/i,/^tháng ?(Sáu|0?6)/i,/^tháng ?(Bảy|0?7)/i,/^tháng ?(Tám|0?8)/i,/^tháng ?(Chín|0?9)/i,/^tháng ?(Mười|10)/i,/^tháng ?(Mười ?Một|11)/i,/^tháng ?(Mười ?Hai|12)/i]},defaultParseWidth:"wide"}),day:(0,eE.Z)({matchPatterns:{narrow:/^(CN|T2|T3|T4|T5|T6|T7)/i,short:/^(CN|Th ?2|Th ?3|Th ?4|Th ?5|Th ?6|Th ?7)/i,abbreviated:/^(CN|Th ?2|Th ?3|Th ?4|Th ?5|Th ?6|Th ?7)/i,wide:/^(Chủ ?Nhật|Chúa ?Nhật|thứ ?Hai|thứ ?Ba|thứ ?Tư|thứ ?Năm|thứ ?Sáu|thứ ?Bảy)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/CN/i,/2/i,/3/i,/4/i,/5/i,/6/i,/7/i],short:[/CN/i,/2/i,/3/i,/4/i,/5/i,/6/i,/7/i],abbreviated:[/CN/i,/2/i,/3/i,/4/i,/5/i,/6/i,/7/i],wide:[/(Chủ|Chúa) ?Nhật/i,/Hai/i,/Ba/i,/Tư/i,/Năm/i,/Sáu/i,/Bảy/i]},defaultParseWidth:"wide"}),dayPeriod:(0,eE.Z)({matchPatterns:{narrow:/^(a|p|nửa đêm|trưa|(giờ) (sáng|chiều|tối|đêm))/i,abbreviated:/^(am|pm|nửa đêm|trưa|(giờ) (sáng|chiều|tối|đêm))/i,wide:/^(ch[^i]*|sa|nửa đêm|trưa|(giờ) (sáng|chiều|tối|đêm))/i},defaultMatchWidth:"wide",parsePatterns:{any:{am:/^(a|sa)/i,pm:/^(p|ch[^i]*)/i,midnight:/nửa đêm/i,noon:/trưa/i,morning:/sáng/i,afternoon:/chiều/i,evening:/tối/i,night:/^đêm/i}},defaultParseWidth:"any"})},eZ={lessThanXSeconds:{one:"λιγότερο από ένα δευτερόλεπτο",other:"λιγότερο από {{count}} δευτερόλεπτα"},xSeconds:{one:"1 δευτερόλεπτο",other:"{{count}} δευτερόλεπτα"},halfAMinute:"μισό λεπτό",lessThanXMinutes:{one:"λιγότερο από ένα λεπτό",other:"λιγότερο από {{count}} λεπτά"},xMinutes:{one:"1 λεπτό",other:"{{count}} λεπτά"},aboutXHours:{one:"περίπου 1 ώρα",other:"περίπου {{count}} ώρες"},xHours:{one:"1 ώρα",other:"{{count}} ώρες"},xDays:{one:"1 ημέρα",other:"{{count}} ημέρες"},aboutXWeeks:{one:"περίπου 1 εβδομάδα",other:"περίπου {{count}} εβδομάδες"},xWeeks:{one:"1 εβδομάδα",other:"{{count}} εβδομάδες"},aboutXMonths:{one:"περίπου 1 μήνας",other:"περίπου {{count}} μήνες"},xMonths:{one:"1 μήνας",other:"{{count}} μήνες"},aboutXYears:{one:"περίπου 1 χρόνο",other:"περίπου {{count}} χρόνια"},xYears:{one:"1 χρόνο",other:"{{count}} χρόνια"},overXYears:{one:"πάνω από 1 χρόνο",other:"πάνω από {{count}} χρόνια"},almostXYears:{one:"περίπου 1 χρόνο",other:"περίπου {{count}} χρόνια"}},eq={date:(0,eS.Z)({formats:{full:"EEEE, d MMMM y",long:"d MMMM y",medium:"d MMM y",short:"d/M/yy"},defaultWidth:"full"}),time:(0,eS.Z)({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:(0,eS.Z)({formats:{full:"{{date}} - {{time}}",long:"{{date}} - {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},eJ={lastWeek:function(e){return 6===e.getUTCDay()?"'το προηγούμενο' eeee 'στις' p":"'την προηγούμενη' eeee 'στις' p"},yesterday:"'χθες στις' p",today:"'σήμερα στις' p",tomorrow:"'αύριο στις' p",nextWeek:"eeee 'στις' p",other:"P"},eY={ordinalNumber:function(e,t){var n=Number(e),r=null==t?void 0:t.unit;return n+("year"===r||"month"===r?"ος":"week"===r||"dayOfYear"===r||"day"===r||"hour"===r||"date"===r?"η":"ο")},era:(0,e_.Z)({values:{narrow:["πΧ","μΧ"],abbreviated:["π.Χ.","μ.Χ."],wide:["προ Χριστού","μετά Χριστόν"]},defaultWidth:"wide"}),quarter:(0,e_.Z)({values:{narrow:["1","2","3","4"],abbreviated:["Τ1","Τ2","Τ3","Τ4"],wide:["1ο τρίμηνο","2ο τρίμηνο","3ο τρίμηνο","4ο τρίμηνο"]},defaultWidth:"wide",argumentCallback:function(e){return e-1}}),month:(0,e_.Z)({values:{narrow:["Ι","Φ","Μ","Α","Μ","Ι","Ι","Α","Σ","Ο","Ν","Δ"],abbreviated:["Ιαν","Φεβ","Μάρ","Απρ","Μάι","Ιούν","Ιούλ","Αύγ","Σεπ","Οκτ","Νοέ","Δεκ"],wide:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"]},defaultWidth:"wide",formattingValues:{narrow:["Ι","Φ","Μ","Α","Μ","Ι","Ι","Α","Σ","Ο","Ν","Δ"],abbreviated:["Ιαν","Φεβ","Μαρ","Απρ","Μαΐ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ"],wide:["Ιανουαρίου","Φεβρουαρίου","Μαρτίου","Απριλίου","Μαΐου","Ιουνίου","Ιουλίου","Αυγούστου","Σεπτεμβρίου","Οκτωβρίου","Νοεμβρίου","Δεκεμβρίου"]},defaultFormattingWidth:"wide"}),day:(0,e_.Z)({values:{narrow:["Κ","Δ","T","Τ","Π","Π","Σ"],short:["Κυ","Δε","Τρ","Τε","Πέ","Πα","Σά"],abbreviated:["Κυρ","Δευ","Τρί","Τετ","Πέμ","Παρ","Σάβ"],wide:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"]},defaultWidth:"wide"}),dayPeriod:(0,e_.Z)({values:{narrow:{am:"πμ",pm:"μμ",midnight:"μεσάνυχτα",noon:"μεσημέρι",morning:"πρωί",afternoon:"απόγευμα",evening:"βράδυ",night:"νύχτα"},abbreviated:{am:"π.μ.",pm:"μ.μ.",midnight:"μεσάνυχτα",noon:"μεσημέρι",morning:"πρωί",afternoon:"απόγευμα",evening:"βράδυ",night:"νύχτα"},wide:{am:"π.μ.",pm:"μ.μ.",midnight:"μεσάνυχτα",noon:"μεσημ��ρι",morning:"πρωί",afternoon:"απόγευμα",evening:"βράδυ",night:"νύχτα"}},defaultWidth:"wide"})},eV={ordinalNumber:(0,eC.Z)({matchPattern:/^(\d+)(ος|η|ο)?/i,parsePattern:/\d+/i,valueCallback:function(e){return parseInt(e,10)}}),era:(0,eE.Z)({matchPatterns:{narrow:/^(πΧ|μΧ)/i,abbreviated:/^(π\.?\s?χ\.?|π\.?\s?κ\.?\s?χ\.?|μ\.?\s?χ\.?|κ\.?\s?χ\.?)/i,wide:/^(προ Χριστο(ύ|υ)|πριν απ(ό|ο) την Κοιν(ή|η) Χρονολογ(ί|ι)α|μετ(ά|α) Χριστ(ό|ο)ν|Κοιν(ή|η) Χρονολογ(ί|ι)α)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^π/i,/^(μ|κ)/i]},defaultParseWidth:"any"}),quarter:(0,eE.Z)({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^τ[1234]/i,wide:/^[1234]ο? τρ(ί|ι)μηνο/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:function(e){return e+1}}),month:(0,eE.Z)({matchPatterns:{narrow:/^[ιφμαμιιασονδ]/i,abbreviated:/^(ιαν|φεβ|μ[άα]ρ|απρ|μ[άα][ιΐ]|ιο[ύυ]ν|ιο[ύυ]λ|α[ύυ]γ|σεπ|οκτ|νο[έε]|δεκ)/i,wide:/^(μ[άα][ιΐ]|α[ύυ]γο[υύ]στ)(ος|ου)|(ιανου[άα]ρ|φεβρου[άα]ρ|μ[άα]ρτ|απρ[ίι]λ|ιο[ύυ]ν|ιο[ύυ]λ|σεπτ[έε]μβρ|οκτ[ώω]βρ|νο[έε]μβρ|δεκ[έε]μβρ)(ιος|ίου)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^ι/i,/^φ/i,/^μ/i,/^α/i,/^μ/i,/^ι/i,/^ι/i,/^α/i,/^σ/i,/^ο/i,/^ν/i,/^δ/i],any:[/^ια/i,/^φ/i,/^μ[άα]ρ/i,/^απ/i,/^μ[άα][ιΐ]/i,/^ιο[ύυ]ν/i,/^ιο[ύυ]λ/i,/^α[ύυ]/i,/^σ/i,/^ο/i,/^ν/i,/^δ/i]},defaultParseWidth:"any"}),day:(0,eE.Z)({matchPatterns:{narrow:/^[κδτπσ]/i,short:/^(κυ|δε|τρ|τε|π[εέ]|π[αά]|σ[αά])/i,abbreviated:/^(κυρ|δευ|τρι|τετ|πεμ|παρ|σαβ)/i,wide:/^(κυριακ(ή|η)|δευτ(έ|ε)ρα|τρ(ί|ι)τη|τετ(ά|α)ρτη|π(έ|ε)μπτη|παρασκευ(ή|η)|σ(ά|α)ββατο)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^κ/i,/^δ/i,/^τ/i,/^τ/i,/^π/i,/^π/i,/^σ/i],any:[/^κ/i,/^δ/i,/^τρ/i,/^τε/i,/^π[εέ]/i,/^π[αά]/i,/^σ/i]},defaultParseWidth:"any"}),dayPeriod:(0,eE.Z)({matchPatterns:{narrow:/^(πμ|μμ|μεσ(ά|α)νυχτα|μεσημ(έ|ε)ρι|πρω(ί|ι)|απ(ό|ο)γευμα|βρ(ά|α)δυ|ν(ύ|υ)χτα)/i,any:/^([πμ]\.?\s?μ\.?|μεσ(ά|α)νυχτα|μεσημ(έ|ε)ρι|πρω(ί|ι)|απ(ό|ο)γευμα|βρ(ά|α)δυ|ν(ύ|υ)χτα)/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^πμ|π\.\s?μ\./i,pm:/^μμ|μ\.\s?μ\./i,midnight:/^μεσάν/i,noon:/^μεσημ(έ|ε)/i,morning:/πρω(ί|ι)/i,afternoon:/απ(ό|ο)γευμα/i,evening:/βρ(ά|α)δυ/i,night:/ν(ύ|υ)χτα/i}},defaultParseWidth:"any"})},e$={lessThanXSeconds:{one:"moins d’une seconde",other:"moins de {{count}} secondes"},xSeconds:{one:"1 seconde",other:"{{count}} secondes"},halfAMinute:"30 secondes",lessThanXMinutes:{one:"moins d’une minute",other:"moins de {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"environ 1 heure",other:"environ {{count}} heures"},xHours:{one:"1 heure",other:"{{count}} heures"},xDays:{one:"1 jour",other:"{{count}} jours"},aboutXWeeks:{one:"environ 1 semaine",other:"environ {{count}} semaines"},xWeeks:{one:"1 semaine",other:"{{count}} semaines"},aboutXMonths:{one:"environ 1 mois",other:"environ {{count}} mois"},xMonths:{one:"1 mois",other:"{{count}} mois"},aboutXYears:{one:"environ 1 an",other:"environ {{count}} ans"},xYears:{one:"1 an",other:"{{count}} ans"},overXYears:{one:"plus d’un an",other:"plus de {{count}} ans"},almostXYears:{one:"presqu’un an",other:"presque {{count}} ans"}},eQ={date:(0,eS.Z)({formats:{full:"EEEE d MMMM y",long:"d MMMM y",medium:"d MMM y",short:"dd/MM/y"},defaultWidth:"full"}),time:(0,eS.Z)({formats:{full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},defaultWidth:"full"}),dateTime:(0,eS.Z)({formats:{full:"{{date}} '\xe0' {{time}}",long:"{{date}} '\xe0' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},eX={lastWeek:"eeee 'dernier \xe0' p",yesterday:"'hier \xe0' p",today:"'aujourd’hui \xe0' p",tomorrow:"'demain \xe0' p'",nextWeek:"eeee 'prochain \xe0' p",other:"P"},e0={ordinalNumber:function(e,t){var n,r=Number(e),o=null==t?void 0:t.unit;return 0===r?"0":(n=1===r?o&&["year","week","hour","minute","second"].includes(o)?"\xe8re":"er":"\xe8me",r+n)},era:(0,e_.Z)({values:{narrow:["av. J.-C","ap. J.-C"],abbreviated:["av. J.-C","ap. J.-C"],wide:["avant J\xe9sus-Christ","apr\xe8s J\xe9sus-Christ"]},defaultWidth:"wide"}),quarter:(0,e_.Z)({values:{narrow:["T1","T2","T3","T4"],abbreviated:["1er trim.","2\xe8me trim.","3\xe8me trim.","4\xe8me trim."],wide:["1er trimestre","2\xe8me trimestre","3\xe8me trimestre","4\xe8me trimestre"]},defaultWidth:"wide",argumentCallback:function(e){return e-1}}),month:(0,e_.Z)({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["janv.","f\xe9vr.","mars","avr.","mai","juin","juil.","ao\xfbt","sept.","oct.","nov.","d\xe9c."],wide:["janvier","f\xe9vrier","mars","avril","mai","juin","juillet","ao\xfbt","septembre","octobre","novembre","d\xe9cembre"]},defaultWidth:"wide"}),day:(0,e_.Z)({values:{narrow:["D","L","M","M","J","V","S"],short:["di","lu","ma","me","je","ve","sa"],abbreviated:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],wide:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},defaultWidth:"wide"}),dayPeriod:(0,e_.Z)({values:{narrow:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"mat.",afternoon:"ap.m.",evening:"soir",night:"mat."},abbreviated:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"matin",afternoon:"apr\xe8s-midi",evening:"soir",night:"matin"},wide:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"du matin",afternoon:"de l’apr\xe8s-midi",evening:"du soir",night:"du matin"}},defaultWidth:"wide"})},e1={ordinalNumber:(0,eC.Z)({matchPattern:/^(\d+)(ième|ère|ème|er|e)?/i,parsePattern:/\d+/i,valueCallback:function(e){return parseInt(e)}}),era:(0,eE.Z)({matchPatterns:{narrow:/^(av\.J\.C|ap\.J\.C|ap\.J\.-C)/i,abbreviated:/^(av\.J\.-C|av\.J-C|apr\.J\.-C|apr\.J-C|ap\.J-C)/i,wide:/^(avant Jésus-Christ|après Jésus-Christ)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^av/i,/^ap/i]},defaultParseWidth:"any"}),quarter:(0,eE.Z)({matchPatterns:{narrow:/^T?[1234]/i,abbreviated:/^[1234](er|ème|e)? trim\.?/i,wide:/^[1234](er|ème|e)? trimestre/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:function(e){return e+1}}),month:(0,eE.Z)({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(janv|févr|mars|avr|mai|juin|juill|juil|août|sept|oct|nov|déc)\.?/i,wide:/^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^av/i,/^ma/i,/^juin/i,/^juil/i,/^ao/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:(0,eE.Z)({matchPatterns:{narrow:/^[lmjvsd]/i,short:/^(di|lu|ma|me|je|ve|sa)/i,abbreviated:/^(dim|lun|mar|mer|jeu|ven|sam)\.?/i,wide:/^(dimanche|lundi|mardi|mercredi|jeudi|vendredi|samedi)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^d/i,/^l/i,/^m/i,/^m/i,/^j/i,/^v/i,/^s/i],any:[/^di/i,/^lu/i,/^ma/i,/^me/i,/^je/i,/^ve/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:(0,eE.Z)({matchPatterns:{narrow:/^(a|p|minuit|midi|mat\.?|ap\.?m\.?|soir|nuit)/i,any:/^([ap]\.?\s?m\.?|du matin|de l'après[-\s]midi|du soir|de la nuit)/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^min/i,noon:/^mid/i,morning:/mat/i,afternoon:/ap/i,evening:/soir/i,night:/nuit/i}},defaultParseWidth:"any"})},e2={lessThanXSeconds:{one:"meno di un secondo",other:"meno di {{count}} secondi"},xSeconds:{one:"un secondo",other:"{{count}} secondi"},halfAMinute:"alcuni secondi",lessThanXMinutes:{one:"meno di un minuto",other:"meno di {{count}} minuti"},xMinutes:{one:"un minuto",other:"{{count}} minuti"},aboutXHours:{one:"circa un'ora",other:"circa {{count}} ore"},xHours:{one:"un'ora",other:"{{count}} ore"},xDays:{one:"un giorno",other:"{{count}} giorni"},aboutXWeeks:{one:"circa una settimana",other:"circa {{count}} settimane"},xWeeks:{one:"una settimana",other:"{{count}} settimane"},aboutXMonths:{one:"circa un mese",other:"circa {{count}} mesi"},xMonths:{one:"un mese",other:"{{count}} mesi"},aboutXYears:{one:"circa un anno",other:"circa {{count}} anni"},xYears:{one:"un anno",other:"{{count}} anni"},overXYears:{one:"pi\xf9 di un anno",other:"pi\xf9 di {{count}} anni"},almostXYears:{one:"quasi un anno",other:"quasi {{count}} anni"}},e4={date:(0,eS.Z)({formats:{full:"EEEE d MMMM y",long:"d MMMM y",medium:"d MMM y",short:"dd/MM/y"},defaultWidth:"full"}),time:(0,eS.Z)({formats:{full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},defaultWidth:"full"}),dateTime:(0,eS.Z)({formats:{full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},defaultWidth:"full"})},e3=["domenica","luned\xec","marted\xec","mercoled\xec","gioved\xec","venerd\xec","sabato"];function e8(e){return"'"+e3[e]+" alle' p"}var e6={lastWeek:function(e,t,n){var r=e.getUTCDay();return eR(e,t,n)?e8(r):0===r?"'domenica scorsa alle' p":"'"+e3[r]+" scorso alle' p"},yesterday:"'ieri alle' p",today:"'oggi alle' p",tomorrow:"'domani alle' p",nextWeek:function(e,t,n){var r=e.getUTCDay();return eR(e,t,n)?e8(r):0===r?"'domenica prossima alle' p":"'"+e3[r]+" prossimo alle' p"},other:"P"},e5={ordinalNumber:function(e,t){return String(Number(e))},era:(0,e_.Z)({values:{narrow:["aC","dC"],abbreviated:["a.C.","d.C."],wide:["avanti Cristo","dopo Cristo"]},defaultWidth:"wide"}),quarter:(0,e_.Z)({values:{narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["1\xba trimestre","2\xba trimestre","3\xba trimestre","4\xba trimestre"]},defaultWidth:"wide",argumentCallback:function(e){return e-1}}),month:(0,e_.Z)({values:{narrow:["G","F","M","A","M","G","L","A","S","O","N","D"],abbreviated:["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic"],wide:["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"]},defaultWidth:"wide"}),day:(0,e_.Z)({values:{narrow:["D","L","M","M","G","V","S"],short:["dom","lun","mar","mer","gio","ven","sab"],abbreviated:["dom","lun","mar","mer","gio","ven","sab"],wide:["domenica","luned\xec","marted\xec","mercoled\xec","gioved\xec","venerd\xec","sabato"]},defaultWidth:"wide"}),dayPeriod:(0,e_.Z)({values:{narrow:{am:"m.",pm:"p.",midnight:"mezzanotte",noon:"mezzogiorno",morning:"mattina",afternoon:"pomeriggio",evening:"sera",night:"notte"},abbreviated:{am:"AM",pm:"PM",midnight:"mezzanotte",noon:"mezzogiorno",morning:"mattina",afternoon:"pomeriggio",evening:"sera",night:"notte"},wide:{am:"AM",pm:"PM",midnight:"mezzanotte",noon:"mezzogiorno",morning:"mattina",afternoon:"pomeriggio",evening:"sera",night:"notte"}},defaultWidth:"wide",formattingValues:{narrow:{am:"m.",pm:"p.",midnight:"mezzanotte",noon:"mezzogiorno",morning:"di mattina",afternoon:"del pomeriggio",evening:"di sera",night:"di notte"},abbreviated:{am:"AM",pm:"PM",midnight:"mezzanotte",noon:"mezzogiorno",morning:"di mattina",afternoon:"del pomeriggio",evening:"di sera",night:"di notte"},wide:{am:"AM",pm:"PM",midnight:"mezzanotte",noon:"mezzogiorno",morning:"di mattina",afternoon:"del pomeriggio",evening:"di sera",night:"di notte"}},defaultFormattingWidth:"wide"})},e7={ordinalNumber:(0,eC.Z)({matchPattern:/^(\d+)(º)?/i,parsePattern:/\d+/i,valueCallback:function(e){return parseInt(e,10)}}),era:(0,eE.Z)({matchPatterns:{narrow:/^(aC|dC)/i,abbreviated:/^(a\.?\s?C\.?|a\.?\s?e\.?\s?v\.?|d\.?\s?C\.?|e\.?\s?v\.?)/i,wide:/^(avanti Cristo|avanti Era Volgare|dopo Cristo|Era Volgare)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^a/i,/^(d|e)/i]},defaultParseWidth:"any"}),quarter:(0,eE.Z)({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^t[1234]/i,wide:/^[1234](º)? trimestre/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:function(e){return e+1}}),month:(0,eE.Z)({matchPatterns:{narrow:/^[gfmalsond]/i,abbreviated:/^(gen|feb|mar|apr|mag|giu|lug|ago|set|ott|nov|dic)/i,wide:/^(gennaio|febbraio|marzo|aprile|maggio|giugno|luglio|agosto|settembre|ottobre|novembre|dicembre)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^g/i,/^f/i,/^m/i,/^a/i,/^m/i,/^g/i,/^l/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ge/i,/^f/i,/^mar/i,/^ap/i,/^mag/i,/^gi/i,/^l/i,/^ag/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:(0,eE.Z)({matchPatterns:{narrow:/^[dlmgvs]/i,short:/^(do|lu|ma|me|gi|ve|sa)/i,abbreviated:/^(dom|lun|mar|mer|gio|ven|sab)/i,wide:/^(domenica|luned[i|ì]|marted[i|ì]|mercoled[i|ì]|gioved[i|ì]|venerd[i|ì]|sabato)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^d/i,/^l/i,/^m/i,/^m/i,/^g/i,/^v/i,/^s/i],any:[/^d/i,/^l/i,/^ma/i,/^me/i,/^g/i,/^v/i,/^s/i]},defaultParseWidth:"any"}),dayPeriod:(0,eE.Z)({matchPatterns:{narrow:/^(a|m\.|p|mezzanotte|mezzogiorno|(di|del) (mattina|pomeriggio|sera|notte))/i,any:/^([ap]\.?\s?m\.?|mezzanotte|mezzogiorno|(di|del) (mattina|pomeriggio|sera|notte))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mezza/i,noon:/^mezzo/i,morning:/mattina/i,afternoon:/pomeriggio/i,evening:/sera/i,night:/notte/i}},defaultParseWidth:"any"})};function e9(e,t){if(void 0!==e.one&&1===t)return e.one;var n=t%10,r=t%100;return 1===n&&11!==r?e.singularNominative.replace("{{count}}",String(t)):n>=2&&n<=4&&(r<10||r>20)?e.singularGenitive.replace("{{count}}",String(t)):e.pluralGenitive.replace("{{count}}",String(t))}function te(e){return function(t,n){return null!=n&&n.addSuffix?n.comparison&&n.comparison>0?e.future?e9(e.future,t):"через "+e9(e.regular,t):e.past?e9(e.past,t):e9(e.regular,t)+" назад":e9(e.regular,t)}}var tt={lessThanXSeconds:te({regular:{one:"меньше секунды",singularNominative:"меньше {{count}} секунды",singularGenitive:"меньше {{count}} секунд",pluralGenitive:"меньше {{count}} секунд"},future:{one:"меньше, чем через секунду",singularNominative:"меньше, чем через {{count}} секунду",singularGenitive:"меньше, чем через {{count}} секунды",pluralGenitive:"меньше, чем через {{count}} секунд"}}),xSeconds:te({regular:{singularNominative:"{{count}} секунда",singularGenitive:"{{count}} секунды",pluralGenitive:"{{count}} секунд"},past:{singularNominative:"{{count}} секунду назад",singularGenitive:"{{count}} секунды назад",pluralGenitive:"{{count}} секунд назад"},future:{singularNominative:"через {{count}} секунду",singularGenitive:"через {{count}} секунды",pluralGenitive:"через {{count}} секунд"}}),halfAMinute:function(e,t){return null!=t&&t.addSuffix?t.comparison&&t.comparison>0?"через полминуты":"полминуты назад":"полминуты"},lessThanXMinutes:te({regular:{one:"меньше минуты",singularNominative:"меньше {{count}} минуты",singularGenitive:"меньше {{count}} минут",pluralGenitive:"меньше {{count}} минут"},future:{one:"меньше, чем через минуту",singularNominative:"меньше, чем через {{count}} минуту",singularGenitive:"меньше, чем через {{count}} минуты",pluralGenitive:"меньше, чем через {{count}} минут"}}),xMinutes:te({regular:{singularNominative:"{{count}} минута",singularGenitive:"{{count}} минуты",pluralGenitive:"{{count}} минут"},past:{singularNominative:"{{count}} минуту назад",singularGenitive:"{{count}} минуты назад",pluralGenitive:"{{count}} минут назад"},future:{singularNominative:"через {{count}} минуту",singularGenitive:"через {{count}} минуты",pluralGenitive:"через {{count}} минут"}}),aboutXHours:te({regular:{singularNominative:"около {{count}} часа",singularGenitive:"около {{count}} часов",pluralGenitive:"около {{count}} часов"},future:{singularNominative:"приблизительно через {{count}} час",singularGenitive:"приблизительно через {{count}} часа",pluralGenitive:"приблизительно через {{count}} часов"}}),xHours:te({regular:{singularNominative:"{{count}} час",singularGenitive:"{{count}} часа",pluralGenitive:"{{count}} часов"}}),xDays:te({regular:{singularNominative:"{{count}} день",singularGenitive:"{{count}} дня",pluralGenitive:"{{count}} дней"}}),aboutXWeeks:te({regular:{singularNominative:"около {{count}} недели",singularGenitive:"около {{count}} недель",pluralGenitive:"около {{count}} недель"},future:{singularNominative:"приблизительно через {{count}} неделю",singularGenitive:"приблизительно через {{count}} недели",pluralGenitive:"приблизительно через {{count}} недель"}}),xWeeks:te({regular:{singularNominative:"{{count}} неделя",singularGenitive:"{{count}} недели",pluralGenitive:"{{count}} недель"}}),aboutXMonths:te({regular:{singularNominative:"около {{count}} месяца",singularGenitive:"около {{count}} месяцев",pluralGenitive:"около {{count}} месяцев"},future:{singularNominative:"приблизительно через {{count}} месяц",singularGenitive:"приблизительно через {{count}} месяца",pluralGenitive:"приблизительно через {{count}} месяцев"}}),xMonths:te({regular:{singularNominative:"{{count}} месяц",singularGenitive:"{{count}} месяца",pluralGenitive:"{{count}} месяцев"}}),aboutXYears:te({regular:{singularNominative:"около {{count}} года",singularGenitive:"около {{count}} лет",pluralGenitive:"около {{count}} лет"},future:{singularNominative:"приблизительно через {{count}} год",singularGenitive:"приблизительно через {{count}} года",pluralGenitive:"приблизительно через {{count}} лет"}}),xYears:te({regular:{singularNominative:"{{count}} год",singularGenitive:"{{count}} года",pluralGenitive:"{{count}} лет"}}),overXYears:te({regular:{singularNominative:"больше {{count}} года",singularGenitive:"больше {{count}} лет",pluralGenitive:"больше {{count}} лет"},future:{singularNominative:"больше, чем через {{count}} год",singularGenitive:"больше, чем через {{count}} года",pluralGenitive:"больше, чем через {{count}} лет"}}),almostXYears:te({regular:{singularNominative:"почти {{count}} год",singularGenitive:"почти {{count}} года",pluralGenitive:"почти {{count}} лет"},future:{singularNominative:"почти через {{count}} год",singularGenitive:"почти через {{count}} года",pluralGenitive:"почти через {{count}} лет"}})},tn={date:(0,eS.Z)({formats:{full:"EEEE, d MMMM y 'г.'",long:"d MMMM y 'г.'",medium:"d MMM y 'г.'",short:"dd.MM.y"},defaultWidth:"full"}),time:(0,eS.Z)({formats:{full:"H:mm:ss zzzz",long:"H:mm:ss z",medium:"H:mm:ss",short:"H:mm"},defaultWidth:"full"}),dateTime:(0,eS.Z)({formats:{any:"{{date}}, {{time}}"},defaultWidth:"any"})},tr=["воскресенье","понедельник","вторник","среду","четверг","пятницу","субботу"];function to(e){var t=tr[e];return 2===e?"'во "+t+" в' p":"'в "+t+" в' p"}var ti={lastWeek:function(e,t,n){var r=e.getUTCDay();return eR(e,t,n)?to(r):function(e){var t=tr[e];switch(e){case 0:return"'в прошлое "+t+" в' p";case 1:case 2:case 4:return"'в прошлый "+t+" в' p";case 3:case 5:case 6:return"'в прошлую "+t+" в' p"}}(r)},yesterday:"'вчера в' p",today:"'сегодня в' p",tomorrow:"'завтра в' p",nextWeek:function(e,t,n){var r=e.getUTCDay();return eR(e,t,n)?to(r):function(e){var t=tr[e];switch(e){case 0:return"'в следующее "+t+" в' p";case 1:case 2:case 4:return"'в следующий "+t+" в' p";case 3:case 5:case 6:return"'в следующую "+t+" в' p"}}(r)},other:"P"},ta={ordinalNumber:function(e,t){var n=Number(e),r=null==t?void 0:t.unit;return n+("date"===r?"-е":"week"===r||"minute"===r||"second"===r?"-я":"-й")},era:(0,e_.Z)({values:{narrow:["до н.э.","н.э."],abbreviated:["до н. э.","н. э."],wide:["до нашей эры","нашей эры"]},defaultWidth:"wide"}),quarter:(0,e_.Z)({values:{narrow:["1","2","3","4"],abbreviated:["1-й кв.","2-й кв.","3-й кв.","4-й кв."],wide:["1-й квартал","2-й квартал","3-й квартал","4-й квартал"]},defaultWidth:"wide",argumentCallback:function(e){return e-1}}),month:(0,e_.Z)({values:{narrow:["Я","Ф","М","А","М","И","И","А","С","О","Н","Д"],abbreviated:["янв.","фев.","март","апр.","май","июнь","июль","авг.","сент.","окт.","нояб.","дек."],wide:["январь","февраль","март","апрель","май","июнь","июль","август","сентябрь","октябрь","ноябрь","декабрь"]},defaultWidth:"wide",formattingValues:{narrow:["Я","Ф","М","А","М","И","И","А","С","О","Н","Д"],abbreviated:["янв.","фев.","мар.","апр.","мая","июн.","июл.","авг.","сент.","окт.","нояб.","дек."],wide:["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"]},defaultFormattingWidth:"wide"}),day:(0,e_.Z)({values:{narrow:["В","П","В","С","Ч","П","С"],short:["вс","пн","вт","ср","чт","пт","сб"],abbreviated:["вск","пнд","втр","срд","чтв","птн","суб"],wide:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"]},defaultWidth:"wide"}),dayPeriod:(0,e_.Z)({values:{narrow:{am:"ДП",pm:"ПП",midnight:"полн.",noon:"полд.",morning:"утро",afternoon:"день",evening:"веч.",night:"ночь"},abbreviated:{am:"ДП",pm:"ПП",midnight:"полн.",noon:"полд.",morning:"утро",afternoon:"день",evening:"веч.",night:"ночь"},wide:{am:"ДП",pm:"ПП",midnight:"полночь",noon:"полдень",morning:"утро",afternoon:"день",evening:"вечер",night:"ночь"}},defaultWidth:"any",formattingValues:{narrow:{am:"ДП",pm:"ПП",midnight:"полн.",noon:"полд.",morning:"утра",afternoon:"дня",evening:"веч.",night:"ночи"},abbreviated:{am:"ДП",pm:"ПП",midnight:"полн.",noon:"полд.",morning:"утра",afternoon:"дня",evening:"веч.",night:"ночи"},wide:{am:"ДП",pm:"ПП",midnight:"полночь",noon:"полдень",morning:"утра",afternoon:"дня",evening:"вечера",night:"ночи"}},defaultFormattingWidth:"wide"})},ts={ordinalNumber:(0,eC.Z)({matchPattern:/^(\d+)(-?(е|я|й|ое|ье|ая|ья|ый|ой|ий|ый))?/i,parsePattern:/\d+/i,valueCallback:function(e){return parseInt(e,10)}}),era:(0,eE.Z)({matchPatterns:{narrow:/^((до )?н\.?\s?э\.?)/i,abbreviated:/^((до )?н\.?\s?э\.?)/i,wide:/^(до нашей эры|нашей эры|наша эра)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^д/i,/^н/i]},defaultParseWidth:"any"}),quarter:(0,eE.Z)({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^[1234](-?[ыои]?й?)? кв.?/i,wide:/^[1234](-?[ыои]?й?)? квартал/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:function(e){return e+1}}),month:(0,eE.Z)({matchPatterns:{narrow:/^[яфмаисонд]/i,abbreviated:/^(янв|фев|март?|апр|ма[йя]|июн[ья]?|июл[ья]?|авг|сент?|окт|нояб?|дек)\.?/i,wide:/^(январ[ья]|феврал[ья]|марта?|апрел[ья]|ма[йя]|июн[ья]|июл[ья]|августа?|сентябр[ья]|октябр[ья]|октябр[ья]|ноябр[ья]|декабр[ья])/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^я/i,/^ф/i,/^м/i,/^а/i,/^м/i,/^и/i,/^и/i,/^а/i,/^с/i,/^о/i,/^н/i,/^я/i],any:[/^я/i,/^ф/i,/^мар/i,/^ап/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^ав/i,/^с/i,/^о/i,/^н/i,/^д/i]},defaultParseWidth:"any"}),day:(0,eE.Z)({matchPatterns:{narrow:/^[впсч]/i,short:/^(вс|во|пн|по|вт|ср|чт|че|пт|пя|сб|су)\.?/i,abbreviated:/^(вск|вос|пнд|пон|втр|вто|срд|сре|чтв|чет|птн|пят|суб).?/i,wide:/^(воскресень[ея]|понедельника?|вторника?|сред[аы]|четверга?|пятниц[аы]|суббот[аы])/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^в/i,/^п/i,/^в/i,/^с/i,/^ч/i,/^п/i,/^с/i],any:[/^в[ос]/i,/^п[он]/i,/^в/i,/^ср/i,/^ч/i,/^п[ят]/i,/^с[уб]/i]},defaultParseWidth:"any"}),dayPeriod:(0,eE.Z)({matchPatterns:{narrow:/^([дп]п|полн\.?|полд\.?|утр[оа]|день|дня|веч\.?|ноч[ьи])/i,abbreviated:/^([дп]п|полн\.?|полд\.?|утр[оа]|��ень|дня|веч\.?|ноч[ьи])/i,wide:/^([дп]п|полночь|полдень|утр[оа]|день|дня|вечера?|ноч[ьи])/i},defaultMatchWidth:"wide",parsePatterns:{any:{am:/^дп/i,pm:/^пп/i,midnight:/^полн/i,noon:/^полд/i,morning:/^у/i,afternoon:/^д[ен]/i,evening:/^в/i,night:/^н/i}},defaultParseWidth:"any"})};function tu(e,t){if(void 0!==e.one&&1===t)return e.one;var n=t%10,r=t%100;return 1===n&&11!==r?e.singularNominative.replace("{{count}}",String(t)):n>=2&&n<=4&&(r<10||r>20)?e.singularGenitive.replace("{{count}}",String(t)):e.pluralGenitive.replace("{{count}}",String(t))}function tc(e){return function(t,n){return n&&n.addSuffix?n.comparison&&n.comparison>0?e.future?tu(e.future,t):"за "+tu(e.regular,t):e.past?tu(e.past,t):tu(e.regular,t)+" тому":tu(e.regular,t)}}var tl={lessThanXSeconds:tc({regular:{one:"менше секунди",singularNominative:"менше {{count}} секунди",singularGenitive:"менше {{count}} секунд",pluralGenitive:"менше {{count}} секунд"},future:{one:"менше, ніж за секунду",singularNominative:"менше, ніж за {{count}} секунду",singularGenitive:"менше, ніж за {{count}} секунди",pluralGenitive:"менше, ніж за {{count}} секунд"}}),xSeconds:tc({regular:{singularNominative:"{{count}} секунда",singularGenitive:"{{count}} секунди",pluralGenitive:"{{count}} секунд"},past:{singularNominative:"{{count}} секунду тому",singularGenitive:"{{count}} секунди тому",pluralGenitive:"{{count}} секунд тому"},future:{singularNominative:"за {{count}} секунду",singularGenitive:"за {{count}} секунди",pluralGenitive:"за {{count}} секунд"}}),halfAMinute:function(e,t){return t&&t.addSuffix?t.comparison&&t.comparison>0?"за півхвилини":"півхвилини тому":"півхвилини"},lessThanXMinutes:tc({regular:{one:"менше хвилини",singularNominative:"менше {{count}} хвилини",singularGenitive:"менше {{count}} хвилин",pluralGenitive:"менше {{count}} хвилин"},future:{one:"менше, ніж за хвилину",singularNominative:"менше, ніж за {{count}} хвилину",singularGenitive:"менше, ніж за {{count}} хвилини",pluralGenitive:"менше, ніж за {{count}} хвилин"}}),xMinutes:tc({regular:{singularNominative:"{{count}} хвилина",singularGenitive:"{{count}} хвилини",pluralGenitive:"{{count}} хвилин"},past:{singularNominative:"{{count}} хвилину тому",singularGenitive:"{{count}} хвилини тому",pluralGenitive:"{{count}} хвилин тому"},future:{singularNominative:"за {{count}} хвилину",singularGenitive:"за {{count}} хвилини",pluralGenitive:"за {{count}} хвилин"}}),aboutXHours:tc({regular:{singularNominative:"близько {{count}} години",singularGenitive:"близько {{count}} годин",pluralGenitive:"близько {{count}} годин"},future:{singularNominative:"приблизно за {{count}} годину",singularGenitive:"приблизно за {{count}} години",pluralGenitive:"приблизно за {{count}} годин"}}),xHours:tc({regular:{singularNominative:"{{count}} годину",singularGenitive:"{{count}} години",pluralGenitive:"{{count}} годин"}}),xDays:tc({regular:{singularNominative:"{{count}} день",singularGenitive:"{{count}} днi",pluralGenitive:"{{count}} днів"}}),aboutXWeeks:tc({regular:{singularNominative:"близько {{count}} тижня",singularGenitive:"близько {{count}} тижнів",pluralGenitive:"близько {{count}} тижнів"},future:{singularNominative:"приблизно за {{count}} тиждень",singularGenitive:"приблизно за {{count}} тижні",pluralGenitive:"приблизно за {{count}} тижнів"}}),xWeeks:tc({regular:{singularNominative:"{{count}} тиждень",singularGenitive:"{{count}} тижні",pluralGenitive:"{{count}} тижнів"}}),aboutXMonths:tc({regular:{singularNominative:"близько {{count}} місяця",singularGenitive:"близько {{count}} місяців",pluralGenitive:"близько {{count}} місяців"},future:{singularNominative:"приблизно за {{count}} місяць",singularGenitive:"приблизно за {{count}} місяці",pluralGenitive:"приблизно за {{count}} місяців"}}),xMonths:tc({regular:{singularNominative:"{{count}} місяць",singularGenitive:"{{count}} місяці",pluralGenitive:"{{count}} місяців"}}),aboutXYears:tc({regular:{singularNominative:"близько {{count}} року",singularGenitive:"близько {{count}} років",pluralGenitive:"близько {{count}} років"},future:{singularNominative:"приблизно за {{count}} рік",singularGenitive:"приблизно за {{count}} роки",pluralGenitive:"приблизно за {{count}} років"}}),xYears:tc({regular:{singularNominative:"{{count}} рік",singularGenitive:"{{count}} роки",pluralGenitive:"{{count}} років"}}),overXYears:tc({regular:{singularNominative:"більше {{count}} року",singularGenitive:"більше {{count}} років",pluralGenitive:"більше {{count}} років"},future:{singularNominative:"більше, ніж за {{count}} рік",singularGenitive:"більше, ніж за {{count}} роки",pluralGenitive:"більше, ніж за {{count}} років"}}),almostXYears:tc({regular:{singularNominative:"майже {{count}} рік",singularGenitive:"майже {{count}} роки",pluralGenitive:"майже {{count}} років"},future:{singularNominative:"майже за {{count}} рік",singularGenitive:"майже за {{count}} роки",pluralGenitive:"майже за {{count}} років"}})},td={date:(0,eS.Z)({formats:{full:"EEEE, do MMMM y 'р.'",long:"do MMMM y 'р.'",medium:"d MMM y 'р.'",short:"dd.MM.y"},defaultWidth:"full"}),time:(0,eS.Z)({formats:{full:"H:mm:ss zzzz",long:"H:mm:ss z",medium:"H:mm:ss",short:"H:mm"},defaultWidth:"full"}),dateTime:(0,eS.Z)({formats:{full:"{{date}} 'о' {{time}}",long:"{{date}} 'о' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},tp=n(31396),th=["неділю","понеділок","вівторок","середу","четвер","п’ятницю","суботу"];function tf(e){return"'у "+th[e]+" о' p"}var tm={lastWeek:function(e,t,n){var r=(0,tp.Z)(e),o=r.getUTCDay();return eR(r,t,n)?tf(o):function(e){var t=th[e];switch(e){case 0:case 3:case 5:case 6:return"'у минулу "+t+" о' p";case 1:case 2:case 4:return"'у минулий "+t+" о' p"}}(o)},yesterday:"'вчора о' p",today:"'сьогодні о' p",tomorrow:"'завтра о' p",nextWeek:function(e,t,n){var r=(0,tp.Z)(e),o=r.getUTCDay();return eR(r,t,n)?tf(o):function(e){var t=th[e];switch(e){case 0:case 3:case 5:case 6:return"'у наступну "+t+" о' p";case 1:case 2:case 4:return"'у наступний "+t+" о' p"}}(o)},other:"P"},tg={ordinalNumber:function(e,t){var n,r=String(null==t?void 0:t.unit),o=Number(e);return n="date"===r?3===o||23===o?"-є":"-е":"minute"===r||"second"===r||"hour"===r?"-а":"-й",o+n},era:(0,e_.Z)({values:{narrow:["до н.е.","н.е."],abbreviated:["до н. е.","н. е."],wide:["до нашої ери","нашої ери"]},defaultWidth:"wide"}),quarter:(0,e_.Z)({values:{narrow:["1","2","3","4"],abbreviated:["1-й кв.","2-й кв.","3-й кв.","4-й кв."],wide:["1-й квартал","2-й квартал","3-й квартал","4-й квартал"]},defaultWidth:"wide",argumentCallback:function(e){return e-1}}),month:(0,e_.Z)({values:{narrow:["С","Л","Б","К","Т","Ч","Л","С","В","Ж","Л","Г"],abbreviated:["січ.","лют.","берез.","квіт.","трав.","черв.","лип.","серп.","верес.","жовт.","листоп.","груд."],wide:["січень","лютий","березень","квітень","травень","червень","липень","серпень","вересень","жовтень","листопад","грудень"]},defaultWidth:"wide",formattingValues:{narrow:["С","Л","Б","К","Т","Ч","Л","С","В","Ж","Л","Г"],abbreviated:["січ.","лют.","берез.","квіт.","трав.","черв.","лип.","серп.","верес.","жовт.","листоп.","груд."],wide:["січня","лютого","березня","квітня","травня","червня","липня","серпня","вересня","жовтня","листопада","грудня"]},defaultFormattingWidth:"wide"}),day:(0,e_.Z)({values:{narrow:["Н","П","В","С","Ч","П","С"],short:["нд","пн","вт","ср","чт","пт","сб"],abbreviated:["нед","пон","вів","сер","чтв","птн","суб"],wide:["неділя","понеділок","вівторок","середа","четвер","п’ятниця","субота"]},defaultWidth:"wide"}),dayPeriod:(0,e_.Z)({values:{narrow:{am:"ДП",pm:"ПП",midnight:"півн.",noon:"пол.",morning:"ранок",afternoon:"день",evening:"веч.",night:"ніч"},abbreviated:{am:"ДП",pm:"ПП",midnight:"півн.",noon:"пол.",morning:"ранок",afternoon:"день",evening:"веч.",night:"ніч"},wide:{am:"ДП",pm:"ПП",midnight:"північ",noon:"полудень",morning:"ранок",afternoon:"день",evening:"вечір",night:"ніч"}},defaultWidth:"any",formattingValues:{narrow:{am:"ДП",pm:"ПП",midnight:"півн.",noon:"пол.",morning:"ранку",afternoon:"дня",evening:"веч.",night:"ночі"},abbreviated:{am:"ДП",pm:"ПП",midnight:"півн.",noon:"пол.",morning:"ранку",afternoon:"дня",evening:"веч.",night:"ночі"},wide:{am:"ДП",pm:"ПП",midnight:"північ",noon:"полудень",morning:"ранку",afternoon:"дня",evening:"веч.",night:"ночі"}},defaultFormattingWidth:"wide"})},ty={ordinalNumber:(0,eC.Z)({matchPattern:/^(\d+)(-?(е|й|є|а|я))?/i,parsePattern:/\d+/i,valueCallback:function(e){return parseInt(e,10)}}),era:(0,eE.Z)({matchPatterns:{narrow:/^((до )?н\.?\s?е\.?)/i,abbreviated:/^((до )?н\.?\s?е\.?)/i,wide:/^(до нашої ери|нашої ери|наша ера)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^д/i,/^н/i]},defaultParseWidth:"any"}),quarter:(0,eE.Z)({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^[1234](-?[иі]?й?)? кв.?/i,wide:/^[1234](-?[иі]?й?)? квартал/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:function(e){return e+1}}),month:(0,eE.Z)({matchPatterns:{narrow:/^[слбктчвжг]/i,abbreviated:/^(січ|лют|бер(ез)?|квіт|трав|черв|лип|серп|вер(ес)?|жовт|лис(топ)?|груд)\.?/i,wide:/^(січень|січня|лютий|лютого|березень|березня|квітень|квітня|травень|травня|червня|червень|липень|липня|серпень|серпня|вересень|вересня|жовтень|жовтня|листопад[а]?|грудень|грудня)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^с/i,/^л/i,/^б/i,/^к/i,/^т/i,/^ч/i,/^л/i,/^с/i,/^в/i,/^ж/i,/^л/i,/^г/i],any:[/^сі/i,/^лю/i,/^б/i,/^к/i,/^т/i,/^ч/i,/^лип/i,/^се/i,/^в/i,/^ж/i,/^лис/i,/^г/i]},defaultParseWidth:"any"}),day:(0,eE.Z)({matchPatterns:{narrow:/^[нпвсч]/i,short:/^(нд|пн|вт|ср|чт|пт|сб)\.?/i,abbreviated:/^(нед|пон|вів|сер|че?тв|птн?|суб)\.?/i,wide:/^(неділ[яі]|понеділ[ок][ка]|вівтор[ок][ка]|серед[аи]|четвер(га)?|п\W*?ятниц[яі]|субот[аи])/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^н/i,/^п/i,/^в/i,/^с/i,/^ч/i,/^п/i,/^с/i],any:[/^н/i,/^п[он]/i,/^в/i,/^с[ер]/i,/^ч/i,/^п\W*?[ят]/i,/^с[уб]/i]},defaultParseWidth:"any"}),dayPeriod:(0,eE.Z)({matchPatterns:{narrow:/^([дп]п|півн\.?|пол\.?|ранок|ранку|день|дня|веч\.?|ніч|ночі)/i,abbreviated:/^([дп]п|півн\.?|пол\.?|ранок|ранку|день|дня|веч\.?|ніч|ночі)/i,wide:/^([дп]п|північ|полудень|ранок|ранку|день|дня|вечір|вечора|ніч|ночі)/i},defaultMatchWidth:"wide",parsePatterns:{any:{am:/^дп/i,pm:/^пп/i,midnight:/^півн/i,noon:/^пол/i,morning:/^р/i,afternoon:/^д[ен]/i,evening:/^в/i,night:/^н/i}},defaultParseWidth:"any"})},tv={lessThanXSeconds:{one:"menos de un segundo",other:"menos de {{count}} segundos"},xSeconds:{one:"1 segundo",other:"{{count}} segundos"},halfAMinute:"medio minuto",lessThanXMinutes:{one:"menos de un minuto",other:"menos de {{count}} minutos"},xMinutes:{one:"1 minuto",other:"{{count}} minutos"},aboutXHours:{one:"alrededor de 1 hora",other:"alrededor de {{count}} horas"},xHours:{one:"1 hora",other:"{{count}} horas"},xDays:{one:"1 d\xeda",other:"{{count}} d\xedas"},aboutXWeeks:{one:"alrededor de 1 semana",other:"alrededor de {{count}} semanas"},xWeeks:{one:"1 semana",other:"{{count}} semanas"},aboutXMonths:{one:"alrededor de 1 mes",other:"alrededor de {{count}} meses"},xMonths:{one:"1 mes",other:"{{count}} meses"},aboutXYears:{one:"alrededor de 1 a\xf1o",other:"alrededor de {{count}} a\xf1os"},xYears:{one:"1 a\xf1o",other:"{{count}} a\xf1os"},overXYears:{one:"m\xe1s de 1 a\xf1o",other:"m\xe1s de {{count}} a\xf1os"},almostXYears:{one:"casi 1 a\xf1o",other:"casi {{count}} a\xf1os"}},tw={date:(0,eS.Z)({formats:{full:"EEEE, d 'de' MMMM 'de' y",long:"d 'de' MMMM 'de' y",medium:"d MMM y",short:"dd/MM/y"},defaultWidth:"full"}),time:(0,eS.Z)({formats:{full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},defaultWidth:"full"}),dateTime:(0,eS.Z)({formats:{full:"{{date}} 'a las' {{time}}",long:"{{date}} 'a las' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},tb={lastWeek:"'el' eeee 'pasado a la' p",yesterday:"'ayer a la' p",today:"'hoy a la' p",tomorrow:"'ma\xf1ana a la' p",nextWeek:"eeee 'a la' p",other:"P"},tA={lastWeek:"'el' eeee 'pasado a las' p",yesterday:"'ayer a las' p",today:"'hoy a las' p",tomorrow:"'ma\xf1ana a las' p",nextWeek:"eeee 'a las' p",other:"P"},tS={ordinalNumber:function(e,t){return Number(e)+"\xba"},era:(0,e_.Z)({values:{narrow:["AC","DC"],abbreviated:["AC","DC"],wide:["antes de cristo","despu\xe9s de cristo"]},defaultWidth:"wide"}),quarter:(0,e_.Z)({values:{narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["1\xba trimestre","2\xba trimestre","3\xba trimestre","4\xba trimestre"]},defaultWidth:"wide",argumentCallback:function(e){return Number(e)-1}}),month:(0,e_.Z)({values:{narrow:["e","f","m","a","m","j","j","a","s","o","n","d"],abbreviated:["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"],wide:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"]},defaultWidth:"wide"}),day:(0,e_.Z)({values:{narrow:["d","l","m","m","j","v","s"],short:["do","lu","ma","mi","ju","vi","s\xe1"],abbreviated:["dom","lun","mar","mi\xe9","jue","vie","s\xe1b"],wide:["domingo","lunes","martes","mi\xe9rcoles","jueves","viernes","s\xe1bado"]},defaultWidth:"wide"}),dayPeriod:(0,e_.Z)({values:{narrow:{am:"a",pm:"p",midnight:"mn",noon:"md",morning:"ma\xf1ana",afternoon:"tarde",evening:"tarde",night:"noche"},abbreviated:{am:"AM",pm:"PM",midnight:"medianoche",noon:"mediodia",morning:"ma\xf1ana",afternoon:"tarde",evening:"tarde",night:"noche"},wide:{am:"a.m.",pm:"p.m.",midnight:"medianoche",noon:"mediodia",morning:"ma\xf1ana",afternoon:"tarde",evening:"tarde",night:"noche"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mn",noon:"md",morning:"de la ma\xf1ana",afternoon:"de la tarde",evening:"de la tarde",night:"de la noche"},abbreviated:{am:"AM",pm:"PM",midnight:"medianoche",noon:"mediodia",morning:"de la ma\xf1ana",afternoon:"de la tarde",evening:"de la tarde",night:"de la noche"},wide:{am:"a.m.",pm:"p.m.",midnight:"medianoche",noon:"mediodia",morning:"de la ma\xf1ana",afternoon:"de la tarde",evening:"de la tarde",night:"de la noche"}},defaultFormattingWidth:"wide"})},tP={ordinalNumber:(0,eC.Z)({matchPattern:/^(\d+)(º)?/i,parsePattern:/\d+/i,valueCallback:function(e){return parseInt(e,10)}}),era:(0,eE.Z)({matchPatterns:{narrow:/^(ac|dc|a|d)/i,abbreviated:/^(a\.?\s?c\.?|a\.?\s?e\.?\s?c\.?|d\.?\s?c\.?|e\.?\s?c\.?)/i,wide:/^(antes de cristo|antes de la era com[uú]n|despu[eé]s de cristo|era com[uú]n)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^ac/i,/^dc/i],wide:[/^(antes de cristo|antes de la era com[uú]n)/i,/^(despu[eé]s de cristo|era com[uú]n)/i]},defaultParseWidth:"any"}),quarter:(0,eE.Z)({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^T[1234]/i,wide:/^[1234](º)? trimestre/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:function(e){return e+1}}),month:(0,eE.Z)({matchPatterns:{narrow:/^[efmajsond]/i,abbreviated:/^(ene|feb|mar|abr|may|jun|jul|ago|sep|oct|nov|dic)/i,wide:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^e/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^en/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i]},defaultParseWidth:"any"}),day:(0,eE.Z)({matchPatterns:{narrow:/^[dlmjvs]/i,short:/^(do|lu|ma|mi|ju|vi|s[áa])/i,abbreviated:/^(dom|lun|mar|mi[ée]|jue|vie|s[áa]b)/i,wide:/^(domingo|lunes|martes|mi[ée]rcoles|jueves|viernes|s[áa]bado)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^d/i,/^l/i,/^m/i,/^m/i,/^j/i,/^v/i,/^s/i],any:[/^do/i,/^lu/i,/^ma/i,/^mi/i,/^ju/i,/^vi/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:(0,eE.Z)({matchPatterns:{narrow:/^(a|p|mn|md|(de la|a las) (mañana|tarde|noche))/i,any:/^([ap]\.?\s?m\.?|medianoche|mediodia|(de la|a las) (mañana|tarde|noche))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mn/i,noon:/^md/i,morning:/mañana/i,afternoon:/tarde/i,evening:/tarde/i,night:/noche/i}},defaultParseWidth:"any"})},tk={lessThanXSeconds:{one:"menos de um segundo",other:"menos de {{count}} segundos"},xSeconds:{one:"1 segundo",other:"{{count}} segundos"},halfAMinute:"meio minuto",lessThanXMinutes:{one:"menos de um minuto",other:"menos de {{count}} minutos"},xMinutes:{one:"1 minuto",other:"{{count}} minutos"},aboutXHours:{one:"aproximadamente 1 hora",other:"aproximadamente {{count}} horas"},xHours:{one:"1 hora",other:"{{count}} horas"},xDays:{one:"1 dia",other:"{{count}} dias"},aboutXWeeks:{one:"aproximadamente 1 semana",other:"aproximadamente {{count}} semanas"},xWeeks:{one:"1 semana",other:"{{count}} semanas"},aboutXMonths:{one:"aproximadamente 1 m\xeas",other:"aproximadamente {{count}} meses"},xMonths:{one:"1 m\xeas",other:"{{count}} meses"},aboutXYears:{one:"aproximadamente 1 ano",other:"aproximadamente {{count}} anos"},xYears:{one:"1 ano",other:"{{count}} anos"},overXYears:{one:"mais de 1 ano",other:"mais de {{count}} anos"},almostXYears:{one:"quase 1 ano",other:"quase {{count}} anos"}},t_={date:(0,eS.Z)({formats:{full:"EEEE, d 'de' MMMM 'de' y",long:"d 'de' MMMM 'de' y",medium:"d 'de' MMM 'de' y",short:"dd/MM/y"},defaultWidth:"full"}),time:(0,eS.Z)({formats:{full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},defaultWidth:"full"}),dateTime:(0,eS.Z)({formats:{full:"{{date}} '\xe0s' {{time}}",long:"{{date}} '\xe0s' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},tI={lastWeek:function(e){var t=e.getUTCDay();return"'"+(0===t||6===t?"\xfaltimo":"\xfaltima")+"' eeee '\xe0s' p"},yesterday:"'ontem \xe0s' p",today:"'hoje \xe0s' p",tomorrow:"'amanh\xe3 \xe0s' p",nextWeek:"eeee '\xe0s' p",other:"P"},tx={ordinalNumber:function(e,t){return Number(e)+"\xba"},era:(0,e_.Z)({values:{narrow:["aC","dC"],abbreviated:["a.C.","d.C."],wide:["antes de Cristo","depois de Cristo"]},defaultWidth:"wide"}),quarter:(0,e_.Z)({values:{narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["1\xba trimestre","2\xba trimestre","3\xba trimestre","4\xba trimestre"]},defaultWidth:"wide",argumentCallback:function(e){return e-1}}),month:(0,e_.Z)({values:{narrow:["j","f","m","a","m","j","j","a","s","o","n","d"],abbreviated:["jan","fev","mar","abr","mai","jun","jul","ago","set","out","nov","dez"],wide:["janeiro","fevereiro","mar\xe7o","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"]},defaultWidth:"wide"}),day:(0,e_.Z)({values:{narrow:["d","s","t","q","q","s","s"],short:["dom","seg","ter","qua","qui","sex","s\xe1b"],abbreviated:["dom","seg","ter","qua","qui","sex","s\xe1b"],wide:["domingo","segunda-feira","ter\xe7a-feira","quarta-feira","quinta-feira","sexta-feira","s\xe1bado"]},defaultWidth:"wide"}),dayPeriod:(0,e_.Z)({values:{narrow:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"manh\xe3",afternoon:"tarde",evening:"noite",night:"madrugada"},abbreviated:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"manh\xe3",afternoon:"tarde",evening:"noite",night:"madrugada"},wide:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"manh\xe3",afternoon:"tarde",evening:"noite",night:"madrugada"}},defaultWidth:"wide",formattingValues:{narrow:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"da manh\xe3",afternoon:"da tarde",evening:"da noite",night:"da madrugada"},abbreviated:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"da manh\xe3",afternoon:"da tarde",evening:"da noite",night:"da madrugada"},wide:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"da manh\xe3",afternoon:"da tarde",evening:"da noite",night:"da madrugada"}},defaultFormattingWidth:"wide"})},tT={ordinalNumber:(0,eC.Z)({matchPattern:/^(\d+)(º|ª)?/i,parsePattern:/\d+/i,valueCallback:function(e){return parseInt(e,10)}}),era:(0,eE.Z)({matchPatterns:{narrow:/^(ac|dc|a|d)/i,abbreviated:/^(a\.?\s?c\.?|a\.?\s?e\.?\s?c\.?|d\.?\s?c\.?|e\.?\s?c\.?)/i,wide:/^(antes de cristo|antes da era comum|depois de cristo|era comum)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^ac/i,/^dc/i],wide:[/^(antes de cristo|antes da era comum)/i,/^(depois de cristo|era comum)/i]},defaultParseWidth:"any"}),quarter:(0,eE.Z)({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^T[1234]/i,wide:/^[1234](º|ª)? trimestre/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:function(e){return e+1}}),month:(0,eE.Z)({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|fev|mar|abr|mai|jun|jul|ago|set|out|nov|dez)/i,wide:/^(janeiro|fevereiro|março|abril|maio|junho|julho|agosto|setembro|outubro|novembro|dezembro)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ab/i,/^mai/i,/^jun/i,/^jul/i,/^ag/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:(0,eE.Z)({matchPatterns:{narrow:/^[dstq]/i,short:/^(dom|seg|ter|qua|qui|sex|s[áa]b)/i,abbreviated:/^(dom|seg|ter|qua|qui|sex|s[áa]b)/i,wide:/^(domingo|segunda-?\s?feira|terça-?\s?feira|quarta-?\s?feira|quinta-?\s?feira|sexta-?\s?feira|s[áa]bado)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^d/i,/^s/i,/^t/i,/^q/i,/^q/i,/^s/i,/^s/i],any:[/^d/i,/^seg/i,/^t/i,/^qua/i,/^qui/i,/^sex/i,/^s[áa]/i]},defaultParseWidth:"any"}),dayPeriod:(0,eE.Z)({matchPatterns:{narrow:/^(a|p|meia-?\s?noite|meio-?\s?dia|(da) (manh[ãa]|tarde|noite|madrugada))/i,any:/^([ap]\.?\s?m\.?|meia-?\s?noite|meio-?\s?dia|(da) (manh[ãa]|tarde|noite|madrugada))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^meia/i,noon:/^meio/i,morning:/manh[ãa]/i,afternoon:/tarde/i,evening:/noite/i,night:/madrugada/i}},defaultParseWidth:"any"})},tE={lessThanXSeconds:{standalone:{one:"manner w\xe9i eng Sekonn",other:"manner w\xe9i {{count}} Sekonnen"},withPreposition:{one:"manner w\xe9i enger Sekonn",other:"manner w\xe9i {{count}} Sekonnen"}},xSeconds:{standalone:{one:"eng Sekonn",other:"{{count}} Sekonnen"},withPreposition:{one:"enger Sekonn",other:"{{count}} Sekonnen"}},halfAMinute:{standalone:"eng hallef Minutt",withPreposition:"enger hallwer Minutt"},lessThanXMinutes:{standalone:{one:"manner w\xe9i eng Minutt",other:"manner w\xe9i {{count}} Minutten"},withPreposition:{one:"manner w\xe9i enger Minutt",other:"manner w\xe9i {{count}} Minutten"}},xMinutes:{standalone:{one:"eng Minutt",other:"{{count}} Minutten"},withPreposition:{one:"enger Minutt",other:"{{count}} Minutten"}},aboutXHours:{standalone:{one:"ongef\xe9ier eng Stonn",other:"ongef\xe9ier {{count}} Stonnen"},withPreposition:{one:"ongef\xe9ier enger Stonn",other:"ongef\xe9ier {{count}} Stonnen"}},xHours:{standalone:{one:"eng Stonn",other:"{{count}} Stonnen"},withPreposition:{one:"enger Stonn",other:"{{count}} Stonnen"}},xDays:{standalone:{one:"een Dag",other:"{{count}} Deeg"},withPreposition:{one:"engem Dag",other:"{{count}} Deeg"}},aboutXWeeks:{standalone:{one:"ongef\xe9ier eng Woch",other:"ongef\xe9ier {{count}} Wochen"},withPreposition:{one:"ongef\xe9ier enger Woche",other:"ongef\xe9ier {{count}} Wochen"}},xWeeks:{standalone:{one:"eng Woch",other:"{{count}} Wochen"},withPreposition:{one:"enger Woch",other:"{{count}} Wochen"}},aboutXMonths:{standalone:{one:"ongef\xe9ier ee Mount",other:"ongef\xe9ier {{count}} M\xe9int"},withPreposition:{one:"ongef\xe9ier engem Mount",other:"ongef\xe9ier {{count}} M\xe9int"}},xMonths:{standalone:{one:"ee Mount",other:"{{count}} M\xe9int"},withPreposition:{one:"engem Mount",other:"{{count}} M\xe9int"}},aboutXYears:{standalone:{one:"ongef\xe9ier ee Joer",other:"ongef\xe9ier {{count}} Joer"},withPreposition:{one:"ongef\xe9ier engem Joer",other:"ongef\xe9ier {{count}} Joer"}},xYears:{standalone:{one:"ee Joer",other:"{{count}} Joer"},withPreposition:{one:"engem Joer",other:"{{count}} Joer"}},overXYears:{standalone:{one:"m\xe9i w\xe9i ee Joer",other:"m\xe9i w\xe9i {{count}} Joer"},withPreposition:{one:"m\xe9i w\xe9i engem Joer",other:"m\xe9i w\xe9i {{count}} Joer"}},almostXYears:{standalone:{one:"bal ee Joer",other:"bal {{count}} Joer"},withPreposition:{one:"bal engem Joer",other:"bal {{count}} Joer"}}},tC=["d","h","n","t","z"],tM=["a,","e","i","o","u"],tO=[0,1,2,3,8,9],tD=[40,50,60,70];function tj(e){var t=e.charAt(0).toLowerCase();if(-1!=tM.indexOf(t)||-1!=tC.indexOf(t))return!0;var n=e.split(" ")[0],r=parseInt(n);return!isNaN(r)&&-1!=tO.indexOf(r%10)&&-1==tD.indexOf(parseInt(n.substring(0,2)))}var tU={date:(0,eS.Z)({formats:{full:"EEEE, do MMMM y",long:"do MMMM y",medium:"do MMM y",short:"dd.MM.yy"},defaultWidth:"full"}),time:(0,eS.Z)({formats:{full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},defaultWidth:"full"}),dateTime:(0,eS.Z)({formats:{full:"{{date}} 'um' {{time}}",long:"{{date}} 'um' {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},defaultWidth:"full"})},tR={lastWeek:function(e){var t=e.getUTCDay(),n="'l\xe4schte";return(2===t||4===t)&&(n+="n"),n+="' eeee 'um' p"},yesterday:"'g\xebschter um' p",today:"'haut um' p",tomorrow:"'moien um' p",nextWeek:"eeee 'um' p",other:"P"},tW={ordinalNumber:function(e,t){return Number(e)+"."},era:(0,e_.Z)({values:{narrow:["v.Chr.","n.Chr."],abbreviated:["v.Chr.","n.Chr."],wide:["viru Christus","no Christus"]},defaultWidth:"wide"}),quarter:(0,e_.Z)({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1. Quartal","2. Quartal","3. Quartal","4. Quartal"]},defaultWidth:"wide",argumentCallback:function(e){return e-1}}),month:(0,e_.Z)({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","M\xe4e","Abr","Mee","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],wide:["Januar","Februar","M\xe4erz","Abr\xebll","Mee","Juni","Juli","August","September","Oktober","November","Dezember"]},defaultWidth:"wide"}),day:(0,e_.Z)({values:{narrow:["S","M","D","M","D","F","S"],short:["So","M\xe9","D\xeb","M\xeb","Do","Fr","Sa"],abbreviated:["So.","M\xe9.","D\xeb.","M\xeb.","Do.","Fr.","Sa."],wide:["Sonndeg","M\xe9indeg","D\xebnschdeg","M\xebttwoch","Donneschdeg","Freideg","Samschdeg"]},defaultWidth:"wide"}),dayPeriod:(0,e_.Z)({values:{narrow:{am:"mo.",pm:"nom\xeb.",midnight:"M\xebtternuecht",noon:"M\xebtteg",morning:"Moien",afternoon:"Nom\xebtteg",evening:"Owend",night:"Nuecht"},abbreviated:{am:"moies",pm:"nom\xebttes",midnight:"M\xebtternuecht",noon:"M\xebtteg",morning:"Moien",afternoon:"Nom\xebtteg",evening:"Owend",night:"Nuecht"},wide:{am:"moies",pm:"nom\xebttes",midnight:"M\xebtternuecht",noon:"M\xebtteg",morning:"Moien",afternoon:"Nom\xebtteg",evening:"Owend",night:"Nuecht"}},defaultWidth:"wide",formattingValues:{narrow:{am:"mo.",pm:"nom.",midnight:"M\xebtternuecht",noon:"m\xebttes",morning:"moies",afternoon:"nom\xebttes",evening:"owes",night:"nuets"},abbreviated:{am:"moies",pm:"nom\xebttes",midnight:"M\xebtternuecht",noon:"m\xebttes",morning:"moies",afternoon:"nom\xebttes",evening:"owes",night:"nuets"},wide:{am:"moies",pm:"nom\xebttes",midnight:"M\xebtternuecht",noon:"m\xebttes",morning:"moies",afternoon:"nom\xebttes",evening:"owes",night:"nuets"}},defaultFormattingWidth:"wide"})},tN={ordinalNumber:(0,eC.Z)({matchPattern:/^(\d+)(\.)?/i,parsePattern:/\d+/i,valueCallback:function(e){return parseInt(e,10)}}),era:(0,eE.Z)({matchPatterns:{narrow:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,abbreviated:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,wide:/^(viru Christus|virun eiser Zäitrechnung|no Christus|eiser Zäitrechnung)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^v/i,/^n/i]},defaultParseWidth:"any"}),quarter:(0,eE.Z)({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](\.)? Quartal/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:function(e){return e+1}}),month:(0,eE.Z)({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mäe|abr|mee|jun|jul|aug|sep|okt|nov|dez)/i,wide:/^(januar|februar|mäerz|abrëll|mee|juni|juli|august|september|oktober|november|dezember)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mä/i,/^ab/i,/^me/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:(0,eE.Z)({matchPatterns:{narrow:/^[smdf]/i,short:/^(so|mé|dë|më|do|fr|sa)/i,abbreviated:/^(son?|méi?|dën?|mët?|don?|fre?|sam?)\.?/i,wide:/^(sonndeg|méindeg|dënschdeg|mëttwoch|donneschdeg|freideg|samschdeg)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^so/i,/^mé/i,/^dë/i,/^më/i,/^do/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:(0,eE.Z)({matchPatterns:{narrow:/^(mo\.?|nomë\.?|Mëtternuecht|mëttes|moies|nomëttes|owes|nuets)/i,abbreviated:/^(moi\.?|nomët\.?|Mëtternuecht|mëttes|moies|nomëttes|owes|nuets)/i,wide:/^(moies|nomëttes|Mëtternuecht|mëttes|moies|nomëttes|owes|nuets)/i},defaultMatchWidth:"wide",parsePatterns:{any:{am:/^m/i,pm:/^n/i,midnight:/^Mëtter/i,noon:/^mëttes/i,morning:/moies/i,afternoon:/nomëttes/i,evening:/owes/i,night:/nuets/i}},defaultParseWidth:"any"})},tH=n(2568),tL=n.n(tH),tB=n(55433),tF=n(48764).Buffer;function tK(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return tG(e,void 0);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return tG(e,void 0)}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,i=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw i}}}}function tG(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0||navigator.msMaxTouchPoints>0}var t$='You are a helpful AI assistant. Today is {local_date}, local time is {local_time}.\nIf you need to display math symbols and expressions, put them in double dollar signs "$$" (example: $$ x - 1 $$)',tQ="gpt-4o",tX=(r=(0,L.Z)(F().mark(function e(t){var n,r,o,i,a,s,u,c,l,d=arguments;return F().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=void 0!==(n=(d.length>1&&void 0!==d[1]?d[1]:{}).allowExpiredToken)&&n,o="RS256",i=new TextDecoder().decode(new Uint8Array(tq)),a=tF.from(i,"base64").toString("utf-8"),e.next=7,tJ.importSPKI(a,o);case 7:return s=e.sent,e.next=10,tJ.jwtVerify(t,s,tZ({issuer:"urn:typingmind:issuer",audience:"urn:typingmind:audience"},r?{clockTolerance:999999999}:{}));case 10:return c=(u=e.sent).payload,l=u.protectedHeader,e.abrupt("return",{payload:c,protectedHeader:l});case 14:case"end":return e.stop()}},e)})),function(e){return r.apply(this,arguments)}),t0=function(e){return tL()(e)},t1=function(e){var t,n;return e?"string"==typeof e?e:Array.isArray(e)?(null===(t=e.find(function(e){return"text"===e.type}))||void 0===t?void 0:t.text)||(null===(n=e.find(function(e){return e.text}))||void 0===n?void 0:n.text):"":""},t2=function(e){return e.map(function(e){if(!e)return null;try{var t=(e.messages||[]).filter(function(e){return"user"===e.role||"assistant"===e.role});return{id:e.id||e.chatID,chatID:e.id||e.chatID,folderID:e.folderID,model:e.model,modelInfo:e.modelInfo,createdAt:e.createdAt,updatedAt:e.updatedAt,deletedAt:e.deletedAt,syncedAt:e.syncedAt,favoritedAt:e.favoritedAt,archivedAt:e.archivedAt,preview:function(){try{var e,n,r;return t?null===(e=t1(null===(r=t.filter(function(e){return"assistant"===e.role||"user"===e.role}).slice(-1)[0])||void 0===r?void 0:r.content))||void 0===e||null===(n=e.substring)||void 0===n?void 0:n.call(e,0,50):""}catch(e){return""}}(),title:e.chatTitle,chatTitle:e.chatTitle,character:e.character?{id:e.character.id,avatarURL:e.character.avatarURL,title:e.character.title}:void 0,tags:e.tags}}catch(e){return console.error(e),null}}).filter(Boolean)},t4=function(e){return ev?"https://"+window.location.hostname:e?"https://".concat(e):"https://cloud.typingmind.com"},t3=function(e){return t4(e)},t8=function(e){return window.localStorage&&window.localStorage.getItem("__OVERRIDE_SYNC_ENDPOINT")?window.localStorage.getItem("__OVERRIDE_SYNC_ENDPOINT"):"https://cloud.typingmind.com"},t6=function(e){try{return JSON.parse(e)}catch(e){return null}},t5=(o=(0,L.Z)(F().mark(function e(){var t,n,r,o,i,a,s,u,c,l,d,p,h,f,m,g,y,v,w,b,A,S=arguments;return F().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(r=void 0!==(n=(t=S.length>0&&void 0!==S[0]?S[0]:{}).resync)&&n,o=t.settingsEnabledMap,i=t.lastSyncAt,a=t.userSettings,s=t.checkIsExampleChat,c=void 0!==(u=t.skipAPIKeys)&&u,d={updateHistory:l=t6(localStorage.getItem("TM_useStateUpdateHistory"))||{}},!o.chats){e.next=15;break}return e.next=6,tB.Q.getAllChatData();case 6:p=e.sent.filter(function(e){return!s(e.chatID)&&e.messages}).filter(function(e){return r||!e.syncedAt}),o.attachments||p.forEach(function(e){e.messages.forEach(function(e){Array.isArray(e.content)&&(e.content=e.content.filter(function(e){return"text"===e.type}))})}),h=t6(localStorage.getItem("TM_useDeletedChatIDs"))||[],d.chats=p,d.deletedChatIDs=h,f=(t6((0,ey.cF)().getItem("TM_useFolderList"))||[]).filter(function(e){return r||!e.syncedAt}),m=t6((0,ey.cF)().getItem("TM_useDeletedFolderIDs"))||[],d.folders=f,d.deletedFolderIDs=m;case 15:if(!o.prompts){e.next=25;break}return g=t6((0,ey.cF)().getItem("TM_useDeletedPromptIDs"))||[],e.next=19,(0,ey.CQ)().get("TM_useUserPrompts");case 19:if(e.t0=e.sent,e.t0){e.next=22;break}e.t0=[];case 22:y=e.t0.filter(function(e){return r||!e.syncedAt}),d.userPrompts=y,d.deletedPromptIDs=g;case 25:if(!o.characters){e.next=35;break}return v=t6((0,ey.cF)().getItem("TM_useDeletedCharacterIDs"))||[],e.next=29,(0,ey.CQ)().get("TM_useUserCharacters");case 29:if(e.t1=e.sent,e.t1){e.next=32;break}e.t1=[];case 32:w=e.t1.filter(function(e){return r||!e.syncedAt}),d.userCharacters=w,d.deletedCharacterIDs=v;case 35:if(!o.plugins){e.next=45;break}return b=t6((0,ey.cF)().getItem("TM_useDeletedPluginIDs"))||[],e.next=39,(0,ey.CQ)().get("TM_useInstalledPlugins");case 39:if(e.t2=e.sent,e.t2){e.next=42;break}e.t2=[];case 42:A=e.t2.filter(function(e){return r||!e.syncedAt}),d.plugins=A,d.deletedPluginIDs=b;case 45:return d.userSettings={},["profile","preferences","modelSettings","chatOutputSettings","keyboardShortcuts","customModels","latestSeenUpdate","pluginSettings","memorySettings","characters","prompts"].concat((0,N.Z)(c?[]:["apiKeys"])).forEach(function(e){o[e]&&Object.keys(a).filter(function(t){return a[t].section===e}).forEach(function(e){var t=a[e];new Date(l[e])>new Date(i)&&(d.userSettings[e]=t6((0,ey.cF)().getItem(t.localStorageKey)))})}),e.abrupt("return",d);case 48:case"end":return e.stop()}},e)})),function(){return o.apply(this,arguments)}),t7=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.metadata;return"\n\n\n".concat((null==n?void 0:n.name)||"(Empty)","\n\n\n").concat(e,"\n\n\n")},t9=function(e){var t,n=(t={"gpt-4":{prompt:.03,completion:.06},"gpt-4-0314":{prompt:.03,completion:.06},"gpt-4-0613":{prompt:.03,completion:.06},"gpt-4-32k":{prompt:.06,completion:.12},"gpt-4-32k-0314":{prompt:.06,completion:.12},"gpt-4-1106-preview":{prompt:.01,completion:.03},"gpt-4-0125-preview":{prompt:.01,completion:.03},"gpt-4o":{prompt:.005,completion:.015},"gpt-4-turbo":{prompt:.01,completion:.03},"gpt-4-turbo-preview":{prompt:.01,completion:.03},"gpt-4-1106-vision-preview":{prompt:.01,completion:.03},"gpt-4-vision-preview":{prompt:.01,completion:.03},"gpt-3.5-turbo":{prompt:5e-4,completion:.0015},"gpt-3.5-turbo-16k":{prompt:.003,completion:.004},"gpt-3.5-turbo-0301":{prompt:.002,completion:.002},"gpt-3.5-turbo-0613":{prompt:.002,completion:.002}},(0,H.Z)(t,"gpt-3.5-turbo-0613",{prompt:.0015,completion:.002}),(0,H.Z)(t,"gpt-3.5-turbo-1106",{prompt:.0015,completion:.002}),(0,H.Z)(t,"gpt-3.5-turbo-0125",{prompt:5e-4,completion:.0015}),(0,H.Z)(t,"claude-3-5-sonnet-20240620",{prompt:.003,completion:.015}),(0,H.Z)(t,"claude-3-opus-20240229",{prompt:.015,completion:.075}),(0,H.Z)(t,"claude-3-sonnet-20240229",{prompt:.003,completion:.015}),(0,H.Z)(t,"claude-3-haiku-20240307",{prompt:.0025,completion:.00125}),(0,H.Z)(t,"claude-v1",{prompt:.01102,completion:.03268}),(0,H.Z)(t,"claude-v1-100k",{prompt:.01102,completion:.03268}),(0,H.Z)(t,"claude-instant-v1",{prompt:.00163,completion:.00551}),(0,H.Z)(t,"claude-instant-v1-100k",{prompt:.00163,completion:.00551}),(0,H.Z)(t,"claude-1",{prompt:.01102,completion:.03268}),(0,H.Z)(t,"claude-1-100k",{prompt:.01102,completion:.03268}),(0,H.Z)(t,"claude-instant-1",{prompt:.00163,completion:.00551}),(0,H.Z)(t,"claude-instant-1.2",{prompt:.00163,completion:.00551}),(0,H.Z)(t,"claude-instant-1-100k",{prompt:.00163,completion:.00551}),(0,H.Z)(t,"claude-2",{prompt:.01102,completion:.03268}),(0,H.Z)(t,"zero",{prompt:0,completion:0}),t),r=0,o=0,i=0,a=0,s=e.usage||{},u=s.completion_tokens,c=void 0===u?0:u,l=s.prompt_tokens,d=void 0===l?0:l,p=n[e.model]||n.zero,h=d*p.prompt/1e3+c*p.completion/1e3;return"message"===e.type?(r+=c+d,o+=h):(i+=c+d,a+=h),ne({totalCostUSD:h,totalTokens:c+d,enhancedTokens:i,enhancedCostUSD:a,messageTokens:r,messageCostUSD:o})},ne=function(e){return e?Object.keys(e).reduce(function(t,n){return"number"==typeof e[n]?t[n]=Math.round(1e6*e[n])/1e6:t[n]=e[n],t},{}):e},nt=function(e,t){try{var n=t9(t);return{totalCostUSD:n.totalCostUSD+((null==e?void 0:e.totalCostUSD)||0),totalTokens:n.totalTokens+((null==e?void 0:e.totalTokens)||0),enhancedTokens:n.enhancedTokens+((null==e?void 0:e.enhancedTokens)||0),enhancedCostUSD:n.enhancedCostUSD+((null==e?void 0:e.enhancedCostUSD)||0),messageTokens:n.messageTokens+((null==e?void 0:e.messageTokens)||0),messageCostUSD:n.messageCostUSD+((null==e?void 0:e.messageCostUSD)||0),recordedAt:t.recordedAt}}catch(e){throw console.error("failed to update new token usage:",e),e}},nn=function(e,{cacheKey:t,cache:n=new Map,maxAge:r}={}){"number"==typeof r&&el(n);let o=function(...o){let i=t?t(o):o[0],a=n.get(i);if(a)return a.data;let s=e.apply(this,o);return n.set(i,{data:s,maxAge:r?Date.now()+r:Number.POSITIVE_INFINITY}),s};return!function(e,t,{ignoreNonConfigurable:n=!1}={}){let{name:r}=e;for(let r of Reflect.ownKeys(t))er(e,t,r,n);ei(e,t),ec(e,t,r)}(o,e,{ignoreNonConfigurable:!0}),ed.set(o,n),o}(function(e){return e&&"string"==typeof e?Math.max(Math.round(1.33*e.split(" ").length),Math.round(e.length/4)):0}),nr=["48835","823390"],no=["48836","823722"],ni={chats:!0,prompts:!0,characters:!0,plugins:!0,profile:!0,preferences:!0,modelSettings:!0,chatOutputSettings:!0,keyboardShortcuts:!0,customModels:!0,latestSeenUpdate:!0,pluginSettings:!0,memorySettings:!0,attachments:!0,apiKeys:!0},na=function e(t,n){var r,o,i,a,s,u=t.split("."),c=(0,W.Z)(u,2),l=c[0],d=c[1];return"object"==typeof(r=d?null!==(o=null==n||null===(i=n[l])||void 0===i?void 0:i[d])&&void 0!==o?o:null===(a=nO[l])||void 0===a?void 0:a[d]:null!==(s=null==n?void 0:n[l])&&void 0!==s?s:nO[l])?Object.keys(r).some(function(r){return e("".concat(t,".").concat(r),n)}):!!r},ns=function(e,t){var n,r;return null===(n=({basic:["premiumCharacters","fillContentWithAI","uploadDocuments"],standard:["premiumCharacters","fillContentWithAI","uploadDocuments"],extended:["premiumCharacters","fillContentWithAI","textToSpeech","webSearch","uploadDocuments"],premium:["premiumCharacters","fillContentWithAI","textToSpeech","webSearch","unlimitedPlugins","uploadDocuments","vision"]})[null==t||null===(r=t.payload)||void 0===r?void 0:r.plan])||void 0===n?void 0:n.includes(e)},nu=(i=(0,L.Z)(F().mark(function e(){var t;return F().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:e.next=2;break;case 2:if(!(!(t=t6((0,ey.cF)().getItem("TM_useUserPrompts")))||!Array.isArray(t))){e.next=5;break}return e.abrupt("return");case 5:return e.next=7,(0,ey.CQ)().set("TM_useUserPrompts",t);case 7:(0,ey.cF)().removeItem("TM_useUserPrompts");case 8:case"end":return e.stop()}},e)})),function(){return i.apply(this,arguments)}),nc=(a=(0,L.Z)(F().mark(function e(){var t;return F().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:e.next=2;break;case 2:if(!(!(t=t6((0,ey.cF)().getItem("TM_useUserCharacters")))||!Array.isArray(t))){e.next=5;break}return e.abrupt("return");case 5:return e.next=7,(0,ey.CQ)().set("TM_useUserCharacters",t);case 7:(0,ey.cF)().removeItem("TM_useUserCharacters");case 8:case"end":return e.stop()}},e)})),function(){return a.apply(this,arguments)}),nl=(s=(0,L.Z)(F().mark(function e(){var t;return F().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:e.next=2;break;case 2:if(!(!(t=t6((0,ey.cF)().getItem("TM_useInstalledPlugins")))||!Array.isArray(t))){e.next=5;break}return e.abrupt("return");case 5:return e.next=7,(0,ey.CQ)().set("TM_useInstalledPlugins",t);case 7:(0,ey.cF)().removeItem("TM_useInstalledPlugins");case 8:case"end":return e.stop()}},e)})),function(){return s.apply(this,arguments)}),nd=(u=(0,L.Z)(F().mark(function e(){var t,n;return F().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:e.next=2;break;case 2:if(!(!(t=t6((0,ey.cF)().getItem("TM_useChatList")))||!Array.isArray(t))){e.next=5;break}return e.abrupt("return");case 5:n=0,t.forEach(function(e){null!=e&&e.documentText&&(delete e.documentText,n++),null!=e&&e.systemMessage&&(delete e.systemMessage,n++)}),n>0&&(console.log("migrateDeleteDocumentTextOutOfChatListLocalStorage:",n),(0,ey.cF)().setItem("TM_useChatList",JSON.stringify(t)));case 8:case"end":return e.stop()}},e)})),function(){return u.apply(this,arguments)}),np=(c=(0,L.Z)(F().mark(function e(){var t,n;return F().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:e.next=2;break;case 2:try{t=(0,ey.cF)().getItem("TM_useFolderList"),n=t6(t),Array.isArray(n)||(console.log("migrateFixFolderList: done"),(0,ey.cF)().setItem("TM_useFolderList",JSON.stringify([])))}catch(e){console.error(e)}case 3:case"end":return e.stop()}},e)})),function(){return c.apply(this,arguments)}),nh=(l=(0,L.Z)(F().mark(function e(){var t;return F().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:e.next=2;break;case 2:"https://anthropic-proxy.typingmind.com/api/claude/v1"===(t=t6((0,ey.cF)().getItem("TM_useCurrentAnthropicEndpoint")))&&(console.log("migrateNewClaudeProxy: done"),(0,ey.cF)().setItem("TM_useCurrentAnthropicEndpoint",JSON.stringify("https://cloud2.typingmind.com/api/claude/v1/messages"))),"https://cloud2.typingmind.com/api/claude/v1"===t&&(console.log("migrateNewClaudeProxy 2: done"),(0,ey.cF)().setItem("TM_useCurrentAnthropicEndpoint",JSON.stringify("https://cloud2.typingmind.com/api/claude/v1/messages")));case 5:case"end":return e.stop()}},e)})),function(){return l.apply(this,arguments)}),nf=(d=(0,L.Z)(F().mark(function e(){var t,n,r,o;return F().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:e.next=2;break;case 2:try{t=t6((0,ey.cF)().getItem("TM_useCustomSearchAPIKey")),n=t6((0,ey.cF)().getItem("TM_useCustomSearchEngineID")),r=(0,ey.cF)().getItem("TM_useUserPluginSettings"),o=t6(r),t&&n&&o&&((0,ey.cF)().setItem("TM_useUserPluginSettings",JSON.stringify(tZ(tZ({},o),{},{get_web_search_results:{searchEngineID:n,searchEngineAPIKey:t}}))),(0,ey.cF)().setItem("TM_useCustomSearchAPIKey",""),(0,ey.cF)().setItem("TM_useCustomSearchEngineID",""),console.log("migrateNewWebSearchPlugin: done"))}catch(e){console.error(e)}case 3:case"end":return e.stop()}},e)})),function(){return d.apply(this,arguments)}),nm=(p=(0,L.Z)(F().mark(function e(){var t,n;return F().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:e.next=2;break;case 2:"gpt-3.5-turbo-0613"===(t=t6((0,ey.cF)().getItem("TM_useDefaultModel")))&&(n="gpt-3.5-turbo"),"setapp-gpt-3.5-turbo-0613"===t&&(n="setapp-gpt-3.5-turbo"),"gpt-4-0613"===t&&(n="gpt-4"),["claude-v1","claude-v1-100k","claude-instant-v1","claude-instant-v1-100k"].includes(t)&&(n=t.replace("v1","1")),n&&(console.log("Migrated new model",n),(0,ey.cF)().setItem("TM_useDefaultModel",n));case 8:case"end":return e.stop()}},e)})),function(){return p.apply(this,arguments)}),ng=(h=(0,L.Z)(F().mark(function e(){var t,n,r;return F().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:e.next=2;break;case 2:if(!(!(t=t6((0,ey.cF)().getItem("TM_useUserCharacters")))||!Array.isArray(t))){e.next=5;break}return e.abrupt("return");case 5:n=(0,N.Z)(t),r=0,n=n.map(function(e){return"system"===e.type?(r+=1,tZ(tZ({},e),{},{id:"character-"+(0,ef.Z)(),type:void 0})):e}),r>0&&(console.log("Migrated characters",n.length),(0,ey.cF)().setItem("TM_useUserCharacters",JSON.stringify(n)));case 9:case"end":return e.stop()}},e)})),function(){return h.apply(this,arguments)}),ny=(f=(0,L.Z)(F().mark(function e(){return F().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:e.next=2;break;case 2:(0,ey.cF)().removeItem("TM_useTokenUsage");case 3:case"end":return e.stop()}},e)})),function(){return f.apply(this,arguments)}),nv=(m=(0,L.Z)(F().mark(function e(){var t;return F().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:e.next=2;break;case 2:if(!(!(t=t6((0,ey.cF)().getItem("TM_useChatsInFolder")))||"object"!=typeof t)){e.next=5;break}return e.abrupt("return");case 5:return e.prev=5,e.next=8,Promise.all(Object.keys(t).map(function(){var e=(0,L.Z)(F().mark(function e(n){return F().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(Array.isArray(t[n])){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,tB.Q.bulkUpdateChatFields(Object.fromEntries(t[n].map(function(e){return[e,function(e){return null!=e&&e.folderID?{}:{folderID:n}}]})));case 4:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}()));case 8:(0,ey.cF)().removeItem("TM_useChatsInFolder"),console.log("migrated chat folders successfully"),e.next=15;break;case 12:e.prev=12,e.t0=e.catch(5),console.error("migrate chat folders failed");case 15:case"end":return e.stop()}},e,null,[[5,12]])})),function(){return m.apply(this,arguments)}),nw=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;if(0===e)return"0 Bytes";var n=Math.floor(Math.log(e)/Math.log(1024));return"".concat(parseFloat((e/Math.pow(1024,n)).toFixed(t<0?0:t))," ").concat(["Bytes","KB","MB","GB","TB"][n])},nb={search:"K",sidebar:"B",newChat:"N",resetChat:"R",regenerate:"E",share:"S",clearContext:"J",togglePlugins:"P",copyLastMessage:"C"},nA=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},nS=(R={"claude-3-5-sonnet-20240620":{id:"claude-3-5-sonnet-20240620",modelID:"claude-3-5-sonnet-20240620",fastCheapFallback:"claude-3-5-sonnet-20240620",title:"Claude 3.5 Sonnet",contextLength:2e5,source:"Claude",details:"OpenAI's new flagship model that can reason across audio, vision, and text in real time.",apiType:"claude",pluginSupported:!0,visionSupported:!0,userIdentitySupported:!0,hasStreamUsageReport:!0,new:!0},"gpt-4o":{id:"gpt-4o",modelID:"gpt-4o",fastCheapFallback:"gpt-3.5-turbo",title:"GPT-4o",contextLength:128e3,source:"OpenAI",details:"OpenAI's new flagship model that can reason across audio, vision, and text in real time.",apiType:"openai",pluginSupported:!0,visionSupported:!0,userIdentitySupported:!0,hasStreamUsageReport:!0,new:!1},"gpt-4o-2024-05-13":{id:"gpt-4o-2024-05-13",modelID:"gpt-4o-2024-05-13",fastCheapFallback:"gpt-3.5-turbo",title:"GPT-4o (2024-05-13)",contextLength:128e3,source:"OpenAI",details:"The snapshot of GPT-4o model version 2024-05-13.",apiType:"openai",pluginSupported:!0,visionSupported:!0,userIdentitySupported:!0,hasStreamUsageReport:!0,old:!0},"gpt-4-turbo":{id:"gpt-4-turbo",modelID:"gpt-4-turbo",fastCheapFallback:"gpt-3.5-turbo",title:"GPT-4 Turbo",contextLength:128e3,source:"OpenAI",details:"OpenAI's turbo model (2024-04-09) with vision capabilities.",apiType:"openai",pluginSupported:!0,visionSupported:!0,userIdentitySupported:!0,hasStreamUsageReport:!0},"gpt-4-turbo-preview":{id:"gpt-4-turbo-preview",modelID:"gpt-4-turbo-preview",fastCheapFallback:"gpt-3.5-turbo",title:"GPT-4 Turbo (Preview)",contextLength:128e3,source:"OpenAI",details:"GPT-4 Turbo Preview model, smarter than GPT-4 and comes with 128K context limit.",apiType:"openai",pluginSupported:!0,hasStreamUsageReport:!0,userIdentitySupported:!0,old:!0},"gpt-4-1106-preview":{id:"gpt-4-1106-preview",old:!0,modelID:"gpt-4-1106-preview",fastCheapFallback:"gpt-3.5-turbo",title:"GPT-4 Turbo (1106)",contextLength:128e3,source:"OpenAI",details:"OpenAI's latest model, smarter than GPT-4 and comes with 128K context limit.",apiType:"openai",pluginSupported:!0,userIdentitySupported:!0},"gpt-4-0125-preview":{id:"gpt-4-0125-preview",old:!0,modelID:"gpt-4-0125-preview",fastCheapFallback:"gpt-3.5-turbo",title:"GPT-4 Turbo (0125)",contextLength:128e3,source:"OpenAI",details:"OpenAI's latest model, smarter than GPT-4 and comes with 128K context limit.",apiType:"openai",pluginSupported:!0,userIdentitySupported:!0,hasStreamUsageReport:!0},"gpt-4-1106-vision-preview":{id:"gpt-4-1106-vision-preview",modelID:"gpt-4-1106-vision-preview",fastCheapFallback:"gpt-3.5-turbo",title:"GPT-4 Turbo Vision",contextLength:128e3,source:"OpenAI",details:"The GPT-4 model with vision capability that understands images.",apiType:"openai",pluginSupported:!0,userIdentitySupported:!0,hasStreamUsageReport:!0,visionSupported:!0},"gpt-4-vision-preview":{id:"gpt-4-vision-preview",modelID:"gpt-4-vision-preview",fastCheapFallback:"gpt-3.5-turbo",title:"GPT-4 Vision",contextLength:128e3,source:"OpenAI",details:"The GPT-4 model with vision capability that understands images.",apiType:"openai",pluginSupported:!1,userIdentitySupported:!0,hasStreamUsageReport:!0,visionSupported:!0,bodyParams:{max_tokens:1e3}},"gemini-1.5-pro-latest":{id:"gemini-1.5-pro-latest",modelID:"gemini-1.5-pro-latest",title:"Gemini 1.5 Pro (Deprecated)",contextLength:1048576,source:"Gemini",details:"Mid-size multimodal model that supports up to 1 million tokens",apiType:"gemini",pluginSupported:!0,visionSupported:!0,old:!0},"gemini-1.5-pro-2m-latest":{id:"gemini-1.5-pro-2m-latest",modelID:"gemini-1.5-pro-2m-latest",title:"Gemini 1.5 Pro 2M (Deprecated)",contextLength:2097152,source:"Gemini",details:"Multimodal model that supports up to 2 million tokens",apiType:"gemini",pluginSupported:!0,visionSupported:!0,old:!0},"gemini-1.5-pro":{id:"gemini-1.5-pro",modelID:"gemini-1.5-pro",title:"Gemini 1.5 Pro 2M",contextLength:2097152,source:"Gemini",details:"Multimodal model that supports up to 2 million tokens",apiType:"gemini",pluginSupported:!0,visionSupported:!0,new:!1},"gemini-1.5-flash-latest":{id:"gemini-1.5-flash-latest",modelID:"gemini-1.5-flash-latest",title:"Gemini 1.5 Flash",contextLength:1048576,source:"Gemini",details:"Fast and versatile multimodal model for scaling across diverse tasks",apiType:"gemini",pluginSupported:!0,visionSupported:!0,new:!1},"gemini-ultra":{id:"gemini-ultra",modelID:"gemini-ultra",title:"Gemini 1.0 Ultra",contextLength:30720,source:"Gemini",details:"The best model for scaling across a wide range of tasks",apiType:"gemini",pluginSupported:!1,visionSupported:!1},"gemini-pro":{id:"gemini-pro",modelID:"gemini-pro",title:"Gemini 1.0 Pro",contextLength:30720,source:"Gemini",details:"The best model for scaling across a wide range of tasks",apiType:"gemini",pluginSupported:!0,visionSupported:!1},"gemini-pro-vision":{id:"gemini-pro-vision",modelID:"gemini-pro-vision",title:"Gemini 1.0 Pro Vision (Deprecated)",contextLength:12288,source:"Gemini",details:"The best image understanding model to handle a broad range of applications",apiType:"gemini",pluginSupported:!1,visionSupported:!0,old:!0},"gpt-3.5-turbo-1106":{id:"gpt-3.5-turbo-1106",modelID:"gpt-3.5-turbo-1106",fastCheapFallback:"gpt-3.5-turbo",title:"GPT-3.5 (1106)",contextLength:16e3,source:"OpenAI",details:"The new 3.5 Turbo model with improved instruction following, JSON mode, and parallel function calling.",apiType:"openai",pluginSupported:!0,userIdentitySupported:!0,hasStreamUsageReport:!0,old:!0},"gpt-3.5-turbo-0125":{id:"gpt-3.5-turbo-0125",modelID:"gpt-3.5-turbo-0125",fastCheapFallback:"gpt-3.5-turbo",title:"GPT-3.5 (0125)",contextLength:16e3,source:"OpenAI",details:"The new 3.5 Turbo model, cheaper, with improved instruction following, JSON mode, and parallel function calling.",apiType:"openai",pluginSupported:!0,userIdentitySupported:!0,hasStreamUsageReport:!0},"gpt-3.5-turbo":{id:"gpt-3.5-turbo",modelID:"gpt-3.5-turbo",fastCheapFallback:"gpt-3.5-turbo",title:"GPT-3.5",contextLength:16e3,source:"OpenAI",details:"OpenAI's fastest model, great for most everyday tasks.",apiType:"openai",pluginSupported:!0,userIdentitySupported:!0,hasStreamUsageReport:!0},"gpt-3.5-turbo-0301":{id:"gpt-3.5-turbo-0301",modelID:"gpt-3.5-turbo-0301",fastCheapFallback:"gpt-3.5-turbo",title:"GPT-3.5 (0301)",contextLength:4096,source:"OpenAI",old:!0,details:"The old model of GPT-3.5 (gpt-3.5-turbo-0301). OpenAI will support this model until at least June 13, 2024.",apiType:"openai",pluginSupported:!1,userIdentitySupported:!0,hasStreamUsageReport:!0},"gpt-3.5-turbo-0613":{id:"gpt-3.5-turbo-0613",modelID:"gpt-3.5-turbo-0613",fastCheapFallback:"gpt-3.5-turbo",title:"GPT-3.5 (0613)",contextLength:4096,source:"OpenAI",details:"The old model of GPT-3.5 (gpt-3.5-turbo-0613). OpenAI will support this model until at least June 13, 2024.",apiType:"openai",pluginSupported:!1,userIdentitySupported:!0,hasStreamUsageReport:!0,old:!0},"gpt-3.5-turbo-16k":{id:"gpt-3.5-turbo-16k",modelID:"gpt-3.5-turbo-16k",fastCheapFallback:"gpt-3.5-turbo",title:"GPT-3.5 16K",contextLength:16384,source:"OpenAI",details:"The 16k context length version of GPT-3.5 model at twice the price.",apiType:"openai",pluginSupported:!0,userIdentitySupported:!0,hasStreamUsageReport:!0}},(0,H.Z)(R,"gpt-3.5-turbo-0613",{id:"gpt-3.5-turbo-0613",modelID:"gpt-3.5-turbo-0613",fastCheapFallback:"gpt-3.5-turbo",title:"GPT-3.5 (0613)",contextLength:4096,source:"OpenAI",details:"OpenAI's fastest model, great for most everyday tasks.",apiType:"openai",pluginSupported:!0,userIdentitySupported:!0,hasStreamUsageReport:!0,old:!0}),(0,H.Z)(R,"gpt-4",{id:"gpt-4",modelID:"gpt-4",fastCheapFallback:"gpt-3.5-turbo",title:"GPT-4",contextLength:8192,source:"OpenAI",details:"OpenAI's most capable model, great for tasks that require creativity and advanced reasoning.",apiType:"openai",pluginSupported:!0,userIdentitySupported:!0,hasStreamUsageReport:!0}),(0,H.Z)(R,"gpt-4-0314",{id:"gpt-4-0314",modelID:"gpt-4-0314",fastCheapFallback:"gpt-3.5-turbo",title:"GPT-4 (0314)",contextLength:8192,source:"OpenAI",details:"The old model of GPT-4 (gpt-4-0314). OpenAI will support this model until at least June 13, 2024.",apiType:"openai",pluginSupported:!1,userIdentitySupported:!0,hasStreamUsageReport:!0,old:!0}),(0,H.Z)(R,"gpt-4-32k",{id:"gpt-4-32k",modelID:"gpt-4-32k",fastCheapFallback:"gpt-3.5-turbo",title:"GPT-4 32K",contextLength:32e3,source:"OpenAI",details:"Great for tasks that require a lot of context.",apiType:"openai",pluginSupported:!0,userIdentitySupported:!0,hasStreamUsageReport:!0,old:!0}),(0,H.Z)(R,"gpt-4-0613",{id:"gpt-4-0613",modelID:"gpt-4-0613",fastCheapFallback:"gpt-3.5-turbo",title:"GPT-4 (0613)",contextLength:8192,source:"OpenAI",details:"An old model of GPT-4 (0613)",apiType:"openai",pluginSupported:!0,userIdentitySupported:!0,hasStreamUsageReport:!0,old:!0}),(0,H.Z)(R,"gpt-4-32k-0314",{id:"gpt-4-32k-0314",modelID:"gpt-4-32k-0314",fastCheapFallback:"gpt-3.5-turbo",title:"GPT-4 32K (0314)",contextLength:32e3,source:"OpenAI",details:"An old model of GPT-4-32K (0314)",apiType:"openai",pluginSupported:!1,userIdentitySupported:!0,hasStreamUsageReport:!0,old:!0}),(0,H.Z)(R,"gpt-4-32k-0613",{id:"gpt-4-32k-0613",modelID:"gpt-4-32k-0613",fastCheapFallback:"gpt-3.5-turbo",title:"GPT-4 32K (0613)",contextLength:32e3,source:"OpenAI",details:"An old model of GPT-4-32K (0613)",apiType:"openai",pluginSupported:!1,userIdentitySupported:!0,hasStreamUsageReport:!0,old:!0}),(0,H.Z)(R,"claude-v1",{id:"claude-v1",modelID:"claude-v1",fastCheapFallback:"claude-instant-v1",title:"Claude",contextLength:1e5,source:"Anthropic",details:"Ideal for a wide range of tasks.",apiType:"claude",old:!0}),(0,H.Z)(R,"claude-1",{id:"claude-1",modelID:"claude-1",fastCheapFallback:"claude-instant-1",title:"Claude 1",contextLength:1e5,source:"Anthropic",details:"Ideal for a wide range of tasks.",apiType:"claude",old:!0}),(0,H.Z)(R,"claude-2.1",{id:"claude-2.1",modelID:"claude-2.1",fastCheapFallback:"claude-instant-1.2",title:"Claude 2.1",contextLength:2e5,source:"Anthropic",details:"Anthropic's largest model with 200K tokens context length.",apiType:"claude",old:!0}),(0,H.Z)(R,"claude-2",{id:"claude-2",modelID:"claude-2",fastCheapFallback:"claude-instant-1.2",title:"Claude 2",contextLength:1e5,source:"Anthropic",details:"Anthropic's previous largest model with 100K tokens context length.",apiType:"claude",old:!0}),(0,H.Z)(R,"claude-3-opus-20240229",{id:"claude-3-opus-20240229",modelID:"claude-3-opus-20240229",fastCheapFallback:"claude-3-opus-20240229",title:"Claude 3 Opus",contextLength:2e5,source:"Anthropic",details:"Anthropic's most powerful model for highly complex tasks. Top-level performance, intelligence, fluency, and understanding.",apiType:"claude",visionSupported:!0,pluginSupported:!0}),(0,H.Z)(R,"claude-3-sonnet-20240229",{id:"claude-3-sonnet-20240229",modelID:"claude-3-sonnet-20240229",fastCheapFallback:"claude-3-sonnet-20240229",title:"Claude 3 Sonnet",contextLength:2e5,source:"Anthropic",details:"Anthropic's new model with ideal balance of intelligence and speed for enterprise workloads.",apiType:"claude",visionSupported:!0,pluginSupported:!0}),(0,H.Z)(R,"claude-3-haiku-20240307",{id:"claude-3-haiku-20240307",modelID:"claude-3-haiku-20240307",fastCheapFallback:"claude-3-haiku-20240307",title:"Claude 3 Haiku",contextLength:2e5,source:"Anthropic",details:"Anthropic's fastest and most affordable model in its intelligence class",apiType:"claude",visionSupported:!0,pluginSupported:!0}),(0,H.Z)(R,"claude-v1-100k",{id:"claude-v1-100k",modelID:"claude-v1-100k",fastCheapFallback:"claude-instant-v1",title:"Claude 100K",contextLength:1e5,source:"Anthropic",details:"Enhanced version of Claude with 100K context length.",apiType:"claude",old:!0}),(0,H.Z)(R,"claude-1-100k",{id:"claude-1-100k",modelID:"claude-1-100k",fastCheapFallback:"claude-instant-1",title:"Claude 100K",contextLength:1e5,source:"Anthropic",details:"An enhanced version of Claude V1 with a 100,000 token (roughly 75,000 word) context window. Ideal for summarizing, analyzing, and querying long documents and conversations for nuanced understanding of complex topics and relationships across very long spans of text.",apiType:"claude",old:!0}),(0,H.Z)(R,"claude-instant-v1",{id:"claude-instant-v1",modelID:"claude-instant-v1",fastCheapFallback:"claude-instant-v1",title:"Claude Instant",contextLength:1e4,source:"Anthropic",details:"Anthropic's smaller model with far lower latency.",apiType:"claude",old:!0}),(0,H.Z)(R,"claude-instant-1",{id:"claude-instant-1",modelID:"claude-instant-1",fastCheapFallback:"claude-instant-1",title:"Claude Instant",contextLength:1e5,source:"Anthropic",details:"Anthropic's smaller model with far lower latency.",apiType:"claude",old:!0}),(0,H.Z)(R,"claude-instant-1.2",{id:"claude-instant-1.2",modelID:"claude-instant-1.2",fastCheapFallback:"claude-instant-1.2",title:"Claude Instant 1.2",contextLength:1e5,source:"Anthropic",details:"The latest model of Claude Instant, with improvements to its output quality.",apiType:"claude"}),(0,H.Z)(R,"claude-instant-v1-100k",{id:"claude-instant-v1-100k",modelID:"claude-instant-v1-100k",fastCheapFallback:"claude-instant-v1",title:"Claude Instant 100K",contextLength:1e5,source:"Anthropic",details:"An enhanced version of claude-instant-v1 with a 100,000 token context window that retains its performance.",apiType:"claude",old:!0}),(0,H.Z)(R,"claude-instant-1-100k",{id:"claude-instant-1-100k",modelID:"claude-instant-1-100k",fastCheapFallback:"claude-instant-1",title:"Claude Instant 100K",contextLength:1e5,source:"Anthropic",details:"An enhanced version of claude-instant-v1 with a 100,000 token context window that retains its performance.",apiType:"claude",old:!0}),(0,H.Z)(R,"setapp-gpt-3.5-turbo",{id:"setapp-gpt-3.5-turbo",modelID:"setapp-gpt-3.5-turbo",fastCheapFallback:"setapp-gpt-3.5-turbo",title:"Setapp (GPT-3.5)",contextLength:16384,source:"Setapp",details:"A free version of OpenAI's GPT-3.5 provided by Setapp. Notice: Your API requests will be proxied through Setapp's server.",endpoint:"/api/hosted/tm_completions",apiType:"setapp",skipAPIKey:!0,pluginSupported:!0,userIdentitySupported:!0,system:!0}),(0,H.Z)(R,"setapp-gpt-4",{id:"setapp-gpt-4",modelID:"setapp-gpt-4",fastCheapFallback:"setapp-gpt-3.5-turbo",title:"Setapp (GPT-4)",contextLength:8192,source:"Setapp",details:"A free version of OpenAI's GPT-4 provided by Setapp. Notice: Your API requests will be proxied through Setapp's server.",endpoint:"/api/hosted/tm_completions",apiType:"setapp",skipAPIKey:!0,pluginSupported:!0,userIdentitySupported:!0,system:!0}),(0,H.Z)(R,"setapp-gpt-4-1106-preview",{id:"setapp-gpt-4-1106-preview",title:"Setapp GPT-4 Turbo (1106)",apiType:"setapp",modelID:"setapp-gpt-4-1106-preview",endpoint:"/api/hosted/tm_completions",source:"Setapp",details:"A free version of OpenAI's GPT-4 Turbo provided by Setapp.",contextLength:128e3,pluginSupported:!0,userIdentitySupported:!0,system:!0}),(0,H.Z)(R,"setapp-gpt-4-turbo",{id:"setapp-gpt-4-turbo",title:"Setapp GPT-4 Turbo",apiType:"setapp",modelID:"setapp-gpt-4-turbo",endpoint:"/api/hosted/tm_completions",source:"Setapp",details:"A free version of OpenAI's GPT-4 Turbo (update 2024-04-09) provided by Setapp.",contextLength:128e3,pluginSupported:!0,visionSupported:!0,userIdentitySupported:!0,system:!0}),(0,H.Z)(R,"setapp-gpt-4-turbo-preview",{id:"setapp-gpt-4-turbo-preview",title:"Setapp GPT-4 Turbo (Preview)",apiType:"setapp",modelID:"setapp-gpt-4-turbo-preview",endpoint:"/api/hosted/tm_completions",source:"Setapp",details:"A free version of OpenAI's GPT-4 Turbo (update 0125) provided by Setapp.",contextLength:128e3,pluginSupported:!0,userIdentitySupported:!0,system:!0}),(0,H.Z)(R,"setapp-gpt-4-vision-preview",{id:"setapp-gpt-4-vision-preview",modelID:"setapp-gpt-4-vision-preview",fastCheapFallback:"setapp-gpt-3.5-turbo",title:"GPT-4 Vision",contextLength:128e3,source:"Setapp",details:"The GPT-4 model with vision capability that understands images provided by Setapp.",apiType:"openai",pluginSupported:!1,userIdentitySupported:!0,visionSupported:!0,bodyParams:{max_tokens:1e3}}),(0,H.Z)(R,"setapp-gpt-3.5-turbo-0613",{id:"setapp-gpt-3.5-turbo-0613",modelID:"setapp-gpt-3.5-turbo-0613",fastCheapFallback:"setapp-gpt-3.5-turbo-0613",title:"Setapp GPT-3.5 (0613)",contextLength:16384,source:"Setapp",details:"A free version of OpenAI's GPT-3.5 provided by Setapp. Notice: Your API requests will be proxied through Setapp's server.",endpoint:"/api/hosted/tm_completions",apiType:"setapp",skipAPIKey:!0,pluginSupported:!0,userIdentitySupported:!0,system:!0,old:!0}),(0,H.Z)(R,"setapp-gpt-3.5-turbo-0125",{id:"setapp-gpt-3.5-turbo-0125",modelID:"setapp-gpt-3.5-turbo-0125",fastCheapFallback:"setapp-gpt-3.5-turbo-0125",title:"Setapp GPT-3.5 (0125)",contextLength:16384,source:"Setapp",details:"A free version of OpenAI's GPT-3.5 provided by Setapp. Notice: Your API requests will be proxied through Setapp's server.",endpoint:"/api/hosted/tm_completions",apiType:"setapp",skipAPIKey:!0,pluginSupported:!0,userIdentitySupported:!0,system:!0}),(0,H.Z)(R,"setapp-gpt-3.5-turbo-16k",{id:"setapp-gpt-3.5-turbo-16k",modelID:"setapp-gpt-3.5-turbo-16k",fastCheapFallback:"setapp-gpt-3.5-turbo-16k",title:"Setapp (GPT-3.5 16K)",contextLength:16384,source:"Setapp",details:"A free version of OpenAI's GPT-3.5 (16K tokens) provided by Setapp. Notice: Your API requests will be proxied through Setapp's server.",endpoint:"/api/hosted/tm_completions",apiType:"setapp",skipAPIKey:!0,pluginSupported:!0,userIdentitySupported:!0,system:!0}),R),nP={title:"Custom Model",contextLength:2048,details:""},nk=!0,n_=["gpt-4o","gpt-4","gpt-4-turbo","gpt-4-32k","gpt-4-1106-preview","gpt-4-0125-preview","gpt-4-vision-preview","gpt-4-turbo-preview"].concat((0,N.Z)(nk?["gemini-1.5-pro","gemini-1.5-pro-2m-latest","gemini-1.5-flash-latest","gemini-1.5-pro-latest","gemini-ultra","gemini-pro","gemini-pro-vision"]:[]),["gpt-3.5-turbo","gpt-3.5-turbo-16k","gpt-3.5-turbo-1106","gpt-3.5-turbo-0125","claude-3-5-sonnet-20240620","claude-3-opus-20240229","claude-3-sonnet-20240229","claude-3-haiku-20240307","claude-2.1","claude-2","claude-1","claude-instant-1","claude-instant-1.2","gpt-3.5-turbo-0301","gpt-4-0314","gpt-4-32k-0314","gpt-4-32k-0613"]).map(function(e){return nS[e]});["claude-2.1","claude-2","claude-1","claude-instant-1","claude-instant-1.2"].map(function(e){return nS[e]}),["gpt-4o","gpt-4","gpt-4-turbo","gpt-4-turbo-preview","gpt-4-vision-preview","gpt-4-32k","gpt-4-0613","gpt-4-1106-preview","gpt-4-0125-preview","gpt-3.5-turbo","gpt-3.5-turbo-16k","gpt-3.5-turbo-1106","gpt-3.5-turbo-0125"].map(function(e){return nS[e]}),["gpt-3.5-turbo-0301","gpt-3.5-turbo-0613","gpt-4-0314","gpt-4-32k-0314","gpt-4-32k-0613"].map(function(e){return nS[e]});var nI=function(e,t){var n=t6((0,ey.cF)().getItem("TM_useCustomModels"))||[];return nS[e]||n.find(function(t){return t.id===e})||(null==t?void 0:t.find(function(t){return t.id===e}))||nP},nx=function(){if(window.navigator.userAgent.includes("TypingMindMac"))return window.navigator.userAgent;var e,t,n,r,o,i=new(eg())(window.navigator.userAgent);return[null===(e=i.getOS())||void 0===e?void 0:e.name,null===(t=i.getOS())||void 0===t?void 0:t.version,null===(n=i.getBrowser())||void 0===n?void 0:n.name,null===(r=i.getBrowser())||void 0===r?void 0:r.version,null===(o=i.getDevice())||void 0===o?void 0:o.model].map(function(e){return(e||"").trim()}).filter(Boolean).join(" ")};function nT(){for(var e=arguments.length,t=Array(e),n=0;n0&&void 0!==arguments[0]?arguments[0]:{},t=e.hiddenButtons,n=e.showLibrary,r=e.enableShare,o=e.canChangeChatSettings,i=[].concat(nE).filter(function(e){return!t.includes(e.id)});return n||(i=i.filter(function(e){return"prompts"!==e.id})),r||(i=i.filter(function(e){return"share"!==e.id})),o||(i=i.filter(function(e){return"change-settings"!==e.id})),i},nO={navBar:!0,commandK:!0,webSearch:!0,promptLibrary:!0,outputSettings:!0,pickCharacters:!0,uploadDocument:!0,systemMessage:!0,textToSpeech:!0,communityPrompts:!0,syncToCloud:!0,modelSettings:!0,systemPromptsForOnlyMembers:!1,systemCharactersForOnlyMembers:!1,defaultCharacters:!0,addNewCharacters:!0,customModels:!0,usePlugins:!0,addNewPlugins:!0,addExampleChats:!0,yourProfile:!0,useAutoSuggestKeywords:!0,voiceInput:!0,importFromOpenAI:!0,changeUILanguage:!0,externalShare:!0,showModelLimitsMessage:!0,showNewChatDescription:!0,actionButtons:Object.fromEntries(nE.map(function(e){return[e.id,!0]})),useOpenAIWhisper:!1,showChatInfo:!0,hideWelcomeMessageForLoggedInUsers:!1,useOpenAITextToSpeech:!0,messageActions:Object.fromEntries([{id:"edit",title:"Edit"},{id:"copy",title:"Copy"},{id:"pin",title:"Pin"},{id:"delete",title:"Delete"},{id:"show-raw",title:"Show Raw"},{id:"play",title:"Play"},{id:"fork",title:"Fork Chat"}].map(function(e){return[e.id,!0]})),downloadTextToSpeech:!0,chatMemory:!0};Object.fromEntries([{id:"admin",label:"Admin"},{id:"content-moderator",label:"Content Moderator"}].map(function(e){return[e.id,e]}));var nD={de:{code:"de",formatDistance:function(e,t,n){var r,o=null!=n&&n.addSuffix?eA[e].withPreposition:eA[e].standalone;return(r="string"==typeof o?o:1===t?o.one:o.other.replace("{{count}}",String(t)),null!=n&&n.addSuffix)?n.comparison&&n.comparison>0?"in "+r:"vor "+r:r},formatLong:eP,formatRelative:function(e,t,n,r){return ek[e]},localize:eT,match:eM,options:{weekStartsOn:1,firstWeekContainsDate:4}},zhCN:{code:"zh-CN",formatDistance:function(e,t,n){var r,o=eO[e];return(r="string"==typeof o?o:1===t?o.one:o.other.replace("{{count}}",String(t)),null!=n&&n.addSuffix)?n.comparison&&n.comparison>0?r+"内":r+"前":r},formatLong:eD,formatRelative:function(e,t,n,r){var o=eN[e];return"function"==typeof o?o(t,n,r):o},localize:eH,match:eL,options:{weekStartsOn:1,firstWeekContainsDate:4}},vi:{code:"vi",formatDistance:function(e,t,n){var r,o=eB[e];return(r="string"==typeof o?o:1===t?o.one:o.other.replace("{{count}}",String(t)),null!=n&&n.addSuffix)?n.comparison&&n.comparison>0?r+" nữa":r+" trước":r},formatLong:eF,formatRelative:function(e,t,n,r){return eK[e]},localize:eG,match:ez,options:{weekStartsOn:1,firstWeekContainsDate:1}},el:{code:"el",formatDistance:function(e,t,n){var r,o=eZ[e];return(r="string"==typeof o?o:1===t?o.one:o.other.replace("{{count}}",String(t)),null!=n&&n.addSuffix)?n.comparison&&n.comparison>0?"σε "+r:r+" πριν":r},formatLong:eq,formatRelative:function(e,t){var n=eJ[e];return"function"==typeof n?n(t):n},localize:eY,match:eV,options:{weekStartsOn:1,firstWeekContainsDate:4}},fr:{code:"fr",formatDistance:function(e,t,n){var r,o=e$[e];return(r="string"==typeof o?o:1===t?o.one:o.other.replace("{{count}}",String(t)),null!=n&&n.addSuffix)?n.comparison&&n.comparison>0?"dans "+r:"il y a "+r:r},formatLong:eQ,formatRelative:function(e,t,n,r){return eX[e]},localize:e0,match:e1,options:{weekStartsOn:1,firstWeekContainsDate:4}},it:{code:"it",formatDistance:function(e,t,n){var r,o=e2[e];return(r="string"==typeof o?o:1===t?o.one:o.other.replace("{{count}}",t.toString()),null!=n&&n.addSuffix)?n.comparison&&n.comparison>0?"tra "+r:r+" fa":r},formatLong:e4,formatRelative:function(e,t,n,r){var o=e6[e];return"function"==typeof o?o(t,n,r):o},localize:e5,match:e7,options:{weekStartsOn:1,firstWeekContainsDate:4}},ru:{code:"ru",formatDistance:function(e,t,n){return tt[e](t,n)},formatLong:tn,formatRelative:function(e,t,n,r){var o=ti[e];return"function"==typeof o?o(t,n,r):o},localize:ta,match:ts,options:{weekStartsOn:1,firstWeekContainsDate:1}},uk:{code:"uk",formatDistance:function(e,t,n){return n=n||{},tl[e](t,n)},formatLong:td,formatRelative:function(e,t,n,r){var o=tm[e];return"function"==typeof o?o(t,n,r):o},localize:tg,match:ty,options:{weekStartsOn:1,firstWeekContainsDate:1}},es:{code:"es",formatDistance:function(e,t,n){var r,o=tv[e];return(r="string"==typeof o?o:1===t?o.one:o.other.replace("{{count}}",t.toString()),null!=n&&n.addSuffix)?n.comparison&&n.comparison>0?"en "+r:"hace "+r:r},formatLong:tw,formatRelative:function(e,t,n,r){return 1!==t.getUTCHours()?tA[e]:tb[e]},localize:tS,match:tP,options:{weekStartsOn:1,firstWeekContainsDate:1}},pt:{code:"pt",formatDistance:function(e,t,n){var r,o=tk[e];return(r="string"==typeof o?o:1===t?o.one:o.other.replace("{{count}}",String(t)),null!=n&&n.addSuffix)?n.comparison&&n.comparison>0?"daqui a "+r:"h\xe1 "+r:r},formatLong:t_,formatRelative:function(e,t,n,r){var o=tI[e];return"function"==typeof o?o(t):o},localize:tx,match:tT,options:{weekStartsOn:1,firstWeekContainsDate:4}},lb:{code:"lb",formatDistance:function(e,t,n){var r,o=tE[e],i=null!=n&&n.addSuffix?o.withPreposition:o.standalone;return(r="string"==typeof i?i:1===t?i.one:i.other.replace("{{count}}",String(t)),null!=n&&n.addSuffix)?n.comparison&&n.comparison>0?"a"+(tj(r)?"n":"")+" "+r:"viru"+(tj(r)?"n":"")+" "+r:r},formatLong:tU,formatRelative:function(e,t,n,r){var o=tR[e];return"function"==typeof o?o(t):o},localize:tW,match:tN,options:{weekStartsOn:1,firstWeekContainsDate:4}}},nj=function(e,t){var n=eb.Z.get("locale");return(0,ew.Z)(e,t,{locale:nD[null==n?void 0:n.replace("-","")]})},nU=function(e){return Array.from(new Map((null==e?void 0:e.flatMap(function(e){return e.tags||[]})).map(function(e){return[e.name,e]})),function(e){var t=(0,W.Z)(e,2);return t[0],t[1]})};function nR(e){return new Promise(function(t,n){var r=new FileReader;r.onload=function(e){t(e.target.result)},r.onerror=function(e){n(e)},r.readAsDataURL(e)})}function nW(e){return e.filter(function(e){return["user","assistant"].includes(e.role)}).filter(function(e){return e.content}).map(function(e){return{role:e.role,content:e.content}}).map(function(e){if(Array.isArray(e.content)){var t,n=e.content.filter(function(e){return e.type}).join(", ");return tZ(tZ({},e),{},{content:"Attached: ".concat(n,"\n\n")+(null===(t=e.content.find(function(e){return"text"===e.type}))||void 0===t?void 0:t.text)||0})}return e})}function nN(e){if(!Array.isArray(e.content))return e;var t=e.content.filter(function(e){return"tm_text_file"===e.type});if(!(null!=t&&t.length))return e;var n=e.content.find(function(e){return"text"===e.type}),r=[].concat((0,N.Z)(t.map(function(e){return t7(e.text,{metadata:e.metadata})})),[(null==n?void 0:n.text)||""]).join("\n\n"),o=[].concat((0,N.Z)(e.content.filter(function(e){return"tm_text_file"!==e.type}).filter(function(e){return"text"!==e.type})),[{type:"text",text:r}]),i=0===o.filter(function(e){return"text"!==e.type}).length;return tZ(tZ({},e),{},{content:i?o[0].text:o})}function nH(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.excludeExceededItems,o=void 0!==r&&r,i=[],a=[],s=0,u=0,c=[],l=.8*t;try{var d,p=tK(e);try{for(p.s();!(d=p.n()).done;){var h=d.value,f=JSON.stringify(h).length;if(f>l&&o){c.push(h.chatID),u++;continue}s+f>l&&(i.push(a),a=[],s=0),a.push(h),s+=f}}catch(e){p.e(e)}finally{p.f()}return a.length&&i.push(a),{chunks:i,ignoredCount:u,ignoredChatIDs:c}}catch(t){throw console.error("chunk items failed",e,t),t}}var nL=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.systemPluginsMap,r=t.userPluginSettings;if(!e||!e.userSettings||!Array.isArray(e.userSettings)||!e.userSettings.some(function(e){return e.required}))return!0;if(!r)return!1;var o=r[e.id]||{},i=(n?null===(a=n[e.uuid])||void 0===a?void 0:a.settings:{})||{};if(!o&&!i)return!1;var a,s,u=tK(e.userSettings.filter(function(e){return e.required}));try{for(u.s();!(s=u.n()).done;){var c=s.value;if(!o[c.name]&&!i[c.name])return!1}}catch(e){u.e(e)}finally{u.f()}return!0},nB={NONE:"NONE",ALL:"ALL",WITH_TAGS:"WITH_TAGS"},nF=[".docx",".csv",".md",".txt",".json",".html",".htm",".jpg",".jpeg",".png",".gif",".webp",".xlsx",".bas",".cls",".frm"],nK=["application/pdf","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","image/jpeg","image/png","image/gif","image/webp","text/*"],nG=nF.concat(nK).join(","),nz=function(e){return tY.hex(e)},nZ=function(){return K(10)};function nq(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=e.split(";base64,"),r=n[0].split(":")[1],o=atob(n[1]),i=o.length,a=r.split("/")[1],s="".concat(t||K(),".").concat(a),u=new Uint8Array(i),c=0;c2&&void 0!==arguments[2]?arguments[2]:7e3,r=new AbortController,o=setTimeout(function(){return r.abort()},n);return fetch(e,tZ(tZ({},t),{},{signal:r.signal})).then(function(e){return clearTimeout(o),e}).catch(function(e){throw clearTimeout(o),e})}var n$=["alloy","echo","fable","onyx","nova","shimmer"];function nQ(){return nX.apply(this,arguments)}function nX(){return(nX=(0,L.Z)(F().mark(function e(){var t;return F().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,ey.CQ)().entries();case 2:return t=e.sent.map(function(e){var t=(0,W.Z)(e,2),n=t[0];return t[1],n}),e.next=5,(0,ey.CQ)().delMany(t);case 5:case"end":return e.stop()}},e)}))).apply(this,arguments)}var n0={elevenStability:.75,elevenClarity:.75,elevenVoice:"EXAVITQu4vr4xnSDxMaL",elevenModelID:"eleven_monolingual_v1",openAISpeechVoice:n$[0],openAISpeechModel:"tts-1",openAISpeechSpeed:1,browserVoiceRate:1,browserVoicePitch:1,autoSpeech:!1},n1=function(e){return null==e?void 0:e.replace(/(.|\n)*?<\/FILE_ATTACHMENT>/g,"")},n2=function(){try{return window.self!==window.top}catch(e){return!0}},n4=function(e){return Array.isArray(e)?e:[]},n3=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:20,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"string";return"string"===n?"hsl(".concat(e,"deg 50% ").concat(t,"%)"):{h:e,s:50,l:t}},n8=217,n6={CHAT:"CHAT",PROMPT:"PROMPT",CHARACTER:"CHARACTER",PLUGIN:"PLUGIN",BLOB:"BLOB"},n5=(g=(0,L.Z)(F().mark(function e(){var t,n,r;return F().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:e.next=2;break;case 2:if(!((t=t6((0,ey.cF)().getItem("TM_useUserProfiles")))&&Array.isArray(t))){e.next=5;break}return e.abrupt("return");case 5:n=t6((0,ey.cF)().getItem("TM_useUserProfilePicURL")),r=t6((0,ey.cF)().getItem("TM_useUserInformation")),n||r?(0,ey.cF)().setItem("TM_useUserProfiles",JSON.stringify([{id:(0,ef.Z)(),picURL:n,information:r,isCurrent:!0}])):(0,ey.cF)().setItem("TM_useUserProfiles",JSON.stringify([]));case 8:case"end":return e.stop()}},e)})),function(){return g.apply(this,arguments)}),n7=function(e){return'\n\n\nThis is the profile of the current user you are talking with. Use the information in this profile to personalize the conversation where needed.\n\n\n').concat(e.information||"(Empty)","\n\n\n").concat(e.customInstruction||"(Empty)","\n\n\n")},n9=function(e){return e>=1e6?"".concat((e/1e6).toFixed(0),"M"):e>=1e3?"".concat((e/1e3).toFixed(0),"K"):e},re=(y=(0,L.Z)(F().mark(function e(){var t;return F().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:e.next=2;break;case 2:null!==(t=t6((0,ey.cF)().getItem("TM_useDarkTheme")))&&((0,ey.cF)().setItem("TM_useThemeMode",JSON.stringify(t?"dark":"light")),(0,ey.cF)().removeItem("TM_useDarkTheme"));case 4:case"end":return e.stop()}},e)})),function(){return y.apply(this,arguments)}),rt=function(e){var t;if(!e)return"";try{t=JSON.parse(e)}catch(e){}return t?Object.keys(t).map(function(e){return JSON.stringify(t[e])}).join(", "):"(".concat(e.length,") ")+e},rn=function(e){var t,n=e.pluginFunction,r=e.pluginResponse;if(null!=r&&r._TM_CUSTOM_OUTPUT){if((null==r?void 0:r.type)==="markdown")return{outputType:"render_markdown",response:null==r?void 0:r.data};if((null==r?void 0:r.type)==="html")return{outputType:"render_html",response:null===(t=r.data)||void 0===t?void 0:t.source}}return{outputType:n.outputType||"respond_to_ai",response:r}};function rr(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(e){throw console.error(e),Error("Invalid User Settings. Please check your JSON.")}if(!Array.isArray(e))throw Error("Invalid User Settings: JSON string must be an array");for(var t=0;t1&&void 0!==arguments[1]?arguments[1]:[],r={},o=tK(n);try{for(o.s();!(t=o.n()).done;){var i,a=t.value;a.name in e&&""!==e[a.name]?r[a.name]=e[a.name]:"defaultValue"in a?r[a.name]=a.defaultValue:"enum"===a.type?r[a.name]=null===(i=a.values)||void 0===i?void 0:i[0]:"number"===a.type?r[a.name]=0:("text"===a.type||"password"===a.type)&&(r[a.name]="")}}catch(e){o.e(e)}finally{o.f()}return r}},91118:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/_app",function(){return n(49278)}])},34155:function(){},64540:function(){},43950:function(){},18987:function(e,t,n){"use strict";var r;if(!Object.keys){var o=Object.prototype.hasOwnProperty,i=Object.prototype.toString,a=n(21414),s=Object.prototype.propertyIsEnumerable,u=!s.call({toString:null},"toString"),c=s.call(function(){},"prototype"),l=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],d=function(e){var t=e.constructor;return t&&t.prototype===e},p={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},h=function(){if("undefined"==typeof window)return!1;for(var e in window)try{if(!p["$"+e]&&o.call(window,e)&&null!==window[e]&&"object"==typeof window[e])try{d(window[e])}catch(e){return!0}}catch(e){return!0}return!1}(),f=function(e){if("undefined"==typeof window||!h)return d(e);try{return d(e)}catch(e){return!1}};r=function(e){var t=null!==e&&"object"==typeof e,n="[object Function]"===i.call(e),r=a(e),s=t&&"[object String]"===i.call(e),d=[];if(!t&&!n&&!r)throw TypeError("Object.keys called on a non-object");var p=c&&n;if(s&&e.length>0&&!o.call(e,0))for(var h=0;h0)for(var m=0;m=0&&"[object Function]"===t.call(e.callee)),r}},63931:function(e){"use strict";e.exports=()=>{let e={};return e.promise=new Promise((t,n)=>{e.resolve=t,e.reject=n}),e}},70046:function(e){var t,n,r,o=e.exports={};function i(){throw Error("setTimeout has not been defined")}function a(){throw Error("clearTimeout has not been defined")}function s(e){if(t===setTimeout)return setTimeout(e,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:i}catch(e){t=i}try{n="function"==typeof clearTimeout?clearTimeout:a}catch(e){n=a}}();var u=[],c=!1,l=-1;function d(){c&&r&&(c=!1,r.length?u=r.concat(u):l=-1,u.length&&p())}function p(){if(!c){var e=s(d);c=!0;for(var t=u.length;t;){for(r=u,u=[];++l1)for(var n=1;n4294967295||u(t)!==t)throw new s("`length` must be a positive 32-bit integer");var n=arguments.length>2&&!!arguments[2],r=!0,c=!0;if("length"in e&&a){var l=a(e,"length");l&&!l.configurable&&(r=!1),l&&!l.writable&&(c=!1)}return(r||c||!n)&&(i?o(e,"length",t,!0,!0):o(e,"length",t)),e}},83623:function(e){"use strict";var t=Object.prototype.toString,n=Math.max,r=function(e,t){for(var n=[],r=0;r1&&"boolean"!=typeof t)throw new a('"allowMissing" argument must be a boolean');if(null===I(/^%?[^%]*%?$/,e))throw new o("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=E(e),r=n.length>0?n[0]:"",i=C("%"+r+"%",t),s=i.name,c=i.value,l=!1,d=i.alias;d&&(r=d[0],P(n,S([0,1],d)));for(var p=1,h=!0;p=n.length){var v=u(c,f);c=(h=!!v)&&"get"in v&&!("originalValue"in v.get)?v.get:c[f]}else h=A(c,f),c=c[f];h&&!l&&(g[s]=c)}}return c}},42238:function(e,t,n){var r;!function(o,i){"use strict";var a="function",s="undefined",u="object",c="string",l="major",d="model",p="name",h="type",f="vendor",m="version",g="architecture",y="console",v="mobile",w="tablet",b="smarttv",A="wearable",S="embedded",P="Amazon",k="Apple",_="ASUS",I="BlackBerry",x="Browser",T="Chrome",E="Firefox",C="Google",M="Huawei",O="Microsoft",D="Motorola",j="Opera",U="Samsung",R="Sharp",W="Sony",N="Xiaomi",H="Zebra",L="Facebook",B="Chromium OS",F="Mac OS",K=function(e,t){var n={};for(var r in e)t[r]&&t[r].length%2==0?n[r]=t[r].concat(e[r]):n[r]=e[r];return n},G=function(e){for(var t={},n=0;n0?2===s.length?typeof s[1]==a?this[s[0]]=s[1].call(this,l):this[s[0]]=s[1]:3===s.length?typeof s[1]!==a||s[1].exec&&s[1].test?this[s[0]]=l?l.replace(s[1],s[2]):void 0:this[s[0]]=l?s[1].call(this,l,s[2]):void 0:4===s.length&&(this[s[0]]=l?s[3].call(this,l.replace(s[1],s[2])):void 0):this[s]=l||i;d+=2}},Y=function(e,t){for(var n in t)if(typeof t[n]===u&&t[n].length>0){for(var r=0;r2&&(e[d]="iPad",e[h]=w),e},this.getEngine=function(){var e={};return e[p]=i,e[m]=i,J.call(e,r,b.engine),e},this.getOS=function(){var e={};return e[p]=i,e[m]=i,J.call(e,r,b.os),A&&!e[p]&&y&&"Unknown"!=y.platform&&(e[p]=y.platform.replace(/chrome os/i,B).replace(/macos/i,F)),e},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return r},this.setUA=function(e){return r=typeof e===c&&e.length>350?q(e,350):e,this},this.setUA(r),this};Q.VERSION="1.0.35",Q.BROWSER=G([p,m,l]),Q.CPU=G([g]),Q.DEVICE=G([d,f,h,y,v,b,w,A,S]),Q.ENGINE=Q.OS=G([p,m]),typeof t!==s?(e.exports&&(t=e.exports=Q),t.UAParser=Q):n.amdO?i!==(r=(function(){return Q}).call(t,n,t,e))&&(e.exports=r):typeof o!==s&&(o.UAParser=Q);var X=typeof o!==s&&(o.jQuery||o.Zepto);if(X&&!X.ua){var ee=new Q;X.ua=ee.getResult(),X.ua.get=function(){return ee.getUA()},X.ua.set=function(e){ee.setUA(e);var t=ee.getResult();for(var n in t)X.ua[n]=t[n]}}}("object"==typeof window?window:this)},57632:function(e,t,n){"use strict";let r;n.d(t,{Z:function(){return s}});var o={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let i=new Uint8Array(16),a=[];for(let e=0;e<256;++e)a.push((e+256).toString(16).slice(1));var s=function(e,t,n){if(o.randomUUID&&!t&&!e)return o.randomUUID();let s=(e=e||{}).random||(e.rng||function(){if(!r&&!(r="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)))throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return r(i)})();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,t){n=n||0;for(let e=0;e<16;++e)t[n+e]=s[e];return t}return function(e,t=0){return(a[e[t+0]]+a[e[t+1]]+a[e[t+2]]+a[e[t+3]]+"-"+a[e[t+4]]+a[e[t+5]]+"-"+a[e[t+6]]+a[e[t+7]]+"-"+a[e[t+8]]+a[e[t+9]]+"-"+a[e[t+10]]+a[e[t+11]]+a[e[t+12]]+a[e[t+13]]+a[e[t+14]]+a[e[t+15]]).toLowerCase()}(s)}},89555:function(e,t,n){"use strict";n.d(t,{ag:function(){return g}});let r=e=>"string"==typeof e,o=e=>"function"==typeof e,i=new Map;function a(e){return[...Array.isArray(e)?e:[e],"en"]}function s(e,t,n){let o=a(e);return l(()=>d("date",o,n),()=>new Intl.DateTimeFormat(o,n)).format(r(t)?new Date(t):t)}function u(e,t,n){let r=a(e);return l(()=>d("number",r,n),()=>new Intl.NumberFormat(r,n)).format(t)}function c(e,t,n,{offset:r=0,...o}){let i=a(e),s=t?l(()=>d("plural-ordinal",i),()=>new Intl.PluralRules(i,{type:"ordinal"})):l(()=>d("plural-cardinal",i),()=>new Intl.PluralRules(i,{type:"cardinal"}));return o[n]??o[s.select(n-r)]??o.other}function l(e,t){let n=e(),r=i.get(n);return r||(r=t(),i.set(n,r)),r}function d(e,t,n){let r=t.join("-");return`${e}-${r}-${JSON.stringify(n)}`}let p=/\\u[a-fA-F0-9]{4}|\\x[a-fA-F0-9]{2}/g,h=(e,t,n={})=>{t=t||e;let o=e=>r(e)?n[e]||{style:e}:e,i=(e,r)=>{let i=Object.keys(n).length?o("number"):{},a=u(t,e,i);return r.replace("#",a)};return{plural:(e,n)=>{let{offset:r=0}=n,o=c(t,!1,e,n);return i(e-r,o)},selectordinal:(e,n)=>{let{offset:r=0}=n,o=c(t,!0,e,n);return i(e-r,o)},select:(e,t)=>t[e]??t.other,number:(e,n)=>u(t,e,o(n)),date:(e,n)=>s(t,e,o(n)),undefined:e=>e}};class f{constructor(){this._events={}}on(e,t){return this._hasEvent(e)||(this._events[e]=[]),this._events[e].push(t),()=>this.removeListener(e,t)}removeListener(e,t){if(!this._hasEvent(e))return;let n=this._events[e].indexOf(t);~n&&this._events[e].splice(n,1)}emit(e,...t){this._hasEvent(e)&&this._events[e].map(e=>e.apply(this,t))}_hasEvent(e){return Array.isArray(this._events[e])}}class m extends f{constructor(e){super(),this.t=this._.bind(this),this._messages={},this._localeData={},null!=e.missing&&(this._missing=e.missing),null!=e.messages&&this.load(e.messages),null!=e.localeData&&this.loadLocaleData(e.localeData),(null!=e.locale||null!=e.locales)&&this.activate(e.locale,e.locales)}get locale(){return this._locale}get locales(){return this._locales}get messages(){return this._messages[this._locale]??{}}get localeData(){return this._localeData[this._locale]??{}}_loadLocaleData(e,t){null==this._localeData[e]?this._localeData[e]=t:Object.assign(this._localeData[e],t)}loadLocaleData(e,t){null!=t?this._loadLocaleData(e,t):Object.keys(e).forEach(t=>this._loadLocaleData(t,e[t])),this.emit("change")}_load(e,t){null==this._messages[e]?this._messages[e]=t:Object.assign(this._messages[e],t)}load(e,t){null!=t?this._load(e,t):Object.keys(e).forEach(t=>this._load(t,e[t])),this.emit("change")}loadAndActivate({locale:e,locales:t,messages:n}){this._locale=e,this._locales=t||void 0,this._messages[this._locale]=n,this.emit("change")}activate(e,t){this._locale=e,this._locales=t,this.emit("change")}_(e,t={},{message:n,formats:i}={}){var a,s;r(e)||(t=e.values||t,n=e.message,e=e.id);let u=!this.messages[e],c=this._missing;if(c&&u)return o(c)?c(this._locale,e):c;u&&this.emit("missing",{id:e,locale:this._locale});let l=this.messages[e]||n||e;return r(l)&&p.test(l)?JSON.parse(`"${l}"`):r(l)?l:(a=this._locale,s=this._locales,(e,t={})=>{let n=h(a,s,t),o=t=>Array.isArray(t)?t.reduce((t,i)=>{if(r(i))return t+i;let[a,s,u]=i,c={};null==u||r(u)?c=u:Object.keys(u).forEach(e=>{c[e]=o(u[e])});let l=n[s](e[a],c);return null==l?t:t+l},""):t,i=o(l);return r(i)&&p.test(i)?JSON.parse(`"${i.trim()}"`):r(i)?i.trim():i})(t,i)}date(e,t){return s(this._locales||this._locale,e,t)}number(e,t){return u(this._locales||this._locale,e,t)}}let g=function(e={}){return new m(e)}()},4361:function(e,t,n){"use strict";n.d(t,{bd:function(){return a},cC:function(){return d},mV:function(){return i}});var r=n(67294);let o=r.createContext(null);function i(){return r.useContext(o)}let a=({i18n:e,defaultComponent:t,children:n})=>{let i=r.useRef(e.locale),a=r.useCallback(()=>({i18n:e,defaultComponent:t}),[e,t]),[s,u]=r.useState(a());return(r.useEffect(()=>{let t=()=>{i.current=e.locale,u(a())},n=e.on("change",t);return i.current!==e.locale&&t(),n},[e,a]),i.current)?r.createElement(o.Provider,{value:s},n):null},s=/<([a-zA-Z0-9]+)>(.*?)<\/\1>|<([a-zA-Z0-9]+)\/>/,u=/(?:\r\n|\r|\n)/g,c={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},l=(e=0,t="")=>()=>`${t}_${e++}`;function d(e){let{i18n:t,defaultComponent:n}=i(),{render:o,component:a,id:d,message:h,formats:f}=e,m={...e.values},g={...e.components};m&&Object.keys(m).forEach(e=>{let t=m[e];if(!(r.isValidElement(t)||Array.isArray(t)&&t.every(e=>r.isValidElement(e))))return;let n=Object.keys(g).length;g[n]=t,m[e]=`<${n}/>`});let y=t&&"function"==typeof t._?t._(d,m,{message:h,formats:f}):d,v=y?function e(t,n={}){let o=l(0,"$lingui$"),i=t.replace(u,"").split(s);if(1===i.length)return t;let a=[],d=i.shift();for(let[t,s,u]of(d&&a.push(d),function e(t){if(!t.length)return[];let[n,r,o,i]=t.slice(0,4);return[[n||o,r||"",i]].concat(e(t.slice(4,t.length)))}(i))){let i=n[t];(!i||c[i.type]&&s)&&(i?console.error(`${i.type} is a void element tag therefore it must have no children`):console.error(`Can't use element at index '${t}' as it is not declared in the original translation`),i=r.createElement(r.Fragment)),Array.isArray(i)&&(i=r.createElement(r.Fragment,{},i)),a.push(r.cloneElement(i,{key:o()},s?e(s,n):i.props.children)),u&&a.push(u)}return a}(y,g):null;if(null===o||null===a)return v;let w=n||p,b={id:d,message:h,translation:v,isTranslated:d!==v&&h!==v,children:v};if(o&&a)console.error("You can't use both `component` and `render` prop at the same time. `component` is ignored.");else if(o&&"function"!=typeof o)console.error(`Invalid value supplied to prop \`render\`. It must be a function, provided ${o}`);else if(a&&"function"!=typeof a)return console.error(`Invalid value supplied to prop \`component\`. It must be a React component, provided ${a}`),r.createElement(w,b,v);if("function"==typeof o)return o(b);let A=a||w;return r.createElement(A,b,v)}let p=({children:e})=>r.createElement(r.Fragment,null,e)},78789:function(e,t,n){"use strict";let r;n.r(t),n.d(t,{CompactEncrypt:function(){return tl},CompactSign:function(){return th},EmbeddedJWK:function(){return tP},EncryptJWT:function(){return tw},FlattenedEncrypt:function(){return e4},FlattenedSign:function(){return tp},GeneralEncrypt:function(){return e8},GeneralSign:function(){return tm},SignJWT:function(){return tv},UnsecuredJWT:function(){return tO},base64url:function(){return i},calculateJwkThumbprint:function(){return tA},calculateJwkThumbprintUri:function(){return tS},compactDecrypt:function(){return eY},compactVerify:function(){return te},createLocalJWKSet:function(){return tT},createRemoteJWKSet:function(){return tM},cryptoRuntime:function(){return tF},decodeJwt:function(){return tR},decodeProtectedHeader:function(){return tU},errors:function(){return o},exportJWK:function(){return e0},exportPKCS8:function(){return eX},exportSPKI:function(){return eQ},flattenedDecrypt:function(){return eJ},flattenedVerify:function(){return e9},generalDecrypt:function(){return eV},generalVerify:function(){return tt},generateKeyPair:function(){return tL},generateSecret:function(){return tB},importJWK:function(){return eR},importPKCS8:function(){return eU},importSPKI:function(){return eD},importX509:function(){return ej},jwtDecrypt:function(){return tc},jwtVerify:function(){return tu}});var o={};n.r(o),n.d(o,{JOSEAlgNotAllowed:function(){return k},JOSEError:function(){return A},JOSENotSupported:function(){return _},JWEDecryptionFailed:function(){return I},JWEInvalid:function(){return x},JWKInvalid:function(){return C},JWKSInvalid:function(){return M},JWKSMultipleMatchingKeys:function(){return D},JWKSNoMatchingKey:function(){return O},JWKSTimeout:function(){return j},JWSInvalid:function(){return T},JWSSignatureVerificationFailed:function(){return U},JWTClaimValidationFailed:function(){return S},JWTExpired:function(){return P},JWTInvalid:function(){return E}});var i={};n.r(i),n.d(i,{decode:function(){return tj},encode:function(){return tD}});var a=crypto;let s=e=>e instanceof CryptoKey,u=async(e,t)=>{let n=`SHA-${e.slice(-3)}`;return new Uint8Array(await a.subtle.digest(n,t))},c=new TextEncoder,l=new TextDecoder;function d(...e){let t=new Uint8Array(e.reduce((e,{length:t})=>e+t,0)),n=0;for(let r of e)t.set(r,n),n+=r.length;return t}function p(e,t,n){if(t<0||t>=4294967296)throw RangeError(`value must be >= 0 and <= ${4294967296-1}. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,255&t],n)}function h(e){let t=new Uint8Array(8);return p(t,Math.floor(e/4294967296),0),p(t,e%4294967296,4),t}function f(e){let t=new Uint8Array(4);return p(t,e),t}function m(e){return d(f(e.length),e)}async function g(e,t,n){let r=Math.ceil((t>>3)/32),o=new Uint8Array(32*r);for(let t=0;t>3)}let y=e=>{let t=e;"string"==typeof t&&(t=c.encode(t));let n=[];for(let e=0;ey(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),w=e=>{let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e{let t=e;t instanceof Uint8Array&&(t=l.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return w(t)}catch{throw TypeError("The input to be decoded is not correctly encoded.")}};class A extends Error{static get code(){return"ERR_JOSE_GENERIC"}constructor(e){super(e),this.code="ERR_JOSE_GENERIC",this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}}class S extends A{static get code(){return"ERR_JWT_CLAIM_VALIDATION_FAILED"}constructor(e,t,n="unspecified",r="unspecified"){super(e),this.code="ERR_JWT_CLAIM_VALIDATION_FAILED",this.claim=n,this.reason=r,this.payload=t}}class P extends A{static get code(){return"ERR_JWT_EXPIRED"}constructor(e,t,n="unspecified",r="unspecified"){super(e),this.code="ERR_JWT_EXPIRED",this.claim=n,this.reason=r,this.payload=t}}class k extends A{constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}}class _ extends A{constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}}class I extends A{constructor(){super(...arguments),this.code="ERR_JWE_DECRYPTION_FAILED",this.message="decryption operation failed"}static get code(){return"ERR_JWE_DECRYPTION_FAILED"}}class x extends A{constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}}class T extends A{constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}}class E extends A{constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}}class C extends A{constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}}class M extends A{constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}}class O extends A{constructor(){super(...arguments),this.code="ERR_JWKS_NO_MATCHING_KEY",this.message="no applicable key found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_NO_MATCHING_KEY"}}class D extends A{constructor(){super(...arguments),this.code="ERR_JWKS_MULTIPLE_MATCHING_KEYS",this.message="multiple matching keys found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_MULTIPLE_MATCHING_KEYS"}}class j extends A{constructor(){super(...arguments),this.code="ERR_JWKS_TIMEOUT",this.message="request timed out"}static get code(){return"ERR_JWKS_TIMEOUT"}}class U extends A{constructor(){super(...arguments),this.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED",this.message="signature verification failed"}static get code(){return"ERR_JWS_SIGNATURE_VERIFICATION_FAILED"}}var R=a.getRandomValues.bind(a);function W(e){switch(e){case"A128GCM":case"A128GCMKW":case"A192GCM":case"A192GCMKW":case"A256GCM":case"A256GCMKW":return 96;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return 128;default:throw new _(`Unsupported JWE Algorithm: ${e}`)}}var N=e=>R(new Uint8Array(W(e)>>3)),H=(e,t)=>{if(t.length<<3!==W(e))throw new x("Invalid Initialization Vector length")},L=(e,t)=>{let n=e.byteLength<<3;if(n!==t)throw new x(`Invalid Content Encryption Key length. Expected ${t} bits, got ${n} bits`)},B=(e,t)=>{if(!(e instanceof Uint8Array))throw TypeError("First argument must be a buffer");if(!(t instanceof Uint8Array))throw TypeError("Second argument must be a buffer");if(e.length!==t.length)throw TypeError("Input buffers must have the same length");let n=e.length,r=0,o=-1;for(;++oe.usages.includes(t))){let e="CryptoKey does not support this operation, its usages must include ";if(t.length>2){let n=t.pop();e+=`one of ${t.join(", ")}, or ${n}.`}else 2===t.length?e+=`one of ${t[0]} or ${t[1]}.`:e+=`${t[0]}.`;throw TypeError(e)}}function Z(e,t,...n){switch(t){case"A128GCM":case"A192GCM":case"A256GCM":{if(!K(e.algorithm,"AES-GCM"))throw F("AES-GCM");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw F(n,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!K(e.algorithm,"AES-KW"))throw F("AES-KW");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw F(n,"algorithm.length");break}case"ECDH":switch(e.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw F("ECDH, X25519, or X448")}break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!K(e.algorithm,"PBKDF2"))throw F("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!K(e.algorithm,"RSA-OAEP"))throw F("RSA-OAEP");let n=parseInt(t.slice(9),10)||1;if(G(e.algorithm.hash)!==n)throw F(`SHA-${n}`,"algorithm.hash");break}default:throw TypeError("CryptoKey does not support this operation")}z(e,n)}function q(e,t,...n){if(n.length>2){let t=n.pop();e+=`one of type ${n.join(", ")}, or ${t}.`}else 2===n.length?e+=`one of type ${n[0]} or ${n[1]}.`:e+=`of type ${n[0]}.`;return null==t?e+=` Received ${t}`:"function"==typeof t&&t.name?e+=` Received function ${t.name}`:"object"==typeof t&&null!=t&&t.constructor?.name&&(e+=` Received an instance of ${t.constructor.name}`),e}var J=(e,...t)=>q("Key must be ",e,...t);function Y(e,t,...n){return q(`Key for the ${e} algorithm must be `,t,...n)}var V=e=>s(e);let $=["CryptoKey"];async function Q(e,t,n,r,o,i){let s,u;if(!(t instanceof Uint8Array))throw TypeError(J(t,"Uint8Array"));let c=parseInt(e.slice(1,4),10),l=await a.subtle.importKey("raw",t.subarray(c>>3),"AES-CBC",!1,["decrypt"]),p=await a.subtle.importKey("raw",t.subarray(0,c>>3),{hash:`SHA-${c<<1}`,name:"HMAC"},!1,["sign"]),f=d(i,r,n,h(i.length<<3)),m=new Uint8Array((await a.subtle.sign("HMAC",p,f)).slice(0,c>>3));try{s=B(o,m)}catch{}if(!s)throw new I;try{u=new Uint8Array(await a.subtle.decrypt({iv:r,name:"AES-CBC"},l,n))}catch{}if(!u)throw new I;return u}async function X(e,t,n,r,o,i){let s;t instanceof Uint8Array?s=await a.subtle.importKey("raw",t,"AES-GCM",!1,["decrypt"]):(Z(t,e,"decrypt"),s=t);try{return new Uint8Array(await a.subtle.decrypt({additionalData:i,iv:r,name:"AES-GCM",tagLength:128},s,d(n,o)))}catch{throw new I}}let ee=async(e,t,n,r,o,i)=>{if(!s(t)&&!(t instanceof Uint8Array))throw TypeError(J(t,...$,"Uint8Array"));if(!r)throw new x("JWE Initialization Vector missing");if(!o)throw new x("JWE Authentication Tag missing");switch(H(e,r),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return t instanceof Uint8Array&&L(t,parseInt(e.slice(-3),10)),Q(e,t,n,r,o,i);case"A128GCM":case"A192GCM":case"A256GCM":return t instanceof Uint8Array&&L(t,parseInt(e.slice(1,4),10)),X(e,t,n,r,o,i);default:throw new _("Unsupported JWE Content Encryption Algorithm")}};var et=(...e)=>{let t;let n=e.filter(Boolean);if(0===n.length||1===n.length)return!0;for(let e of n){let n=Object.keys(e);if(!t||0===t.size){t=new Set(n);continue}for(let e of n){if(t.has(e))return!1;t.add(e)}}return!0};function en(e){if(!("object"==typeof e&&null!==e)||"[object Object]"!==Object.prototype.toString.call(e))return!1;if(null===Object.getPrototypeOf(e))return!0;let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}var er=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]];function eo(e,t){if(e.algorithm.length!==parseInt(t.slice(1,4),10))throw TypeError(`Invalid key size for alg: ${t}`)}function ei(e,t,n){if(s(e))return Z(e,t,n),e;if(e instanceof Uint8Array)return a.subtle.importKey("raw",e,"AES-KW",!0,[n]);throw TypeError(J(e,...$,"Uint8Array"))}let ea=async(e,t,n)=>{let r=await ei(t,e,"wrapKey");eo(r,e);let o=await a.subtle.importKey("raw",n,...er);return new Uint8Array(await a.subtle.wrapKey("raw",o,r,"AES-KW"))},es=async(e,t,n)=>{let r=await ei(t,e,"unwrapKey");eo(r,e);let o=await a.subtle.unwrapKey("raw",n,r,"AES-KW",...er);return new Uint8Array(await a.subtle.exportKey("raw",o))};async function eu(e,t,n,r,o=new Uint8Array(0),i=new Uint8Array(0)){let u;if(!s(e))throw TypeError(J(e,...$));if(Z(e,"ECDH"),!s(t))throw TypeError(J(t,...$));Z(t,"ECDH","deriveBits");let l=d(m(c.encode(n)),m(o),m(i),f(r));return u="X25519"===e.algorithm.name?256:"X448"===e.algorithm.name?448:Math.ceil(parseInt(e.algorithm.namedCurve.substr(-3),10)/8)<<3,g(new Uint8Array(await a.subtle.deriveBits({name:e.algorithm.name,public:e},t,u)),r,l)}async function ec(e){if(!s(e))throw TypeError(J(e,...$));return a.subtle.generateKey(e.algorithm,!0,["deriveBits"])}function el(e){if(!s(e))throw TypeError(J(e,...$));return["P-256","P-384","P-521"].includes(e.algorithm.namedCurve)||"X25519"===e.algorithm.name||"X448"===e.algorithm.name}async function ed(e,t,n,r){!function(e){if(!(e instanceof Uint8Array)||e.length<8)throw new x("PBES2 Salt Input must be 8 or more octets")}(e);let o=d(c.encode(t),new Uint8Array([0]),e),i=parseInt(t.slice(13,16),10),u={hash:`SHA-${t.slice(8,11)}`,iterations:n,name:"PBKDF2",salt:o},l=await function(e,t){if(e instanceof Uint8Array)return a.subtle.importKey("raw",e,"PBKDF2",!1,["deriveBits"]);if(s(e))return Z(e,t,"deriveBits","deriveKey"),e;throw TypeError(J(e,...$,"Uint8Array"))}(r,t);if(l.usages.includes("deriveBits"))return new Uint8Array(await a.subtle.deriveBits(u,l,i));if(l.usages.includes("deriveKey"))return a.subtle.deriveKey(u,l,{length:i,name:"AES-KW"},!1,["wrapKey","unwrapKey"]);throw TypeError('PBKDF2 key "usages" must include "deriveBits" or "deriveKey"')}let ep=async(e,t,n,r=2048,o=R(new Uint8Array(16)))=>{let i=await ed(o,e,r,t);return{encryptedKey:await ea(e.slice(-6),i,n),p2c:r,p2s:v(o)}},eh=async(e,t,n,r,o)=>{let i=await ed(o,e,r,t);return es(e.slice(-6),i,n)};function ef(e){switch(e){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return"RSA-OAEP";default:throw new _(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}var em=(e,t)=>{if(e.startsWith("RS")||e.startsWith("PS")){let{modulusLength:n}=t.algorithm;if("number"!=typeof n||n<2048)throw TypeError(`${e} requires key modulusLength to be 2048 bits or larger`)}};let eg=async(e,t,n)=>{if(!s(t))throw TypeError(J(t,...$));if(Z(t,e,"encrypt","wrapKey"),em(e,t),t.usages.includes("encrypt"))return new Uint8Array(await a.subtle.encrypt(ef(e),t,n));if(t.usages.includes("wrapKey")){let r=await a.subtle.importKey("raw",n,...er);return new Uint8Array(await a.subtle.wrapKey("raw",r,t,ef(e)))}throw TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},ey=async(e,t,n)=>{if(!s(t))throw TypeError(J(t,...$));if(Z(t,e,"decrypt","unwrapKey"),em(e,t),t.usages.includes("decrypt"))return new Uint8Array(await a.subtle.decrypt(ef(e),t,n));if(t.usages.includes("unwrapKey")){let r=await a.subtle.unwrapKey("raw",n,t,ef(e),...er);return new Uint8Array(await a.subtle.exportKey("raw",r))}throw TypeError('RSA-OAEP key "usages" must include "decrypt" or "unwrapKey" for this operation')};function ev(e){switch(e){case"A128GCM":return 128;case"A192GCM":return 192;case"A256GCM":case"A128CBC-HS256":return 256;case"A192CBC-HS384":return 384;case"A256CBC-HS512":return 512;default:throw new _(`Unsupported JWE Algorithm: ${e}`)}}var ew=e=>R(new Uint8Array(ev(e)>>3)),eb=(e,t)=>{let n=(e.match(/.{1,64}/g)||[]).join("\n");return`-----BEGIN ${t}----- +${n} +-----END ${t}-----`};let eA=async(e,t,n)=>{if(!s(n))throw TypeError(J(n,...$));if(!n.extractable)throw TypeError("CryptoKey is not extractable");if(n.type!==e)throw TypeError(`key is not a ${e} key`);return eb(y(new Uint8Array(await a.subtle.exportKey(t,n))),`${e.toUpperCase()} KEY`)},eS=e=>eA("public","spki",e),eP=e=>eA("private","pkcs8",e),ek=(e,t,n=0)=>{0===n&&(t.unshift(t.length),t.unshift(6));let r=e.indexOf(t[0],n);if(-1===r)return!1;let o=e.subarray(r,r+t.length);return o.length===t.length&&(o.every((e,n)=>e===t[n])||ek(e,t,r+1))},e_=e=>{switch(!0){case ek(e,[42,134,72,206,61,3,1,7]):return"P-256";case ek(e,[43,129,4,0,34]):return"P-384";case ek(e,[43,129,4,0,35]):return"P-521";case ek(e,[43,101,110]):return"X25519";case ek(e,[43,101,111]):return"X448";case ek(e,[43,101,112]):return"Ed25519";case ek(e,[43,101,113]):return"Ed448";default:throw new _("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},eI=async(e,t,n,r,o)=>{let i,s;let u=new Uint8Array(atob(n.replace(e,"")).split("").map(e=>e.charCodeAt(0))),c="spki"===t;switch(r){case"PS256":case"PS384":case"PS512":i={name:"RSA-PSS",hash:`SHA-${r.slice(-3)}`},s=c?["verify"]:["sign"];break;case"RS256":case"RS384":case"RS512":i={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${r.slice(-3)}`},s=c?["verify"]:["sign"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":i={name:"RSA-OAEP",hash:`SHA-${parseInt(r.slice(-3),10)||1}`},s=c?["encrypt","wrapKey"]:["decrypt","unwrapKey"];break;case"ES256":i={name:"ECDSA",namedCurve:"P-256"},s=c?["verify"]:["sign"];break;case"ES384":i={name:"ECDSA",namedCurve:"P-384"},s=c?["verify"]:["sign"];break;case"ES512":i={name:"ECDSA",namedCurve:"P-521"},s=c?["verify"]:["sign"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{let e=e_(u);i=e.startsWith("P-")?{name:"ECDH",namedCurve:e}:{name:e},s=c?[]:["deriveBits"];break}case"EdDSA":i={name:e_(u)},s=c?["verify"]:["sign"];break;default:throw new _('Invalid or unsupported "alg" (Algorithm) value')}return a.subtle.importKey(t,u,i,o?.extractable??!1,s)},ex=(e,t,n)=>eI(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",e,t,n),eT=(e,t,n)=>eI(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",e,t,n);function eE(e){let t=[],n=0;for(;n=128;)n=128*n+e[t]-128,t++;n=128*n+e[t]-128,t++}let r=0;if(e[t]<128)r=e[t],t++;else if(128===r){for(r=0;0!==e[t+r]||0!==e[t+r+1];){if(r>e.byteLength)throw TypeError("invalid indefinite form length");r++}let n=t+r+2;return{byteLength:n,contents:e.subarray(t,t+r),raw:e.subarray(0,n)}}else{let n=127&e[t];t++,r=0;for(let o=0;o{let r;try{r=eb(function(e){let t=eE(eE(eC(e).contents)[0].contents);return y(t[160===t[0].raw[0]?6:5].raw)}(w(e.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""))),"PUBLIC KEY")}catch(e){throw TypeError("Failed to parse the X.509 certificate",{cause:e})}return eT(r,t,n)},eO=async e=>{if(!e.alg)throw TypeError('"alg" argument is required when "jwk.alg" is not present');let{algorithm:t,keyUsages:n}=function(e){let t,n;switch(e.kty){case"RSA":switch(e.alg){case"PS256":case"PS384":case"PS512":t={name:"RSA-PSS",hash:`SHA-${e.alg.slice(-3)}`},n=e.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":t={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.alg.slice(-3)}`},n=e.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":t={name:"RSA-OAEP",hash:`SHA-${parseInt(e.alg.slice(-3),10)||1}`},n=e.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new _('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"EC":switch(e.alg){case"ES256":t={name:"ECDSA",namedCurve:"P-256"},n=e.d?["sign"]:["verify"];break;case"ES384":t={name:"ECDSA",namedCurve:"P-384"},n=e.d?["sign"]:["verify"];break;case"ES512":t={name:"ECDSA",namedCurve:"P-521"},n=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:"ECDH",namedCurve:e.crv},n=e.d?["deriveBits"]:[];break;default:throw new _('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"OKP":switch(e.alg){case"EdDSA":t={name:e.crv},n=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:e.crv},n=e.d?["deriveBits"]:[];break;default:throw new _('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;default:throw new _('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:t,keyUsages:n}}(e),r=[t,e.ext??!1,e.key_ops??n],o={...e};return delete o.alg,delete o.use,a.subtle.importKey("jwk",o,...r)};async function eD(e,t,n){if("string"!=typeof e||0!==e.indexOf("-----BEGIN PUBLIC KEY-----"))throw TypeError('"spki" must be SPKI formatted string');return eT(e,t,n)}async function ej(e,t,n){if("string"!=typeof e||0!==e.indexOf("-----BEGIN CERTIFICATE-----"))throw TypeError('"x509" must be X.509 formatted string');return eM(e,t,n)}async function eU(e,t,n){if("string"!=typeof e||0!==e.indexOf("-----BEGIN PRIVATE KEY-----"))throw TypeError('"pkcs8" must be PKCS#8 formatted string');return ex(e,t,n)}async function eR(e,t){if(!en(e))throw TypeError("JWK must be an object");switch(t||(t=e.alg),e.kty){case"oct":if("string"!=typeof e.k||!e.k)throw TypeError('missing "k" (Key Value) Parameter value');return b(e.k);case"RSA":if(void 0!==e.oth)throw new _('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return eO({...e,alg:t});default:throw new _('Unsupported "kty" (Key Type) Parameter value')}}let eW=(e,t)=>{if(!(t instanceof Uint8Array)){if(!V(t))throw TypeError(Y(e,t,...$,"Uint8Array"));if("secret"!==t.type)throw TypeError(`${$.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},eN=(e,t,n)=>{if(!V(t))throw TypeError(Y(e,t,...$));if("secret"===t.type)throw TypeError(`${$.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`);if("sign"===n&&"public"===t.type)throw TypeError(`${$.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`);if("decrypt"===n&&"public"===t.type)throw TypeError(`${$.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`);if(t.algorithm&&"verify"===n&&"private"===t.type)throw TypeError(`${$.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`);if(t.algorithm&&"encrypt"===n&&"private"===t.type)throw TypeError(`${$.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)};var eH=(e,t,n)=>{e.startsWith("HS")||"dir"===e||e.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(e)?eW(e,t):eN(e,t,n)};async function eL(e,t,n,r,o){if(!(n instanceof Uint8Array))throw TypeError(J(n,"Uint8Array"));let i=parseInt(e.slice(1,4),10),s=await a.subtle.importKey("raw",n.subarray(i>>3),"AES-CBC",!1,["encrypt"]),u=await a.subtle.importKey("raw",n.subarray(0,i>>3),{hash:`SHA-${i<<1}`,name:"HMAC"},!1,["sign"]),c=new Uint8Array(await a.subtle.encrypt({iv:r,name:"AES-CBC"},s,t)),l=d(o,r,c,h(o.length<<3));return{ciphertext:c,tag:new Uint8Array((await a.subtle.sign("HMAC",u,l)).slice(0,i>>3)),iv:r}}async function eB(e,t,n,r,o){let i;n instanceof Uint8Array?i=await a.subtle.importKey("raw",n,"AES-GCM",!1,["encrypt"]):(Z(n,e,"encrypt"),i=n);let s=new Uint8Array(await a.subtle.encrypt({additionalData:o,iv:r,name:"AES-GCM",tagLength:128},i,t)),u=s.slice(-16);return{ciphertext:s.slice(0,-16),tag:u,iv:r}}let eF=async(e,t,n,r,o)=>{if(!s(n)&&!(n instanceof Uint8Array))throw TypeError(J(n,...$,"Uint8Array"));switch(r?H(e,r):r=N(e),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return n instanceof Uint8Array&&L(n,parseInt(e.slice(-3),10)),eL(e,t,n,r,o);case"A128GCM":case"A192GCM":case"A256GCM":return n instanceof Uint8Array&&L(n,parseInt(e.slice(1,4),10)),eB(e,t,n,r,o);default:throw new _("Unsupported JWE Content Encryption Algorithm")}};async function eK(e,t,n,r){let o=e.slice(0,7),i=await eF(o,n,t,r,new Uint8Array(0));return{encryptedKey:i.ciphertext,iv:v(i.iv),tag:v(i.tag)}}async function eG(e,t,n,r,o){return ee(e.slice(0,7),t,n,r,o,new Uint8Array(0))}async function ez(e,t,n,r,o){switch(eH(e,t,"decrypt"),e){case"dir":if(void 0!==n)throw new x("Encountered unexpected JWE Encrypted Key");return t;case"ECDH-ES":if(void 0!==n)throw new x("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{let o,i;if(!en(r.epk))throw new x('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!el(t))throw new _("ECDH with the provided key is not allowed or not supported by your javascript runtime");let a=await eR(r.epk,e);if(void 0!==r.apu){if("string"!=typeof r.apu)throw new x('JOSE Header "apu" (Agreement PartyUInfo) invalid');try{o=b(r.apu)}catch{throw new x("Failed to base64url decode the apu")}}if(void 0!==r.apv){if("string"!=typeof r.apv)throw new x('JOSE Header "apv" (Agreement PartyVInfo) invalid');try{i=b(r.apv)}catch{throw new x("Failed to base64url decode the apv")}}let s=await eu(a,t,"ECDH-ES"===e?r.enc:e,"ECDH-ES"===e?ev(r.enc):parseInt(e.slice(-5,-2),10),o,i);if("ECDH-ES"===e)return s;if(void 0===n)throw new x("JWE Encrypted Key missing");return es(e.slice(-6),s,n)}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":if(void 0===n)throw new x("JWE Encrypted Key missing");return ey(e,t,n);case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{let i;if(void 0===n)throw new x("JWE Encrypted Key missing");if("number"!=typeof r.p2c)throw new x('JOSE Header "p2c" (PBES2 Count) missing or invalid');let a=o?.maxPBES2Count||1e4;if(r.p2c>a)throw new x('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if("string"!=typeof r.p2s)throw new x('JOSE Header "p2s" (PBES2 Salt) missing or invalid');try{i=b(r.p2s)}catch{throw new x("Failed to base64url decode the p2s")}return eh(e,t,n,r.p2c,i)}case"A128KW":case"A192KW":case"A256KW":if(void 0===n)throw new x("JWE Encrypted Key missing");return es(e,t,n);case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{let o,i;if(void 0===n)throw new x("JWE Encrypted Key missing");if("string"!=typeof r.iv)throw new x('JOSE Header "iv" (Initialization Vector) missing or invalid');if("string"!=typeof r.tag)throw new x('JOSE Header "tag" (Authentication Tag) missing or invalid');try{o=b(r.iv)}catch{throw new x("Failed to base64url decode the iv")}try{i=b(r.tag)}catch{throw new x("Failed to base64url decode the tag")}return eG(e,t,n,o,i)}default:throw new _('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var eZ=function(e,t,n,r,o){let i;if(void 0!==o.crit&&r?.crit===void 0)throw new e('"crit" (Critical) Header Parameter MUST be integrity protected');if(!r||void 0===r.crit)return new Set;if(!Array.isArray(r.crit)||0===r.crit.length||r.crit.some(e=>"string"!=typeof e||0===e.length))throw new e('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');for(let a of(i=void 0!==n?new Map([...Object.entries(n),...t.entries()]):t,r.crit)){if(!i.has(a))throw new _(`Extension Header Parameter "${a}" is not recognized`);if(void 0===o[a])throw new e(`Extension Header Parameter "${a}" is missing`);if(i.get(a)&&void 0===r[a])throw new e(`Extension Header Parameter "${a}" MUST be integrity protected`)}return new Set(r.crit)},eq=(e,t)=>{if(void 0!==t&&(!Array.isArray(t)||t.some(e=>"string"!=typeof e)))throw TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)};async function eJ(e,t,n){let r,o,i,a,s,u,p;if(!en(e))throw new x("Flattened JWE must be an object");if(void 0===e.protected&&void 0===e.header&&void 0===e.unprotected)throw new x("JOSE Header missing");if(void 0!==e.iv&&"string"!=typeof e.iv)throw new x("JWE Initialization Vector incorrect type");if("string"!=typeof e.ciphertext)throw new x("JWE Ciphertext missing or incorrect type");if(void 0!==e.tag&&"string"!=typeof e.tag)throw new x("JWE Authentication Tag incorrect type");if(void 0!==e.protected&&"string"!=typeof e.protected)throw new x("JWE Protected Header incorrect type");if(void 0!==e.encrypted_key&&"string"!=typeof e.encrypted_key)throw new x("JWE Encrypted Key incorrect type");if(void 0!==e.aad&&"string"!=typeof e.aad)throw new x("JWE AAD incorrect type");if(void 0!==e.header&&!en(e.header))throw new x("JWE Shared Unprotected Header incorrect type");if(void 0!==e.unprotected&&!en(e.unprotected))throw new x("JWE Per-Recipient Unprotected Header incorrect type");if(e.protected)try{let t=b(e.protected);r=JSON.parse(l.decode(t))}catch{throw new x("JWE Protected Header is invalid")}if(!et(r,e.header,e.unprotected))throw new x("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let h={...r,...e.header,...e.unprotected};if(eZ(x,new Map,n?.crit,r,h),void 0!==h.zip)throw new _('JWE "zip" (Compression Algorithm) Header Parameter is not supported.');let{alg:f,enc:m}=h;if("string"!=typeof f||!f)throw new x("missing JWE Algorithm (alg) in JWE Header");if("string"!=typeof m||!m)throw new x("missing JWE Encryption Algorithm (enc) in JWE Header");let g=n&&eq("keyManagementAlgorithms",n.keyManagementAlgorithms),y=n&&eq("contentEncryptionAlgorithms",n.contentEncryptionAlgorithms);if(g&&!g.has(f)||!g&&f.startsWith("PBES2"))throw new k('"alg" (Algorithm) Header Parameter value not allowed');if(y&&!y.has(m))throw new k('"enc" (Encryption Algorithm) Header Parameter value not allowed');if(void 0!==e.encrypted_key)try{o=b(e.encrypted_key)}catch{throw new x("Failed to base64url decode the encrypted_key")}let v=!1;"function"==typeof t&&(t=await t(r,e),v=!0);try{i=await ez(f,t,o,h,n)}catch(e){if(e instanceof TypeError||e instanceof x||e instanceof _)throw e;i=ew(m)}if(void 0!==e.iv)try{a=b(e.iv)}catch{throw new x("Failed to base64url decode the iv")}if(void 0!==e.tag)try{s=b(e.tag)}catch{throw new x("Failed to base64url decode the tag")}let w=c.encode(e.protected??"");u=void 0!==e.aad?d(w,c.encode("."),c.encode(e.aad)):w;try{p=b(e.ciphertext)}catch{throw new x("Failed to base64url decode the ciphertext")}let A={plaintext:await ee(m,i,p,a,s,u)};if(void 0!==e.protected&&(A.protectedHeader=r),void 0!==e.aad)try{A.additionalAuthenticatedData=b(e.aad)}catch{throw new x("Failed to base64url decode the aad")}return(void 0!==e.unprotected&&(A.sharedUnprotectedHeader=e.unprotected),void 0!==e.header&&(A.unprotectedHeader=e.header),v)?{...A,key:t}:A}async function eY(e,t,n){if(e instanceof Uint8Array&&(e=l.decode(e)),"string"!=typeof e)throw new x("Compact JWE must be a string or Uint8Array");let{0:r,1:o,2:i,3:a,4:s,length:u}=e.split(".");if(5!==u)throw new x("Invalid Compact JWE");let c=await eJ({ciphertext:a,iv:i||void 0,protected:r,tag:s||void 0,encrypted_key:o||void 0},t,n),d={plaintext:c.plaintext,protectedHeader:c.protectedHeader};return"function"==typeof t?{...d,key:c.key}:d}async function eV(e,t,n){if(!en(e))throw new x("General JWE must be an object");if(!Array.isArray(e.recipients)||!e.recipients.every(en))throw new x("JWE Recipients missing or incorrect type");if(!e.recipients.length)throw new x("JWE Recipients has no members");for(let r of e.recipients)try{return await eJ({aad:e.aad,ciphertext:e.ciphertext,encrypted_key:r.encrypted_key,header:r.header,iv:e.iv,protected:e.protected,tag:e.tag,unprotected:e.unprotected},t,n)}catch{}throw new I}let e$=async e=>{if(e instanceof Uint8Array)return{kty:"oct",k:v(e)};if(!s(e))throw TypeError(J(e,...$,"Uint8Array"));if(!e.extractable)throw TypeError("non-extractable CryptoKey cannot be exported as a JWK");let{ext:t,key_ops:n,alg:r,use:o,...i}=await a.subtle.exportKey("jwk",e);return i};async function eQ(e){return eS(e)}async function eX(e){return eP(e)}async function e0(e){return e$(e)}async function e1(e,t,n,r,o={}){let i,a,s;switch(eH(e,n,"encrypt"),e){case"dir":s=n;break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!el(n))throw new _("ECDH with the provided key is not allowed or not supported by your javascript runtime");let{apu:u,apv:c}=o,{epk:l}=o;l||(l=(await ec(n)).privateKey);let{x:d,y:p,crv:h,kty:f}=await e0(l),m=await eu(n,l,"ECDH-ES"===e?t:e,"ECDH-ES"===e?ev(t):parseInt(e.slice(-5,-2),10),u,c);if(a={epk:{x:d,crv:h,kty:f}},"EC"===f&&(a.epk.y=p),u&&(a.apu=v(u)),c&&(a.apv=v(c)),"ECDH-ES"===e){s=m;break}s=r||ew(t);let g=e.slice(-6);i=await ea(g,m,s);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":s=r||ew(t),i=await eg(e,n,s);break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{s=r||ew(t);let{p2c:u,p2s:c}=o;({encryptedKey:i,...a}=await ep(e,n,s,u,c));break}case"A128KW":case"A192KW":case"A256KW":s=r||ew(t),i=await ea(e,n,s);break;case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{s=r||ew(t);let{iv:u}=o;({encryptedKey:i,...a}=await eK(e,n,s,u));break}default:throw new _('Invalid or unsupported "alg" (JWE Algorithm) header value')}return{cek:s,encryptedKey:i,parameters:a}}let e2=Symbol();class e4{constructor(e){if(!(e instanceof Uint8Array))throw TypeError("plaintext must be an instance of Uint8Array");this._plaintext=e}setKeyManagementParameters(e){if(this._keyManagementParameters)throw TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=e,this}setProtectedHeader(e){if(this._protectedHeader)throw TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setSharedUnprotectedHeader(e){if(this._sharedUnprotectedHeader)throw TypeError("setSharedUnprotectedHeader can only be called once");return this._sharedUnprotectedHeader=e,this}setUnprotectedHeader(e){if(this._unprotectedHeader)throw TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=e,this}setAdditionalAuthenticatedData(e){return this._aad=e,this}setContentEncryptionKey(e){if(this._cek)throw TypeError("setContentEncryptionKey can only be called once");return this._cek=e,this}setInitializationVector(e){if(this._iv)throw TypeError("setInitializationVector can only be called once");return this._iv=e,this}async encrypt(e,t){let n,r,o,i,a;if(!this._protectedHeader&&!this._unprotectedHeader&&!this._sharedUnprotectedHeader)throw new x("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!et(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new x("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let s={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(eZ(x,new Map,t?.crit,this._protectedHeader,s),void 0!==s.zip)throw new _('JWE "zip" (Compression Algorithm) Header Parameter is not supported.');let{alg:u,enc:p}=s;if("string"!=typeof u||!u)throw new x('JWE "alg" (Algorithm) Header Parameter missing or invalid');if("string"!=typeof p||!p)throw new x('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');if(this._cek&&("dir"===u||"ECDH-ES"===u))throw TypeError(`setContentEncryptionKey cannot be called with JWE "alg" (Algorithm) Header ${u}`);{let o;({cek:r,encryptedKey:n,parameters:o}=await e1(u,p,e,this._cek,this._keyManagementParameters)),o&&(t&&e2 in t?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...o}:this.setUnprotectedHeader(o):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...o}:this.setProtectedHeader(o))}i=this._protectedHeader?c.encode(v(JSON.stringify(this._protectedHeader))):c.encode(""),this._aad?(a=v(this._aad),o=d(i,c.encode("."),c.encode(a))):o=i;let{ciphertext:h,tag:f,iv:m}=await eF(p,this._plaintext,r,this._iv,o),g={ciphertext:v(h)};return m&&(g.iv=v(m)),f&&(g.tag=v(f)),n&&(g.encrypted_key=v(n)),a&&(g.aad=a),this._protectedHeader&&(g.protected=l.decode(i)),this._sharedUnprotectedHeader&&(g.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(g.header=this._unprotectedHeader),g}}class e3{constructor(e,t,n){this.parent=e,this.key=t,this.options=n}setUnprotectedHeader(e){if(this.unprotectedHeader)throw TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=e,this}addRecipient(...e){return this.parent.addRecipient(...e)}encrypt(...e){return this.parent.encrypt(...e)}done(){return this.parent}}class e8{constructor(e){this._recipients=[],this._plaintext=e}addRecipient(e,t){let n=new e3(this,e,{crit:t?.crit});return this._recipients.push(n),n}setProtectedHeader(e){if(this._protectedHeader)throw TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setSharedUnprotectedHeader(e){if(this._unprotectedHeader)throw TypeError("setSharedUnprotectedHeader can only be called once");return this._unprotectedHeader=e,this}setAdditionalAuthenticatedData(e){return this._aad=e,this}async encrypt(){let e;if(!this._recipients.length)throw new x("at least one recipient must be added");if(1===this._recipients.length){let[e]=this._recipients,t=await new e4(this._plaintext).setAdditionalAuthenticatedData(this._aad).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(e.unprotectedHeader).encrypt(e.key,{...e.options}),n={ciphertext:t.ciphertext,iv:t.iv,recipients:[{}],tag:t.tag};return t.aad&&(n.aad=t.aad),t.protected&&(n.protected=t.protected),t.unprotected&&(n.unprotected=t.unprotected),t.encrypted_key&&(n.recipients[0].encrypted_key=t.encrypted_key),t.header&&(n.recipients[0].header=t.header),n}for(let t=0;t>3};case"RS256":case"RS384":case"RS512":return{hash:n,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:n,name:"ECDSA",namedCurve:t.namedCurve};case"EdDSA":return{name:t.name};default:throw new _(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}function e5(e,t,n){if(s(t))return!function(e,t,...n){switch(t){case"HS256":case"HS384":case"HS512":{if(!K(e.algorithm,"HMAC"))throw F("HMAC");let n=parseInt(t.slice(2),10);if(G(e.algorithm.hash)!==n)throw F(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!K(e.algorithm,"RSASSA-PKCS1-v1_5"))throw F("RSASSA-PKCS1-v1_5");let n=parseInt(t.slice(2),10);if(G(e.algorithm.hash)!==n)throw F(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!K(e.algorithm,"RSA-PSS"))throw F("RSA-PSS");let n=parseInt(t.slice(2),10);if(G(e.algorithm.hash)!==n)throw F(`SHA-${n}`,"algorithm.hash");break}case"EdDSA":if("Ed25519"!==e.algorithm.name&&"Ed448"!==e.algorithm.name)throw F("Ed25519 or Ed448");break;case"ES256":case"ES384":case"ES512":{if(!K(e.algorithm,"ECDSA"))throw F("ECDSA");let n=function(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw Error("unreachable")}}(t);if(e.algorithm.namedCurve!==n)throw F(n,"algorithm.namedCurve");break}default:throw TypeError("CryptoKey does not support this operation")}z(e,n)}(t,e,n),t;if(t instanceof Uint8Array){if(!e.startsWith("HS"))throw TypeError(J(t,...$));return a.subtle.importKey("raw",t,{hash:`SHA-${e.slice(-3)}`,name:"HMAC"},!1,[n])}throw TypeError(J(t,...$,"Uint8Array"))}let e7=async(e,t,n,r)=>{let o=await e5(e,t,"verify");em(e,o);let i=e6(e,o.algorithm);try{return await a.subtle.verify(i,o,n,r)}catch{return!1}};async function e9(e,t,n){let r,o;if(!en(e))throw new T("Flattened JWS must be an object");if(void 0===e.protected&&void 0===e.header)throw new T('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==e.protected&&"string"!=typeof e.protected)throw new T("JWS Protected Header incorrect type");if(void 0===e.payload)throw new T("JWS Payload missing");if("string"!=typeof e.signature)throw new T("JWS Signature missing or incorrect type");if(void 0!==e.header&&!en(e.header))throw new T("JWS Unprotected Header incorrect type");let i={};if(e.protected)try{let t=b(e.protected);i=JSON.parse(l.decode(t))}catch{throw new T("JWS Protected Header is invalid")}if(!et(i,e.header))throw new T("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let a={...i,...e.header},s=eZ(T,new Map([["b64",!0]]),n?.crit,i,a),u=!0;if(s.has("b64")&&"boolean"!=typeof(u=i.b64))throw new T('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:p}=a;if("string"!=typeof p||!p)throw new T('JWS "alg" (Algorithm) Header Parameter missing or invalid');let h=n&&eq("algorithms",n.algorithms);if(h&&!h.has(p))throw new k('"alg" (Algorithm) Header Parameter value not allowed');if(u){if("string"!=typeof e.payload)throw new T("JWS Payload must be a string")}else if("string"!=typeof e.payload&&!(e.payload instanceof Uint8Array))throw new T("JWS Payload must be a string or an Uint8Array instance");let f=!1;"function"==typeof t&&(t=await t(i,e),f=!0),eH(p,t,"verify");let m=d(c.encode(e.protected??""),c.encode("."),"string"==typeof e.payload?c.encode(e.payload):e.payload);try{r=b(e.signature)}catch{throw new T("Failed to base64url decode the signature")}if(!await e7(p,t,r,m))throw new U;if(u)try{o=b(e.payload)}catch{throw new T("Failed to base64url decode the payload")}else o="string"==typeof e.payload?c.encode(e.payload):e.payload;let g={payload:o};return(void 0!==e.protected&&(g.protectedHeader=i),void 0!==e.header&&(g.unprotectedHeader=e.header),f)?{...g,key:t}:g}async function te(e,t,n){if(e instanceof Uint8Array&&(e=l.decode(e)),"string"!=typeof e)throw new T("Compact JWS must be a string or Uint8Array");let{0:r,1:o,2:i,length:a}=e.split(".");if(3!==a)throw new T("Invalid Compact JWS");let s=await e9({payload:o,protected:r,signature:i},t,n),u={payload:s.payload,protectedHeader:s.protectedHeader};return"function"==typeof t?{...u,key:s.key}:u}async function tt(e,t,n){if(!en(e))throw new T("General JWS must be an object");if(!Array.isArray(e.signatures)||!e.signatures.every(en))throw new T("JWS Signatures missing or incorrect type");for(let r of e.signatures)try{return await e9({header:r.header,payload:e.payload,protected:r.protected,signature:r.signature},t,n)}catch{}throw new U}var tn=e=>Math.floor(e.getTime()/1e3);let tr=/^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i;var to=e=>{let t;let n=tr.exec(e);if(!n||n[4]&&n[1])throw TypeError("Invalid time period format");let r=parseFloat(n[2]);switch(n[3].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":t=Math.round(r);break;case"minute":case"minutes":case"min":case"mins":case"m":t=Math.round(60*r);break;case"hour":case"hours":case"hr":case"hrs":case"h":t=Math.round(3600*r);break;case"day":case"days":case"d":t=Math.round(86400*r);break;case"week":case"weeks":case"w":t=Math.round(604800*r);break;default:t=Math.round(31557600*r)}return"-"===n[1]||"ago"===n[4]?-t:t};let ti=e=>e.toLowerCase().replace(/^application\//,""),ta=(e,t)=>"string"==typeof e?t.includes(e):!!Array.isArray(e)&&t.some(Set.prototype.has.bind(new Set(e)));var ts=(e,t,n={})=>{let r,o;try{r=JSON.parse(l.decode(t))}catch{}if(!en(r))throw new E("JWT Claims Set must be a top-level JSON object");let{typ:i}=n;if(i&&("string"!=typeof e.typ||ti(e.typ)!==ti(i)))throw new S('unexpected "typ" JWT header value',r,"typ","check_failed");let{requiredClaims:a=[],issuer:s,subject:u,audience:c,maxTokenAge:d}=n,p=[...a];for(let e of(void 0!==d&&p.push("iat"),void 0!==c&&p.push("aud"),void 0!==u&&p.push("sub"),void 0!==s&&p.push("iss"),new Set(p.reverse())))if(!(e in r))throw new S(`missing required "${e}" claim`,r,e,"missing");if(s&&!(Array.isArray(s)?s:[s]).includes(r.iss))throw new S('unexpected "iss" claim value',r,"iss","check_failed");if(u&&r.sub!==u)throw new S('unexpected "sub" claim value',r,"sub","check_failed");if(c&&!ta(r.aud,"string"==typeof c?[c]:c))throw new S('unexpected "aud" claim value',r,"aud","check_failed");switch(typeof n.clockTolerance){case"string":o=to(n.clockTolerance);break;case"number":o=n.clockTolerance;break;case"undefined":o=0;break;default:throw TypeError("Invalid clockTolerance option type")}let{currentDate:h}=n,f=tn(h||new Date);if((void 0!==r.iat||d)&&"number"!=typeof r.iat)throw new S('"iat" claim must be a number',r,"iat","invalid");if(void 0!==r.nbf){if("number"!=typeof r.nbf)throw new S('"nbf" claim must be a number',r,"nbf","invalid");if(r.nbf>f+o)throw new S('"nbf" claim timestamp check failed',r,"nbf","check_failed")}if(void 0!==r.exp){if("number"!=typeof r.exp)throw new S('"exp" claim must be a number',r,"exp","invalid");if(r.exp<=f-o)throw new P('"exp" claim timestamp check failed',r,"exp","check_failed")}if(d){let e=f-r.iat;if(e-o>("number"==typeof d?d:to(d)))throw new P('"iat" claim timestamp check failed (too far in the past)',r,"iat","check_failed");if(e<0-o)throw new S('"iat" claim timestamp check failed (it should be in the past)',r,"iat","check_failed")}return r};async function tu(e,t,n){let r=await te(e,t,n);if(r.protectedHeader.crit?.includes("b64")&&!1===r.protectedHeader.b64)throw new E("JWTs MUST NOT use unencoded payload");let o={payload:ts(r.protectedHeader,r.payload,n),protectedHeader:r.protectedHeader};return"function"==typeof t?{...o,key:r.key}:o}async function tc(e,t,n){let r=await eY(e,t,n),o=ts(r.protectedHeader,r.plaintext,n),{protectedHeader:i}=r;if(void 0!==i.iss&&i.iss!==o.iss)throw new S('replicated "iss" claim header parameter mismatch',o,"iss","mismatch");if(void 0!==i.sub&&i.sub!==o.sub)throw new S('replicated "sub" claim header parameter mismatch',o,"sub","mismatch");if(void 0!==i.aud&&JSON.stringify(i.aud)!==JSON.stringify(o.aud))throw new S('replicated "aud" claim header parameter mismatch',o,"aud","mismatch");let a={payload:o,protectedHeader:i};return"function"==typeof t?{...a,key:r.key}:a}class tl{constructor(e){this._flattened=new e4(e)}setContentEncryptionKey(e){return this._flattened.setContentEncryptionKey(e),this}setInitializationVector(e){return this._flattened.setInitializationVector(e),this}setProtectedHeader(e){return this._flattened.setProtectedHeader(e),this}setKeyManagementParameters(e){return this._flattened.setKeyManagementParameters(e),this}async encrypt(e,t){let n=await this._flattened.encrypt(e,t);return[n.protected,n.encrypted_key,n.iv,n.ciphertext,n.tag].join(".")}}let td=async(e,t,n)=>{let r=await e5(e,t,"sign");return em(e,r),new Uint8Array(await a.subtle.sign(e6(e,r.algorithm),r,n))};class tp{constructor(e){if(!(e instanceof Uint8Array))throw TypeError("payload must be an instance of Uint8Array");this._payload=e}setProtectedHeader(e){if(this._protectedHeader)throw TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setUnprotectedHeader(e){if(this._unprotectedHeader)throw TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=e,this}async sign(e,t){let n;if(!this._protectedHeader&&!this._unprotectedHeader)throw new T("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!et(this._protectedHeader,this._unprotectedHeader))throw new T("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let r={...this._protectedHeader,...this._unprotectedHeader},o=eZ(T,new Map([["b64",!0]]),t?.crit,this._protectedHeader,r),i=!0;if(o.has("b64")&&"boolean"!=typeof(i=this._protectedHeader.b64))throw new T('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:a}=r;if("string"!=typeof a||!a)throw new T('JWS "alg" (Algorithm) Header Parameter missing or invalid');eH(a,e,"sign");let s=this._payload;i&&(s=c.encode(v(s)));let u=d(n=this._protectedHeader?c.encode(v(JSON.stringify(this._protectedHeader))):c.encode(""),c.encode("."),s),p={signature:v(await td(a,e,u)),payload:""};return i&&(p.payload=l.decode(s)),this._unprotectedHeader&&(p.header=this._unprotectedHeader),this._protectedHeader&&(p.protected=l.decode(n)),p}}class th{constructor(e){this._flattened=new tp(e)}setProtectedHeader(e){return this._flattened.setProtectedHeader(e),this}async sign(e,t){let n=await this._flattened.sign(e,t);if(void 0===n.payload)throw TypeError("use the flattened module for creating JWS with b64: false");return`${n.protected}.${n.payload}.${n.signature}`}}class tf{constructor(e,t,n){this.parent=e,this.key=t,this.options=n}setProtectedHeader(e){if(this.protectedHeader)throw TypeError("setProtectedHeader can only be called once");return this.protectedHeader=e,this}setUnprotectedHeader(e){if(this.unprotectedHeader)throw TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=e,this}addSignature(...e){return this.parent.addSignature(...e)}sign(...e){return this.parent.sign(...e)}done(){return this.parent}}class tm{constructor(e){this._signatures=[],this._payload=e}addSignature(e,t){let n=new tf(this,e,t);return this._signatures.push(n),n}async sign(){if(!this._signatures.length)throw new T("at least one signature must be added");let e={signatures:[],payload:""};for(let t=0;t{if("string"!=typeof e||!e)throw new C(`${t} missing or invalid`)};async function tA(e,t){let n;if(!en(e))throw TypeError("JWK must be an object");if(t??(t="sha256"),"sha256"!==t&&"sha384"!==t&&"sha512"!==t)throw TypeError('digestAlgorithm must one of "sha256", "sha384", or "sha512"');switch(e.kty){case"EC":tb(e.crv,'"crv" (Curve) Parameter'),tb(e.x,'"x" (X Coordinate) Parameter'),tb(e.y,'"y" (Y Coordinate) Parameter'),n={crv:e.crv,kty:e.kty,x:e.x,y:e.y};break;case"OKP":tb(e.crv,'"crv" (Subtype of Key Pair) Parameter'),tb(e.x,'"x" (Public Key) Parameter'),n={crv:e.crv,kty:e.kty,x:e.x};break;case"RSA":tb(e.e,'"e" (Exponent) Parameter'),tb(e.n,'"n" (Modulus) Parameter'),n={e:e.e,kty:e.kty,n:e.n};break;case"oct":tb(e.k,'"k" (Key Value) Parameter'),n={k:e.k,kty:e.kty};break;default:throw new _('"kty" (Key Type) Parameter missing or unsupported')}let r=c.encode(JSON.stringify(n));return v(await u(t,r))}async function tS(e,t){t??(t="sha256");let n=await tA(e,t);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${t.slice(-3)}:${n}`}async function tP(e,t){let n={...e,...t?.header};if(!en(n.jwk))throw new T('"jwk" (JSON Web Key) Header Parameter must be a JSON object');let r=await eR({...n.jwk,ext:!0},n.alg);if(r instanceof Uint8Array||"public"!==r.type)throw new T('"jwk" (JSON Web Key) Header Parameter must be a public key');return r}function tk(e){return en(e)}function t_(e){return"function"==typeof structuredClone?structuredClone(e):JSON.parse(JSON.stringify(e))}class tI{constructor(e){if(this._cached=new WeakMap,!(e&&"object"==typeof e&&Array.isArray(e.keys)&&e.keys.every(tk)))throw new M("JSON Web Key Set malformed");this._jwks=t_(e)}async getKey(e,t){let{alg:n,kid:r}={...e,...t?.header},o=function(e){switch("string"==typeof e&&e.slice(0,2)){case"RS":case"PS":return"RSA";case"ES":return"EC";case"Ed":return"OKP";default:throw new _('Unsupported "alg" value for a JSON Web Key Set')}}(n),i=this._jwks.keys.filter(e=>{let t=o===e.kty;if(t&&"string"==typeof r&&(t=r===e.kid),t&&"string"==typeof e.alg&&(t=n===e.alg),t&&"string"==typeof e.use&&(t="sig"===e.use),t&&Array.isArray(e.key_ops)&&(t=e.key_ops.includes("verify")),t&&"EdDSA"===n&&(t="Ed25519"===e.crv||"Ed448"===e.crv),t)switch(n){case"ES256":t="P-256"===e.crv;break;case"ES256K":t="secp256k1"===e.crv;break;case"ES384":t="P-384"===e.crv;break;case"ES512":t="P-521"===e.crv}return t}),{0:a,length:s}=i;if(0===s)throw new O;if(1!==s){let e=new D,{_cached:t}=this;throw e[Symbol.asyncIterator]=async function*(){for(let e of i)try{yield await tx(t,e,n)}catch{}},e}return tx(this._cached,a,n)}}async function tx(e,t,n){let r=e.get(t)||e.set(t,{}).get(t);if(void 0===r[n]){let e=await eR({...t,ext:!0},n);if(e instanceof Uint8Array||"public"!==e.type)throw new M("JSON Web Key Set members must be public keys");r[n]=e}return r[n]}function tT(e){let t=new tI(e),n=async(e,n)=>t.getKey(e,n);return Object.defineProperties(n,{jwks:{value:()=>t_(t._jwks),enumerable:!0,configurable:!1,writable:!1}}),n}let tE=async(e,t,n)=>{let r,o;let i=!1;"function"==typeof AbortController&&(r=new AbortController,o=setTimeout(()=>{i=!0,r.abort()},t));let a=await fetch(e.href,{signal:r?r.signal:void 0,redirect:"manual",headers:n.headers}).catch(e=>{if(i)throw new j;throw e});if(void 0!==o&&clearTimeout(o),200!==a.status)throw new A("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await a.json()}catch{throw new A("Failed to parse the JSON Web Key Set HTTP response as JSON")}};"undefined"!=typeof navigator&&navigator.userAgent?.startsWith?.("Mozilla/5.0 ")||(r="jose/v5.4.0");class tC{constructor(e,t){if(!(e instanceof URL))throw TypeError("url must be an instance of URL");this._url=new URL(e.href),this._options={agent:t?.agent,headers:t?.headers},this._timeoutDuration="number"==typeof t?.timeoutDuration?t?.timeoutDuration:5e3,this._cooldownDuration="number"==typeof t?.cooldownDuration?t?.cooldownDuration:3e4,this._cacheMaxAge="number"==typeof t?.cacheMaxAge?t?.cacheMaxAge:6e5}coolingDown(){return"number"==typeof this._jwksTimestamp&&Date.now(){this._local=tT(e),this._jwksTimestamp=Date.now(),this._pendingFetch=void 0}).catch(e=>{throw this._pendingFetch=void 0,e})),await this._pendingFetch}}function tM(e,t){let n=new tC(e,t),r=async(e,t)=>n.getKey(e,t);return Object.defineProperties(r,{coolingDown:{get:()=>n.coolingDown(),enumerable:!0,configurable:!1},fresh:{get:()=>n.fresh(),enumerable:!0,configurable:!1},reload:{value:()=>n.reload(),enumerable:!0,configurable:!1,writable:!1},reloading:{get:()=>!!n._pendingFetch,enumerable:!0,configurable:!1},jwks:{value:()=>n._local?.jwks(),enumerable:!0,configurable:!1,writable:!1}}),r}class tO extends ty{encode(){let e=v(JSON.stringify({alg:"none"})),t=v(JSON.stringify(this._payload));return`${e}.${t}.`}static decode(e,t){let n;if("string"!=typeof e)throw new E("Unsecured JWT must be a string");let{0:r,1:o,2:i,length:a}=e.split(".");if(3!==a||""!==i)throw new E("Invalid Unsecured JWT");try{if(n=JSON.parse(l.decode(b(r))),"none"!==n.alg)throw Error()}catch{throw new E("Invalid Unsecured JWT")}return{payload:ts(n,b(o),t),header:n}}}let tD=v,tj=b;function tU(e){let t;if("string"==typeof e){let n=e.split(".");(3===n.length||5===n.length)&&([t]=n)}else if("object"==typeof e&&e){if("protected"in e)t=e.protected;else throw TypeError("Token does not contain a Protected Header")}try{if("string"!=typeof t||!t)throw Error();let e=JSON.parse(l.decode(tj(t)));if(!en(e))throw Error();return e}catch{throw TypeError("Invalid Token or Protected Header formatting")}}function tR(e){let t,n;if("string"!=typeof e)throw new E("JWTs must use Compact JWS serialization, JWT must be a string");let{1:r,length:o}=e.split(".");if(5===o)throw new E("Only JWTs using Compact JWS serialization can be decoded");if(3!==o)throw new E("Invalid JWT");if(!r)throw new E("JWTs must contain a payload");try{t=tj(r)}catch{throw new E("Failed to base64url decode the payload")}try{n=JSON.parse(l.decode(t))}catch{throw new E("Failed to parse the decoded payload as JSON")}if(!en(n))throw new E("Invalid JWT Claims Set");return n}async function tW(e,t){let n,r,o;switch(e){case"HS256":case"HS384":case"HS512":n=parseInt(e.slice(-3),10),r={name:"HMAC",hash:`SHA-${n}`,length:n},o=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return R(new Uint8Array((n=parseInt(e.slice(-3),10))>>3));case"A128KW":case"A192KW":case"A256KW":r={name:"AES-KW",length:n=parseInt(e.slice(1,4),10)},o=["wrapKey","unwrapKey"];break;case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":case"A128GCM":case"A192GCM":case"A256GCM":r={name:"AES-GCM",length:n=parseInt(e.slice(1,4),10)},o=["encrypt","decrypt"];break;default:throw new _('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return a.subtle.generateKey(r,t?.extractable??!1,o)}function tN(e){let t=e?.modulusLength??2048;if("number"!=typeof t||t<2048)throw new _("Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used");return t}async function tH(e,t){let n,r;switch(e){case"PS256":case"PS384":case"PS512":n={name:"RSA-PSS",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:tN(t)},r=["sign","verify"];break;case"RS256":case"RS384":case"RS512":n={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:tN(t)},r=["sign","verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":n={name:"RSA-OAEP",hash:`SHA-${parseInt(e.slice(-3),10)||1}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:tN(t)},r=["decrypt","unwrapKey","encrypt","wrapKey"];break;case"ES256":n={name:"ECDSA",namedCurve:"P-256"},r=["sign","verify"];break;case"ES384":n={name:"ECDSA",namedCurve:"P-384"},r=["sign","verify"];break;case"ES512":n={name:"ECDSA",namedCurve:"P-521"},r=["sign","verify"];break;case"EdDSA":{r=["sign","verify"];let e=t?.crv??"Ed25519";switch(e){case"Ed25519":case"Ed448":n={name:e};break;default:throw new _("Invalid or unsupported crv option provided")}break}case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{r=["deriveKey","deriveBits"];let e=t?.crv??"P-256";switch(e){case"P-256":case"P-384":case"P-521":n={name:"ECDH",namedCurve:e};break;case"X25519":case"X448":n={name:e};break;default:throw new _("Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448")}break}default:throw new _('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return a.subtle.generateKey(n,t?.extractable??!1,r)}async function tL(e,t){return tH(e,t)}async function tB(e,t){return tW(e,t)}var tF="WebCryptoAPI"},31955:function(e,t,n){"use strict";/*! js-cookie v3.0.5 | MIT */function r(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,a),d=i||t.size||"1em";return t.className&&(n=t.className),e.className&&(n=(n?n+" ":"")+e.className),r.createElement("svg",s({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,o,l,{className:n,style:c(c({color:e.color||t.color},t.style),e.style),height:d,width:d,xmlns:"http://www.w3.org/2000/svg"}),u&&r.createElement("title",null,u),e.children)};return void 0!==i?r.createElement(i.Consumer,null,function(e){return t(e)}):t(o)}},52587:function(e,t,n){"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n"object"==typeof window?((e?e.querySelector("#_goober"):window._goober)||Object.assign((e||document.head).appendChild(document.createElement("style")),{innerHTML:" ",id:"_goober"})).firstChild:e||s,c=/(?:([\u0080-\uFFFF\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\s*)/g,l=/\/\*[^]*?\*\/| +/g,d=/\n+/g,p=(e,t)=>{let n="",r="",o="";for(let i in e){let a=e[i];"@"==i[0]?"i"==i[1]?n=i+" "+a+";":r+="f"==i[1]?p(a,i):i+"{"+p(a,"k"==i[1]?"":t)+"}":"object"==typeof a?r+=p(a,t?t.replace(/([^,])+/g,e=>i.replace(/(^:.*)|([^,])+/g,t=>/&/.test(t)?t.replace(/&/g,e):e?e+" "+t:t)):i):null!=a&&(i=/^--/.test(i)?i:i.replace(/[A-Z]/g,"-$&").toLowerCase(),o+=p.p?p.p(i,a):i+":"+a+";")}return n+(t&&o?t+"{"+o+"}":o)+r},h={},f=e=>{if("object"==typeof e){let t="";for(let n in e)t+=n+f(e[n]);return t}return e},m=(e,t,n,r,o)=>{var i;let a=f(e),s=h[a]||(h[a]=(e=>{let t=0,n=11;for(;t>>0;return"go"+n})(a));if(!h[s]){let t=a!==e?e:(e=>{let t,n,r=[{}];for(;t=c.exec(e.replace(l,""));)t[4]?r.shift():t[3]?(n=t[3].replace(d," ").trim(),r.unshift(r[0][n]=r[0][n]||{})):r[0][t[1]]=t[2].replace(d," ").trim();return r[0]})(e);h[s]=p(o?{["@keyframes "+s]:t}:t,n?"":"."+s)}let u=n&&h.g?h.g:null;return n&&(h.g=h[s]),i=h[s],u?t.data=t.data.replace(u,i):-1===t.data.indexOf(i)&&(t.data=r?i+t.data:t.data+i),s},g=(e,t,n)=>e.reduce((e,r,o)=>{let i=t[o];if(i&&i.call){let e=i(n),t=e&&e.props&&e.props.className||/^go/.test(e)&&e;i=t?"."+t:e&&"object"==typeof e?e.props?"":p(e,""):!1===e?"":e}return e+r+(null==i?"":i)},"");function y(e){let t=this||{},n=e.call?e(t.p):e;return m(n.unshift?n.raw?g(n,[].slice.call(arguments,1),t.p):n.reduce((e,n)=>Object.assign(e,n&&n.call?n(t.p):n),{}):n,u(t.target),t.g,t.o,t.k)}y.bind({g:1});let v,w,b,A=y.bind({k:1});function S(e,t){let n=this||{};return function(){let r=arguments;function o(i,a){let s=Object.assign({},i),u=s.className||o.className;n.p=Object.assign({theme:w&&w()},s),n.o=/ *go\d+/.test(u),s.className=y.apply(n,r)+(u?" "+u:""),t&&(s.ref=a);let c=e;return e[0]&&(c=s.as||e,delete s.as),b&&c[0]&&b(s),v(c,s)}return t?t(o):o}}var P=e=>"function"==typeof e,k=(e,t)=>P(e)?e(t):e,_=(r=0,()=>(++r).toString()),I=()=>{if(void 0===o&&"u">typeof window){let e=matchMedia("(prefers-reduced-motion: reduce)");o=!e||e.matches}return o},x=new Map,T=e=>{if(x.has(e))return;let t=setTimeout(()=>{x.delete(e),D({type:4,toastId:e})},1e3);x.set(e,t)},E=e=>{let t=x.get(e);t&&clearTimeout(t)},C=(e,t)=>{switch(t.type){case 0:return{...e,toasts:[t.toast,...e.toasts].slice(0,20)};case 1:return t.toast.id&&E(t.toast.id),{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case 2:let{toast:n}=t;return e.toasts.find(e=>e.id===n.id)?C(e,{type:1,toast:n}):C(e,{type:0,toast:n});case 3:let{toastId:r}=t;return r?T(r):e.toasts.forEach(e=>{T(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===r||void 0===r?{...e,visible:!1}:e)};case 4:return void 0===t.toastId?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)};case 5:return{...e,pausedAt:t.time};case 6:let o=t.time-(e.pausedAt||0);return{...e,pausedAt:void 0,toasts:e.toasts.map(e=>({...e,pauseDuration:e.pauseDuration+o}))}}},M=[],O={toasts:[],pausedAt:void 0},D=e=>{O=C(O,e),M.forEach(e=>{e(O)})},j={blank:4e3,error:4e3,success:2e3,loading:1/0,custom:4e3},U=(e={})=>{let[t,n]=(0,a.useState)(O);(0,a.useEffect)(()=>(M.push(n),()=>{let e=M.indexOf(n);e>-1&&M.splice(e,1)}),[t]);let r=t.toasts.map(t=>{var n,r;return{...e,...e[t.type],...t,duration:t.duration||(null==(n=e[t.type])?void 0:n.duration)||(null==e?void 0:e.duration)||j[t.type],style:{...e.style,...null==(r=e[t.type])?void 0:r.style,...t.style}}});return{...t,toasts:r}},R=(e,t="blank",n)=>({createdAt:Date.now(),visible:!0,type:t,ariaProps:{role:"status","aria-live":"polite"},message:e,pauseDuration:0,...n,id:(null==n?void 0:n.id)||_()}),W=e=>(t,n)=>{let r=R(t,e,n);return D({type:2,toast:r}),r.id},N=(e,t)=>W("blank")(e,t);N.error=W("error"),N.success=W("success"),N.loading=W("loading"),N.custom=W("custom"),N.dismiss=e=>{D({type:3,toastId:e})},N.remove=e=>D({type:4,toastId:e}),N.promise=(e,t,n)=>{let r=N.loading(t.loading,{...n,...null==n?void 0:n.loading});return e.then(e=>(N.success(k(t.success,e),{id:r,...n,...null==n?void 0:n.success}),e)).catch(e=>{N.error(k(t.error,e),{id:r,...n,...null==n?void 0:n.error})}),e};var H=(e,t)=>{D({type:1,toast:{id:e,height:t}})},L=()=>{D({type:5,time:Date.now()})},B=e=>{let{toasts:t,pausedAt:n}=U(e);(0,a.useEffect)(()=>{if(n)return;let e=Date.now(),r=t.map(t=>{if(t.duration===1/0)return;let n=(t.duration||0)+t.pauseDuration-(e-t.createdAt);if(n<0){t.visible&&N.dismiss(t.id);return}return setTimeout(()=>N.dismiss(t.id),n)});return()=>{r.forEach(e=>e&&clearTimeout(e))}},[t,n]);let r=(0,a.useCallback)(()=>{n&&D({type:6,time:Date.now()})},[n]),o=(0,a.useCallback)((e,n)=>{let{reverseOrder:r=!1,gutter:o=8,defaultPosition:i}=n||{},a=t.filter(t=>(t.position||i)===(e.position||i)&&t.height),s=a.findIndex(t=>t.id===e.id),u=a.filter((e,t)=>te.visible).slice(...r?[u+1]:[0,u]).reduce((e,t)=>e+(t.height||0)+o,0)},[t]);return{toasts:t,handlers:{updateHeight:H,startPause:L,endPause:r,calculateOffset:o}}},F=A` +from { + transform: scale(0) rotate(45deg); + opacity: 0; +} +to { + transform: scale(1) rotate(45deg); + opacity: 1; +}`,K=A` +from { + transform: scale(0); + opacity: 0; +} +to { + transform: scale(1); + opacity: 1; +}`,G=A` +from { + transform: scale(0) rotate(90deg); + opacity: 0; +} +to { + transform: scale(1) rotate(90deg); + opacity: 1; +}`,z=S("div")` + width: 20px; + opacity: 0; + height: 20px; + border-radius: 10px; + background: ${e=>e.primary||"#ff4b4b"}; + position: relative; + transform: rotate(45deg); + + animation: ${F} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) + forwards; + animation-delay: 100ms; + + &:after, + &:before { + content: ''; + animation: ${K} 0.15s ease-out forwards; + animation-delay: 150ms; + position: absolute; + border-radius: 3px; + opacity: 0; + background: ${e=>e.secondary||"#fff"}; + bottom: 9px; + left: 4px; + height: 2px; + width: 12px; + } + + &:before { + animation: ${G} 0.15s ease-out forwards; + animation-delay: 180ms; + transform: rotate(90deg); + } +`,Z=A` + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +`,q=S("div")` + width: 12px; + height: 12px; + box-sizing: border-box; + border: 2px solid; + border-radius: 100%; + border-color: ${e=>e.secondary||"#e0e0e0"}; + border-right-color: ${e=>e.primary||"#616161"}; + animation: ${Z} 1s linear infinite; +`,J=A` +from { + transform: scale(0) rotate(45deg); + opacity: 0; +} +to { + transform: scale(1) rotate(45deg); + opacity: 1; +}`,Y=A` +0% { + height: 0; + width: 0; + opacity: 0; +} +40% { + height: 0; + width: 6px; + opacity: 1; +} +100% { + opacity: 1; + height: 10px; +}`,V=S("div")` + width: 20px; + opacity: 0; + height: 20px; + border-radius: 10px; + background: ${e=>e.primary||"#61d345"}; + position: relative; + transform: rotate(45deg); + + animation: ${J} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) + forwards; + animation-delay: 100ms; + &:after { + content: ''; + box-sizing: border-box; + animation: ${Y} 0.2s ease-out forwards; + opacity: 0; + animation-delay: 200ms; + position: absolute; + border-right: 2px solid; + border-bottom: 2px solid; + border-color: ${e=>e.secondary||"#fff"}; + bottom: 6px; + left: 6px; + height: 10px; + width: 6px; + } +`,$=S("div")` + position: absolute; +`,Q=S("div")` + position: relative; + display: flex; + justify-content: center; + align-items: center; + min-width: 20px; + min-height: 20px; +`,X=A` +from { + transform: scale(0.6); + opacity: 0.4; +} +to { + transform: scale(1); + opacity: 1; +}`,ee=S("div")` + position: relative; + transform: scale(0.6); + opacity: 0.4; + min-width: 20px; + animation: ${X} 0.3s 0.12s cubic-bezier(0.175, 0.885, 0.32, 1.275) + forwards; +`,et=({toast:e})=>{let{icon:t,type:n,iconTheme:r}=e;return void 0!==t?"string"==typeof t?a.createElement(ee,null,t):t:"blank"===n?null:a.createElement(Q,null,a.createElement(q,{...r}),"loading"!==n&&a.createElement($,null,"error"===n?a.createElement(z,{...r}):a.createElement(V,{...r})))},en=e=>` +0% {transform: translate3d(0,${-200*e}%,0) scale(.6); opacity:.5;} +100% {transform: translate3d(0,0,0) scale(1); opacity:1;} +`,er=e=>` +0% {transform: translate3d(0,0,-1px) scale(1); opacity:1;} +100% {transform: translate3d(0,${-150*e}%,-1px) scale(.6); opacity:0;} +`,eo=S("div")` + display: flex; + align-items: center; + background: #fff; + color: #363636; + line-height: 1.3; + will-change: transform; + box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1), 0 3px 3px rgba(0, 0, 0, 0.05); + max-width: 350px; + pointer-events: auto; + padding: 8px 10px; + border-radius: 8px; +`,ei=S("div")` + display: flex; + justify-content: center; + margin: 4px 10px; + color: inherit; + flex: 1 1 auto; + white-space: pre-line; +`,ea=(e,t)=>{let n=e.includes("top")?1:-1,[r,o]=I()?["0%{opacity:0;} 100%{opacity:1;}","0%{opacity:1;} 100%{opacity:0;}"]:[en(n),er(n)];return{animation:t?`${A(r)} 0.35s cubic-bezier(.21,1.02,.73,1) forwards`:`${A(o)} 0.4s forwards cubic-bezier(.06,.71,.55,1)`}},es=a.memo(({toast:e,position:t,style:n,children:r})=>{let o=e.height?ea(e.position||t||"top-center",e.visible):{opacity:0},i=a.createElement(et,{toast:e}),s=a.createElement(ei,{...e.ariaProps},k(e.message,e));return a.createElement(eo,{className:e.className,style:{...o,...n,...e.style}},"function"==typeof r?r({icon:i,message:s}):a.createElement(a.Fragment,null,i,s))});i=a.createElement,p.p=void 0,v=i,w=void 0,b=void 0;var eu=({id:e,className:t,style:n,onHeightUpdate:r,children:o})=>{let i=a.useCallback(t=>{if(t){let n=()=>{r(e,t.getBoundingClientRect().height)};n(),new MutationObserver(n).observe(t,{subtree:!0,childList:!0,characterData:!0})}},[e,r]);return a.createElement("div",{ref:i,className:t,style:n},o)},ec=(e,t)=>{let n=e.includes("top"),r=e.includes("center")?{justifyContent:"center"}:e.includes("right")?{justifyContent:"flex-end"}:{};return{left:0,right:0,display:"flex",position:"absolute",transition:I()?void 0:"all 230ms cubic-bezier(.21,1.02,.73,1)",transform:`translateY(${t*(n?1:-1)}px)`,...n?{top:0}:{bottom:0},...r}},el=y` + z-index: 9999; + > * { + pointer-events: auto; + } +`,ed=({reverseOrder:e,position:t="top-center",toastOptions:n,gutter:r,children:o,containerStyle:i,containerClassName:s})=>{let{toasts:u,handlers:c}=B(n);return a.createElement("div",{style:{position:"fixed",zIndex:9999,top:16,left:16,right:16,bottom:16,pointerEvents:"none",...i},className:s,onMouseEnter:c.startPause,onMouseLeave:c.endPause},u.map(n=>{let i=n.position||t,s=ec(i,c.calculateOffset(n,{reverseOrder:e,gutter:r,defaultPosition:t}));return a.createElement(eu,{id:n.id,key:n.id,onHeightUpdate:c.updateHeight,className:n.visible?el:"",style:s},"custom"===n.type?k(n.message,n):o?o(n):a.createElement(es,{toast:n,position:i}))}))},ep=N},79544:function(e){"use strict";e.exports=JSON.parse('{"f":[{"chatTitle":"(Example) Learn English","syncedAt":null,"messages":[{"role":"system","plugins":[],"originalContent":"You are an English teacher, you help the user improve their English language skills, including grammar, vocabulary, pronunciation, and reading comprehension.","content":"You are an English teacher, you help the user improve their English language skills, including grammar, vocabulary, pronunciation, and reading comprehension."},{"role":"assistant","type":"character-welcome-message","content":"Hello, I\'m an English teacher. I can help you improve your English language skills. What specific area would you like to focus on today?","model":"claude-2"},{"role":"user","content":"Explain this word with definition, examples, pronunciation, and opposite meaning: Cacophony"},{"role":"assistant","content":" Here\'s a breakdown of the word cacophony:\\n\\nDefinition: A harsh, discordant mixture of sounds.\\n\\nPronunciation: kə-kŏf′ə-nē\\n\\nExamples:\\n- The cacophony of car horns during rush hour traffic was deafening. \\n- The band\'s music was an unlistenable cacophony of distorted guitars and screaming.\\n\\nOpposites: \\n- Euphony - a pleasing smooth sound or combination of sounds. \\n- Harmony - a combination of simultaneously sounded musical notes to produce chords and chord progressions.\\n- Melody - a sequence of single notes perceived as a unity.\\n\\nIn summary, cacophony refers to a displeasing mixture of loud, clashing noises. Its opposites refer to more melodic, harmonious, and pleasant sounding combinations of sounds.","model":"claude-2","usage":{"completion_tokens":182,"prompt_tokens":77,"total_tokens":259},"finish":"stop_sequence","titleUsage":null,"keywords":["discordant sounds","unpleasant sounds","euphony","harmony","melody"]}],"model":"claude-2","documentText":"","systemMessage":"You are an English teacher, you help the user improve their English language skills, including grammar, vocabulary, pronunciation, and reading comprehension.","character":{"id":"character-da07da71-248d-44d0-aea8-61d0970cf363","color":"#fff","title":"English Teacher","syncedAt":"2023-08-03T14:06:08.973Z","avatarURL":"/assets/ai-characters/english-teacher.png","createdAt":"2023-08-03T14:02:15.027Z","deletedAt":null,"lastUsedAt":"2023-08-03T14:06:00.779Z","description":"An English teacher who can help you improve your English language skills, including grammar, vocabulary, pronunciation, and reading comprehension.","instruction":"You are an English teacher, you help the user improve their English language skills, including grammar, vocabulary, pronunciation, and reading comprehension.","welcomeMessage":"Hello, I\'m an English teacher. I can help you improve your English language skills. What specific area would you like to focus on today?","trainingExamples":[]},"chatID":"ch-0d98d335-31fa-47f0-9d5a-1f29d9d0d005","updatedAt":"2023-08-06T12:01:06.417Z"},{"messages":[{"role":"system","plugins":[],"originalContent":"You are a helpful AI assistant.","content":"You are a helpful AI assistant."},{"role":"user","content":"I want you to act as a tech writer.\\n\\nYou will act as a creative and engaging technical writer and create guides on how to do different stuff on specific software.\\n\\nI will provide you with basic steps of an app functionality and you will come up with an engaging article on how to do those basic steps.\\n\\nYou can ask for screenshots, just add (screenshot) to where you think there should be one and I will add those later.\\n\\nNow write a short tech article on how to use Apple Notes on macOS.\\n\\nFormat in Markdown."},{"role":"assistant","content":" Here is a draft tech article on how to use Apple Notes on macOS:\\n\\n# Get Organized with Apple Notes on macOS\\n\\nApple Notes is a handy app that comes pre-installed on all Mac computers running macOS. It provides a simple yet powerful way to jot down notes, create checklists, scan documents, and more. In this guide, we\'ll walk through the basics of using Apple Notes to help you get organized.\\n\\n## Create a New Note\\n\\nGetting started with Apple Notes is easy. Here\'s how to create a new note:\\n\\n1. Open the Notes app on your Mac. It\'s located in the Applications folder or you can use Spotlight Search to find it.\\n\\n2. Click the New Note button (it looks like a sheet of paper with a + symbol) in the bottom left corner of the app window. Alternatively, use the keyboard shortcut **⌘N**.\\n\\n3. A new note will open up. Type in a title at the top and start entering your note content below it.\\n\\n(screenshot of new note window)\\n\\nThat\'s all there is to creating a note! Now let\'s look at ways to enhance your notes.\\n\\n## Add Lists, Photos, Scanned Documents\\n\\nApple Notes allows you to do more than just type text. You can enhance your notes by adding lists, photos, scanned documents, and more:\\n\\n- **Lists** - Create checklists by typing dashes (-) or asterisks (*) followed by your list item. Check them off when complete.\\n\\n- **Photos** - Drag and drop photos right into a note or copy/paste them.\\n\\n- **Scanned Documents** - Use your iPhone\'s camera to scan documents directly into a note. Requires iOS 11 or later.\\n\\n- **Sketches** - Use your trackpad or mouse to draw simple sketches.\\n\\n- **Web links** - Paste in web links to add related sites.\\n\\nAdding visual elements helps make your notes more useful and easy to refer back to later.\\n\\n(screenshot of note with a photo)\\n\\n## Organize Notes with Folders\\n\\nTo keep your growing collection of notes tidy, use folders to categorize and organize them:\\n\\n1. Click the New Folder button at the bottom of the sidebar. Give your folder a name.\\n\\n2. Click and drag notes onto the folder to file them away.\\n\\n3. Right-click a folder to nest subfolders inside.\\n\\nFolders allow you to group related notes and stay organized as your library of notes grows.\\n\\n(screenshot of notes sidebar with folders)\\n\\nAnd that\'s the basics of using Apple Notes on your Mac! With a few notes and folders set up, you\'ll be on your way to being more organized and productive. Notes seamlessly syncs across all your Apple devices using iCloud, so you can also access all your notes on your iPhone and iPad too.","model":"claude-2","usage":{"completion_tokens":620,"prompt_tokens":126,"total_tokens":746},"finish":"stop_sequence","titleUsage":null,"keywords":["macos notes","lists","checklists","organize notes","folders"]}],"chatTitle":"(Example) Writing Content","model":"claude-2","documentText":"","systemMessage":"You are a helpful AI assistant.","chatID":"ch-dfad4a34-7112-42cc-8468-3f5b2eb7a850","updatedAt":"2023-08-06T11:58:15.427Z","syncedAt":null},{"messages":[{"role":"system","plugins":[{"id":"get_web_search_results","title":"Web Search","emoji":"\uD83D\uDD0D"}],"originalContent":"You are a helpful AI assistant.","content":"You are a helpful AI assistant."},{"role":"user","content":"What is the current top stories on hacker news?"},{"content":null,"role":"assistant","function_call":{"name":"get_web_search_results","arguments":"{\\n \\"keyword\\": \\"top stories hacker news\\"\\n}"},"usage":{"completion_tokens":0,"prompt_tokens":18,"total_tokens":18},"model":"gpt-4"},{"role":"function","type":"tool-response","name":"get_web_search_results","content":"\\nTitle: Top Links | Hacker News\\nResult: Hacker News \xb7 1. Bram Moolenaar has died (groups.google.com) \xb7 2. Successful room temperature ambient-pressure magnetic levitation of LK-99 (arxiv.org) \xb7 3. A list\xa0...\\nURL: https://news.ycombinator.com/best\\n\\nTitle: HackerNews/API: Documentation and Samples for the ... - GitHub\\nResult: Hacker News API Overview URI and Versioning Design Items Users Live Data Max Item ID New, Top and Best Stories Ask, Show and Job Stories Changed Items and\xa0...\\nURL: https://github.com/HackerNews/API\\n\\nTitle: Ask HN: Best books read in 2022? | Hacker News\\nResult: \\"The Dawn of Everything: A New History of Humanity\\" by Graeber and Wengrow since it really shows how narrow our political imagination has been for the last 250\xa0...\\nURL: https://news.ycombinator.com/item?id=33849267\\n\\nTitle: Top Hacker News Books of All Time\\nResult: 1. Code: The Hidden Language of Computer Hardware and Software \xb7 2. Why We Sleep: Unlocking the Power of Sleep and Dreams \xb7 3. Influence: The Psychology of\xa0...\\nURL: https://hackernewsbooks.com/top-books-on-hacker-news\\n\\nTitle: Daily top stories from Hacker News* http://www.daemonology.n...\\nResult: Hacker News Daily: Daily top stories from Hacker News. http://www.daemonology.net/hn-daily/. The 10 highest-rated articles on Hacker News [.\\nURL: https://news.ycombinator.com/item?id=23784070\\n\\nTitle: The Hacker News | #1 Trusted Cybersecurity News Site\\nResult: The Hacker News is the most trusted and popular cybersecurity publication for information security professionals seeking breaking news, actionable insights\xa0...\\nURL: https://thehackernews.com/\\n\\nTitle: Hacker News Books\\nResult: The Best Books Mentioned On Hacker News This Week \xb7 1. The No-Cry Sleep Solution for Toddlers and Preschoolers: Gentle Ways to Stop Bedtime Battles and Improve\xa0...\\nURL: https://hackernewsbooks.com/\\n\\nTitle: javascript - How to display all stories from the Hacker News API on ...\\nResult: Aug 2, 2019 ... Here is an example of how you can use the \\"HackerNews API\\": First, the TopStories endpoint returns a list of post ids .\\nURL: https://stackoverflow.com/questions/57327773/how-to-display-all-stories-from-the-hacker-news-api-on-my-react-app-when-loading\\n\\nTitle: Search Hacker News\\nResult: Hacker News Search, millions articles and comments at your fingertips.\\nURL: https://hn.algolia.com/\\n\\nTitle: Hacker News\\nResult: New and Top Stories. get/topstories.json. Up to 500 top and new stories are at https://hacker-news.firebaseio.com/v0/topstories and\xa0...\\nURL: https://hackernews.api-docs.io/v0/live-data/new-and-top-stories\\n"},{"content":"The top stories being discussed on Hacker News right now are:\\n\\n1. The unfortunate passing of Bram Moolenaar. [[source]](https://groups.google.com)\\n2. A publication about successful room temperature ambient-pressure magnetic levitation of LK-99. [[source]](https://arxiv.org)\\n3. A discussion on the best books read in 2022 with \\"The Dawn of Everything: A New History of Humanity\\" by Graeber and Wengrow being highlighted. [[source]](https://news.ycombinator.com/item?id=33849267)\\n\\nPlease note the stories change frequently as the community upvotes new discussions.","role":"assistant","usage":{"completion_tokens":146,"prompt_tokens":735,"total_tokens":881},"model":"gpt-4","titleUsage":{"prompt_tokens":280,"completion_tokens":44,"total_tokens":324},"keywords":["Bram Moolenaar","room temperature ambient-pressure magnetic levitation","LK-99","The Dawn of Everything: A New History of Humanity","Graeber and Wengrow"]}],"chatTitle":"(Example) Web Search","model":"gpt-4","documentText":"","systemMessage":"You are a helpful AI assistant.","chatID":"ch-8204bffc-11e3-41fa-8476-309b87e265b5","updatedAt":"2023-08-06T11:54:22.285Z","syncedAt":null},{"messages":[{"role":"system","plugins":[],"originalContent":"You are a helpful AI assistant.","content":"You are a helpful AI assistant."},{"role":"user","content":"How to send a http request in python?"},{"content":"To send a HTTP request in Python, you can use the `requests` library. Here\'s an example of how you can send a GET request:\\n\\n```python\\nimport requests\\n\\nurl = \\"https://api.example.com/data\\"\\nresponse = requests.get(url)\\n\\nif response.status_code == 200:\\n # Request successful, you can access the response data using response.text, response.json(), etc.\\n print(response.text)\\nelse:\\n # Request failed, display the error code\\n print(f\\"Request failed with status code: {response.status_code}\\")\\n```\\n\\nIn this example, we import the `requests` library and define the URL we want to send a request to. We then use the `requests.get()` method to send a GET request to that URL. The response from the server is stored in the `response` variable.\\n\\nYou can check the status code of the response to see if the request was successful (e.g., 200 for success, 404 for not found, etc.). If the request was successful, you can access the response data using `response.text`, `response.json()`, or other methods depending on the type of response you expect.\\n\\nIf the request fails, you can handle the error by displaying the error code or taking appropriate action based on your application\'s needs.\\n\\nNote: Before using the `requests` library, you need to make sure it is installed on your system. You can install it using pip: `pip install requests`.","role":"assistant","usage":{"completion_tokens":346,"prompt_tokens":17,"total_tokens":363},"model":"gpt-3.5-turbo","titleUsage":{"prompt_tokens":443,"completion_tokens":29,"total_tokens":472},"keywords":["send HTTP request in Python","requests library Python","GET request Python","response.status_code Python","install requests library Python"]}],"chatTitle":"(Example) Coding Help","model":"gpt-3.5-turbo","documentText":"","systemMessage":"You are a helpful AI assistant.","chatID":"ch-ed03a8f9-5c20-4c8d-9fe1-571e6b17826c","updatedAt":"2023-08-06T11:52:50.475Z","syncedAt":null}]}')},1841:function(e){"use strict";e.exports=JSON.parse('[{"uuid":"51bb73c9-9a33-46f0-ba3e-07094b5a3d95","id":"get_web_search_results","emoji":"\uD83D\uDD0D","title":"Web Search","userSettings":[{"name":"searchEngineID","label":"Search Engine ID","required":true},{"name":"searchEngineAPIKey","label":"Search Engine API Key","type":"password","required":true}],"openaiSpec":{"name":"get_web_search_results","description":"Search for information from the internet in real-time using Google Search.","parameters":{"type":"object","properties":{"keyword":{"type":"string","description":"The search keyword"}},"required":["keyword"]}},"httpAction":{"id":"03544138-b83c-426f-b157-636e87907aae","method":"GET","name":"","url":"https://customsearch.googleapis.com/customsearch/v1?q={keyword}&cx={searchEngineID}&key={searchEngineAPIKey}","resultTransform":{"engine":"jmes","expression":"items[*].{Title: title, Result: snippet, Link: link}"},"hasResultTransform":true},"implementationType":"javascript","outputType":"respond_to_ai","overviewMarkdown":"This plugin allows the AI assistant to search for information from the internet in real-time using Google Search.\\n\\n**\uD83D\uDD11 Search API Key needed**. Click the Settings tab and enter your Google Search API Key and Search Engine ID. To get your Google Search API Key and Search Engine ID, follow [the instructions here](https://docs.typingmind.com/other-resources/how-tos/how-to-get-search-engine-id-and-api-key-on-programmable-search-engine-by-google)\\n\\nExample usage:\\n\\n> What\'s the gold price?\\n\\n> How\'s the weather at HCMC at the moment?\\n","code":"function get_web_search_results(params, userSettings) {\\n var keyword = params.keyword;\\n var cx = userSettings.searchEngineID;\\n var key = userSettings.searchEngineAPIKey;\\n\\n if (!cx || !key) {\\n throw new Error(\\n \'Please set the Search Engine ID and API Key in the plugin settings.\'\\n );\\n }\\n\\n return fetch(\\n `https://customsearch.googleapis.com/customsearch/v1?q=${encodeURIComponent(\\n keyword\\n )}&key=${key}&cx=${cx}`\\n )\\n .then((r) => r.json())\\n .then((response) => {\\n if (response.error) {\\n throw new Error(\'Error: \' + response.error.message);\\n }\\n const items = response.items;\\n return items\\n .map(\\n (item) => `\\nTitle:${item.title}\\nResult:${item.snippet}\\nURL:${item.link}\\n `\\n )\\n .join(\'\');\\n });\\n}\\n","githubURL":"https://github.com/TypingMind/plugin-web-search","system":true,"org":null},{"uuid":"70606b50-137b-45c3-8688-545398dc85a0","id":"search_via_perplexity","iconURL":"https://custom.typingmind.com/assets/models/perplexityai.png","emoji":"\uD83D\uDD0D","title":"Perplexity Search","userSettings":[{"name":"apiKey","label":"Perplexity API Key","type":"password","required":true,"description":"Get your API Key from Perplexity: https://www.perplexity.ai/settings/api"},{"name":"model","label":"Model","description":"Optional, default: \\"llama-3-sonar-small-32k-online\\"","defaultValue":"llama-3-sonar-small-32k-online"},{"name":"systemMessage","label":"System Message","description":"Optional, default: \\"Be precise and concise\\"","defaultValue":"Be precise and concise"}],"openaiSpec":{"name":"search_via_perplexity","description":"Search for information from the internet using Perplexity.","parameters":{"type":"object","properties":{"keyword":{"type":"string","description":"The search keyword"}},"required":["keyword"]}},"httpAction":{"id":"b156833f-9599-4155-bba9-e713dd21aa01","method":"POST","name":"","url":"https://api.perplexity.ai/chat/completions","requestBody":"{\\"model\\": \\"{model}\\",\\"messages\\": [{\\"role\\": \\"system\\",\\"content\\": \\"{systemMessage}\\"},{\\"role\\": \\"user\\",\\"content\\": \\"{keyword}\\"}]}","requestHeaders":"{\\"accept\\": \\"application/json\\",\\"authorization\\": \\"Bearer {apiKey}\\"}","resultTransform":{"engine":"jmes","expression":"choices[*].message.content | join(\' \', @)"},"hasResultTransform":true,"hasBody":true,"hasHeaders":true},"implementationType":"javascript","outputType":"respond_to_ai","overviewMarkdown":"This plugin allows the AI assistant to search for information from the internet using Perplexity.\\n\\n**\uD83D\uDD11 Perplexity API Key needed**. Click the Settings tab and enter your API Key. Get your Perplexity API Key from [here](https://www.perplexity.ai/settings/api)\\n\\nExample usage:\\n\\n> What\'s the gold price?\\n\\n> How\'s the weather at HCMC at the moment?\\n","code":"function search_via_perplexity(params, userSettings) {\\n const keyword = params.keyword;\\n const model = userSettings.model || \'llama-3-sonar-small-32k-online\';\\n const systemMessage = userSettings.systemMessage || \'Be precise and concise.\';\\n const key = userSettings.apiKey;\\n\\n if (!key) {\\n throw new Error(\\n \'Please set the Perplexity API Key in the plugin settings.\'\\n );\\n }\\n\\n return fetch(\'https://api.perplexity.ai/chat/completions\', {\\n method: \'POST\',\\n headers: {\\n \'content-type\': \'application/json\',\\n accept: \'application/json\',\\n authorization: \'Bearer \' + key,\\n },\\n body: JSON.stringify({\\n model: model,\\n messages: [\\n {\\n role: \'system\',\\n content: systemMessage,\\n },\\n {\\n role: \'user\',\\n content: keyword,\\n },\\n ],\\n }),\\n })\\n .then((r) => r.json())\\n .then((response) => {\\n return response.choices.map((c) => c.message.content).join(\' \');\\n });\\n}\\n","githubURL":"https://github.com/TypingMind/plugin-perplexity-search","system":true,"org":null},{"id":"image_generation_via_dalle_3","uuid":"0ee9d4d8-c453-40bd-b2e1-04b94e935fa2","userSettings":[{"name":"openaikey","label":"OpenAI API Key (Required)","description":"The images will be generated using this OpenAI API. Get your API key from https://platform.openai.com/account/api-keys","type":"password","required":true,"placeholder":"sk-******"},{"name":"resolution","label":"Resolution","description":"Optional, default: \\"1024x1024\\"","type":"enum","values":["1024x1024","1024x1792","1792x1024"]},{"name":"quality","label":"Quality","description":"Optional, default: \\"standard\\"","type":"enum","values":["standard","hd"]}],"emoji":"✨","title":"DALL-E 3","openaiSpec":{"name":"image_generation_via_dalle_3","parameters":{"type":"object","required":["prompt"],"properties":{"prompt":{"type":"string","description":"The description of the image as defined in the guidelines."}}},"description":"Generate images using DALL-E 3 based on image descriptions. Adhere to guidelines such as English translation, not depicting politicians or recent artists, and ensuring artist references are over 100 years old.\\nWhen creating prompts: substitute artist names with style-describing adjectives, include artistic era, mention primary medium. Image type, descent, gender are to be explicitly stated. Avoid offense and bias, conceal identities except gender and physique, retain text references, replace profession titles with universal terms.\\nPrompt changes aren\'t allowed unless they anonymise individuals. Replace creative professional/studio names with style descriptions. All prompts should detail every image part in objective terms within a detailed paragraph of over three sentences.\\nImportant: after calling this function, the output images will be shown to the user automatically. You don\'t need to include the output image to the users again in your response to avoid duplicate images."},"httpAction":{"hasBody":true,"hasHeaders":true,"hasResultTransform":true,"id":"a317a913-6d54-4d0e-b2a0-285712d45640","method":"POST","name":"","requestBody":"{\\n \\"model\\": \\"dall-e-3\\",\\n \\"prompt\\": \\"{prompt}\\",\\n \\"n\\": 1,\\n \\"size\\": \\"{resolution}\\",\\n \\"quality\\": \\"{quality}\\",\\n \\"response_format\\": \\"url\\"\\n }","requestHeaders":"{\\n\\"Content-Type\\": \\"application/json\\",\\n\\"Authorization\\": \\"Bearer {openaikey}\\"\\n}","resultTransform":{"engine":"handlebars","templateString":"![{{data.[0].revised_prompt}}]({{data.[0].url}})\\n\\n_Note: Generated images will expire after 1 hour. Save them to your device if you wish to keep the images._"},"url":"https://api.openai.com/v1/images/generations"},"implementationType":"javascript","outputType":"render_markdown","overviewMarkdown":"## Dall-E 3\\n\\nDall-E 3 allows you to use state-of-the-art image generation with Dall-E 3 using the OpenAI API.\\n\\nMake sure you’ve entered your OpenAI API key in settings.\\n\\nExample usage:\\n\\n> Generate a picture of a cat\\n","code":"async function createOpenAIURL(prompt, openaikey, quality, resolution) {\\n var requestHeaders = new Headers();\\n requestHeaders.append(\'Content-Type\', \'application/json\');\\n requestHeaders.append(\'Authorization\', \'Bearer \' + openaikey);\\n\\n var raw = JSON.stringify({\\n model: \'dall-e-3\',\\n prompt: prompt,\\n n: 1,\\n size: resolution,\\n quality: quality,\\n response_format: \'url\',\\n });\\n\\n var requestOptions = {\\n method: \'POST\',\\n headers: requestHeaders,\\n body: raw,\\n redirect: \'follow\',\\n };\\n\\n let response = await fetch(\\n \'https://api.openai.com/v1/images/generations\',\\n requestOptions\\n );\\n if (response.status === 401) {\\n throw new Error(\'Invalid OpenAI API Key. Please check your settings.\');\\n }\\n\\n if (!response.ok) {\\n const errorText = await response.text();\\n throw new Error(errorText);\\n }\\n\\n let data = await response.json();\\n\\n let url = data.data[0].url;\\n\\n let endresult = \'![\' + prompt.replace(/[[]]/, \'\') + \'](\' + url + \')\';\\n return endresult;\\n}\\n\\nasync function generateOpenAIResult(prompts, openaikey, quality, resolution) {\\n const results = await Promise.all(\\n prompts.map((prompt) =>\\n createOpenAIURL(prompt, openaikey, quality, resolution)\\n )\\n );\\n return (\\n results.join(\'\\\\n\\\\n\') +\\n \'\\\\n_Note: Generated images will expire after 1 hour. Save them to your device if you wish to keep the images._\'\\n );\\n}\\n\\nasync function image_generation_via_dalle_3(params, userSettings) {\\n const openaikey = userSettings.openaikey;\\n const quality = getQuality(userSettings);\\n const resolution = getResolution(userSettings);\\n if (!openaikey) {\\n throw new Error(\\n \'No OpenAI key provided to the DALL-3 plugin. Please enter your OpenAI key in the plugin settings seperately and try again.\'\\n );\\n }\\n\\n const prompts = [\\n params.prompt\\n ].filter(Boolean);\\n const result = await generateOpenAIResult(\\n prompts,\\n openaikey,\\n quality,\\n resolution\\n );\\n return result;\\n}\\n\\nfunction getQuality(userSettings) {\\n // Only return userSettings quality if valid\\n if (!userSettings.quality) {\\n return \'standard\';\\n }\\n\\n switch (userSettings.quality.toLowerCase()) {\\n case \'hd\':\\n return \'hd\';\\n case \'standard\':\\n return \'standard\';\\n default:\\n return \'standard\';\\n }\\n}\\n\\nfunction getResolution(userSettings) {\\n switch (userSettings.resolution) {\\n case \'1024x1024\':\\n return \'1024x1024\';\\n case \'1024x1792\':\\n return \'1024x1792\';\\n case \'1792x1024\':\\n return \'1792x1024\';\\n default:\\n return \'1024x1024\'; // default resolution\\n }\\n}\\n","githubURL":"https://github.com/TypingMind/plugin-dall-e-3","system":true,"org":null},{"id":"image_generation_via_stable_diffusion","uuid":"f582e880-16d8-4a02-b247-86b4cbe9b389","userSettings":[{"name":"stabilityAPIKey","required":true,"type":"password","label":"StabilityAI API Key","description":"Get your free API Key from StabilityAI: https://platform.stability.ai/account/keys"},{"name":"width","type":"number","label":"Width of the image (min: 320, max: 1536)","description":"Must be specified in increments of 64. (e.g. 512, 1024)","placeholder":"512","defaultValue":512},{"name":"height","type":"number","label":"Height of the image (min: 320, max: 1536)","description":"Must be specified in increments of 64. (e.g. 512, 1024)","placeholder":"512","defaultValue":512}],"emoji":"\uD83D\uDDBC️","title":"Stable Diffusion v2 Image","openaiSpec":{"name":"image_generation_via_stable_diffusion","parameters":{"type":"object","required":["prompt"],"properties":{"prompt":{"type":"string","description":"The text description of the desired image."}}},"description":"Generate images using Stable Diffusion based on a text description. Adhere to guidelines such as English translation, not depicting politicians or recent artists, and ensuring artist references are over 100 years old.\\n\\nWhen creating prompt: substitute artist names with style-describing adjectives, include artistic era, mention primary medium. Image type, descent, gender are to be explicitly stated. Avoid offense and bias, conceal identities except gender and physique, retain text references, replace profession titles with universal terms.\\n\\nPrompt changes aren\'t allowed unless they anonymise individuals. Replace creative professional/studio names with style descriptions. All prompts should detail every image part in objective terms within a detailed paragraph of over three sentences.\\n\\nImportant: after calling this function, the output images will be shown to the user automatically. You don\'t need to include the output image to the users again in your response to avoid duplicate images."},"httpAction":{"id":"86d0cd86-f4de-4ca4-b712-1bfb01dfbfe6","method":"POST","name":"","url":"https://api.stability.ai/v1/generation/stable-diffusion-v1-6/text-to-image","requestBody":"{\\"text_prompts\\":[{\\"text\\":\\"{prompt}\\"}],\\"cfg_scale\\":7,\\"samples\\":1,\\"steps\\":30,\\"width\\":{width},\\"height\\":{height}}","requestHeaders":"{\\"Content-Type\\":\\"application/json\\",\\"Authorization\\":\\"Bearer {stabilityAPIKey}\\"}","resultTransform":{"engine":"handlebars","templateString":"![{{__VARIABLES.prompt}}](data:image/png;base64,{{artifacts.[0].base64}})"},"hasResultTransform":true,"hasBody":true,"hasHeaders":true},"implementationType":"javascript","outputType":"render_markdown","overviewMarkdown":"# Stable Diffusion v2 Image\\n\\nGenerate Unique Images with the Stable Diffusion Plugin\\n\\nTransform your imagination into stunning visuals using the power of Stable Diffusion. Easily create captivating images from just a few words.\\n\\n**API Key Required:** You\'ll need a valid Stable API key. Obtain one from their website (free): https://platform.stability.ai/account/keys\\n\\n## Examples\\n\\n- \\"Create an image of a majestic lion standing proudly on a cliff overlooking a vast savanna at sunset.\\"\\n- \\"Generate a vibrant cyberpunk cityscape illuminated by neon signs and bustling with activity.\\"\\n- \\"Draw a photorealistic portrait of a woman with fiery red hair and emerald green eyes.\\"\\n","code":"async function image_generation_via_stable_diffusion(params, userSettings) {\\n const { prompt } = params;\\n const { stabilityAPIKey, width, height } = userSettings;\\n validateAPIKey(stabilityAPIKey);\\n\\n try {\\n const imageData = await generateImageFromStabilityAPI(\\n stabilityAPIKey,\\n prompt,\\n Number(width) || 512,\\n Number(height) || 512\\n );\\n\\n return imageData;\\n } catch (error) {\\n console.error(\'Error generating image:\', error);\\n throw new Error(`Error: ${error.message}`);\\n }\\n}\\n\\nfunction validateAPIKey(apiKey) {\\n if (!apiKey) {\\n throw new Error(\\n \'Please set a Stable Diffusion API Key in the plugin settings.\'\\n );\\n }\\n}\\nasync function generateImageFromStabilityAPI(apiKey, prompt, width, height) {\\n const apiUrl =\\n \'https://api.stability.ai/v1/generation/stable-diffusion-v1-6/text-to-image\';\\n\\n const response = await fetch(apiUrl, {\\n method: \'POST\',\\n headers: {\\n \'Content-Type\': \'application/json\',\\n Authorization: `Bearer ${apiKey}`,\\n },\\n body: JSON.stringify({\\n text_prompts: [{ text: prompt }],\\n cfg_scale: 7,\\n samples: 1,\\n steps: 30,\\n width: width,\\n height: height,\\n }),\\n });\\n\\n if (!response.ok) {\\n const errorText = await response.text();\\n throw new Error(\\n `Stability API error: ${response.status}, Message: ${errorText}`\\n );\\n }\\n\\n const data = await response.json();\\n return `![${prompt}](data:image/png;base64,${data.artifacts[0].base64})`;\\n}\\n","githubURL":"https://github.com/TypingMind/plugin-stable-diffusion-v2-image","system":true,"org":null},{"id":"image_generation_via_stable_diffusion_3","uuid":"f582e880-16d8-4a02-b247-86b4cbe9b390","userSettings":[{"name":"stabilityAPIKey","required":true,"type":"password","label":"StabilityAI API Key","description":"Get your free API Key from StabilityAI: https://platform.stability.ai/account/keys"},{"name":"output_format","label":"Format of the generated image","description":"Optional, default: \\"png\\"","type":"enum","values":["png","jpeg"]},{"name":"aspect_ratio","label":"Aspect ratio of the generated image","description":"Optional, default: \\"1:1\\"","type":"enum","values":["16:9","1:1","21:9","2:3","3:2","4:5","5:4","9:16","9:21"]},{"name":"model","label":"Model to use for generation","description":"Optional, default: \\"sd3-large\\"","type":"enum","values":["sd3-medium","sd3-large","sd3-large-turbo"],"defaultValue":"sd3-large"},{"name":"negative_prompt","label":"Negative prompt","description":"Optional, a blurb of text describing what you do not wish to see in the output image"}],"iconURL":"https://www.typingmind.com/stable-diffusion.png","title":"Stable Diffusion v3 Image","openaiSpec":{"name":"image_generation_via_stable_diffusion_3","parameters":{"type":"object","required":["prompt"],"properties":{"prompt":{"type":"string","description":"The text description of the desired image."}}},"description":"Generate images using Stable Diffusion v3 based on a text description. Adhere to guidelines such as English translation, not depicting politicians or recent artists, and ensuring artist references are over 100 years old.\\n\\nWhen creating prompt: substitute artist names with style-describing adjectives, include artistic era, mention primary medium. Image type, descent, gender are to be explicitly stated. Avoid offense and bias, conceal identities except gender and physique, retain text references, replace profession titles with universal terms.\\n\\nPrompt changes aren\'t allowed unless they anonymise individuals. Replace creative professional/studio names with style descriptions. All prompts should detail every image part in objective terms within a detailed paragraph of over three sentences.\\n\\nImportant: after calling this function, the output images will be shown to the user automatically. You don\'t need to include the output image to the users again in your response to avoid duplicate images."},"httpAction":{"id":"4105dcae-c4c5-432f-91cd-af69188adda4","method":"POST","name":"","url":"https://api.stability.ai/v2beta/stable-image/generate/sd3","requestBody":"{\\"prompt\\":\\"{prompt}\\",\\"model\\":\\"{model}\\",\\"aspect_ratio\\":\\"{aspect_ratio}\\",\\"negative_prompt\\":\\"{negative_prompt}\\",\\"output_format\\":\\"{output_format}\\"}","requestBodyFormat":"form-data","requestHeaders":"{\\"Accept\\":\\"application/json; type=image/*\\",\\"Authorization\\":\\"Bearer {stabilityAPIKey}\\"}","resultTransform":{"engine":"handlebars","templateString":"![{{__VARIABLES.prompt}}](data:image/{{__VARIABLES.output_format}};base64,{{image}})"},"hasResultTransform":true,"hasBody":true,"hasHeaders":true},"implementationType":"javascript","outputType":"render_markdown","overviewMarkdown":"# Stable Diffusion v3 Image\\n\\nGenerate Unique Images with the Stable Diffusion Plugin\\n\\nTransform your imagination into stunning visuals using the power of Stable Diffusion. Easily create captivating images from just a few words.\\n\\n**API Key Required:** You\'ll need a valid Stable API key. Obtain one from their website (free): https://platform.stability.ai/account/keys\\n\\n## Examples\\n\\n- \\"Create an image of a majestic lion standing proudly on a cliff overlooking a vast savanna at sunset.\\"\\n- \\"Generate a vibrant cyberpunk cityscape illuminated by neon signs and bustling with activity.\\"\\n- \\"Draw a photorealistic portrait of a woman with fiery red hair and emerald green eyes.\\"\\n","code":"async function image_generation_via_stable_diffusion_3(params, userSettings) {\\n const { prompt } = params;\\n const { stabilityAPIKey } = userSettings;\\n validateAPIKey(stabilityAPIKey);\\n\\n try {\\n const imageData = await generateImageFromStabilityAPI(\\n stabilityAPIKey,\\n prompt,\\n userSettings\\n );\\n\\n return imageData;\\n } catch (error) {\\n console.error(\'Error generating image:\', error);\\n throw new Error(\'Error: \' + error.message);\\n }\\n}\\n\\nfunction validateAPIKey(apiKey) {\\n if (!apiKey) {\\n throw new Error(\\n \'Please set a Stable Diffusion API Key in the plugin settings.\'\\n );\\n }\\n}\\nasync function generateImageFromStabilityAPI(\\n apiKey,\\n prompt,\\n { output_format, aspect_ratio, model, negative_prompt } = {}\\n) {\\n const apiUrl = \'https://api.stability.ai/v2beta/stable-image/generate/sd3\';\\n\\n const body = new FormData();\\n\\n body.append(\'prompt\', prompt);\\n\\n output_format && body.append(\'output_format\', output_format);\\n aspect_ratio && body.append(\'aspect_ratio\', aspect_ratio);\\n model && body.append(\'model\', model);\\n negative_prompt && body.append(\\"negative_prompt\\", negative_prompt);\\n\\n const response = await fetch(apiUrl, {\\n method: \'POST\',\\n headers: {\\n Authorization: \'Bearer \' + apiKey,\\n Accept: \'application/json; type=image/*\',\\n },\\n body: body,\\n });\\n\\n if (!response.ok) {\\n const errorText = await response.text();\\n throw new Error(\\n `Stability API error: ${response.status}, Message: ${errorText}`\\n );\\n }\\n\\n const data = await response.json();\\n return `![${prompt}](data:image/${output_format || \'png\'};base64,${\\n data.image\\n })`;\\n}\\n","githubURL":"https://github.com/TypingMind/plugin-stable-diffusion-v3-image","system":true,"org":null},{"id":"search_images_via_google","uuid":"1ac26080-96ca-47ed-bd10-f62454bae2dc","userSettings":[{"name":"searchEngineID","label":"Search Engine ID","required":true},{"name":"searchEngineAPIKey","label":"Search Engine API Key","type":"password","required":true}],"emoji":"\uD83C\uDF05","title":"Image Search","openaiSpec":{"name":"search_images_via_google","description":"Search for images from the internet in real-time using Google Search.","parameters":{"type":"object","properties":{"keyword":{"type":"string","description":"The search keyword"}},"required":["keyword"]}},"httpAction":{"id":"8bda801d-9017-434c-92e4-64d5b6ef7ffa","method":"GET","name":"","url":"https://www.googleapis.com/customsearch/v1?q={keyword}&cx={searchEngineID}&key={searchEngineAPIKey}&searchType=image","resultTransform":{"engine":"jmes","expression":"items[*].{Title: title, Link: link}"},"hasResultTransform":true},"implementationType":"javascript","outputType":"respond_to_ai","overviewMarkdown":"## Image Search\\n\\nAllows the AI assistant to search the web or images using Google search.\\n\\n**\uD83D\uDD11 Search API Key needed**. Click the Settings tab and enter your Google Search API Key and Search Engine ID. To get your Google Search API Key and Search Engine ID, follow [the instructions here](https://docs.typingmind.com/other-resources/how-tos/how-to-get-search-engine-id-and-api-key-on-programmable-search-engine-by-google)\\n\\nExample usage:\\n\\n> Show me a cute cat picture\\n","code":"function search_images_via_google(params, userSettings) {\\n var keyword = params.keyword;\\n var cx = userSettings.searchEngineID;\\n var key = userSettings.searchEngineAPIKey;\\n\\n if (!cx || !key) {\\n throw new Error(\\n \'Please set the Search Engine ID and API Key in the plugin settings.\'\\n );\\n }\\n\\n let url = `https://www.googleapis.com/customsearch/v1?q=${keyword}&cx=${cx}&key=${key}&searchType=image`;\\n\\n return fetch(url)\\n .then((response) => response.json())\\n .then((data) => {\\n if (!data.items) {\\n throw new Error(\\n \'Cannot search images. Make sure you have enable Image Search in your Google Search Engine settings.\'\\n );\\n }\\n return data.items.map((item) => ({\\n title: item.title,\\n snippet: item.snippet,\\n imageURL: item.link,\\n }));\\n });\\n}\\n","githubURL":"https://github.com/TypingMind/plugin-image-search","system":true,"org":null},{"id":"read_web_page_content","uuid":"aa2ebdf6-564e-4994-8d30-1b9f13f9518a","userSettings":[{"name":"pluginServer","label":"Plugin Server","placeholder":"https://...","description":"The URL of the plugin server","required":true}],"emoji":"\uD83D\uDCC3","title":"Web Page Reader","openaiSpec":{"name":"read_web_page_content","parameters":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"URL of the article to be summarized"}}},"description":"Read the content of a web page via its URL."},"implementationType":"javascript","outputType":"respond_to_ai","overviewMarkdown":"# Web Page Reader\\n\\nRead the text content from a web URL.\\n\\n**Important Notes:**\\n\\n- This plugin requires a plugin server to be set up. [Learn how to set up a plugin server here (open-source)](https://docs.typingmind.com/plugins/plugins-server/how-to-deploy-plugins-server-on-render)\\n- Long web pages may results in long response and consume more tokens or exceed the maximum context length. This plugin is best used for short articles or blog posts.\\n\\n## Example usage\\n\\n- \\"summarise this article https://www.cnbc.com/2024/03/15/ceo-of-top-ocean-freight-carrier-hapag-lloyd-on-global-economy-demand.html\\"\\n","code":"async function fetchPageContent(url, pluginServer) {\\n const response = await fetch(\\n `${pluginServer}/get-content?url=${encodeURIComponent(url)}`\\n );\\n\\n if (!response.ok) {\\n throw new Error(\\n `Failed to fetch web content: ${response.status} - ${response.statusText}`\\n );\\n }\\n\\n const data = await response.json();\\n return data.responseObject;\\n}\\n\\nasync function read_web_page_content(params, userSettings) {\\n const { url } = params;\\n const { pluginServer } = userSettings;\\n\\n if (!pluginServer) {\\n throw new Error(\\n \'Missing plugin server URL. Please set it in the plugin settings.\'\\n );\\n }\\n\\n const cleanPluginServer = pluginServer.replace(/\\\\/$/, \'\');\\n\\n try {\\n return await fetchPageContent(url, cleanPluginServer);\\n } catch (error) {\\n console.error(\'Error summarizing webpage:\', error);\\n return \'Error: Unable to generate a summary. Please try again later.\';\\n }\\n}\\n","githubURL":"https://github.com/TypingMind/plugin-web-page-reader","system":true,"org":null},{"id":"fetch_market_news_sentiment","uuid":"345e2340-4831-4f9f-a495-cea4a96b6575","userSettings":[{"name":"alphaVantageAPIKey","required":true,"type":"password","label":"Alpha Vantage API Key"}],"emoji":"\uD83D\uDCC8","title":"Market News","openaiSpec":{"name":"fetch_market_news_sentiment","parameters":{"type":"object","required":[],"properties":{"time_to":{"type":"string","format":"date-time","description":"End date and time of news range (YYYYMMDDTHHMM format)"},"time_from":{"type":"string","format":"date-time","description":"Start date and time of news range (YYYYMMDDTHHMM format)"},"searchMode":{"enum":["tickers","topics"],"type":"string","description":"Choose whether to search by tickers or topics."},"searchTerms":{"type":"string","description":"Comma-separated tickers (if searchMode is \'tickers\') or topics (if searchMode is \'topics\'). tickers is the stock/crypto/forex symbols of your choice. For example: tickers=IBM will filter for articles that mention the IBM ticker; tickers=COIN,CRYPTO:BTC,FOREX:USD will filter for articles that simultaneously mention Coinbase (COIN), Bitcoin (CRYPTO:BTC), and US Dollar (FOREX:USD) in their content. make sure add COIN for tickers is user search crypto. topics is he news topics of your choice. For example: topics=technology will filter for articles that write about the technology sector; topics=technology,ipo will filter for articles that simultaneously cover technology and IPO in their content. Below is the full list of supported topics: Blockchain: blockchain Earnings: earnings IPO: ipo Mergers & Acquisitions: mergers_and_acquisitions Financial Markets: financial_markets Economy - Fiscal Policy (e.g., tax reform, government spending): economy_fiscal Economy - Monetary Policy (e.g., interest rates, inflation): economy_monetary Economy - Macro/Overall: economy_macro Energy & Transportation: energy_transportation Finance: finance Life Sciences: life_sciences Manufacturing: manufacturing Real Estate & Construction: real_estate Retail & Wholesale: retail_wholesale Technology: technology"}}},"description":"Fetches market news articles from Alpha Vantage. This plugin automatically displays the fetched news results to the user. Your response should not include any additional output intended for the user."},"implementationType":"javascript","outputType":"render_html","overviewMarkdown":"## Market News\\n\\nProvides up-to-date financial information from Alpha Vantage.\\n\\n- **API Key Required**: You need an Alpha Vantage API key to use this plugin. Get yours for free at [https://www.alphavantage.co/support/#api-key](https://www.alphavantage.co/support/#api-key).\\n\\n## Get Real-Time Market Insights with the Market News Plugin\\n\\nThis plugin empowers you to stay on top of the latest market trends by fetching live and historical market news and sentiment data directly within your workspace.\\n\\n**Example Queries**\\n\\n- **\\"Give me market news about Apple stock\\"**\\n- **\\"Show me the latest news about Bitcoin\\"**\\n- **\\"Give me news about the IPO and earnings in the finance sector from last week\\"**\\n","code":"async function fetch_market_news_sentiment(params, userSettings) {\\n const { searchMode, searchTerms, time_from, time_to } = params;\\n const { alphaVantageAPIKey } = userSettings;\\n\\n if (!alphaVantageAPIKey) {\\n return displayErrorMessage(\\n \'Please provide an Alpha Vantage API key in plugin settings\'\\n );\\n }\\n\\n const queryParams = buildQueryParams(\\n searchMode,\\n searchTerms,\\n time_from,\\n time_to,\\n alphaVantageAPIKey\\n );\\n const apiUrl = `https://www.alphavantage.co/query?${queryParams}`;\\n\\n try {\\n const response = await fetch(apiUrl);\\n handleResponseError(response);\\n\\n const data = await response.json();\\n handleDataError(data);\\n\\n const newsFeed = data.feed;\\n handleNewsFeedError(newsFeed, searchTerms);\\n\\n return generateHTML(newsFeed);\\n } catch (error) {\\n throw new Error(error.message);\\n }\\n}\\n\\nfunction buildQueryParams(\\n searchMode,\\n searchTerms,\\n time_from,\\n time_to,\\n alphaVantageAPIKey\\n) {\\n const queryParams = new URLSearchParams({\\n function: \'NEWS_SENTIMENT\',\\n apikey: alphaVantageAPIKey,\\n limit: 5,\\n sort: \'RELEVANCE\',\\n });\\n\\n if (searchMode === \'tickers\') {\\n queryParams.set(\'tickers\', searchTerms);\\n } else if (searchMode === \'topics\') {\\n queryParams.set(\'topics\', searchTerms);\\n }\\n\\n if (time_from) queryParams.set(\'time_from\', time_from);\\n if (time_to) queryParams.set(\'time_to\', time_to);\\n\\n return queryParams;\\n}\\n\\nfunction handleResponseError(response) {\\n if (!response.ok) {\\n throw new Error(`API Error: ${response.status}`);\\n }\\n}\\n\\nfunction handleDataError(data) {\\n if (data.Information) {\\n if (data.Information.includes(\'Invalid inputs\')) {\\n throw new Error(\'No news found for the search terms.\');\\n }\\n throw new Error(data.Information);\\n }\\n}\\n\\nfunction handleNewsFeedError(newsFeed, searchTerms) {\\n if (newsFeed.length === 0) {\\n throw new Error(\\n `No news found for the search terms: ${searchTerms}. Let try with specific symbols, example: GOOG, AAPL, TSLA, etc, or include \\"topics\\" in the search terms`\\n );\\n }\\n}\\n\\nfunction generateHTML(newsFeed) {\\n return `\\n
\\n \\n ${newsFeed\\n .slice(0, 5)\\n .map((article) => {\\n let formattedTime = formatTime(article.time_published);\\n return `\\n
\\n
\\n \\"${article.title}\\"\\n
\\n
\\n

${\\n article.title\\n }

\\n

Source: ${\\n article.source\\n } - Published: ${formattedTime}

\\n

${article.summary || \'Summary not available\'}

\\n
\\n
\\n `;\\n })\\n .join(\'\')}\\n
\\n `;\\n}\\n\\nfunction formatTime(timePublished) {\\n let year = timePublished.slice(0, 4);\\n let month = timePublished.slice(4, 6);\\n let day = timePublished.slice(6, 8);\\n let hour = timePublished.slice(9, 11);\\n let minute = timePublished.slice(11, 13);\\n let second = timePublished.slice(13, 15);\\n\\n let date = new Date(year, month - 1, day, hour, minute, second);\\n return date.toLocaleString();\\n}\\n","githubURL":"https://github.com/TypingMind/plugin-market-news","system":true,"org":null},{"uuid":"8cbc7b5b-62bd-428a-83a3-448f51bff58e","id":"get_calculation_result","emoji":"\uD83E\uDDEE","userSettings":null,"title":"Simple Calculator","openaiSpec":{"name":"get_calculation_result","description":"Calculate a math expression. For example, \\"2 + 2\\" or \\"2 * 2\\". The expression must be a valid JavaScript math expression.","parameters":{"type":"object","properties":{"expression":{"type":"string","description":"A valid JavaScript math expression for the calculation."}},"required":["expression"]}},"implementationType":"javascript","outputType":"respond_to_ai","overviewMarkdown":"Help the AI assistant does math calculations more accurately.\\n\\nExample usage:\\n\\n> What is the total of 2 plus 2?\\n\\n> What is 2^10?\\n","code":"function get_calculation_result(params) {\\n return eval(params.expression);\\n}\\n","githubURL":"https://github.com/TypingMind/plugin-simple-calculator","system":true,"org":null},{"uuid":"c312e33b-135c-4299-bcce-e88344cf276d","id":"execute_javascript","userSettings":null,"emoji":"⌨️","title":"JavaScript Interpreter","openaiSpec":{"name":"execute_javascript","description":"Execute a JavaScript code snippet that evaluates to a readable value or a Promise. Use this function to evaluate a JavaScript expression, send a fetch request, or use other JavaScript features or Browser APIs. The JavaScript will be executed on the user\'s local browser in a secure sandboxed context.","parameters":{"type":"object","properties":{"code":{"type":"string","description":"A valid JavaScript code snippet to be executed on the browser."}},"required":["code"]}},"implementationType":"javascript","outputType":"respond_to_ai","overviewMarkdown":"## JavaScript Interpreter\\n\\nThis is an example plugin for plugin developers. [Learn how to develop Typing Mind plugins here](https://www.typingmind.com/plugins-docs).\\n\\nThis plugin allows the AI assistant to run any JavaScript on your browser in a sandboxed secure environment.\\n\\nExample usage:\\n\\n> Send a request to the GitHub public API\\n\\n> What is the current time?\\n","code":"async function execute_javascript(params) {\\n try {\\n // remove \\"return\\" keyword in case the AI confused that the code is inside a function\\n const cleanCode = params.code.replace(/^return /, \'\');\\n return await eval(cleanCode);\\n } catch (e) {\\n return \'Error: \' + e.message;\\n }\\n}\\n","githubURL":"https://github.com/TypingMind/plugin-javascript-interpreter","system":true,"org":null},{"id":"render_interactive_canvas","uuid":"f76b6080-3e40-4f94-b4be-54297103956f","emoji":"\uD83D\uDD32","title":"Interactive Canvas","openaiSpec":{"name":"render_interactive_canvas","parameters":{"type":"object","required":["htmlSource"],"properties":{"htmlSource":{"type":"string","description":"The HTML source to render to the canvas."},"canvasHeight":{"type":"number","description":"The height of the canvas in pixels. Default is 500."}}},"description":"Render an interactive canvas with HTML source to the user interface. The HTML source can include JavaScript and CSS to create interactive elements. This can be used to create custom user interfaces, games, demos, charts, and more. The canvas width is always 100% of the container width, and the height can be specified in pixels."},"implementationType":"javascript","outputType":"render_html","overviewMarkdown":"## Interactive Canvas\\n\\nAllow the AI to create an interactive canvas with the user.\\n\\nThe canvas can be used to create forms, HTML/JS/CSS code, games, visualizations, or any other interactive content.\\n\\nExample usage:\\n\\n> create a form with a text input and a submit button\\n\\n> render a simple tictactoe game\\n\\n> render a smiley face in SVG in the interactive canvas\\n","code":"async function render_interactive_canvas(params, userSettings) {\\n const htmlSource = params.htmlSource;\\n return htmlSource;\\n}\\n","githubURL":"https://github.com/TypingMind/plugin-interactive-canvas","system":true,"org":null},{"id":"render_mermaid_diagram","uuid":"0bb7f6b3-d454-4ddd-a140-06d5dc2cd24d","title":"Mermaid Diagram","iconURL":"https://raw.githubusercontent.com/TypingMind/plugin-mermaid-diagram/main/mermaid.svg","openaiSpec":{"name":"render_mermaid_diagram","parameters":{"type":"object","required":["title","source"],"properties":{"title":{"type":"string","description":"The title of the diagram."},"source":{"type":"string","description":"The Mermaid diagram source in raw text to render."}}},"description":"Generate a diagram using Mermaid.js (version 10.x). This can be used to render various types of diagrams, including Flowchart, Sequence Diagram, Class Diagram, State Diagram, Entity Relationship Diagram, User Journey, Gantt, Pie Chart, Quadrant Chart, Requirement Diagram, Gitgraph Diagram, C4 Diagram, Mindmaps, Timeline, Zenuml, Sankey, XYChart, Block Diagram, etc."},"implementationType":"javascript","outputType":"render_html","overviewMarkdown":"## Mermaid Diagram\\n\\nGenerate and render diagrams using the Mermaid.js library.\\n\\nThis can be used to render various types of diagrams, including Flowchart, Sequence Diagram, Class Diagram, etc.\\n\\n[Learn how to develop Typing Mind plugins here](https://www.typingmind.com/plugins-docs).\\n\\n### Example usage:\\n\\n> render a state diagram of a simple traffic light system\\n\\n> render a sequence diagram of a simple message exchange\\n","code":"function render_mermaid_diagram(params) {\\n const { title, source } = params;\\n\\n const htmlString = `\\n\\n\\n\\n \\n \\n ${title}\\n \\n\\n\\n
\\n${source}\\n
\\n\\n\\n `;\\n return htmlString;\\n}\\n","githubURL":"https://github.com/TypingMind/plugin-mermaid-diagram","system":true,"org":null},{"id":"query_training_data","uuid":"16a65367-04c1-418d-a5c9-69d4faf3715e","userSettings":[{"name":"searchServiceName","label":"Search Service Name","description":"Find this in the \\"Azure AI Services\\" section in the Azure portal.","required":true},{"name":"indexName","label":"Index Name","description":"Find this in \\"Search managements\\" → \\"Indexes\\" page in the Azure portal.","required":true},{"name":"queryKey","type":"password","label":"Query Key","description":"Find this in \\"Settings\\" → \\"Keys\\" page in the Azure portal.","required":true},{"name":"apiVersion","label":"API Version","required":true,"description":"Find the latest API version here: https://learn.microsoft.com/en-us/rest/api/searchservice/search-service-api-versions","defaultValue":"2023-11-01"}],"iconURL":"https://custom.typingmind.com/assets/models/azureopenai.png","title":"Azure AI Search","openaiSpec":{"name":"query_training_data","parameters":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"The keywords or topics to search for the internal training data. Multiple keywords or topics are accepted (separated with commas)."}}},"description":"Search the internal training data for relevant information. When the user ask you something you don\'t know, you can use this function to search for relevant information in the internal training data. Don\'t use questions as search query, use keywords instead. The search query should contains the keywords or topics related to the conversation."},"httpAction":{"id":"6a69b196-c5de-4550-9ad2-bf717f4808f2","url":"https://{searchServiceName}.search.windows.net/indexes/{indexName}/docs/search?api-version={apiVersion}","name":"","method":"POST","hasBody":true,"hasHeaders":true,"requestBody":"{\\n \\"search\\": \\"{query}\\"\\n}","requestHeaders":"{\\n \\"api-key\\": \\"{queryKey}\\"\\n}"},"implementationType":"http","system":true,"outputType":"respond_to_ai","overviewMarkdown":"# Azure AI Search (Cognitive Search)\\n\\nThis plugin connects TypingMind to your training data in Azure AI Search (Cognitive Search).\\n\\n## How to use\\n\\nWhen the user asks the AI a question but the AI does not have the answer, the AI will query the training data in Azure AI Search to find the answer.\\n\\nSometimes, you need to ask the AI to specifically search from the training data if the AI does not do it automatically.\\n\\nExample:\\n\\n > \\"search from training data for the latest refund policy\\"\\n > \\"who is the founder of the company (search from training data)\\"\\n\\n## Configuration\\n\\nTo use this plugin, you need to have an Azure AI Search service and an index with training data.\\n\\n**[Step-by-step Guide](https://docs.typingmind.com/plugins/set-up-query-training-data-azure-ai-search)** \\n\\nTo get started with Azure AI Search, follow the [official documentation](https://docs.microsoft.com/en-us/azure/search/search-what-is-azure-search).\\n\\n**Note:** if you use this plugin in client side, the CORS setting must be set to \\"All\\" in the Azure AI Search service. Go to Azure Portal -> Azure AI Search -> Indexes -> CORS -> Select \\"All\\" in the \\"Allowed origin type\\" section.\\n","code":"","githubURL":"https://github.com/TypingMind/plugin-query-azure-training-data","org":null},{"id":"render_chart","uuid":"9cff2e31-1e10-4b45-b2b7-87edc20865bc","title":"Render Chart","iconURL":"https://raw.githubusercontent.com/TypingMind/plugin-render-chart/main/icon.png","openaiSpec":{"name":"render_chart","parameters":{"type":"object","required":["title","chartType","data","options"],"properties":{"title":{"type":"string","description":"The title of the chart"},"chartType":{"enum":["line","bar","doughnut","pie","radar","polarArea","bubble","scatter"],"type":"string","description":"Type of the chart to render"},"data":{"type":"object","required":["labels","datasets"],"properties":{"labels":{"type":"array","items":{"type":"string"},"description":"Labels for the chart"},"datasets":{"type":"array","items":{"type":"object","required":["label","data"],"properties":{"data":{"type":"array","items":{"type":"number"},"description":"Data points for the dataset"},"label":{"type":"string","description":"Label for the dataset"},"fill":{"type":"object","description":"Both line and radar charts support a fill option on the dataset object which can be used to create space between two datasets or a dataset and a boundary, i.e. the scale"},"borderColor":{"type":"array","items":{"type":"string","description":"Border color of the item"},"description":"Border color for the dataset"},"borderWidth":{"type":"number","description":"Border width for the dataset"},"backgroundColor":{"type":"array","items":{"type":"string","description":"Color of the item"},"description":"Background color for the dataset"},"borderSkipped":{"type":"string","description":"This setting is used to avoid drawing the bar stroke at the base of the fill, or disable the border radius. In general, this does not need to be changed except when creating chart types that derive from a bar chart."},"borderRadius":{"type":"number","description":"If this value is a number, it is applied to all corners of the rectangle (topLeft, topRight, bottomLeft, bottomRight), except corners touching the borderSkipped. If this value is an object, the topLeft property defines the top-left corners border radius. Similarly, the topRight, bottomLeft, and bottomRight properties can also be specified. Omitted corners and those touching the borderSkipped are skipped. For example if the top border is skipped, the border radius for the corners topLeft and topRight will be skipped as well."},"stepped":{"type":"string","enum":["false","true","before","after","middle"],"description":"false: No Step Interpolation (default); true: Step-before Interpolation (eq. before); \'before\': Step-before Interpolation; \'after\': Step-after Interpolation; \'middle\': Step-middle.\\n InterpolationIf the stepped value is set to anything other than false, tension will be ignored."},"tension":{"type":"number","description":"Bezier curve tension of the line. Set to 0 to draw straightlines. This option is ignored if monotone cubic interpolation is used."}}},"description":"Datasets to be rendered in the chart"}},"description":"Data to be rendered in the chart"},"options":{"type":"object","description":"Additional options for the Chart.js chart","properties":{"responsive":{"type":"boolean","description":"When true, the chart will re-render if the browser window is resized."},"maintainAspectRatio":{"type":"boolean","description":"When true, the chart maintains the original canvas aspect ratio (width/height) when resizing."},"aspectRatio":{"type":"number","description":"Canvas aspect ratio (i.e. width / height, a value of 1 representing a square canvas). Note that this option is ignored if the height is explicitly defined either as attribute or via the style. The default value varies by chart type; Radial charts (doughnut, pie, polarArea, radar) default to 1 and others default to 2."},"scales":{"type":"object","description":"Configuration for chart scales","properties":{"y":{"type":"object","properties":{"beginAtZero":{"type":"boolean"}}},"x":{"type":"object","properties":{"beginAtZero":{"type":"boolean"}}}}},"plugins":{"type":"object","properties":{"legend":{"type":"object","properties":{"display":{"type":"boolean","description":"Is the legend shown? default = true"},"position":{"type":"string","enum":["top","left","right","bottom","chartArea"],"description":"Position of the legend. When using the \'chartArea\' option the legend position is at the moment not configurable, it will always be on the left side of the chart in the middle."}}},"tooltip":{"type":"object","properties":{"enabled":{"type":"boolean"}}}}}}}}},"description":"Generate a Chart.js chart"},"implementationType":"javascript","outputType":"render_html","overviewMarkdown":"## Render Chart\\n\\nThis is a plugin to visualize data by drawing charts.\\n\\n[Learn how to develop Typing Mind plugins here](https://www.typingmind.com/plugins-docs).\\n\\n### Example usage:\\n\\n> create a bar chart with the following data: labels: [\\"Red\\", \\"Blue\\", \\"Yellow\\", \\"Green\\", \\"Purple\\", \\"Orange\\"], data: [12, 19, 3, 5, 2, 3]\\n\\n> render a pie chart with these categories: [\\"Electronics\\", \\"Fashion\\", \\"Home & Garden\\", \\"Toys\\", \\"Sports\\"], values: [25, 15, 20, 10, 30]","code":"function render_chart(params) {\\n const { chartType, options, title, data } = params;\\n const dataString = JSON.stringify(data)\\n .replace(/\\\\\\\\/g, \'\\\\\\\\\\\\\\\\\')\\n .replace(/\\"/g, \'\\\\\\\\\\"\')\\n .replace(/\\\\n/g, \'\\\\\\\\n\')\\n .replace(/\\\\r/g, \'\\\\\\\\r\')\\n .replace(/\\\\t/g, \'\\\\\\\\t\');\\n\\n const optionsString = JSON.stringify(options)\\n .replace(/\\\\\\\\/g, \'\\\\\\\\\\\\\\\\\')\\n .replace(/\\"/g, \'\\\\\\\\\\"\')\\n .replace(/\\\\n/g, \'\\\\\\\\n\')\\n .replace(/\\\\r/g, \'\\\\\\\\r\')\\n .replace(/\\\\t/g, \'\\\\\\\\t\');\\n\\n const htmlString = `\\n \\n \\n \\n ${title}\\n \\n \\n \\n \\n \\n \\n \\n `;\\n return htmlString;\\n}\\n","githubURL":"https://github.com/TypingMind/plugin-render-chart","system":true,"org":null},{"id":"render_html","uuid":"c6894955-44cf-46f3-958d-2b6d7f9e46c8","emoji":"\uD83D\uDDA5️","title":"Render HTML","openaiSpec":{"name":"render_html","parameters":{"type":"object","required":["htmlSource"],"properties":{"htmlSource":{"type":"string","description":"The HTML Source to render to the user interface."}}},"description":"Render a HTML source to the user interface that will be shown to the users for interactive contents."},"implementationType":"javascript","outputType":"render_html","overviewMarkdown":"## Render HTML\\n\\nThis is an example plugin for plugin developers. [Learn how to develop Typing Mind plugins here](https://www.typingmind.com/plugins-docs).\\n\\nThis plugin demonstrates how to render HTML to the end users.\\n\\nExample usage:\\n\\n> what are the HTML headings? render them.\\n\\n> create a ping pong game in html/js and render it\\n","code":"async function render_html(params, userSettings) {\\n const htmlSource = params.htmlSource;\\n return htmlSource;\\n}\\n","githubURL":"https://github.com/TypingMind/plugin-render-html","system":true,"org":null},{"uuid":"8d87b292-bcc2-400a-a5b3-5ae022d70909","id":"server_get_web_search_results","emoji":"\uD83D\uDD0D","title":"Web Search","userSettings":[{"name":"searchEngineID","label":"Search Engine ID","required":true},{"name":"searchEngineAPIKey","label":"Search Engine API Key","type":"password","required":true}],"openaiSpec":{"name":"server_get_web_search_results","description":"Search for information from the internet in real-time using Google Search.","parameters":{"type":"object","properties":{"keyword":{"type":"string","description":"The search keyword"}},"required":["keyword"]}},"httpAction":{"id":"03544138-b83c-426f-b157-636e87907aae","method":"GET","name":"","url":"https://customsearch.googleapis.com/customsearch/v1?q={keyword}&cx={searchEngineID}&key={searchEngineAPIKey}","resultTransform":{"engine":"jmes","expression":"items[*].{Title: title, Result: snippet, Link: link}"},"hasResultTransform":true},"code":"","implementationType":"http","outputType":"respond_to_ai","overviewMarkdown":"**Deprecated. Please use https://github.com/TypingMind/plugin-web-search instead.**\\n\\nThis plugin allows the AI assistant to search for information from the internet in real-time using Google Search.\\n\\nExample usage:\\n\\n> What\'s today gold price?\\n\\n> How\'s the weather at HCMC at the moment?\\n","githubURL":"https://github.com/TypingMind/server-web-search","system":true,"org":null,"isServerPlugin":true,"deprecated":true},{"uuid":"2664f78d-d933-46db-a9b1-4a48342d4276","id":"server_search_images_via_google","emoji":"\uD83C\uDF05","title":"Image Search","code":"","httpAction":{"id":"8bda801d-9017-434c-92e4-64d5b6ef7ffa","method":"GET","name":"","url":"https://www.googleapis.com/customsearch/v1?q={keyword}&cx={searchEngineID}&key={searchEngineAPIKey}&searchType=image","resultTransform":{"engine":"jmes","expression":"items[*].{Title: title, Link: link}"},"hasResultTransform":true},"implementationType":"http","openaiSpec":{"description":"Search for images from the internet in real-time using Google Search.","name":"server_search_images_via_google","parameters":{"properties":{"keyword":{"description":"The search keyword","type":"string"}},"required":["keyword"],"type":"object"}},"outputType":"respond_to_ai","userSettings":[{"label":"Search Engine ID","name":"searchEngineID","required":true},{"label":"Search Engine API Key","name":"searchEngineAPIKey","required":true,"type":"password"}],"overviewMarkdown":"**Deprecated. Please use https://github.com/TypingMind/plugin-image-search instead**\\n\\n## Image Search\\n\\nAllows the AI assistant to search the web or images using Google search.\\n\\nExample usage:\\n\\n> Show me a cute cat picture\\n","githubURL":"https://github.com/TypingMind/server-image-search","system":true,"org":null,"isServerPlugin":true,"deprecated":true},{"id":"server_generate_image_via_dalle_3","uuid":"897e5037-3b05-448d-bc24-c6ebe432ae09","userSettings":[{"name":"openaikey","label":"OpenAI API Key (Required)","description":"The images will be generated using this OpenAI API. Get your API key from https://platform.openai.com/account/api-keys","type":"password","required":true,"placeholder":"sk-******"},{"name":"resolution","label":"Resolution","description":"Optional, default: \\"1024x1024\\"","type":"enum","values":["1024x1024","1024x1792","1792x1024"]},{"name":"quality","label":"Quality","description":"Optional, default: \\"standard\\"","type":"enum","values":["standard","hd"]}],"emoji":"✨","title":"DALL-E 3","openaiSpec":{"name":"server_generate_image_via_dalle_3","parameters":{"type":"object","required":["prompt"],"properties":{"prompt":{"type":"string","description":"The description of one (the first) image as defined in the guidelines."}}},"description":"Generate images using DALL-E 3 based on image descriptions. Adhere to guidelines such as English translation, not depicting politicians or recent artists, and ensuring artist references are over 100 years old.\\nWhen creating prompts: substitute artist names with style-describing adjectives, include artistic era, mention primary medium. Image type, descent, gender are to be explicitly stated. Avoid offense and bias, conceal identities except gender and physique, retain text references, replace profession titles with universal terms.\\nPrompt changes aren\'t allowed unless they anonymise individuals. Replace creative professional/studio names with style descriptions. All prompts should detail every image part in objective terms within a detailed paragraph of over three sentences.\\nImportant: after calling this function, the output images will be shown to the user automatically. You don\'t need to include the output image to the users again in your response to avoid duplicate images."},"implementationType":"http","httpAction":{"hasBody":true,"hasHeaders":true,"hasResultTransform":true,"id":"a317a913-6d54-4d0e-b2a0-285712d45640","method":"POST","name":"","requestBody":"{\\n \\"model\\": \\"dall-e-3\\",\\n \\"prompt\\": \\"{prompt}\\",\\n \\"n\\": 1,\\n \\"size\\": \\"{resolution}\\",\\n \\"quality\\": \\"{quality}\\",\\n \\"response_format\\": \\"url\\"\\n }","requestHeaders":"{\\n\\"Content-Type\\": \\"application/json\\",\\n\\"Authorization\\": \\"Bearer {openaikey}\\"\\n}","resultTransform":{"engine":"handlebars","templateString":"![{{data.[0].revised_prompt}}]({{data.[0].url}})\\n\\n_Note: Generated images will expire after 1 hour. Save them to your device if you wish to keep the images._"},"url":"https://api.openai.com/v1/images/generations"},"outputType":"render_markdown","overviewMarkdown":"**Deprecated. Please use https://github.com/TypingMind/plugin-dall-e-3**\\n\\n## Dall-E 3\\n\\nDall-E 3 allows you to use state-of-the-art image generation with Dall-E 3 using the OpenAI API.\\n\\nExample usage:\\n\\n> Generate a picture of a cat\\n","code":"","githubURL":"https://github.com/TypingMind/server-dall-e-3","system":true,"org":null,"isServerPlugin":true,"deprecated":true},{"uuid":"50da3859-83cf-4857-a8a2-60ab2ea947f5","id":"server_search_via_perplexity","iconURL":"https://custom.typingmind.com/assets/models/perplexityai.png","emoji":"\uD83D\uDD0D","title":"Perplexity Search","isServerPlugin":true,"disabled":true,"userSettings":[{"name":"apiKey","label":"Perplexity API Key","type":"password","required":true,"description":"Get your API Key from Perplexity: https://www.perplexity.ai/settings/api"},{"name":"model","label":"Model","description":"All supported models here: https://docs.perplexity.ai/docs/model-cards","placeholder":"llama-3-sonar-small-32k-online","defaultValue":"llama-3-sonar-small-32k-online"},{"name":"systemMessage","label":"System Message","description":"Instruction for the search AI","placeholder":"Be precise and concise","defaultValue":"Be precise and concise"}],"openaiSpec":{"name":"server_search_via_perplexity","description":"Search for information from the internet using Perplexity.","parameters":{"type":"object","properties":{"keyword":{"type":"string","description":"The search keyword"}},"required":["keyword"]}},"httpAction":{"id":"b156833f-9599-4155-bba9-e713dd21aa01","method":"POST","name":"","url":"https://api.perplexity.ai/chat/completions","requestBody":"{\\"model\\": \\"{model}\\",\\"messages\\": [{\\"role\\": \\"system\\",\\"content\\": \\"{systemMessage}\\"},{\\"role\\": \\"user\\",\\"content\\": \\"{keyword}\\"}]}","requestHeaders":"{\\"accept\\": \\"application/json\\",\\"authorization\\": \\"Bearer {apiKey}\\"}","resultTransform":{"engine":"jmes","expression":"choices[*].message.content | join(\' \', @)"},"hasResultTransform":true,"hasBody":true,"hasHeaders":true},"implementationType":"http","outputType":"respond_to_ai","overviewMarkdown":"**Deprecated. Please use https://github.com/TypingMind/plugin-perplexity-search instead**\\n\\nThis plugin allows the AI assistant to search for information from the internet using Perplexity.\\n\\nExample usage:\\n\\n> What\'s the gold price?\\n\\n> How\'s the weather at HCMC at the moment?\\n","code":"","githubURL":"https://github.com/TypingMind/server-perplexity-search","system":true,"org":null,"deprecated":true},{"id":"server_image_generation_via_stable_diffusion","uuid":"c8cb09de-d68c-4951-a535-77d9506e3f20","userSettings":[{"name":"stabilityAPIKey","required":true,"type":"password","label":"StabilityAI API Key","description":"Get your free API Key from StabilityAI: https://platform.stability.ai/account/keys"},{"name":"width","type":"number","label":"Width of the image (min: 320, max: 1536)","description":"Must be specified in increments of 64. (e.g. 512, 1024)","placeholder":"512","defaultValue":512},{"name":"height","type":"number","label":"Height of the image (min: 320, max: 1536)","description":"Must be specified in increments of 64. (e.g. 512, 1024)","placeholder":"512","defaultValue":512}],"emoji":"\uD83D\uDDBC️","title":"Stable Diffusion v2 Image","openaiSpec":{"name":"server_image_generation_via_stable_diffusion","parameters":{"type":"object","required":["prompt"],"properties":{"prompt":{"type":"string","description":"The text description of the desired image."}}},"description":"Generate images using Stable Diffusion based on a text description. Adhere to guidelines such as English translation, not depicting politicians or recent artists, and ensuring artist references are over 100 years old.\\n\\nWhen creating prompt: substitute artist names with style-describing adjectives, include artistic era, mention primary medium. Image type, descent, gender are to be explicitly stated. Avoid offense and bias, conceal identities except gender and physique, retain text references, replace profession titles with universal terms.\\n\\nPrompt changes aren\'t allowed unless they anonymise individuals. Replace creative professional/studio names with style descriptions. All prompts should detail every image part in objective terms within a detailed paragraph of over three sentences.\\n\\nImportant: after calling this function, the output images will be shown to the user automatically. You don\'t need to include the output image to the users again in your response to avoid duplicate images."},"httpAction":{"id":"86d0cd86-f4de-4ca4-b712-1bfb01dfbfe6","method":"POST","name":"","url":"https://api.stability.ai/v1/generation/stable-diffusion-v1-6/text-to-image","requestBody":"{\\"text_prompts\\":[{\\"text\\":\\"{prompt}\\"}],\\"cfg_scale\\":7,\\"samples\\":1,\\"steps\\":30,\\"width\\":{width},\\"height\\":{height}}","requestHeaders":"{\\"Content-Type\\":\\"application/json\\",\\"Authorization\\":\\"Bearer {stabilityAPIKey}\\"}","resultTransform":{"engine":"handlebars","templateString":"![{{__VARIABLES.prompt}}](data:image/png;base64,{{artifacts.[0].base64}})"},"hasResultTransform":true,"hasBody":true,"hasHeaders":true},"implementationType":"http","outputType":"render_markdown","overviewMarkdown":"**Deprecated. Please use https://github.com/TypingMind/plugin-stable-diffusion-v2-image instead**\\n\\n# Server Stable Diffusion v2 Image\\n\\nGenerate Unique Images with the Stable Diffusion Plugin\\n\\nTransform your imagination into stunning visuals using the power of Stable Diffusion. Easily create captivating images from just a few words.\\n\\n**API Key Required:** You\'ll need a valid Stable API key. Obtain one from their website (free): https://platform.stability.ai/account/keys\\n\\n## Examples\\n\\n- \\"Create an image of a majestic lion standing proudly on a cliff overlooking a vast savanna at sunset.\\"\\n- \\"Generate a vibrant cyberpunk cityscape illuminated by neon signs and bustling with activity.\\"\\n- \\"Draw a photorealistic portrait of a woman with fiery red hair and emerald green eyes.\\"\\n","code":"","githubURL":"https://github.com/TypingMind/server-stable-diffusion-v2-image","system":true,"org":null,"isServerPlugin":true,"deprecated":true},{"id":"server_image_generation_via_stable_diffusion_3","uuid":"24aeeac1-1f33-4bed-afae-91cd9ea8cea1","userSettings":[{"name":"stabilityAPIKey","required":true,"type":"password","label":"StabilityAI API Key","description":"Get your free API Key from StabilityAI: https://platform.stability.ai/account/keys"},{"name":"output_format","label":"Format of the generated image","description":"Optional, default: \\"png\\"","type":"enum","values":["png","jpeg"],"defaultValue":"png"},{"name":"aspect_ratio","label":"Aspect ratio of the generated image","description":"Optional, default: \\"1:1\\"","type":"enum","values":["16:9","1:1","21:9","2:3","3:2","4:5","5:4","9:16","9:21"],"defaultValue":"1:1"},{"name":"model","label":"Model to use for generation","description":"Optional, default: \\"sd3\\"","type":"enum","values":["sd3","sd3-turbo"],"defaultValue":"sd3"},{"name":"negative_prompt","label":"Negative prompt","description":"Optional, a blurb of text describing what you do not wish to see in the output image","type":"string","defaultValue":""}],"iconURL":"https://www.typingmind.com/stable-diffusion.png","title":"Stable Diffusion v3 Image","openaiSpec":{"name":"server_image_generation_via_stable_diffusion_3","parameters":{"type":"object","required":["prompt"],"properties":{"prompt":{"type":"string","description":"The text description of the desired image."}}},"description":"Generate images using Stable Diffusion v3 based on a text description. Adhere to guidelines such as English translation, not depicting politicians or recent artists, and ensuring artist references are over 100 years old.\\n\\nWhen creating prompt: substitute artist names with style-describing adjectives, include artistic era, mention primary medium. Image type, descent, gender are to be explicitly stated. Avoid offense and bias, conceal identities except gender and physique, retain text references, replace profession titles with universal terms.\\n\\nPrompt changes aren\'t allowed unless they anonymise individuals. Replace creative professional/studio names with style descriptions. All prompts should detail every image part in objective terms within a detailed paragraph of over three sentences.\\n\\nImportant: after calling this function, the output images will be shown to the user automatically. You don\'t need to include the output image to the users again in your response to avoid duplicate images."},"httpAction":{"id":"4105dcae-c4c5-432f-91cd-af69188adda4","method":"POST","name":"","url":"https://api.stability.ai/v2beta/stable-image/generate/sd3","requestBody":"{\\"prompt\\":\\"{prompt}\\",\\"model\\":\\"{model}\\",\\"aspect_ratio\\":\\"{aspect_ratio}\\",\\"negative_prompt\\":\\"{negative_prompt}\\",\\"output_format\\":\\"{output_format}\\"}","requestBodyFormat":"form-data","requestHeaders":"{\\"Accept\\":\\"application/json; type=image/*\\",\\"Authorization\\":\\"Bearer {stabilityAPIKey}\\"}","resultTransform":{"engine":"handlebars","templateString":"![{{__VARIABLES.prompt}}](data:image/{{__VARIABLES.output_format}};base64,{{image}})"},"hasResultTransform":true,"hasBody":true,"hasHeaders":true},"system":true,"outputType":"render_markdown","overviewMarkdown":"**Deprecated. Please use https://github.com/TypingMind/plugin-stable-diffusion-v3-image instead**\\n\\n# Stable Diffusion v3 Image\\n\\nGenerate Unique Images with the Stable Diffusion Plugin\\n\\nTransform your imagination into stunning visuals using the power of Stable Diffusion. Easily create captivating images from just a few words.\\n\\n**API Key Required:** You\'ll need a valid Stable API key. Obtain one from their website (free): https://platform.stability.ai/account/keys\\n\\n## Examples\\n\\n- \\"Create an image of a majestic lion standing proudly on a cliff overlooking a vast savanna at sunset.\\"\\n- \\"Generate a vibrant cyberpunk cityscape illuminated by neon signs and bustling with activity.\\"\\n- \\"Draw a photorealistic portrait of a woman with fiery red hair and emerald green eyes.\\"\\n","code":"","githubURL":"https://github.com/TypingMind/server-stable-diffusion-v3-image","org":null,"isServerPlugin":true,"deprecated":true},{"id":"query_training_data","uuid":"119d947f-e466-46cb-8f6c-ece59ff81990","userSettings":[{"name":"searchServiceName","label":"Search Service Name","description":"Find this in the \\"Azure AI Services\\" section in the Azure portal.","required":true},{"name":"indexName","label":"Index Name","description":"Find this in \\"Search managements\\" → \\"Indexes\\" page in the Azure portal.","required":true},{"name":"queryKey","type":"password","label":"Query Key","description":"Find this in \\"Settings\\" → \\"Keys\\" page in the Azure portal.","required":true},{"name":"apiVersion","label":"API Version","required":true,"description":"Find the latest API version here: https://learn.microsoft.com/en-us/rest/api/searchservice/search-service-api-versions","defaultValue":"2023-11-01"}],"iconURL":"https://custom.typingmind.com/assets/models/azureopenai.png","title":"Query Training Data - Azure AI Search","openaiSpec":{"name":"query_training_data","parameters":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"The keywords or topics to search for the internal training data. Multiple keywords or topics are accepted (separated with commas)."}}},"description":"Search the internal training data for relevant information. When the user ask you something you don\'t know, you can use this function to search for relevant information in the internal training data. Don\'t use questions as search query, use keywords instead. The search query should contains the keywords or topics related to the conversation."},"httpAction":{"id":"6a69b196-c5de-4550-9ad2-bf717f4808f2","url":"https://{searchServiceName}.search.windows.net/indexes/{indexName}/docs/search?api-version={apiVersion}","name":"","method":"POST","hasBody":true,"hasHeaders":true,"requestBody":"{\\n \\"search\\": \\"{query}\\"\\n}","requestHeaders":"{\\n \\"api-key\\": \\"{queryKey}\\"\\n}"},"implementationType":"http","system":true,"isServerPlugin":true,"outputType":"respond_to_ai","overviewMarkdown":"**Deprecated. Please use https://github.com/TypingMind/plugin-query-azure-training-data instead**\\n\\n# Query Training Data from Azure AI Search (Cognitive Search)\\n\\nThis plugin connects TypingMind to your training data in Azure AI Search (Cognitive Search).\\n\\n## How to use\\n\\nWhen the user ask the AI a question but the AI does not have the answer, the AI will query the training data in Azure AI Search to find the answer.\\n\\nSometimes, you need to ask the AI to specifically search from the training data if the AI does not do it automatically.\\n\\nExample:\\n\\n > \\"search from training data for the latest refund policy\\"\\n > \\"who is the founder of the company (search from training data)\\"\\n\\n## Configuration\\n\\nTo use this plugin, you need to have an Azure AI Search service and an index with training data.\\n\\n**[Step-by-step Guide](https://docs.typingmind.com/plugins/set-up-query-training-data-azure-ai-search)** \\n\\nTo get started with Azure AI Search, follow the [official documentation](https://docs.microsoft.com/en-us/azure/search/search-what-is-azure-search).\\n\\n**Note:** if you use this plugin in client side, the CORS setting must be set to \\"All\\" in the Azure AI Search service. Go to Azure Portal -> Azure AI Search -> Indexes -> CORS -> Select \\"All\\" in the \\"Allowed origin type\\" section.\\n","code":"","githubURL":"https://github.com/TypingMind/query-azure-training-data","org":null,"deprecated":true}]')}},function(e){var t=function(t){return e(e.s=t)};e.O(0,[774,179],function(){return t(91118),t(49420)}),_N_E=e.O()}]); \ No newline at end of file