@applica-software-guru/persona-chat-sdk 0.1.108 → 0.1.109

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,20 +1,20 @@
1
- "use strict";var Sg=Object.defineProperty;var Ag=(l,a,i)=>a in l?Sg(l,a,{enumerable:!0,configurable:!0,writable:!0,value:i}):l[a]=i;var I=(l,a,i)=>Ag(l,typeof a!="symbol"?a+"":a,i);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Yi=require("react/jsx-runtime"),V=require("react"),Ae=require("@assistant-ui/react");function bg(l){return new Promise((a,i)=>{const p=new FileReader;p.onload=()=>a(p.result),p.onerror=_=>i(_),p.readAsDataURL(l)})}class Cg{constructor(){I(this,"accept","*")}async add(a){return{id:a.file.name,type:"file",name:a.file.name,contentType:a.file.type||"application/octet-stream",file:a.file,status:{type:"requires-action",reason:"composer-send"}}}async send(a){const p=(await bg(a.file)).split(";base64,")[1];return{...a,status:{type:"complete"},content:[{type:"file",data:p,mimeType:a.contentType||"application/octet-stream"}]}}async remove(a){}}let Pg=0;function Rg(){return`msg_${Date.now()}_${Pg++}`}function Ig(l){return l.thought&&(l={...l,type:"reasoning"}),l.id?l.createdAt?l:{...l,createdAt:new Date}:{...l,id:Rg(),createdAt:l.createdAt||new Date}}function Tg(l){return l.filter(a=>!(a.role==="assistant"&&!a.functionCalls&&!a.file&&!a.image&&(!a.text||a.text.trim()==="")))}function $n(l){const a=[];let i=null;for(let _ of l)if(_=Ig(_),_.type!=="transaction")if(_.file){i&&(a.push(i),i=null),a.push(_);continue}else _.functionCalls?(i&&(i.role==="assistant"&&(!i.text||i.text.trim()==="")&&!i.file&&!i.image||a.push(i)),a.push(_),i=null):_.functionResponse?a[a.length-1]={...a[a.length-1],functionResponse:_.functionResponse}:i&&_.type===i.type&&_.protocol===i.protocol&&i.role===_.role&&(_.id===i.id||!i.finishReason)?(i.text+=_.text,i.file=i.file||_.file,i.finishReason=_.finishReason||i.finishReason,i.id=i.id||_.id,i.sources=i.sources?[...i.sources||[],..._.sources||[]]:_.sources):(i&&a.push(i),i={..._,text:_.file?"":_.text,finishReason:_.file?void 0:_.finishReason});return i&&a.push(i),Tg(a)}function Eg(l){var _,v,x;const a=l.file?[{type:"file",data:l.file.url,mimeType:l.file.contentType}]:[];let i;if((l.role==="assistant"||l.role==="function")&&(l.status?i=l.status:l.finishReason==="stop"?i={type:"complete",reason:"stop"}:l.finishReason==="function_call"?i={type:"complete",reason:"stop"}:l.finishReason||(i=void 0)),l.role==="function"){const T={id:l.id,role:"assistant",createdAt:l.createdAt,content:((_=l.functionCalls)==null?void 0:_.map(b=>{var $;return{type:"tool-call",toolName:b.name,toolCallId:b.id||`tool_${Date.now()}`,args:b.args,result:($=l.functionResponse)==null?void 0:$.result}}))??[],metadata:{...l.metadata,custom:{protocol:l.protocol,sessionId:l.sessionId,sources:l.sources,...(v=l.metadata)==null?void 0:v.custom}}};return i?{...T,status:i}:T}const p={id:l.id,role:l.role,createdAt:l.createdAt,content:l.type==="reasoning"?[{type:"reasoning",text:l.text},...a]:[{type:"text",text:l.text},...a],metadata:{...l.metadata,custom:{protocol:l.protocol,sessionId:l.sessionId,sources:l.sources,type:l.type,...(x=l.metadata)==null?void 0:x.custom}}};return l.role==="assistant"&&i?{...p,status:i}:p}class Ce{constructor(){I(this,"statusChangeCallbacks",[]);I(this,"messageCallbacks",[])}addStatusChangeListener(a){this.statusChangeCallbacks.push(a)}addPacketListener(a){this.messageCallbacks.push(a)}async syncSession(a){this.session=a}async notifyPacket(a){this.messageCallbacks.forEach(i=>i(a))}async notifyPackets(a){a.forEach(i=>{this.messageCallbacks.forEach(p=>p(i))})}async setSession(a){this.session=a}async setStatus(a){const i=this.status!==a;this.status=a,i&&this.statusChangeCallbacks.forEach(p=>p(a))}clearListeners(){this.statusChangeCallbacks=[],this.messageCallbacks=[]}setAgentContext(a){return this.sendPacket({type:"command",payload:{command:"set_initial_context",arguments:a}})}onTransaction(a){}}class Xi extends Ce{constructor(i){super();I(this,"status");I(this,"autostart");I(this,"session");I(this,"config");I(this,"notify",!0);I(this,"context",{});I(this,"tools",[]);this.config=i,this.status="disconnected",this.autostart=!0}getName(){return"rest"}getPriority(){return 100}async connect(i){return this.setStatus("connected"),i}async disconnect(){this.setStatus("disconnected"),this.session=null}async syncSession(i){this.session=i}async sendPacket(i){var b,$,P,z,D;const{apiUrl:p,apiKey:_,agentId:v}=this.config,x=this.session??"new";if(i.type==="command"&&((b=i==null?void 0:i.payload)==null?void 0:b.command)=="set_initial_context"){this.context=($=i==null?void 0:i.payload)==null?void 0:$.arguments;return}else if(i.type==="command"&&((P=i==null?void 0:i.payload)==null?void 0:P.command)=="set_local_tools"){const E=(z=i==null?void 0:i.payload)==null?void 0:z.arguments.tools;(E==null?void 0:E.length)>0&&this.notifyPacket({type:"message",payload:{type:"text",role:"assistant",text:"Local tools with rest protocol are not supported."}});return}const T=i.payload;try{const q=await(await fetch(`${p}/sessions/${x}/messages`,{body:JSON.stringify({agentId:v,userMessage:T,initialContext:this.context,tools:this.tools}),method:"POST",headers:{"Content-Type":"application/json","x-persona-apikey":_}})).json();this.notifyPackets(q.response.messages.map(j=>({type:"message",payload:j})))}catch(E){this.notifyPacket({type:"message",payload:{role:"assistant",type:"text",text:"An error occurred while processing your request. Please try again later."}}),(D=this.config.logger)==null||D.error("Error sending packet:",E)}}}class Qi extends Ce{constructor(i){super();I(this,"status");I(this,"autostart");I(this,"session");I(this,"config");I(this,"webSocket");this.config=i,this.status="disconnected",this.autostart=!0,this.session=null,this.webSocket=null}getName(){return"websocket"}getPriority(){return 500}async syncSession(i){var p;(p=this.config.logger)==null||p.debug("Syncing session with WebSocket protocol:",i),this.session=i,this.webSocket&&this.status==="connected"&&(this.disconnect(),this.connect(i))}connect(i){var b;if(this.webSocket!==null&&this.status==="connected")return Promise.resolve(this.session);const p=i||this.session||"new";(b=this.config.logger)==null||b.debug("Connecting to WebSocket with sessionId:",p);const _=encodeURIComponent(this.config.apiKey),v=this.config.agentId,x=this.config.userId||"anonymous",T=`${this.config.webSocketUrl}?sessionCode=${p}&agentId=${v}&apiKey=${_}&userId=${encodeURIComponent(x)}`;return this.setStatus("connecting"),this.webSocket=new WebSocket(T),this.webSocket.addEventListener("open",()=>{this.setStatus("connected")}),this.webSocket.addEventListener("message",$=>{const P=JSON.parse($.data);this.notifyPacket(P)}),this.webSocket.addEventListener("close",$=>{var P;this.setStatus("disconnected"),this.webSocket=null,$.code!==1e3&&(this.notifyPacket({type:"message",payload:{role:"assistant",type:"text",text:"Oops! The connection to the server was lost. Please try again later."}}),(P=this.config.logger)==null||P.warn("WebSocket connection closed"))}),this.webSocket.addEventListener("error",()=>{var $;this.setStatus("disconnected"),this.webSocket=null,($=this.config.logger)==null||$.error("WebSocket connection error")}),Promise.resolve(p)}disconnect(){var i;return(i=this.config.logger)==null||i.debug("Disconnecting WebSocket"),this.webSocket&&this.status==="connected"&&(this.webSocket.close(1e3,"Normal closure"),this.setStatus("disconnected"),this.webSocket=null),Promise.resolve()}sendPacket(i){return this.webSocket&&this.status==="connected"?(this.webSocket.send(JSON.stringify(i)),Promise.resolve()):Promise.reject(new Error("WebSocket is not connected"))}}class Lg{constructor(a){I(this,"config");I(this,"pc",null);I(this,"ws",null);I(this,"localStream",null);I(this,"remoteStream",new MediaStream);I(this,"audioCtx",null);I(this,"localAnalyser",null);I(this,"remoteAnalyser",null);I(this,"analyzerFrame",null);I(this,"dataChannel",null);I(this,"isConnected",!1);I(this,"visualizerCallbacks",[]);I(this,"messageCallbacks",[]);I(this,"errorCallbacks",[]);I(this,"queuedMessages",[]);this.config=a}async connect(a){var p;if(this.isConnected)return;this.isConnected=!0;try{this.localStream=await navigator.mediaDevices.getUserMedia({audio:!0})}catch(_){(p=this.config.logger)==null||p.error("Error accessing microphone:",_);return}this.pc=new RTCPeerConnection({iceServers:this.config.iceServers||[{urls:"stun:34.38.108.251:3478"},{urls:"turn:34.38.108.251:3478",username:"webrtc",credential:"webrtc"}]}),this.localStream.getTracks().forEach(_=>{this.pc.addTrack(_,this.localStream)}),this.pc.ontrack=_=>{_.streams[0].getTracks().forEach(x=>{this.remoteStream.addTrack(x)}),this.audioCtx||this._startAnalyzers();const v=new Audio;v.srcObject=this.remoteStream,v.play().catch(x=>{var T;(T=this.config.logger)==null||T.error("Error playing remote audio:",x)})},this.pc.onicecandidate=_=>{var v;_.candidate&&((v=this.ws)==null?void 0:v.readyState)===WebSocket.OPEN&&this.ws.send(JSON.stringify({type:"CANDIDATE",src:"client",payload:{candidate:_.candidate}}))},this.pc.ondatachannel=_=>{const v=_.channel;v.onmessage=x=>{this.messageCallbacks.forEach(T=>{T(x)})},v.onopen=()=>{var x;for(;this.queuedMessages.length>0;){const T=this.queuedMessages.shift();T&&(v.send(JSON.stringify(T)),(x=this.config.logger)==null||x.info("Sent queued message:",T))}}};const i=this.config.webrtcUrl||"wss://persona.applica.guru/api/webrtc";this.ws=new WebSocket(`${i}?apiKey=${encodeURIComponent(this.config.apiKey)}`),this.ws.onopen=async()=>{var T,b;const _=await this.pc.createOffer();await this.pc.setLocalDescription(_);const v={apiKey:this.config.apiKey,agentId:this.config.agentId,userId:this.config.userId||"anonymous",sessionCode:a};(T=this.config.logger)==null||T.debug("Opening connection to WebRTC server: ",v);const x={type:"OFFER",src:((b=crypto.randomUUID)==null?void 0:b.call(crypto))||"client_"+Date.now(),payload:{sdp:{sdp:_.sdp,type:_.type},connectionId:(Date.now()%1e6).toString(),metadata:v}};this.ws.send(JSON.stringify(x))},this.ws.onmessage=async _=>{var x;const v=JSON.parse(_.data);if(v.type==="ANSWER")await this.pc.setRemoteDescription(new RTCSessionDescription(v.payload.sdp));else if(v.type==="CANDIDATE")try{await this.pc.addIceCandidate(new RTCIceCandidate(v.payload.candidate))}catch(T){(x=this.config.logger)==null||x.error("Error adding ICE candidate:",T)}},this.ws.onclose=_=>{_.code!==1e3&&this.errorCallbacks.forEach(v=>{v("Oops! The connection to the server was lost. Please try again later.")}),this._stopAnalyzers()}}async disconnect(){var a;this.isConnected&&(this.isConnected=!1,((a=this.ws)==null?void 0:a.readyState)===WebSocket.OPEN&&this.ws.close(),this.pc&&this.pc.close(),this.localStream&&this.localStream.getTracks().forEach(i=>i.stop()),this.remoteStream=new MediaStream,this.audioCtx&&(await this.audioCtx.close(),this.audioCtx=null),this._stopAnalyzers())}addVisualizerCallback(a){this.visualizerCallbacks.push(a)}addMessageCallback(a){this.messageCallbacks.push(a)}addErrorCallback(a){this.errorCallbacks.push(a)}createDataChannel(a="messages"){this.pc&&(this.dataChannel=this.pc.createDataChannel(a),this.dataChannel.onopen=()=>{var i,p;for((i=this.config.logger)==null||i.info("Data channel opened");this.queuedMessages.length>0;){const _=this.queuedMessages.shift();_&&(this.dataChannel.send(JSON.stringify(_)),(p=this.config.logger)==null||p.info("Sent queued message:",_))}},this.dataChannel.onmessage=i=>{this.messageCallbacks.forEach(p=>{p(i)})})}sendPacket(a){var i;if(!this.dataChannel||this.dataChannel.readyState!=="open"){this.queuedMessages.push(a);return}this.dataChannel.send(JSON.stringify(a)),(i=this.config.logger)==null||i.info("Sent message:",a)}_startAnalyzers(){if(!this.localStream||!this.remoteStream||this.visualizerCallbacks.length===0)return;this.audioCtx=new(window.AudioContext||window.webkitAudioContext);const a=this.audioCtx.createMediaStreamSource(this.localStream),i=this.audioCtx.createMediaStreamSource(this.remoteStream);this.localAnalyser=this.audioCtx.createAnalyser(),this.remoteAnalyser=this.audioCtx.createAnalyser(),this.localAnalyser.fftSize=256,this.remoteAnalyser.fftSize=256,a.connect(this.localAnalyser),i.connect(this.remoteAnalyser);const p=()=>{if(!this.localAnalyser||!this.remoteAnalyser||this.visualizerCallbacks.length===0)return;const _=new Uint8Array(this.localAnalyser.frequencyBinCount),v=new Uint8Array(this.remoteAnalyser.frequencyBinCount);this.localAnalyser.getByteFrequencyData(_),this.remoteAnalyser.getByteFrequencyData(v);const x=_.reduce((b,$)=>b+$,0)/_.length,T=v.reduce((b,$)=>b+$,0)/v.length;this.visualizerCallbacks.length>0&&this.visualizerCallbacks.forEach(b=>{b({localAmplitude:x,remoteAmplitude:T})}),this.analyzerFrame=requestAnimationFrame(p)};this.analyzerFrame=requestAnimationFrame(p)}_stopAnalyzers(){this.analyzerFrame&&(cancelAnimationFrame(this.analyzerFrame),this.analyzerFrame=null),this.localAnalyser=null,this.remoteAnalyser=null}}class Vi extends Ce{constructor(i){super();I(this,"status");I(this,"session");I(this,"autostart");I(this,"config");I(this,"webRTCClient");this.config=i,this.status="disconnected",this.session=null,this.autostart=(i==null?void 0:i.autostart)??!1,this.webRTCClient=new Lg(i),this.webRTCClient.addMessageCallback(p=>{const _=JSON.parse(p.data);this.notifyPacket(_)}),this.webRTCClient.addErrorCallback(p=>{var _;(_=this.config.logger)==null||_.error("WebRTC error:",p),this.notifyPacket({type:"message",payload:{type:"text",role:"assistant",text:p}})})}getName(){return"webrtc"}getPriority(){return 1e3}async syncSession(i){super.syncSession(i),this.status==="connected"&&(await this.disconnect(),await this.connect(i))}async connect(i){var p;return this.status==="connected"?Promise.resolve(this.session):(this.session=i||this.session||"new",this.setStatus("connecting"),(p=this.config.logger)==null||p.debug("Connecting to WebRTC with sessionId:",this.session),await this.webRTCClient.connect(this.session),this.setStatus("connected"),await this.webRTCClient.createDataChannel(),this.session)}async disconnect(){var i,p,_;if(this.status==="disconnected")return(i=this.config.logger)==null||i.warn("Already disconnected"),Promise.resolve();await this.webRTCClient.disconnect(),this.setStatus("disconnected"),(_=(p=this.config)==null?void 0:p.logger)==null||_.debug("Disconnected from WebRTC")}sendPacket(i){return this.status!=="connected"?Promise.reject(new Error("Not connected")):(this.webRTCClient.sendPacket(i),Promise.resolve())}}var be=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Og(l){return l&&l.__esModule&&Object.prototype.hasOwnProperty.call(l,"default")?l.default:l}var Ar={exports:{}};/**
1
+ "use strict";var Sg=Object.defineProperty;var Ag=(l,a,i)=>a in l?Sg(l,a,{enumerable:!0,configurable:!0,writable:!0,value:i}):l[a]=i;var E=(l,a,i)=>Ag(l,typeof a!="symbol"?a+"":a,i);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Xi=require("react/jsx-runtime"),Q=require("react"),Ce=require("@assistant-ui/react");function bg(l){return new Promise((a,i)=>{const p=new FileReader;p.onload=()=>a(p.result),p.onerror=g=>i(g),p.readAsDataURL(l)})}class Cg{constructor(){E(this,"accept","*")}async add(a){return{id:a.file.name,type:"file",name:a.file.name,contentType:a.file.type||"application/octet-stream",file:a.file,status:{type:"requires-action",reason:"composer-send"}}}async send(a){const p=(await bg(a.file)).split(";base64,")[1];return{...a,status:{type:"complete"},content:[{type:"file",data:p,mimeType:a.contentType||"application/octet-stream"}]}}async remove(a){}}let Pg=0;function Ig(){return`msg_${Date.now()}_${Pg++}`}function Rg(l){return l.thought&&(l={...l,type:"reasoning"}),l.id?l.createdAt?l:{...l,createdAt:new Date}:{...l,id:Ig(),createdAt:l.createdAt||new Date}}function Eg(l){return l.filter(a=>!(a.role==="assistant"&&!a.functionCalls&&!a.file&&!a.image&&(!a.text||a.text.trim()==="")))}function Bn(l){const a=[];let i=null;for(let g of l)if(g=Rg(g),g.type!=="transaction")if(g.file){i&&(a.push(i),i=null),a.push(g);continue}else g.functionCalls?(i&&(i.role==="assistant"&&(!i.text||i.text.trim()==="")&&!i.file&&!i.image||a.push(i)),a.push(g),i=null):g.functionResponse?a[a.length-1]={...a[a.length-1],functionResponse:g.functionResponse}:i&&g.type===i.type&&g.protocol===i.protocol&&i.role===g.role&&(g.id===i.id||!i.finishReason)?(i.text+=g.text,i.file=i.file||g.file,i.finishReason=g.finishReason||i.finishReason,i.id=i.id||g.id,i.sources=i.sources?[...i.sources||[],...g.sources||[]]:g.sources):(i&&a.push(i),i={...g,text:g.file?"":g.text,finishReason:g.file?void 0:g.finishReason});return i&&a.push(i),Eg(a)}function Tg(l){var g,v,x;const a=l.file?[{type:"file",data:l.file.url,mimeType:l.file.contentType}]:[];let i;if((l.role==="assistant"||l.role==="function")&&(l.status?i=l.status:l.finishReason==="stop"?i={type:"complete",reason:"stop"}:l.finishReason==="function_call"?i={type:"complete",reason:"stop"}:l.finishReason||(i=void 0)),l.role==="function"){const T={id:l.id,role:"assistant",createdAt:l.createdAt,content:((g=l.functionCalls)==null?void 0:g.map(C=>{var K;return{type:"tool-call",toolName:C.name,toolCallId:C.id||`tool_${Date.now()}`,args:C.args,result:(K=l.functionResponse)==null?void 0:K.result}}))??[],metadata:{...l.metadata,custom:{protocol:l.protocol,sessionId:l.sessionId,sources:l.sources,...(v=l.metadata)==null?void 0:v.custom}}};return i?{...T,status:i}:T}const p={id:l.id,role:l.role,createdAt:l.createdAt,content:l.type==="reasoning"?[{type:"reasoning",text:l.text},...a]:[{type:"text",text:l.text},...a],metadata:{...l.metadata,custom:{protocol:l.protocol,sessionId:l.sessionId,sources:l.sources,type:l.type,...(x=l.metadata)==null?void 0:x.custom}}};return l.role==="assistant"&&i?{...p,status:i}:p}class Ie{constructor(){E(this,"statusChangeCallbacks",[]);E(this,"messageCallbacks",[])}addStatusChangeListener(a){this.statusChangeCallbacks.push(a)}addPacketListener(a){this.messageCallbacks.push(a)}async syncSession(a){this.session=a}async notifyPacket(a){this.messageCallbacks.forEach(i=>i(a))}async notifyPackets(a){a.forEach(i=>{this.messageCallbacks.forEach(p=>p(i))})}async setSession(a){this.session=a}async setStatus(a){const i=this.status!==a;this.status=a,i&&this.statusChangeCallbacks.forEach(p=>p(a))}clearListeners(){this.statusChangeCallbacks=[],this.messageCallbacks=[]}setAgentContext(a){return this.sendPacket({type:"command",payload:{command:"set_initial_context",arguments:a}})}onTransaction(a){}}class Qi extends Ie{constructor(i){super();E(this,"status");E(this,"autostart");E(this,"session");E(this,"config");E(this,"notify",!0);E(this,"context",{});E(this,"tools",[]);this.config=i,this.status="disconnected",this.autostart=!0}getName(){return"rest"}getPriority(){return 100}async connect(i){return this.setStatus("connected"),i}async disconnect(){this.setStatus("disconnected"),this.session=null}async syncSession(i){this.session=i}async sendPacket(i){var C,K,Z,A,D;const{apiUrl:p,apiKey:g,agentId:v}=this.config,x=this.session??"new";if(i.type==="command"&&((C=i==null?void 0:i.payload)==null?void 0:C.command)=="set_initial_context"){this.context=(K=i==null?void 0:i.payload)==null?void 0:K.arguments;return}else if(i.type==="command"&&((Z=i==null?void 0:i.payload)==null?void 0:Z.command)=="set_local_tools"){const P=(A=i==null?void 0:i.payload)==null?void 0:A.arguments.tools;(P==null?void 0:P.length)>0&&this.notifyPacket({type:"message",payload:{type:"text",role:"assistant",text:"Local tools with rest protocol are not supported."}});return}const T=i.payload;try{const N=await(await fetch(`${p}/sessions/${x}/messages`,{body:JSON.stringify({agentId:v,userMessage:T,initialContext:this.context,tools:this.tools}),method:"POST",headers:{"Content-Type":"application/json","x-persona-apikey":g}})).json();this.notifyPackets(N.response.messages.map(j=>({type:"message",payload:j})))}catch(P){this.notifyPacket({type:"message",payload:{role:"assistant",type:"text",text:"An error occurred while processing your request. Please try again later."}}),(D=this.config.logger)==null||D.error("Error sending packet:",P)}}}class Vi extends Ie{constructor(i){super();E(this,"status");E(this,"autostart");E(this,"session");E(this,"config");E(this,"webSocket");this.config=i,this.status="disconnected",this.autostart=!0,this.session=null,this.webSocket=null}getName(){return"websocket"}getPriority(){return 500}async syncSession(i){var p;(p=this.config.logger)==null||p.debug("Syncing session with WebSocket protocol:",i),this.session=i,this.webSocket&&this.status==="connected"&&(this.disconnect(),this.connect(i))}connect(i){var C;if(this.webSocket!==null&&this.status==="connected")return Promise.resolve(this.session);const p=i||this.session||"new";(C=this.config.logger)==null||C.debug("Connecting to WebSocket with sessionId:",p);const g=encodeURIComponent(this.config.apiKey),v=this.config.agentId,x=this.config.userId||"anonymous",T=`${this.config.webSocketUrl}?sessionCode=${p}&agentId=${v}&apiKey=${g}&userId=${encodeURIComponent(x)}`;return this.setStatus("connecting"),this.webSocket=new WebSocket(T),this.webSocket.addEventListener("open",()=>{this.setStatus("connected")}),this.webSocket.addEventListener("message",K=>{const Z=JSON.parse(K.data);this.notifyPacket(Z)}),this.webSocket.addEventListener("close",K=>{var Z;this.setStatus("disconnected"),this.webSocket=null,K.code!==1e3&&(this.notifyPacket({type:"message",payload:{role:"assistant",type:"text",text:"Oops! The connection to the server was lost. Please try again later."}}),(Z=this.config.logger)==null||Z.warn("WebSocket connection closed"))}),this.webSocket.addEventListener("error",()=>{var K;this.setStatus("disconnected"),this.webSocket=null,(K=this.config.logger)==null||K.error("WebSocket connection error")}),Promise.resolve(p)}disconnect(){var i;return(i=this.config.logger)==null||i.debug("Disconnecting WebSocket"),this.webSocket&&this.status==="connected"&&(this.webSocket.close(1e3,"Normal closure"),this.setStatus("disconnected"),this.webSocket=null),Promise.resolve()}sendPacket(i){return this.webSocket&&this.status==="connected"?(this.webSocket.send(JSON.stringify(i)),Promise.resolve()):Promise.reject(new Error("WebSocket is not connected"))}}class Lg{constructor(a){E(this,"config");E(this,"pc",null);E(this,"ws",null);E(this,"localStream",null);E(this,"remoteStream",new MediaStream);E(this,"audioCtx",null);E(this,"localAnalyser",null);E(this,"remoteAnalyser",null);E(this,"analyzerFrame",null);E(this,"dataChannel",null);E(this,"isConnected",!1);E(this,"visualizerCallbacks",[]);E(this,"messageCallbacks",[]);E(this,"errorCallbacks",[]);E(this,"queuedMessages",[]);this.config=a}async connect(a){var p;if(this.isConnected)return;this.isConnected=!0;try{this.localStream=await navigator.mediaDevices.getUserMedia({audio:!0})}catch(g){(p=this.config.logger)==null||p.error("Error accessing microphone:",g);return}this.pc=new RTCPeerConnection({iceServers:this.config.iceServers||[{urls:"stun:34.38.108.251:3478"},{urls:"turn:34.38.108.251:3478",username:"webrtc",credential:"webrtc"}]}),this.localStream.getTracks().forEach(g=>{this.pc.addTrack(g,this.localStream)}),this.pc.ontrack=g=>{g.streams[0].getTracks().forEach(x=>{this.remoteStream.addTrack(x)}),this.audioCtx||this._startAnalyzers();const v=new Audio;v.srcObject=this.remoteStream,v.play().catch(x=>{var T;(T=this.config.logger)==null||T.error("Error playing remote audio:",x)})},this.pc.onicecandidate=g=>{var v;g.candidate&&((v=this.ws)==null?void 0:v.readyState)===WebSocket.OPEN&&this.ws.send(JSON.stringify({type:"CANDIDATE",src:"client",payload:{candidate:g.candidate}}))},this.pc.ondatachannel=g=>{const v=g.channel;v.onmessage=x=>{this.messageCallbacks.forEach(T=>{T(x)})},v.onopen=()=>{var x;for(;this.queuedMessages.length>0;){const T=this.queuedMessages.shift();T&&(v.send(JSON.stringify(T)),(x=this.config.logger)==null||x.info("Sent queued message:",T))}}};const i=this.config.webrtcUrl||"wss://persona.applica.guru/api/webrtc";this.ws=new WebSocket(`${i}?apiKey=${encodeURIComponent(this.config.apiKey)}`),this.ws.onopen=async()=>{var T,C;const g=await this.pc.createOffer();await this.pc.setLocalDescription(g);const v={apiKey:this.config.apiKey,agentId:this.config.agentId,userId:this.config.userId||"anonymous",sessionCode:a};(T=this.config.logger)==null||T.debug("Opening connection to WebRTC server: ",v);const x={type:"OFFER",src:((C=crypto.randomUUID)==null?void 0:C.call(crypto))||"client_"+Date.now(),payload:{sdp:{sdp:g.sdp,type:g.type},connectionId:(Date.now()%1e6).toString(),metadata:v}};this.ws.send(JSON.stringify(x))},this.ws.onmessage=async g=>{var x;const v=JSON.parse(g.data);if(v.type==="ANSWER")await this.pc.setRemoteDescription(new RTCSessionDescription(v.payload.sdp));else if(v.type==="CANDIDATE")try{await this.pc.addIceCandidate(new RTCIceCandidate(v.payload.candidate))}catch(T){(x=this.config.logger)==null||x.error("Error adding ICE candidate:",T)}},this.ws.onclose=g=>{g.code!==1e3&&this.errorCallbacks.forEach(v=>{v("Oops! The connection to the server was lost. Please try again later.")}),this._stopAnalyzers()}}async disconnect(){var a;this.isConnected&&(this.isConnected=!1,((a=this.ws)==null?void 0:a.readyState)===WebSocket.OPEN&&this.ws.close(),this.pc&&this.pc.close(),this.localStream&&this.localStream.getTracks().forEach(i=>i.stop()),this.remoteStream=new MediaStream,this.audioCtx&&(await this.audioCtx.close(),this.audioCtx=null),this._stopAnalyzers())}addVisualizerCallback(a){this.visualizerCallbacks.push(a)}addMessageCallback(a){this.messageCallbacks.push(a)}addErrorCallback(a){this.errorCallbacks.push(a)}createDataChannel(a="messages"){this.pc&&(this.dataChannel=this.pc.createDataChannel(a),this.dataChannel.onopen=()=>{var i,p;for((i=this.config.logger)==null||i.info("Data channel opened");this.queuedMessages.length>0;){const g=this.queuedMessages.shift();g&&(this.dataChannel.send(JSON.stringify(g)),(p=this.config.logger)==null||p.info("Sent queued message:",g))}},this.dataChannel.onmessage=i=>{this.messageCallbacks.forEach(p=>{p(i)})})}sendPacket(a){var i;if(!this.dataChannel||this.dataChannel.readyState!=="open"){this.queuedMessages.push(a);return}this.dataChannel.send(JSON.stringify(a)),(i=this.config.logger)==null||i.info("Sent message:",a)}_startAnalyzers(){if(!this.localStream||!this.remoteStream||this.visualizerCallbacks.length===0)return;this.audioCtx=new(window.AudioContext||window.webkitAudioContext);const a=this.audioCtx.createMediaStreamSource(this.localStream),i=this.audioCtx.createMediaStreamSource(this.remoteStream);this.localAnalyser=this.audioCtx.createAnalyser(),this.remoteAnalyser=this.audioCtx.createAnalyser(),this.localAnalyser.fftSize=256,this.remoteAnalyser.fftSize=256,a.connect(this.localAnalyser),i.connect(this.remoteAnalyser);const p=()=>{if(!this.localAnalyser||!this.remoteAnalyser||this.visualizerCallbacks.length===0)return;const g=new Uint8Array(this.localAnalyser.frequencyBinCount),v=new Uint8Array(this.remoteAnalyser.frequencyBinCount);this.localAnalyser.getByteFrequencyData(g),this.remoteAnalyser.getByteFrequencyData(v);const x=g.reduce((C,K)=>C+K,0)/g.length,T=v.reduce((C,K)=>C+K,0)/v.length;this.visualizerCallbacks.length>0&&this.visualizerCallbacks.forEach(C=>{C({localAmplitude:x,remoteAmplitude:T})}),this.analyzerFrame=requestAnimationFrame(p)};this.analyzerFrame=requestAnimationFrame(p)}_stopAnalyzers(){this.analyzerFrame&&(cancelAnimationFrame(this.analyzerFrame),this.analyzerFrame=null),this.localAnalyser=null,this.remoteAnalyser=null}}class ji extends Ie{constructor(i){super();E(this,"status");E(this,"session");E(this,"autostart");E(this,"config");E(this,"webRTCClient");this.config=i,this.status="disconnected",this.session=null,this.autostart=(i==null?void 0:i.autostart)??!1,this.webRTCClient=new Lg(i),this.webRTCClient.addMessageCallback(p=>{const g=JSON.parse(p.data);this.notifyPacket(g)}),this.webRTCClient.addErrorCallback(p=>{var g;(g=this.config.logger)==null||g.error("WebRTC error:",p),this.notifyPacket({type:"message",payload:{type:"text",role:"assistant",text:p}})})}getName(){return"webrtc"}getPriority(){return 1e3}async syncSession(i){super.syncSession(i),this.status==="connected"&&(await this.disconnect(),await this.connect(i))}async connect(i){var p;return this.status==="connected"?Promise.resolve(this.session):(this.session=i||this.session||"new",this.setStatus("connecting"),(p=this.config.logger)==null||p.debug("Connecting to WebRTC with sessionId:",this.session),await this.webRTCClient.connect(this.session),this.setStatus("connected"),await this.webRTCClient.createDataChannel(),this.session)}async disconnect(){var i,p,g;if(this.status==="disconnected")return(i=this.config.logger)==null||i.warn("Already disconnected"),Promise.resolve();await this.webRTCClient.disconnect(),this.setStatus("disconnected"),(g=(p=this.config)==null?void 0:p.logger)==null||g.debug("Disconnected from WebRTC")}sendPacket(i){return this.status!=="connected"?Promise.reject(new Error("Not connected")):(this.webRTCClient.sendPacket(i),Promise.resolve())}}var Pe=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Og(l){return l&&l.__esModule&&Object.prototype.hasOwnProperty.call(l,"default")?l.default:l}var Ar={exports:{}};/**
2
2
  * @license
3
3
  * Lodash <https://lodash.com/>
4
4
  * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
5
5
  * Released under MIT license <https://lodash.com/license>
6
6
  * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
7
7
  * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
8
- */Ar.exports;(function(l,a){(function(){var i,p="4.17.21",_=200,v="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",x="Expected a function",T="Invalid `variable` option passed into `_.template`",b="__lodash_hash_undefined__",$=500,P="__lodash_placeholder__",z=1,D=2,E=4,q=1,j=2,k=1,_n=2,rn=4,ht=8,gt=16,qt=32,In=64,Ot=128,Vt=256,kt=512,Re=30,Ie="...",Ct=800,Te=16,Tn=1,Ee=2,ct=3,sn=1/0,jt=9007199254740991,Cr=17976931348623157e292,Kn=NaN,Wt=4294967295,Pr=Wt-1,Le=Wt>>>1,Rr=[["ary",Ot],["bind",k],["bindKey",_n],["curry",ht],["curryRight",gt],["flip",kt],["partial",qt],["partialRight",In],["rearg",Vt]],M="[object Arguments]",ot="[object Array]",vn="[object AsyncFunction]",Ht="[object Boolean]",wn="[object Date]",zt="[object DOMException]",Oe="[object Error]",We="[object Function]",ji="[object GeneratorFunction]",Gt="[object Map]",re="[object Number]",Bo="[object Null]",un="[object Object]",ts="[object Promise]",$o="[object Proxy]",ie="[object RegExp]",Jt="[object Set]",se="[object String]",De="[object Symbol]",Mo="[object Undefined]",ue="[object WeakMap]",Ko="[object WeakSet]",oe="[object ArrayBuffer]",qn="[object DataView]",Ir="[object Float32Array]",Tr="[object Float64Array]",Er="[object Int8Array]",Lr="[object Int16Array]",Or="[object Int32Array]",Wr="[object Uint8Array]",Dr="[object Uint8ClampedArray]",Fr="[object Uint16Array]",Ur="[object Uint32Array]",qo=/\b__p \+= '';/g,ko=/\b(__p \+=) '' \+/g,Ho=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ns=/&(?:amp|lt|gt|quot|#39);/g,es=/[&<>"']/g,zo=RegExp(ns.source),Go=RegExp(es.source),Jo=/<%-([\s\S]+?)%>/g,Zo=/<%([\s\S]+?)%>/g,rs=/<%=([\s\S]+?)%>/g,Yo=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Xo=/^\w*$/,Qo=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Nr=/[\\^$.*+?()[\]{}|]/g,Vo=RegExp(Nr.source),Br=/^\s+/,jo=/\s/,ta=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,na=/\{\n\/\* \[wrapped with (.+)\] \*/,ea=/,? & /,ra=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ia=/[()=,{}\[\]\/\s]/,sa=/\\(\\)?/g,ua=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,is=/\w*$/,oa=/^[-+]0x[0-9a-f]+$/i,aa=/^0b[01]+$/i,fa=/^\[object .+?Constructor\]$/,ca=/^0o[0-7]+$/i,la=/^(?:0|[1-9]\d*)$/,ha=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Fe=/($^)/,da=/['\n\r\u2028\u2029\\]/g,Ue="\\ud800-\\udfff",pa="\\u0300-\\u036f",ga="\\ufe20-\\ufe2f",_a="\\u20d0-\\u20ff",ss=pa+ga+_a,us="\\u2700-\\u27bf",os="a-z\\xdf-\\xf6\\xf8-\\xff",va="\\xac\\xb1\\xd7\\xf7",wa="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",ya="\\u2000-\\u206f",ma=" \\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",as="A-Z\\xc0-\\xd6\\xd8-\\xde",fs="\\ufe0e\\ufe0f",cs=va+wa+ya+ma,$r="['’]",xa="["+Ue+"]",ls="["+cs+"]",Ne="["+ss+"]",hs="\\d+",Sa="["+us+"]",ds="["+os+"]",ps="[^"+Ue+cs+hs+us+os+as+"]",Mr="\\ud83c[\\udffb-\\udfff]",Aa="(?:"+Ne+"|"+Mr+")",gs="[^"+Ue+"]",Kr="(?:\\ud83c[\\udde6-\\uddff]){2}",qr="[\\ud800-\\udbff][\\udc00-\\udfff]",kn="["+as+"]",_s="\\u200d",vs="(?:"+ds+"|"+ps+")",ba="(?:"+kn+"|"+ps+")",ws="(?:"+$r+"(?:d|ll|m|re|s|t|ve))?",ys="(?:"+$r+"(?:D|LL|M|RE|S|T|VE))?",ms=Aa+"?",xs="["+fs+"]?",Ca="(?:"+_s+"(?:"+[gs,Kr,qr].join("|")+")"+xs+ms+")*",Pa="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Ra="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Ss=xs+ms+Ca,Ia="(?:"+[Sa,Kr,qr].join("|")+")"+Ss,Ta="(?:"+[gs+Ne+"?",Ne,Kr,qr,xa].join("|")+")",Ea=RegExp($r,"g"),La=RegExp(Ne,"g"),kr=RegExp(Mr+"(?="+Mr+")|"+Ta+Ss,"g"),Oa=RegExp([kn+"?"+ds+"+"+ws+"(?="+[ls,kn,"$"].join("|")+")",ba+"+"+ys+"(?="+[ls,kn+vs,"$"].join("|")+")",kn+"?"+vs+"+"+ws,kn+"+"+ys,Ra,Pa,hs,Ia].join("|"),"g"),Wa=RegExp("["+_s+Ue+ss+fs+"]"),Da=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Fa=["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"],Ua=-1,nt={};nt[Ir]=nt[Tr]=nt[Er]=nt[Lr]=nt[Or]=nt[Wr]=nt[Dr]=nt[Fr]=nt[Ur]=!0,nt[M]=nt[ot]=nt[oe]=nt[Ht]=nt[qn]=nt[wn]=nt[Oe]=nt[We]=nt[Gt]=nt[re]=nt[un]=nt[ie]=nt[Jt]=nt[se]=nt[ue]=!1;var tt={};tt[M]=tt[ot]=tt[oe]=tt[qn]=tt[Ht]=tt[wn]=tt[Ir]=tt[Tr]=tt[Er]=tt[Lr]=tt[Or]=tt[Gt]=tt[re]=tt[un]=tt[ie]=tt[Jt]=tt[se]=tt[De]=tt[Wr]=tt[Dr]=tt[Fr]=tt[Ur]=!0,tt[Oe]=tt[We]=tt[ue]=!1;var Na={À:"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"},Ba={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},$a={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},Ma={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Ka=parseFloat,qa=parseInt,As=typeof be=="object"&&be&&be.Object===Object&&be,ka=typeof self=="object"&&self&&self.Object===Object&&self,dt=As||ka||Function("return this")(),Hr=a&&!a.nodeType&&a,En=Hr&&!0&&l&&!l.nodeType&&l,bs=En&&En.exports===Hr,zr=bs&&As.process,Dt=function(){try{var h=En&&En.require&&En.require("util").types;return h||zr&&zr.binding&&zr.binding("util")}catch{}}(),Cs=Dt&&Dt.isArrayBuffer,Ps=Dt&&Dt.isDate,Rs=Dt&&Dt.isMap,Is=Dt&&Dt.isRegExp,Ts=Dt&&Dt.isSet,Es=Dt&&Dt.isTypedArray;function Pt(h,w,g){switch(g.length){case 0:return h.call(w);case 1:return h.call(w,g[0]);case 2:return h.call(w,g[0],g[1]);case 3:return h.call(w,g[0],g[1],g[2])}return h.apply(w,g)}function Ha(h,w,g,C){for(var F=-1,Z=h==null?0:h.length;++F<Z;){var at=h[F];w(C,at,g(at),h)}return C}function Ft(h,w){for(var g=-1,C=h==null?0:h.length;++g<C&&w(h[g],g,h)!==!1;);return h}function za(h,w){for(var g=h==null?0:h.length;g--&&w(h[g],g,h)!==!1;);return h}function Ls(h,w){for(var g=-1,C=h==null?0:h.length;++g<C;)if(!w(h[g],g,h))return!1;return!0}function yn(h,w){for(var g=-1,C=h==null?0:h.length,F=0,Z=[];++g<C;){var at=h[g];w(at,g,h)&&(Z[F++]=at)}return Z}function Be(h,w){var g=h==null?0:h.length;return!!g&&Hn(h,w,0)>-1}function Gr(h,w,g){for(var C=-1,F=h==null?0:h.length;++C<F;)if(g(w,h[C]))return!0;return!1}function et(h,w){for(var g=-1,C=h==null?0:h.length,F=Array(C);++g<C;)F[g]=w(h[g],g,h);return F}function mn(h,w){for(var g=-1,C=w.length,F=h.length;++g<C;)h[F+g]=w[g];return h}function Jr(h,w,g,C){var F=-1,Z=h==null?0:h.length;for(C&&Z&&(g=h[++F]);++F<Z;)g=w(g,h[F],F,h);return g}function Ga(h,w,g,C){var F=h==null?0:h.length;for(C&&F&&(g=h[--F]);F--;)g=w(g,h[F],F,h);return g}function Zr(h,w){for(var g=-1,C=h==null?0:h.length;++g<C;)if(w(h[g],g,h))return!0;return!1}var Ja=Yr("length");function Za(h){return h.split("")}function Ya(h){return h.match(ra)||[]}function Os(h,w,g){var C;return g(h,function(F,Z,at){if(w(F,Z,at))return C=Z,!1}),C}function $e(h,w,g,C){for(var F=h.length,Z=g+(C?1:-1);C?Z--:++Z<F;)if(w(h[Z],Z,h))return Z;return-1}function Hn(h,w,g){return w===w?af(h,w,g):$e(h,Ws,g)}function Xa(h,w,g,C){for(var F=g-1,Z=h.length;++F<Z;)if(C(h[F],w))return F;return-1}function Ws(h){return h!==h}function Ds(h,w){var g=h==null?0:h.length;return g?Qr(h,w)/g:Kn}function Yr(h){return function(w){return w==null?i:w[h]}}function Xr(h){return function(w){return h==null?i:h[w]}}function Fs(h,w,g,C,F){return F(h,function(Z,at,Q){g=C?(C=!1,Z):w(g,Z,at,Q)}),g}function Qa(h,w){var g=h.length;for(h.sort(w);g--;)h[g]=h[g].value;return h}function Qr(h,w){for(var g,C=-1,F=h.length;++C<F;){var Z=w(h[C]);Z!==i&&(g=g===i?Z:g+Z)}return g}function Vr(h,w){for(var g=-1,C=Array(h);++g<h;)C[g]=w(g);return C}function Va(h,w){return et(w,function(g){return[g,h[g]]})}function Us(h){return h&&h.slice(0,Ms(h)+1).replace(Br,"")}function Rt(h){return function(w){return h(w)}}function jr(h,w){return et(w,function(g){return h[g]})}function ae(h,w){return h.has(w)}function Ns(h,w){for(var g=-1,C=h.length;++g<C&&Hn(w,h[g],0)>-1;);return g}function Bs(h,w){for(var g=h.length;g--&&Hn(w,h[g],0)>-1;);return g}function ja(h,w){for(var g=h.length,C=0;g--;)h[g]===w&&++C;return C}var tf=Xr(Na),nf=Xr(Ba);function ef(h){return"\\"+Ma[h]}function rf(h,w){return h==null?i:h[w]}function zn(h){return Wa.test(h)}function sf(h){return Da.test(h)}function uf(h){for(var w,g=[];!(w=h.next()).done;)g.push(w.value);return g}function ti(h){var w=-1,g=Array(h.size);return h.forEach(function(C,F){g[++w]=[F,C]}),g}function $s(h,w){return function(g){return h(w(g))}}function xn(h,w){for(var g=-1,C=h.length,F=0,Z=[];++g<C;){var at=h[g];(at===w||at===P)&&(h[g]=P,Z[F++]=g)}return Z}function Me(h){var w=-1,g=Array(h.size);return h.forEach(function(C){g[++w]=C}),g}function of(h){var w=-1,g=Array(h.size);return h.forEach(function(C){g[++w]=[C,C]}),g}function af(h,w,g){for(var C=g-1,F=h.length;++C<F;)if(h[C]===w)return C;return-1}function ff(h,w,g){for(var C=g+1;C--;)if(h[C]===w)return C;return C}function Gn(h){return zn(h)?lf(h):Ja(h)}function Zt(h){return zn(h)?hf(h):Za(h)}function Ms(h){for(var w=h.length;w--&&jo.test(h.charAt(w)););return w}var cf=Xr($a);function lf(h){for(var w=kr.lastIndex=0;kr.test(h);)++w;return w}function hf(h){return h.match(kr)||[]}function df(h){return h.match(Oa)||[]}var pf=function h(w){w=w==null?dt:Jn.defaults(dt.Object(),w,Jn.pick(dt,Fa));var g=w.Array,C=w.Date,F=w.Error,Z=w.Function,at=w.Math,Q=w.Object,ni=w.RegExp,gf=w.String,Ut=w.TypeError,Ke=g.prototype,_f=Z.prototype,Zn=Q.prototype,qe=w["__core-js_shared__"],ke=_f.toString,X=Zn.hasOwnProperty,vf=0,Ks=function(){var t=/[^.]+$/.exec(qe&&qe.keys&&qe.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),He=Zn.toString,wf=ke.call(Q),yf=dt._,mf=ni("^"+ke.call(X).replace(Nr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ze=bs?w.Buffer:i,Sn=w.Symbol,Ge=w.Uint8Array,qs=ze?ze.allocUnsafe:i,Je=$s(Q.getPrototypeOf,Q),ks=Q.create,Hs=Zn.propertyIsEnumerable,Ze=Ke.splice,zs=Sn?Sn.isConcatSpreadable:i,fe=Sn?Sn.iterator:i,Ln=Sn?Sn.toStringTag:i,Ye=function(){try{var t=Un(Q,"defineProperty");return t({},"",{}),t}catch{}}(),xf=w.clearTimeout!==dt.clearTimeout&&w.clearTimeout,Sf=C&&C.now!==dt.Date.now&&C.now,Af=w.setTimeout!==dt.setTimeout&&w.setTimeout,Xe=at.ceil,Qe=at.floor,ei=Q.getOwnPropertySymbols,bf=ze?ze.isBuffer:i,Gs=w.isFinite,Cf=Ke.join,Pf=$s(Q.keys,Q),ft=at.max,_t=at.min,Rf=C.now,If=w.parseInt,Js=at.random,Tf=Ke.reverse,ri=Un(w,"DataView"),ce=Un(w,"Map"),ii=Un(w,"Promise"),Yn=Un(w,"Set"),le=Un(w,"WeakMap"),he=Un(Q,"create"),Ve=le&&new le,Xn={},Ef=Nn(ri),Lf=Nn(ce),Of=Nn(ii),Wf=Nn(Yn),Df=Nn(le),je=Sn?Sn.prototype:i,de=je?je.valueOf:i,Zs=je?je.toString:i;function u(t){if(it(t)&&!U(t)&&!(t instanceof G)){if(t instanceof Nt)return t;if(X.call(t,"__wrapped__"))return Yu(t)}return new Nt(t)}var Qn=function(){function t(){}return function(n){if(!rt(n))return{};if(ks)return ks(n);t.prototype=n;var e=new t;return t.prototype=i,e}}();function tr(){}function Nt(t,n){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!n,this.__index__=0,this.__values__=i}u.templateSettings={escape:Jo,evaluate:Zo,interpolate:rs,variable:"",imports:{_:u}},u.prototype=tr.prototype,u.prototype.constructor=u,Nt.prototype=Qn(tr.prototype),Nt.prototype.constructor=Nt;function G(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Wt,this.__views__=[]}function Ff(){var t=new G(this.__wrapped__);return t.__actions__=xt(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=xt(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=xt(this.__views__),t}function Uf(){if(this.__filtered__){var t=new G(this);t.__dir__=-1,t.__filtered__=!0}else t=this.clone(),t.__dir__*=-1;return t}function Nf(){var t=this.__wrapped__.value(),n=this.__dir__,e=U(t),r=n<0,s=e?t.length:0,o=Yc(0,s,this.__views__),f=o.start,c=o.end,d=c-f,y=r?c:f-1,m=this.__iteratees__,S=m.length,A=0,R=_t(d,this.__takeCount__);if(!e||!r&&s==d&&R==d)return wu(t,this.__actions__);var O=[];t:for(;d--&&A<R;){y+=n;for(var B=-1,W=t[y];++B<S;){var H=m[B],J=H.iteratee,Et=H.type,mt=J(W);if(Et==Ee)W=mt;else if(!mt){if(Et==Tn)continue t;break t}}O[A++]=W}return O}G.prototype=Qn(tr.prototype),G.prototype.constructor=G;function On(t){var n=-1,e=t==null?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function Bf(){this.__data__=he?he(null):{},this.size=0}function $f(t){var n=this.has(t)&&delete this.__data__[t];return this.size-=n?1:0,n}function Mf(t){var n=this.__data__;if(he){var e=n[t];return e===b?i:e}return X.call(n,t)?n[t]:i}function Kf(t){var n=this.__data__;return he?n[t]!==i:X.call(n,t)}function qf(t,n){var e=this.__data__;return this.size+=this.has(t)?0:1,e[t]=he&&n===i?b:n,this}On.prototype.clear=Bf,On.prototype.delete=$f,On.prototype.get=Mf,On.prototype.has=Kf,On.prototype.set=qf;function on(t){var n=-1,e=t==null?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function kf(){this.__data__=[],this.size=0}function Hf(t){var n=this.__data__,e=nr(n,t);if(e<0)return!1;var r=n.length-1;return e==r?n.pop():Ze.call(n,e,1),--this.size,!0}function zf(t){var n=this.__data__,e=nr(n,t);return e<0?i:n[e][1]}function Gf(t){return nr(this.__data__,t)>-1}function Jf(t,n){var e=this.__data__,r=nr(e,t);return r<0?(++this.size,e.push([t,n])):e[r][1]=n,this}on.prototype.clear=kf,on.prototype.delete=Hf,on.prototype.get=zf,on.prototype.has=Gf,on.prototype.set=Jf;function an(t){var n=-1,e=t==null?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function Zf(){this.size=0,this.__data__={hash:new On,map:new(ce||on),string:new On}}function Yf(t){var n=dr(this,t).delete(t);return this.size-=n?1:0,n}function Xf(t){return dr(this,t).get(t)}function Qf(t){return dr(this,t).has(t)}function Vf(t,n){var e=dr(this,t),r=e.size;return e.set(t,n),this.size+=e.size==r?0:1,this}an.prototype.clear=Zf,an.prototype.delete=Yf,an.prototype.get=Xf,an.prototype.has=Qf,an.prototype.set=Vf;function Wn(t){var n=-1,e=t==null?0:t.length;for(this.__data__=new an;++n<e;)this.add(t[n])}function jf(t){return this.__data__.set(t,b),this}function tc(t){return this.__data__.has(t)}Wn.prototype.add=Wn.prototype.push=jf,Wn.prototype.has=tc;function Yt(t){var n=this.__data__=new on(t);this.size=n.size}function nc(){this.__data__=new on,this.size=0}function ec(t){var n=this.__data__,e=n.delete(t);return this.size=n.size,e}function rc(t){return this.__data__.get(t)}function ic(t){return this.__data__.has(t)}function sc(t,n){var e=this.__data__;if(e instanceof on){var r=e.__data__;if(!ce||r.length<_-1)return r.push([t,n]),this.size=++e.size,this;e=this.__data__=new an(r)}return e.set(t,n),this.size=e.size,this}Yt.prototype.clear=nc,Yt.prototype.delete=ec,Yt.prototype.get=rc,Yt.prototype.has=ic,Yt.prototype.set=sc;function Ys(t,n){var e=U(t),r=!e&&Bn(t),s=!e&&!r&&Rn(t),o=!e&&!r&&!s&&ne(t),f=e||r||s||o,c=f?Vr(t.length,gf):[],d=c.length;for(var y in t)(n||X.call(t,y))&&!(f&&(y=="length"||s&&(y=="offset"||y=="parent")||o&&(y=="buffer"||y=="byteLength"||y=="byteOffset")||hn(y,d)))&&c.push(y);return c}function Xs(t){var n=t.length;return n?t[gi(0,n-1)]:i}function uc(t,n){return pr(xt(t),Dn(n,0,t.length))}function oc(t){return pr(xt(t))}function si(t,n,e){(e!==i&&!Xt(t[n],e)||e===i&&!(n in t))&&fn(t,n,e)}function pe(t,n,e){var r=t[n];(!(X.call(t,n)&&Xt(r,e))||e===i&&!(n in t))&&fn(t,n,e)}function nr(t,n){for(var e=t.length;e--;)if(Xt(t[e][0],n))return e;return-1}function ac(t,n,e,r){return An(t,function(s,o,f){n(r,s,e(s),f)}),r}function Qs(t,n){return t&&nn(n,lt(n),t)}function fc(t,n){return t&&nn(n,At(n),t)}function fn(t,n,e){n=="__proto__"&&Ye?Ye(t,n,{configurable:!0,enumerable:!0,value:e,writable:!0}):t[n]=e}function ui(t,n){for(var e=-1,r=n.length,s=g(r),o=t==null;++e<r;)s[e]=o?i:Mi(t,n[e]);return s}function Dn(t,n,e){return t===t&&(e!==i&&(t=t<=e?t:e),n!==i&&(t=t>=n?t:n)),t}function Bt(t,n,e,r,s,o){var f,c=n&z,d=n&D,y=n&E;if(e&&(f=s?e(t,r,s,o):e(t)),f!==i)return f;if(!rt(t))return t;var m=U(t);if(m){if(f=Qc(t),!c)return xt(t,f)}else{var S=vt(t),A=S==We||S==ji;if(Rn(t))return xu(t,c);if(S==un||S==M||A&&!s){if(f=d||A?{}:Mu(t),!c)return d?Mc(t,fc(f,t)):$c(t,Qs(f,t))}else{if(!tt[S])return s?t:{};f=Vc(t,S,c)}}o||(o=new Yt);var R=o.get(t);if(R)return R;o.set(t,f),_o(t)?t.forEach(function(W){f.add(Bt(W,n,e,W,t,o))}):po(t)&&t.forEach(function(W,H){f.set(H,Bt(W,n,e,H,t,o))});var O=y?d?Pi:Ci:d?At:lt,B=m?i:O(t);return Ft(B||t,function(W,H){B&&(H=W,W=t[H]),pe(f,H,Bt(W,n,e,H,t,o))}),f}function cc(t){var n=lt(t);return function(e){return Vs(e,t,n)}}function Vs(t,n,e){var r=e.length;if(t==null)return!r;for(t=Q(t);r--;){var s=e[r],o=n[s],f=t[s];if(f===i&&!(s in t)||!o(f))return!1}return!0}function js(t,n,e){if(typeof t!="function")throw new Ut(x);return xe(function(){t.apply(i,e)},n)}function ge(t,n,e,r){var s=-1,o=Be,f=!0,c=t.length,d=[],y=n.length;if(!c)return d;e&&(n=et(n,Rt(e))),r?(o=Gr,f=!1):n.length>=_&&(o=ae,f=!1,n=new Wn(n));t:for(;++s<c;){var m=t[s],S=e==null?m:e(m);if(m=r||m!==0?m:0,f&&S===S){for(var A=y;A--;)if(n[A]===S)continue t;d.push(m)}else o(n,S,r)||d.push(m)}return d}var An=Pu(tn),tu=Pu(ai,!0);function lc(t,n){var e=!0;return An(t,function(r,s,o){return e=!!n(r,s,o),e}),e}function er(t,n,e){for(var r=-1,s=t.length;++r<s;){var o=t[r],f=n(o);if(f!=null&&(c===i?f===f&&!Tt(f):e(f,c)))var c=f,d=o}return d}function hc(t,n,e,r){var s=t.length;for(e=N(e),e<0&&(e=-e>s?0:s+e),r=r===i||r>s?s:N(r),r<0&&(r+=s),r=e>r?0:wo(r);e<r;)t[e++]=n;return t}function nu(t,n){var e=[];return An(t,function(r,s,o){n(r,s,o)&&e.push(r)}),e}function pt(t,n,e,r,s){var o=-1,f=t.length;for(e||(e=tl),s||(s=[]);++o<f;){var c=t[o];n>0&&e(c)?n>1?pt(c,n-1,e,r,s):mn(s,c):r||(s[s.length]=c)}return s}var oi=Ru(),eu=Ru(!0);function tn(t,n){return t&&oi(t,n,lt)}function ai(t,n){return t&&eu(t,n,lt)}function rr(t,n){return yn(n,function(e){return dn(t[e])})}function Fn(t,n){n=Cn(n,t);for(var e=0,r=n.length;t!=null&&e<r;)t=t[en(n[e++])];return e&&e==r?t:i}function ru(t,n,e){var r=n(t);return U(t)?r:mn(r,e(t))}function wt(t){return t==null?t===i?Mo:Bo:Ln&&Ln in Q(t)?Zc(t):ol(t)}function fi(t,n){return t>n}function dc(t,n){return t!=null&&X.call(t,n)}function pc(t,n){return t!=null&&n in Q(t)}function gc(t,n,e){return t>=_t(n,e)&&t<ft(n,e)}function ci(t,n,e){for(var r=e?Gr:Be,s=t[0].length,o=t.length,f=o,c=g(o),d=1/0,y=[];f--;){var m=t[f];f&&n&&(m=et(m,Rt(n))),d=_t(m.length,d),c[f]=!e&&(n||s>=120&&m.length>=120)?new Wn(f&&m):i}m=t[0];var S=-1,A=c[0];t:for(;++S<s&&y.length<d;){var R=m[S],O=n?n(R):R;if(R=e||R!==0?R:0,!(A?ae(A,O):r(y,O,e))){for(f=o;--f;){var B=c[f];if(!(B?ae(B,O):r(t[f],O,e)))continue t}A&&A.push(O),y.push(R)}}return y}function _c(t,n,e,r){return tn(t,function(s,o,f){n(r,e(s),o,f)}),r}function _e(t,n,e){n=Cn(n,t),t=Hu(t,n);var r=t==null?t:t[en(Mt(n))];return r==null?i:Pt(r,t,e)}function iu(t){return it(t)&&wt(t)==M}function vc(t){return it(t)&&wt(t)==oe}function wc(t){return it(t)&&wt(t)==wn}function ve(t,n,e,r,s){return t===n?!0:t==null||n==null||!it(t)&&!it(n)?t!==t&&n!==n:yc(t,n,e,r,ve,s)}function yc(t,n,e,r,s,o){var f=U(t),c=U(n),d=f?ot:vt(t),y=c?ot:vt(n);d=d==M?un:d,y=y==M?un:y;var m=d==un,S=y==un,A=d==y;if(A&&Rn(t)){if(!Rn(n))return!1;f=!0,m=!1}if(A&&!m)return o||(o=new Yt),f||ne(t)?Nu(t,n,e,r,s,o):Gc(t,n,d,e,r,s,o);if(!(e&q)){var R=m&&X.call(t,"__wrapped__"),O=S&&X.call(n,"__wrapped__");if(R||O){var B=R?t.value():t,W=O?n.value():n;return o||(o=new Yt),s(B,W,e,r,o)}}return A?(o||(o=new Yt),Jc(t,n,e,r,s,o)):!1}function mc(t){return it(t)&&vt(t)==Gt}function li(t,n,e,r){var s=e.length,o=s,f=!r;if(t==null)return!o;for(t=Q(t);s--;){var c=e[s];if(f&&c[2]?c[1]!==t[c[0]]:!(c[0]in t))return!1}for(;++s<o;){c=e[s];var d=c[0],y=t[d],m=c[1];if(f&&c[2]){if(y===i&&!(d in t))return!1}else{var S=new Yt;if(r)var A=r(y,m,d,t,n,S);if(!(A===i?ve(m,y,q|j,r,S):A))return!1}}return!0}function su(t){if(!rt(t)||el(t))return!1;var n=dn(t)?mf:fa;return n.test(Nn(t))}function xc(t){return it(t)&&wt(t)==ie}function Sc(t){return it(t)&&vt(t)==Jt}function Ac(t){return it(t)&&mr(t.length)&&!!nt[wt(t)]}function uu(t){return typeof t=="function"?t:t==null?bt:typeof t=="object"?U(t)?fu(t[0],t[1]):au(t):To(t)}function hi(t){if(!me(t))return Pf(t);var n=[];for(var e in Q(t))X.call(t,e)&&e!="constructor"&&n.push(e);return n}function bc(t){if(!rt(t))return ul(t);var n=me(t),e=[];for(var r in t)r=="constructor"&&(n||!X.call(t,r))||e.push(r);return e}function di(t,n){return t<n}function ou(t,n){var e=-1,r=St(t)?g(t.length):[];return An(t,function(s,o,f){r[++e]=n(s,o,f)}),r}function au(t){var n=Ii(t);return n.length==1&&n[0][2]?qu(n[0][0],n[0][1]):function(e){return e===t||li(e,t,n)}}function fu(t,n){return Ei(t)&&Ku(n)?qu(en(t),n):function(e){var r=Mi(e,t);return r===i&&r===n?Ki(e,t):ve(n,r,q|j)}}function ir(t,n,e,r,s){t!==n&&oi(n,function(o,f){if(s||(s=new Yt),rt(o))Cc(t,n,f,e,ir,r,s);else{var c=r?r(Oi(t,f),o,f+"",t,n,s):i;c===i&&(c=o),si(t,f,c)}},At)}function Cc(t,n,e,r,s,o,f){var c=Oi(t,e),d=Oi(n,e),y=f.get(d);if(y){si(t,e,y);return}var m=o?o(c,d,e+"",t,n,f):i,S=m===i;if(S){var A=U(d),R=!A&&Rn(d),O=!A&&!R&&ne(d);m=d,A||R||O?U(c)?m=c:st(c)?m=xt(c):R?(S=!1,m=xu(d,!0)):O?(S=!1,m=Su(d,!0)):m=[]:Se(d)||Bn(d)?(m=c,Bn(c)?m=yo(c):(!rt(c)||dn(c))&&(m=Mu(d))):S=!1}S&&(f.set(d,m),s(m,d,r,o,f),f.delete(d)),si(t,e,m)}function cu(t,n){var e=t.length;if(e)return n+=n<0?e:0,hn(n,e)?t[n]:i}function lu(t,n,e){n.length?n=et(n,function(o){return U(o)?function(f){return Fn(f,o.length===1?o[0]:o)}:o}):n=[bt];var r=-1;n=et(n,Rt(L()));var s=ou(t,function(o,f,c){var d=et(n,function(y){return y(o)});return{criteria:d,index:++r,value:o}});return Qa(s,function(o,f){return Bc(o,f,e)})}function Pc(t,n){return hu(t,n,function(e,r){return Ki(t,r)})}function hu(t,n,e){for(var r=-1,s=n.length,o={};++r<s;){var f=n[r],c=Fn(t,f);e(c,f)&&we(o,Cn(f,t),c)}return o}function Rc(t){return function(n){return Fn(n,t)}}function pi(t,n,e,r){var s=r?Xa:Hn,o=-1,f=n.length,c=t;for(t===n&&(n=xt(n)),e&&(c=et(t,Rt(e)));++o<f;)for(var d=0,y=n[o],m=e?e(y):y;(d=s(c,m,d,r))>-1;)c!==t&&Ze.call(c,d,1),Ze.call(t,d,1);return t}function du(t,n){for(var e=t?n.length:0,r=e-1;e--;){var s=n[e];if(e==r||s!==o){var o=s;hn(s)?Ze.call(t,s,1):wi(t,s)}}return t}function gi(t,n){return t+Qe(Js()*(n-t+1))}function Ic(t,n,e,r){for(var s=-1,o=ft(Xe((n-t)/(e||1)),0),f=g(o);o--;)f[r?o:++s]=t,t+=e;return f}function _i(t,n){var e="";if(!t||n<1||n>jt)return e;do n%2&&(e+=t),n=Qe(n/2),n&&(t+=t);while(n);return e}function K(t,n){return Wi(ku(t,n,bt),t+"")}function Tc(t){return Xs(ee(t))}function Ec(t,n){var e=ee(t);return pr(e,Dn(n,0,e.length))}function we(t,n,e,r){if(!rt(t))return t;n=Cn(n,t);for(var s=-1,o=n.length,f=o-1,c=t;c!=null&&++s<o;){var d=en(n[s]),y=e;if(d==="__proto__"||d==="constructor"||d==="prototype")return t;if(s!=f){var m=c[d];y=r?r(m,d,c):i,y===i&&(y=rt(m)?m:hn(n[s+1])?[]:{})}pe(c,d,y),c=c[d]}return t}var pu=Ve?function(t,n){return Ve.set(t,n),t}:bt,Lc=Ye?function(t,n){return Ye(t,"toString",{configurable:!0,enumerable:!1,value:ki(n),writable:!0})}:bt;function Oc(t){return pr(ee(t))}function $t(t,n,e){var r=-1,s=t.length;n<0&&(n=-n>s?0:s+n),e=e>s?s:e,e<0&&(e+=s),s=n>e?0:e-n>>>0,n>>>=0;for(var o=g(s);++r<s;)o[r]=t[r+n];return o}function Wc(t,n){var e;return An(t,function(r,s,o){return e=n(r,s,o),!e}),!!e}function sr(t,n,e){var r=0,s=t==null?r:t.length;if(typeof n=="number"&&n===n&&s<=Le){for(;r<s;){var o=r+s>>>1,f=t[o];f!==null&&!Tt(f)&&(e?f<=n:f<n)?r=o+1:s=o}return s}return vi(t,n,bt,e)}function vi(t,n,e,r){var s=0,o=t==null?0:t.length;if(o===0)return 0;n=e(n);for(var f=n!==n,c=n===null,d=Tt(n),y=n===i;s<o;){var m=Qe((s+o)/2),S=e(t[m]),A=S!==i,R=S===null,O=S===S,B=Tt(S);if(f)var W=r||O;else y?W=O&&(r||A):c?W=O&&A&&(r||!R):d?W=O&&A&&!R&&(r||!B):R||B?W=!1:W=r?S<=n:S<n;W?s=m+1:o=m}return _t(o,Pr)}function gu(t,n){for(var e=-1,r=t.length,s=0,o=[];++e<r;){var f=t[e],c=n?n(f):f;if(!e||!Xt(c,d)){var d=c;o[s++]=f===0?0:f}}return o}function _u(t){return typeof t=="number"?t:Tt(t)?Kn:+t}function It(t){if(typeof t=="string")return t;if(U(t))return et(t,It)+"";if(Tt(t))return Zs?Zs.call(t):"";var n=t+"";return n=="0"&&1/t==-sn?"-0":n}function bn(t,n,e){var r=-1,s=Be,o=t.length,f=!0,c=[],d=c;if(e)f=!1,s=Gr;else if(o>=_){var y=n?null:Hc(t);if(y)return Me(y);f=!1,s=ae,d=new Wn}else d=n?[]:c;t:for(;++r<o;){var m=t[r],S=n?n(m):m;if(m=e||m!==0?m:0,f&&S===S){for(var A=d.length;A--;)if(d[A]===S)continue t;n&&d.push(S),c.push(m)}else s(d,S,e)||(d!==c&&d.push(S),c.push(m))}return c}function wi(t,n){return n=Cn(n,t),t=Hu(t,n),t==null||delete t[en(Mt(n))]}function vu(t,n,e,r){return we(t,n,e(Fn(t,n)),r)}function ur(t,n,e,r){for(var s=t.length,o=r?s:-1;(r?o--:++o<s)&&n(t[o],o,t););return e?$t(t,r?0:o,r?o+1:s):$t(t,r?o+1:0,r?s:o)}function wu(t,n){var e=t;return e instanceof G&&(e=e.value()),Jr(n,function(r,s){return s.func.apply(s.thisArg,mn([r],s.args))},e)}function yi(t,n,e){var r=t.length;if(r<2)return r?bn(t[0]):[];for(var s=-1,o=g(r);++s<r;)for(var f=t[s],c=-1;++c<r;)c!=s&&(o[s]=ge(o[s]||f,t[c],n,e));return bn(pt(o,1),n,e)}function yu(t,n,e){for(var r=-1,s=t.length,o=n.length,f={};++r<s;){var c=r<o?n[r]:i;e(f,t[r],c)}return f}function mi(t){return st(t)?t:[]}function xi(t){return typeof t=="function"?t:bt}function Cn(t,n){return U(t)?t:Ei(t,n)?[t]:Zu(Y(t))}var Dc=K;function Pn(t,n,e){var r=t.length;return e=e===i?r:e,!n&&e>=r?t:$t(t,n,e)}var mu=xf||function(t){return dt.clearTimeout(t)};function xu(t,n){if(n)return t.slice();var e=t.length,r=qs?qs(e):new t.constructor(e);return t.copy(r),r}function Si(t){var n=new t.constructor(t.byteLength);return new Ge(n).set(new Ge(t)),n}function Fc(t,n){var e=n?Si(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.byteLength)}function Uc(t){var n=new t.constructor(t.source,is.exec(t));return n.lastIndex=t.lastIndex,n}function Nc(t){return de?Q(de.call(t)):{}}function Su(t,n){var e=n?Si(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.length)}function Au(t,n){if(t!==n){var e=t!==i,r=t===null,s=t===t,o=Tt(t),f=n!==i,c=n===null,d=n===n,y=Tt(n);if(!c&&!y&&!o&&t>n||o&&f&&d&&!c&&!y||r&&f&&d||!e&&d||!s)return 1;if(!r&&!o&&!y&&t<n||y&&e&&s&&!r&&!o||c&&e&&s||!f&&s||!d)return-1}return 0}function Bc(t,n,e){for(var r=-1,s=t.criteria,o=n.criteria,f=s.length,c=e.length;++r<f;){var d=Au(s[r],o[r]);if(d){if(r>=c)return d;var y=e[r];return d*(y=="desc"?-1:1)}}return t.index-n.index}function bu(t,n,e,r){for(var s=-1,o=t.length,f=e.length,c=-1,d=n.length,y=ft(o-f,0),m=g(d+y),S=!r;++c<d;)m[c]=n[c];for(;++s<f;)(S||s<o)&&(m[e[s]]=t[s]);for(;y--;)m[c++]=t[s++];return m}function Cu(t,n,e,r){for(var s=-1,o=t.length,f=-1,c=e.length,d=-1,y=n.length,m=ft(o-c,0),S=g(m+y),A=!r;++s<m;)S[s]=t[s];for(var R=s;++d<y;)S[R+d]=n[d];for(;++f<c;)(A||s<o)&&(S[R+e[f]]=t[s++]);return S}function xt(t,n){var e=-1,r=t.length;for(n||(n=g(r));++e<r;)n[e]=t[e];return n}function nn(t,n,e,r){var s=!e;e||(e={});for(var o=-1,f=n.length;++o<f;){var c=n[o],d=r?r(e[c],t[c],c,e,t):i;d===i&&(d=t[c]),s?fn(e,c,d):pe(e,c,d)}return e}function $c(t,n){return nn(t,Ti(t),n)}function Mc(t,n){return nn(t,Bu(t),n)}function or(t,n){return function(e,r){var s=U(e)?Ha:ac,o=n?n():{};return s(e,t,L(r,2),o)}}function Vn(t){return K(function(n,e){var r=-1,s=e.length,o=s>1?e[s-1]:i,f=s>2?e[2]:i;for(o=t.length>3&&typeof o=="function"?(s--,o):i,f&&yt(e[0],e[1],f)&&(o=s<3?i:o,s=1),n=Q(n);++r<s;){var c=e[r];c&&t(n,c,r,o)}return n})}function Pu(t,n){return function(e,r){if(e==null)return e;if(!St(e))return t(e,r);for(var s=e.length,o=n?s:-1,f=Q(e);(n?o--:++o<s)&&r(f[o],o,f)!==!1;);return e}}function Ru(t){return function(n,e,r){for(var s=-1,o=Q(n),f=r(n),c=f.length;c--;){var d=f[t?c:++s];if(e(o[d],d,o)===!1)break}return n}}function Kc(t,n,e){var r=n&k,s=ye(t);function o(){var f=this&&this!==dt&&this instanceof o?s:t;return f.apply(r?e:this,arguments)}return o}function Iu(t){return function(n){n=Y(n);var e=zn(n)?Zt(n):i,r=e?e[0]:n.charAt(0),s=e?Pn(e,1).join(""):n.slice(1);return r[t]()+s}}function jn(t){return function(n){return Jr(Ro(Po(n).replace(Ea,"")),t,"")}}function ye(t){return function(){var n=arguments;switch(n.length){case 0:return new t;case 1:return new t(n[0]);case 2:return new t(n[0],n[1]);case 3:return new t(n[0],n[1],n[2]);case 4:return new t(n[0],n[1],n[2],n[3]);case 5:return new t(n[0],n[1],n[2],n[3],n[4]);case 6:return new t(n[0],n[1],n[2],n[3],n[4],n[5]);case 7:return new t(n[0],n[1],n[2],n[3],n[4],n[5],n[6])}var e=Qn(t.prototype),r=t.apply(e,n);return rt(r)?r:e}}function qc(t,n,e){var r=ye(t);function s(){for(var o=arguments.length,f=g(o),c=o,d=te(s);c--;)f[c]=arguments[c];var y=o<3&&f[0]!==d&&f[o-1]!==d?[]:xn(f,d);if(o-=y.length,o<e)return Wu(t,n,ar,s.placeholder,i,f,y,i,i,e-o);var m=this&&this!==dt&&this instanceof s?r:t;return Pt(m,this,f)}return s}function Tu(t){return function(n,e,r){var s=Q(n);if(!St(n)){var o=L(e,3);n=lt(n),e=function(c){return o(s[c],c,s)}}var f=t(n,e,r);return f>-1?s[o?n[f]:f]:i}}function Eu(t){return ln(function(n){var e=n.length,r=e,s=Nt.prototype.thru;for(t&&n.reverse();r--;){var o=n[r];if(typeof o!="function")throw new Ut(x);if(s&&!f&&hr(o)=="wrapper")var f=new Nt([],!0)}for(r=f?r:e;++r<e;){o=n[r];var c=hr(o),d=c=="wrapper"?Ri(o):i;d&&Li(d[0])&&d[1]==(Ot|ht|qt|Vt)&&!d[4].length&&d[9]==1?f=f[hr(d[0])].apply(f,d[3]):f=o.length==1&&Li(o)?f[c]():f.thru(o)}return function(){var y=arguments,m=y[0];if(f&&y.length==1&&U(m))return f.plant(m).value();for(var S=0,A=e?n[S].apply(this,y):m;++S<e;)A=n[S].call(this,A);return A}})}function ar(t,n,e,r,s,o,f,c,d,y){var m=n&Ot,S=n&k,A=n&_n,R=n&(ht|gt),O=n&kt,B=A?i:ye(t);function W(){for(var H=arguments.length,J=g(H),Et=H;Et--;)J[Et]=arguments[Et];if(R)var mt=te(W),Lt=ja(J,mt);if(r&&(J=bu(J,r,s,R)),o&&(J=Cu(J,o,f,R)),H-=Lt,R&&H<y){var ut=xn(J,mt);return Wu(t,n,ar,W.placeholder,e,J,ut,c,d,y-H)}var Qt=S?e:this,gn=A?Qt[t]:t;return H=J.length,c?J=al(J,c):O&&H>1&&J.reverse(),m&&d<H&&(J.length=d),this&&this!==dt&&this instanceof W&&(gn=B||ye(gn)),gn.apply(Qt,J)}return W}function Lu(t,n){return function(e,r){return _c(e,t,n(r),{})}}function fr(t,n){return function(e,r){var s;if(e===i&&r===i)return n;if(e!==i&&(s=e),r!==i){if(s===i)return r;typeof e=="string"||typeof r=="string"?(e=It(e),r=It(r)):(e=_u(e),r=_u(r)),s=t(e,r)}return s}}function Ai(t){return ln(function(n){return n=et(n,Rt(L())),K(function(e){var r=this;return t(n,function(s){return Pt(s,r,e)})})})}function cr(t,n){n=n===i?" ":It(n);var e=n.length;if(e<2)return e?_i(n,t):n;var r=_i(n,Xe(t/Gn(n)));return zn(n)?Pn(Zt(r),0,t).join(""):r.slice(0,t)}function kc(t,n,e,r){var s=n&k,o=ye(t);function f(){for(var c=-1,d=arguments.length,y=-1,m=r.length,S=g(m+d),A=this&&this!==dt&&this instanceof f?o:t;++y<m;)S[y]=r[y];for(;d--;)S[y++]=arguments[++c];return Pt(A,s?e:this,S)}return f}function Ou(t){return function(n,e,r){return r&&typeof r!="number"&&yt(n,e,r)&&(e=r=i),n=pn(n),e===i?(e=n,n=0):e=pn(e),r=r===i?n<e?1:-1:pn(r),Ic(n,e,r,t)}}function lr(t){return function(n,e){return typeof n=="string"&&typeof e=="string"||(n=Kt(n),e=Kt(e)),t(n,e)}}function Wu(t,n,e,r,s,o,f,c,d,y){var m=n&ht,S=m?f:i,A=m?i:f,R=m?o:i,O=m?i:o;n|=m?qt:In,n&=~(m?In:qt),n&rn||(n&=-4);var B=[t,n,s,R,S,O,A,c,d,y],W=e.apply(i,B);return Li(t)&&zu(W,B),W.placeholder=r,Gu(W,t,n)}function bi(t){var n=at[t];return function(e,r){if(e=Kt(e),r=r==null?0:_t(N(r),292),r&&Gs(e)){var s=(Y(e)+"e").split("e"),o=n(s[0]+"e"+(+s[1]+r));return s=(Y(o)+"e").split("e"),+(s[0]+"e"+(+s[1]-r))}return n(e)}}var Hc=Yn&&1/Me(new Yn([,-0]))[1]==sn?function(t){return new Yn(t)}:Gi;function Du(t){return function(n){var e=vt(n);return e==Gt?ti(n):e==Jt?of(n):Va(n,t(n))}}function cn(t,n,e,r,s,o,f,c){var d=n&_n;if(!d&&typeof t!="function")throw new Ut(x);var y=r?r.length:0;if(y||(n&=-97,r=s=i),f=f===i?f:ft(N(f),0),c=c===i?c:N(c),y-=s?s.length:0,n&In){var m=r,S=s;r=s=i}var A=d?i:Ri(t),R=[t,n,e,r,s,m,S,o,f,c];if(A&&sl(R,A),t=R[0],n=R[1],e=R[2],r=R[3],s=R[4],c=R[9]=R[9]===i?d?0:t.length:ft(R[9]-y,0),!c&&n&(ht|gt)&&(n&=-25),!n||n==k)var O=Kc(t,n,e);else n==ht||n==gt?O=qc(t,n,c):(n==qt||n==(k|qt))&&!s.length?O=kc(t,n,e,r):O=ar.apply(i,R);var B=A?pu:zu;return Gu(B(O,R),t,n)}function Fu(t,n,e,r){return t===i||Xt(t,Zn[e])&&!X.call(r,e)?n:t}function Uu(t,n,e,r,s,o){return rt(t)&&rt(n)&&(o.set(n,t),ir(t,n,i,Uu,o),o.delete(n)),t}function zc(t){return Se(t)?i:t}function Nu(t,n,e,r,s,o){var f=e&q,c=t.length,d=n.length;if(c!=d&&!(f&&d>c))return!1;var y=o.get(t),m=o.get(n);if(y&&m)return y==n&&m==t;var S=-1,A=!0,R=e&j?new Wn:i;for(o.set(t,n),o.set(n,t);++S<c;){var O=t[S],B=n[S];if(r)var W=f?r(B,O,S,n,t,o):r(O,B,S,t,n,o);if(W!==i){if(W)continue;A=!1;break}if(R){if(!Zr(n,function(H,J){if(!ae(R,J)&&(O===H||s(O,H,e,r,o)))return R.push(J)})){A=!1;break}}else if(!(O===B||s(O,B,e,r,o))){A=!1;break}}return o.delete(t),o.delete(n),A}function Gc(t,n,e,r,s,o,f){switch(e){case qn:if(t.byteLength!=n.byteLength||t.byteOffset!=n.byteOffset)return!1;t=t.buffer,n=n.buffer;case oe:return!(t.byteLength!=n.byteLength||!o(new Ge(t),new Ge(n)));case Ht:case wn:case re:return Xt(+t,+n);case Oe:return t.name==n.name&&t.message==n.message;case ie:case se:return t==n+"";case Gt:var c=ti;case Jt:var d=r&q;if(c||(c=Me),t.size!=n.size&&!d)return!1;var y=f.get(t);if(y)return y==n;r|=j,f.set(t,n);var m=Nu(c(t),c(n),r,s,o,f);return f.delete(t),m;case De:if(de)return de.call(t)==de.call(n)}return!1}function Jc(t,n,e,r,s,o){var f=e&q,c=Ci(t),d=c.length,y=Ci(n),m=y.length;if(d!=m&&!f)return!1;for(var S=d;S--;){var A=c[S];if(!(f?A in n:X.call(n,A)))return!1}var R=o.get(t),O=o.get(n);if(R&&O)return R==n&&O==t;var B=!0;o.set(t,n),o.set(n,t);for(var W=f;++S<d;){A=c[S];var H=t[A],J=n[A];if(r)var Et=f?r(J,H,A,n,t,o):r(H,J,A,t,n,o);if(!(Et===i?H===J||s(H,J,e,r,o):Et)){B=!1;break}W||(W=A=="constructor")}if(B&&!W){var mt=t.constructor,Lt=n.constructor;mt!=Lt&&"constructor"in t&&"constructor"in n&&!(typeof mt=="function"&&mt instanceof mt&&typeof Lt=="function"&&Lt instanceof Lt)&&(B=!1)}return o.delete(t),o.delete(n),B}function ln(t){return Wi(ku(t,i,Vu),t+"")}function Ci(t){return ru(t,lt,Ti)}function Pi(t){return ru(t,At,Bu)}var Ri=Ve?function(t){return Ve.get(t)}:Gi;function hr(t){for(var n=t.name+"",e=Xn[n],r=X.call(Xn,n)?e.length:0;r--;){var s=e[r],o=s.func;if(o==null||o==t)return s.name}return n}function te(t){var n=X.call(u,"placeholder")?u:t;return n.placeholder}function L(){var t=u.iteratee||Hi;return t=t===Hi?uu:t,arguments.length?t(arguments[0],arguments[1]):t}function dr(t,n){var e=t.__data__;return nl(n)?e[typeof n=="string"?"string":"hash"]:e.map}function Ii(t){for(var n=lt(t),e=n.length;e--;){var r=n[e],s=t[r];n[e]=[r,s,Ku(s)]}return n}function Un(t,n){var e=rf(t,n);return su(e)?e:i}function Zc(t){var n=X.call(t,Ln),e=t[Ln];try{t[Ln]=i;var r=!0}catch{}var s=He.call(t);return r&&(n?t[Ln]=e:delete t[Ln]),s}var Ti=ei?function(t){return t==null?[]:(t=Q(t),yn(ei(t),function(n){return Hs.call(t,n)}))}:Ji,Bu=ei?function(t){for(var n=[];t;)mn(n,Ti(t)),t=Je(t);return n}:Ji,vt=wt;(ri&&vt(new ri(new ArrayBuffer(1)))!=qn||ce&&vt(new ce)!=Gt||ii&&vt(ii.resolve())!=ts||Yn&&vt(new Yn)!=Jt||le&&vt(new le)!=ue)&&(vt=function(t){var n=wt(t),e=n==un?t.constructor:i,r=e?Nn(e):"";if(r)switch(r){case Ef:return qn;case Lf:return Gt;case Of:return ts;case Wf:return Jt;case Df:return ue}return n});function Yc(t,n,e){for(var r=-1,s=e.length;++r<s;){var o=e[r],f=o.size;switch(o.type){case"drop":t+=f;break;case"dropRight":n-=f;break;case"take":n=_t(n,t+f);break;case"takeRight":t=ft(t,n-f);break}}return{start:t,end:n}}function Xc(t){var n=t.match(na);return n?n[1].split(ea):[]}function $u(t,n,e){n=Cn(n,t);for(var r=-1,s=n.length,o=!1;++r<s;){var f=en(n[r]);if(!(o=t!=null&&e(t,f)))break;t=t[f]}return o||++r!=s?o:(s=t==null?0:t.length,!!s&&mr(s)&&hn(f,s)&&(U(t)||Bn(t)))}function Qc(t){var n=t.length,e=new t.constructor(n);return n&&typeof t[0]=="string"&&X.call(t,"index")&&(e.index=t.index,e.input=t.input),e}function Mu(t){return typeof t.constructor=="function"&&!me(t)?Qn(Je(t)):{}}function Vc(t,n,e){var r=t.constructor;switch(n){case oe:return Si(t);case Ht:case wn:return new r(+t);case qn:return Fc(t,e);case Ir:case Tr:case Er:case Lr:case Or:case Wr:case Dr:case Fr:case Ur:return Su(t,e);case Gt:return new r;case re:case se:return new r(t);case ie:return Uc(t);case Jt:return new r;case De:return Nc(t)}}function jc(t,n){var e=n.length;if(!e)return t;var r=e-1;return n[r]=(e>1?"& ":"")+n[r],n=n.join(e>2?", ":" "),t.replace(ta,`{
8
+ */Ar.exports;(function(l,a){(function(){var i,p="4.17.21",g=200,v="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",x="Expected a function",T="Invalid `variable` option passed into `_.template`",C="__lodash_hash_undefined__",K=500,Z="__lodash_placeholder__",A=1,D=2,P=4,N=1,j=2,k=1,vn=2,sn=4,ht=8,gt=16,Gt=32,Rn=64,Ut=128,jt=256,Rt=512,Re=30,ie="...",Et=800,Ee=16,En=1,Te=2,ct=3,un=1/0,tn=9007199254740991,Cr=17976931348623157e292,Kn=NaN,Nt=4294967295,Pr=Nt-1,Le=Nt>>>1,Ir=[["ary",Ut],["bind",k],["bindKey",vn],["curry",ht],["curryRight",gt],["flip",Rt],["partial",Gt],["partialRight",Rn],["rearg",jt]],wn="[object Arguments]",$="[object Array]",ot="[object AsyncFunction]",St="[object Boolean]",wt="[object Date]",Oe="[object DOMException]",At="[object Error]",We="[object Function]",ts="[object GeneratorFunction]",Jt="[object Map]",se="[object Number]",$o="[object Null]",on="[object Object]",ns="[object Promise]",Bo="[object Proxy]",ue="[object RegExp]",Zt="[object Set]",oe="[object String]",De="[object Symbol]",Mo="[object Undefined]",ae="[object WeakMap]",Ko="[object WeakSet]",fe="[object ArrayBuffer]",qn="[object DataView]",Rr="[object Float32Array]",Er="[object Float64Array]",Tr="[object Int8Array]",Lr="[object Int16Array]",Or="[object Int32Array]",Wr="[object Uint8Array]",Dr="[object Uint8ClampedArray]",Fr="[object Uint16Array]",Ur="[object Uint32Array]",qo=/\b__p \+= '';/g,ko=/\b(__p \+=) '' \+/g,Ho=/(__e\(.*?\)|\b__t\)) \+\n'';/g,es=/&(?:amp|lt|gt|quot|#39);/g,rs=/[&<>"']/g,zo=RegExp(es.source),Go=RegExp(rs.source),Jo=/<%-([\s\S]+?)%>/g,Zo=/<%([\s\S]+?)%>/g,is=/<%=([\s\S]+?)%>/g,Yo=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Xo=/^\w*$/,Qo=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Nr=/[\\^$.*+?()[\]{}|]/g,Vo=RegExp(Nr.source),$r=/^\s+/,jo=/\s/,ta=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,na=/\{\n\/\* \[wrapped with (.+)\] \*/,ea=/,? & /,ra=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ia=/[()=,{}\[\]\/\s]/,sa=/\\(\\)?/g,ua=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ss=/\w*$/,oa=/^[-+]0x[0-9a-f]+$/i,aa=/^0b[01]+$/i,fa=/^\[object .+?Constructor\]$/,ca=/^0o[0-7]+$/i,la=/^(?:0|[1-9]\d*)$/,ha=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Fe=/($^)/,da=/['\n\r\u2028\u2029\\]/g,Ue="\\ud800-\\udfff",pa="\\u0300-\\u036f",ga="\\ufe20-\\ufe2f",_a="\\u20d0-\\u20ff",us=pa+ga+_a,os="\\u2700-\\u27bf",as="a-z\\xdf-\\xf6\\xf8-\\xff",va="\\xac\\xb1\\xd7\\xf7",wa="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",ya="\\u2000-\\u206f",ma=" \\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",fs="A-Z\\xc0-\\xd6\\xd8-\\xde",cs="\\ufe0e\\ufe0f",ls=va+wa+ya+ma,Br="['’]",xa="["+Ue+"]",hs="["+ls+"]",Ne="["+us+"]",ds="\\d+",Sa="["+os+"]",ps="["+as+"]",gs="[^"+Ue+ls+ds+os+as+fs+"]",Mr="\\ud83c[\\udffb-\\udfff]",Aa="(?:"+Ne+"|"+Mr+")",_s="[^"+Ue+"]",Kr="(?:\\ud83c[\\udde6-\\uddff]){2}",qr="[\\ud800-\\udbff][\\udc00-\\udfff]",kn="["+fs+"]",vs="\\u200d",ws="(?:"+ps+"|"+gs+")",ba="(?:"+kn+"|"+gs+")",ys="(?:"+Br+"(?:d|ll|m|re|s|t|ve))?",ms="(?:"+Br+"(?:D|LL|M|RE|S|T|VE))?",xs=Aa+"?",Ss="["+cs+"]?",Ca="(?:"+vs+"(?:"+[_s,Kr,qr].join("|")+")"+Ss+xs+")*",Pa="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Ia="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",As=Ss+xs+Ca,Ra="(?:"+[Sa,Kr,qr].join("|")+")"+As,Ea="(?:"+[_s+Ne+"?",Ne,Kr,qr,xa].join("|")+")",Ta=RegExp(Br,"g"),La=RegExp(Ne,"g"),kr=RegExp(Mr+"(?="+Mr+")|"+Ea+As,"g"),Oa=RegExp([kn+"?"+ps+"+"+ys+"(?="+[hs,kn,"$"].join("|")+")",ba+"+"+ms+"(?="+[hs,kn+ws,"$"].join("|")+")",kn+"?"+ws+"+"+ys,kn+"+"+ms,Ia,Pa,ds,Ra].join("|"),"g"),Wa=RegExp("["+vs+Ue+us+cs+"]"),Da=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Fa=["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"],Ua=-1,nt={};nt[Rr]=nt[Er]=nt[Tr]=nt[Lr]=nt[Or]=nt[Wr]=nt[Dr]=nt[Fr]=nt[Ur]=!0,nt[wn]=nt[$]=nt[fe]=nt[St]=nt[qn]=nt[wt]=nt[At]=nt[We]=nt[Jt]=nt[se]=nt[on]=nt[ue]=nt[Zt]=nt[oe]=nt[ae]=!1;var tt={};tt[wn]=tt[$]=tt[fe]=tt[qn]=tt[St]=tt[wt]=tt[Rr]=tt[Er]=tt[Tr]=tt[Lr]=tt[Or]=tt[Jt]=tt[se]=tt[on]=tt[ue]=tt[Zt]=tt[oe]=tt[De]=tt[Wr]=tt[Dr]=tt[Fr]=tt[Ur]=!0,tt[At]=tt[We]=tt[ae]=!1;var Na={À:"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"},$a={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Ba={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},Ma={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Ka=parseFloat,qa=parseInt,bs=typeof Pe=="object"&&Pe&&Pe.Object===Object&&Pe,ka=typeof self=="object"&&self&&self.Object===Object&&self,dt=bs||ka||Function("return this")(),Hr=a&&!a.nodeType&&a,Tn=Hr&&!0&&l&&!l.nodeType&&l,Cs=Tn&&Tn.exports===Hr,zr=Cs&&bs.process,$t=function(){try{var h=Tn&&Tn.require&&Tn.require("util").types;return h||zr&&zr.binding&&zr.binding("util")}catch{}}(),Ps=$t&&$t.isArrayBuffer,Is=$t&&$t.isDate,Rs=$t&&$t.isMap,Es=$t&&$t.isRegExp,Ts=$t&&$t.isSet,Ls=$t&&$t.isTypedArray;function Tt(h,w,_){switch(_.length){case 0:return h.call(w);case 1:return h.call(w,_[0]);case 2:return h.call(w,_[0],_[1]);case 3:return h.call(w,_[0],_[1],_[2])}return h.apply(w,_)}function Ha(h,w,_,I){for(var F=-1,J=h==null?0:h.length;++F<J;){var at=h[F];w(I,at,_(at),h)}return I}function Bt(h,w){for(var _=-1,I=h==null?0:h.length;++_<I&&w(h[_],_,h)!==!1;);return h}function za(h,w){for(var _=h==null?0:h.length;_--&&w(h[_],_,h)!==!1;);return h}function Os(h,w){for(var _=-1,I=h==null?0:h.length;++_<I;)if(!w(h[_],_,h))return!1;return!0}function yn(h,w){for(var _=-1,I=h==null?0:h.length,F=0,J=[];++_<I;){var at=h[_];w(at,_,h)&&(J[F++]=at)}return J}function $e(h,w){var _=h==null?0:h.length;return!!_&&Hn(h,w,0)>-1}function Gr(h,w,_){for(var I=-1,F=h==null?0:h.length;++I<F;)if(_(w,h[I]))return!0;return!1}function et(h,w){for(var _=-1,I=h==null?0:h.length,F=Array(I);++_<I;)F[_]=w(h[_],_,h);return F}function mn(h,w){for(var _=-1,I=w.length,F=h.length;++_<I;)h[F+_]=w[_];return h}function Jr(h,w,_,I){var F=-1,J=h==null?0:h.length;for(I&&J&&(_=h[++F]);++F<J;)_=w(_,h[F],F,h);return _}function Ga(h,w,_,I){var F=h==null?0:h.length;for(I&&F&&(_=h[--F]);F--;)_=w(_,h[F],F,h);return _}function Zr(h,w){for(var _=-1,I=h==null?0:h.length;++_<I;)if(w(h[_],_,h))return!0;return!1}var Ja=Yr("length");function Za(h){return h.split("")}function Ya(h){return h.match(ra)||[]}function Ws(h,w,_){var I;return _(h,function(F,J,at){if(w(F,J,at))return I=J,!1}),I}function Be(h,w,_,I){for(var F=h.length,J=_+(I?1:-1);I?J--:++J<F;)if(w(h[J],J,h))return J;return-1}function Hn(h,w,_){return w===w?af(h,w,_):Be(h,Ds,_)}function Xa(h,w,_,I){for(var F=_-1,J=h.length;++F<J;)if(I(h[F],w))return F;return-1}function Ds(h){return h!==h}function Fs(h,w){var _=h==null?0:h.length;return _?Qr(h,w)/_:Kn}function Yr(h){return function(w){return w==null?i:w[h]}}function Xr(h){return function(w){return h==null?i:h[w]}}function Us(h,w,_,I,F){return F(h,function(J,at,V){_=I?(I=!1,J):w(_,J,at,V)}),_}function Qa(h,w){var _=h.length;for(h.sort(w);_--;)h[_]=h[_].value;return h}function Qr(h,w){for(var _,I=-1,F=h.length;++I<F;){var J=w(h[I]);J!==i&&(_=_===i?J:_+J)}return _}function Vr(h,w){for(var _=-1,I=Array(h);++_<h;)I[_]=w(_);return I}function Va(h,w){return et(w,function(_){return[_,h[_]]})}function Ns(h){return h&&h.slice(0,Ks(h)+1).replace($r,"")}function Lt(h){return function(w){return h(w)}}function jr(h,w){return et(w,function(_){return h[_]})}function ce(h,w){return h.has(w)}function $s(h,w){for(var _=-1,I=h.length;++_<I&&Hn(w,h[_],0)>-1;);return _}function Bs(h,w){for(var _=h.length;_--&&Hn(w,h[_],0)>-1;);return _}function ja(h,w){for(var _=h.length,I=0;_--;)h[_]===w&&++I;return I}var tf=Xr(Na),nf=Xr($a);function ef(h){return"\\"+Ma[h]}function rf(h,w){return h==null?i:h[w]}function zn(h){return Wa.test(h)}function sf(h){return Da.test(h)}function uf(h){for(var w,_=[];!(w=h.next()).done;)_.push(w.value);return _}function ti(h){var w=-1,_=Array(h.size);return h.forEach(function(I,F){_[++w]=[F,I]}),_}function Ms(h,w){return function(_){return h(w(_))}}function xn(h,w){for(var _=-1,I=h.length,F=0,J=[];++_<I;){var at=h[_];(at===w||at===Z)&&(h[_]=Z,J[F++]=_)}return J}function Me(h){var w=-1,_=Array(h.size);return h.forEach(function(I){_[++w]=I}),_}function of(h){var w=-1,_=Array(h.size);return h.forEach(function(I){_[++w]=[I,I]}),_}function af(h,w,_){for(var I=_-1,F=h.length;++I<F;)if(h[I]===w)return I;return-1}function ff(h,w,_){for(var I=_+1;I--;)if(h[I]===w)return I;return I}function Gn(h){return zn(h)?lf(h):Ja(h)}function Yt(h){return zn(h)?hf(h):Za(h)}function Ks(h){for(var w=h.length;w--&&jo.test(h.charAt(w)););return w}var cf=Xr(Ba);function lf(h){for(var w=kr.lastIndex=0;kr.test(h);)++w;return w}function hf(h){return h.match(kr)||[]}function df(h){return h.match(Oa)||[]}var pf=function h(w){w=w==null?dt:Jn.defaults(dt.Object(),w,Jn.pick(dt,Fa));var _=w.Array,I=w.Date,F=w.Error,J=w.Function,at=w.Math,V=w.Object,ni=w.RegExp,gf=w.String,Mt=w.TypeError,Ke=_.prototype,_f=J.prototype,Zn=V.prototype,qe=w["__core-js_shared__"],ke=_f.toString,X=Zn.hasOwnProperty,vf=0,qs=function(){var t=/[^.]+$/.exec(qe&&qe.keys&&qe.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),He=Zn.toString,wf=ke.call(V),yf=dt._,mf=ni("^"+ke.call(X).replace(Nr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ze=Cs?w.Buffer:i,Sn=w.Symbol,Ge=w.Uint8Array,ks=ze?ze.allocUnsafe:i,Je=Ms(V.getPrototypeOf,V),Hs=V.create,zs=Zn.propertyIsEnumerable,Ze=Ke.splice,Gs=Sn?Sn.isConcatSpreadable:i,le=Sn?Sn.iterator:i,Ln=Sn?Sn.toStringTag:i,Ye=function(){try{var t=Un(V,"defineProperty");return t({},"",{}),t}catch{}}(),xf=w.clearTimeout!==dt.clearTimeout&&w.clearTimeout,Sf=I&&I.now!==dt.Date.now&&I.now,Af=w.setTimeout!==dt.setTimeout&&w.setTimeout,Xe=at.ceil,Qe=at.floor,ei=V.getOwnPropertySymbols,bf=ze?ze.isBuffer:i,Js=w.isFinite,Cf=Ke.join,Pf=Ms(V.keys,V),ft=at.max,_t=at.min,If=I.now,Rf=w.parseInt,Zs=at.random,Ef=Ke.reverse,ri=Un(w,"DataView"),he=Un(w,"Map"),ii=Un(w,"Promise"),Yn=Un(w,"Set"),de=Un(w,"WeakMap"),pe=Un(V,"create"),Ve=de&&new de,Xn={},Tf=Nn(ri),Lf=Nn(he),Of=Nn(ii),Wf=Nn(Yn),Df=Nn(de),je=Sn?Sn.prototype:i,ge=je?je.valueOf:i,Ys=je?je.toString:i;function u(t){if(it(t)&&!U(t)&&!(t instanceof z)){if(t instanceof Kt)return t;if(X.call(t,"__wrapped__"))return Xu(t)}return new Kt(t)}var Qn=function(){function t(){}return function(n){if(!rt(n))return{};if(Hs)return Hs(n);t.prototype=n;var e=new t;return t.prototype=i,e}}();function tr(){}function Kt(t,n){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!n,this.__index__=0,this.__values__=i}u.templateSettings={escape:Jo,evaluate:Zo,interpolate:is,variable:"",imports:{_:u}},u.prototype=tr.prototype,u.prototype.constructor=u,Kt.prototype=Qn(tr.prototype),Kt.prototype.constructor=Kt;function z(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Nt,this.__views__=[]}function Ff(){var t=new z(this.__wrapped__);return t.__actions__=bt(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=bt(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=bt(this.__views__),t}function Uf(){if(this.__filtered__){var t=new z(this);t.__dir__=-1,t.__filtered__=!0}else t=this.clone(),t.__dir__*=-1;return t}function Nf(){var t=this.__wrapped__.value(),n=this.__dir__,e=U(t),r=n<0,s=e?t.length:0,o=Yc(0,s,this.__views__),f=o.start,c=o.end,d=c-f,y=r?c:f-1,m=this.__iteratees__,S=m.length,b=0,R=_t(d,this.__takeCount__);if(!e||!r&&s==d&&R==d)return yu(t,this.__actions__);var O=[];t:for(;d--&&b<R;){y+=n;for(var M=-1,W=t[y];++M<S;){var H=m[M],G=H.iteratee,Dt=H.type,xt=G(W);if(Dt==Te)W=xt;else if(!xt){if(Dt==En)continue t;break t}}O[b++]=W}return O}z.prototype=Qn(tr.prototype),z.prototype.constructor=z;function On(t){var n=-1,e=t==null?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function $f(){this.__data__=pe?pe(null):{},this.size=0}function Bf(t){var n=this.has(t)&&delete this.__data__[t];return this.size-=n?1:0,n}function Mf(t){var n=this.__data__;if(pe){var e=n[t];return e===C?i:e}return X.call(n,t)?n[t]:i}function Kf(t){var n=this.__data__;return pe?n[t]!==i:X.call(n,t)}function qf(t,n){var e=this.__data__;return this.size+=this.has(t)?0:1,e[t]=pe&&n===i?C:n,this}On.prototype.clear=$f,On.prototype.delete=Bf,On.prototype.get=Mf,On.prototype.has=Kf,On.prototype.set=qf;function an(t){var n=-1,e=t==null?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function kf(){this.__data__=[],this.size=0}function Hf(t){var n=this.__data__,e=nr(n,t);if(e<0)return!1;var r=n.length-1;return e==r?n.pop():Ze.call(n,e,1),--this.size,!0}function zf(t){var n=this.__data__,e=nr(n,t);return e<0?i:n[e][1]}function Gf(t){return nr(this.__data__,t)>-1}function Jf(t,n){var e=this.__data__,r=nr(e,t);return r<0?(++this.size,e.push([t,n])):e[r][1]=n,this}an.prototype.clear=kf,an.prototype.delete=Hf,an.prototype.get=zf,an.prototype.has=Gf,an.prototype.set=Jf;function fn(t){var n=-1,e=t==null?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function Zf(){this.size=0,this.__data__={hash:new On,map:new(he||an),string:new On}}function Yf(t){var n=dr(this,t).delete(t);return this.size-=n?1:0,n}function Xf(t){return dr(this,t).get(t)}function Qf(t){return dr(this,t).has(t)}function Vf(t,n){var e=dr(this,t),r=e.size;return e.set(t,n),this.size+=e.size==r?0:1,this}fn.prototype.clear=Zf,fn.prototype.delete=Yf,fn.prototype.get=Xf,fn.prototype.has=Qf,fn.prototype.set=Vf;function Wn(t){var n=-1,e=t==null?0:t.length;for(this.__data__=new fn;++n<e;)this.add(t[n])}function jf(t){return this.__data__.set(t,C),this}function tc(t){return this.__data__.has(t)}Wn.prototype.add=Wn.prototype.push=jf,Wn.prototype.has=tc;function Xt(t){var n=this.__data__=new an(t);this.size=n.size}function nc(){this.__data__=new an,this.size=0}function ec(t){var n=this.__data__,e=n.delete(t);return this.size=n.size,e}function rc(t){return this.__data__.get(t)}function ic(t){return this.__data__.has(t)}function sc(t,n){var e=this.__data__;if(e instanceof an){var r=e.__data__;if(!he||r.length<g-1)return r.push([t,n]),this.size=++e.size,this;e=this.__data__=new fn(r)}return e.set(t,n),this.size=e.size,this}Xt.prototype.clear=nc,Xt.prototype.delete=ec,Xt.prototype.get=rc,Xt.prototype.has=ic,Xt.prototype.set=sc;function Xs(t,n){var e=U(t),r=!e&&$n(t),s=!e&&!r&&In(t),o=!e&&!r&&!s&&ne(t),f=e||r||s||o,c=f?Vr(t.length,gf):[],d=c.length;for(var y in t)(n||X.call(t,y))&&!(f&&(y=="length"||s&&(y=="offset"||y=="parent")||o&&(y=="buffer"||y=="byteLength"||y=="byteOffset")||dn(y,d)))&&c.push(y);return c}function Qs(t){var n=t.length;return n?t[gi(0,n-1)]:i}function uc(t,n){return pr(bt(t),Dn(n,0,t.length))}function oc(t){return pr(bt(t))}function si(t,n,e){(e!==i&&!Qt(t[n],e)||e===i&&!(n in t))&&cn(t,n,e)}function _e(t,n,e){var r=t[n];(!(X.call(t,n)&&Qt(r,e))||e===i&&!(n in t))&&cn(t,n,e)}function nr(t,n){for(var e=t.length;e--;)if(Qt(t[e][0],n))return e;return-1}function ac(t,n,e,r){return An(t,function(s,o,f){n(r,s,e(s),f)}),r}function Vs(t,n){return t&&en(n,lt(n),t)}function fc(t,n){return t&&en(n,Pt(n),t)}function cn(t,n,e){n=="__proto__"&&Ye?Ye(t,n,{configurable:!0,enumerable:!0,value:e,writable:!0}):t[n]=e}function ui(t,n){for(var e=-1,r=n.length,s=_(r),o=t==null;++e<r;)s[e]=o?i:Mi(t,n[e]);return s}function Dn(t,n,e){return t===t&&(e!==i&&(t=t<=e?t:e),n!==i&&(t=t>=n?t:n)),t}function qt(t,n,e,r,s,o){var f,c=n&A,d=n&D,y=n&P;if(e&&(f=s?e(t,r,s,o):e(t)),f!==i)return f;if(!rt(t))return t;var m=U(t);if(m){if(f=Qc(t),!c)return bt(t,f)}else{var S=vt(t),b=S==We||S==ts;if(In(t))return Su(t,c);if(S==on||S==wn||b&&!s){if(f=d||b?{}:Ku(t),!c)return d?Mc(t,fc(f,t)):Bc(t,Vs(f,t))}else{if(!tt[S])return s?t:{};f=Vc(t,S,c)}}o||(o=new Xt);var R=o.get(t);if(R)return R;o.set(t,f),vo(t)?t.forEach(function(W){f.add(qt(W,n,e,W,t,o))}):go(t)&&t.forEach(function(W,H){f.set(H,qt(W,n,e,H,t,o))});var O=y?d?Pi:Ci:d?Pt:lt,M=m?i:O(t);return Bt(M||t,function(W,H){M&&(H=W,W=t[H]),_e(f,H,qt(W,n,e,H,t,o))}),f}function cc(t){var n=lt(t);return function(e){return js(e,t,n)}}function js(t,n,e){var r=e.length;if(t==null)return!r;for(t=V(t);r--;){var s=e[r],o=n[s],f=t[s];if(f===i&&!(s in t)||!o(f))return!1}return!0}function tu(t,n,e){if(typeof t!="function")throw new Mt(x);return Ae(function(){t.apply(i,e)},n)}function ve(t,n,e,r){var s=-1,o=$e,f=!0,c=t.length,d=[],y=n.length;if(!c)return d;e&&(n=et(n,Lt(e))),r?(o=Gr,f=!1):n.length>=g&&(o=ce,f=!1,n=new Wn(n));t:for(;++s<c;){var m=t[s],S=e==null?m:e(m);if(m=r||m!==0?m:0,f&&S===S){for(var b=y;b--;)if(n[b]===S)continue t;d.push(m)}else o(n,S,r)||d.push(m)}return d}var An=Iu(nn),nu=Iu(ai,!0);function lc(t,n){var e=!0;return An(t,function(r,s,o){return e=!!n(r,s,o),e}),e}function er(t,n,e){for(var r=-1,s=t.length;++r<s;){var o=t[r],f=n(o);if(f!=null&&(c===i?f===f&&!Wt(f):e(f,c)))var c=f,d=o}return d}function hc(t,n,e,r){var s=t.length;for(e=B(e),e<0&&(e=-e>s?0:s+e),r=r===i||r>s?s:B(r),r<0&&(r+=s),r=e>r?0:yo(r);e<r;)t[e++]=n;return t}function eu(t,n){var e=[];return An(t,function(r,s,o){n(r,s,o)&&e.push(r)}),e}function pt(t,n,e,r,s){var o=-1,f=t.length;for(e||(e=tl),s||(s=[]);++o<f;){var c=t[o];n>0&&e(c)?n>1?pt(c,n-1,e,r,s):mn(s,c):r||(s[s.length]=c)}return s}var oi=Ru(),ru=Ru(!0);function nn(t,n){return t&&oi(t,n,lt)}function ai(t,n){return t&&ru(t,n,lt)}function rr(t,n){return yn(n,function(e){return pn(t[e])})}function Fn(t,n){n=Cn(n,t);for(var e=0,r=n.length;t!=null&&e<r;)t=t[rn(n[e++])];return e&&e==r?t:i}function iu(t,n,e){var r=n(t);return U(t)?r:mn(r,e(t))}function yt(t){return t==null?t===i?Mo:$o:Ln&&Ln in V(t)?Zc(t):ol(t)}function fi(t,n){return t>n}function dc(t,n){return t!=null&&X.call(t,n)}function pc(t,n){return t!=null&&n in V(t)}function gc(t,n,e){return t>=_t(n,e)&&t<ft(n,e)}function ci(t,n,e){for(var r=e?Gr:$e,s=t[0].length,o=t.length,f=o,c=_(o),d=1/0,y=[];f--;){var m=t[f];f&&n&&(m=et(m,Lt(n))),d=_t(m.length,d),c[f]=!e&&(n||s>=120&&m.length>=120)?new Wn(f&&m):i}m=t[0];var S=-1,b=c[0];t:for(;++S<s&&y.length<d;){var R=m[S],O=n?n(R):R;if(R=e||R!==0?R:0,!(b?ce(b,O):r(y,O,e))){for(f=o;--f;){var M=c[f];if(!(M?ce(M,O):r(t[f],O,e)))continue t}b&&b.push(O),y.push(R)}}return y}function _c(t,n,e,r){return nn(t,function(s,o,f){n(r,e(s),o,f)}),r}function we(t,n,e){n=Cn(n,t),t=zu(t,n);var r=t==null?t:t[rn(Ht(n))];return r==null?i:Tt(r,t,e)}function su(t){return it(t)&&yt(t)==wn}function vc(t){return it(t)&&yt(t)==fe}function wc(t){return it(t)&&yt(t)==wt}function ye(t,n,e,r,s){return t===n?!0:t==null||n==null||!it(t)&&!it(n)?t!==t&&n!==n:yc(t,n,e,r,ye,s)}function yc(t,n,e,r,s,o){var f=U(t),c=U(n),d=f?$:vt(t),y=c?$:vt(n);d=d==wn?on:d,y=y==wn?on:y;var m=d==on,S=y==on,b=d==y;if(b&&In(t)){if(!In(n))return!1;f=!0,m=!1}if(b&&!m)return o||(o=new Xt),f||ne(t)?$u(t,n,e,r,s,o):Gc(t,n,d,e,r,s,o);if(!(e&N)){var R=m&&X.call(t,"__wrapped__"),O=S&&X.call(n,"__wrapped__");if(R||O){var M=R?t.value():t,W=O?n.value():n;return o||(o=new Xt),s(M,W,e,r,o)}}return b?(o||(o=new Xt),Jc(t,n,e,r,s,o)):!1}function mc(t){return it(t)&&vt(t)==Jt}function li(t,n,e,r){var s=e.length,o=s,f=!r;if(t==null)return!o;for(t=V(t);s--;){var c=e[s];if(f&&c[2]?c[1]!==t[c[0]]:!(c[0]in t))return!1}for(;++s<o;){c=e[s];var d=c[0],y=t[d],m=c[1];if(f&&c[2]){if(y===i&&!(d in t))return!1}else{var S=new Xt;if(r)var b=r(y,m,d,t,n,S);if(!(b===i?ye(m,y,N|j,r,S):b))return!1}}return!0}function uu(t){if(!rt(t)||el(t))return!1;var n=pn(t)?mf:fa;return n.test(Nn(t))}function xc(t){return it(t)&&yt(t)==ue}function Sc(t){return it(t)&&vt(t)==Zt}function Ac(t){return it(t)&&mr(t.length)&&!!nt[yt(t)]}function ou(t){return typeof t=="function"?t:t==null?It:typeof t=="object"?U(t)?cu(t[0],t[1]):fu(t):To(t)}function hi(t){if(!Se(t))return Pf(t);var n=[];for(var e in V(t))X.call(t,e)&&e!="constructor"&&n.push(e);return n}function bc(t){if(!rt(t))return ul(t);var n=Se(t),e=[];for(var r in t)r=="constructor"&&(n||!X.call(t,r))||e.push(r);return e}function di(t,n){return t<n}function au(t,n){var e=-1,r=Ct(t)?_(t.length):[];return An(t,function(s,o,f){r[++e]=n(s,o,f)}),r}function fu(t){var n=Ri(t);return n.length==1&&n[0][2]?ku(n[0][0],n[0][1]):function(e){return e===t||li(e,t,n)}}function cu(t,n){return Ti(t)&&qu(n)?ku(rn(t),n):function(e){var r=Mi(e,t);return r===i&&r===n?Ki(e,t):ye(n,r,N|j)}}function ir(t,n,e,r,s){t!==n&&oi(n,function(o,f){if(s||(s=new Xt),rt(o))Cc(t,n,f,e,ir,r,s);else{var c=r?r(Oi(t,f),o,f+"",t,n,s):i;c===i&&(c=o),si(t,f,c)}},Pt)}function Cc(t,n,e,r,s,o,f){var c=Oi(t,e),d=Oi(n,e),y=f.get(d);if(y){si(t,e,y);return}var m=o?o(c,d,e+"",t,n,f):i,S=m===i;if(S){var b=U(d),R=!b&&In(d),O=!b&&!R&&ne(d);m=d,b||R||O?U(c)?m=c:st(c)?m=bt(c):R?(S=!1,m=Su(d,!0)):O?(S=!1,m=Au(d,!0)):m=[]:be(d)||$n(d)?(m=c,$n(c)?m=mo(c):(!rt(c)||pn(c))&&(m=Ku(d))):S=!1}S&&(f.set(d,m),s(m,d,r,o,f),f.delete(d)),si(t,e,m)}function lu(t,n){var e=t.length;if(e)return n+=n<0?e:0,dn(n,e)?t[n]:i}function hu(t,n,e){n.length?n=et(n,function(o){return U(o)?function(f){return Fn(f,o.length===1?o[0]:o)}:o}):n=[It];var r=-1;n=et(n,Lt(L()));var s=au(t,function(o,f,c){var d=et(n,function(y){return y(o)});return{criteria:d,index:++r,value:o}});return Qa(s,function(o,f){return $c(o,f,e)})}function Pc(t,n){return du(t,n,function(e,r){return Ki(t,r)})}function du(t,n,e){for(var r=-1,s=n.length,o={};++r<s;){var f=n[r],c=Fn(t,f);e(c,f)&&me(o,Cn(f,t),c)}return o}function Ic(t){return function(n){return Fn(n,t)}}function pi(t,n,e,r){var s=r?Xa:Hn,o=-1,f=n.length,c=t;for(t===n&&(n=bt(n)),e&&(c=et(t,Lt(e)));++o<f;)for(var d=0,y=n[o],m=e?e(y):y;(d=s(c,m,d,r))>-1;)c!==t&&Ze.call(c,d,1),Ze.call(t,d,1);return t}function pu(t,n){for(var e=t?n.length:0,r=e-1;e--;){var s=n[e];if(e==r||s!==o){var o=s;dn(s)?Ze.call(t,s,1):wi(t,s)}}return t}function gi(t,n){return t+Qe(Zs()*(n-t+1))}function Rc(t,n,e,r){for(var s=-1,o=ft(Xe((n-t)/(e||1)),0),f=_(o);o--;)f[r?o:++s]=t,t+=e;return f}function _i(t,n){var e="";if(!t||n<1||n>tn)return e;do n%2&&(e+=t),n=Qe(n/2),n&&(t+=t);while(n);return e}function q(t,n){return Wi(Hu(t,n,It),t+"")}function Ec(t){return Qs(ee(t))}function Tc(t,n){var e=ee(t);return pr(e,Dn(n,0,e.length))}function me(t,n,e,r){if(!rt(t))return t;n=Cn(n,t);for(var s=-1,o=n.length,f=o-1,c=t;c!=null&&++s<o;){var d=rn(n[s]),y=e;if(d==="__proto__"||d==="constructor"||d==="prototype")return t;if(s!=f){var m=c[d];y=r?r(m,d,c):i,y===i&&(y=rt(m)?m:dn(n[s+1])?[]:{})}_e(c,d,y),c=c[d]}return t}var gu=Ve?function(t,n){return Ve.set(t,n),t}:It,Lc=Ye?function(t,n){return Ye(t,"toString",{configurable:!0,enumerable:!1,value:ki(n),writable:!0})}:It;function Oc(t){return pr(ee(t))}function kt(t,n,e){var r=-1,s=t.length;n<0&&(n=-n>s?0:s+n),e=e>s?s:e,e<0&&(e+=s),s=n>e?0:e-n>>>0,n>>>=0;for(var o=_(s);++r<s;)o[r]=t[r+n];return o}function Wc(t,n){var e;return An(t,function(r,s,o){return e=n(r,s,o),!e}),!!e}function sr(t,n,e){var r=0,s=t==null?r:t.length;if(typeof n=="number"&&n===n&&s<=Le){for(;r<s;){var o=r+s>>>1,f=t[o];f!==null&&!Wt(f)&&(e?f<=n:f<n)?r=o+1:s=o}return s}return vi(t,n,It,e)}function vi(t,n,e,r){var s=0,o=t==null?0:t.length;if(o===0)return 0;n=e(n);for(var f=n!==n,c=n===null,d=Wt(n),y=n===i;s<o;){var m=Qe((s+o)/2),S=e(t[m]),b=S!==i,R=S===null,O=S===S,M=Wt(S);if(f)var W=r||O;else y?W=O&&(r||b):c?W=O&&b&&(r||!R):d?W=O&&b&&!R&&(r||!M):R||M?W=!1:W=r?S<=n:S<n;W?s=m+1:o=m}return _t(o,Pr)}function _u(t,n){for(var e=-1,r=t.length,s=0,o=[];++e<r;){var f=t[e],c=n?n(f):f;if(!e||!Qt(c,d)){var d=c;o[s++]=f===0?0:f}}return o}function vu(t){return typeof t=="number"?t:Wt(t)?Kn:+t}function Ot(t){if(typeof t=="string")return t;if(U(t))return et(t,Ot)+"";if(Wt(t))return Ys?Ys.call(t):"";var n=t+"";return n=="0"&&1/t==-un?"-0":n}function bn(t,n,e){var r=-1,s=$e,o=t.length,f=!0,c=[],d=c;if(e)f=!1,s=Gr;else if(o>=g){var y=n?null:Hc(t);if(y)return Me(y);f=!1,s=ce,d=new Wn}else d=n?[]:c;t:for(;++r<o;){var m=t[r],S=n?n(m):m;if(m=e||m!==0?m:0,f&&S===S){for(var b=d.length;b--;)if(d[b]===S)continue t;n&&d.push(S),c.push(m)}else s(d,S,e)||(d!==c&&d.push(S),c.push(m))}return c}function wi(t,n){return n=Cn(n,t),t=zu(t,n),t==null||delete t[rn(Ht(n))]}function wu(t,n,e,r){return me(t,n,e(Fn(t,n)),r)}function ur(t,n,e,r){for(var s=t.length,o=r?s:-1;(r?o--:++o<s)&&n(t[o],o,t););return e?kt(t,r?0:o,r?o+1:s):kt(t,r?o+1:0,r?s:o)}function yu(t,n){var e=t;return e instanceof z&&(e=e.value()),Jr(n,function(r,s){return s.func.apply(s.thisArg,mn([r],s.args))},e)}function yi(t,n,e){var r=t.length;if(r<2)return r?bn(t[0]):[];for(var s=-1,o=_(r);++s<r;)for(var f=t[s],c=-1;++c<r;)c!=s&&(o[s]=ve(o[s]||f,t[c],n,e));return bn(pt(o,1),n,e)}function mu(t,n,e){for(var r=-1,s=t.length,o=n.length,f={};++r<s;){var c=r<o?n[r]:i;e(f,t[r],c)}return f}function mi(t){return st(t)?t:[]}function xi(t){return typeof t=="function"?t:It}function Cn(t,n){return U(t)?t:Ti(t,n)?[t]:Yu(Y(t))}var Dc=q;function Pn(t,n,e){var r=t.length;return e=e===i?r:e,!n&&e>=r?t:kt(t,n,e)}var xu=xf||function(t){return dt.clearTimeout(t)};function Su(t,n){if(n)return t.slice();var e=t.length,r=ks?ks(e):new t.constructor(e);return t.copy(r),r}function Si(t){var n=new t.constructor(t.byteLength);return new Ge(n).set(new Ge(t)),n}function Fc(t,n){var e=n?Si(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.byteLength)}function Uc(t){var n=new t.constructor(t.source,ss.exec(t));return n.lastIndex=t.lastIndex,n}function Nc(t){return ge?V(ge.call(t)):{}}function Au(t,n){var e=n?Si(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.length)}function bu(t,n){if(t!==n){var e=t!==i,r=t===null,s=t===t,o=Wt(t),f=n!==i,c=n===null,d=n===n,y=Wt(n);if(!c&&!y&&!o&&t>n||o&&f&&d&&!c&&!y||r&&f&&d||!e&&d||!s)return 1;if(!r&&!o&&!y&&t<n||y&&e&&s&&!r&&!o||c&&e&&s||!f&&s||!d)return-1}return 0}function $c(t,n,e){for(var r=-1,s=t.criteria,o=n.criteria,f=s.length,c=e.length;++r<f;){var d=bu(s[r],o[r]);if(d){if(r>=c)return d;var y=e[r];return d*(y=="desc"?-1:1)}}return t.index-n.index}function Cu(t,n,e,r){for(var s=-1,o=t.length,f=e.length,c=-1,d=n.length,y=ft(o-f,0),m=_(d+y),S=!r;++c<d;)m[c]=n[c];for(;++s<f;)(S||s<o)&&(m[e[s]]=t[s]);for(;y--;)m[c++]=t[s++];return m}function Pu(t,n,e,r){for(var s=-1,o=t.length,f=-1,c=e.length,d=-1,y=n.length,m=ft(o-c,0),S=_(m+y),b=!r;++s<m;)S[s]=t[s];for(var R=s;++d<y;)S[R+d]=n[d];for(;++f<c;)(b||s<o)&&(S[R+e[f]]=t[s++]);return S}function bt(t,n){var e=-1,r=t.length;for(n||(n=_(r));++e<r;)n[e]=t[e];return n}function en(t,n,e,r){var s=!e;e||(e={});for(var o=-1,f=n.length;++o<f;){var c=n[o],d=r?r(e[c],t[c],c,e,t):i;d===i&&(d=t[c]),s?cn(e,c,d):_e(e,c,d)}return e}function Bc(t,n){return en(t,Ei(t),n)}function Mc(t,n){return en(t,Bu(t),n)}function or(t,n){return function(e,r){var s=U(e)?Ha:ac,o=n?n():{};return s(e,t,L(r,2),o)}}function Vn(t){return q(function(n,e){var r=-1,s=e.length,o=s>1?e[s-1]:i,f=s>2?e[2]:i;for(o=t.length>3&&typeof o=="function"?(s--,o):i,f&&mt(e[0],e[1],f)&&(o=s<3?i:o,s=1),n=V(n);++r<s;){var c=e[r];c&&t(n,c,r,o)}return n})}function Iu(t,n){return function(e,r){if(e==null)return e;if(!Ct(e))return t(e,r);for(var s=e.length,o=n?s:-1,f=V(e);(n?o--:++o<s)&&r(f[o],o,f)!==!1;);return e}}function Ru(t){return function(n,e,r){for(var s=-1,o=V(n),f=r(n),c=f.length;c--;){var d=f[t?c:++s];if(e(o[d],d,o)===!1)break}return n}}function Kc(t,n,e){var r=n&k,s=xe(t);function o(){var f=this&&this!==dt&&this instanceof o?s:t;return f.apply(r?e:this,arguments)}return o}function Eu(t){return function(n){n=Y(n);var e=zn(n)?Yt(n):i,r=e?e[0]:n.charAt(0),s=e?Pn(e,1).join(""):n.slice(1);return r[t]()+s}}function jn(t){return function(n){return Jr(Ro(Io(n).replace(Ta,"")),t,"")}}function xe(t){return function(){var n=arguments;switch(n.length){case 0:return new t;case 1:return new t(n[0]);case 2:return new t(n[0],n[1]);case 3:return new t(n[0],n[1],n[2]);case 4:return new t(n[0],n[1],n[2],n[3]);case 5:return new t(n[0],n[1],n[2],n[3],n[4]);case 6:return new t(n[0],n[1],n[2],n[3],n[4],n[5]);case 7:return new t(n[0],n[1],n[2],n[3],n[4],n[5],n[6])}var e=Qn(t.prototype),r=t.apply(e,n);return rt(r)?r:e}}function qc(t,n,e){var r=xe(t);function s(){for(var o=arguments.length,f=_(o),c=o,d=te(s);c--;)f[c]=arguments[c];var y=o<3&&f[0]!==d&&f[o-1]!==d?[]:xn(f,d);if(o-=y.length,o<e)return Du(t,n,ar,s.placeholder,i,f,y,i,i,e-o);var m=this&&this!==dt&&this instanceof s?r:t;return Tt(m,this,f)}return s}function Tu(t){return function(n,e,r){var s=V(n);if(!Ct(n)){var o=L(e,3);n=lt(n),e=function(c){return o(s[c],c,s)}}var f=t(n,e,r);return f>-1?s[o?n[f]:f]:i}}function Lu(t){return hn(function(n){var e=n.length,r=e,s=Kt.prototype.thru;for(t&&n.reverse();r--;){var o=n[r];if(typeof o!="function")throw new Mt(x);if(s&&!f&&hr(o)=="wrapper")var f=new Kt([],!0)}for(r=f?r:e;++r<e;){o=n[r];var c=hr(o),d=c=="wrapper"?Ii(o):i;d&&Li(d[0])&&d[1]==(Ut|ht|Gt|jt)&&!d[4].length&&d[9]==1?f=f[hr(d[0])].apply(f,d[3]):f=o.length==1&&Li(o)?f[c]():f.thru(o)}return function(){var y=arguments,m=y[0];if(f&&y.length==1&&U(m))return f.plant(m).value();for(var S=0,b=e?n[S].apply(this,y):m;++S<e;)b=n[S].call(this,b);return b}})}function ar(t,n,e,r,s,o,f,c,d,y){var m=n&Ut,S=n&k,b=n&vn,R=n&(ht|gt),O=n&Rt,M=b?i:xe(t);function W(){for(var H=arguments.length,G=_(H),Dt=H;Dt--;)G[Dt]=arguments[Dt];if(R)var xt=te(W),Ft=ja(G,xt);if(r&&(G=Cu(G,r,s,R)),o&&(G=Pu(G,o,f,R)),H-=Ft,R&&H<y){var ut=xn(G,xt);return Du(t,n,ar,W.placeholder,e,G,ut,c,d,y-H)}var Vt=S?e:this,_n=b?Vt[t]:t;return H=G.length,c?G=al(G,c):O&&H>1&&G.reverse(),m&&d<H&&(G.length=d),this&&this!==dt&&this instanceof W&&(_n=M||xe(_n)),_n.apply(Vt,G)}return W}function Ou(t,n){return function(e,r){return _c(e,t,n(r),{})}}function fr(t,n){return function(e,r){var s;if(e===i&&r===i)return n;if(e!==i&&(s=e),r!==i){if(s===i)return r;typeof e=="string"||typeof r=="string"?(e=Ot(e),r=Ot(r)):(e=vu(e),r=vu(r)),s=t(e,r)}return s}}function Ai(t){return hn(function(n){return n=et(n,Lt(L())),q(function(e){var r=this;return t(n,function(s){return Tt(s,r,e)})})})}function cr(t,n){n=n===i?" ":Ot(n);var e=n.length;if(e<2)return e?_i(n,t):n;var r=_i(n,Xe(t/Gn(n)));return zn(n)?Pn(Yt(r),0,t).join(""):r.slice(0,t)}function kc(t,n,e,r){var s=n&k,o=xe(t);function f(){for(var c=-1,d=arguments.length,y=-1,m=r.length,S=_(m+d),b=this&&this!==dt&&this instanceof f?o:t;++y<m;)S[y]=r[y];for(;d--;)S[y++]=arguments[++c];return Tt(b,s?e:this,S)}return f}function Wu(t){return function(n,e,r){return r&&typeof r!="number"&&mt(n,e,r)&&(e=r=i),n=gn(n),e===i?(e=n,n=0):e=gn(e),r=r===i?n<e?1:-1:gn(r),Rc(n,e,r,t)}}function lr(t){return function(n,e){return typeof n=="string"&&typeof e=="string"||(n=zt(n),e=zt(e)),t(n,e)}}function Du(t,n,e,r,s,o,f,c,d,y){var m=n&ht,S=m?f:i,b=m?i:f,R=m?o:i,O=m?i:o;n|=m?Gt:Rn,n&=~(m?Rn:Gt),n&sn||(n&=-4);var M=[t,n,s,R,S,O,b,c,d,y],W=e.apply(i,M);return Li(t)&&Gu(W,M),W.placeholder=r,Ju(W,t,n)}function bi(t){var n=at[t];return function(e,r){if(e=zt(e),r=r==null?0:_t(B(r),292),r&&Js(e)){var s=(Y(e)+"e").split("e"),o=n(s[0]+"e"+(+s[1]+r));return s=(Y(o)+"e").split("e"),+(s[0]+"e"+(+s[1]-r))}return n(e)}}var Hc=Yn&&1/Me(new Yn([,-0]))[1]==un?function(t){return new Yn(t)}:Gi;function Fu(t){return function(n){var e=vt(n);return e==Jt?ti(n):e==Zt?of(n):Va(n,t(n))}}function ln(t,n,e,r,s,o,f,c){var d=n&vn;if(!d&&typeof t!="function")throw new Mt(x);var y=r?r.length:0;if(y||(n&=-97,r=s=i),f=f===i?f:ft(B(f),0),c=c===i?c:B(c),y-=s?s.length:0,n&Rn){var m=r,S=s;r=s=i}var b=d?i:Ii(t),R=[t,n,e,r,s,m,S,o,f,c];if(b&&sl(R,b),t=R[0],n=R[1],e=R[2],r=R[3],s=R[4],c=R[9]=R[9]===i?d?0:t.length:ft(R[9]-y,0),!c&&n&(ht|gt)&&(n&=-25),!n||n==k)var O=Kc(t,n,e);else n==ht||n==gt?O=qc(t,n,c):(n==Gt||n==(k|Gt))&&!s.length?O=kc(t,n,e,r):O=ar.apply(i,R);var M=b?gu:Gu;return Ju(M(O,R),t,n)}function Uu(t,n,e,r){return t===i||Qt(t,Zn[e])&&!X.call(r,e)?n:t}function Nu(t,n,e,r,s,o){return rt(t)&&rt(n)&&(o.set(n,t),ir(t,n,i,Nu,o),o.delete(n)),t}function zc(t){return be(t)?i:t}function $u(t,n,e,r,s,o){var f=e&N,c=t.length,d=n.length;if(c!=d&&!(f&&d>c))return!1;var y=o.get(t),m=o.get(n);if(y&&m)return y==n&&m==t;var S=-1,b=!0,R=e&j?new Wn:i;for(o.set(t,n),o.set(n,t);++S<c;){var O=t[S],M=n[S];if(r)var W=f?r(M,O,S,n,t,o):r(O,M,S,t,n,o);if(W!==i){if(W)continue;b=!1;break}if(R){if(!Zr(n,function(H,G){if(!ce(R,G)&&(O===H||s(O,H,e,r,o)))return R.push(G)})){b=!1;break}}else if(!(O===M||s(O,M,e,r,o))){b=!1;break}}return o.delete(t),o.delete(n),b}function Gc(t,n,e,r,s,o,f){switch(e){case qn:if(t.byteLength!=n.byteLength||t.byteOffset!=n.byteOffset)return!1;t=t.buffer,n=n.buffer;case fe:return!(t.byteLength!=n.byteLength||!o(new Ge(t),new Ge(n)));case St:case wt:case se:return Qt(+t,+n);case At:return t.name==n.name&&t.message==n.message;case ue:case oe:return t==n+"";case Jt:var c=ti;case Zt:var d=r&N;if(c||(c=Me),t.size!=n.size&&!d)return!1;var y=f.get(t);if(y)return y==n;r|=j,f.set(t,n);var m=$u(c(t),c(n),r,s,o,f);return f.delete(t),m;case De:if(ge)return ge.call(t)==ge.call(n)}return!1}function Jc(t,n,e,r,s,o){var f=e&N,c=Ci(t),d=c.length,y=Ci(n),m=y.length;if(d!=m&&!f)return!1;for(var S=d;S--;){var b=c[S];if(!(f?b in n:X.call(n,b)))return!1}var R=o.get(t),O=o.get(n);if(R&&O)return R==n&&O==t;var M=!0;o.set(t,n),o.set(n,t);for(var W=f;++S<d;){b=c[S];var H=t[b],G=n[b];if(r)var Dt=f?r(G,H,b,n,t,o):r(H,G,b,t,n,o);if(!(Dt===i?H===G||s(H,G,e,r,o):Dt)){M=!1;break}W||(W=b=="constructor")}if(M&&!W){var xt=t.constructor,Ft=n.constructor;xt!=Ft&&"constructor"in t&&"constructor"in n&&!(typeof xt=="function"&&xt instanceof xt&&typeof Ft=="function"&&Ft instanceof Ft)&&(M=!1)}return o.delete(t),o.delete(n),M}function hn(t){return Wi(Hu(t,i,ju),t+"")}function Ci(t){return iu(t,lt,Ei)}function Pi(t){return iu(t,Pt,Bu)}var Ii=Ve?function(t){return Ve.get(t)}:Gi;function hr(t){for(var n=t.name+"",e=Xn[n],r=X.call(Xn,n)?e.length:0;r--;){var s=e[r],o=s.func;if(o==null||o==t)return s.name}return n}function te(t){var n=X.call(u,"placeholder")?u:t;return n.placeholder}function L(){var t=u.iteratee||Hi;return t=t===Hi?ou:t,arguments.length?t(arguments[0],arguments[1]):t}function dr(t,n){var e=t.__data__;return nl(n)?e[typeof n=="string"?"string":"hash"]:e.map}function Ri(t){for(var n=lt(t),e=n.length;e--;){var r=n[e],s=t[r];n[e]=[r,s,qu(s)]}return n}function Un(t,n){var e=rf(t,n);return uu(e)?e:i}function Zc(t){var n=X.call(t,Ln),e=t[Ln];try{t[Ln]=i;var r=!0}catch{}var s=He.call(t);return r&&(n?t[Ln]=e:delete t[Ln]),s}var Ei=ei?function(t){return t==null?[]:(t=V(t),yn(ei(t),function(n){return zs.call(t,n)}))}:Ji,Bu=ei?function(t){for(var n=[];t;)mn(n,Ei(t)),t=Je(t);return n}:Ji,vt=yt;(ri&&vt(new ri(new ArrayBuffer(1)))!=qn||he&&vt(new he)!=Jt||ii&&vt(ii.resolve())!=ns||Yn&&vt(new Yn)!=Zt||de&&vt(new de)!=ae)&&(vt=function(t){var n=yt(t),e=n==on?t.constructor:i,r=e?Nn(e):"";if(r)switch(r){case Tf:return qn;case Lf:return Jt;case Of:return ns;case Wf:return Zt;case Df:return ae}return n});function Yc(t,n,e){for(var r=-1,s=e.length;++r<s;){var o=e[r],f=o.size;switch(o.type){case"drop":t+=f;break;case"dropRight":n-=f;break;case"take":n=_t(n,t+f);break;case"takeRight":t=ft(t,n-f);break}}return{start:t,end:n}}function Xc(t){var n=t.match(na);return n?n[1].split(ea):[]}function Mu(t,n,e){n=Cn(n,t);for(var r=-1,s=n.length,o=!1;++r<s;){var f=rn(n[r]);if(!(o=t!=null&&e(t,f)))break;t=t[f]}return o||++r!=s?o:(s=t==null?0:t.length,!!s&&mr(s)&&dn(f,s)&&(U(t)||$n(t)))}function Qc(t){var n=t.length,e=new t.constructor(n);return n&&typeof t[0]=="string"&&X.call(t,"index")&&(e.index=t.index,e.input=t.input),e}function Ku(t){return typeof t.constructor=="function"&&!Se(t)?Qn(Je(t)):{}}function Vc(t,n,e){var r=t.constructor;switch(n){case fe:return Si(t);case St:case wt:return new r(+t);case qn:return Fc(t,e);case Rr:case Er:case Tr:case Lr:case Or:case Wr:case Dr:case Fr:case Ur:return Au(t,e);case Jt:return new r;case se:case oe:return new r(t);case ue:return Uc(t);case Zt:return new r;case De:return Nc(t)}}function jc(t,n){var e=n.length;if(!e)return t;var r=e-1;return n[r]=(e>1?"& ":"")+n[r],n=n.join(e>2?", ":" "),t.replace(ta,`{
9
9
  /* [wrapped with `+n+`] */
10
- `)}function tl(t){return U(t)||Bn(t)||!!(zs&&t&&t[zs])}function hn(t,n){var e=typeof t;return n=n??jt,!!n&&(e=="number"||e!="symbol"&&la.test(t))&&t>-1&&t%1==0&&t<n}function yt(t,n,e){if(!rt(e))return!1;var r=typeof n;return(r=="number"?St(e)&&hn(n,e.length):r=="string"&&n in e)?Xt(e[n],t):!1}function Ei(t,n){if(U(t))return!1;var e=typeof t;return e=="number"||e=="symbol"||e=="boolean"||t==null||Tt(t)?!0:Xo.test(t)||!Yo.test(t)||n!=null&&t in Q(n)}function nl(t){var n=typeof t;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?t!=="__proto__":t===null}function Li(t){var n=hr(t),e=u[n];if(typeof e!="function"||!(n in G.prototype))return!1;if(t===e)return!0;var r=Ri(e);return!!r&&t===r[0]}function el(t){return!!Ks&&Ks in t}var rl=qe?dn:Zi;function me(t){var n=t&&t.constructor,e=typeof n=="function"&&n.prototype||Zn;return t===e}function Ku(t){return t===t&&!rt(t)}function qu(t,n){return function(e){return e==null?!1:e[t]===n&&(n!==i||t in Q(e))}}function il(t){var n=wr(t,function(r){return e.size===$&&e.clear(),r}),e=n.cache;return n}function sl(t,n){var e=t[1],r=n[1],s=e|r,o=s<(k|_n|Ot),f=r==Ot&&e==ht||r==Ot&&e==Vt&&t[7].length<=n[8]||r==(Ot|Vt)&&n[7].length<=n[8]&&e==ht;if(!(o||f))return t;r&k&&(t[2]=n[2],s|=e&k?0:rn);var c=n[3];if(c){var d=t[3];t[3]=d?bu(d,c,n[4]):c,t[4]=d?xn(t[3],P):n[4]}return c=n[5],c&&(d=t[5],t[5]=d?Cu(d,c,n[6]):c,t[6]=d?xn(t[5],P):n[6]),c=n[7],c&&(t[7]=c),r&Ot&&(t[8]=t[8]==null?n[8]:_t(t[8],n[8])),t[9]==null&&(t[9]=n[9]),t[0]=n[0],t[1]=s,t}function ul(t){var n=[];if(t!=null)for(var e in Q(t))n.push(e);return n}function ol(t){return He.call(t)}function ku(t,n,e){return n=ft(n===i?t.length-1:n,0),function(){for(var r=arguments,s=-1,o=ft(r.length-n,0),f=g(o);++s<o;)f[s]=r[n+s];s=-1;for(var c=g(n+1);++s<n;)c[s]=r[s];return c[n]=e(f),Pt(t,this,c)}}function Hu(t,n){return n.length<2?t:Fn(t,$t(n,0,-1))}function al(t,n){for(var e=t.length,r=_t(n.length,e),s=xt(t);r--;){var o=n[r];t[r]=hn(o,e)?s[o]:i}return t}function Oi(t,n){if(!(n==="constructor"&&typeof t[n]=="function")&&n!="__proto__")return t[n]}var zu=Ju(pu),xe=Af||function(t,n){return dt.setTimeout(t,n)},Wi=Ju(Lc);function Gu(t,n,e){var r=n+"";return Wi(t,jc(r,fl(Xc(r),e)))}function Ju(t){var n=0,e=0;return function(){var r=Rf(),s=Te-(r-e);if(e=r,s>0){if(++n>=Ct)return arguments[0]}else n=0;return t.apply(i,arguments)}}function pr(t,n){var e=-1,r=t.length,s=r-1;for(n=n===i?r:n;++e<n;){var o=gi(e,s),f=t[o];t[o]=t[e],t[e]=f}return t.length=n,t}var Zu=il(function(t){var n=[];return t.charCodeAt(0)===46&&n.push(""),t.replace(Qo,function(e,r,s,o){n.push(s?o.replace(sa,"$1"):r||e)}),n});function en(t){if(typeof t=="string"||Tt(t))return t;var n=t+"";return n=="0"&&1/t==-sn?"-0":n}function Nn(t){if(t!=null){try{return ke.call(t)}catch{}try{return t+""}catch{}}return""}function fl(t,n){return Ft(Rr,function(e){var r="_."+e[0];n&e[1]&&!Be(t,r)&&t.push(r)}),t.sort()}function Yu(t){if(t instanceof G)return t.clone();var n=new Nt(t.__wrapped__,t.__chain__);return n.__actions__=xt(t.__actions__),n.__index__=t.__index__,n.__values__=t.__values__,n}function cl(t,n,e){(e?yt(t,n,e):n===i)?n=1:n=ft(N(n),0);var r=t==null?0:t.length;if(!r||n<1)return[];for(var s=0,o=0,f=g(Xe(r/n));s<r;)f[o++]=$t(t,s,s+=n);return f}function ll(t){for(var n=-1,e=t==null?0:t.length,r=0,s=[];++n<e;){var o=t[n];o&&(s[r++]=o)}return s}function hl(){var t=arguments.length;if(!t)return[];for(var n=g(t-1),e=arguments[0],r=t;r--;)n[r-1]=arguments[r];return mn(U(e)?xt(e):[e],pt(n,1))}var dl=K(function(t,n){return st(t)?ge(t,pt(n,1,st,!0)):[]}),pl=K(function(t,n){var e=Mt(n);return st(e)&&(e=i),st(t)?ge(t,pt(n,1,st,!0),L(e,2)):[]}),gl=K(function(t,n){var e=Mt(n);return st(e)&&(e=i),st(t)?ge(t,pt(n,1,st,!0),i,e):[]});function _l(t,n,e){var r=t==null?0:t.length;return r?(n=e||n===i?1:N(n),$t(t,n<0?0:n,r)):[]}function vl(t,n,e){var r=t==null?0:t.length;return r?(n=e||n===i?1:N(n),n=r-n,$t(t,0,n<0?0:n)):[]}function wl(t,n){return t&&t.length?ur(t,L(n,3),!0,!0):[]}function yl(t,n){return t&&t.length?ur(t,L(n,3),!0):[]}function ml(t,n,e,r){var s=t==null?0:t.length;return s?(e&&typeof e!="number"&&yt(t,n,e)&&(e=0,r=s),hc(t,n,e,r)):[]}function Xu(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var s=e==null?0:N(e);return s<0&&(s=ft(r+s,0)),$e(t,L(n,3),s)}function Qu(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var s=r-1;return e!==i&&(s=N(e),s=e<0?ft(r+s,0):_t(s,r-1)),$e(t,L(n,3),s,!0)}function Vu(t){var n=t==null?0:t.length;return n?pt(t,1):[]}function xl(t){var n=t==null?0:t.length;return n?pt(t,sn):[]}function Sl(t,n){var e=t==null?0:t.length;return e?(n=n===i?1:N(n),pt(t,n)):[]}function Al(t){for(var n=-1,e=t==null?0:t.length,r={};++n<e;){var s=t[n];r[s[0]]=s[1]}return r}function ju(t){return t&&t.length?t[0]:i}function bl(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var s=e==null?0:N(e);return s<0&&(s=ft(r+s,0)),Hn(t,n,s)}function Cl(t){var n=t==null?0:t.length;return n?$t(t,0,-1):[]}var Pl=K(function(t){var n=et(t,mi);return n.length&&n[0]===t[0]?ci(n):[]}),Rl=K(function(t){var n=Mt(t),e=et(t,mi);return n===Mt(e)?n=i:e.pop(),e.length&&e[0]===t[0]?ci(e,L(n,2)):[]}),Il=K(function(t){var n=Mt(t),e=et(t,mi);return n=typeof n=="function"?n:i,n&&e.pop(),e.length&&e[0]===t[0]?ci(e,i,n):[]});function Tl(t,n){return t==null?"":Cf.call(t,n)}function Mt(t){var n=t==null?0:t.length;return n?t[n-1]:i}function El(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var s=r;return e!==i&&(s=N(e),s=s<0?ft(r+s,0):_t(s,r-1)),n===n?ff(t,n,s):$e(t,Ws,s,!0)}function Ll(t,n){return t&&t.length?cu(t,N(n)):i}var Ol=K(to);function to(t,n){return t&&t.length&&n&&n.length?pi(t,n):t}function Wl(t,n,e){return t&&t.length&&n&&n.length?pi(t,n,L(e,2)):t}function Dl(t,n,e){return t&&t.length&&n&&n.length?pi(t,n,i,e):t}var Fl=ln(function(t,n){var e=t==null?0:t.length,r=ui(t,n);return du(t,et(n,function(s){return hn(s,e)?+s:s}).sort(Au)),r});function Ul(t,n){var e=[];if(!(t&&t.length))return e;var r=-1,s=[],o=t.length;for(n=L(n,3);++r<o;){var f=t[r];n(f,r,t)&&(e.push(f),s.push(r))}return du(t,s),e}function Di(t){return t==null?t:Tf.call(t)}function Nl(t,n,e){var r=t==null?0:t.length;return r?(e&&typeof e!="number"&&yt(t,n,e)?(n=0,e=r):(n=n==null?0:N(n),e=e===i?r:N(e)),$t(t,n,e)):[]}function Bl(t,n){return sr(t,n)}function $l(t,n,e){return vi(t,n,L(e,2))}function Ml(t,n){var e=t==null?0:t.length;if(e){var r=sr(t,n);if(r<e&&Xt(t[r],n))return r}return-1}function Kl(t,n){return sr(t,n,!0)}function ql(t,n,e){return vi(t,n,L(e,2),!0)}function kl(t,n){var e=t==null?0:t.length;if(e){var r=sr(t,n,!0)-1;if(Xt(t[r],n))return r}return-1}function Hl(t){return t&&t.length?gu(t):[]}function zl(t,n){return t&&t.length?gu(t,L(n,2)):[]}function Gl(t){var n=t==null?0:t.length;return n?$t(t,1,n):[]}function Jl(t,n,e){return t&&t.length?(n=e||n===i?1:N(n),$t(t,0,n<0?0:n)):[]}function Zl(t,n,e){var r=t==null?0:t.length;return r?(n=e||n===i?1:N(n),n=r-n,$t(t,n<0?0:n,r)):[]}function Yl(t,n){return t&&t.length?ur(t,L(n,3),!1,!0):[]}function Xl(t,n){return t&&t.length?ur(t,L(n,3)):[]}var Ql=K(function(t){return bn(pt(t,1,st,!0))}),Vl=K(function(t){var n=Mt(t);return st(n)&&(n=i),bn(pt(t,1,st,!0),L(n,2))}),jl=K(function(t){var n=Mt(t);return n=typeof n=="function"?n:i,bn(pt(t,1,st,!0),i,n)});function th(t){return t&&t.length?bn(t):[]}function nh(t,n){return t&&t.length?bn(t,L(n,2)):[]}function eh(t,n){return n=typeof n=="function"?n:i,t&&t.length?bn(t,i,n):[]}function Fi(t){if(!(t&&t.length))return[];var n=0;return t=yn(t,function(e){if(st(e))return n=ft(e.length,n),!0}),Vr(n,function(e){return et(t,Yr(e))})}function no(t,n){if(!(t&&t.length))return[];var e=Fi(t);return n==null?e:et(e,function(r){return Pt(n,i,r)})}var rh=K(function(t,n){return st(t)?ge(t,n):[]}),ih=K(function(t){return yi(yn(t,st))}),sh=K(function(t){var n=Mt(t);return st(n)&&(n=i),yi(yn(t,st),L(n,2))}),uh=K(function(t){var n=Mt(t);return n=typeof n=="function"?n:i,yi(yn(t,st),i,n)}),oh=K(Fi);function ah(t,n){return yu(t||[],n||[],pe)}function fh(t,n){return yu(t||[],n||[],we)}var ch=K(function(t){var n=t.length,e=n>1?t[n-1]:i;return e=typeof e=="function"?(t.pop(),e):i,no(t,e)});function eo(t){var n=u(t);return n.__chain__=!0,n}function lh(t,n){return n(t),t}function gr(t,n){return n(t)}var hh=ln(function(t){var n=t.length,e=n?t[0]:0,r=this.__wrapped__,s=function(o){return ui(o,t)};return n>1||this.__actions__.length||!(r instanceof G)||!hn(e)?this.thru(s):(r=r.slice(e,+e+(n?1:0)),r.__actions__.push({func:gr,args:[s],thisArg:i}),new Nt(r,this.__chain__).thru(function(o){return n&&!o.length&&o.push(i),o}))});function dh(){return eo(this)}function ph(){return new Nt(this.value(),this.__chain__)}function gh(){this.__values__===i&&(this.__values__=vo(this.value()));var t=this.__index__>=this.__values__.length,n=t?i:this.__values__[this.__index__++];return{done:t,value:n}}function _h(){return this}function vh(t){for(var n,e=this;e instanceof tr;){var r=Yu(e);r.__index__=0,r.__values__=i,n?s.__wrapped__=r:n=r;var s=r;e=e.__wrapped__}return s.__wrapped__=t,n}function wh(){var t=this.__wrapped__;if(t instanceof G){var n=t;return this.__actions__.length&&(n=new G(this)),n=n.reverse(),n.__actions__.push({func:gr,args:[Di],thisArg:i}),new Nt(n,this.__chain__)}return this.thru(Di)}function yh(){return wu(this.__wrapped__,this.__actions__)}var mh=or(function(t,n,e){X.call(t,e)?++t[e]:fn(t,e,1)});function xh(t,n,e){var r=U(t)?Ls:lc;return e&&yt(t,n,e)&&(n=i),r(t,L(n,3))}function Sh(t,n){var e=U(t)?yn:nu;return e(t,L(n,3))}var Ah=Tu(Xu),bh=Tu(Qu);function Ch(t,n){return pt(_r(t,n),1)}function Ph(t,n){return pt(_r(t,n),sn)}function Rh(t,n,e){return e=e===i?1:N(e),pt(_r(t,n),e)}function ro(t,n){var e=U(t)?Ft:An;return e(t,L(n,3))}function io(t,n){var e=U(t)?za:tu;return e(t,L(n,3))}var Ih=or(function(t,n,e){X.call(t,e)?t[e].push(n):fn(t,e,[n])});function Th(t,n,e,r){t=St(t)?t:ee(t),e=e&&!r?N(e):0;var s=t.length;return e<0&&(e=ft(s+e,0)),xr(t)?e<=s&&t.indexOf(n,e)>-1:!!s&&Hn(t,n,e)>-1}var Eh=K(function(t,n,e){var r=-1,s=typeof n=="function",o=St(t)?g(t.length):[];return An(t,function(f){o[++r]=s?Pt(n,f,e):_e(f,n,e)}),o}),Lh=or(function(t,n,e){fn(t,e,n)});function _r(t,n){var e=U(t)?et:ou;return e(t,L(n,3))}function Oh(t,n,e,r){return t==null?[]:(U(n)||(n=n==null?[]:[n]),e=r?i:e,U(e)||(e=e==null?[]:[e]),lu(t,n,e))}var Wh=or(function(t,n,e){t[e?0:1].push(n)},function(){return[[],[]]});function Dh(t,n,e){var r=U(t)?Jr:Fs,s=arguments.length<3;return r(t,L(n,4),e,s,An)}function Fh(t,n,e){var r=U(t)?Ga:Fs,s=arguments.length<3;return r(t,L(n,4),e,s,tu)}function Uh(t,n){var e=U(t)?yn:nu;return e(t,yr(L(n,3)))}function Nh(t){var n=U(t)?Xs:Tc;return n(t)}function Bh(t,n,e){(e?yt(t,n,e):n===i)?n=1:n=N(n);var r=U(t)?uc:Ec;return r(t,n)}function $h(t){var n=U(t)?oc:Oc;return n(t)}function Mh(t){if(t==null)return 0;if(St(t))return xr(t)?Gn(t):t.length;var n=vt(t);return n==Gt||n==Jt?t.size:hi(t).length}function Kh(t,n,e){var r=U(t)?Zr:Wc;return e&&yt(t,n,e)&&(n=i),r(t,L(n,3))}var qh=K(function(t,n){if(t==null)return[];var e=n.length;return e>1&&yt(t,n[0],n[1])?n=[]:e>2&&yt(n[0],n[1],n[2])&&(n=[n[0]]),lu(t,pt(n,1),[])}),vr=Sf||function(){return dt.Date.now()};function kh(t,n){if(typeof n!="function")throw new Ut(x);return t=N(t),function(){if(--t<1)return n.apply(this,arguments)}}function so(t,n,e){return n=e?i:n,n=t&&n==null?t.length:n,cn(t,Ot,i,i,i,i,n)}function uo(t,n){var e;if(typeof n!="function")throw new Ut(x);return t=N(t),function(){return--t>0&&(e=n.apply(this,arguments)),t<=1&&(n=i),e}}var Ui=K(function(t,n,e){var r=k;if(e.length){var s=xn(e,te(Ui));r|=qt}return cn(t,r,n,e,s)}),oo=K(function(t,n,e){var r=k|_n;if(e.length){var s=xn(e,te(oo));r|=qt}return cn(n,r,t,e,s)});function ao(t,n,e){n=e?i:n;var r=cn(t,ht,i,i,i,i,i,n);return r.placeholder=ao.placeholder,r}function fo(t,n,e){n=e?i:n;var r=cn(t,gt,i,i,i,i,i,n);return r.placeholder=fo.placeholder,r}function co(t,n,e){var r,s,o,f,c,d,y=0,m=!1,S=!1,A=!0;if(typeof t!="function")throw new Ut(x);n=Kt(n)||0,rt(e)&&(m=!!e.leading,S="maxWait"in e,o=S?ft(Kt(e.maxWait)||0,n):o,A="trailing"in e?!!e.trailing:A);function R(ut){var Qt=r,gn=s;return r=s=i,y=ut,f=t.apply(gn,Qt),f}function O(ut){return y=ut,c=xe(H,n),m?R(ut):f}function B(ut){var Qt=ut-d,gn=ut-y,Eo=n-Qt;return S?_t(Eo,o-gn):Eo}function W(ut){var Qt=ut-d,gn=ut-y;return d===i||Qt>=n||Qt<0||S&&gn>=o}function H(){var ut=vr();if(W(ut))return J(ut);c=xe(H,B(ut))}function J(ut){return c=i,A&&r?R(ut):(r=s=i,f)}function Et(){c!==i&&mu(c),y=0,r=d=s=c=i}function mt(){return c===i?f:J(vr())}function Lt(){var ut=vr(),Qt=W(ut);if(r=arguments,s=this,d=ut,Qt){if(c===i)return O(d);if(S)return mu(c),c=xe(H,n),R(d)}return c===i&&(c=xe(H,n)),f}return Lt.cancel=Et,Lt.flush=mt,Lt}var Hh=K(function(t,n){return js(t,1,n)}),zh=K(function(t,n,e){return js(t,Kt(n)||0,e)});function Gh(t){return cn(t,kt)}function wr(t,n){if(typeof t!="function"||n!=null&&typeof n!="function")throw new Ut(x);var e=function(){var r=arguments,s=n?n.apply(this,r):r[0],o=e.cache;if(o.has(s))return o.get(s);var f=t.apply(this,r);return e.cache=o.set(s,f)||o,f};return e.cache=new(wr.Cache||an),e}wr.Cache=an;function yr(t){if(typeof t!="function")throw new Ut(x);return function(){var n=arguments;switch(n.length){case 0:return!t.call(this);case 1:return!t.call(this,n[0]);case 2:return!t.call(this,n[0],n[1]);case 3:return!t.call(this,n[0],n[1],n[2])}return!t.apply(this,n)}}function Jh(t){return uo(2,t)}var Zh=Dc(function(t,n){n=n.length==1&&U(n[0])?et(n[0],Rt(L())):et(pt(n,1),Rt(L()));var e=n.length;return K(function(r){for(var s=-1,o=_t(r.length,e);++s<o;)r[s]=n[s].call(this,r[s]);return Pt(t,this,r)})}),Ni=K(function(t,n){var e=xn(n,te(Ni));return cn(t,qt,i,n,e)}),lo=K(function(t,n){var e=xn(n,te(lo));return cn(t,In,i,n,e)}),Yh=ln(function(t,n){return cn(t,Vt,i,i,i,n)});function Xh(t,n){if(typeof t!="function")throw new Ut(x);return n=n===i?n:N(n),K(t,n)}function Qh(t,n){if(typeof t!="function")throw new Ut(x);return n=n==null?0:ft(N(n),0),K(function(e){var r=e[n],s=Pn(e,0,n);return r&&mn(s,r),Pt(t,this,s)})}function Vh(t,n,e){var r=!0,s=!0;if(typeof t!="function")throw new Ut(x);return rt(e)&&(r="leading"in e?!!e.leading:r,s="trailing"in e?!!e.trailing:s),co(t,n,{leading:r,maxWait:n,trailing:s})}function jh(t){return so(t,1)}function td(t,n){return Ni(xi(n),t)}function nd(){if(!arguments.length)return[];var t=arguments[0];return U(t)?t:[t]}function ed(t){return Bt(t,E)}function rd(t,n){return n=typeof n=="function"?n:i,Bt(t,E,n)}function id(t){return Bt(t,z|E)}function sd(t,n){return n=typeof n=="function"?n:i,Bt(t,z|E,n)}function ud(t,n){return n==null||Vs(t,n,lt(n))}function Xt(t,n){return t===n||t!==t&&n!==n}var od=lr(fi),ad=lr(function(t,n){return t>=n}),Bn=iu(function(){return arguments}())?iu:function(t){return it(t)&&X.call(t,"callee")&&!Hs.call(t,"callee")},U=g.isArray,fd=Cs?Rt(Cs):vc;function St(t){return t!=null&&mr(t.length)&&!dn(t)}function st(t){return it(t)&&St(t)}function cd(t){return t===!0||t===!1||it(t)&&wt(t)==Ht}var Rn=bf||Zi,ld=Ps?Rt(Ps):wc;function hd(t){return it(t)&&t.nodeType===1&&!Se(t)}function dd(t){if(t==null)return!0;if(St(t)&&(U(t)||typeof t=="string"||typeof t.splice=="function"||Rn(t)||ne(t)||Bn(t)))return!t.length;var n=vt(t);if(n==Gt||n==Jt)return!t.size;if(me(t))return!hi(t).length;for(var e in t)if(X.call(t,e))return!1;return!0}function pd(t,n){return ve(t,n)}function gd(t,n,e){e=typeof e=="function"?e:i;var r=e?e(t,n):i;return r===i?ve(t,n,i,e):!!r}function Bi(t){if(!it(t))return!1;var n=wt(t);return n==Oe||n==zt||typeof t.message=="string"&&typeof t.name=="string"&&!Se(t)}function _d(t){return typeof t=="number"&&Gs(t)}function dn(t){if(!rt(t))return!1;var n=wt(t);return n==We||n==ji||n==vn||n==$o}function ho(t){return typeof t=="number"&&t==N(t)}function mr(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=jt}function rt(t){var n=typeof t;return t!=null&&(n=="object"||n=="function")}function it(t){return t!=null&&typeof t=="object"}var po=Rs?Rt(Rs):mc;function vd(t,n){return t===n||li(t,n,Ii(n))}function wd(t,n,e){return e=typeof e=="function"?e:i,li(t,n,Ii(n),e)}function yd(t){return go(t)&&t!=+t}function md(t){if(rl(t))throw new F(v);return su(t)}function xd(t){return t===null}function Sd(t){return t==null}function go(t){return typeof t=="number"||it(t)&&wt(t)==re}function Se(t){if(!it(t)||wt(t)!=un)return!1;var n=Je(t);if(n===null)return!0;var e=X.call(n,"constructor")&&n.constructor;return typeof e=="function"&&e instanceof e&&ke.call(e)==wf}var $i=Is?Rt(Is):xc;function Ad(t){return ho(t)&&t>=-jt&&t<=jt}var _o=Ts?Rt(Ts):Sc;function xr(t){return typeof t=="string"||!U(t)&&it(t)&&wt(t)==se}function Tt(t){return typeof t=="symbol"||it(t)&&wt(t)==De}var ne=Es?Rt(Es):Ac;function bd(t){return t===i}function Cd(t){return it(t)&&vt(t)==ue}function Pd(t){return it(t)&&wt(t)==Ko}var Rd=lr(di),Id=lr(function(t,n){return t<=n});function vo(t){if(!t)return[];if(St(t))return xr(t)?Zt(t):xt(t);if(fe&&t[fe])return uf(t[fe]());var n=vt(t),e=n==Gt?ti:n==Jt?Me:ee;return e(t)}function pn(t){if(!t)return t===0?t:0;if(t=Kt(t),t===sn||t===-sn){var n=t<0?-1:1;return n*Cr}return t===t?t:0}function N(t){var n=pn(t),e=n%1;return n===n?e?n-e:n:0}function wo(t){return t?Dn(N(t),0,Wt):0}function Kt(t){if(typeof t=="number")return t;if(Tt(t))return Kn;if(rt(t)){var n=typeof t.valueOf=="function"?t.valueOf():t;t=rt(n)?n+"":n}if(typeof t!="string")return t===0?t:+t;t=Us(t);var e=aa.test(t);return e||ca.test(t)?qa(t.slice(2),e?2:8):oa.test(t)?Kn:+t}function yo(t){return nn(t,At(t))}function Td(t){return t?Dn(N(t),-jt,jt):t===0?t:0}function Y(t){return t==null?"":It(t)}var Ed=Vn(function(t,n){if(me(n)||St(n)){nn(n,lt(n),t);return}for(var e in n)X.call(n,e)&&pe(t,e,n[e])}),mo=Vn(function(t,n){nn(n,At(n),t)}),Sr=Vn(function(t,n,e,r){nn(n,At(n),t,r)}),Ld=Vn(function(t,n,e,r){nn(n,lt(n),t,r)}),Od=ln(ui);function Wd(t,n){var e=Qn(t);return n==null?e:Qs(e,n)}var Dd=K(function(t,n){t=Q(t);var e=-1,r=n.length,s=r>2?n[2]:i;for(s&&yt(n[0],n[1],s)&&(r=1);++e<r;)for(var o=n[e],f=At(o),c=-1,d=f.length;++c<d;){var y=f[c],m=t[y];(m===i||Xt(m,Zn[y])&&!X.call(t,y))&&(t[y]=o[y])}return t}),Fd=K(function(t){return t.push(i,Uu),Pt(xo,i,t)});function Ud(t,n){return Os(t,L(n,3),tn)}function Nd(t,n){return Os(t,L(n,3),ai)}function Bd(t,n){return t==null?t:oi(t,L(n,3),At)}function $d(t,n){return t==null?t:eu(t,L(n,3),At)}function Md(t,n){return t&&tn(t,L(n,3))}function Kd(t,n){return t&&ai(t,L(n,3))}function qd(t){return t==null?[]:rr(t,lt(t))}function kd(t){return t==null?[]:rr(t,At(t))}function Mi(t,n,e){var r=t==null?i:Fn(t,n);return r===i?e:r}function Hd(t,n){return t!=null&&$u(t,n,dc)}function Ki(t,n){return t!=null&&$u(t,n,pc)}var zd=Lu(function(t,n,e){n!=null&&typeof n.toString!="function"&&(n=He.call(n)),t[n]=e},ki(bt)),Gd=Lu(function(t,n,e){n!=null&&typeof n.toString!="function"&&(n=He.call(n)),X.call(t,n)?t[n].push(e):t[n]=[e]},L),Jd=K(_e);function lt(t){return St(t)?Ys(t):hi(t)}function At(t){return St(t)?Ys(t,!0):bc(t)}function Zd(t,n){var e={};return n=L(n,3),tn(t,function(r,s,o){fn(e,n(r,s,o),r)}),e}function Yd(t,n){var e={};return n=L(n,3),tn(t,function(r,s,o){fn(e,s,n(r,s,o))}),e}var Xd=Vn(function(t,n,e){ir(t,n,e)}),xo=Vn(function(t,n,e,r){ir(t,n,e,r)}),Qd=ln(function(t,n){var e={};if(t==null)return e;var r=!1;n=et(n,function(o){return o=Cn(o,t),r||(r=o.length>1),o}),nn(t,Pi(t),e),r&&(e=Bt(e,z|D|E,zc));for(var s=n.length;s--;)wi(e,n[s]);return e});function Vd(t,n){return So(t,yr(L(n)))}var jd=ln(function(t,n){return t==null?{}:Pc(t,n)});function So(t,n){if(t==null)return{};var e=et(Pi(t),function(r){return[r]});return n=L(n),hu(t,e,function(r,s){return n(r,s[0])})}function tp(t,n,e){n=Cn(n,t);var r=-1,s=n.length;for(s||(s=1,t=i);++r<s;){var o=t==null?i:t[en(n[r])];o===i&&(r=s,o=e),t=dn(o)?o.call(t):o}return t}function np(t,n,e){return t==null?t:we(t,n,e)}function ep(t,n,e,r){return r=typeof r=="function"?r:i,t==null?t:we(t,n,e,r)}var Ao=Du(lt),bo=Du(At);function rp(t,n,e){var r=U(t),s=r||Rn(t)||ne(t);if(n=L(n,4),e==null){var o=t&&t.constructor;s?e=r?new o:[]:rt(t)?e=dn(o)?Qn(Je(t)):{}:e={}}return(s?Ft:tn)(t,function(f,c,d){return n(e,f,c,d)}),e}function ip(t,n){return t==null?!0:wi(t,n)}function sp(t,n,e){return t==null?t:vu(t,n,xi(e))}function up(t,n,e,r){return r=typeof r=="function"?r:i,t==null?t:vu(t,n,xi(e),r)}function ee(t){return t==null?[]:jr(t,lt(t))}function op(t){return t==null?[]:jr(t,At(t))}function ap(t,n,e){return e===i&&(e=n,n=i),e!==i&&(e=Kt(e),e=e===e?e:0),n!==i&&(n=Kt(n),n=n===n?n:0),Dn(Kt(t),n,e)}function fp(t,n,e){return n=pn(n),e===i?(e=n,n=0):e=pn(e),t=Kt(t),gc(t,n,e)}function cp(t,n,e){if(e&&typeof e!="boolean"&&yt(t,n,e)&&(n=e=i),e===i&&(typeof n=="boolean"?(e=n,n=i):typeof t=="boolean"&&(e=t,t=i)),t===i&&n===i?(t=0,n=1):(t=pn(t),n===i?(n=t,t=0):n=pn(n)),t>n){var r=t;t=n,n=r}if(e||t%1||n%1){var s=Js();return _t(t+s*(n-t+Ka("1e-"+((s+"").length-1))),n)}return gi(t,n)}var lp=jn(function(t,n,e){return n=n.toLowerCase(),t+(e?Co(n):n)});function Co(t){return qi(Y(t).toLowerCase())}function Po(t){return t=Y(t),t&&t.replace(ha,tf).replace(La,"")}function hp(t,n,e){t=Y(t),n=It(n);var r=t.length;e=e===i?r:Dn(N(e),0,r);var s=e;return e-=n.length,e>=0&&t.slice(e,s)==n}function dp(t){return t=Y(t),t&&Go.test(t)?t.replace(es,nf):t}function pp(t){return t=Y(t),t&&Vo.test(t)?t.replace(Nr,"\\$&"):t}var gp=jn(function(t,n,e){return t+(e?"-":"")+n.toLowerCase()}),_p=jn(function(t,n,e){return t+(e?" ":"")+n.toLowerCase()}),vp=Iu("toLowerCase");function wp(t,n,e){t=Y(t),n=N(n);var r=n?Gn(t):0;if(!n||r>=n)return t;var s=(n-r)/2;return cr(Qe(s),e)+t+cr(Xe(s),e)}function yp(t,n,e){t=Y(t),n=N(n);var r=n?Gn(t):0;return n&&r<n?t+cr(n-r,e):t}function mp(t,n,e){t=Y(t),n=N(n);var r=n?Gn(t):0;return n&&r<n?cr(n-r,e)+t:t}function xp(t,n,e){return e||n==null?n=0:n&&(n=+n),If(Y(t).replace(Br,""),n||0)}function Sp(t,n,e){return(e?yt(t,n,e):n===i)?n=1:n=N(n),_i(Y(t),n)}function Ap(){var t=arguments,n=Y(t[0]);return t.length<3?n:n.replace(t[1],t[2])}var bp=jn(function(t,n,e){return t+(e?"_":"")+n.toLowerCase()});function Cp(t,n,e){return e&&typeof e!="number"&&yt(t,n,e)&&(n=e=i),e=e===i?Wt:e>>>0,e?(t=Y(t),t&&(typeof n=="string"||n!=null&&!$i(n))&&(n=It(n),!n&&zn(t))?Pn(Zt(t),0,e):t.split(n,e)):[]}var Pp=jn(function(t,n,e){return t+(e?" ":"")+qi(n)});function Rp(t,n,e){return t=Y(t),e=e==null?0:Dn(N(e),0,t.length),n=It(n),t.slice(e,e+n.length)==n}function Ip(t,n,e){var r=u.templateSettings;e&&yt(t,n,e)&&(n=i),t=Y(t),n=Sr({},n,r,Fu);var s=Sr({},n.imports,r.imports,Fu),o=lt(s),f=jr(s,o),c,d,y=0,m=n.interpolate||Fe,S="__p += '",A=ni((n.escape||Fe).source+"|"+m.source+"|"+(m===rs?ua:Fe).source+"|"+(n.evaluate||Fe).source+"|$","g"),R="//# sourceURL="+(X.call(n,"sourceURL")?(n.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Ua+"]")+`
11
- `;t.replace(A,function(W,H,J,Et,mt,Lt){return J||(J=Et),S+=t.slice(y,Lt).replace(da,ef),H&&(c=!0,S+=`' +
10
+ `)}function tl(t){return U(t)||$n(t)||!!(Gs&&t&&t[Gs])}function dn(t,n){var e=typeof t;return n=n??tn,!!n&&(e=="number"||e!="symbol"&&la.test(t))&&t>-1&&t%1==0&&t<n}function mt(t,n,e){if(!rt(e))return!1;var r=typeof n;return(r=="number"?Ct(e)&&dn(n,e.length):r=="string"&&n in e)?Qt(e[n],t):!1}function Ti(t,n){if(U(t))return!1;var e=typeof t;return e=="number"||e=="symbol"||e=="boolean"||t==null||Wt(t)?!0:Xo.test(t)||!Yo.test(t)||n!=null&&t in V(n)}function nl(t){var n=typeof t;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?t!=="__proto__":t===null}function Li(t){var n=hr(t),e=u[n];if(typeof e!="function"||!(n in z.prototype))return!1;if(t===e)return!0;var r=Ii(e);return!!r&&t===r[0]}function el(t){return!!qs&&qs in t}var rl=qe?pn:Zi;function Se(t){var n=t&&t.constructor,e=typeof n=="function"&&n.prototype||Zn;return t===e}function qu(t){return t===t&&!rt(t)}function ku(t,n){return function(e){return e==null?!1:e[t]===n&&(n!==i||t in V(e))}}function il(t){var n=wr(t,function(r){return e.size===K&&e.clear(),r}),e=n.cache;return n}function sl(t,n){var e=t[1],r=n[1],s=e|r,o=s<(k|vn|Ut),f=r==Ut&&e==ht||r==Ut&&e==jt&&t[7].length<=n[8]||r==(Ut|jt)&&n[7].length<=n[8]&&e==ht;if(!(o||f))return t;r&k&&(t[2]=n[2],s|=e&k?0:sn);var c=n[3];if(c){var d=t[3];t[3]=d?Cu(d,c,n[4]):c,t[4]=d?xn(t[3],Z):n[4]}return c=n[5],c&&(d=t[5],t[5]=d?Pu(d,c,n[6]):c,t[6]=d?xn(t[5],Z):n[6]),c=n[7],c&&(t[7]=c),r&Ut&&(t[8]=t[8]==null?n[8]:_t(t[8],n[8])),t[9]==null&&(t[9]=n[9]),t[0]=n[0],t[1]=s,t}function ul(t){var n=[];if(t!=null)for(var e in V(t))n.push(e);return n}function ol(t){return He.call(t)}function Hu(t,n,e){return n=ft(n===i?t.length-1:n,0),function(){for(var r=arguments,s=-1,o=ft(r.length-n,0),f=_(o);++s<o;)f[s]=r[n+s];s=-1;for(var c=_(n+1);++s<n;)c[s]=r[s];return c[n]=e(f),Tt(t,this,c)}}function zu(t,n){return n.length<2?t:Fn(t,kt(n,0,-1))}function al(t,n){for(var e=t.length,r=_t(n.length,e),s=bt(t);r--;){var o=n[r];t[r]=dn(o,e)?s[o]:i}return t}function Oi(t,n){if(!(n==="constructor"&&typeof t[n]=="function")&&n!="__proto__")return t[n]}var Gu=Zu(gu),Ae=Af||function(t,n){return dt.setTimeout(t,n)},Wi=Zu(Lc);function Ju(t,n,e){var r=n+"";return Wi(t,jc(r,fl(Xc(r),e)))}function Zu(t){var n=0,e=0;return function(){var r=If(),s=Ee-(r-e);if(e=r,s>0){if(++n>=Et)return arguments[0]}else n=0;return t.apply(i,arguments)}}function pr(t,n){var e=-1,r=t.length,s=r-1;for(n=n===i?r:n;++e<n;){var o=gi(e,s),f=t[o];t[o]=t[e],t[e]=f}return t.length=n,t}var Yu=il(function(t){var n=[];return t.charCodeAt(0)===46&&n.push(""),t.replace(Qo,function(e,r,s,o){n.push(s?o.replace(sa,"$1"):r||e)}),n});function rn(t){if(typeof t=="string"||Wt(t))return t;var n=t+"";return n=="0"&&1/t==-un?"-0":n}function Nn(t){if(t!=null){try{return ke.call(t)}catch{}try{return t+""}catch{}}return""}function fl(t,n){return Bt(Ir,function(e){var r="_."+e[0];n&e[1]&&!$e(t,r)&&t.push(r)}),t.sort()}function Xu(t){if(t instanceof z)return t.clone();var n=new Kt(t.__wrapped__,t.__chain__);return n.__actions__=bt(t.__actions__),n.__index__=t.__index__,n.__values__=t.__values__,n}function cl(t,n,e){(e?mt(t,n,e):n===i)?n=1:n=ft(B(n),0);var r=t==null?0:t.length;if(!r||n<1)return[];for(var s=0,o=0,f=_(Xe(r/n));s<r;)f[o++]=kt(t,s,s+=n);return f}function ll(t){for(var n=-1,e=t==null?0:t.length,r=0,s=[];++n<e;){var o=t[n];o&&(s[r++]=o)}return s}function hl(){var t=arguments.length;if(!t)return[];for(var n=_(t-1),e=arguments[0],r=t;r--;)n[r-1]=arguments[r];return mn(U(e)?bt(e):[e],pt(n,1))}var dl=q(function(t,n){return st(t)?ve(t,pt(n,1,st,!0)):[]}),pl=q(function(t,n){var e=Ht(n);return st(e)&&(e=i),st(t)?ve(t,pt(n,1,st,!0),L(e,2)):[]}),gl=q(function(t,n){var e=Ht(n);return st(e)&&(e=i),st(t)?ve(t,pt(n,1,st,!0),i,e):[]});function _l(t,n,e){var r=t==null?0:t.length;return r?(n=e||n===i?1:B(n),kt(t,n<0?0:n,r)):[]}function vl(t,n,e){var r=t==null?0:t.length;return r?(n=e||n===i?1:B(n),n=r-n,kt(t,0,n<0?0:n)):[]}function wl(t,n){return t&&t.length?ur(t,L(n,3),!0,!0):[]}function yl(t,n){return t&&t.length?ur(t,L(n,3),!0):[]}function ml(t,n,e,r){var s=t==null?0:t.length;return s?(e&&typeof e!="number"&&mt(t,n,e)&&(e=0,r=s),hc(t,n,e,r)):[]}function Qu(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var s=e==null?0:B(e);return s<0&&(s=ft(r+s,0)),Be(t,L(n,3),s)}function Vu(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var s=r-1;return e!==i&&(s=B(e),s=e<0?ft(r+s,0):_t(s,r-1)),Be(t,L(n,3),s,!0)}function ju(t){var n=t==null?0:t.length;return n?pt(t,1):[]}function xl(t){var n=t==null?0:t.length;return n?pt(t,un):[]}function Sl(t,n){var e=t==null?0:t.length;return e?(n=n===i?1:B(n),pt(t,n)):[]}function Al(t){for(var n=-1,e=t==null?0:t.length,r={};++n<e;){var s=t[n];r[s[0]]=s[1]}return r}function to(t){return t&&t.length?t[0]:i}function bl(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var s=e==null?0:B(e);return s<0&&(s=ft(r+s,0)),Hn(t,n,s)}function Cl(t){var n=t==null?0:t.length;return n?kt(t,0,-1):[]}var Pl=q(function(t){var n=et(t,mi);return n.length&&n[0]===t[0]?ci(n):[]}),Il=q(function(t){var n=Ht(t),e=et(t,mi);return n===Ht(e)?n=i:e.pop(),e.length&&e[0]===t[0]?ci(e,L(n,2)):[]}),Rl=q(function(t){var n=Ht(t),e=et(t,mi);return n=typeof n=="function"?n:i,n&&e.pop(),e.length&&e[0]===t[0]?ci(e,i,n):[]});function El(t,n){return t==null?"":Cf.call(t,n)}function Ht(t){var n=t==null?0:t.length;return n?t[n-1]:i}function Tl(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var s=r;return e!==i&&(s=B(e),s=s<0?ft(r+s,0):_t(s,r-1)),n===n?ff(t,n,s):Be(t,Ds,s,!0)}function Ll(t,n){return t&&t.length?lu(t,B(n)):i}var Ol=q(no);function no(t,n){return t&&t.length&&n&&n.length?pi(t,n):t}function Wl(t,n,e){return t&&t.length&&n&&n.length?pi(t,n,L(e,2)):t}function Dl(t,n,e){return t&&t.length&&n&&n.length?pi(t,n,i,e):t}var Fl=hn(function(t,n){var e=t==null?0:t.length,r=ui(t,n);return pu(t,et(n,function(s){return dn(s,e)?+s:s}).sort(bu)),r});function Ul(t,n){var e=[];if(!(t&&t.length))return e;var r=-1,s=[],o=t.length;for(n=L(n,3);++r<o;){var f=t[r];n(f,r,t)&&(e.push(f),s.push(r))}return pu(t,s),e}function Di(t){return t==null?t:Ef.call(t)}function Nl(t,n,e){var r=t==null?0:t.length;return r?(e&&typeof e!="number"&&mt(t,n,e)?(n=0,e=r):(n=n==null?0:B(n),e=e===i?r:B(e)),kt(t,n,e)):[]}function $l(t,n){return sr(t,n)}function Bl(t,n,e){return vi(t,n,L(e,2))}function Ml(t,n){var e=t==null?0:t.length;if(e){var r=sr(t,n);if(r<e&&Qt(t[r],n))return r}return-1}function Kl(t,n){return sr(t,n,!0)}function ql(t,n,e){return vi(t,n,L(e,2),!0)}function kl(t,n){var e=t==null?0:t.length;if(e){var r=sr(t,n,!0)-1;if(Qt(t[r],n))return r}return-1}function Hl(t){return t&&t.length?_u(t):[]}function zl(t,n){return t&&t.length?_u(t,L(n,2)):[]}function Gl(t){var n=t==null?0:t.length;return n?kt(t,1,n):[]}function Jl(t,n,e){return t&&t.length?(n=e||n===i?1:B(n),kt(t,0,n<0?0:n)):[]}function Zl(t,n,e){var r=t==null?0:t.length;return r?(n=e||n===i?1:B(n),n=r-n,kt(t,n<0?0:n,r)):[]}function Yl(t,n){return t&&t.length?ur(t,L(n,3),!1,!0):[]}function Xl(t,n){return t&&t.length?ur(t,L(n,3)):[]}var Ql=q(function(t){return bn(pt(t,1,st,!0))}),Vl=q(function(t){var n=Ht(t);return st(n)&&(n=i),bn(pt(t,1,st,!0),L(n,2))}),jl=q(function(t){var n=Ht(t);return n=typeof n=="function"?n:i,bn(pt(t,1,st,!0),i,n)});function th(t){return t&&t.length?bn(t):[]}function nh(t,n){return t&&t.length?bn(t,L(n,2)):[]}function eh(t,n){return n=typeof n=="function"?n:i,t&&t.length?bn(t,i,n):[]}function Fi(t){if(!(t&&t.length))return[];var n=0;return t=yn(t,function(e){if(st(e))return n=ft(e.length,n),!0}),Vr(n,function(e){return et(t,Yr(e))})}function eo(t,n){if(!(t&&t.length))return[];var e=Fi(t);return n==null?e:et(e,function(r){return Tt(n,i,r)})}var rh=q(function(t,n){return st(t)?ve(t,n):[]}),ih=q(function(t){return yi(yn(t,st))}),sh=q(function(t){var n=Ht(t);return st(n)&&(n=i),yi(yn(t,st),L(n,2))}),uh=q(function(t){var n=Ht(t);return n=typeof n=="function"?n:i,yi(yn(t,st),i,n)}),oh=q(Fi);function ah(t,n){return mu(t||[],n||[],_e)}function fh(t,n){return mu(t||[],n||[],me)}var ch=q(function(t){var n=t.length,e=n>1?t[n-1]:i;return e=typeof e=="function"?(t.pop(),e):i,eo(t,e)});function ro(t){var n=u(t);return n.__chain__=!0,n}function lh(t,n){return n(t),t}function gr(t,n){return n(t)}var hh=hn(function(t){var n=t.length,e=n?t[0]:0,r=this.__wrapped__,s=function(o){return ui(o,t)};return n>1||this.__actions__.length||!(r instanceof z)||!dn(e)?this.thru(s):(r=r.slice(e,+e+(n?1:0)),r.__actions__.push({func:gr,args:[s],thisArg:i}),new Kt(r,this.__chain__).thru(function(o){return n&&!o.length&&o.push(i),o}))});function dh(){return ro(this)}function ph(){return new Kt(this.value(),this.__chain__)}function gh(){this.__values__===i&&(this.__values__=wo(this.value()));var t=this.__index__>=this.__values__.length,n=t?i:this.__values__[this.__index__++];return{done:t,value:n}}function _h(){return this}function vh(t){for(var n,e=this;e instanceof tr;){var r=Xu(e);r.__index__=0,r.__values__=i,n?s.__wrapped__=r:n=r;var s=r;e=e.__wrapped__}return s.__wrapped__=t,n}function wh(){var t=this.__wrapped__;if(t instanceof z){var n=t;return this.__actions__.length&&(n=new z(this)),n=n.reverse(),n.__actions__.push({func:gr,args:[Di],thisArg:i}),new Kt(n,this.__chain__)}return this.thru(Di)}function yh(){return yu(this.__wrapped__,this.__actions__)}var mh=or(function(t,n,e){X.call(t,e)?++t[e]:cn(t,e,1)});function xh(t,n,e){var r=U(t)?Os:lc;return e&&mt(t,n,e)&&(n=i),r(t,L(n,3))}function Sh(t,n){var e=U(t)?yn:eu;return e(t,L(n,3))}var Ah=Tu(Qu),bh=Tu(Vu);function Ch(t,n){return pt(_r(t,n),1)}function Ph(t,n){return pt(_r(t,n),un)}function Ih(t,n,e){return e=e===i?1:B(e),pt(_r(t,n),e)}function io(t,n){var e=U(t)?Bt:An;return e(t,L(n,3))}function so(t,n){var e=U(t)?za:nu;return e(t,L(n,3))}var Rh=or(function(t,n,e){X.call(t,e)?t[e].push(n):cn(t,e,[n])});function Eh(t,n,e,r){t=Ct(t)?t:ee(t),e=e&&!r?B(e):0;var s=t.length;return e<0&&(e=ft(s+e,0)),xr(t)?e<=s&&t.indexOf(n,e)>-1:!!s&&Hn(t,n,e)>-1}var Th=q(function(t,n,e){var r=-1,s=typeof n=="function",o=Ct(t)?_(t.length):[];return An(t,function(f){o[++r]=s?Tt(n,f,e):we(f,n,e)}),o}),Lh=or(function(t,n,e){cn(t,e,n)});function _r(t,n){var e=U(t)?et:au;return e(t,L(n,3))}function Oh(t,n,e,r){return t==null?[]:(U(n)||(n=n==null?[]:[n]),e=r?i:e,U(e)||(e=e==null?[]:[e]),hu(t,n,e))}var Wh=or(function(t,n,e){t[e?0:1].push(n)},function(){return[[],[]]});function Dh(t,n,e){var r=U(t)?Jr:Us,s=arguments.length<3;return r(t,L(n,4),e,s,An)}function Fh(t,n,e){var r=U(t)?Ga:Us,s=arguments.length<3;return r(t,L(n,4),e,s,nu)}function Uh(t,n){var e=U(t)?yn:eu;return e(t,yr(L(n,3)))}function Nh(t){var n=U(t)?Qs:Ec;return n(t)}function $h(t,n,e){(e?mt(t,n,e):n===i)?n=1:n=B(n);var r=U(t)?uc:Tc;return r(t,n)}function Bh(t){var n=U(t)?oc:Oc;return n(t)}function Mh(t){if(t==null)return 0;if(Ct(t))return xr(t)?Gn(t):t.length;var n=vt(t);return n==Jt||n==Zt?t.size:hi(t).length}function Kh(t,n,e){var r=U(t)?Zr:Wc;return e&&mt(t,n,e)&&(n=i),r(t,L(n,3))}var qh=q(function(t,n){if(t==null)return[];var e=n.length;return e>1&&mt(t,n[0],n[1])?n=[]:e>2&&mt(n[0],n[1],n[2])&&(n=[n[0]]),hu(t,pt(n,1),[])}),vr=Sf||function(){return dt.Date.now()};function kh(t,n){if(typeof n!="function")throw new Mt(x);return t=B(t),function(){if(--t<1)return n.apply(this,arguments)}}function uo(t,n,e){return n=e?i:n,n=t&&n==null?t.length:n,ln(t,Ut,i,i,i,i,n)}function oo(t,n){var e;if(typeof n!="function")throw new Mt(x);return t=B(t),function(){return--t>0&&(e=n.apply(this,arguments)),t<=1&&(n=i),e}}var Ui=q(function(t,n,e){var r=k;if(e.length){var s=xn(e,te(Ui));r|=Gt}return ln(t,r,n,e,s)}),ao=q(function(t,n,e){var r=k|vn;if(e.length){var s=xn(e,te(ao));r|=Gt}return ln(n,r,t,e,s)});function fo(t,n,e){n=e?i:n;var r=ln(t,ht,i,i,i,i,i,n);return r.placeholder=fo.placeholder,r}function co(t,n,e){n=e?i:n;var r=ln(t,gt,i,i,i,i,i,n);return r.placeholder=co.placeholder,r}function lo(t,n,e){var r,s,o,f,c,d,y=0,m=!1,S=!1,b=!0;if(typeof t!="function")throw new Mt(x);n=zt(n)||0,rt(e)&&(m=!!e.leading,S="maxWait"in e,o=S?ft(zt(e.maxWait)||0,n):o,b="trailing"in e?!!e.trailing:b);function R(ut){var Vt=r,_n=s;return r=s=i,y=ut,f=t.apply(_n,Vt),f}function O(ut){return y=ut,c=Ae(H,n),m?R(ut):f}function M(ut){var Vt=ut-d,_n=ut-y,Lo=n-Vt;return S?_t(Lo,o-_n):Lo}function W(ut){var Vt=ut-d,_n=ut-y;return d===i||Vt>=n||Vt<0||S&&_n>=o}function H(){var ut=vr();if(W(ut))return G(ut);c=Ae(H,M(ut))}function G(ut){return c=i,b&&r?R(ut):(r=s=i,f)}function Dt(){c!==i&&xu(c),y=0,r=d=s=c=i}function xt(){return c===i?f:G(vr())}function Ft(){var ut=vr(),Vt=W(ut);if(r=arguments,s=this,d=ut,Vt){if(c===i)return O(d);if(S)return xu(c),c=Ae(H,n),R(d)}return c===i&&(c=Ae(H,n)),f}return Ft.cancel=Dt,Ft.flush=xt,Ft}var Hh=q(function(t,n){return tu(t,1,n)}),zh=q(function(t,n,e){return tu(t,zt(n)||0,e)});function Gh(t){return ln(t,Rt)}function wr(t,n){if(typeof t!="function"||n!=null&&typeof n!="function")throw new Mt(x);var e=function(){var r=arguments,s=n?n.apply(this,r):r[0],o=e.cache;if(o.has(s))return o.get(s);var f=t.apply(this,r);return e.cache=o.set(s,f)||o,f};return e.cache=new(wr.Cache||fn),e}wr.Cache=fn;function yr(t){if(typeof t!="function")throw new Mt(x);return function(){var n=arguments;switch(n.length){case 0:return!t.call(this);case 1:return!t.call(this,n[0]);case 2:return!t.call(this,n[0],n[1]);case 3:return!t.call(this,n[0],n[1],n[2])}return!t.apply(this,n)}}function Jh(t){return oo(2,t)}var Zh=Dc(function(t,n){n=n.length==1&&U(n[0])?et(n[0],Lt(L())):et(pt(n,1),Lt(L()));var e=n.length;return q(function(r){for(var s=-1,o=_t(r.length,e);++s<o;)r[s]=n[s].call(this,r[s]);return Tt(t,this,r)})}),Ni=q(function(t,n){var e=xn(n,te(Ni));return ln(t,Gt,i,n,e)}),ho=q(function(t,n){var e=xn(n,te(ho));return ln(t,Rn,i,n,e)}),Yh=hn(function(t,n){return ln(t,jt,i,i,i,n)});function Xh(t,n){if(typeof t!="function")throw new Mt(x);return n=n===i?n:B(n),q(t,n)}function Qh(t,n){if(typeof t!="function")throw new Mt(x);return n=n==null?0:ft(B(n),0),q(function(e){var r=e[n],s=Pn(e,0,n);return r&&mn(s,r),Tt(t,this,s)})}function Vh(t,n,e){var r=!0,s=!0;if(typeof t!="function")throw new Mt(x);return rt(e)&&(r="leading"in e?!!e.leading:r,s="trailing"in e?!!e.trailing:s),lo(t,n,{leading:r,maxWait:n,trailing:s})}function jh(t){return uo(t,1)}function td(t,n){return Ni(xi(n),t)}function nd(){if(!arguments.length)return[];var t=arguments[0];return U(t)?t:[t]}function ed(t){return qt(t,P)}function rd(t,n){return n=typeof n=="function"?n:i,qt(t,P,n)}function id(t){return qt(t,A|P)}function sd(t,n){return n=typeof n=="function"?n:i,qt(t,A|P,n)}function ud(t,n){return n==null||js(t,n,lt(n))}function Qt(t,n){return t===n||t!==t&&n!==n}var od=lr(fi),ad=lr(function(t,n){return t>=n}),$n=su(function(){return arguments}())?su:function(t){return it(t)&&X.call(t,"callee")&&!zs.call(t,"callee")},U=_.isArray,fd=Ps?Lt(Ps):vc;function Ct(t){return t!=null&&mr(t.length)&&!pn(t)}function st(t){return it(t)&&Ct(t)}function cd(t){return t===!0||t===!1||it(t)&&yt(t)==St}var In=bf||Zi,ld=Is?Lt(Is):wc;function hd(t){return it(t)&&t.nodeType===1&&!be(t)}function dd(t){if(t==null)return!0;if(Ct(t)&&(U(t)||typeof t=="string"||typeof t.splice=="function"||In(t)||ne(t)||$n(t)))return!t.length;var n=vt(t);if(n==Jt||n==Zt)return!t.size;if(Se(t))return!hi(t).length;for(var e in t)if(X.call(t,e))return!1;return!0}function pd(t,n){return ye(t,n)}function gd(t,n,e){e=typeof e=="function"?e:i;var r=e?e(t,n):i;return r===i?ye(t,n,i,e):!!r}function $i(t){if(!it(t))return!1;var n=yt(t);return n==At||n==Oe||typeof t.message=="string"&&typeof t.name=="string"&&!be(t)}function _d(t){return typeof t=="number"&&Js(t)}function pn(t){if(!rt(t))return!1;var n=yt(t);return n==We||n==ts||n==ot||n==Bo}function po(t){return typeof t=="number"&&t==B(t)}function mr(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=tn}function rt(t){var n=typeof t;return t!=null&&(n=="object"||n=="function")}function it(t){return t!=null&&typeof t=="object"}var go=Rs?Lt(Rs):mc;function vd(t,n){return t===n||li(t,n,Ri(n))}function wd(t,n,e){return e=typeof e=="function"?e:i,li(t,n,Ri(n),e)}function yd(t){return _o(t)&&t!=+t}function md(t){if(rl(t))throw new F(v);return uu(t)}function xd(t){return t===null}function Sd(t){return t==null}function _o(t){return typeof t=="number"||it(t)&&yt(t)==se}function be(t){if(!it(t)||yt(t)!=on)return!1;var n=Je(t);if(n===null)return!0;var e=X.call(n,"constructor")&&n.constructor;return typeof e=="function"&&e instanceof e&&ke.call(e)==wf}var Bi=Es?Lt(Es):xc;function Ad(t){return po(t)&&t>=-tn&&t<=tn}var vo=Ts?Lt(Ts):Sc;function xr(t){return typeof t=="string"||!U(t)&&it(t)&&yt(t)==oe}function Wt(t){return typeof t=="symbol"||it(t)&&yt(t)==De}var ne=Ls?Lt(Ls):Ac;function bd(t){return t===i}function Cd(t){return it(t)&&vt(t)==ae}function Pd(t){return it(t)&&yt(t)==Ko}var Id=lr(di),Rd=lr(function(t,n){return t<=n});function wo(t){if(!t)return[];if(Ct(t))return xr(t)?Yt(t):bt(t);if(le&&t[le])return uf(t[le]());var n=vt(t),e=n==Jt?ti:n==Zt?Me:ee;return e(t)}function gn(t){if(!t)return t===0?t:0;if(t=zt(t),t===un||t===-un){var n=t<0?-1:1;return n*Cr}return t===t?t:0}function B(t){var n=gn(t),e=n%1;return n===n?e?n-e:n:0}function yo(t){return t?Dn(B(t),0,Nt):0}function zt(t){if(typeof t=="number")return t;if(Wt(t))return Kn;if(rt(t)){var n=typeof t.valueOf=="function"?t.valueOf():t;t=rt(n)?n+"":n}if(typeof t!="string")return t===0?t:+t;t=Ns(t);var e=aa.test(t);return e||ca.test(t)?qa(t.slice(2),e?2:8):oa.test(t)?Kn:+t}function mo(t){return en(t,Pt(t))}function Ed(t){return t?Dn(B(t),-tn,tn):t===0?t:0}function Y(t){return t==null?"":Ot(t)}var Td=Vn(function(t,n){if(Se(n)||Ct(n)){en(n,lt(n),t);return}for(var e in n)X.call(n,e)&&_e(t,e,n[e])}),xo=Vn(function(t,n){en(n,Pt(n),t)}),Sr=Vn(function(t,n,e,r){en(n,Pt(n),t,r)}),Ld=Vn(function(t,n,e,r){en(n,lt(n),t,r)}),Od=hn(ui);function Wd(t,n){var e=Qn(t);return n==null?e:Vs(e,n)}var Dd=q(function(t,n){t=V(t);var e=-1,r=n.length,s=r>2?n[2]:i;for(s&&mt(n[0],n[1],s)&&(r=1);++e<r;)for(var o=n[e],f=Pt(o),c=-1,d=f.length;++c<d;){var y=f[c],m=t[y];(m===i||Qt(m,Zn[y])&&!X.call(t,y))&&(t[y]=o[y])}return t}),Fd=q(function(t){return t.push(i,Nu),Tt(So,i,t)});function Ud(t,n){return Ws(t,L(n,3),nn)}function Nd(t,n){return Ws(t,L(n,3),ai)}function $d(t,n){return t==null?t:oi(t,L(n,3),Pt)}function Bd(t,n){return t==null?t:ru(t,L(n,3),Pt)}function Md(t,n){return t&&nn(t,L(n,3))}function Kd(t,n){return t&&ai(t,L(n,3))}function qd(t){return t==null?[]:rr(t,lt(t))}function kd(t){return t==null?[]:rr(t,Pt(t))}function Mi(t,n,e){var r=t==null?i:Fn(t,n);return r===i?e:r}function Hd(t,n){return t!=null&&Mu(t,n,dc)}function Ki(t,n){return t!=null&&Mu(t,n,pc)}var zd=Ou(function(t,n,e){n!=null&&typeof n.toString!="function"&&(n=He.call(n)),t[n]=e},ki(It)),Gd=Ou(function(t,n,e){n!=null&&typeof n.toString!="function"&&(n=He.call(n)),X.call(t,n)?t[n].push(e):t[n]=[e]},L),Jd=q(we);function lt(t){return Ct(t)?Xs(t):hi(t)}function Pt(t){return Ct(t)?Xs(t,!0):bc(t)}function Zd(t,n){var e={};return n=L(n,3),nn(t,function(r,s,o){cn(e,n(r,s,o),r)}),e}function Yd(t,n){var e={};return n=L(n,3),nn(t,function(r,s,o){cn(e,s,n(r,s,o))}),e}var Xd=Vn(function(t,n,e){ir(t,n,e)}),So=Vn(function(t,n,e,r){ir(t,n,e,r)}),Qd=hn(function(t,n){var e={};if(t==null)return e;var r=!1;n=et(n,function(o){return o=Cn(o,t),r||(r=o.length>1),o}),en(t,Pi(t),e),r&&(e=qt(e,A|D|P,zc));for(var s=n.length;s--;)wi(e,n[s]);return e});function Vd(t,n){return Ao(t,yr(L(n)))}var jd=hn(function(t,n){return t==null?{}:Pc(t,n)});function Ao(t,n){if(t==null)return{};var e=et(Pi(t),function(r){return[r]});return n=L(n),du(t,e,function(r,s){return n(r,s[0])})}function tp(t,n,e){n=Cn(n,t);var r=-1,s=n.length;for(s||(s=1,t=i);++r<s;){var o=t==null?i:t[rn(n[r])];o===i&&(r=s,o=e),t=pn(o)?o.call(t):o}return t}function np(t,n,e){return t==null?t:me(t,n,e)}function ep(t,n,e,r){return r=typeof r=="function"?r:i,t==null?t:me(t,n,e,r)}var bo=Fu(lt),Co=Fu(Pt);function rp(t,n,e){var r=U(t),s=r||In(t)||ne(t);if(n=L(n,4),e==null){var o=t&&t.constructor;s?e=r?new o:[]:rt(t)?e=pn(o)?Qn(Je(t)):{}:e={}}return(s?Bt:nn)(t,function(f,c,d){return n(e,f,c,d)}),e}function ip(t,n){return t==null?!0:wi(t,n)}function sp(t,n,e){return t==null?t:wu(t,n,xi(e))}function up(t,n,e,r){return r=typeof r=="function"?r:i,t==null?t:wu(t,n,xi(e),r)}function ee(t){return t==null?[]:jr(t,lt(t))}function op(t){return t==null?[]:jr(t,Pt(t))}function ap(t,n,e){return e===i&&(e=n,n=i),e!==i&&(e=zt(e),e=e===e?e:0),n!==i&&(n=zt(n),n=n===n?n:0),Dn(zt(t),n,e)}function fp(t,n,e){return n=gn(n),e===i?(e=n,n=0):e=gn(e),t=zt(t),gc(t,n,e)}function cp(t,n,e){if(e&&typeof e!="boolean"&&mt(t,n,e)&&(n=e=i),e===i&&(typeof n=="boolean"?(e=n,n=i):typeof t=="boolean"&&(e=t,t=i)),t===i&&n===i?(t=0,n=1):(t=gn(t),n===i?(n=t,t=0):n=gn(n)),t>n){var r=t;t=n,n=r}if(e||t%1||n%1){var s=Zs();return _t(t+s*(n-t+Ka("1e-"+((s+"").length-1))),n)}return gi(t,n)}var lp=jn(function(t,n,e){return n=n.toLowerCase(),t+(e?Po(n):n)});function Po(t){return qi(Y(t).toLowerCase())}function Io(t){return t=Y(t),t&&t.replace(ha,tf).replace(La,"")}function hp(t,n,e){t=Y(t),n=Ot(n);var r=t.length;e=e===i?r:Dn(B(e),0,r);var s=e;return e-=n.length,e>=0&&t.slice(e,s)==n}function dp(t){return t=Y(t),t&&Go.test(t)?t.replace(rs,nf):t}function pp(t){return t=Y(t),t&&Vo.test(t)?t.replace(Nr,"\\$&"):t}var gp=jn(function(t,n,e){return t+(e?"-":"")+n.toLowerCase()}),_p=jn(function(t,n,e){return t+(e?" ":"")+n.toLowerCase()}),vp=Eu("toLowerCase");function wp(t,n,e){t=Y(t),n=B(n);var r=n?Gn(t):0;if(!n||r>=n)return t;var s=(n-r)/2;return cr(Qe(s),e)+t+cr(Xe(s),e)}function yp(t,n,e){t=Y(t),n=B(n);var r=n?Gn(t):0;return n&&r<n?t+cr(n-r,e):t}function mp(t,n,e){t=Y(t),n=B(n);var r=n?Gn(t):0;return n&&r<n?cr(n-r,e)+t:t}function xp(t,n,e){return e||n==null?n=0:n&&(n=+n),Rf(Y(t).replace($r,""),n||0)}function Sp(t,n,e){return(e?mt(t,n,e):n===i)?n=1:n=B(n),_i(Y(t),n)}function Ap(){var t=arguments,n=Y(t[0]);return t.length<3?n:n.replace(t[1],t[2])}var bp=jn(function(t,n,e){return t+(e?"_":"")+n.toLowerCase()});function Cp(t,n,e){return e&&typeof e!="number"&&mt(t,n,e)&&(n=e=i),e=e===i?Nt:e>>>0,e?(t=Y(t),t&&(typeof n=="string"||n!=null&&!Bi(n))&&(n=Ot(n),!n&&zn(t))?Pn(Yt(t),0,e):t.split(n,e)):[]}var Pp=jn(function(t,n,e){return t+(e?" ":"")+qi(n)});function Ip(t,n,e){return t=Y(t),e=e==null?0:Dn(B(e),0,t.length),n=Ot(n),t.slice(e,e+n.length)==n}function Rp(t,n,e){var r=u.templateSettings;e&&mt(t,n,e)&&(n=i),t=Y(t),n=Sr({},n,r,Uu);var s=Sr({},n.imports,r.imports,Uu),o=lt(s),f=jr(s,o),c,d,y=0,m=n.interpolate||Fe,S="__p += '",b=ni((n.escape||Fe).source+"|"+m.source+"|"+(m===is?ua:Fe).source+"|"+(n.evaluate||Fe).source+"|$","g"),R="//# sourceURL="+(X.call(n,"sourceURL")?(n.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Ua+"]")+`
11
+ `;t.replace(b,function(W,H,G,Dt,xt,Ft){return G||(G=Dt),S+=t.slice(y,Ft).replace(da,ef),H&&(c=!0,S+=`' +
12
12
  __e(`+H+`) +
13
- '`),mt&&(d=!0,S+=`';
14
- `+mt+`;
15
- __p += '`),J&&(S+=`' +
16
- ((__t = (`+J+`)) == null ? '' : __t) +
17
- '`),y=Lt+W.length,W}),S+=`';
13
+ '`),xt&&(d=!0,S+=`';
14
+ `+xt+`;
15
+ __p += '`),G&&(S+=`' +
16
+ ((__t = (`+G+`)) == null ? '' : __t) +
17
+ '`),y=Ft+W.length,W}),S+=`';
18
18
  `;var O=X.call(n,"variable")&&n.variable;if(!O)S=`with (obj) {
19
19
  `+S+`
20
20
  }
@@ -24,5 +24,5 @@ __p += '`),J&&(S+=`' +
24
24
  function print() { __p += __j.call(arguments, '') }
25
25
  `:`;
26
26
  `)+S+`return __p
27
- }`;var B=Io(function(){return Z(o,R+"return "+S).apply(i,f)});if(B.source=S,Bi(B))throw B;return B}function Tp(t){return Y(t).toLowerCase()}function Ep(t){return Y(t).toUpperCase()}function Lp(t,n,e){if(t=Y(t),t&&(e||n===i))return Us(t);if(!t||!(n=It(n)))return t;var r=Zt(t),s=Zt(n),o=Ns(r,s),f=Bs(r,s)+1;return Pn(r,o,f).join("")}function Op(t,n,e){if(t=Y(t),t&&(e||n===i))return t.slice(0,Ms(t)+1);if(!t||!(n=It(n)))return t;var r=Zt(t),s=Bs(r,Zt(n))+1;return Pn(r,0,s).join("")}function Wp(t,n,e){if(t=Y(t),t&&(e||n===i))return t.replace(Br,"");if(!t||!(n=It(n)))return t;var r=Zt(t),s=Ns(r,Zt(n));return Pn(r,s).join("")}function Dp(t,n){var e=Re,r=Ie;if(rt(n)){var s="separator"in n?n.separator:s;e="length"in n?N(n.length):e,r="omission"in n?It(n.omission):r}t=Y(t);var o=t.length;if(zn(t)){var f=Zt(t);o=f.length}if(e>=o)return t;var c=e-Gn(r);if(c<1)return r;var d=f?Pn(f,0,c).join(""):t.slice(0,c);if(s===i)return d+r;if(f&&(c+=d.length-c),$i(s)){if(t.slice(c).search(s)){var y,m=d;for(s.global||(s=ni(s.source,Y(is.exec(s))+"g")),s.lastIndex=0;y=s.exec(m);)var S=y.index;d=d.slice(0,S===i?c:S)}}else if(t.indexOf(It(s),c)!=c){var A=d.lastIndexOf(s);A>-1&&(d=d.slice(0,A))}return d+r}function Fp(t){return t=Y(t),t&&zo.test(t)?t.replace(ns,cf):t}var Up=jn(function(t,n,e){return t+(e?" ":"")+n.toUpperCase()}),qi=Iu("toUpperCase");function Ro(t,n,e){return t=Y(t),n=e?i:n,n===i?sf(t)?df(t):Ya(t):t.match(n)||[]}var Io=K(function(t,n){try{return Pt(t,i,n)}catch(e){return Bi(e)?e:new F(e)}}),Np=ln(function(t,n){return Ft(n,function(e){e=en(e),fn(t,e,Ui(t[e],t))}),t});function Bp(t){var n=t==null?0:t.length,e=L();return t=n?et(t,function(r){if(typeof r[1]!="function")throw new Ut(x);return[e(r[0]),r[1]]}):[],K(function(r){for(var s=-1;++s<n;){var o=t[s];if(Pt(o[0],this,r))return Pt(o[1],this,r)}})}function $p(t){return cc(Bt(t,z))}function ki(t){return function(){return t}}function Mp(t,n){return t==null||t!==t?n:t}var Kp=Eu(),qp=Eu(!0);function bt(t){return t}function Hi(t){return uu(typeof t=="function"?t:Bt(t,z))}function kp(t){return au(Bt(t,z))}function Hp(t,n){return fu(t,Bt(n,z))}var zp=K(function(t,n){return function(e){return _e(e,t,n)}}),Gp=K(function(t,n){return function(e){return _e(t,e,n)}});function zi(t,n,e){var r=lt(n),s=rr(n,r);e==null&&!(rt(n)&&(s.length||!r.length))&&(e=n,n=t,t=this,s=rr(n,lt(n)));var o=!(rt(e)&&"chain"in e)||!!e.chain,f=dn(t);return Ft(s,function(c){var d=n[c];t[c]=d,f&&(t.prototype[c]=function(){var y=this.__chain__;if(o||y){var m=t(this.__wrapped__),S=m.__actions__=xt(this.__actions__);return S.push({func:d,args:arguments,thisArg:t}),m.__chain__=y,m}return d.apply(t,mn([this.value()],arguments))})}),t}function Jp(){return dt._===this&&(dt._=yf),this}function Gi(){}function Zp(t){return t=N(t),K(function(n){return cu(n,t)})}var Yp=Ai(et),Xp=Ai(Ls),Qp=Ai(Zr);function To(t){return Ei(t)?Yr(en(t)):Rc(t)}function Vp(t){return function(n){return t==null?i:Fn(t,n)}}var jp=Ou(),tg=Ou(!0);function Ji(){return[]}function Zi(){return!1}function ng(){return{}}function eg(){return""}function rg(){return!0}function ig(t,n){if(t=N(t),t<1||t>jt)return[];var e=Wt,r=_t(t,Wt);n=L(n),t-=Wt;for(var s=Vr(r,n);++e<t;)n(e);return s}function sg(t){return U(t)?et(t,en):Tt(t)?[t]:xt(Zu(Y(t)))}function ug(t){var n=++vf;return Y(t)+n}var og=fr(function(t,n){return t+n},0),ag=bi("ceil"),fg=fr(function(t,n){return t/n},1),cg=bi("floor");function lg(t){return t&&t.length?er(t,bt,fi):i}function hg(t,n){return t&&t.length?er(t,L(n,2),fi):i}function dg(t){return Ds(t,bt)}function pg(t,n){return Ds(t,L(n,2))}function gg(t){return t&&t.length?er(t,bt,di):i}function _g(t,n){return t&&t.length?er(t,L(n,2),di):i}var vg=fr(function(t,n){return t*n},1),wg=bi("round"),yg=fr(function(t,n){return t-n},0);function mg(t){return t&&t.length?Qr(t,bt):0}function xg(t,n){return t&&t.length?Qr(t,L(n,2)):0}return u.after=kh,u.ary=so,u.assign=Ed,u.assignIn=mo,u.assignInWith=Sr,u.assignWith=Ld,u.at=Od,u.before=uo,u.bind=Ui,u.bindAll=Np,u.bindKey=oo,u.castArray=nd,u.chain=eo,u.chunk=cl,u.compact=ll,u.concat=hl,u.cond=Bp,u.conforms=$p,u.constant=ki,u.countBy=mh,u.create=Wd,u.curry=ao,u.curryRight=fo,u.debounce=co,u.defaults=Dd,u.defaultsDeep=Fd,u.defer=Hh,u.delay=zh,u.difference=dl,u.differenceBy=pl,u.differenceWith=gl,u.drop=_l,u.dropRight=vl,u.dropRightWhile=wl,u.dropWhile=yl,u.fill=ml,u.filter=Sh,u.flatMap=Ch,u.flatMapDeep=Ph,u.flatMapDepth=Rh,u.flatten=Vu,u.flattenDeep=xl,u.flattenDepth=Sl,u.flip=Gh,u.flow=Kp,u.flowRight=qp,u.fromPairs=Al,u.functions=qd,u.functionsIn=kd,u.groupBy=Ih,u.initial=Cl,u.intersection=Pl,u.intersectionBy=Rl,u.intersectionWith=Il,u.invert=zd,u.invertBy=Gd,u.invokeMap=Eh,u.iteratee=Hi,u.keyBy=Lh,u.keys=lt,u.keysIn=At,u.map=_r,u.mapKeys=Zd,u.mapValues=Yd,u.matches=kp,u.matchesProperty=Hp,u.memoize=wr,u.merge=Xd,u.mergeWith=xo,u.method=zp,u.methodOf=Gp,u.mixin=zi,u.negate=yr,u.nthArg=Zp,u.omit=Qd,u.omitBy=Vd,u.once=Jh,u.orderBy=Oh,u.over=Yp,u.overArgs=Zh,u.overEvery=Xp,u.overSome=Qp,u.partial=Ni,u.partialRight=lo,u.partition=Wh,u.pick=jd,u.pickBy=So,u.property=To,u.propertyOf=Vp,u.pull=Ol,u.pullAll=to,u.pullAllBy=Wl,u.pullAllWith=Dl,u.pullAt=Fl,u.range=jp,u.rangeRight=tg,u.rearg=Yh,u.reject=Uh,u.remove=Ul,u.rest=Xh,u.reverse=Di,u.sampleSize=Bh,u.set=np,u.setWith=ep,u.shuffle=$h,u.slice=Nl,u.sortBy=qh,u.sortedUniq=Hl,u.sortedUniqBy=zl,u.split=Cp,u.spread=Qh,u.tail=Gl,u.take=Jl,u.takeRight=Zl,u.takeRightWhile=Yl,u.takeWhile=Xl,u.tap=lh,u.throttle=Vh,u.thru=gr,u.toArray=vo,u.toPairs=Ao,u.toPairsIn=bo,u.toPath=sg,u.toPlainObject=yo,u.transform=rp,u.unary=jh,u.union=Ql,u.unionBy=Vl,u.unionWith=jl,u.uniq=th,u.uniqBy=nh,u.uniqWith=eh,u.unset=ip,u.unzip=Fi,u.unzipWith=no,u.update=sp,u.updateWith=up,u.values=ee,u.valuesIn=op,u.without=rh,u.words=Ro,u.wrap=td,u.xor=ih,u.xorBy=sh,u.xorWith=uh,u.zip=oh,u.zipObject=ah,u.zipObjectDeep=fh,u.zipWith=ch,u.entries=Ao,u.entriesIn=bo,u.extend=mo,u.extendWith=Sr,zi(u,u),u.add=og,u.attempt=Io,u.camelCase=lp,u.capitalize=Co,u.ceil=ag,u.clamp=ap,u.clone=ed,u.cloneDeep=id,u.cloneDeepWith=sd,u.cloneWith=rd,u.conformsTo=ud,u.deburr=Po,u.defaultTo=Mp,u.divide=fg,u.endsWith=hp,u.eq=Xt,u.escape=dp,u.escapeRegExp=pp,u.every=xh,u.find=Ah,u.findIndex=Xu,u.findKey=Ud,u.findLast=bh,u.findLastIndex=Qu,u.findLastKey=Nd,u.floor=cg,u.forEach=ro,u.forEachRight=io,u.forIn=Bd,u.forInRight=$d,u.forOwn=Md,u.forOwnRight=Kd,u.get=Mi,u.gt=od,u.gte=ad,u.has=Hd,u.hasIn=Ki,u.head=ju,u.identity=bt,u.includes=Th,u.indexOf=bl,u.inRange=fp,u.invoke=Jd,u.isArguments=Bn,u.isArray=U,u.isArrayBuffer=fd,u.isArrayLike=St,u.isArrayLikeObject=st,u.isBoolean=cd,u.isBuffer=Rn,u.isDate=ld,u.isElement=hd,u.isEmpty=dd,u.isEqual=pd,u.isEqualWith=gd,u.isError=Bi,u.isFinite=_d,u.isFunction=dn,u.isInteger=ho,u.isLength=mr,u.isMap=po,u.isMatch=vd,u.isMatchWith=wd,u.isNaN=yd,u.isNative=md,u.isNil=Sd,u.isNull=xd,u.isNumber=go,u.isObject=rt,u.isObjectLike=it,u.isPlainObject=Se,u.isRegExp=$i,u.isSafeInteger=Ad,u.isSet=_o,u.isString=xr,u.isSymbol=Tt,u.isTypedArray=ne,u.isUndefined=bd,u.isWeakMap=Cd,u.isWeakSet=Pd,u.join=Tl,u.kebabCase=gp,u.last=Mt,u.lastIndexOf=El,u.lowerCase=_p,u.lowerFirst=vp,u.lt=Rd,u.lte=Id,u.max=lg,u.maxBy=hg,u.mean=dg,u.meanBy=pg,u.min=gg,u.minBy=_g,u.stubArray=Ji,u.stubFalse=Zi,u.stubObject=ng,u.stubString=eg,u.stubTrue=rg,u.multiply=vg,u.nth=Ll,u.noConflict=Jp,u.noop=Gi,u.now=vr,u.pad=wp,u.padEnd=yp,u.padStart=mp,u.parseInt=xp,u.random=cp,u.reduce=Dh,u.reduceRight=Fh,u.repeat=Sp,u.replace=Ap,u.result=tp,u.round=wg,u.runInContext=h,u.sample=Nh,u.size=Mh,u.snakeCase=bp,u.some=Kh,u.sortedIndex=Bl,u.sortedIndexBy=$l,u.sortedIndexOf=Ml,u.sortedLastIndex=Kl,u.sortedLastIndexBy=ql,u.sortedLastIndexOf=kl,u.startCase=Pp,u.startsWith=Rp,u.subtract=yg,u.sum=mg,u.sumBy=xg,u.template=Ip,u.times=ig,u.toFinite=pn,u.toInteger=N,u.toLength=wo,u.toLower=Tp,u.toNumber=Kt,u.toSafeInteger=Td,u.toString=Y,u.toUpper=Ep,u.trim=Lp,u.trimEnd=Op,u.trimStart=Wp,u.truncate=Dp,u.unescape=Fp,u.uniqueId=ug,u.upperCase=Up,u.upperFirst=qi,u.each=ro,u.eachRight=io,u.first=ju,zi(u,function(){var t={};return tn(u,function(n,e){X.call(u.prototype,e)||(t[e]=n)}),t}(),{chain:!1}),u.VERSION=p,Ft(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){u[t].placeholder=u}),Ft(["drop","take"],function(t,n){G.prototype[t]=function(e){e=e===i?1:ft(N(e),0);var r=this.__filtered__&&!n?new G(this):this.clone();return r.__filtered__?r.__takeCount__=_t(e,r.__takeCount__):r.__views__.push({size:_t(e,Wt),type:t+(r.__dir__<0?"Right":"")}),r},G.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),Ft(["filter","map","takeWhile"],function(t,n){var e=n+1,r=e==Tn||e==ct;G.prototype[t]=function(s){var o=this.clone();return o.__iteratees__.push({iteratee:L(s,3),type:e}),o.__filtered__=o.__filtered__||r,o}}),Ft(["head","last"],function(t,n){var e="take"+(n?"Right":"");G.prototype[t]=function(){return this[e](1).value()[0]}}),Ft(["initial","tail"],function(t,n){var e="drop"+(n?"":"Right");G.prototype[t]=function(){return this.__filtered__?new G(this):this[e](1)}}),G.prototype.compact=function(){return this.filter(bt)},G.prototype.find=function(t){return this.filter(t).head()},G.prototype.findLast=function(t){return this.reverse().find(t)},G.prototype.invokeMap=K(function(t,n){return typeof t=="function"?new G(this):this.map(function(e){return _e(e,t,n)})}),G.prototype.reject=function(t){return this.filter(yr(L(t)))},G.prototype.slice=function(t,n){t=N(t);var e=this;return e.__filtered__&&(t>0||n<0)?new G(e):(t<0?e=e.takeRight(-t):t&&(e=e.drop(t)),n!==i&&(n=N(n),e=n<0?e.dropRight(-n):e.take(n-t)),e)},G.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},G.prototype.toArray=function(){return this.take(Wt)},tn(G.prototype,function(t,n){var e=/^(?:filter|find|map|reject)|While$/.test(n),r=/^(?:head|last)$/.test(n),s=u[r?"take"+(n=="last"?"Right":""):n],o=r||/^find/.test(n);s&&(u.prototype[n]=function(){var f=this.__wrapped__,c=r?[1]:arguments,d=f instanceof G,y=c[0],m=d||U(f),S=function(H){var J=s.apply(u,mn([H],c));return r&&A?J[0]:J};m&&e&&typeof y=="function"&&y.length!=1&&(d=m=!1);var A=this.__chain__,R=!!this.__actions__.length,O=o&&!A,B=d&&!R;if(!o&&m){f=B?f:new G(this);var W=t.apply(f,c);return W.__actions__.push({func:gr,args:[S],thisArg:i}),new Nt(W,A)}return O&&B?t.apply(this,c):(W=this.thru(S),O?r?W.value()[0]:W.value():W)})}),Ft(["pop","push","shift","sort","splice","unshift"],function(t){var n=Ke[t],e=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);u.prototype[t]=function(){var s=arguments;if(r&&!this.__chain__){var o=this.value();return n.apply(U(o)?o:[],s)}return this[e](function(f){return n.apply(U(f)?f:[],s)})}}),tn(G.prototype,function(t,n){var e=u[n];if(e){var r=e.name+"";X.call(Xn,r)||(Xn[r]=[]),Xn[r].push({name:n,func:e})}}),Xn[ar(i,_n).name]=[{name:"wrapper",func:i}],G.prototype.clone=Ff,G.prototype.reverse=Uf,G.prototype.value=Nf,u.prototype.at=hh,u.prototype.chain=dh,u.prototype.commit=ph,u.prototype.next=gh,u.prototype.plant=vh,u.prototype.reverse=wh,u.prototype.toJSON=u.prototype.valueOf=u.prototype.value=yh,u.prototype.first=u.prototype.head,fe&&(u.prototype[fe]=_h),u},Jn=pf();En?((En.exports=Jn)._=Jn,Hr._=Jn):dt._=Jn}).call(be)})(Ar,Ar.exports);var Wg=Ar.exports;const Dg=Og(Wg);class Fg{constructor(a){I(this,"config");this.config=a}async complete(a,i){var p;await this.persist(a,{...i,success:!0}),(p=this.config.logger)==null||p.debug("Transaction completed:",a)}async fail(a,i){var p;await this.persist(a,{...i,success:!1}),(p=this.config.logger)==null||p.debug("Transaction failed:",{...a,...i})}async persist(a,i){await fetch(`${this.config.apiUrl}/transactions/${a.id}`,{body:JSON.stringify(i),method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","x-persona-apikey":this.config.apiKey}})}}class Ug{constructor(a,i){I(this,"transaction");I(this,"manager");this.transaction=a,this.manager=i}getFunctionCall(){return this.transaction.functionCall}async invoke(a,i){var T;const p=this.transaction.functionCall;if(!p){await this.fail("No function call found");return}const _=p.name,v=p.args,x=a[_];if(!x){await this.fail(`Tool ${_} not found`);return}try{const b=Dg.get(i,"schema.config.parameters.properties",{}),P=(b&&Object.keys(b).length>0?Object.keys(b):((T=x.toString().replace(/\n/g," ").match(/^[^(]*\(([^)]*)\)/))==null?void 0:T[1].split(",").map(D=>D.trim()).filter(Boolean))||[]).map(D=>v[D]),z=await x.apply(null,P);await this.complete(z)}catch(b){await this.fail(`Error executing tool ${_}: ${b}`)}}async complete(a){await this.manager.complete(this.transaction,{success:!0,output:a,error:null})}async fail(a){await this.manager.fail(this.transaction,{success:!1,output:null,error:a})}}class Wo extends Ce{constructor(i){super();I(this,"status");I(this,"autostart");I(this,"session");I(this,"config");I(this,"notify",!0);I(this,"_tools");I(this,"_toolSchema",{});if(this.config=i,this.status="disconnected",this.autostart=!0,Array.isArray(i.tools)){this._tools={};for(const p of i.tools)p.schema&&p.implementation&&(this._tools[p.schema.name]=p.implementation,this._toolSchema[p.schema.name]=p)}else this._tools=i.tools}getName(){return"transaction"}getPriority(){return 0}getToolInstance(i){return this._toolSchema[i]}async connect(i){return this.setStatus("connected"),i}async disconnect(){this.setStatus("disconnected"),this.session=null}async syncSession(i){this.session=i}async sendPacket(i){}onTransaction(i){const p=new Fg(this.config),_=new Ug(i,p);if(this.config.onTransaction)this.config.onTransaction(_);else{const v=i.functionCall?this.getToolInstance(i.functionCall.name):void 0;_.invoke(this._tools,v)}}getTools(){return this._tools}}function Ng(l,a){if(Array.isArray(l))return l;if(typeof l=="object"&&l!==null){const i=a.dev?"localhost:8000":a.baseUrl||"persona.applica.guru/api",p=a.dev?"http":"https",_=a.dev?"ws":"wss";let v=Object.keys(l).map(x=>{switch(x){case"rest":return Bg(l[x],{baseEndpointProtocol:p,baseEndpoint:i,apiKey:a.apiKey,agentId:a.agentId,userId:a.userId,logger:a.logger});case"webrtc":return $g(l[x],{baseWebSocketProtocol:_,baseEndpoint:i,apiKey:a.apiKey,agentId:a.agentId,userId:a.userId,logger:a.logger});case"websocket":return Mg(l[x],{baseWebSocketProtocol:_,baseEndpoint:i,apiKey:a.apiKey,agentId:a.agentId,userId:a.userId,logger:a.logger});default:throw new Error(`Unknown protocol: ${x}`)}}).filter(x=>x!==null);return a.tools&&v.push(new Wo({apiUrl:`${p}://${i}`,apiKey:a.apiKey,agentId:a.agentId,tools:a.tools,logger:a.logger})),v}throw new Error("Invalid protocols configuration")}function Bg(l,a){return l===!0?new Xi({apiUrl:`${a.baseEndpointProtocol}://${a.baseEndpoint}`,apiKey:a.apiKey,agentId:a.agentId,userId:a.userId,logger:a.logger}):typeof l=="object"&&l!==null?new Xi(l):null}function $g(l,a){return l===!0?new Vi({webrtcUrl:`${a.baseWebSocketProtocol}://${a.baseEndpoint}/webrtc`,apiKey:a.apiKey,agentId:a.agentId,userId:a.userId,logger:a.logger}):typeof l=="object"&&l!==null?new Vi(l):null}function Mg(l,a){return l===!0?new Qi({webSocketUrl:`${a.baseWebSocketProtocol}://${a.baseEndpoint}/websocket`,apiKey:a.apiKey,agentId:a.agentId,userId:a.userId,logger:a.logger}):typeof l=="object"&&l!==null?new Qi(l):null}function Kg(l,a,i,p,_){return v=>{v.type==="message"?qg(v.payload,l,a,i,_):v.type==="reasoning"?kg(v.payload,l,a,_):v.type==="transaction"&&Hg(v.payload,l,p)}}function qg(l,a,i,p,_){l.createdAt||(l.createdAt=new Date),(l==null?void 0:l.finishReason)==="stop"&&!(l!=null&&l.functionResponse)&&!(l!=null&&l.thought)&&p(!1),l.thought&&(l.type="reasoning"),l.protocol=a.getName(),i(v=>{const x=$n([...v,l]);return _?_(x):x})}function kg(l,a,i,p){const _={type:"reasoning",text:l.thought,role:"assistant",finishReason:"stop",protocol:a.getName(),createdAt:new Date};i(v=>{const x=$n([...v,_]);return p?p(x):x})}function Hg(l,a,i){i.filter(p=>p!==a).forEach(p=>p.onTransaction(l))}function Lo(l){return new Promise((a,i)=>{const p=new FileReader;p.readAsDataURL(l),p.onload=()=>{const v=p.result.split(";base64,")[1];a(v)},p.onerror=_=>{i(_)}})}function zg(l){const a={rest:i=>i.config.apiUrl,webrtc:i=>i.config.webrtcUrl.replace("/webrtc","").replace("ws://","http://").replace("wss://","https://"),websocket:i=>i.config.webSocketUrl.replace("/websocket","").replace("ws://","http://").replace("wss://","https://")};for(const i of l){const p=a[i.getName()];if(p)return p(i)}return null}function Gg(l,a,i,p,_){return async v=>{const x=v.content.find(E=>E.type==="text"),T=v.attachments&&v.attachments.length>0;if(!x&&!T)throw new Error("Message must contain text or attachments");if(!l.some(E=>E.getName()!=="transaction"&&E.status==="connected")){a(E=>{const q={role:"assistant",type:"text",text:"No protocol is connected.",createdAt:new Date,finishReason:"stop"},j=[...E,q];return p?p(j):j});return}const $=(x==null?void 0:x.type)==="text"?x.text??"":"",P={role:"user",type:"text",text:$,createdAt:new Date};a(E=>{const q=$n([...E,P]);return p?p(q):q}),i(!0);const z=l.sort((E,q)=>q.getPriority()-E.getPriority()).find(E=>E.status==="connected"),D=[];if(v.attachments)for(const E of v.attachments)if(E.contentType.startsWith("image/")&&E.file)D.push({role:"user",image:{contentType:E.contentType,content:await Lo(E.file)},text:"",type:"text",createdAt:new Date});else if(E.content){const q=E.content.find(k=>k.type==="text");q&&"text"in q&&D.push({role:"user",file:{name:E.name,contentType:E.contentType},text:q.text,type:"text",createdAt:new Date});const j=E.content.find(k=>k.type==="file");j&&"data"in j&&D.push({role:"user",file:{name:E.name,base64:j.data,contentType:E.contentType},text:"",type:"text",createdAt:new Date})}else E.file&&D.push({role:"user",file:{name:E.name,base64:await Lo(E.file),contentType:E.contentType||"application/octet-stream"},text:"",type:"text",createdAt:new Date});$&&D.push({role:"user",text:$,type:"text",createdAt:new Date}),_==null||_.debug("Sending message:",D),await(z==null?void 0:z.sendPacket({type:"request",payload:D}))}}function Jg(l,a,i,p,_,v){return async x=>{var q;if(((q=x.content[0])==null?void 0:q.type)!=="text")throw new Error("Only text messages are supported");const T=l.sort((j,k)=>k.getPriority()-j.getPriority()).find(j=>j.status==="connected");if(!T){v==null||v.debug("No protocol available for edit");return}const b=x.parentId;if(!b){v==null||v.debug("No parent ID provided for edit");return}const $=a.findIndex(j=>j.id===b);if($===-1){v==null||v.debug("Parent message not found:",b);return}const P=a.slice(0,$+1),z={role:"user",text:x.content[0].text,type:"text",createdAt:new Date},D=$n([...P,z]);i(_?_(D):D),p(!0);const E=[{role:"user",text:x.content[0].text,type:"text",createdAt:new Date}];v==null||v.debug("Sending edited message:",E),await T.sendPacket({type:"request",payload:E})}}function Zg(l,a,i,p,_,v){return async(x,T)=>{const b=l.sort((q,j)=>j.getPriority()-q.getPriority()).find(q=>q.status==="connected");if(!b){v==null||v.debug("No protocol available for reload");return}const $=T.parentId??x;if(!$){v==null||v.debug("No parent ID provided for reload");return}const P=a.findIndex(q=>q.id===$);if(P===-1){v==null||v.debug("Parent message not found:",$);return}const z=a[P];i(q=>{const j=q.slice(0,P+1);return _?_(j):j});let D;if(z.role==="assistant"||z.role==="function"){for(let q=P-1;q>=0;q--)if(a[q].role==="user"){D=a[q];break}}else z.role==="user"&&(D=z);if(!D){v==null||v.debug("No user message found to regenerate from");return}p(!0);const E=[];D.image&&E.push({role:"user",image:D.image,text:"",type:"text",createdAt:new Date}),E.push({role:"user",text:D.text,type:"text",createdAt:new Date}),v==null||v.debug("Regenerating message with config:",{actualParentId:$,sourceId:T.sourceId,custom:T.runConfig.custom}),await b.sendPacket({type:"request",payload:E})}}function Yg(l,a,i,p){return()=>(i(!1),a(_=>{const v=_[_.length-1];if((v==null?void 0:v.role)==="assistant"&&!v.finishReason){const x=[..._];return x[x.length-1]={...v,finishReason:"stop",status:{type:"incomplete"}},p?p(x):x}return _}),l.forEach(_=>{_.status==="connected"&&_.sendPacket({type:"command",payload:{command:"set_initial_context",arguments:{cancel:!0}}}).catch(()=>{})}),Promise.resolve())}const Pe=V.createContext(void 0);function Xg(){const l=V.useContext(Pe);if(!l)throw new Error("usePersonaRuntime must be used within a PersonaRuntimeProvider");return l}function Do(l){const a=V.useContext(Pe);if(!a)throw new Error("usePersonaRuntimeProtocol must be used within a PersonaRuntimeProvider");const i=a.protocols.find(_=>_.getName()===l);if(!i)return null;const p=a.protocolsStatus.get(i.getName());return{...i,connect:i.connect.bind(i),disconnect:i.disconnect.bind(i),sendPacket:i.sendPacket.bind(i),setSession:i.setSession.bind(i),addStatusChangeListener:i.addStatusChangeListener.bind(i),addPacketListener:i.addPacketListener.bind(i),getName:i.getName.bind(i),getPriority:i.getPriority.bind(i),status:p||i.status}}function Qg(){const l=V.useContext(Pe);if(!l)throw new Error("usePersonaRuntimeEndpoint must be used within a PersonaRuntimeProvider");return zg(l.protocols)}function Vg(){return Do("webrtc")}function jg(){const l=V.useContext(Pe);if(!l)throw new Error("usePersonaRuntimeMessages must be used within a PersonaRuntimeProvider");return l.getMessages()}const Oo="DEFAULT_THREAD_ID";function t_(){const l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";let a="";for(let i=0;i<8;i++)a+=l.charAt(Math.floor(Math.random()*l.length));return a}function n_(l,a,i,p,_,v,x,T,b,$){return{threadId:l,threads:a.filter(P=>P.status==="regular").map(P=>({id:P.threadId,threadId:P.threadId,title:P.title||`Session ${P.threadId}`,status:P.status})),archivedThreads:a.filter(P=>P.status==="archived").map(P=>({id:P.threadId,threadId:P.threadId,title:P.title||`Archived Chat ${P.threadId}`,status:P.status})),onSwitchToNewThread:()=>{const P=t_(),z={threadId:P,status:"regular",title:`Session ${P}`};p(D=>[z,...D]),i(P),v==null||v(P)},onSwitchToThread:P=>{i(P),x==null||x(P)},onArchive:P=>{p(z=>z.map(D=>D.threadId===P?{...D,status:"archived"}:D)),T==null||T(P),P!==Oo&&_.archive(P)},onUnarchive:P=>{p(z=>z.map(D=>D.threadId===P?{...D,status:"regular"}:D)),b==null||b(P)},onDelete:async P=>{if(p(z=>z.filter(D=>D.threadId!==P)),l===P){const z=a.filter(D=>D.threadId!==P&&D.status==="regular");z.length>0&&i(z[0].threadId)}$==null||$(P),P!==Oo&&await _.delete(P)}}}class Fo{constructor(a){I(this,"endpoint");I(this,"apiKey");I(this,"pageSize");I(this,"logger");this.endpoint=a.endpoint.replace(/\/$/,""),this.apiKey=a.apiKey,this.pageSize=a.pageSize??200,this.logger=a.logger}buildHeaders(){const a={"Content-Type":"application/json"};return this.apiKey&&(a["x-persona-apikey"]=this.apiKey),a}async sync(a){var p,_;if(!a)return[];const i=`${this.endpoint}/sessions/${encodeURIComponent(String(a))}/messages?page=1&size=${this.pageSize}`;try{const v=await fetch(i,{method:"GET",headers:this.buildHeaders()});if(!v.ok)return(p=this.logger)==null||p.warn("PersonaSessionStorage: failed to fetch messages",v.status,await v.text()),[];const x=await v.json();return Array.isArray(x.items)?x.items.map(b=>({id:b.id??b.messageId??void 0,protocol:b.protocol,thought:b.thought,text:b.text??"",image:b.image,type:b.type??"text",role:b.role??"assistant",file:b.file,sources:b.sources,sessionId:b.sessionId??a,finishReason:b.finishReason,functionCalls:b.functionCalls,functionResponse:b.functionResponse,status:b.status,createdAt:b.createdAt?new Date(b.createdAt):void 0,metadata:b.metadata})):[]}catch(v){return(_=this.logger)==null||_.warn("PersonaSessionStorage: error fetching messages",v),[]}}async archive(a){return this._visiblility(a,"archived")}async unarchive(a){return this._visiblility(a,"active")}async delete(a){return this._visiblility(a,"deleted")}async _visiblility(a,i){var _;if(!a)return;const p=`${this.endpoint}/sessions/${encodeURIComponent(String(a))}/visibility`;try{const v=JSON.stringify({visibility:i}),x=await fetch(p,{method:"PUT",headers:this.buildHeaders(),body:v});if(!x.ok){const T=await x.text();throw(_=this.logger)==null||_.warn("PersonaSessionStorage: failed to set session visibility",x.status,T),new Error(`Failed to set session visibility: ${x.status}`)}return}catch(v){throw v}}async clearAll(){return Promise.reject(new Error("PersonaAPIMessageStorage: clearAll not supported"))}async list(a,i){const p=new URLSearchParams({page:"1",size:"100",visibility:"active"});i&&p.set("userId",i),a&&p.set("agentId",a);const _=`${this.endpoint}/sessions?${p.toString()}`;try{const v=await fetch(_,{method:"GET",headers:this.buildHeaders()});if(!v.ok)return[];const x=await v.json();return Array.isArray(x.items)?x.items.map(b=>({threadId:b.code||b.id,title:b.title||`Session ${b.code||b.id}`,status:b.status==="archived"?"archived":"regular"})):[]}catch{return[]}}}function e_({dev:l=!1,baseUrl:a,protocols:i,logger:p,children:_,session:v="new",transformMessages:x,threads:T=!1,sessionStorage:b,onThreadCreate:$,onThreadSwitch:P,onThreadRename:z,onThreadArchive:D,onThreadUnarchive:E,onThreadDelete:q,enableAttachments:j=!1,...k}){const[_n,rn]=V.useState(!1),[ht,gt]=V.useState([]),[qt,In]=V.useState(new Map),Ot=V.useRef(!1),Vt=V.useRef(!1),kt=V.useMemo(()=>b||new Fo({apiKey:k.apiKey,endpoint:a||"https://persona.applica.guru/api"}),[b,a,k.apiKey]),[Re,Ie]=V.useState([]),[Ct,Te]=V.useState(""),Tn=V.useRef(typeof v=="string"?v:"new"),Ee=V.useRef(!1);V.useEffect(()=>{!T||Ee.current||(Ee.current=!0,kt.list(k.agentId,k.userId).then(M=>{(M==null?void 0:M.length)>0&&(Ie(M),Te(M[0].threadId))}).catch(M=>p==null?void 0:p.error("Failed to load threads:",M)))},[T,kt,k.agentId,k.userId,p]);const ct=V.useMemo(()=>Ng(i,{dev:l||!1,baseUrl:a,apiKey:k.apiKey,agentId:k.agentId,userId:k.userId,tools:k.tools,logger:p}),[i,l,a,k.apiKey,k.agentId,k.userId,k.tools,p]);V.useEffect(()=>{Ot.current||(Ot.current=!0,p==null||p.debug("Setting up protocols:",ct.map(M=>M.getName())),ct.forEach(M=>{M.setSession(Tn.current),M.clearListeners(),M.addStatusChangeListener(ot=>{p==null||p.debug(`${M.getName()} status: ${ot}`),In(vn=>{const Ht=new Map(vn);return Ht.set(M.getName(),ot),Ht}),ot==="connected"&&!Vt.current&&(k.context&&M.sendPacket({type:"command",payload:{command:"set_initial_context",arguments:k.context}}).catch(()=>{}),k.tools&&Array.isArray(k.tools)&&M.sendPacket({type:"command",payload:{command:"set_local_tools",arguments:{tools:k.tools.map(vn=>vn.schema)}}}).catch(()=>{}))}),M.addPacketListener(Kg(M,gt,rn,ct,x)),M.autostart&&M.status==="disconnected"&&(p==null||p.debug(`Auto-connecting protocol: ${M.getName()}`),M.connect(Tn.current).catch(()=>{}),rn(!1))}))},[]),V.useEffect(()=>{T||!v||v==="new"||kt.sync(v).then(M=>{if(M.length>0){const ot=$n(M);gt(x?x(ot):ot),p==null||p.debug(`Loaded ${M.length} messages for session ${v}`)}}).catch(M=>{p==null||p.error("Failed to load session messages:",M)})},[]),V.useEffect(()=>{if(!T||!Ct){gt([]);return}if(Vt.current||Ct===Tn.current)return;Vt.current=!0,p==null||p.info("Switching to thread:",Ct),(async()=>{try{const ot=ct.filter(zt=>zt.status==="connected");ot.length>0&&await Promise.allSettled(ot.map(zt=>zt.disconnect())),Tn.current=Ct,await Promise.allSettled(ct.map(zt=>zt.setSession(Ct)));const vn=await kt.sync(Ct),Ht=$n(vn);gt(x?x(Ht):Ht),p==null||p.debug(`Loaded ${vn.length} messages for thread ${Ct}`);const wn=ct.filter(zt=>zt.autostart);wn.length>0&&await Promise.allSettled(wn.map(zt=>zt.connect(Ct)))}catch(ot){p==null||p.error("Failed to switch thread:",ot),gt([])}finally{Vt.current=!1}})()},[Ct,T,ct,kt,x,p]);const sn=V.useCallback(Gg(ct,gt,rn,x,p),[ct,x,p]),jt=V.useCallback(Jg(ct,ht,gt,rn,x,p),[ct,ht,x,p]),Cr=V.useCallback(Zg(ct,ht,gt,rn,x,p),[ct,ht,x,p]),Kn=V.useCallback(Yg(ct,gt,rn,x),[ct,x]),Wt=V.useCallback(M=>{const ot=$n([...M]);gt(x?x(ot):ot)},[x]),Pr=V.useCallback(()=>ht,[ht]),Le=V.useMemo(()=>{if(T)return n_(Ct,Re,Te,Ie,kt,$,P,D,E,q)},[T,Ct,Re,kt,$,P,D,E,q,p]),Rr=Ae.useExternalStoreRuntime({isRunning:_n,messages:ht,convertMessage:Eg,setMessages:Wt,onNew:sn,onEdit:jt,onCancel:Kn,onReload:Cr,adapters:{...j?{attachments:new Ae.CompositeAttachmentAdapter([new Ae.SimpleImageAttachmentAdapter,new Ae.SimpleTextAttachmentAdapter,new Cg])}:{},...Le?{threadList:Le}:{}}});return Yi.jsx(Pe.Provider,{value:{protocols:ct,protocolsStatus:qt,getMessages:Pr},children:Yi.jsx(Ae.AssistantRuntimeProvider,{runtime:Rr,children:_})})}function r_({children:l,...a}){return Yi.jsx(e_,{...a,children:l})}class i_{constructor(){I(this,"prefix","[Persona]")}log(a,...i){console.log(`${this.prefix} - ${a}`,...i)}info(a,...i){console.info(`${this.prefix} - ${a}`,...i)}warn(a,...i){console.warn(`${this.prefix} - ${a}`,...i)}error(a,...i){console.error(`${this.prefix} - ${a}`,...i)}debug(a,...i){console.debug(`${this.prefix} - ${a}`,...i)}}function Mn(l,a,i){return{type:l,description:a,...i}}function Uo(l){const a=Object.entries(l.parameters).filter(([i,p])=>p.required).map(([i])=>i);return{type:"local",name:l.name,description:l.description,config:{timeout:l.timeout||60,parameters:{type:"object",title:l.title||`${l.name} parameters`,required:a,properties:l.parameters},output:{type:"object",title:`${l.name} output`,properties:l.output}}}}function br(l){return{schema:Uo(l),implementation:l.implementation}}function No(l,a,i,p,_,v){const x={name:l,description:a,title:v==null?void 0:v.title,timeout:v==null?void 0:v.timeout,parameters:p,output:_,implementation:i};return br(x)}const s_=No("sum","Sum two numbers",function(a,i){return{result:a+i}},{a:Mn("number","First number to sum",{required:!0}),b:Mn("number","Second number to sum",{required:!0})},{result:Mn("number","Sum of two numbers")}),u_=br({name:"navigate_to",description:"Allow agent to redirect user to specific sub page like /foo or #/foo or anything like that",title:"Sum two numbers",timeout:60,parameters:{a:Mn("number","First number to sum"),b:Mn("number","Seconth number to sum")},output:{result:Mn("number","Sum of two numbers")},implementation:function(a,i){return{result:a+i}}});function o_(l){const a=[],i={};return l.forEach(p=>{const{schema:_,implementation:v}=br(p);a.push(_),i[p.name]=v}),{schemas:a,implementations:i}}function a_(l,a){const{required:i,properties:p}=a.config.parameters;for(const _ of i)if(!(_ in l))throw new Error(`Missing required parameter: ${_}`);for(const[_,v]of Object.entries(l)){const x=p[_];if(x){if(x.type==="number"&&typeof v!="number")throw new Error(`Parameter ${_} should be a number`);if(x.type==="string"&&typeof v!="string")throw new Error(`Parameter ${_} should be a string`);if(x.type==="boolean"&&typeof v!="boolean")throw new Error(`Parameter ${_} should be a boolean`)}}return!0}class f_{constructor(a){I(this,"baseUrl");I(this,"apiKey");this.baseUrl=a.baseUrl.replace(/\/$/,""),this.apiKey=a.apiKey}async request(a,i){const p=await fetch(`${this.baseUrl}${a}`,{...i,headers:{"Content-Type":"application/json","x-persona-apikey":this.apiKey,...(i==null?void 0:i.headers)??{}}});if(!p.ok)throw new Error(await p.text());return await p.json()}async getSubscription(a){return this.request(`/projects/${a}/subscription`)}async changeSubscriptionPlan(a,i){return this.request(`/projects/${a}/subscription/actions/change-plan`,{method:"POST",body:JSON.stringify({toPlanType:i})})}async addSubscriptionCredits(a,i){return this.request(`/projects/${a}/subscription/actions/add-credits`,{method:"POST",body:JSON.stringify({credits:i})})}}exports.PersonaConsoleLogger=i_;exports.PersonaProtocolBase=Ce;exports.PersonaRESTProtocol=Xi;exports.PersonaRuntimeProvider=r_;exports.PersonaSessionStorage=Fo;exports.PersonaTransactionProtocol=Wo;exports.PersonaWebRTCProtocol=Vi;exports.PersonaWebSocketProtocol=Qi;exports.ProjectsApi=f_;exports.createParameter=Mn;exports.createTool=br;exports.createToolFromFunction=No;exports.createToolRegistry=o_;exports.generateToolSchema=Uo;exports.navigateToToolExample=u_;exports.sumTool=s_;exports.usePersonaRuntime=Xg;exports.usePersonaRuntimeEndpoint=Qg;exports.usePersonaRuntimeMessages=jg;exports.usePersonaRuntimeProtocol=Do;exports.usePersonaRuntimeWebRTCProtocol=Vg;exports.validateToolParameters=a_;
27
+ }`;var M=Eo(function(){return J(o,R+"return "+S).apply(i,f)});if(M.source=S,$i(M))throw M;return M}function Ep(t){return Y(t).toLowerCase()}function Tp(t){return Y(t).toUpperCase()}function Lp(t,n,e){if(t=Y(t),t&&(e||n===i))return Ns(t);if(!t||!(n=Ot(n)))return t;var r=Yt(t),s=Yt(n),o=$s(r,s),f=Bs(r,s)+1;return Pn(r,o,f).join("")}function Op(t,n,e){if(t=Y(t),t&&(e||n===i))return t.slice(0,Ks(t)+1);if(!t||!(n=Ot(n)))return t;var r=Yt(t),s=Bs(r,Yt(n))+1;return Pn(r,0,s).join("")}function Wp(t,n,e){if(t=Y(t),t&&(e||n===i))return t.replace($r,"");if(!t||!(n=Ot(n)))return t;var r=Yt(t),s=$s(r,Yt(n));return Pn(r,s).join("")}function Dp(t,n){var e=Re,r=ie;if(rt(n)){var s="separator"in n?n.separator:s;e="length"in n?B(n.length):e,r="omission"in n?Ot(n.omission):r}t=Y(t);var o=t.length;if(zn(t)){var f=Yt(t);o=f.length}if(e>=o)return t;var c=e-Gn(r);if(c<1)return r;var d=f?Pn(f,0,c).join(""):t.slice(0,c);if(s===i)return d+r;if(f&&(c+=d.length-c),Bi(s)){if(t.slice(c).search(s)){var y,m=d;for(s.global||(s=ni(s.source,Y(ss.exec(s))+"g")),s.lastIndex=0;y=s.exec(m);)var S=y.index;d=d.slice(0,S===i?c:S)}}else if(t.indexOf(Ot(s),c)!=c){var b=d.lastIndexOf(s);b>-1&&(d=d.slice(0,b))}return d+r}function Fp(t){return t=Y(t),t&&zo.test(t)?t.replace(es,cf):t}var Up=jn(function(t,n,e){return t+(e?" ":"")+n.toUpperCase()}),qi=Eu("toUpperCase");function Ro(t,n,e){return t=Y(t),n=e?i:n,n===i?sf(t)?df(t):Ya(t):t.match(n)||[]}var Eo=q(function(t,n){try{return Tt(t,i,n)}catch(e){return $i(e)?e:new F(e)}}),Np=hn(function(t,n){return Bt(n,function(e){e=rn(e),cn(t,e,Ui(t[e],t))}),t});function $p(t){var n=t==null?0:t.length,e=L();return t=n?et(t,function(r){if(typeof r[1]!="function")throw new Mt(x);return[e(r[0]),r[1]]}):[],q(function(r){for(var s=-1;++s<n;){var o=t[s];if(Tt(o[0],this,r))return Tt(o[1],this,r)}})}function Bp(t){return cc(qt(t,A))}function ki(t){return function(){return t}}function Mp(t,n){return t==null||t!==t?n:t}var Kp=Lu(),qp=Lu(!0);function It(t){return t}function Hi(t){return ou(typeof t=="function"?t:qt(t,A))}function kp(t){return fu(qt(t,A))}function Hp(t,n){return cu(t,qt(n,A))}var zp=q(function(t,n){return function(e){return we(e,t,n)}}),Gp=q(function(t,n){return function(e){return we(t,e,n)}});function zi(t,n,e){var r=lt(n),s=rr(n,r);e==null&&!(rt(n)&&(s.length||!r.length))&&(e=n,n=t,t=this,s=rr(n,lt(n)));var o=!(rt(e)&&"chain"in e)||!!e.chain,f=pn(t);return Bt(s,function(c){var d=n[c];t[c]=d,f&&(t.prototype[c]=function(){var y=this.__chain__;if(o||y){var m=t(this.__wrapped__),S=m.__actions__=bt(this.__actions__);return S.push({func:d,args:arguments,thisArg:t}),m.__chain__=y,m}return d.apply(t,mn([this.value()],arguments))})}),t}function Jp(){return dt._===this&&(dt._=yf),this}function Gi(){}function Zp(t){return t=B(t),q(function(n){return lu(n,t)})}var Yp=Ai(et),Xp=Ai(Os),Qp=Ai(Zr);function To(t){return Ti(t)?Yr(rn(t)):Ic(t)}function Vp(t){return function(n){return t==null?i:Fn(t,n)}}var jp=Wu(),tg=Wu(!0);function Ji(){return[]}function Zi(){return!1}function ng(){return{}}function eg(){return""}function rg(){return!0}function ig(t,n){if(t=B(t),t<1||t>tn)return[];var e=Nt,r=_t(t,Nt);n=L(n),t-=Nt;for(var s=Vr(r,n);++e<t;)n(e);return s}function sg(t){return U(t)?et(t,rn):Wt(t)?[t]:bt(Yu(Y(t)))}function ug(t){var n=++vf;return Y(t)+n}var og=fr(function(t,n){return t+n},0),ag=bi("ceil"),fg=fr(function(t,n){return t/n},1),cg=bi("floor");function lg(t){return t&&t.length?er(t,It,fi):i}function hg(t,n){return t&&t.length?er(t,L(n,2),fi):i}function dg(t){return Fs(t,It)}function pg(t,n){return Fs(t,L(n,2))}function gg(t){return t&&t.length?er(t,It,di):i}function _g(t,n){return t&&t.length?er(t,L(n,2),di):i}var vg=fr(function(t,n){return t*n},1),wg=bi("round"),yg=fr(function(t,n){return t-n},0);function mg(t){return t&&t.length?Qr(t,It):0}function xg(t,n){return t&&t.length?Qr(t,L(n,2)):0}return u.after=kh,u.ary=uo,u.assign=Td,u.assignIn=xo,u.assignInWith=Sr,u.assignWith=Ld,u.at=Od,u.before=oo,u.bind=Ui,u.bindAll=Np,u.bindKey=ao,u.castArray=nd,u.chain=ro,u.chunk=cl,u.compact=ll,u.concat=hl,u.cond=$p,u.conforms=Bp,u.constant=ki,u.countBy=mh,u.create=Wd,u.curry=fo,u.curryRight=co,u.debounce=lo,u.defaults=Dd,u.defaultsDeep=Fd,u.defer=Hh,u.delay=zh,u.difference=dl,u.differenceBy=pl,u.differenceWith=gl,u.drop=_l,u.dropRight=vl,u.dropRightWhile=wl,u.dropWhile=yl,u.fill=ml,u.filter=Sh,u.flatMap=Ch,u.flatMapDeep=Ph,u.flatMapDepth=Ih,u.flatten=ju,u.flattenDeep=xl,u.flattenDepth=Sl,u.flip=Gh,u.flow=Kp,u.flowRight=qp,u.fromPairs=Al,u.functions=qd,u.functionsIn=kd,u.groupBy=Rh,u.initial=Cl,u.intersection=Pl,u.intersectionBy=Il,u.intersectionWith=Rl,u.invert=zd,u.invertBy=Gd,u.invokeMap=Th,u.iteratee=Hi,u.keyBy=Lh,u.keys=lt,u.keysIn=Pt,u.map=_r,u.mapKeys=Zd,u.mapValues=Yd,u.matches=kp,u.matchesProperty=Hp,u.memoize=wr,u.merge=Xd,u.mergeWith=So,u.method=zp,u.methodOf=Gp,u.mixin=zi,u.negate=yr,u.nthArg=Zp,u.omit=Qd,u.omitBy=Vd,u.once=Jh,u.orderBy=Oh,u.over=Yp,u.overArgs=Zh,u.overEvery=Xp,u.overSome=Qp,u.partial=Ni,u.partialRight=ho,u.partition=Wh,u.pick=jd,u.pickBy=Ao,u.property=To,u.propertyOf=Vp,u.pull=Ol,u.pullAll=no,u.pullAllBy=Wl,u.pullAllWith=Dl,u.pullAt=Fl,u.range=jp,u.rangeRight=tg,u.rearg=Yh,u.reject=Uh,u.remove=Ul,u.rest=Xh,u.reverse=Di,u.sampleSize=$h,u.set=np,u.setWith=ep,u.shuffle=Bh,u.slice=Nl,u.sortBy=qh,u.sortedUniq=Hl,u.sortedUniqBy=zl,u.split=Cp,u.spread=Qh,u.tail=Gl,u.take=Jl,u.takeRight=Zl,u.takeRightWhile=Yl,u.takeWhile=Xl,u.tap=lh,u.throttle=Vh,u.thru=gr,u.toArray=wo,u.toPairs=bo,u.toPairsIn=Co,u.toPath=sg,u.toPlainObject=mo,u.transform=rp,u.unary=jh,u.union=Ql,u.unionBy=Vl,u.unionWith=jl,u.uniq=th,u.uniqBy=nh,u.uniqWith=eh,u.unset=ip,u.unzip=Fi,u.unzipWith=eo,u.update=sp,u.updateWith=up,u.values=ee,u.valuesIn=op,u.without=rh,u.words=Ro,u.wrap=td,u.xor=ih,u.xorBy=sh,u.xorWith=uh,u.zip=oh,u.zipObject=ah,u.zipObjectDeep=fh,u.zipWith=ch,u.entries=bo,u.entriesIn=Co,u.extend=xo,u.extendWith=Sr,zi(u,u),u.add=og,u.attempt=Eo,u.camelCase=lp,u.capitalize=Po,u.ceil=ag,u.clamp=ap,u.clone=ed,u.cloneDeep=id,u.cloneDeepWith=sd,u.cloneWith=rd,u.conformsTo=ud,u.deburr=Io,u.defaultTo=Mp,u.divide=fg,u.endsWith=hp,u.eq=Qt,u.escape=dp,u.escapeRegExp=pp,u.every=xh,u.find=Ah,u.findIndex=Qu,u.findKey=Ud,u.findLast=bh,u.findLastIndex=Vu,u.findLastKey=Nd,u.floor=cg,u.forEach=io,u.forEachRight=so,u.forIn=$d,u.forInRight=Bd,u.forOwn=Md,u.forOwnRight=Kd,u.get=Mi,u.gt=od,u.gte=ad,u.has=Hd,u.hasIn=Ki,u.head=to,u.identity=It,u.includes=Eh,u.indexOf=bl,u.inRange=fp,u.invoke=Jd,u.isArguments=$n,u.isArray=U,u.isArrayBuffer=fd,u.isArrayLike=Ct,u.isArrayLikeObject=st,u.isBoolean=cd,u.isBuffer=In,u.isDate=ld,u.isElement=hd,u.isEmpty=dd,u.isEqual=pd,u.isEqualWith=gd,u.isError=$i,u.isFinite=_d,u.isFunction=pn,u.isInteger=po,u.isLength=mr,u.isMap=go,u.isMatch=vd,u.isMatchWith=wd,u.isNaN=yd,u.isNative=md,u.isNil=Sd,u.isNull=xd,u.isNumber=_o,u.isObject=rt,u.isObjectLike=it,u.isPlainObject=be,u.isRegExp=Bi,u.isSafeInteger=Ad,u.isSet=vo,u.isString=xr,u.isSymbol=Wt,u.isTypedArray=ne,u.isUndefined=bd,u.isWeakMap=Cd,u.isWeakSet=Pd,u.join=El,u.kebabCase=gp,u.last=Ht,u.lastIndexOf=Tl,u.lowerCase=_p,u.lowerFirst=vp,u.lt=Id,u.lte=Rd,u.max=lg,u.maxBy=hg,u.mean=dg,u.meanBy=pg,u.min=gg,u.minBy=_g,u.stubArray=Ji,u.stubFalse=Zi,u.stubObject=ng,u.stubString=eg,u.stubTrue=rg,u.multiply=vg,u.nth=Ll,u.noConflict=Jp,u.noop=Gi,u.now=vr,u.pad=wp,u.padEnd=yp,u.padStart=mp,u.parseInt=xp,u.random=cp,u.reduce=Dh,u.reduceRight=Fh,u.repeat=Sp,u.replace=Ap,u.result=tp,u.round=wg,u.runInContext=h,u.sample=Nh,u.size=Mh,u.snakeCase=bp,u.some=Kh,u.sortedIndex=$l,u.sortedIndexBy=Bl,u.sortedIndexOf=Ml,u.sortedLastIndex=Kl,u.sortedLastIndexBy=ql,u.sortedLastIndexOf=kl,u.startCase=Pp,u.startsWith=Ip,u.subtract=yg,u.sum=mg,u.sumBy=xg,u.template=Rp,u.times=ig,u.toFinite=gn,u.toInteger=B,u.toLength=yo,u.toLower=Ep,u.toNumber=zt,u.toSafeInteger=Ed,u.toString=Y,u.toUpper=Tp,u.trim=Lp,u.trimEnd=Op,u.trimStart=Wp,u.truncate=Dp,u.unescape=Fp,u.uniqueId=ug,u.upperCase=Up,u.upperFirst=qi,u.each=io,u.eachRight=so,u.first=to,zi(u,function(){var t={};return nn(u,function(n,e){X.call(u.prototype,e)||(t[e]=n)}),t}(),{chain:!1}),u.VERSION=p,Bt(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){u[t].placeholder=u}),Bt(["drop","take"],function(t,n){z.prototype[t]=function(e){e=e===i?1:ft(B(e),0);var r=this.__filtered__&&!n?new z(this):this.clone();return r.__filtered__?r.__takeCount__=_t(e,r.__takeCount__):r.__views__.push({size:_t(e,Nt),type:t+(r.__dir__<0?"Right":"")}),r},z.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),Bt(["filter","map","takeWhile"],function(t,n){var e=n+1,r=e==En||e==ct;z.prototype[t]=function(s){var o=this.clone();return o.__iteratees__.push({iteratee:L(s,3),type:e}),o.__filtered__=o.__filtered__||r,o}}),Bt(["head","last"],function(t,n){var e="take"+(n?"Right":"");z.prototype[t]=function(){return this[e](1).value()[0]}}),Bt(["initial","tail"],function(t,n){var e="drop"+(n?"":"Right");z.prototype[t]=function(){return this.__filtered__?new z(this):this[e](1)}}),z.prototype.compact=function(){return this.filter(It)},z.prototype.find=function(t){return this.filter(t).head()},z.prototype.findLast=function(t){return this.reverse().find(t)},z.prototype.invokeMap=q(function(t,n){return typeof t=="function"?new z(this):this.map(function(e){return we(e,t,n)})}),z.prototype.reject=function(t){return this.filter(yr(L(t)))},z.prototype.slice=function(t,n){t=B(t);var e=this;return e.__filtered__&&(t>0||n<0)?new z(e):(t<0?e=e.takeRight(-t):t&&(e=e.drop(t)),n!==i&&(n=B(n),e=n<0?e.dropRight(-n):e.take(n-t)),e)},z.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},z.prototype.toArray=function(){return this.take(Nt)},nn(z.prototype,function(t,n){var e=/^(?:filter|find|map|reject)|While$/.test(n),r=/^(?:head|last)$/.test(n),s=u[r?"take"+(n=="last"?"Right":""):n],o=r||/^find/.test(n);s&&(u.prototype[n]=function(){var f=this.__wrapped__,c=r?[1]:arguments,d=f instanceof z,y=c[0],m=d||U(f),S=function(H){var G=s.apply(u,mn([H],c));return r&&b?G[0]:G};m&&e&&typeof y=="function"&&y.length!=1&&(d=m=!1);var b=this.__chain__,R=!!this.__actions__.length,O=o&&!b,M=d&&!R;if(!o&&m){f=M?f:new z(this);var W=t.apply(f,c);return W.__actions__.push({func:gr,args:[S],thisArg:i}),new Kt(W,b)}return O&&M?t.apply(this,c):(W=this.thru(S),O?r?W.value()[0]:W.value():W)})}),Bt(["pop","push","shift","sort","splice","unshift"],function(t){var n=Ke[t],e=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);u.prototype[t]=function(){var s=arguments;if(r&&!this.__chain__){var o=this.value();return n.apply(U(o)?o:[],s)}return this[e](function(f){return n.apply(U(f)?f:[],s)})}}),nn(z.prototype,function(t,n){var e=u[n];if(e){var r=e.name+"";X.call(Xn,r)||(Xn[r]=[]),Xn[r].push({name:n,func:e})}}),Xn[ar(i,vn).name]=[{name:"wrapper",func:i}],z.prototype.clone=Ff,z.prototype.reverse=Uf,z.prototype.value=Nf,u.prototype.at=hh,u.prototype.chain=dh,u.prototype.commit=ph,u.prototype.next=gh,u.prototype.plant=vh,u.prototype.reverse=wh,u.prototype.toJSON=u.prototype.valueOf=u.prototype.value=yh,u.prototype.first=u.prototype.head,le&&(u.prototype[le]=_h),u},Jn=pf();Tn?((Tn.exports=Jn)._=Jn,Hr._=Jn):dt._=Jn}).call(Pe)})(Ar,Ar.exports);var Wg=Ar.exports;const Dg=Og(Wg);class Fg{constructor(a){E(this,"config");this.config=a}async complete(a,i){var p;await this.persist(a,{...i,success:!0}),(p=this.config.logger)==null||p.debug("Transaction completed:",a)}async fail(a,i){var p;await this.persist(a,{...i,success:!1}),(p=this.config.logger)==null||p.debug("Transaction failed:",{...a,...i})}async persist(a,i){await fetch(`${this.config.apiUrl}/transactions/${a.id}`,{body:JSON.stringify(i),method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","x-persona-apikey":this.config.apiKey}})}}class Ug{constructor(a,i){E(this,"transaction");E(this,"manager");this.transaction=a,this.manager=i}getFunctionCall(){return this.transaction.functionCall}async invoke(a,i){var T;const p=this.transaction.functionCall;if(!p){await this.fail("No function call found");return}const g=p.name,v=p.args,x=a[g];if(!x){await this.fail(`Tool ${g} not found`);return}try{const C=Dg.get(i,"schema.config.parameters.properties",{}),Z=(C&&Object.keys(C).length>0?Object.keys(C):((T=x.toString().replace(/\n/g," ").match(/^[^(]*\(([^)]*)\)/))==null?void 0:T[1].split(",").map(D=>D.trim()).filter(Boolean))||[]).map(D=>v[D]),A=await x.apply(null,Z);await this.complete(A)}catch(C){await this.fail(`Error executing tool ${g}: ${C}`)}}async complete(a){await this.manager.complete(this.transaction,{success:!0,output:a,error:null})}async fail(a){await this.manager.fail(this.transaction,{success:!1,output:null,error:a})}}class Wo extends Ie{constructor(i){super();E(this,"status");E(this,"autostart");E(this,"session");E(this,"config");E(this,"notify",!0);E(this,"_tools");E(this,"_toolSchema",{});if(this.config=i,this.status="disconnected",this.autostart=!0,Array.isArray(i.tools)){this._tools={};for(const p of i.tools)p.schema&&p.implementation&&(this._tools[p.schema.name]=p.implementation,this._toolSchema[p.schema.name]=p)}else this._tools=i.tools}getName(){return"transaction"}getPriority(){return 0}getToolInstance(i){return this._toolSchema[i]}async connect(i){return this.setStatus("connected"),i}async disconnect(){this.setStatus("disconnected"),this.session=null}async syncSession(i){this.session=i}async sendPacket(i){}onTransaction(i){const p=new Fg(this.config),g=new Ug(i,p);if(this.config.onTransaction)this.config.onTransaction(g);else{const v=i.functionCall?this.getToolInstance(i.functionCall.name):void 0;g.invoke(this._tools,v)}}getTools(){return this._tools}}function Ng(l,a){if(Array.isArray(l))return l;if(typeof l=="object"&&l!==null){const i=a.dev?"localhost:8000":a.baseUrl||"persona.applica.guru/api",p=a.dev?"http":"https",g=a.dev?"ws":"wss";let v=Object.keys(l).map(x=>{switch(x){case"rest":return $g(l[x],{baseEndpointProtocol:p,baseEndpoint:i,apiKey:a.apiKey,agentId:a.agentId,userId:a.userId,logger:a.logger});case"webrtc":return Bg(l[x],{baseWebSocketProtocol:g,baseEndpoint:i,apiKey:a.apiKey,agentId:a.agentId,userId:a.userId,logger:a.logger});case"websocket":return Mg(l[x],{baseWebSocketProtocol:g,baseEndpoint:i,apiKey:a.apiKey,agentId:a.agentId,userId:a.userId,logger:a.logger});default:throw new Error(`Unknown protocol: ${x}`)}}).filter(x=>x!==null);return a.tools&&v.push(new Wo({apiUrl:`${p}://${i}`,apiKey:a.apiKey,agentId:a.agentId,tools:a.tools,logger:a.logger})),v}throw new Error("Invalid protocols configuration")}function $g(l,a){return l===!0?new Qi({apiUrl:`${a.baseEndpointProtocol}://${a.baseEndpoint}`,apiKey:a.apiKey,agentId:a.agentId,userId:a.userId,logger:a.logger}):typeof l=="object"&&l!==null?new Qi(l):null}function Bg(l,a){return l===!0?new ji({webrtcUrl:`${a.baseWebSocketProtocol}://${a.baseEndpoint}/webrtc`,apiKey:a.apiKey,agentId:a.agentId,userId:a.userId,logger:a.logger}):typeof l=="object"&&l!==null?new ji(l):null}function Mg(l,a){return l===!0?new Vi({webSocketUrl:`${a.baseWebSocketProtocol}://${a.baseEndpoint}/websocket`,apiKey:a.apiKey,agentId:a.agentId,userId:a.userId,logger:a.logger}):typeof l=="object"&&l!==null?new Vi(l):null}function Kg(l,a,i,p,g){return v=>{v.type==="message"?qg(v.payload,l,a,i,g):v.type==="reasoning"?kg(v.payload,l,a,g):v.type==="transaction"&&Hg(v.payload,l,p)}}function qg(l,a,i,p,g){l.createdAt||(l.createdAt=new Date),(l==null?void 0:l.finishReason)==="stop"&&!(l!=null&&l.functionResponse)&&!(l!=null&&l.thought)&&p(!1),l.thought&&(l.type="reasoning"),l.protocol=a.getName(),i(v=>{const x=Bn([...v,l]);return g?g(x):x})}function kg(l,a,i,p){const g={type:"reasoning",text:l.thought,role:"assistant",finishReason:"stop",protocol:a.getName(),createdAt:new Date};i(v=>{const x=Bn([...v,g]);return p?p(x):x})}function Hg(l,a,i){i.filter(p=>p!==a).forEach(p=>p.onTransaction(l))}function Oo(l){return new Promise((a,i)=>{const p=new FileReader;p.readAsDataURL(l),p.onload=()=>{const v=p.result.split(";base64,")[1];a(v)},p.onerror=g=>{i(g)}})}function zg(l){const a={rest:i=>i.config.apiUrl,webrtc:i=>i.config.webrtcUrl.replace("/webrtc","").replace("ws://","http://").replace("wss://","https://"),websocket:i=>i.config.webSocketUrl.replace("/websocket","").replace("ws://","http://").replace("wss://","https://")};for(const i of l){const p=a[i.getName()];if(p)return p(i)}return null}function Gg(l,a,i,p,g){return async v=>{const x=v.content.find(P=>P.type==="text"),T=v.attachments&&v.attachments.length>0;if(!x&&!T)throw new Error("Message must contain text or attachments");if(!l.some(P=>P.getName()!=="transaction"&&P.status==="connected")){a(P=>{const N={role:"assistant",type:"text",text:"No protocol is connected.",createdAt:new Date,finishReason:"stop"},j=[...P,N];return p?p(j):j});return}const K=(x==null?void 0:x.type)==="text"?x.text??"":"",Z={role:"user",type:"text",text:K,createdAt:new Date};a(P=>{const N=Bn([...P,Z]);return p?p(N):N}),i(!0);const A=l.sort((P,N)=>N.getPriority()-P.getPriority()).find(P=>P.status==="connected"),D=[];if(v.attachments)for(const P of v.attachments)if(P.contentType.startsWith("image/")&&P.file)D.push({role:"user",image:{contentType:P.contentType,content:await Oo(P.file)},text:"",type:"text",createdAt:new Date});else if(P.content){const N=P.content.find(k=>k.type==="text");N&&"text"in N&&D.push({role:"user",file:{name:P.name,contentType:P.contentType},text:N.text,type:"text",createdAt:new Date});const j=P.content.find(k=>k.type==="file");j&&"data"in j&&D.push({role:"user",file:{name:P.name,base64:j.data,contentType:P.contentType},text:"",type:"text",createdAt:new Date})}else P.file&&D.push({role:"user",file:{name:P.name,base64:await Oo(P.file),contentType:P.contentType||"application/octet-stream"},text:"",type:"text",createdAt:new Date});K&&D.push({role:"user",text:K,type:"text",createdAt:new Date}),g==null||g.debug("Sending message:",D),await(A==null?void 0:A.sendPacket({type:"request",payload:D}))}}function Jg(l,a,i,p,g,v){return async x=>{var N;if(((N=x.content[0])==null?void 0:N.type)!=="text")throw new Error("Only text messages are supported");const T=l.sort((j,k)=>k.getPriority()-j.getPriority()).find(j=>j.status==="connected");if(!T){v==null||v.debug("No protocol available for edit");return}const C=x.parentId;if(!C){v==null||v.debug("No parent ID provided for edit");return}const K=a.findIndex(j=>j.id===C);if(K===-1){v==null||v.debug("Parent message not found:",C);return}const Z=a.slice(0,K+1),A={role:"user",text:x.content[0].text,type:"text",createdAt:new Date},D=Bn([...Z,A]);i(g?g(D):D),p(!0);const P=[{role:"user",text:x.content[0].text,type:"text",createdAt:new Date}];v==null||v.debug("Sending edited message:",P),await T.sendPacket({type:"request",payload:P})}}function Zg(l,a,i,p,g,v){return async(x,T)=>{const C=l.sort((N,j)=>j.getPriority()-N.getPriority()).find(N=>N.status==="connected");if(!C){v==null||v.debug("No protocol available for reload");return}const K=T.parentId??x;if(!K){v==null||v.debug("No parent ID provided for reload");return}const Z=a.findIndex(N=>N.id===K);if(Z===-1){v==null||v.debug("Parent message not found:",K);return}const A=a[Z];i(N=>{const j=N.slice(0,Z+1);return g?g(j):j});let D;if(A.role==="assistant"||A.role==="function"){for(let N=Z-1;N>=0;N--)if(a[N].role==="user"){D=a[N];break}}else A.role==="user"&&(D=A);if(!D){v==null||v.debug("No user message found to regenerate from");return}p(!0);const P=[];D.image&&P.push({role:"user",image:D.image,text:"",type:"text",createdAt:new Date}),P.push({role:"user",text:D.text,type:"text",createdAt:new Date}),v==null||v.debug("Regenerating message with config:",{actualParentId:K,sourceId:T.sourceId,custom:T.runConfig.custom}),await C.sendPacket({type:"request",payload:P})}}function Yg(l,a,i,p){return()=>(i(!1),a(g=>{const v=g[g.length-1];if((v==null?void 0:v.role)==="assistant"&&!v.finishReason){const x=[...g];return x[x.length-1]={...v,finishReason:"stop",status:{type:"incomplete"}},p?p(x):x}return g}),l.forEach(g=>{g.status==="connected"&&g.sendPacket({type:"command",payload:{command:"set_initial_context",arguments:{cancel:!0}}}).catch(()=>{})}),Promise.resolve())}const re=Q.createContext(void 0);function Xg(){const l=Q.useContext(re);if(!l)throw new Error("usePersonaRuntime must be used within a PersonaRuntimeProvider");return l}function Do(l){const a=Q.useContext(re);if(!a)throw new Error("usePersonaRuntimeProtocol must be used within a PersonaRuntimeProvider");const i=a.protocols.find(g=>g.getName()===l);if(!i)return null;const p=a.protocolsStatus.get(i.getName());return{...i,connect:i.connect.bind(i),disconnect:i.disconnect.bind(i),sendPacket:i.sendPacket.bind(i),setSession:i.setSession.bind(i),addStatusChangeListener:i.addStatusChangeListener.bind(i),addPacketListener:i.addPacketListener.bind(i),getName:i.getName.bind(i),getPriority:i.getPriority.bind(i),status:p||i.status}}function Qg(){const l=Q.useContext(re);if(!l)throw new Error("usePersonaRuntimeEndpoint must be used within a PersonaRuntimeProvider");return zg(l.protocols)}function Vg(){return Do("webrtc")}function jg(){const l=Q.useContext(re);if(!l)throw new Error("usePersonaRenameThread must be used within a PersonaRuntimeProvider");return l.renameThread}function t_(){const l=Q.useContext(re);if(!l)throw new Error("usePersonaRuntimeMessages must be used within a PersonaRuntimeProvider");return l.getMessages()}const Yi="DEFAULT_THREAD_ID";function n_(){const l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";let a="";for(let i=0;i<8;i++)a+=l.charAt(Math.floor(Math.random()*l.length));return a}function e_(l,a,i,p,g,v,x,T,C,K,Z){return{threadId:l,threads:a.filter(A=>A.status==="regular").map(A=>({id:A.threadId,threadId:A.threadId,title:A.title||`Session ${A.threadId}`,status:A.status})),archivedThreads:a.filter(A=>A.status==="archived").map(A=>({id:A.threadId,threadId:A.threadId,title:A.title||`Archived Chat ${A.threadId}`,status:A.status})),onSwitchToNewThread:()=>{const A=n_(),D={threadId:A,status:"regular",title:`Session ${A}`};p(P=>[D,...P]),i(A),v==null||v(A)},onSwitchToThread:A=>{i(A),x==null||x(A)},onArchive:A=>{p(D=>D.map(P=>P.threadId===A?{...P,status:"archived"}:P)),T==null||T(A),A!==Yi&&g.archive(A)},onUnarchive:A=>{p(D=>D.map(P=>P.threadId===A?{...P,status:"regular"}:P)),C==null||C(A)},onRename:(A,D)=>{p(P=>P.map(N=>N.threadId===A?{...N,title:D}:N)),Z==null||Z(A,D),A!==Yi&&g.rename(A,D)},onDelete:async A=>{if(p(D=>D.filter(P=>P.threadId!==A)),l===A){const D=a.filter(P=>P.threadId!==A&&P.status==="regular");D.length>0&&i(D[0].threadId)}K==null||K(A),A!==Yi&&await g.delete(A)}}}class Fo{constructor(a){E(this,"endpoint");E(this,"apiKey");E(this,"pageSize");E(this,"logger");this.endpoint=a.endpoint.replace(/\/$/,""),this.apiKey=a.apiKey,this.pageSize=a.pageSize??200,this.logger=a.logger}buildHeaders(){const a={"Content-Type":"application/json"};return this.apiKey&&(a["x-persona-apikey"]=this.apiKey),a}async sync(a){var p,g;if(!a)return[];const i=`${this.endpoint}/sessions/${encodeURIComponent(String(a))}/messages?page=1&size=${this.pageSize}`;try{const v=await fetch(i,{method:"GET",headers:this.buildHeaders()});if(!v.ok)return(p=this.logger)==null||p.warn("PersonaSessionStorage: failed to fetch messages",v.status,await v.text()),[];const x=await v.json();return Array.isArray(x.items)?x.items.map(C=>({id:C.id??C.messageId??void 0,protocol:C.protocol,thought:C.thought,text:C.text??"",image:C.image,type:C.type??"text",role:C.role??"assistant",file:C.file,sources:C.sources,sessionId:C.sessionId??a,finishReason:C.finishReason,functionCalls:C.functionCalls,functionResponse:C.functionResponse,status:C.status,createdAt:C.createdAt?new Date(C.createdAt):void 0,metadata:C.metadata})):[]}catch(v){return(g=this.logger)==null||g.warn("PersonaSessionStorage: error fetching messages",v),[]}}async archive(a){return this._visiblility(a,"archived")}async unarchive(a){return this._visiblility(a,"active")}async delete(a){return this._visiblility(a,"deleted")}async _visiblility(a,i){var g;if(!a)return;const p=`${this.endpoint}/sessions/${encodeURIComponent(String(a))}/visibility`;try{const v=JSON.stringify({visibility:i}),x=await fetch(p,{method:"PUT",headers:this.buildHeaders(),body:v});if(!x.ok){const T=await x.text();throw(g=this.logger)==null||g.warn("PersonaSessionStorage: failed to set session visibility",x.status,T),new Error(`Failed to set session visibility: ${x.status}`)}return}catch(v){throw v}}async rename(a,i){var g;if(!a)return;const p=`${this.endpoint}/sessions/${encodeURIComponent(String(a))}/name`;try{const v=await fetch(p,{method:"PUT",headers:this.buildHeaders(),body:JSON.stringify({name:i})});if(!v.ok){const x=await v.text();throw(g=this.logger)==null||g.warn("PersonaSessionStorage: failed to rename session",v.status,x),new Error(`Failed to rename session: ${v.status}`)}}catch(v){throw v}}async clearAll(){return Promise.reject(new Error("PersonaAPIMessageStorage: clearAll not supported"))}async list(a,i){const p=new URLSearchParams({page:"1",size:"100",visibility:"active"});i&&p.set("userId",i),a&&p.set("agentId",a);const g=`${this.endpoint}/sessions?${p.toString()}`;try{const v=await fetch(g,{method:"GET",headers:this.buildHeaders()});if(!v.ok)return[];const x=await v.json();return Array.isArray(x.items)?x.items.map(C=>({threadId:C.code||C.id,title:C.name||`Session ${C.code||C.id}`,status:C.status==="archived"?"archived":"regular"})):[]}catch{return[]}}}function r_({dev:l=!1,baseUrl:a,protocols:i,logger:p,children:g,session:v="new",transformMessages:x,threads:T=!1,sessionStorage:C,onThreadCreate:K,onThreadSwitch:Z,onThreadRename:A,onThreadArchive:D,onThreadUnarchive:P,onThreadDelete:N,enableAttachments:j=!1,...k}){const[vn,sn]=Q.useState(!1),[ht,gt]=Q.useState([]),[Gt,Rn]=Q.useState(new Map),Ut=Q.useRef(!1),jt=Q.useRef(!1),Rt=Q.useMemo(()=>C||new Fo({apiKey:k.apiKey,endpoint:a||"https://persona.applica.guru/api"}),[C,a,k.apiKey]),[Re,ie]=Q.useState([]),[Et,Ee]=Q.useState(""),En=Q.useRef(typeof v=="string"?v:"new"),Te=Q.useRef(!1);Q.useEffect(()=>{!T||Te.current||(Te.current=!0,Rt.list(k.agentId,k.userId).then($=>{($==null?void 0:$.length)>0&&(ie($),Ee($[0].threadId))}).catch($=>p==null?void 0:p.error("Failed to load threads:",$)))},[T,Rt,k.agentId,k.userId,p]);const ct=Q.useMemo(()=>Ng(i,{dev:l||!1,baseUrl:a,apiKey:k.apiKey,agentId:k.agentId,userId:k.userId,tools:k.tools,logger:p}),[i,l,a,k.apiKey,k.agentId,k.userId,k.tools,p]);Q.useEffect(()=>{Ut.current||(Ut.current=!0,p==null||p.debug("Setting up protocols:",ct.map($=>$.getName())),ct.forEach($=>{$.setSession(En.current),$.clearListeners(),$.addStatusChangeListener(ot=>{p==null||p.debug(`${$.getName()} status: ${ot}`),Rn(St=>{const wt=new Map(St);return wt.set($.getName(),ot),wt}),ot==="connected"&&!jt.current&&(k.context&&$.sendPacket({type:"command",payload:{command:"set_initial_context",arguments:k.context}}).catch(()=>{}),k.tools&&Array.isArray(k.tools)&&$.sendPacket({type:"command",payload:{command:"set_local_tools",arguments:{tools:k.tools.map(St=>St.schema)}}}).catch(()=>{}))}),$.addPacketListener(Kg($,gt,sn,ct,x)),$.autostart&&$.status==="disconnected"&&(p==null||p.debug(`Auto-connecting protocol: ${$.getName()}`),$.connect(En.current).catch(()=>{}),sn(!1))}))},[]),Q.useEffect(()=>{T||!v||v==="new"||Rt.sync(v).then($=>{if($.length>0){const ot=Bn($);gt(x?x(ot):ot),p==null||p.debug(`Loaded ${$.length} messages for session ${v}`)}}).catch($=>{p==null||p.error("Failed to load session messages:",$)})},[]),Q.useEffect(()=>{if(!T||!Et){gt([]);return}if(jt.current||Et===En.current)return;jt.current=!0,p==null||p.info("Switching to thread:",Et),(async()=>{try{const ot=ct.filter(At=>At.status==="connected");ot.length>0&&await Promise.allSettled(ot.map(At=>At.disconnect())),En.current=Et,await Promise.allSettled(ct.map(At=>At.setSession(Et)));const St=await Rt.sync(Et),wt=Bn(St);gt(x?x(wt):wt),p==null||p.debug(`Loaded ${St.length} messages for thread ${Et}`);const Oe=ct.filter(At=>At.autostart);Oe.length>0&&await Promise.allSettled(Oe.map(At=>At.connect(Et)))}catch(ot){p==null||p.error("Failed to switch thread:",ot),gt([])}finally{jt.current=!1}})()},[Et,T,ct,Rt,x,p]);const un=Q.useCallback(Gg(ct,gt,sn,x,p),[ct,x,p]),tn=Q.useCallback(Jg(ct,ht,gt,sn,x,p),[ct,ht,x,p]),Cr=Q.useCallback(Zg(ct,ht,gt,sn,x,p),[ct,ht,x,p]),Kn=Q.useCallback(Yg(ct,gt,sn,x),[ct,x]),Nt=Q.useCallback($=>{const ot=Bn([...$]);gt(x?x(ot):ot)},[x]),Pr=Q.useCallback(()=>ht,[ht]),Le=Q.useMemo(()=>{if(T)return e_(Et,Re,Ee,ie,Rt,K,Z,D,P,N,A)},[T,Et,Re,Rt,K,Z,D,P,N,A,p]),Ir=Ce.useExternalStoreRuntime({isRunning:vn,messages:ht,convertMessage:Tg,setMessages:Nt,onNew:un,onEdit:tn,onCancel:Kn,onReload:Cr,adapters:{...j?{attachments:new Ce.CompositeAttachmentAdapter([new Ce.SimpleImageAttachmentAdapter,new Ce.SimpleTextAttachmentAdapter,new Cg])}:{},...Le?{threadList:Le}:{}}}),wn=Q.useCallback(($,ot)=>{ie(St=>St.map(wt=>wt.threadId===$?{...wt,title:ot}:wt)),A==null||A($,ot),Rt.rename($,ot)},[Rt,A]);return Xi.jsx(re.Provider,{value:{protocols:ct,protocolsStatus:Gt,getMessages:Pr,renameThread:wn},children:Xi.jsx(Ce.AssistantRuntimeProvider,{runtime:Ir,children:g})})}function i_({children:l,...a}){return Xi.jsx(r_,{...a,children:l})}class s_{constructor(){E(this,"prefix","[Persona]")}log(a,...i){console.log(`${this.prefix} - ${a}`,...i)}info(a,...i){console.info(`${this.prefix} - ${a}`,...i)}warn(a,...i){console.warn(`${this.prefix} - ${a}`,...i)}error(a,...i){console.error(`${this.prefix} - ${a}`,...i)}debug(a,...i){console.debug(`${this.prefix} - ${a}`,...i)}}function Mn(l,a,i){return{type:l,description:a,...i}}function Uo(l){const a=Object.entries(l.parameters).filter(([i,p])=>p.required).map(([i])=>i);return{type:"local",name:l.name,description:l.description,config:{timeout:l.timeout||60,parameters:{type:"object",title:l.title||`${l.name} parameters`,required:a,properties:l.parameters},output:{type:"object",title:`${l.name} output`,properties:l.output}}}}function br(l){return{schema:Uo(l),implementation:l.implementation}}function No(l,a,i,p,g,v){const x={name:l,description:a,title:v==null?void 0:v.title,timeout:v==null?void 0:v.timeout,parameters:p,output:g,implementation:i};return br(x)}const u_=No("sum","Sum two numbers",function(a,i){return{result:a+i}},{a:Mn("number","First number to sum",{required:!0}),b:Mn("number","Second number to sum",{required:!0})},{result:Mn("number","Sum of two numbers")}),o_=br({name:"navigate_to",description:"Allow agent to redirect user to specific sub page like /foo or #/foo or anything like that",title:"Sum two numbers",timeout:60,parameters:{a:Mn("number","First number to sum"),b:Mn("number","Seconth number to sum")},output:{result:Mn("number","Sum of two numbers")},implementation:function(a,i){return{result:a+i}}});function a_(l){const a=[],i={};return l.forEach(p=>{const{schema:g,implementation:v}=br(p);a.push(g),i[p.name]=v}),{schemas:a,implementations:i}}function f_(l,a){const{required:i,properties:p}=a.config.parameters;for(const g of i)if(!(g in l))throw new Error(`Missing required parameter: ${g}`);for(const[g,v]of Object.entries(l)){const x=p[g];if(x){if(x.type==="number"&&typeof v!="number")throw new Error(`Parameter ${g} should be a number`);if(x.type==="string"&&typeof v!="string")throw new Error(`Parameter ${g} should be a string`);if(x.type==="boolean"&&typeof v!="boolean")throw new Error(`Parameter ${g} should be a boolean`)}}return!0}class c_{constructor(a){E(this,"baseUrl");E(this,"apiKey");this.baseUrl=a.baseUrl.replace(/\/$/,""),this.apiKey=a.apiKey}async request(a,i){const p=await fetch(`${this.baseUrl}${a}`,{...i,headers:{"Content-Type":"application/json","x-persona-apikey":this.apiKey,...(i==null?void 0:i.headers)??{}}});if(!p.ok)throw new Error(await p.text());return await p.json()}async getSubscription(a){return this.request(`/projects/${a}/subscription`)}async changeSubscriptionPlan(a,i){return this.request(`/projects/${a}/subscription/actions/change-plan`,{method:"POST",body:JSON.stringify({toPlanType:i})})}async addSubscriptionCredits(a,i){return this.request(`/projects/${a}/subscription/actions/add-credits`,{method:"POST",body:JSON.stringify({credits:i})})}}exports.PersonaConsoleLogger=s_;exports.PersonaProtocolBase=Ie;exports.PersonaRESTProtocol=Qi;exports.PersonaRuntimeProvider=i_;exports.PersonaSessionStorage=Fo;exports.PersonaTransactionProtocol=Wo;exports.PersonaWebRTCProtocol=ji;exports.PersonaWebSocketProtocol=Vi;exports.ProjectsApi=c_;exports.createParameter=Mn;exports.createTool=br;exports.createToolFromFunction=No;exports.createToolRegistry=a_;exports.generateToolSchema=Uo;exports.navigateToToolExample=o_;exports.sumTool=u_;exports.usePersonaRenameThread=jg;exports.usePersonaRuntime=Xg;exports.usePersonaRuntimeEndpoint=Qg;exports.usePersonaRuntimeMessages=t_;exports.usePersonaRuntimeProtocol=Do;exports.usePersonaRuntimeWebRTCProtocol=Vg;exports.validateToolParameters=f_;
28
28
  //# sourceMappingURL=bundle.cjs.js.map