@applica-software-guru/persona-sdk 0.1.84 → 0.1.86

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.
Files changed (67) hide show
  1. package/README.md +92 -0
  2. package/dist/bundle.cjs.js +18 -18
  3. package/dist/bundle.cjs.js.map +1 -1
  4. package/dist/bundle.es.js +3345 -2891
  5. package/dist/bundle.es.js.map +1 -1
  6. package/dist/bundle.iife.js +17 -17
  7. package/dist/bundle.iife.js.map +1 -1
  8. package/dist/bundle.umd.js +17 -17
  9. package/dist/bundle.umd.js.map +1 -1
  10. package/dist/index.d.ts +1 -0
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/messages.d.ts +2 -0
  13. package/dist/messages.d.ts.map +1 -1
  14. package/dist/protocol/webrtc.d.ts.map +1 -1
  15. package/dist/protocol/websocket.d.ts.map +1 -1
  16. package/dist/runtime/context.d.ts +34 -0
  17. package/dist/runtime/context.d.ts.map +1 -0
  18. package/dist/runtime/handlers.d.ts +21 -0
  19. package/dist/runtime/handlers.d.ts.map +1 -0
  20. package/dist/runtime/listeners.d.ts +6 -0
  21. package/dist/runtime/listeners.d.ts.map +1 -0
  22. package/dist/runtime/protocols.d.ts +17 -0
  23. package/dist/runtime/protocols.d.ts.map +1 -0
  24. package/dist/runtime/threads.d.ts +35 -0
  25. package/dist/runtime/threads.d.ts.map +1 -0
  26. package/dist/runtime/utils.d.ts +10 -0
  27. package/dist/runtime/utils.d.ts.map +1 -0
  28. package/dist/runtime.d.ts +4 -22
  29. package/dist/runtime.d.ts.map +1 -1
  30. package/dist/storage/base.d.ts +19 -0
  31. package/dist/storage/base.d.ts.map +1 -0
  32. package/dist/storage/index.d.ts +3 -0
  33. package/dist/storage/index.d.ts.map +1 -0
  34. package/dist/storage/persona.d.ts +30 -0
  35. package/dist/storage/persona.d.ts.map +1 -0
  36. package/dist/types.d.ts +51 -1
  37. package/dist/types.d.ts.map +1 -1
  38. package/package.json +4 -3
  39. package/playground/src/chat.tsx +58 -65
  40. package/playground/src/components/assistant-ui/thread-list.tsx +45 -12
  41. package/playground/src/components/assistant-ui/thread.tsx +34 -96
  42. package/playground/src/components/assistant-ui/threadlist-sidebar.tsx +59 -0
  43. package/playground/src/components/chat/logging.tsx +53 -0
  44. package/playground/src/components/ui/input.tsx +21 -0
  45. package/playground/src/components/ui/separator.tsx +26 -0
  46. package/playground/src/components/ui/sheet.tsx +139 -0
  47. package/playground/src/components/ui/sidebar.tsx +619 -0
  48. package/playground/src/components/ui/skeleton.tsx +13 -0
  49. package/playground/src/components/ui/tooltip.tsx +0 -2
  50. package/playground/src/hooks/theme.ts +70 -0
  51. package/playground/src/hooks/use-mobile.ts +19 -0
  52. package/src/index.ts +1 -0
  53. package/src/messages.ts +98 -8
  54. package/src/protocol/webrtc.ts +1 -0
  55. package/src/protocol/websocket.ts +5 -2
  56. package/src/runtime/context.ts +88 -0
  57. package/src/runtime/handlers.ts +276 -0
  58. package/src/runtime/index.ts +6 -0
  59. package/src/runtime/listeners.ts +79 -0
  60. package/src/runtime/protocols.ts +169 -0
  61. package/src/runtime/threads.ts +120 -0
  62. package/src/runtime/utils.ts +46 -0
  63. package/src/runtime.tsx +226 -326
  64. package/src/storage/base.ts +21 -0
  65. package/src/storage/index.ts +2 -0
  66. package/src/storage/persona.ts +132 -0
  67. package/src/types.ts +64 -2
@@ -1,28 +1,28 @@
1
- "use strict";var md=Object.defineProperty;var yd=(m,g,i)=>g in m?md(m,g,{enumerable:!0,configurable:!0,writable:!0,value:i}):m[g]=i;var E=(m,g,i)=>yd(m,typeof g!="symbol"?g+"":g,i);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const $i=require("react/jsx-runtime"),vn=require("react"),_r=require("@assistant-ui/react");function xd(m){return m.filter(g=>g.finishReason==="stop"?g.text!==null&&g.text.trim()!=="":!0)}function So(m){const g=[];let i=null;for(const y of m)if(y.type!=="transaction")if(y.file){i&&(g.push(i),i=null),g.push(y);continue}else y.functionCalls?(i&&g.push(i),g.push(y),i=null):y.functionResponse?g[g.length-1]={...g[g.length-1],functionResponse:y.functionResponse}:i&&y.type===i.type&&y.protocol===i.protocol&&i.role===y.role?(i.text+=y.text,i.file=i.file||y.file):(i&&g.push(i),i={...y,text:y.file?"":y.text,finishReason:y.file?void 0:y.finishReason});return i&&g.push(i),xd(g)}function Sd(m){var i;const g=m.file?[{type:"file",data:m.file.url,mimeType:m.file.contentType}]:[];return m.role==="function"?{id:m.id,role:"assistant",status:(m==null?void 0:m.functionResponse)===null?{type:"running"}:{type:"complete",reason:"stop"},content:((i=m.functionCalls)==null?void 0:i.map(w=>{var y;return{type:"tool-call",toolName:w.name,toolCallId:w.id,args:w.args,result:(y=m.functionResponse)==null?void 0:y.result}}))??[]}:{id:m.id,role:m.role,content:m.type==="reasoning"?[{type:"reasoning",text:m.text},...g]:[{type:"text",text:m.text},...g]}}class ye{constructor(){E(this,"statusChangeCallbacks",[]);E(this,"messageCallbacks",[])}addStatusChangeListener(g){this.statusChangeCallbacks.push(g)}addPacketListener(g){this.messageCallbacks.push(g)}async syncSession(g){this.session=g}async notifyPacket(g){this.messageCallbacks.forEach(i=>i(g))}async notifyPackets(g){g.forEach(i=>{this.messageCallbacks.forEach(w=>w(i))})}async setSession(g){this.session=g}async setStatus(g){const i=this.status!==g;this.status=g,i&&this.statusChangeCallbacks.forEach(w=>w(g))}clearListeners(){this.statusChangeCallbacks=[],this.messageCallbacks=[]}onTransaction(g){}}class qi extends ye{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 q,tn,An,en,bn;const{apiUrl:w,apiKey:y,agentId:R}=this.config,A=this.session??"new";if(i.type==="command"&&((q=i==null?void 0:i.payload)==null?void 0:q.command)=="set_initial_context"){this.context=(tn=i==null?void 0:i.payload)==null?void 0:tn.arguments;return}else if(i.type==="command"&&((An=i==null?void 0:i.payload)==null?void 0:An.command)=="set_local_tools"){const hn=(en=i==null?void 0:i.payload)==null?void 0:en.arguments.tools;(hn==null?void 0:hn.length)>0&&this.notifyPacket({type:"message",payload:{type:"text",role:"assistant",text:"Local tools with rest protocol are not supported."}});return}const O=i.payload;try{const Rn=await(await fetch(`${w}/sessions/${A}/messages`,{body:JSON.stringify({agentId:R,userMessage:O,initialContext:this.context,tools:this.tools}),method:"POST",headers:{"Content-Type":"application/json","x-persona-apikey":y}})).json();this.notifyPackets(Rn.response.messages.map(ct=>({type:"message",payload:ct})))}catch(hn){this.notifyPacket({type:"message",payload:{role:"assistant",type:"text",text:"An error occurred while processing your request. Please try again later."}}),(bn=this.config.logger)==null||bn.error("Error sending packet:",hn)}}}class Ki extends ye{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 w;(w=this.config.logger)==null||w.debug("Syncing session with WebSocket protocol:",i),this.session=i,this.webSocket&&this.status==="connected"&&(this.disconnect(),this.connect(i))}connect(i){var O;if(this.webSocket!==null&&this.status==="connected")return Promise.resolve(this.session);const w=i||this.session||"new";(O=this.config.logger)==null||O.debug("Connecting to WebSocket with sessionId:",w);const y=encodeURIComponent(this.config.apiKey),R=this.config.agentId,A=`${this.config.webSocketUrl}?sessionCode=${w}&agentId=${R}&apiKey=${y}`;return this.setStatus("connecting"),this.webSocket=new WebSocket(A),this.webSocket.addEventListener("open",()=>{this.setStatus("connected")}),this.webSocket.addEventListener("message",q=>{const tn=JSON.parse(q.data);this.notifyPacket(tn)}),this.webSocket.addEventListener("close",q=>{var tn;this.setStatus("disconnected"),this.webSocket=null,q.code!==1e3&&(this.notifyPacket({type:"message",payload:{role:"assistant",type:"text",text:"Oops! The connection to the server was lost. Please try again later."}}),(tn=this.config.logger)==null||tn.warn("WebSocket connection closed"))}),this.webSocket.addEventListener("error",()=>{var q;this.setStatus("disconnected"),this.webSocket=null,(q=this.config.logger)==null||q.error("WebSocket connection error")}),Promise.resolve(w)}disconnect(){var i;return(i=this.config.logger)==null||i.debug("Disconnecting WebSocket"),this.webSocket&&this.status==="connected"&&(this.webSocket.close(),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 Cd{constructor(g){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=g}async connect(g){var w;if(this.isConnected)return;this.isConnected=!0;try{this.localStream=await navigator.mediaDevices.getUserMedia({audio:!0})}catch(y){(w=this.config.logger)==null||w.error("Error accessing microphone:",y);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(y=>{this.pc.addTrack(y,this.localStream)}),this.pc.ontrack=y=>{y.streams[0].getTracks().forEach(A=>{this.remoteStream.addTrack(A)}),this.audioCtx||this._startAnalyzers();const R=new Audio;R.srcObject=this.remoteStream,R.play().catch(A=>{var O;(O=this.config.logger)==null||O.error("Error playing remote audio:",A)})},this.pc.onicecandidate=y=>{var R;y.candidate&&((R=this.ws)==null?void 0:R.readyState)===WebSocket.OPEN&&this.ws.send(JSON.stringify({type:"CANDIDATE",src:"client",payload:{candidate:y.candidate}}))},this.pc.ondatachannel=y=>{const R=y.channel;R.onmessage=A=>{this.messageCallbacks.forEach(O=>{O(A)})},R.onopen=()=>{var A;for(;this.queuedMessages.length>0;){const O=this.queuedMessages.shift();O&&(R.send(JSON.stringify(O)),(A=this.config.logger)==null||A.info("Sent queued message:",O))}}};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 O,q;const y=await this.pc.createOffer();await this.pc.setLocalDescription(y);const R={apiKey:this.config.apiKey,agentId:this.config.agentId,sessionCode:g};(O=this.config.logger)==null||O.debug("Opening connection to WebRTC server: ",R);const A={type:"OFFER",src:((q=crypto.randomUUID)==null?void 0:q.call(crypto))||"client_"+Date.now(),payload:{sdp:{sdp:y.sdp,type:y.type},connectionId:(Date.now()%1e6).toString(),metadata:R}};this.ws.send(JSON.stringify(A))},this.ws.onmessage=async y=>{var A;const R=JSON.parse(y.data);if(R.type==="ANSWER")await this.pc.setRemoteDescription(new RTCSessionDescription(R.payload.sdp));else if(R.type==="CANDIDATE")try{await this.pc.addIceCandidate(new RTCIceCandidate(R.payload.candidate))}catch(O){(A=this.config.logger)==null||A.error("Error adding ICE candidate:",O)}},this.ws.onclose=y=>{y.code!==1e3&&this.errorCallbacks.forEach(R=>{R("Oops! The connection to the server was lost. Please try again later.")}),this._stopAnalyzers()}}async disconnect(){var g;this.isConnected&&(this.isConnected=!1,((g=this.ws)==null?void 0:g.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(g){this.visualizerCallbacks.push(g)}addMessageCallback(g){this.messageCallbacks.push(g)}addErrorCallback(g){this.errorCallbacks.push(g)}createDataChannel(g="messages"){this.pc&&(this.dataChannel=this.pc.createDataChannel(g),this.dataChannel.onopen=()=>{var i,w;for((i=this.config.logger)==null||i.info("Data channel opened");this.queuedMessages.length>0;){const y=this.queuedMessages.shift();y&&(this.dataChannel.send(JSON.stringify(y)),(w=this.config.logger)==null||w.info("Sent queued message:",y))}},this.dataChannel.onmessage=i=>{this.messageCallbacks.forEach(w=>{w(i)})})}sendPacket(g){var i;if(!this.dataChannel||this.dataChannel.readyState!=="open"){this.queuedMessages.push(g);return}this.dataChannel.send(JSON.stringify(g)),(i=this.config.logger)==null||i.info("Sent message:",g)}_startAnalyzers(){if(!this.localStream||!this.remoteStream||this.visualizerCallbacks.length===0)return;this.audioCtx=new(window.AudioContext||window.webkitAudioContext);const g=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,g.connect(this.localAnalyser),i.connect(this.remoteAnalyser);const w=()=>{if(!this.localAnalyser||!this.remoteAnalyser||this.visualizerCallbacks.length===0)return;const y=new Uint8Array(this.localAnalyser.frequencyBinCount),R=new Uint8Array(this.remoteAnalyser.frequencyBinCount);this.localAnalyser.getByteFrequencyData(y),this.remoteAnalyser.getByteFrequencyData(R);const A=y.reduce((q,tn)=>q+tn,0)/y.length,O=R.reduce((q,tn)=>q+tn,0)/R.length;this.visualizerCallbacks.length>0&&this.visualizerCallbacks.forEach(q=>{q({localAmplitude:A,remoteAmplitude:O})}),this.analyzerFrame=requestAnimationFrame(w)};this.analyzerFrame=requestAnimationFrame(w)}_stopAnalyzers(){this.analyzerFrame&&(cancelAnimationFrame(this.analyzerFrame),this.analyzerFrame=null),this.localAnalyser=null,this.remoteAnalyser=null}}class Gi extends ye{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 Cd(i),this.webRTCClient.addMessageCallback(w=>{const y=JSON.parse(w.data);this.notifyPacket(y)}),this.webRTCClient.addErrorCallback(w=>{var y;(y=this.config.logger)==null||y.error("WebRTC error:",w),this.notifyPacket({type:"message",payload:{type:"text",role:"assistant",text:w}})})}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 w;return this.status==="connected"?Promise.resolve(this.session):(this.session=i||this.session||"new",this.setStatus("connecting"),(w=this.config.logger)==null||w.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,w,y;if(this.status==="disconnected")return(i=this.config.logger)==null||i.warn("Already disconnected"),Promise.resolve();await this.webRTCClient.disconnect(),this.setStatus("disconnected"),(y=(w=this.config)==null?void 0:w.logger)==null||y.debug("Disconnected from WebRTC")}sendPacket(i){return this.status!=="connected"?Promise.reject(new Error("Not connected")):(this.webRTCClient.sendPacket(i),Promise.resolve())}}var me=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ad(m){return m&&m.__esModule&&Object.prototype.hasOwnProperty.call(m,"default")?m.default:m}var vr={exports:{}};/**
1
+ "use strict";var mg=Object.defineProperty;var xg=(h,f,i)=>f in h?mg(h,f,{enumerable:!0,configurable:!0,writable:!0,value:i}):h[f]=i;var D=(h,f,i)=>xg(h,typeof f!="symbol"?f+"":f,i);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Zi=require("react/jsx-runtime"),j=require("react"),xr=require("@assistant-ui/react");let Sg=0;function Ag(){return`msg_${Date.now()}_${Sg++}`}function bg(h){return h.thought&&(h={...h,type:"reasoning"}),h.id?h.createdAt?h:{...h,createdAt:new Date}:{...h,id:Ag(),createdAt:h.createdAt||new Date}}function Cg(h){return h.filter(f=>f.finishReason==="stop"?f.text!==null&&f.text.trim()!=="":!0)}function ee(h){const f=[];let i=null;for(let _ of h)if(_=bg(_),_.type!=="transaction")if(_.file){i&&(f.push(i),i=null),f.push(_);continue}else _.functionCalls?(i&&f.push(i),f.push(_),i=null):_.functionResponse?f[f.length-1]={...f[f.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&&f.push(i),i={..._,text:_.file?"":_.text,finishReason:_.file?void 0:_.finishReason});return i&&f.push(i),Cg(f)}function Pg(h){var _,v,S;const f=h.file?[{type:"file",data:h.file.url,mimeType:h.file.contentType}]:[];let i;if((h.role==="assistant"||h.role==="function")&&(h.status?i=h.status:h.finishReason==="stop"?i={type:"complete",reason:"stop"}:h.finishReason==="function_call"?i={type:"complete",reason:"stop"}:h.finishReason||(i=void 0)),h.role==="function"){const E={id:h.id,role:"assistant",createdAt:h.createdAt,content:((_=h.functionCalls)==null?void 0:_.map(C=>{var M;return{type:"tool-call",toolName:C.name,toolCallId:C.id||`tool_${Date.now()}`,args:C.args,result:(M=h.functionResponse)==null?void 0:M.result}}))??[],metadata:{...h.metadata,custom:{protocol:h.protocol,sessionId:h.sessionId,sources:h.sources,...(v=h.metadata)==null?void 0:v.custom}}};return i?{...E,status:i}:E}const p={id:h.id,role:h.role,createdAt:h.createdAt,content:h.type==="reasoning"?[{type:"reasoning",text:h.text},...f]:[{type:"text",text:h.text},...f],metadata:{...h.metadata,custom:{protocol:h.protocol,sessionId:h.sessionId,sources:h.sources,type:h.type,...(S=h.metadata)==null?void 0:S.custom}}};return h.role==="assistant"&&i?{...p,status:i}:p}class Ce{constructor(){D(this,"statusChangeCallbacks",[]);D(this,"messageCallbacks",[])}addStatusChangeListener(f){this.statusChangeCallbacks.push(f)}addPacketListener(f){this.messageCallbacks.push(f)}async syncSession(f){this.session=f}async notifyPacket(f){this.messageCallbacks.forEach(i=>i(f))}async notifyPackets(f){f.forEach(i=>{this.messageCallbacks.forEach(p=>p(i))})}async setSession(f){this.session=f}async setStatus(f){const i=this.status!==f;this.status=f,i&&this.statusChangeCallbacks.forEach(p=>p(f))}clearListeners(){this.statusChangeCallbacks=[],this.messageCallbacks=[]}onTransaction(f){}}class Yi extends Ce{constructor(i){super();D(this,"status");D(this,"autostart");D(this,"session");D(this,"config");D(this,"notify",!0);D(this,"context",{});D(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,M,I,P,T;const{apiUrl:p,apiKey:_,agentId:v}=this.config,S=this.session??"new";if(i.type==="command"&&((C=i==null?void 0:i.payload)==null?void 0:C.command)=="set_initial_context"){this.context=(M=i==null?void 0:i.payload)==null?void 0:M.arguments;return}else if(i.type==="command"&&((I=i==null?void 0:i.payload)==null?void 0:I.command)=="set_local_tools"){const F=(P=i==null?void 0:i.payload)==null?void 0:P.arguments.tools;(F==null?void 0:F.length)>0&&this.notifyPacket({type:"message",payload:{type:"text",role:"assistant",text:"Local tools with rest protocol are not supported."}});return}const E=i.payload;try{const J=await(await fetch(`${p}/sessions/${S}/messages`,{body:JSON.stringify({agentId:v,userMessage:E,initialContext:this.context,tools:this.tools}),method:"POST",headers:{"Content-Type":"application/json","x-persona-apikey":_}})).json();this.notifyPackets(J.response.messages.map(q=>({type:"message",payload:q})))}catch(F){this.notifyPacket({type:"message",payload:{role:"assistant",type:"text",text:"An error occurred while processing your request. Please try again later."}}),(T=this.config.logger)==null||T.error("Error sending packet:",F)}}}class Xi extends Ce{constructor(i){super();D(this,"status");D(this,"autostart");D(this,"session");D(this,"config");D(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 _=encodeURIComponent(this.config.apiKey),v=this.config.agentId,S=this.config.userId||"anonymous",E=`${this.config.webSocketUrl}?sessionCode=${p}&agentId=${v}&apiKey=${_}&userId=${encodeURIComponent(S)}`;return this.setStatus("connecting"),this.webSocket=new WebSocket(E),this.webSocket.addEventListener("open",()=>{this.setStatus("connected")}),this.webSocket.addEventListener("message",M=>{const I=JSON.parse(M.data);this.notifyPacket(I)}),this.webSocket.addEventListener("close",M=>{var I;this.setStatus("disconnected"),this.webSocket=null,M.code!==1e3&&(this.notifyPacket({type:"message",payload:{role:"assistant",type:"text",text:"Oops! The connection to the server was lost. Please try again later."}}),(I=this.config.logger)==null||I.warn("WebSocket connection closed"))}),this.webSocket.addEventListener("error",()=>{var M;this.setStatus("disconnected"),this.webSocket=null,(M=this.config.logger)==null||M.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 Rg{constructor(f){D(this,"config");D(this,"pc",null);D(this,"ws",null);D(this,"localStream",null);D(this,"remoteStream",new MediaStream);D(this,"audioCtx",null);D(this,"localAnalyser",null);D(this,"remoteAnalyser",null);D(this,"analyzerFrame",null);D(this,"dataChannel",null);D(this,"isConnected",!1);D(this,"visualizerCallbacks",[]);D(this,"messageCallbacks",[]);D(this,"errorCallbacks",[]);D(this,"queuedMessages",[]);this.config=f}async connect(f){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(S=>{this.remoteStream.addTrack(S)}),this.audioCtx||this._startAnalyzers();const v=new Audio;v.srcObject=this.remoteStream,v.play().catch(S=>{var E;(E=this.config.logger)==null||E.error("Error playing remote audio:",S)})},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=S=>{this.messageCallbacks.forEach(E=>{E(S)})},v.onopen=()=>{var S;for(;this.queuedMessages.length>0;){const E=this.queuedMessages.shift();E&&(v.send(JSON.stringify(E)),(S=this.config.logger)==null||S.info("Sent queued message:",E))}}};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 E,C;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:f};(E=this.config.logger)==null||E.debug("Opening connection to WebRTC server: ",v);const S={type:"OFFER",src:((C=crypto.randomUUID)==null?void 0:C.call(crypto))||"client_"+Date.now(),payload:{sdp:{sdp:_.sdp,type:_.type},connectionId:(Date.now()%1e6).toString(),metadata:v}};this.ws.send(JSON.stringify(S))},this.ws.onmessage=async _=>{var S;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(E){(S=this.config.logger)==null||S.error("Error adding ICE candidate:",E)}},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 f;this.isConnected&&(this.isConnected=!1,((f=this.ws)==null?void 0:f.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(f){this.visualizerCallbacks.push(f)}addMessageCallback(f){this.messageCallbacks.push(f)}addErrorCallback(f){this.errorCallbacks.push(f)}createDataChannel(f="messages"){this.pc&&(this.dataChannel=this.pc.createDataChannel(f),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(f){var i;if(!this.dataChannel||this.dataChannel.readyState!=="open"){this.queuedMessages.push(f);return}this.dataChannel.send(JSON.stringify(f)),(i=this.config.logger)==null||i.info("Sent message:",f)}_startAnalyzers(){if(!this.localStream||!this.remoteStream||this.visualizerCallbacks.length===0)return;this.audioCtx=new(window.AudioContext||window.webkitAudioContext);const f=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,f.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 S=_.reduce((C,M)=>C+M,0)/_.length,E=v.reduce((C,M)=>C+M,0)/v.length;this.visualizerCallbacks.length>0&&this.visualizerCallbacks.forEach(C=>{C({localAmplitude:S,remoteAmplitude:E})}),this.analyzerFrame=requestAnimationFrame(p)};this.analyzerFrame=requestAnimationFrame(p)}_stopAnalyzers(){this.analyzerFrame&&(cancelAnimationFrame(this.analyzerFrame),this.analyzerFrame=null),this.localAnalyser=null,this.remoteAnalyser=null}}class Qi extends Ce{constructor(i){super();D(this,"status");D(this,"session");D(this,"autostart");D(this,"config");D(this,"webRTCClient");this.config=i,this.status="disconnected",this.session=null,this.autostart=(i==null?void 0:i.autostart)??!1,this.webRTCClient=new Rg(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 Ig(h){return h&&h.__esModule&&Object.prototype.hasOwnProperty.call(h,"default")?h.default:h}var Sr={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
- */vr.exports;(function(m,g){(function(){var i,w="4.17.21",y=200,R="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",A="Expected a function",O="Invalid `variable` option passed into `_.template`",q="__lodash_hash_undefined__",tn=500,An="__lodash_placeholder__",en=1,bn=2,hn=4,Rn=1,ct=2,wn=1,mn=2,Se=4,Gn=8,St=16,zn=32,Ct=64,F=128,nn=256,z=512,Wn=30,rn="...",Mn=800,X=16,gn=1,Po=2,To=3,At=1/0,ht=9007199254740991,Eo=17976931348623157e292,Ce=NaN,Qn=4294967295,Io=Qn-1,Lo=Qn>>>1,Oo=[["ary",F],["bind",wn],["bindKey",mn],["curry",Gn],["curryRight",St],["flip",z],["partial",zn],["partialRight",Ct],["rearg",nn]],Ft="[object Arguments]",Ae="[object Array]",Wo="[object AsyncFunction]",Qt="[object Boolean]",Vt="[object Date]",Mo="[object DOMException]",be="[object Error]",Re="[object Function]",zi="[object GeneratorFunction]",Hn="[object Map]",jt="[object Number]",Fo="[object Null]",tt="[object Object]",Hi="[object Promise]",Uo="[object Proxy]",ne="[object RegExp]",kn="[object Set]",te="[object String]",Pe="[object Symbol]",Do="[object Undefined]",ee="[object WeakMap]",No="[object WeakSet]",re="[object ArrayBuffer]",Ut="[object DataView]",mr="[object Float32Array]",yr="[object Float64Array]",xr="[object Int8Array]",Sr="[object Int16Array]",Cr="[object Int32Array]",Ar="[object Uint8Array]",br="[object Uint8ClampedArray]",Rr="[object Uint16Array]",Pr="[object Uint32Array]",Bo=/\b__p \+= '';/g,$o=/\b(__p \+=) '' \+/g,qo=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ki=/&(?:amp|lt|gt|quot|#39);/g,Ji=/[&<>"']/g,Ko=RegExp(ki.source),Go=RegExp(Ji.source),zo=/<%-([\s\S]+?)%>/g,Ho=/<%([\s\S]+?)%>/g,Zi=/<%=([\s\S]+?)%>/g,ko=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Jo=/^\w*$/,Zo=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Tr=/[\\^$.*+?()[\]{}|]/g,Yo=RegExp(Tr.source),Er=/^\s+/,Xo=/\s/,Qo=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Vo=/\{\n\/\* \[wrapped with (.+)\] \*/,jo=/,? & /,na=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ta=/[()=,{}\[\]\/\s]/,ea=/\\(\\)?/g,ra=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Yi=/\w*$/,ia=/^[-+]0x[0-9a-f]+$/i,ua=/^0b[01]+$/i,sa=/^\[object .+?Constructor\]$/,oa=/^0o[0-7]+$/i,aa=/^(?:0|[1-9]\d*)$/,fa=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Te=/($^)/,la=/['\n\r\u2028\u2029\\]/g,Ee="\\ud800-\\udfff",ca="\\u0300-\\u036f",ha="\\ufe20-\\ufe2f",ga="\\u20d0-\\u20ff",Xi=ca+ha+ga,Qi="\\u2700-\\u27bf",Vi="a-z\\xdf-\\xf6\\xf8-\\xff",pa="\\xac\\xb1\\xd7\\xf7",da="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",_a="\\u2000-\\u206f",va=" \\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",ji="A-Z\\xc0-\\xd6\\xd8-\\xde",nu="\\ufe0e\\ufe0f",tu=pa+da+_a+va,Ir="['’]",wa="["+Ee+"]",eu="["+tu+"]",Ie="["+Xi+"]",ru="\\d+",ma="["+Qi+"]",iu="["+Vi+"]",uu="[^"+Ee+tu+ru+Qi+Vi+ji+"]",Lr="\\ud83c[\\udffb-\\udfff]",ya="(?:"+Ie+"|"+Lr+")",su="[^"+Ee+"]",Or="(?:\\ud83c[\\udde6-\\uddff]){2}",Wr="[\\ud800-\\udbff][\\udc00-\\udfff]",Dt="["+ji+"]",ou="\\u200d",au="(?:"+iu+"|"+uu+")",xa="(?:"+Dt+"|"+uu+")",fu="(?:"+Ir+"(?:d|ll|m|re|s|t|ve))?",lu="(?:"+Ir+"(?:D|LL|M|RE|S|T|VE))?",cu=ya+"?",hu="["+nu+"]?",Sa="(?:"+ou+"(?:"+[su,Or,Wr].join("|")+")"+hu+cu+")*",Ca="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Aa="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",gu=hu+cu+Sa,ba="(?:"+[ma,Or,Wr].join("|")+")"+gu,Ra="(?:"+[su+Ie+"?",Ie,Or,Wr,wa].join("|")+")",Pa=RegExp(Ir,"g"),Ta=RegExp(Ie,"g"),Mr=RegExp(Lr+"(?="+Lr+")|"+Ra+gu,"g"),Ea=RegExp([Dt+"?"+iu+"+"+fu+"(?="+[eu,Dt,"$"].join("|")+")",xa+"+"+lu+"(?="+[eu,Dt+au,"$"].join("|")+")",Dt+"?"+au+"+"+fu,Dt+"+"+lu,Aa,Ca,ru,ba].join("|"),"g"),Ia=RegExp("["+ou+Ee+Xi+nu+"]"),La=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Oa=["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"],Wa=-1,J={};J[mr]=J[yr]=J[xr]=J[Sr]=J[Cr]=J[Ar]=J[br]=J[Rr]=J[Pr]=!0,J[Ft]=J[Ae]=J[re]=J[Qt]=J[Ut]=J[Vt]=J[be]=J[Re]=J[Hn]=J[jt]=J[tt]=J[ne]=J[kn]=J[te]=J[ee]=!1;var k={};k[Ft]=k[Ae]=k[re]=k[Ut]=k[Qt]=k[Vt]=k[mr]=k[yr]=k[xr]=k[Sr]=k[Cr]=k[Hn]=k[jt]=k[tt]=k[ne]=k[kn]=k[te]=k[Pe]=k[Ar]=k[br]=k[Rr]=k[Pr]=!0,k[be]=k[Re]=k[ee]=!1;var Ma={À:"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"},Fa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Ua={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},Da={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Na=parseFloat,Ba=parseInt,pu=typeof me=="object"&&me&&me.Object===Object&&me,$a=typeof self=="object"&&self&&self.Object===Object&&self,an=pu||$a||Function("return this")(),Fr=g&&!g.nodeType&&g,bt=Fr&&!0&&m&&!m.nodeType&&m,du=bt&&bt.exports===Fr,Ur=du&&pu.process,Fn=function(){try{var l=bt&&bt.require&&bt.require("util").types;return l||Ur&&Ur.binding&&Ur.binding("util")}catch{}}(),_u=Fn&&Fn.isArrayBuffer,vu=Fn&&Fn.isDate,wu=Fn&&Fn.isMap,mu=Fn&&Fn.isRegExp,yu=Fn&&Fn.isSet,xu=Fn&&Fn.isTypedArray;function Pn(l,p,h){switch(h.length){case 0:return l.call(p);case 1:return l.call(p,h[0]);case 2:return l.call(p,h[0],h[1]);case 3:return l.call(p,h[0],h[1],h[2])}return l.apply(p,h)}function qa(l,p,h,S){for(var I=-1,$=l==null?0:l.length;++I<$;){var un=l[I];p(S,un,h(un),l)}return S}function Un(l,p){for(var h=-1,S=l==null?0:l.length;++h<S&&p(l[h],h,l)!==!1;);return l}function Ka(l,p){for(var h=l==null?0:l.length;h--&&p(l[h],h,l)!==!1;);return l}function Su(l,p){for(var h=-1,S=l==null?0:l.length;++h<S;)if(!p(l[h],h,l))return!1;return!0}function gt(l,p){for(var h=-1,S=l==null?0:l.length,I=0,$=[];++h<S;){var un=l[h];p(un,h,l)&&($[I++]=un)}return $}function Le(l,p){var h=l==null?0:l.length;return!!h&&Nt(l,p,0)>-1}function Dr(l,p,h){for(var S=-1,I=l==null?0:l.length;++S<I;)if(h(p,l[S]))return!0;return!1}function Z(l,p){for(var h=-1,S=l==null?0:l.length,I=Array(S);++h<S;)I[h]=p(l[h],h,l);return I}function pt(l,p){for(var h=-1,S=p.length,I=l.length;++h<S;)l[I+h]=p[h];return l}function Nr(l,p,h,S){var I=-1,$=l==null?0:l.length;for(S&&$&&(h=l[++I]);++I<$;)h=p(h,l[I],I,l);return h}function Ga(l,p,h,S){var I=l==null?0:l.length;for(S&&I&&(h=l[--I]);I--;)h=p(h,l[I],I,l);return h}function Br(l,p){for(var h=-1,S=l==null?0:l.length;++h<S;)if(p(l[h],h,l))return!0;return!1}var za=$r("length");function Ha(l){return l.split("")}function ka(l){return l.match(na)||[]}function Cu(l,p,h){var S;return h(l,function(I,$,un){if(p(I,$,un))return S=$,!1}),S}function Oe(l,p,h,S){for(var I=l.length,$=h+(S?1:-1);S?$--:++$<I;)if(p(l[$],$,l))return $;return-1}function Nt(l,p,h){return p===p?uf(l,p,h):Oe(l,Au,h)}function Ja(l,p,h,S){for(var I=h-1,$=l.length;++I<$;)if(S(l[I],p))return I;return-1}function Au(l){return l!==l}function bu(l,p){var h=l==null?0:l.length;return h?Kr(l,p)/h:Ce}function $r(l){return function(p){return p==null?i:p[l]}}function qr(l){return function(p){return l==null?i:l[p]}}function Ru(l,p,h,S,I){return I(l,function($,un,H){h=S?(S=!1,$):p(h,$,un,H)}),h}function Za(l,p){var h=l.length;for(l.sort(p);h--;)l[h]=l[h].value;return l}function Kr(l,p){for(var h,S=-1,I=l.length;++S<I;){var $=p(l[S]);$!==i&&(h=h===i?$:h+$)}return h}function Gr(l,p){for(var h=-1,S=Array(l);++h<l;)S[h]=p(h);return S}function Ya(l,p){return Z(p,function(h){return[h,l[h]]})}function Pu(l){return l&&l.slice(0,Lu(l)+1).replace(Er,"")}function Tn(l){return function(p){return l(p)}}function zr(l,p){return Z(p,function(h){return l[h]})}function ie(l,p){return l.has(p)}function Tu(l,p){for(var h=-1,S=l.length;++h<S&&Nt(p,l[h],0)>-1;);return h}function Eu(l,p){for(var h=l.length;h--&&Nt(p,l[h],0)>-1;);return h}function Xa(l,p){for(var h=l.length,S=0;h--;)l[h]===p&&++S;return S}var Qa=qr(Ma),Va=qr(Fa);function ja(l){return"\\"+Da[l]}function nf(l,p){return l==null?i:l[p]}function Bt(l){return Ia.test(l)}function tf(l){return La.test(l)}function ef(l){for(var p,h=[];!(p=l.next()).done;)h.push(p.value);return h}function Hr(l){var p=-1,h=Array(l.size);return l.forEach(function(S,I){h[++p]=[I,S]}),h}function Iu(l,p){return function(h){return l(p(h))}}function dt(l,p){for(var h=-1,S=l.length,I=0,$=[];++h<S;){var un=l[h];(un===p||un===An)&&(l[h]=An,$[I++]=h)}return $}function We(l){var p=-1,h=Array(l.size);return l.forEach(function(S){h[++p]=S}),h}function rf(l){var p=-1,h=Array(l.size);return l.forEach(function(S){h[++p]=[S,S]}),h}function uf(l,p,h){for(var S=h-1,I=l.length;++S<I;)if(l[S]===p)return S;return-1}function sf(l,p,h){for(var S=h+1;S--;)if(l[S]===p)return S;return S}function $t(l){return Bt(l)?af(l):za(l)}function Jn(l){return Bt(l)?ff(l):Ha(l)}function Lu(l){for(var p=l.length;p--&&Xo.test(l.charAt(p)););return p}var of=qr(Ua);function af(l){for(var p=Mr.lastIndex=0;Mr.test(l);)++p;return p}function ff(l){return l.match(Mr)||[]}function lf(l){return l.match(Ea)||[]}var cf=function l(p){p=p==null?an:qt.defaults(an.Object(),p,qt.pick(an,Oa));var h=p.Array,S=p.Date,I=p.Error,$=p.Function,un=p.Math,H=p.Object,kr=p.RegExp,hf=p.String,Dn=p.TypeError,Me=h.prototype,gf=$.prototype,Kt=H.prototype,Fe=p["__core-js_shared__"],Ue=gf.toString,G=Kt.hasOwnProperty,pf=0,Ou=function(){var n=/[^.]+$/.exec(Fe&&Fe.keys&&Fe.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}(),De=Kt.toString,df=Ue.call(H),_f=an._,vf=kr("^"+Ue.call(G).replace(Tr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ne=du?p.Buffer:i,_t=p.Symbol,Be=p.Uint8Array,Wu=Ne?Ne.allocUnsafe:i,$e=Iu(H.getPrototypeOf,H),Mu=H.create,Fu=Kt.propertyIsEnumerable,qe=Me.splice,Uu=_t?_t.isConcatSpreadable:i,ue=_t?_t.iterator:i,Rt=_t?_t.toStringTag:i,Ke=function(){try{var n=Lt(H,"defineProperty");return n({},"",{}),n}catch{}}(),wf=p.clearTimeout!==an.clearTimeout&&p.clearTimeout,mf=S&&S.now!==an.Date.now&&S.now,yf=p.setTimeout!==an.setTimeout&&p.setTimeout,Ge=un.ceil,ze=un.floor,Jr=H.getOwnPropertySymbols,xf=Ne?Ne.isBuffer:i,Du=p.isFinite,Sf=Me.join,Cf=Iu(H.keys,H),sn=un.max,ln=un.min,Af=S.now,bf=p.parseInt,Nu=un.random,Rf=Me.reverse,Zr=Lt(p,"DataView"),se=Lt(p,"Map"),Yr=Lt(p,"Promise"),Gt=Lt(p,"Set"),oe=Lt(p,"WeakMap"),ae=Lt(H,"create"),He=oe&&new oe,zt={},Pf=Ot(Zr),Tf=Ot(se),Ef=Ot(Yr),If=Ot(Gt),Lf=Ot(oe),ke=_t?_t.prototype:i,fe=ke?ke.valueOf:i,Bu=ke?ke.toString:i;function s(n){if(Q(n)&&!L(n)&&!(n instanceof N)){if(n instanceof Nn)return n;if(G.call(n,"__wrapped__"))return $s(n)}return new Nn(n)}var Ht=function(){function n(){}return function(t){if(!Y(t))return{};if(Mu)return Mu(t);n.prototype=t;var e=new n;return n.prototype=i,e}}();function Je(){}function Nn(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=i}s.templateSettings={escape:zo,evaluate:Ho,interpolate:Zi,variable:"",imports:{_:s}},s.prototype=Je.prototype,s.prototype.constructor=s,Nn.prototype=Ht(Je.prototype),Nn.prototype.constructor=Nn;function N(n){this.__wrapped__=n,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Qn,this.__views__=[]}function Of(){var n=new N(this.__wrapped__);return n.__actions__=yn(this.__actions__),n.__dir__=this.__dir__,n.__filtered__=this.__filtered__,n.__iteratees__=yn(this.__iteratees__),n.__takeCount__=this.__takeCount__,n.__views__=yn(this.__views__),n}function Wf(){if(this.__filtered__){var n=new N(this);n.__dir__=-1,n.__filtered__=!0}else n=this.clone(),n.__dir__*=-1;return n}function Mf(){var n=this.__wrapped__.value(),t=this.__dir__,e=L(n),r=t<0,u=e?n.length:0,o=kl(0,u,this.__views__),a=o.start,f=o.end,c=f-a,d=r?f:a-1,_=this.__iteratees__,v=_.length,x=0,C=ln(c,this.__takeCount__);if(!e||!r&&u==c&&C==c)return fs(n,this.__actions__);var P=[];n:for(;c--&&x<C;){d+=t;for(var M=-1,T=n[d];++M<v;){var D=_[M],B=D.iteratee,Ln=D.type,_n=B(T);if(Ln==Po)T=_n;else if(!_n){if(Ln==gn)continue n;break n}}P[x++]=T}return P}N.prototype=Ht(Je.prototype),N.prototype.constructor=N;function Pt(n){var t=-1,e=n==null?0:n.length;for(this.clear();++t<e;){var r=n[t];this.set(r[0],r[1])}}function Ff(){this.__data__=ae?ae(null):{},this.size=0}function Uf(n){var t=this.has(n)&&delete this.__data__[n];return this.size-=t?1:0,t}function Df(n){var t=this.__data__;if(ae){var e=t[n];return e===q?i:e}return G.call(t,n)?t[n]:i}function Nf(n){var t=this.__data__;return ae?t[n]!==i:G.call(t,n)}function Bf(n,t){var e=this.__data__;return this.size+=this.has(n)?0:1,e[n]=ae&&t===i?q:t,this}Pt.prototype.clear=Ff,Pt.prototype.delete=Uf,Pt.prototype.get=Df,Pt.prototype.has=Nf,Pt.prototype.set=Bf;function et(n){var t=-1,e=n==null?0:n.length;for(this.clear();++t<e;){var r=n[t];this.set(r[0],r[1])}}function $f(){this.__data__=[],this.size=0}function qf(n){var t=this.__data__,e=Ze(t,n);if(e<0)return!1;var r=t.length-1;return e==r?t.pop():qe.call(t,e,1),--this.size,!0}function Kf(n){var t=this.__data__,e=Ze(t,n);return e<0?i:t[e][1]}function Gf(n){return Ze(this.__data__,n)>-1}function zf(n,t){var e=this.__data__,r=Ze(e,n);return r<0?(++this.size,e.push([n,t])):e[r][1]=t,this}et.prototype.clear=$f,et.prototype.delete=qf,et.prototype.get=Kf,et.prototype.has=Gf,et.prototype.set=zf;function rt(n){var t=-1,e=n==null?0:n.length;for(this.clear();++t<e;){var r=n[t];this.set(r[0],r[1])}}function Hf(){this.size=0,this.__data__={hash:new Pt,map:new(se||et),string:new Pt}}function kf(n){var t=sr(this,n).delete(n);return this.size-=t?1:0,t}function Jf(n){return sr(this,n).get(n)}function Zf(n){return sr(this,n).has(n)}function Yf(n,t){var e=sr(this,n),r=e.size;return e.set(n,t),this.size+=e.size==r?0:1,this}rt.prototype.clear=Hf,rt.prototype.delete=kf,rt.prototype.get=Jf,rt.prototype.has=Zf,rt.prototype.set=Yf;function Tt(n){var t=-1,e=n==null?0:n.length;for(this.__data__=new rt;++t<e;)this.add(n[t])}function Xf(n){return this.__data__.set(n,q),this}function Qf(n){return this.__data__.has(n)}Tt.prototype.add=Tt.prototype.push=Xf,Tt.prototype.has=Qf;function Zn(n){var t=this.__data__=new et(n);this.size=t.size}function Vf(){this.__data__=new et,this.size=0}function jf(n){var t=this.__data__,e=t.delete(n);return this.size=t.size,e}function nl(n){return this.__data__.get(n)}function tl(n){return this.__data__.has(n)}function el(n,t){var e=this.__data__;if(e instanceof et){var r=e.__data__;if(!se||r.length<y-1)return r.push([n,t]),this.size=++e.size,this;e=this.__data__=new rt(r)}return e.set(n,t),this.size=e.size,this}Zn.prototype.clear=Vf,Zn.prototype.delete=jf,Zn.prototype.get=nl,Zn.prototype.has=tl,Zn.prototype.set=el;function $u(n,t){var e=L(n),r=!e&&Wt(n),u=!e&&!r&&xt(n),o=!e&&!r&&!u&&Yt(n),a=e||r||u||o,f=a?Gr(n.length,hf):[],c=f.length;for(var d in n)(t||G.call(n,d))&&!(a&&(d=="length"||u&&(d=="offset"||d=="parent")||o&&(d=="buffer"||d=="byteLength"||d=="byteOffset")||ot(d,c)))&&f.push(d);return f}function qu(n){var t=n.length;return t?n[si(0,t-1)]:i}function rl(n,t){return or(yn(n),Et(t,0,n.length))}function il(n){return or(yn(n))}function Xr(n,t,e){(e!==i&&!Yn(n[t],e)||e===i&&!(t in n))&&it(n,t,e)}function le(n,t,e){var r=n[t];(!(G.call(n,t)&&Yn(r,e))||e===i&&!(t in n))&&it(n,t,e)}function Ze(n,t){for(var e=n.length;e--;)if(Yn(n[e][0],t))return e;return-1}function ul(n,t,e,r){return vt(n,function(u,o,a){t(r,u,e(u),a)}),r}function Ku(n,t){return n&&jn(t,on(t),n)}function sl(n,t){return n&&jn(t,Sn(t),n)}function it(n,t,e){t=="__proto__"&&Ke?Ke(n,t,{configurable:!0,enumerable:!0,value:e,writable:!0}):n[t]=e}function Qr(n,t){for(var e=-1,r=t.length,u=h(r),o=n==null;++e<r;)u[e]=o?i:Li(n,t[e]);return u}function Et(n,t,e){return n===n&&(e!==i&&(n=n<=e?n:e),t!==i&&(n=n>=t?n:t)),n}function Bn(n,t,e,r,u,o){var a,f=t&en,c=t&bn,d=t&hn;if(e&&(a=u?e(n,r,u,o):e(n)),a!==i)return a;if(!Y(n))return n;var _=L(n);if(_){if(a=Zl(n),!f)return yn(n,a)}else{var v=cn(n),x=v==Re||v==zi;if(xt(n))return hs(n,f);if(v==tt||v==Ft||x&&!u){if(a=c||x?{}:Ls(n),!f)return c?Dl(n,sl(a,n)):Ul(n,Ku(a,n))}else{if(!k[v])return u?n:{};a=Yl(n,v,f)}}o||(o=new Zn);var C=o.get(n);if(C)return C;o.set(n,a),so(n)?n.forEach(function(T){a.add(Bn(T,t,e,T,n,o))}):io(n)&&n.forEach(function(T,D){a.set(D,Bn(T,t,e,D,n,o))});var P=d?c?vi:_i:c?Sn:on,M=_?i:P(n);return Un(M||n,function(T,D){M&&(D=T,T=n[D]),le(a,D,Bn(T,t,e,D,n,o))}),a}function ol(n){var t=on(n);return function(e){return Gu(e,n,t)}}function Gu(n,t,e){var r=e.length;if(n==null)return!r;for(n=H(n);r--;){var u=e[r],o=t[u],a=n[u];if(a===i&&!(u in n)||!o(a))return!1}return!0}function zu(n,t,e){if(typeof n!="function")throw new Dn(A);return ve(function(){n.apply(i,e)},t)}function ce(n,t,e,r){var u=-1,o=Le,a=!0,f=n.length,c=[],d=t.length;if(!f)return c;e&&(t=Z(t,Tn(e))),r?(o=Dr,a=!1):t.length>=y&&(o=ie,a=!1,t=new Tt(t));n:for(;++u<f;){var _=n[u],v=e==null?_:e(_);if(_=r||_!==0?_:0,a&&v===v){for(var x=d;x--;)if(t[x]===v)continue n;c.push(_)}else o(t,v,r)||c.push(_)}return c}var vt=vs(Vn),Hu=vs(jr,!0);function al(n,t){var e=!0;return vt(n,function(r,u,o){return e=!!t(r,u,o),e}),e}function Ye(n,t,e){for(var r=-1,u=n.length;++r<u;){var o=n[r],a=t(o);if(a!=null&&(f===i?a===a&&!In(a):e(a,f)))var f=a,c=o}return c}function fl(n,t,e,r){var u=n.length;for(e=W(e),e<0&&(e=-e>u?0:u+e),r=r===i||r>u?u:W(r),r<0&&(r+=u),r=e>r?0:ao(r);e<r;)n[e++]=t;return n}function ku(n,t){var e=[];return vt(n,function(r,u,o){t(r,u,o)&&e.push(r)}),e}function fn(n,t,e,r,u){var o=-1,a=n.length;for(e||(e=Ql),u||(u=[]);++o<a;){var f=n[o];t>0&&e(f)?t>1?fn(f,t-1,e,r,u):pt(u,f):r||(u[u.length]=f)}return u}var Vr=ws(),Ju=ws(!0);function Vn(n,t){return n&&Vr(n,t,on)}function jr(n,t){return n&&Ju(n,t,on)}function Xe(n,t){return gt(t,function(e){return at(n[e])})}function It(n,t){t=mt(t,n);for(var e=0,r=t.length;n!=null&&e<r;)n=n[nt(t[e++])];return e&&e==r?n:i}function Zu(n,t,e){var r=t(n);return L(n)?r:pt(r,e(n))}function pn(n){return n==null?n===i?Do:Fo:Rt&&Rt in H(n)?Hl(n):ic(n)}function ni(n,t){return n>t}function ll(n,t){return n!=null&&G.call(n,t)}function cl(n,t){return n!=null&&t in H(n)}function hl(n,t,e){return n>=ln(t,e)&&n<sn(t,e)}function ti(n,t,e){for(var r=e?Dr:Le,u=n[0].length,o=n.length,a=o,f=h(o),c=1/0,d=[];a--;){var _=n[a];a&&t&&(_=Z(_,Tn(t))),c=ln(_.length,c),f[a]=!e&&(t||u>=120&&_.length>=120)?new Tt(a&&_):i}_=n[0];var v=-1,x=f[0];n:for(;++v<u&&d.length<c;){var C=_[v],P=t?t(C):C;if(C=e||C!==0?C:0,!(x?ie(x,P):r(d,P,e))){for(a=o;--a;){var M=f[a];if(!(M?ie(M,P):r(n[a],P,e)))continue n}x&&x.push(P),d.push(C)}}return d}function gl(n,t,e,r){return Vn(n,function(u,o,a){t(r,e(u),o,a)}),r}function he(n,t,e){t=mt(t,n),n=Fs(n,t);var r=n==null?n:n[nt(qn(t))];return r==null?i:Pn(r,n,e)}function Yu(n){return Q(n)&&pn(n)==Ft}function pl(n){return Q(n)&&pn(n)==re}function dl(n){return Q(n)&&pn(n)==Vt}function ge(n,t,e,r,u){return n===t?!0:n==null||t==null||!Q(n)&&!Q(t)?n!==n&&t!==t:_l(n,t,e,r,ge,u)}function _l(n,t,e,r,u,o){var a=L(n),f=L(t),c=a?Ae:cn(n),d=f?Ae:cn(t);c=c==Ft?tt:c,d=d==Ft?tt:d;var _=c==tt,v=d==tt,x=c==d;if(x&&xt(n)){if(!xt(t))return!1;a=!0,_=!1}if(x&&!_)return o||(o=new Zn),a||Yt(n)?Ts(n,t,e,r,u,o):Gl(n,t,c,e,r,u,o);if(!(e&Rn)){var C=_&&G.call(n,"__wrapped__"),P=v&&G.call(t,"__wrapped__");if(C||P){var M=C?n.value():n,T=P?t.value():t;return o||(o=new Zn),u(M,T,e,r,o)}}return x?(o||(o=new Zn),zl(n,t,e,r,u,o)):!1}function vl(n){return Q(n)&&cn(n)==Hn}function ei(n,t,e,r){var u=e.length,o=u,a=!r;if(n==null)return!o;for(n=H(n);u--;){var f=e[u];if(a&&f[2]?f[1]!==n[f[0]]:!(f[0]in n))return!1}for(;++u<o;){f=e[u];var c=f[0],d=n[c],_=f[1];if(a&&f[2]){if(d===i&&!(c in n))return!1}else{var v=new Zn;if(r)var x=r(d,_,c,n,t,v);if(!(x===i?ge(_,d,Rn|ct,r,v):x))return!1}}return!0}function Xu(n){if(!Y(n)||jl(n))return!1;var t=at(n)?vf:sa;return t.test(Ot(n))}function wl(n){return Q(n)&&pn(n)==ne}function ml(n){return Q(n)&&cn(n)==kn}function yl(n){return Q(n)&&gr(n.length)&&!!J[pn(n)]}function Qu(n){return typeof n=="function"?n:n==null?Cn:typeof n=="object"?L(n)?ns(n[0],n[1]):ju(n):yo(n)}function ri(n){if(!_e(n))return Cf(n);var t=[];for(var e in H(n))G.call(n,e)&&e!="constructor"&&t.push(e);return t}function xl(n){if(!Y(n))return rc(n);var t=_e(n),e=[];for(var r in n)r=="constructor"&&(t||!G.call(n,r))||e.push(r);return e}function ii(n,t){return n<t}function Vu(n,t){var e=-1,r=xn(n)?h(n.length):[];return vt(n,function(u,o,a){r[++e]=t(u,o,a)}),r}function ju(n){var t=mi(n);return t.length==1&&t[0][2]?Ws(t[0][0],t[0][1]):function(e){return e===n||ei(e,n,t)}}function ns(n,t){return xi(n)&&Os(t)?Ws(nt(n),t):function(e){var r=Li(e,n);return r===i&&r===t?Oi(e,n):ge(t,r,Rn|ct)}}function Qe(n,t,e,r,u){n!==t&&Vr(t,function(o,a){if(u||(u=new Zn),Y(o))Sl(n,t,a,e,Qe,r,u);else{var f=r?r(Ci(n,a),o,a+"",n,t,u):i;f===i&&(f=o),Xr(n,a,f)}},Sn)}function Sl(n,t,e,r,u,o,a){var f=Ci(n,e),c=Ci(t,e),d=a.get(c);if(d){Xr(n,e,d);return}var _=o?o(f,c,e+"",n,t,a):i,v=_===i;if(v){var x=L(c),C=!x&&xt(c),P=!x&&!C&&Yt(c);_=c,x||C||P?L(f)?_=f:V(f)?_=yn(f):C?(v=!1,_=hs(c,!0)):P?(v=!1,_=gs(c,!0)):_=[]:we(c)||Wt(c)?(_=f,Wt(f)?_=fo(f):(!Y(f)||at(f))&&(_=Ls(c))):v=!1}v&&(a.set(c,_),u(_,c,r,o,a),a.delete(c)),Xr(n,e,_)}function ts(n,t){var e=n.length;if(e)return t+=t<0?e:0,ot(t,e)?n[t]:i}function es(n,t,e){t.length?t=Z(t,function(o){return L(o)?function(a){return It(a,o.length===1?o[0]:o)}:o}):t=[Cn];var r=-1;t=Z(t,Tn(b()));var u=Vu(n,function(o,a,f){var c=Z(t,function(d){return d(o)});return{criteria:c,index:++r,value:o}});return Za(u,function(o,a){return Fl(o,a,e)})}function Cl(n,t){return rs(n,t,function(e,r){return Oi(n,r)})}function rs(n,t,e){for(var r=-1,u=t.length,o={};++r<u;){var a=t[r],f=It(n,a);e(f,a)&&pe(o,mt(a,n),f)}return o}function Al(n){return function(t){return It(t,n)}}function ui(n,t,e,r){var u=r?Ja:Nt,o=-1,a=t.length,f=n;for(n===t&&(t=yn(t)),e&&(f=Z(n,Tn(e)));++o<a;)for(var c=0,d=t[o],_=e?e(d):d;(c=u(f,_,c,r))>-1;)f!==n&&qe.call(f,c,1),qe.call(n,c,1);return n}function is(n,t){for(var e=n?t.length:0,r=e-1;e--;){var u=t[e];if(e==r||u!==o){var o=u;ot(u)?qe.call(n,u,1):fi(n,u)}}return n}function si(n,t){return n+ze(Nu()*(t-n+1))}function bl(n,t,e,r){for(var u=-1,o=sn(Ge((t-n)/(e||1)),0),a=h(o);o--;)a[r?o:++u]=n,n+=e;return a}function oi(n,t){var e="";if(!n||t<1||t>ht)return e;do t%2&&(e+=n),t=ze(t/2),t&&(n+=n);while(t);return e}function U(n,t){return Ai(Ms(n,t,Cn),n+"")}function Rl(n){return qu(Xt(n))}function Pl(n,t){var e=Xt(n);return or(e,Et(t,0,e.length))}function pe(n,t,e,r){if(!Y(n))return n;t=mt(t,n);for(var u=-1,o=t.length,a=o-1,f=n;f!=null&&++u<o;){var c=nt(t[u]),d=e;if(c==="__proto__"||c==="constructor"||c==="prototype")return n;if(u!=a){var _=f[c];d=r?r(_,c,f):i,d===i&&(d=Y(_)?_:ot(t[u+1])?[]:{})}le(f,c,d),f=f[c]}return n}var us=He?function(n,t){return He.set(n,t),n}:Cn,Tl=Ke?function(n,t){return Ke(n,"toString",{configurable:!0,enumerable:!1,value:Mi(t),writable:!0})}:Cn;function El(n){return or(Xt(n))}function $n(n,t,e){var r=-1,u=n.length;t<0&&(t=-t>u?0:u+t),e=e>u?u:e,e<0&&(e+=u),u=t>e?0:e-t>>>0,t>>>=0;for(var o=h(u);++r<u;)o[r]=n[r+t];return o}function Il(n,t){var e;return vt(n,function(r,u,o){return e=t(r,u,o),!e}),!!e}function Ve(n,t,e){var r=0,u=n==null?r:n.length;if(typeof t=="number"&&t===t&&u<=Lo){for(;r<u;){var o=r+u>>>1,a=n[o];a!==null&&!In(a)&&(e?a<=t:a<t)?r=o+1:u=o}return u}return ai(n,t,Cn,e)}function ai(n,t,e,r){var u=0,o=n==null?0:n.length;if(o===0)return 0;t=e(t);for(var a=t!==t,f=t===null,c=In(t),d=t===i;u<o;){var _=ze((u+o)/2),v=e(n[_]),x=v!==i,C=v===null,P=v===v,M=In(v);if(a)var T=r||P;else d?T=P&&(r||x):f?T=P&&x&&(r||!C):c?T=P&&x&&!C&&(r||!M):C||M?T=!1:T=r?v<=t:v<t;T?u=_+1:o=_}return ln(o,Io)}function ss(n,t){for(var e=-1,r=n.length,u=0,o=[];++e<r;){var a=n[e],f=t?t(a):a;if(!e||!Yn(f,c)){var c=f;o[u++]=a===0?0:a}}return o}function os(n){return typeof n=="number"?n:In(n)?Ce:+n}function En(n){if(typeof n=="string")return n;if(L(n))return Z(n,En)+"";if(In(n))return Bu?Bu.call(n):"";var t=n+"";return t=="0"&&1/n==-At?"-0":t}function wt(n,t,e){var r=-1,u=Le,o=n.length,a=!0,f=[],c=f;if(e)a=!1,u=Dr;else if(o>=y){var d=t?null:ql(n);if(d)return We(d);a=!1,u=ie,c=new Tt}else c=t?[]:f;n:for(;++r<o;){var _=n[r],v=t?t(_):_;if(_=e||_!==0?_:0,a&&v===v){for(var x=c.length;x--;)if(c[x]===v)continue n;t&&c.push(v),f.push(_)}else u(c,v,e)||(c!==f&&c.push(v),f.push(_))}return f}function fi(n,t){return t=mt(t,n),n=Fs(n,t),n==null||delete n[nt(qn(t))]}function as(n,t,e,r){return pe(n,t,e(It(n,t)),r)}function je(n,t,e,r){for(var u=n.length,o=r?u:-1;(r?o--:++o<u)&&t(n[o],o,n););return e?$n(n,r?0:o,r?o+1:u):$n(n,r?o+1:0,r?u:o)}function fs(n,t){var e=n;return e instanceof N&&(e=e.value()),Nr(t,function(r,u){return u.func.apply(u.thisArg,pt([r],u.args))},e)}function li(n,t,e){var r=n.length;if(r<2)return r?wt(n[0]):[];for(var u=-1,o=h(r);++u<r;)for(var a=n[u],f=-1;++f<r;)f!=u&&(o[u]=ce(o[u]||a,n[f],t,e));return wt(fn(o,1),t,e)}function ls(n,t,e){for(var r=-1,u=n.length,o=t.length,a={};++r<u;){var f=r<o?t[r]:i;e(a,n[r],f)}return a}function ci(n){return V(n)?n:[]}function hi(n){return typeof n=="function"?n:Cn}function mt(n,t){return L(n)?n:xi(n,t)?[n]:Bs(K(n))}var Ll=U;function yt(n,t,e){var r=n.length;return e=e===i?r:e,!t&&e>=r?n:$n(n,t,e)}var cs=wf||function(n){return an.clearTimeout(n)};function hs(n,t){if(t)return n.slice();var e=n.length,r=Wu?Wu(e):new n.constructor(e);return n.copy(r),r}function gi(n){var t=new n.constructor(n.byteLength);return new Be(t).set(new Be(n)),t}function Ol(n,t){var e=t?gi(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.byteLength)}function Wl(n){var t=new n.constructor(n.source,Yi.exec(n));return t.lastIndex=n.lastIndex,t}function Ml(n){return fe?H(fe.call(n)):{}}function gs(n,t){var e=t?gi(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.length)}function ps(n,t){if(n!==t){var e=n!==i,r=n===null,u=n===n,o=In(n),a=t!==i,f=t===null,c=t===t,d=In(t);if(!f&&!d&&!o&&n>t||o&&a&&c&&!f&&!d||r&&a&&c||!e&&c||!u)return 1;if(!r&&!o&&!d&&n<t||d&&e&&u&&!r&&!o||f&&e&&u||!a&&u||!c)return-1}return 0}function Fl(n,t,e){for(var r=-1,u=n.criteria,o=t.criteria,a=u.length,f=e.length;++r<a;){var c=ps(u[r],o[r]);if(c){if(r>=f)return c;var d=e[r];return c*(d=="desc"?-1:1)}}return n.index-t.index}function ds(n,t,e,r){for(var u=-1,o=n.length,a=e.length,f=-1,c=t.length,d=sn(o-a,0),_=h(c+d),v=!r;++f<c;)_[f]=t[f];for(;++u<a;)(v||u<o)&&(_[e[u]]=n[u]);for(;d--;)_[f++]=n[u++];return _}function _s(n,t,e,r){for(var u=-1,o=n.length,a=-1,f=e.length,c=-1,d=t.length,_=sn(o-f,0),v=h(_+d),x=!r;++u<_;)v[u]=n[u];for(var C=u;++c<d;)v[C+c]=t[c];for(;++a<f;)(x||u<o)&&(v[C+e[a]]=n[u++]);return v}function yn(n,t){var e=-1,r=n.length;for(t||(t=h(r));++e<r;)t[e]=n[e];return t}function jn(n,t,e,r){var u=!e;e||(e={});for(var o=-1,a=t.length;++o<a;){var f=t[o],c=r?r(e[f],n[f],f,e,n):i;c===i&&(c=n[f]),u?it(e,f,c):le(e,f,c)}return e}function Ul(n,t){return jn(n,yi(n),t)}function Dl(n,t){return jn(n,Es(n),t)}function nr(n,t){return function(e,r){var u=L(e)?qa:ul,o=t?t():{};return u(e,n,b(r,2),o)}}function kt(n){return U(function(t,e){var r=-1,u=e.length,o=u>1?e[u-1]:i,a=u>2?e[2]:i;for(o=n.length>3&&typeof o=="function"?(u--,o):i,a&&dn(e[0],e[1],a)&&(o=u<3?i:o,u=1),t=H(t);++r<u;){var f=e[r];f&&n(t,f,r,o)}return t})}function vs(n,t){return function(e,r){if(e==null)return e;if(!xn(e))return n(e,r);for(var u=e.length,o=t?u:-1,a=H(e);(t?o--:++o<u)&&r(a[o],o,a)!==!1;);return e}}function ws(n){return function(t,e,r){for(var u=-1,o=H(t),a=r(t),f=a.length;f--;){var c=a[n?f:++u];if(e(o[c],c,o)===!1)break}return t}}function Nl(n,t,e){var r=t&wn,u=de(n);function o(){var a=this&&this!==an&&this instanceof o?u:n;return a.apply(r?e:this,arguments)}return o}function ms(n){return function(t){t=K(t);var e=Bt(t)?Jn(t):i,r=e?e[0]:t.charAt(0),u=e?yt(e,1).join(""):t.slice(1);return r[n]()+u}}function Jt(n){return function(t){return Nr(wo(vo(t).replace(Pa,"")),n,"")}}function de(n){return function(){var t=arguments;switch(t.length){case 0:return new n;case 1:return new n(t[0]);case 2:return new n(t[0],t[1]);case 3:return new n(t[0],t[1],t[2]);case 4:return new n(t[0],t[1],t[2],t[3]);case 5:return new n(t[0],t[1],t[2],t[3],t[4]);case 6:return new n(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new n(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var e=Ht(n.prototype),r=n.apply(e,t);return Y(r)?r:e}}function Bl(n,t,e){var r=de(n);function u(){for(var o=arguments.length,a=h(o),f=o,c=Zt(u);f--;)a[f]=arguments[f];var d=o<3&&a[0]!==c&&a[o-1]!==c?[]:dt(a,c);if(o-=d.length,o<e)return As(n,t,tr,u.placeholder,i,a,d,i,i,e-o);var _=this&&this!==an&&this instanceof u?r:n;return Pn(_,this,a)}return u}function ys(n){return function(t,e,r){var u=H(t);if(!xn(t)){var o=b(e,3);t=on(t),e=function(f){return o(u[f],f,u)}}var a=n(t,e,r);return a>-1?u[o?t[a]:a]:i}}function xs(n){return st(function(t){var e=t.length,r=e,u=Nn.prototype.thru;for(n&&t.reverse();r--;){var o=t[r];if(typeof o!="function")throw new Dn(A);if(u&&!a&&ur(o)=="wrapper")var a=new Nn([],!0)}for(r=a?r:e;++r<e;){o=t[r];var f=ur(o),c=f=="wrapper"?wi(o):i;c&&Si(c[0])&&c[1]==(F|Gn|zn|nn)&&!c[4].length&&c[9]==1?a=a[ur(c[0])].apply(a,c[3]):a=o.length==1&&Si(o)?a[f]():a.thru(o)}return function(){var d=arguments,_=d[0];if(a&&d.length==1&&L(_))return a.plant(_).value();for(var v=0,x=e?t[v].apply(this,d):_;++v<e;)x=t[v].call(this,x);return x}})}function tr(n,t,e,r,u,o,a,f,c,d){var _=t&F,v=t&wn,x=t&mn,C=t&(Gn|St),P=t&z,M=x?i:de(n);function T(){for(var D=arguments.length,B=h(D),Ln=D;Ln--;)B[Ln]=arguments[Ln];if(C)var _n=Zt(T),On=Xa(B,_n);if(r&&(B=ds(B,r,u,C)),o&&(B=_s(B,o,a,C)),D-=On,C&&D<d){var j=dt(B,_n);return As(n,t,tr,T.placeholder,e,B,j,f,c,d-D)}var Xn=v?e:this,lt=x?Xn[n]:n;return D=B.length,f?B=uc(B,f):P&&D>1&&B.reverse(),_&&c<D&&(B.length=c),this&&this!==an&&this instanceof T&&(lt=M||de(lt)),lt.apply(Xn,B)}return T}function Ss(n,t){return function(e,r){return gl(e,n,t(r),{})}}function er(n,t){return function(e,r){var u;if(e===i&&r===i)return t;if(e!==i&&(u=e),r!==i){if(u===i)return r;typeof e=="string"||typeof r=="string"?(e=En(e),r=En(r)):(e=os(e),r=os(r)),u=n(e,r)}return u}}function pi(n){return st(function(t){return t=Z(t,Tn(b())),U(function(e){var r=this;return n(t,function(u){return Pn(u,r,e)})})})}function rr(n,t){t=t===i?" ":En(t);var e=t.length;if(e<2)return e?oi(t,n):t;var r=oi(t,Ge(n/$t(t)));return Bt(t)?yt(Jn(r),0,n).join(""):r.slice(0,n)}function $l(n,t,e,r){var u=t&wn,o=de(n);function a(){for(var f=-1,c=arguments.length,d=-1,_=r.length,v=h(_+c),x=this&&this!==an&&this instanceof a?o:n;++d<_;)v[d]=r[d];for(;c--;)v[d++]=arguments[++f];return Pn(x,u?e:this,v)}return a}function Cs(n){return function(t,e,r){return r&&typeof r!="number"&&dn(t,e,r)&&(e=r=i),t=ft(t),e===i?(e=t,t=0):e=ft(e),r=r===i?t<e?1:-1:ft(r),bl(t,e,r,n)}}function ir(n){return function(t,e){return typeof t=="string"&&typeof e=="string"||(t=Kn(t),e=Kn(e)),n(t,e)}}function As(n,t,e,r,u,o,a,f,c,d){var _=t&Gn,v=_?a:i,x=_?i:a,C=_?o:i,P=_?i:o;t|=_?zn:Ct,t&=~(_?Ct:zn),t&Se||(t&=-4);var M=[n,t,u,C,v,P,x,f,c,d],T=e.apply(i,M);return Si(n)&&Us(T,M),T.placeholder=r,Ds(T,n,t)}function di(n){var t=un[n];return function(e,r){if(e=Kn(e),r=r==null?0:ln(W(r),292),r&&Du(e)){var u=(K(e)+"e").split("e"),o=t(u[0]+"e"+(+u[1]+r));return u=(K(o)+"e").split("e"),+(u[0]+"e"+(+u[1]-r))}return t(e)}}var ql=Gt&&1/We(new Gt([,-0]))[1]==At?function(n){return new Gt(n)}:Di;function bs(n){return function(t){var e=cn(t);return e==Hn?Hr(t):e==kn?rf(t):Ya(t,n(t))}}function ut(n,t,e,r,u,o,a,f){var c=t&mn;if(!c&&typeof n!="function")throw new Dn(A);var d=r?r.length:0;if(d||(t&=-97,r=u=i),a=a===i?a:sn(W(a),0),f=f===i?f:W(f),d-=u?u.length:0,t&Ct){var _=r,v=u;r=u=i}var x=c?i:wi(n),C=[n,t,e,r,u,_,v,o,a,f];if(x&&ec(C,x),n=C[0],t=C[1],e=C[2],r=C[3],u=C[4],f=C[9]=C[9]===i?c?0:n.length:sn(C[9]-d,0),!f&&t&(Gn|St)&&(t&=-25),!t||t==wn)var P=Nl(n,t,e);else t==Gn||t==St?P=Bl(n,t,f):(t==zn||t==(wn|zn))&&!u.length?P=$l(n,t,e,r):P=tr.apply(i,C);var M=x?us:Us;return Ds(M(P,C),n,t)}function Rs(n,t,e,r){return n===i||Yn(n,Kt[e])&&!G.call(r,e)?t:n}function Ps(n,t,e,r,u,o){return Y(n)&&Y(t)&&(o.set(t,n),Qe(n,t,i,Ps,o),o.delete(t)),n}function Kl(n){return we(n)?i:n}function Ts(n,t,e,r,u,o){var a=e&Rn,f=n.length,c=t.length;if(f!=c&&!(a&&c>f))return!1;var d=o.get(n),_=o.get(t);if(d&&_)return d==t&&_==n;var v=-1,x=!0,C=e&ct?new Tt:i;for(o.set(n,t),o.set(t,n);++v<f;){var P=n[v],M=t[v];if(r)var T=a?r(M,P,v,t,n,o):r(P,M,v,n,t,o);if(T!==i){if(T)continue;x=!1;break}if(C){if(!Br(t,function(D,B){if(!ie(C,B)&&(P===D||u(P,D,e,r,o)))return C.push(B)})){x=!1;break}}else if(!(P===M||u(P,M,e,r,o))){x=!1;break}}return o.delete(n),o.delete(t),x}function Gl(n,t,e,r,u,o,a){switch(e){case Ut:if(n.byteLength!=t.byteLength||n.byteOffset!=t.byteOffset)return!1;n=n.buffer,t=t.buffer;case re:return!(n.byteLength!=t.byteLength||!o(new Be(n),new Be(t)));case Qt:case Vt:case jt:return Yn(+n,+t);case be:return n.name==t.name&&n.message==t.message;case ne:case te:return n==t+"";case Hn:var f=Hr;case kn:var c=r&Rn;if(f||(f=We),n.size!=t.size&&!c)return!1;var d=a.get(n);if(d)return d==t;r|=ct,a.set(n,t);var _=Ts(f(n),f(t),r,u,o,a);return a.delete(n),_;case Pe:if(fe)return fe.call(n)==fe.call(t)}return!1}function zl(n,t,e,r,u,o){var a=e&Rn,f=_i(n),c=f.length,d=_i(t),_=d.length;if(c!=_&&!a)return!1;for(var v=c;v--;){var x=f[v];if(!(a?x in t:G.call(t,x)))return!1}var C=o.get(n),P=o.get(t);if(C&&P)return C==t&&P==n;var M=!0;o.set(n,t),o.set(t,n);for(var T=a;++v<c;){x=f[v];var D=n[x],B=t[x];if(r)var Ln=a?r(B,D,x,t,n,o):r(D,B,x,n,t,o);if(!(Ln===i?D===B||u(D,B,e,r,o):Ln)){M=!1;break}T||(T=x=="constructor")}if(M&&!T){var _n=n.constructor,On=t.constructor;_n!=On&&"constructor"in n&&"constructor"in t&&!(typeof _n=="function"&&_n instanceof _n&&typeof On=="function"&&On instanceof On)&&(M=!1)}return o.delete(n),o.delete(t),M}function st(n){return Ai(Ms(n,i,Gs),n+"")}function _i(n){return Zu(n,on,yi)}function vi(n){return Zu(n,Sn,Es)}var wi=He?function(n){return He.get(n)}:Di;function ur(n){for(var t=n.name+"",e=zt[t],r=G.call(zt,t)?e.length:0;r--;){var u=e[r],o=u.func;if(o==null||o==n)return u.name}return t}function Zt(n){var t=G.call(s,"placeholder")?s:n;return t.placeholder}function b(){var n=s.iteratee||Fi;return n=n===Fi?Qu:n,arguments.length?n(arguments[0],arguments[1]):n}function sr(n,t){var e=n.__data__;return Vl(t)?e[typeof t=="string"?"string":"hash"]:e.map}function mi(n){for(var t=on(n),e=t.length;e--;){var r=t[e],u=n[r];t[e]=[r,u,Os(u)]}return t}function Lt(n,t){var e=nf(n,t);return Xu(e)?e:i}function Hl(n){var t=G.call(n,Rt),e=n[Rt];try{n[Rt]=i;var r=!0}catch{}var u=De.call(n);return r&&(t?n[Rt]=e:delete n[Rt]),u}var yi=Jr?function(n){return n==null?[]:(n=H(n),gt(Jr(n),function(t){return Fu.call(n,t)}))}:Ni,Es=Jr?function(n){for(var t=[];n;)pt(t,yi(n)),n=$e(n);return t}:Ni,cn=pn;(Zr&&cn(new Zr(new ArrayBuffer(1)))!=Ut||se&&cn(new se)!=Hn||Yr&&cn(Yr.resolve())!=Hi||Gt&&cn(new Gt)!=kn||oe&&cn(new oe)!=ee)&&(cn=function(n){var t=pn(n),e=t==tt?n.constructor:i,r=e?Ot(e):"";if(r)switch(r){case Pf:return Ut;case Tf:return Hn;case Ef:return Hi;case If:return kn;case Lf:return ee}return t});function kl(n,t,e){for(var r=-1,u=e.length;++r<u;){var o=e[r],a=o.size;switch(o.type){case"drop":n+=a;break;case"dropRight":t-=a;break;case"take":t=ln(t,n+a);break;case"takeRight":n=sn(n,t-a);break}}return{start:n,end:t}}function Jl(n){var t=n.match(Vo);return t?t[1].split(jo):[]}function Is(n,t,e){t=mt(t,n);for(var r=-1,u=t.length,o=!1;++r<u;){var a=nt(t[r]);if(!(o=n!=null&&e(n,a)))break;n=n[a]}return o||++r!=u?o:(u=n==null?0:n.length,!!u&&gr(u)&&ot(a,u)&&(L(n)||Wt(n)))}function Zl(n){var t=n.length,e=new n.constructor(t);return t&&typeof n[0]=="string"&&G.call(n,"index")&&(e.index=n.index,e.input=n.input),e}function Ls(n){return typeof n.constructor=="function"&&!_e(n)?Ht($e(n)):{}}function Yl(n,t,e){var r=n.constructor;switch(t){case re:return gi(n);case Qt:case Vt:return new r(+n);case Ut:return Ol(n,e);case mr:case yr:case xr:case Sr:case Cr:case Ar:case br:case Rr:case Pr:return gs(n,e);case Hn:return new r;case jt:case te:return new r(n);case ne:return Wl(n);case kn:return new r;case Pe:return Ml(n)}}function Xl(n,t){var e=t.length;if(!e)return n;var r=e-1;return t[r]=(e>1?"& ":"")+t[r],t=t.join(e>2?", ":" "),n.replace(Qo,`{
9
- /* [wrapped with `+t+`] */
10
- `)}function Ql(n){return L(n)||Wt(n)||!!(Uu&&n&&n[Uu])}function ot(n,t){var e=typeof n;return t=t??ht,!!t&&(e=="number"||e!="symbol"&&aa.test(n))&&n>-1&&n%1==0&&n<t}function dn(n,t,e){if(!Y(e))return!1;var r=typeof t;return(r=="number"?xn(e)&&ot(t,e.length):r=="string"&&t in e)?Yn(e[t],n):!1}function xi(n,t){if(L(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||In(n)?!0:Jo.test(n)||!ko.test(n)||t!=null&&n in H(t)}function Vl(n){var t=typeof n;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?n!=="__proto__":n===null}function Si(n){var t=ur(n),e=s[t];if(typeof e!="function"||!(t in N.prototype))return!1;if(n===e)return!0;var r=wi(e);return!!r&&n===r[0]}function jl(n){return!!Ou&&Ou in n}var nc=Fe?at:Bi;function _e(n){var t=n&&n.constructor,e=typeof t=="function"&&t.prototype||Kt;return n===e}function Os(n){return n===n&&!Y(n)}function Ws(n,t){return function(e){return e==null?!1:e[n]===t&&(t!==i||n in H(e))}}function tc(n){var t=cr(n,function(r){return e.size===tn&&e.clear(),r}),e=t.cache;return t}function ec(n,t){var e=n[1],r=t[1],u=e|r,o=u<(wn|mn|F),a=r==F&&e==Gn||r==F&&e==nn&&n[7].length<=t[8]||r==(F|nn)&&t[7].length<=t[8]&&e==Gn;if(!(o||a))return n;r&wn&&(n[2]=t[2],u|=e&wn?0:Se);var f=t[3];if(f){var c=n[3];n[3]=c?ds(c,f,t[4]):f,n[4]=c?dt(n[3],An):t[4]}return f=t[5],f&&(c=n[5],n[5]=c?_s(c,f,t[6]):f,n[6]=c?dt(n[5],An):t[6]),f=t[7],f&&(n[7]=f),r&F&&(n[8]=n[8]==null?t[8]:ln(n[8],t[8])),n[9]==null&&(n[9]=t[9]),n[0]=t[0],n[1]=u,n}function rc(n){var t=[];if(n!=null)for(var e in H(n))t.push(e);return t}function ic(n){return De.call(n)}function Ms(n,t,e){return t=sn(t===i?n.length-1:t,0),function(){for(var r=arguments,u=-1,o=sn(r.length-t,0),a=h(o);++u<o;)a[u]=r[t+u];u=-1;for(var f=h(t+1);++u<t;)f[u]=r[u];return f[t]=e(a),Pn(n,this,f)}}function Fs(n,t){return t.length<2?n:It(n,$n(t,0,-1))}function uc(n,t){for(var e=n.length,r=ln(t.length,e),u=yn(n);r--;){var o=t[r];n[r]=ot(o,e)?u[o]:i}return n}function Ci(n,t){if(!(t==="constructor"&&typeof n[t]=="function")&&t!="__proto__")return n[t]}var Us=Ns(us),ve=yf||function(n,t){return an.setTimeout(n,t)},Ai=Ns(Tl);function Ds(n,t,e){var r=t+"";return Ai(n,Xl(r,sc(Jl(r),e)))}function Ns(n){var t=0,e=0;return function(){var r=Af(),u=X-(r-e);if(e=r,u>0){if(++t>=Mn)return arguments[0]}else t=0;return n.apply(i,arguments)}}function or(n,t){var e=-1,r=n.length,u=r-1;for(t=t===i?r:t;++e<t;){var o=si(e,u),a=n[o];n[o]=n[e],n[e]=a}return n.length=t,n}var Bs=tc(function(n){var t=[];return n.charCodeAt(0)===46&&t.push(""),n.replace(Zo,function(e,r,u,o){t.push(u?o.replace(ea,"$1"):r||e)}),t});function nt(n){if(typeof n=="string"||In(n))return n;var t=n+"";return t=="0"&&1/n==-At?"-0":t}function Ot(n){if(n!=null){try{return Ue.call(n)}catch{}try{return n+""}catch{}}return""}function sc(n,t){return Un(Oo,function(e){var r="_."+e[0];t&e[1]&&!Le(n,r)&&n.push(r)}),n.sort()}function $s(n){if(n instanceof N)return n.clone();var t=new Nn(n.__wrapped__,n.__chain__);return t.__actions__=yn(n.__actions__),t.__index__=n.__index__,t.__values__=n.__values__,t}function oc(n,t,e){(e?dn(n,t,e):t===i)?t=1:t=sn(W(t),0);var r=n==null?0:n.length;if(!r||t<1)return[];for(var u=0,o=0,a=h(Ge(r/t));u<r;)a[o++]=$n(n,u,u+=t);return a}function ac(n){for(var t=-1,e=n==null?0:n.length,r=0,u=[];++t<e;){var o=n[t];o&&(u[r++]=o)}return u}function fc(){var n=arguments.length;if(!n)return[];for(var t=h(n-1),e=arguments[0],r=n;r--;)t[r-1]=arguments[r];return pt(L(e)?yn(e):[e],fn(t,1))}var lc=U(function(n,t){return V(n)?ce(n,fn(t,1,V,!0)):[]}),cc=U(function(n,t){var e=qn(t);return V(e)&&(e=i),V(n)?ce(n,fn(t,1,V,!0),b(e,2)):[]}),hc=U(function(n,t){var e=qn(t);return V(e)&&(e=i),V(n)?ce(n,fn(t,1,V,!0),i,e):[]});function gc(n,t,e){var r=n==null?0:n.length;return r?(t=e||t===i?1:W(t),$n(n,t<0?0:t,r)):[]}function pc(n,t,e){var r=n==null?0:n.length;return r?(t=e||t===i?1:W(t),t=r-t,$n(n,0,t<0?0:t)):[]}function dc(n,t){return n&&n.length?je(n,b(t,3),!0,!0):[]}function _c(n,t){return n&&n.length?je(n,b(t,3),!0):[]}function vc(n,t,e,r){var u=n==null?0:n.length;return u?(e&&typeof e!="number"&&dn(n,t,e)&&(e=0,r=u),fl(n,t,e,r)):[]}function qs(n,t,e){var r=n==null?0:n.length;if(!r)return-1;var u=e==null?0:W(e);return u<0&&(u=sn(r+u,0)),Oe(n,b(t,3),u)}function Ks(n,t,e){var r=n==null?0:n.length;if(!r)return-1;var u=r-1;return e!==i&&(u=W(e),u=e<0?sn(r+u,0):ln(u,r-1)),Oe(n,b(t,3),u,!0)}function Gs(n){var t=n==null?0:n.length;return t?fn(n,1):[]}function wc(n){var t=n==null?0:n.length;return t?fn(n,At):[]}function mc(n,t){var e=n==null?0:n.length;return e?(t=t===i?1:W(t),fn(n,t)):[]}function yc(n){for(var t=-1,e=n==null?0:n.length,r={};++t<e;){var u=n[t];r[u[0]]=u[1]}return r}function zs(n){return n&&n.length?n[0]:i}function xc(n,t,e){var r=n==null?0:n.length;if(!r)return-1;var u=e==null?0:W(e);return u<0&&(u=sn(r+u,0)),Nt(n,t,u)}function Sc(n){var t=n==null?0:n.length;return t?$n(n,0,-1):[]}var Cc=U(function(n){var t=Z(n,ci);return t.length&&t[0]===n[0]?ti(t):[]}),Ac=U(function(n){var t=qn(n),e=Z(n,ci);return t===qn(e)?t=i:e.pop(),e.length&&e[0]===n[0]?ti(e,b(t,2)):[]}),bc=U(function(n){var t=qn(n),e=Z(n,ci);return t=typeof t=="function"?t:i,t&&e.pop(),e.length&&e[0]===n[0]?ti(e,i,t):[]});function Rc(n,t){return n==null?"":Sf.call(n,t)}function qn(n){var t=n==null?0:n.length;return t?n[t-1]:i}function Pc(n,t,e){var r=n==null?0:n.length;if(!r)return-1;var u=r;return e!==i&&(u=W(e),u=u<0?sn(r+u,0):ln(u,r-1)),t===t?sf(n,t,u):Oe(n,Au,u,!0)}function Tc(n,t){return n&&n.length?ts(n,W(t)):i}var Ec=U(Hs);function Hs(n,t){return n&&n.length&&t&&t.length?ui(n,t):n}function Ic(n,t,e){return n&&n.length&&t&&t.length?ui(n,t,b(e,2)):n}function Lc(n,t,e){return n&&n.length&&t&&t.length?ui(n,t,i,e):n}var Oc=st(function(n,t){var e=n==null?0:n.length,r=Qr(n,t);return is(n,Z(t,function(u){return ot(u,e)?+u:u}).sort(ps)),r});function Wc(n,t){var e=[];if(!(n&&n.length))return e;var r=-1,u=[],o=n.length;for(t=b(t,3);++r<o;){var a=n[r];t(a,r,n)&&(e.push(a),u.push(r))}return is(n,u),e}function bi(n){return n==null?n:Rf.call(n)}function Mc(n,t,e){var r=n==null?0:n.length;return r?(e&&typeof e!="number"&&dn(n,t,e)?(t=0,e=r):(t=t==null?0:W(t),e=e===i?r:W(e)),$n(n,t,e)):[]}function Fc(n,t){return Ve(n,t)}function Uc(n,t,e){return ai(n,t,b(e,2))}function Dc(n,t){var e=n==null?0:n.length;if(e){var r=Ve(n,t);if(r<e&&Yn(n[r],t))return r}return-1}function Nc(n,t){return Ve(n,t,!0)}function Bc(n,t,e){return ai(n,t,b(e,2),!0)}function $c(n,t){var e=n==null?0:n.length;if(e){var r=Ve(n,t,!0)-1;if(Yn(n[r],t))return r}return-1}function qc(n){return n&&n.length?ss(n):[]}function Kc(n,t){return n&&n.length?ss(n,b(t,2)):[]}function Gc(n){var t=n==null?0:n.length;return t?$n(n,1,t):[]}function zc(n,t,e){return n&&n.length?(t=e||t===i?1:W(t),$n(n,0,t<0?0:t)):[]}function Hc(n,t,e){var r=n==null?0:n.length;return r?(t=e||t===i?1:W(t),t=r-t,$n(n,t<0?0:t,r)):[]}function kc(n,t){return n&&n.length?je(n,b(t,3),!1,!0):[]}function Jc(n,t){return n&&n.length?je(n,b(t,3)):[]}var Zc=U(function(n){return wt(fn(n,1,V,!0))}),Yc=U(function(n){var t=qn(n);return V(t)&&(t=i),wt(fn(n,1,V,!0),b(t,2))}),Xc=U(function(n){var t=qn(n);return t=typeof t=="function"?t:i,wt(fn(n,1,V,!0),i,t)});function Qc(n){return n&&n.length?wt(n):[]}function Vc(n,t){return n&&n.length?wt(n,b(t,2)):[]}function jc(n,t){return t=typeof t=="function"?t:i,n&&n.length?wt(n,i,t):[]}function Ri(n){if(!(n&&n.length))return[];var t=0;return n=gt(n,function(e){if(V(e))return t=sn(e.length,t),!0}),Gr(t,function(e){return Z(n,$r(e))})}function ks(n,t){if(!(n&&n.length))return[];var e=Ri(n);return t==null?e:Z(e,function(r){return Pn(t,i,r)})}var nh=U(function(n,t){return V(n)?ce(n,t):[]}),th=U(function(n){return li(gt(n,V))}),eh=U(function(n){var t=qn(n);return V(t)&&(t=i),li(gt(n,V),b(t,2))}),rh=U(function(n){var t=qn(n);return t=typeof t=="function"?t:i,li(gt(n,V),i,t)}),ih=U(Ri);function uh(n,t){return ls(n||[],t||[],le)}function sh(n,t){return ls(n||[],t||[],pe)}var oh=U(function(n){var t=n.length,e=t>1?n[t-1]:i;return e=typeof e=="function"?(n.pop(),e):i,ks(n,e)});function Js(n){var t=s(n);return t.__chain__=!0,t}function ah(n,t){return t(n),n}function ar(n,t){return t(n)}var fh=st(function(n){var t=n.length,e=t?n[0]:0,r=this.__wrapped__,u=function(o){return Qr(o,n)};return t>1||this.__actions__.length||!(r instanceof N)||!ot(e)?this.thru(u):(r=r.slice(e,+e+(t?1:0)),r.__actions__.push({func:ar,args:[u],thisArg:i}),new Nn(r,this.__chain__).thru(function(o){return t&&!o.length&&o.push(i),o}))});function lh(){return Js(this)}function ch(){return new Nn(this.value(),this.__chain__)}function hh(){this.__values__===i&&(this.__values__=oo(this.value()));var n=this.__index__>=this.__values__.length,t=n?i:this.__values__[this.__index__++];return{done:n,value:t}}function gh(){return this}function ph(n){for(var t,e=this;e instanceof Je;){var r=$s(e);r.__index__=0,r.__values__=i,t?u.__wrapped__=r:t=r;var u=r;e=e.__wrapped__}return u.__wrapped__=n,t}function dh(){var n=this.__wrapped__;if(n instanceof N){var t=n;return this.__actions__.length&&(t=new N(this)),t=t.reverse(),t.__actions__.push({func:ar,args:[bi],thisArg:i}),new Nn(t,this.__chain__)}return this.thru(bi)}function _h(){return fs(this.__wrapped__,this.__actions__)}var vh=nr(function(n,t,e){G.call(n,e)?++n[e]:it(n,e,1)});function wh(n,t,e){var r=L(n)?Su:al;return e&&dn(n,t,e)&&(t=i),r(n,b(t,3))}function mh(n,t){var e=L(n)?gt:ku;return e(n,b(t,3))}var yh=ys(qs),xh=ys(Ks);function Sh(n,t){return fn(fr(n,t),1)}function Ch(n,t){return fn(fr(n,t),At)}function Ah(n,t,e){return e=e===i?1:W(e),fn(fr(n,t),e)}function Zs(n,t){var e=L(n)?Un:vt;return e(n,b(t,3))}function Ys(n,t){var e=L(n)?Ka:Hu;return e(n,b(t,3))}var bh=nr(function(n,t,e){G.call(n,e)?n[e].push(t):it(n,e,[t])});function Rh(n,t,e,r){n=xn(n)?n:Xt(n),e=e&&!r?W(e):0;var u=n.length;return e<0&&(e=sn(u+e,0)),pr(n)?e<=u&&n.indexOf(t,e)>-1:!!u&&Nt(n,t,e)>-1}var Ph=U(function(n,t,e){var r=-1,u=typeof t=="function",o=xn(n)?h(n.length):[];return vt(n,function(a){o[++r]=u?Pn(t,a,e):he(a,t,e)}),o}),Th=nr(function(n,t,e){it(n,e,t)});function fr(n,t){var e=L(n)?Z:Vu;return e(n,b(t,3))}function Eh(n,t,e,r){return n==null?[]:(L(t)||(t=t==null?[]:[t]),e=r?i:e,L(e)||(e=e==null?[]:[e]),es(n,t,e))}var Ih=nr(function(n,t,e){n[e?0:1].push(t)},function(){return[[],[]]});function Lh(n,t,e){var r=L(n)?Nr:Ru,u=arguments.length<3;return r(n,b(t,4),e,u,vt)}function Oh(n,t,e){var r=L(n)?Ga:Ru,u=arguments.length<3;return r(n,b(t,4),e,u,Hu)}function Wh(n,t){var e=L(n)?gt:ku;return e(n,hr(b(t,3)))}function Mh(n){var t=L(n)?qu:Rl;return t(n)}function Fh(n,t,e){(e?dn(n,t,e):t===i)?t=1:t=W(t);var r=L(n)?rl:Pl;return r(n,t)}function Uh(n){var t=L(n)?il:El;return t(n)}function Dh(n){if(n==null)return 0;if(xn(n))return pr(n)?$t(n):n.length;var t=cn(n);return t==Hn||t==kn?n.size:ri(n).length}function Nh(n,t,e){var r=L(n)?Br:Il;return e&&dn(n,t,e)&&(t=i),r(n,b(t,3))}var Bh=U(function(n,t){if(n==null)return[];var e=t.length;return e>1&&dn(n,t[0],t[1])?t=[]:e>2&&dn(t[0],t[1],t[2])&&(t=[t[0]]),es(n,fn(t,1),[])}),lr=mf||function(){return an.Date.now()};function $h(n,t){if(typeof t!="function")throw new Dn(A);return n=W(n),function(){if(--n<1)return t.apply(this,arguments)}}function Xs(n,t,e){return t=e?i:t,t=n&&t==null?n.length:t,ut(n,F,i,i,i,i,t)}function Qs(n,t){var e;if(typeof t!="function")throw new Dn(A);return n=W(n),function(){return--n>0&&(e=t.apply(this,arguments)),n<=1&&(t=i),e}}var Pi=U(function(n,t,e){var r=wn;if(e.length){var u=dt(e,Zt(Pi));r|=zn}return ut(n,r,t,e,u)}),Vs=U(function(n,t,e){var r=wn|mn;if(e.length){var u=dt(e,Zt(Vs));r|=zn}return ut(t,r,n,e,u)});function js(n,t,e){t=e?i:t;var r=ut(n,Gn,i,i,i,i,i,t);return r.placeholder=js.placeholder,r}function no(n,t,e){t=e?i:t;var r=ut(n,St,i,i,i,i,i,t);return r.placeholder=no.placeholder,r}function to(n,t,e){var r,u,o,a,f,c,d=0,_=!1,v=!1,x=!0;if(typeof n!="function")throw new Dn(A);t=Kn(t)||0,Y(e)&&(_=!!e.leading,v="maxWait"in e,o=v?sn(Kn(e.maxWait)||0,t):o,x="trailing"in e?!!e.trailing:x);function C(j){var Xn=r,lt=u;return r=u=i,d=j,a=n.apply(lt,Xn),a}function P(j){return d=j,f=ve(D,t),_?C(j):a}function M(j){var Xn=j-c,lt=j-d,xo=t-Xn;return v?ln(xo,o-lt):xo}function T(j){var Xn=j-c,lt=j-d;return c===i||Xn>=t||Xn<0||v&&lt>=o}function D(){var j=lr();if(T(j))return B(j);f=ve(D,M(j))}function B(j){return f=i,x&&r?C(j):(r=u=i,a)}function Ln(){f!==i&&cs(f),d=0,r=c=u=f=i}function _n(){return f===i?a:B(lr())}function On(){var j=lr(),Xn=T(j);if(r=arguments,u=this,c=j,Xn){if(f===i)return P(c);if(v)return cs(f),f=ve(D,t),C(c)}return f===i&&(f=ve(D,t)),a}return On.cancel=Ln,On.flush=_n,On}var qh=U(function(n,t){return zu(n,1,t)}),Kh=U(function(n,t,e){return zu(n,Kn(t)||0,e)});function Gh(n){return ut(n,z)}function cr(n,t){if(typeof n!="function"||t!=null&&typeof t!="function")throw new Dn(A);var e=function(){var r=arguments,u=t?t.apply(this,r):r[0],o=e.cache;if(o.has(u))return o.get(u);var a=n.apply(this,r);return e.cache=o.set(u,a)||o,a};return e.cache=new(cr.Cache||rt),e}cr.Cache=rt;function hr(n){if(typeof n!="function")throw new Dn(A);return function(){var t=arguments;switch(t.length){case 0:return!n.call(this);case 1:return!n.call(this,t[0]);case 2:return!n.call(this,t[0],t[1]);case 3:return!n.call(this,t[0],t[1],t[2])}return!n.apply(this,t)}}function zh(n){return Qs(2,n)}var Hh=Ll(function(n,t){t=t.length==1&&L(t[0])?Z(t[0],Tn(b())):Z(fn(t,1),Tn(b()));var e=t.length;return U(function(r){for(var u=-1,o=ln(r.length,e);++u<o;)r[u]=t[u].call(this,r[u]);return Pn(n,this,r)})}),Ti=U(function(n,t){var e=dt(t,Zt(Ti));return ut(n,zn,i,t,e)}),eo=U(function(n,t){var e=dt(t,Zt(eo));return ut(n,Ct,i,t,e)}),kh=st(function(n,t){return ut(n,nn,i,i,i,t)});function Jh(n,t){if(typeof n!="function")throw new Dn(A);return t=t===i?t:W(t),U(n,t)}function Zh(n,t){if(typeof n!="function")throw new Dn(A);return t=t==null?0:sn(W(t),0),U(function(e){var r=e[t],u=yt(e,0,t);return r&&pt(u,r),Pn(n,this,u)})}function Yh(n,t,e){var r=!0,u=!0;if(typeof n!="function")throw new Dn(A);return Y(e)&&(r="leading"in e?!!e.leading:r,u="trailing"in e?!!e.trailing:u),to(n,t,{leading:r,maxWait:t,trailing:u})}function Xh(n){return Xs(n,1)}function Qh(n,t){return Ti(hi(t),n)}function Vh(){if(!arguments.length)return[];var n=arguments[0];return L(n)?n:[n]}function jh(n){return Bn(n,hn)}function ng(n,t){return t=typeof t=="function"?t:i,Bn(n,hn,t)}function tg(n){return Bn(n,en|hn)}function eg(n,t){return t=typeof t=="function"?t:i,Bn(n,en|hn,t)}function rg(n,t){return t==null||Gu(n,t,on(t))}function Yn(n,t){return n===t||n!==n&&t!==t}var ig=ir(ni),ug=ir(function(n,t){return n>=t}),Wt=Yu(function(){return arguments}())?Yu:function(n){return Q(n)&&G.call(n,"callee")&&!Fu.call(n,"callee")},L=h.isArray,sg=_u?Tn(_u):pl;function xn(n){return n!=null&&gr(n.length)&&!at(n)}function V(n){return Q(n)&&xn(n)}function og(n){return n===!0||n===!1||Q(n)&&pn(n)==Qt}var xt=xf||Bi,ag=vu?Tn(vu):dl;function fg(n){return Q(n)&&n.nodeType===1&&!we(n)}function lg(n){if(n==null)return!0;if(xn(n)&&(L(n)||typeof n=="string"||typeof n.splice=="function"||xt(n)||Yt(n)||Wt(n)))return!n.length;var t=cn(n);if(t==Hn||t==kn)return!n.size;if(_e(n))return!ri(n).length;for(var e in n)if(G.call(n,e))return!1;return!0}function cg(n,t){return ge(n,t)}function hg(n,t,e){e=typeof e=="function"?e:i;var r=e?e(n,t):i;return r===i?ge(n,t,i,e):!!r}function Ei(n){if(!Q(n))return!1;var t=pn(n);return t==be||t==Mo||typeof n.message=="string"&&typeof n.name=="string"&&!we(n)}function gg(n){return typeof n=="number"&&Du(n)}function at(n){if(!Y(n))return!1;var t=pn(n);return t==Re||t==zi||t==Wo||t==Uo}function ro(n){return typeof n=="number"&&n==W(n)}function gr(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=ht}function Y(n){var t=typeof n;return n!=null&&(t=="object"||t=="function")}function Q(n){return n!=null&&typeof n=="object"}var io=wu?Tn(wu):vl;function pg(n,t){return n===t||ei(n,t,mi(t))}function dg(n,t,e){return e=typeof e=="function"?e:i,ei(n,t,mi(t),e)}function _g(n){return uo(n)&&n!=+n}function vg(n){if(nc(n))throw new I(R);return Xu(n)}function wg(n){return n===null}function mg(n){return n==null}function uo(n){return typeof n=="number"||Q(n)&&pn(n)==jt}function we(n){if(!Q(n)||pn(n)!=tt)return!1;var t=$e(n);if(t===null)return!0;var e=G.call(t,"constructor")&&t.constructor;return typeof e=="function"&&e instanceof e&&Ue.call(e)==df}var Ii=mu?Tn(mu):wl;function yg(n){return ro(n)&&n>=-ht&&n<=ht}var so=yu?Tn(yu):ml;function pr(n){return typeof n=="string"||!L(n)&&Q(n)&&pn(n)==te}function In(n){return typeof n=="symbol"||Q(n)&&pn(n)==Pe}var Yt=xu?Tn(xu):yl;function xg(n){return n===i}function Sg(n){return Q(n)&&cn(n)==ee}function Cg(n){return Q(n)&&pn(n)==No}var Ag=ir(ii),bg=ir(function(n,t){return n<=t});function oo(n){if(!n)return[];if(xn(n))return pr(n)?Jn(n):yn(n);if(ue&&n[ue])return ef(n[ue]());var t=cn(n),e=t==Hn?Hr:t==kn?We:Xt;return e(n)}function ft(n){if(!n)return n===0?n:0;if(n=Kn(n),n===At||n===-At){var t=n<0?-1:1;return t*Eo}return n===n?n:0}function W(n){var t=ft(n),e=t%1;return t===t?e?t-e:t:0}function ao(n){return n?Et(W(n),0,Qn):0}function Kn(n){if(typeof n=="number")return n;if(In(n))return Ce;if(Y(n)){var t=typeof n.valueOf=="function"?n.valueOf():n;n=Y(t)?t+"":t}if(typeof n!="string")return n===0?n:+n;n=Pu(n);var e=ua.test(n);return e||oa.test(n)?Ba(n.slice(2),e?2:8):ia.test(n)?Ce:+n}function fo(n){return jn(n,Sn(n))}function Rg(n){return n?Et(W(n),-ht,ht):n===0?n:0}function K(n){return n==null?"":En(n)}var Pg=kt(function(n,t){if(_e(t)||xn(t)){jn(t,on(t),n);return}for(var e in t)G.call(t,e)&&le(n,e,t[e])}),lo=kt(function(n,t){jn(t,Sn(t),n)}),dr=kt(function(n,t,e,r){jn(t,Sn(t),n,r)}),Tg=kt(function(n,t,e,r){jn(t,on(t),n,r)}),Eg=st(Qr);function Ig(n,t){var e=Ht(n);return t==null?e:Ku(e,t)}var Lg=U(function(n,t){n=H(n);var e=-1,r=t.length,u=r>2?t[2]:i;for(u&&dn(t[0],t[1],u)&&(r=1);++e<r;)for(var o=t[e],a=Sn(o),f=-1,c=a.length;++f<c;){var d=a[f],_=n[d];(_===i||Yn(_,Kt[d])&&!G.call(n,d))&&(n[d]=o[d])}return n}),Og=U(function(n){return n.push(i,Ps),Pn(co,i,n)});function Wg(n,t){return Cu(n,b(t,3),Vn)}function Mg(n,t){return Cu(n,b(t,3),jr)}function Fg(n,t){return n==null?n:Vr(n,b(t,3),Sn)}function Ug(n,t){return n==null?n:Ju(n,b(t,3),Sn)}function Dg(n,t){return n&&Vn(n,b(t,3))}function Ng(n,t){return n&&jr(n,b(t,3))}function Bg(n){return n==null?[]:Xe(n,on(n))}function $g(n){return n==null?[]:Xe(n,Sn(n))}function Li(n,t,e){var r=n==null?i:It(n,t);return r===i?e:r}function qg(n,t){return n!=null&&Is(n,t,ll)}function Oi(n,t){return n!=null&&Is(n,t,cl)}var Kg=Ss(function(n,t,e){t!=null&&typeof t.toString!="function"&&(t=De.call(t)),n[t]=e},Mi(Cn)),Gg=Ss(function(n,t,e){t!=null&&typeof t.toString!="function"&&(t=De.call(t)),G.call(n,t)?n[t].push(e):n[t]=[e]},b),zg=U(he);function on(n){return xn(n)?$u(n):ri(n)}function Sn(n){return xn(n)?$u(n,!0):xl(n)}function Hg(n,t){var e={};return t=b(t,3),Vn(n,function(r,u,o){it(e,t(r,u,o),r)}),e}function kg(n,t){var e={};return t=b(t,3),Vn(n,function(r,u,o){it(e,u,t(r,u,o))}),e}var Jg=kt(function(n,t,e){Qe(n,t,e)}),co=kt(function(n,t,e,r){Qe(n,t,e,r)}),Zg=st(function(n,t){var e={};if(n==null)return e;var r=!1;t=Z(t,function(o){return o=mt(o,n),r||(r=o.length>1),o}),jn(n,vi(n),e),r&&(e=Bn(e,en|bn|hn,Kl));for(var u=t.length;u--;)fi(e,t[u]);return e});function Yg(n,t){return ho(n,hr(b(t)))}var Xg=st(function(n,t){return n==null?{}:Cl(n,t)});function ho(n,t){if(n==null)return{};var e=Z(vi(n),function(r){return[r]});return t=b(t),rs(n,e,function(r,u){return t(r,u[0])})}function Qg(n,t,e){t=mt(t,n);var r=-1,u=t.length;for(u||(u=1,n=i);++r<u;){var o=n==null?i:n[nt(t[r])];o===i&&(r=u,o=e),n=at(o)?o.call(n):o}return n}function Vg(n,t,e){return n==null?n:pe(n,t,e)}function jg(n,t,e,r){return r=typeof r=="function"?r:i,n==null?n:pe(n,t,e,r)}var go=bs(on),po=bs(Sn);function np(n,t,e){var r=L(n),u=r||xt(n)||Yt(n);if(t=b(t,4),e==null){var o=n&&n.constructor;u?e=r?new o:[]:Y(n)?e=at(o)?Ht($e(n)):{}:e={}}return(u?Un:Vn)(n,function(a,f,c){return t(e,a,f,c)}),e}function tp(n,t){return n==null?!0:fi(n,t)}function ep(n,t,e){return n==null?n:as(n,t,hi(e))}function rp(n,t,e,r){return r=typeof r=="function"?r:i,n==null?n:as(n,t,hi(e),r)}function Xt(n){return n==null?[]:zr(n,on(n))}function ip(n){return n==null?[]:zr(n,Sn(n))}function up(n,t,e){return e===i&&(e=t,t=i),e!==i&&(e=Kn(e),e=e===e?e:0),t!==i&&(t=Kn(t),t=t===t?t:0),Et(Kn(n),t,e)}function sp(n,t,e){return t=ft(t),e===i?(e=t,t=0):e=ft(e),n=Kn(n),hl(n,t,e)}function op(n,t,e){if(e&&typeof e!="boolean"&&dn(n,t,e)&&(t=e=i),e===i&&(typeof t=="boolean"?(e=t,t=i):typeof n=="boolean"&&(e=n,n=i)),n===i&&t===i?(n=0,t=1):(n=ft(n),t===i?(t=n,n=0):t=ft(t)),n>t){var r=n;n=t,t=r}if(e||n%1||t%1){var u=Nu();return ln(n+u*(t-n+Na("1e-"+((u+"").length-1))),t)}return si(n,t)}var ap=Jt(function(n,t,e){return t=t.toLowerCase(),n+(e?_o(t):t)});function _o(n){return Wi(K(n).toLowerCase())}function vo(n){return n=K(n),n&&n.replace(fa,Qa).replace(Ta,"")}function fp(n,t,e){n=K(n),t=En(t);var r=n.length;e=e===i?r:Et(W(e),0,r);var u=e;return e-=t.length,e>=0&&n.slice(e,u)==t}function lp(n){return n=K(n),n&&Go.test(n)?n.replace(Ji,Va):n}function cp(n){return n=K(n),n&&Yo.test(n)?n.replace(Tr,"\\$&"):n}var hp=Jt(function(n,t,e){return n+(e?"-":"")+t.toLowerCase()}),gp=Jt(function(n,t,e){return n+(e?" ":"")+t.toLowerCase()}),pp=ms("toLowerCase");function dp(n,t,e){n=K(n),t=W(t);var r=t?$t(n):0;if(!t||r>=t)return n;var u=(t-r)/2;return rr(ze(u),e)+n+rr(Ge(u),e)}function _p(n,t,e){n=K(n),t=W(t);var r=t?$t(n):0;return t&&r<t?n+rr(t-r,e):n}function vp(n,t,e){n=K(n),t=W(t);var r=t?$t(n):0;return t&&r<t?rr(t-r,e)+n:n}function wp(n,t,e){return e||t==null?t=0:t&&(t=+t),bf(K(n).replace(Er,""),t||0)}function mp(n,t,e){return(e?dn(n,t,e):t===i)?t=1:t=W(t),oi(K(n),t)}function yp(){var n=arguments,t=K(n[0]);return n.length<3?t:t.replace(n[1],n[2])}var xp=Jt(function(n,t,e){return n+(e?"_":"")+t.toLowerCase()});function Sp(n,t,e){return e&&typeof e!="number"&&dn(n,t,e)&&(t=e=i),e=e===i?Qn:e>>>0,e?(n=K(n),n&&(typeof t=="string"||t!=null&&!Ii(t))&&(t=En(t),!t&&Bt(n))?yt(Jn(n),0,e):n.split(t,e)):[]}var Cp=Jt(function(n,t,e){return n+(e?" ":"")+Wi(t)});function Ap(n,t,e){return n=K(n),e=e==null?0:Et(W(e),0,n.length),t=En(t),n.slice(e,e+t.length)==t}function bp(n,t,e){var r=s.templateSettings;e&&dn(n,t,e)&&(t=i),n=K(n),t=dr({},t,r,Rs);var u=dr({},t.imports,r.imports,Rs),o=on(u),a=zr(u,o),f,c,d=0,_=t.interpolate||Te,v="__p += '",x=kr((t.escape||Te).source+"|"+_.source+"|"+(_===Zi?ra:Te).source+"|"+(t.evaluate||Te).source+"|$","g"),C="//# sourceURL="+(G.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Wa+"]")+`
11
- `;n.replace(x,function(T,D,B,Ln,_n,On){return B||(B=Ln),v+=n.slice(d,On).replace(la,ja),D&&(f=!0,v+=`' +
12
- __e(`+D+`) +
13
- '`),_n&&(c=!0,v+=`';
14
- `+_n+`;
15
- __p += '`),B&&(v+=`' +
16
- ((__t = (`+B+`)) == null ? '' : __t) +
17
- '`),d=On+T.length,T}),v+=`';
18
- `;var P=G.call(t,"variable")&&t.variable;if(!P)v=`with (obj) {
19
- `+v+`
8
+ */Sr.exports;(function(h,f){(function(){var i,p="4.17.21",_=200,v="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",S="Expected a function",E="Invalid `variable` option passed into `_.template`",C="__lodash_hash_undefined__",M=500,I="__lodash_placeholder__",P=1,T=2,F=4,J=1,q=2,_t=1,Pt=2,Vt=4,st=8,Pn=16,zt=32,gn=64,xt=128,Dt=256,Bn=512,Re=30,Rt="...",Ie=800,Mn=16,re=1,ft=2,br=3,rn=1/0,jt=9007199254740991,Cr=17976931348623157e292,$n=NaN,Ft=4294967295,Ee=Ft-1,Pr=Ft>>>1,X=[["ary",xt],["bind",_t],["bindKey",Pt],["curry",st],["curryRight",Pn],["flip",Bn],["partial",zt],["partialRight",gn],["rearg",Dt]],ct="[object Arguments]",Ht="[object Array]",Rn="[object AsyncFunction]",_n="[object Boolean]",vt="[object Date]",Fo="[object DOMException]",Te="[object Error]",Le="[object Function]",Vi="[object GeneratorFunction]",Gt="[object Map]",ie="[object Number]",No="[object Null]",un="[object Object]",ji="[object Promise]",Uo="[object Proxy]",ue="[object RegExp]",Jt="[object Set]",se="[object String]",Oe="[object Symbol]",Bo="[object Undefined]",oe="[object WeakMap]",Mo="[object WeakSet]",ae="[object ArrayBuffer]",Kn="[object DataView]",Rr="[object Float32Array]",Ir="[object Float64Array]",Er="[object Int8Array]",Tr="[object Int16Array]",Lr="[object Int32Array]",Or="[object Uint8Array]",Wr="[object Uint8ClampedArray]",Dr="[object Uint16Array]",Fr="[object Uint32Array]",$o=/\b__p \+= '';/g,Ko=/\b(__p \+=) '' \+/g,qo=/(__e\(.*?\)|\b__t\)) \+\n'';/g,tu=/&(?:amp|lt|gt|quot|#39);/g,nu=/[&<>"']/g,ko=RegExp(tu.source),zo=RegExp(nu.source),Ho=/<%-([\s\S]+?)%>/g,Go=/<%([\s\S]+?)%>/g,eu=/<%=([\s\S]+?)%>/g,Jo=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Zo=/^\w*$/,Yo=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Nr=/[\\^$.*+?()[\]{}|]/g,Xo=RegExp(Nr.source),Ur=/^\s+/,Qo=/\s/,Vo=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,jo=/\{\n\/\* \[wrapped with (.+)\] \*/,ta=/,? & /,na=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ea=/[()=,{}\[\]\/\s]/,ra=/\\(\\)?/g,ia=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ru=/\w*$/,ua=/^[-+]0x[0-9a-f]+$/i,sa=/^0b[01]+$/i,oa=/^\[object .+?Constructor\]$/,aa=/^0o[0-7]+$/i,fa=/^(?:0|[1-9]\d*)$/,ca=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,We=/($^)/,la=/['\n\r\u2028\u2029\\]/g,De="\\ud800-\\udfff",ha="\\u0300-\\u036f",da="\\ufe20-\\ufe2f",pa="\\u20d0-\\u20ff",iu=ha+da+pa,uu="\\u2700-\\u27bf",su="a-z\\xdf-\\xf6\\xf8-\\xff",ga="\\xac\\xb1\\xd7\\xf7",_a="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",va="\\u2000-\\u206f",wa=" \\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",ou="A-Z\\xc0-\\xd6\\xd8-\\xde",au="\\ufe0e\\ufe0f",fu=ga+_a+va+wa,Br="['’]",ya="["+De+"]",cu="["+fu+"]",Fe="["+iu+"]",lu="\\d+",ma="["+uu+"]",hu="["+su+"]",du="[^"+De+fu+lu+uu+su+ou+"]",Mr="\\ud83c[\\udffb-\\udfff]",xa="(?:"+Fe+"|"+Mr+")",pu="[^"+De+"]",$r="(?:\\ud83c[\\udde6-\\uddff]){2}",Kr="[\\ud800-\\udbff][\\udc00-\\udfff]",qn="["+ou+"]",gu="\\u200d",_u="(?:"+hu+"|"+du+")",Sa="(?:"+qn+"|"+du+")",vu="(?:"+Br+"(?:d|ll|m|re|s|t|ve))?",wu="(?:"+Br+"(?:D|LL|M|RE|S|T|VE))?",yu=xa+"?",mu="["+au+"]?",Aa="(?:"+gu+"(?:"+[pu,$r,Kr].join("|")+")"+mu+yu+")*",ba="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Ca="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",xu=mu+yu+Aa,Pa="(?:"+[ma,$r,Kr].join("|")+")"+xu,Ra="(?:"+[pu+Fe+"?",Fe,$r,Kr,ya].join("|")+")",Ia=RegExp(Br,"g"),Ea=RegExp(Fe,"g"),qr=RegExp(Mr+"(?="+Mr+")|"+Ra+xu,"g"),Ta=RegExp([qn+"?"+hu+"+"+vu+"(?="+[cu,qn,"$"].join("|")+")",Sa+"+"+wu+"(?="+[cu,qn+_u,"$"].join("|")+")",qn+"?"+_u+"+"+vu,qn+"+"+wu,Ca,ba,lu,Pa].join("|"),"g"),La=RegExp("["+gu+De+iu+au+"]"),Oa=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Wa=["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"],Da=-1,tt={};tt[Rr]=tt[Ir]=tt[Er]=tt[Tr]=tt[Lr]=tt[Or]=tt[Wr]=tt[Dr]=tt[Fr]=!0,tt[ct]=tt[Ht]=tt[ae]=tt[_n]=tt[Kn]=tt[vt]=tt[Te]=tt[Le]=tt[Gt]=tt[ie]=tt[un]=tt[ue]=tt[Jt]=tt[se]=tt[oe]=!1;var V={};V[ct]=V[Ht]=V[ae]=V[Kn]=V[_n]=V[vt]=V[Rr]=V[Ir]=V[Er]=V[Tr]=V[Lr]=V[Gt]=V[ie]=V[un]=V[ue]=V[Jt]=V[se]=V[Oe]=V[Or]=V[Wr]=V[Dr]=V[Fr]=!0,V[Te]=V[Le]=V[oe]=!1;var Fa={À:"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"},Na={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Ua={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},Ba={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Ma=parseFloat,$a=parseInt,Su=typeof be=="object"&&be&&be.Object===Object&&be,Ka=typeof self=="object"&&self&&self.Object===Object&&self,ht=Su||Ka||Function("return this")(),kr=f&&!f.nodeType&&f,In=kr&&!0&&h&&!h.nodeType&&h,Au=In&&In.exports===kr,zr=Au&&Su.process,Nt=function(){try{var l=In&&In.require&&In.require("util").types;return l||zr&&zr.binding&&zr.binding("util")}catch{}}(),bu=Nt&&Nt.isArrayBuffer,Cu=Nt&&Nt.isDate,Pu=Nt&&Nt.isMap,Ru=Nt&&Nt.isRegExp,Iu=Nt&&Nt.isSet,Eu=Nt&&Nt.isTypedArray;function It(l,w,g){switch(g.length){case 0:return l.call(w);case 1:return l.call(w,g[0]);case 2:return l.call(w,g[0],g[1]);case 3:return l.call(w,g[0],g[1],g[2])}return l.apply(w,g)}function qa(l,w,g,b){for(var N=-1,G=l==null?0:l.length;++N<G;){var ot=l[N];w(b,ot,g(ot),l)}return b}function Ut(l,w){for(var g=-1,b=l==null?0:l.length;++g<b&&w(l[g],g,l)!==!1;);return l}function ka(l,w){for(var g=l==null?0:l.length;g--&&w(l[g],g,l)!==!1;);return l}function Tu(l,w){for(var g=-1,b=l==null?0:l.length;++g<b;)if(!w(l[g],g,l))return!1;return!0}function vn(l,w){for(var g=-1,b=l==null?0:l.length,N=0,G=[];++g<b;){var ot=l[g];w(ot,g,l)&&(G[N++]=ot)}return G}function Ne(l,w){var g=l==null?0:l.length;return!!g&&kn(l,w,0)>-1}function Hr(l,w,g){for(var b=-1,N=l==null?0:l.length;++b<N;)if(g(w,l[b]))return!0;return!1}function nt(l,w){for(var g=-1,b=l==null?0:l.length,N=Array(b);++g<b;)N[g]=w(l[g],g,l);return N}function wn(l,w){for(var g=-1,b=w.length,N=l.length;++g<b;)l[N+g]=w[g];return l}function Gr(l,w,g,b){var N=-1,G=l==null?0:l.length;for(b&&G&&(g=l[++N]);++N<G;)g=w(g,l[N],N,l);return g}function za(l,w,g,b){var N=l==null?0:l.length;for(b&&N&&(g=l[--N]);N--;)g=w(g,l[N],N,l);return g}function Jr(l,w){for(var g=-1,b=l==null?0:l.length;++g<b;)if(w(l[g],g,l))return!0;return!1}var Ha=Zr("length");function Ga(l){return l.split("")}function Ja(l){return l.match(na)||[]}function Lu(l,w,g){var b;return g(l,function(N,G,ot){if(w(N,G,ot))return b=G,!1}),b}function Ue(l,w,g,b){for(var N=l.length,G=g+(b?1:-1);b?G--:++G<N;)if(w(l[G],G,l))return G;return-1}function kn(l,w,g){return w===w?sf(l,w,g):Ue(l,Ou,g)}function Za(l,w,g,b){for(var N=g-1,G=l.length;++N<G;)if(b(l[N],w))return N;return-1}function Ou(l){return l!==l}function Wu(l,w){var g=l==null?0:l.length;return g?Xr(l,w)/g:$n}function Zr(l){return function(w){return w==null?i:w[l]}}function Yr(l){return function(w){return l==null?i:l[w]}}function Du(l,w,g,b,N){return N(l,function(G,ot,Q){g=b?(b=!1,G):w(g,G,ot,Q)}),g}function Ya(l,w){var g=l.length;for(l.sort(w);g--;)l[g]=l[g].value;return l}function Xr(l,w){for(var g,b=-1,N=l.length;++b<N;){var G=w(l[b]);G!==i&&(g=g===i?G:g+G)}return g}function Qr(l,w){for(var g=-1,b=Array(l);++g<l;)b[g]=w(g);return b}function Xa(l,w){return nt(w,function(g){return[g,l[g]]})}function Fu(l){return l&&l.slice(0,Mu(l)+1).replace(Ur,"")}function Et(l){return function(w){return l(w)}}function Vr(l,w){return nt(w,function(g){return l[g]})}function fe(l,w){return l.has(w)}function Nu(l,w){for(var g=-1,b=l.length;++g<b&&kn(w,l[g],0)>-1;);return g}function Uu(l,w){for(var g=l.length;g--&&kn(w,l[g],0)>-1;);return g}function Qa(l,w){for(var g=l.length,b=0;g--;)l[g]===w&&++b;return b}var Va=Yr(Fa),ja=Yr(Na);function tf(l){return"\\"+Ba[l]}function nf(l,w){return l==null?i:l[w]}function zn(l){return La.test(l)}function ef(l){return Oa.test(l)}function rf(l){for(var w,g=[];!(w=l.next()).done;)g.push(w.value);return g}function jr(l){var w=-1,g=Array(l.size);return l.forEach(function(b,N){g[++w]=[N,b]}),g}function Bu(l,w){return function(g){return l(w(g))}}function yn(l,w){for(var g=-1,b=l.length,N=0,G=[];++g<b;){var ot=l[g];(ot===w||ot===I)&&(l[g]=I,G[N++]=g)}return G}function Be(l){var w=-1,g=Array(l.size);return l.forEach(function(b){g[++w]=b}),g}function uf(l){var w=-1,g=Array(l.size);return l.forEach(function(b){g[++w]=[b,b]}),g}function sf(l,w,g){for(var b=g-1,N=l.length;++b<N;)if(l[b]===w)return b;return-1}function of(l,w,g){for(var b=g+1;b--;)if(l[b]===w)return b;return b}function Hn(l){return zn(l)?ff(l):Ha(l)}function Zt(l){return zn(l)?cf(l):Ga(l)}function Mu(l){for(var w=l.length;w--&&Qo.test(l.charAt(w)););return w}var af=Yr(Ua);function ff(l){for(var w=qr.lastIndex=0;qr.test(l);)++w;return w}function cf(l){return l.match(qr)||[]}function lf(l){return l.match(Ta)||[]}var hf=function l(w){w=w==null?ht:Gn.defaults(ht.Object(),w,Gn.pick(ht,Wa));var g=w.Array,b=w.Date,N=w.Error,G=w.Function,ot=w.Math,Q=w.Object,ti=w.RegExp,df=w.String,Bt=w.TypeError,Me=g.prototype,pf=G.prototype,Jn=Q.prototype,$e=w["__core-js_shared__"],Ke=pf.toString,Y=Jn.hasOwnProperty,gf=0,$u=function(){var t=/[^.]+$/.exec($e&&$e.keys&&$e.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),qe=Jn.toString,_f=Ke.call(Q),vf=ht._,wf=ti("^"+Ke.call(Y).replace(Nr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ke=Au?w.Buffer:i,mn=w.Symbol,ze=w.Uint8Array,Ku=ke?ke.allocUnsafe:i,He=Bu(Q.getPrototypeOf,Q),qu=Q.create,ku=Jn.propertyIsEnumerable,Ge=Me.splice,zu=mn?mn.isConcatSpreadable:i,ce=mn?mn.iterator:i,En=mn?mn.toStringTag:i,Je=function(){try{var t=Dn(Q,"defineProperty");return t({},"",{}),t}catch{}}(),yf=w.clearTimeout!==ht.clearTimeout&&w.clearTimeout,mf=b&&b.now!==ht.Date.now&&b.now,xf=w.setTimeout!==ht.setTimeout&&w.setTimeout,Ze=ot.ceil,Ye=ot.floor,ni=Q.getOwnPropertySymbols,Sf=ke?ke.isBuffer:i,Hu=w.isFinite,Af=Me.join,bf=Bu(Q.keys,Q),at=ot.max,pt=ot.min,Cf=b.now,Pf=w.parseInt,Gu=ot.random,Rf=Me.reverse,ei=Dn(w,"DataView"),le=Dn(w,"Map"),ri=Dn(w,"Promise"),Zn=Dn(w,"Set"),he=Dn(w,"WeakMap"),de=Dn(Q,"create"),Xe=he&&new he,Yn={},If=Fn(ei),Ef=Fn(le),Tf=Fn(ri),Lf=Fn(Zn),Of=Fn(he),Qe=mn?mn.prototype:i,pe=Qe?Qe.valueOf:i,Ju=Qe?Qe.toString:i;function s(t){if(rt(t)&&!U(t)&&!(t instanceof z)){if(t instanceof Mt)return t;if(Y.call(t,"__wrapped__"))return Zs(t)}return new Mt(t)}var Xn=function(){function t(){}return function(n){if(!et(n))return{};if(qu)return qu(n);t.prototype=n;var e=new t;return t.prototype=i,e}}();function Ve(){}function Mt(t,n){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!n,this.__index__=0,this.__values__=i}s.templateSettings={escape:Ho,evaluate:Go,interpolate:eu,variable:"",imports:{_:s}},s.prototype=Ve.prototype,s.prototype.constructor=s,Mt.prototype=Xn(Ve.prototype),Mt.prototype.constructor=Mt;function z(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Ft,this.__views__=[]}function Wf(){var t=new z(this.__wrapped__);return t.__actions__=St(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=St(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=St(this.__views__),t}function Df(){if(this.__filtered__){var t=new z(this);t.__dir__=-1,t.__filtered__=!0}else t=this.clone(),t.__dir__*=-1;return t}function Ff(){var t=this.__wrapped__.value(),n=this.__dir__,e=U(t),r=n<0,u=e?t.length:0,o=Jc(0,u,this.__views__),a=o.start,c=o.end,d=c-a,y=r?c:a-1,m=this.__iteratees__,x=m.length,A=0,R=pt(d,this.__takeCount__);if(!e||!r&&u==d&&R==d)return vs(t,this.__actions__);var O=[];t:for(;d--&&A<R;){y+=n;for(var $=-1,W=t[y];++$<x;){var k=m[$],H=k.iteratee,Ot=k.type,mt=H(W);if(Ot==ft)W=mt;else if(!mt){if(Ot==re)continue t;break t}}O[A++]=W}return O}z.prototype=Xn(Ve.prototype),z.prototype.constructor=z;function Tn(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 Nf(){this.__data__=de?de(null):{},this.size=0}function Uf(t){var n=this.has(t)&&delete this.__data__[t];return this.size-=n?1:0,n}function Bf(t){var n=this.__data__;if(de){var e=n[t];return e===C?i:e}return Y.call(n,t)?n[t]:i}function Mf(t){var n=this.__data__;return de?n[t]!==i:Y.call(n,t)}function $f(t,n){var e=this.__data__;return this.size+=this.has(t)?0:1,e[t]=de&&n===i?C:n,this}Tn.prototype.clear=Nf,Tn.prototype.delete=Uf,Tn.prototype.get=Bf,Tn.prototype.has=Mf,Tn.prototype.set=$f;function sn(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 qf(t){var n=this.__data__,e=je(n,t);if(e<0)return!1;var r=n.length-1;return e==r?n.pop():Ge.call(n,e,1),--this.size,!0}function kf(t){var n=this.__data__,e=je(n,t);return e<0?i:n[e][1]}function zf(t){return je(this.__data__,t)>-1}function Hf(t,n){var e=this.__data__,r=je(e,t);return r<0?(++this.size,e.push([t,n])):e[r][1]=n,this}sn.prototype.clear=Kf,sn.prototype.delete=qf,sn.prototype.get=kf,sn.prototype.has=zf,sn.prototype.set=Hf;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 Gf(){this.size=0,this.__data__={hash:new Tn,map:new(le||sn),string:new Tn}}function Jf(t){var n=lr(this,t).delete(t);return this.size-=n?1:0,n}function Zf(t){return lr(this,t).get(t)}function Yf(t){return lr(this,t).has(t)}function Xf(t,n){var e=lr(this,t),r=e.size;return e.set(t,n),this.size+=e.size==r?0:1,this}on.prototype.clear=Gf,on.prototype.delete=Jf,on.prototype.get=Zf,on.prototype.has=Yf,on.prototype.set=Xf;function Ln(t){var n=-1,e=t==null?0:t.length;for(this.__data__=new on;++n<e;)this.add(t[n])}function Qf(t){return this.__data__.set(t,C),this}function Vf(t){return this.__data__.has(t)}Ln.prototype.add=Ln.prototype.push=Qf,Ln.prototype.has=Vf;function Yt(t){var n=this.__data__=new sn(t);this.size=n.size}function jf(){this.__data__=new sn,this.size=0}function tc(t){var n=this.__data__,e=n.delete(t);return this.size=n.size,e}function nc(t){return this.__data__.get(t)}function ec(t){return this.__data__.has(t)}function rc(t,n){var e=this.__data__;if(e instanceof sn){var r=e.__data__;if(!le||r.length<_-1)return r.push([t,n]),this.size=++e.size,this;e=this.__data__=new on(r)}return e.set(t,n),this.size=e.size,this}Yt.prototype.clear=jf,Yt.prototype.delete=tc,Yt.prototype.get=nc,Yt.prototype.has=ec,Yt.prototype.set=rc;function Zu(t,n){var e=U(t),r=!e&&Nn(t),u=!e&&!r&&Cn(t),o=!e&&!r&&!u&&te(t),a=e||r||u||o,c=a?Qr(t.length,df):[],d=c.length;for(var y in t)(n||Y.call(t,y))&&!(a&&(y=="length"||u&&(y=="offset"||y=="parent")||o&&(y=="buffer"||y=="byteLength"||y=="byteOffset")||ln(y,d)))&&c.push(y);return c}function Yu(t){var n=t.length;return n?t[pi(0,n-1)]:i}function ic(t,n){return hr(St(t),On(n,0,t.length))}function uc(t){return hr(St(t))}function ii(t,n,e){(e!==i&&!Xt(t[n],e)||e===i&&!(n in t))&&an(t,n,e)}function ge(t,n,e){var r=t[n];(!(Y.call(t,n)&&Xt(r,e))||e===i&&!(n in t))&&an(t,n,e)}function je(t,n){for(var e=t.length;e--;)if(Xt(t[e][0],n))return e;return-1}function sc(t,n,e,r){return xn(t,function(u,o,a){n(r,u,e(u),a)}),r}function Xu(t,n){return t&&nn(n,lt(n),t)}function oc(t,n){return t&&nn(n,bt(n),t)}function an(t,n,e){n=="__proto__"&&Je?Je(t,n,{configurable:!0,enumerable:!0,value:e,writable:!0}):t[n]=e}function ui(t,n){for(var e=-1,r=n.length,u=g(r),o=t==null;++e<r;)u[e]=o?i:Mi(t,n[e]);return u}function On(t,n,e){return t===t&&(e!==i&&(t=t<=e?t:e),n!==i&&(t=t>=n?t:n)),t}function $t(t,n,e,r,u,o){var a,c=n&P,d=n&T,y=n&F;if(e&&(a=u?e(t,r,u,o):e(t)),a!==i)return a;if(!et(t))return t;var m=U(t);if(m){if(a=Yc(t),!c)return St(t,a)}else{var x=gt(t),A=x==Le||x==Vi;if(Cn(t))return ms(t,c);if(x==un||x==ct||A&&!u){if(a=d||A?{}:Ms(t),!c)return d?Bc(t,oc(a,t)):Uc(t,Xu(a,t))}else{if(!V[x])return u?t:{};a=Xc(t,x,c)}}o||(o=new Yt);var R=o.get(t);if(R)return R;o.set(t,a),go(t)?t.forEach(function(W){a.add($t(W,n,e,W,t,o))}):ho(t)&&t.forEach(function(W,k){a.set(k,$t(W,n,e,k,t,o))});var O=y?d?Ci:bi:d?bt:lt,$=m?i:O(t);return Ut($||t,function(W,k){$&&(k=W,W=t[k]),ge(a,k,$t(W,n,e,k,t,o))}),a}function ac(t){var n=lt(t);return function(e){return Qu(e,t,n)}}function Qu(t,n,e){var r=e.length;if(t==null)return!r;for(t=Q(t);r--;){var u=e[r],o=n[u],a=t[u];if(a===i&&!(u in t)||!o(a))return!1}return!0}function Vu(t,n,e){if(typeof t!="function")throw new Bt(S);return Se(function(){t.apply(i,e)},n)}function _e(t,n,e,r){var u=-1,o=Ne,a=!0,c=t.length,d=[],y=n.length;if(!c)return d;e&&(n=nt(n,Et(e))),r?(o=Hr,a=!1):n.length>=_&&(o=fe,a=!1,n=new Ln(n));t:for(;++u<c;){var m=t[u],x=e==null?m:e(m);if(m=r||m!==0?m:0,a&&x===x){for(var A=y;A--;)if(n[A]===x)continue t;d.push(m)}else o(n,x,r)||d.push(m)}return d}var xn=Cs(tn),ju=Cs(oi,!0);function fc(t,n){var e=!0;return xn(t,function(r,u,o){return e=!!n(r,u,o),e}),e}function tr(t,n,e){for(var r=-1,u=t.length;++r<u;){var o=t[r],a=n(o);if(a!=null&&(c===i?a===a&&!Lt(a):e(a,c)))var c=a,d=o}return d}function cc(t,n,e,r){var u=t.length;for(e=B(e),e<0&&(e=-e>u?0:u+e),r=r===i||r>u?u:B(r),r<0&&(r+=u),r=e>r?0:vo(r);e<r;)t[e++]=n;return t}function ts(t,n){var e=[];return xn(t,function(r,u,o){n(r,u,o)&&e.push(r)}),e}function dt(t,n,e,r,u){var o=-1,a=t.length;for(e||(e=Vc),u||(u=[]);++o<a;){var c=t[o];n>0&&e(c)?n>1?dt(c,n-1,e,r,u):wn(u,c):r||(u[u.length]=c)}return u}var si=Ps(),ns=Ps(!0);function tn(t,n){return t&&si(t,n,lt)}function oi(t,n){return t&&ns(t,n,lt)}function nr(t,n){return vn(n,function(e){return hn(t[e])})}function Wn(t,n){n=An(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 es(t,n,e){var r=n(t);return U(t)?r:wn(r,e(t))}function wt(t){return t==null?t===i?Bo:No:En&&En in Q(t)?Gc(t):ul(t)}function ai(t,n){return t>n}function lc(t,n){return t!=null&&Y.call(t,n)}function hc(t,n){return t!=null&&n in Q(t)}function dc(t,n,e){return t>=pt(n,e)&&t<at(n,e)}function fi(t,n,e){for(var r=e?Hr:Ne,u=t[0].length,o=t.length,a=o,c=g(o),d=1/0,y=[];a--;){var m=t[a];a&&n&&(m=nt(m,Et(n))),d=pt(m.length,d),c[a]=!e&&(n||u>=120&&m.length>=120)?new Ln(a&&m):i}m=t[0];var x=-1,A=c[0];t:for(;++x<u&&y.length<d;){var R=m[x],O=n?n(R):R;if(R=e||R!==0?R:0,!(A?fe(A,O):r(y,O,e))){for(a=o;--a;){var $=c[a];if(!($?fe($,O):r(t[a],O,e)))continue t}A&&A.push(O),y.push(R)}}return y}function pc(t,n,e,r){return tn(t,function(u,o,a){n(r,e(u),o,a)}),r}function ve(t,n,e){n=An(n,t),t=ks(t,n);var r=t==null?t:t[en(qt(n))];return r==null?i:It(r,t,e)}function rs(t){return rt(t)&&wt(t)==ct}function gc(t){return rt(t)&&wt(t)==ae}function _c(t){return rt(t)&&wt(t)==vt}function we(t,n,e,r,u){return t===n?!0:t==null||n==null||!rt(t)&&!rt(n)?t!==t&&n!==n:vc(t,n,e,r,we,u)}function vc(t,n,e,r,u,o){var a=U(t),c=U(n),d=a?Ht:gt(t),y=c?Ht:gt(n);d=d==ct?un:d,y=y==ct?un:y;var m=d==un,x=y==un,A=d==y;if(A&&Cn(t)){if(!Cn(n))return!1;a=!0,m=!1}if(A&&!m)return o||(o=new Yt),a||te(t)?Ns(t,n,e,r,u,o):zc(t,n,d,e,r,u,o);if(!(e&J)){var R=m&&Y.call(t,"__wrapped__"),O=x&&Y.call(n,"__wrapped__");if(R||O){var $=R?t.value():t,W=O?n.value():n;return o||(o=new Yt),u($,W,e,r,o)}}return A?(o||(o=new Yt),Hc(t,n,e,r,u,o)):!1}function wc(t){return rt(t)&&gt(t)==Gt}function ci(t,n,e,r){var u=e.length,o=u,a=!r;if(t==null)return!o;for(t=Q(t);u--;){var c=e[u];if(a&&c[2]?c[1]!==t[c[0]]:!(c[0]in t))return!1}for(;++u<o;){c=e[u];var d=c[0],y=t[d],m=c[1];if(a&&c[2]){if(y===i&&!(d in t))return!1}else{var x=new Yt;if(r)var A=r(y,m,d,t,n,x);if(!(A===i?we(m,y,J|q,r,x):A))return!1}}return!0}function is(t){if(!et(t)||tl(t))return!1;var n=hn(t)?wf:oa;return n.test(Fn(t))}function yc(t){return rt(t)&&wt(t)==ue}function mc(t){return rt(t)&&gt(t)==Jt}function xc(t){return rt(t)&&wr(t.length)&&!!tt[wt(t)]}function us(t){return typeof t=="function"?t:t==null?Ct:typeof t=="object"?U(t)?as(t[0],t[1]):os(t):Io(t)}function li(t){if(!xe(t))return bf(t);var n=[];for(var e in Q(t))Y.call(t,e)&&e!="constructor"&&n.push(e);return n}function Sc(t){if(!et(t))return il(t);var n=xe(t),e=[];for(var r in t)r=="constructor"&&(n||!Y.call(t,r))||e.push(r);return e}function hi(t,n){return t<n}function ss(t,n){var e=-1,r=At(t)?g(t.length):[];return xn(t,function(u,o,a){r[++e]=n(u,o,a)}),r}function os(t){var n=Ri(t);return n.length==1&&n[0][2]?Ks(n[0][0],n[0][1]):function(e){return e===t||ci(e,t,n)}}function as(t,n){return Ei(t)&&$s(n)?Ks(en(t),n):function(e){var r=Mi(e,t);return r===i&&r===n?$i(e,t):we(n,r,J|q)}}function er(t,n,e,r,u){t!==n&&si(n,function(o,a){if(u||(u=new Yt),et(o))Ac(t,n,a,e,er,r,u);else{var c=r?r(Li(t,a),o,a+"",t,n,u):i;c===i&&(c=o),ii(t,a,c)}},bt)}function Ac(t,n,e,r,u,o,a){var c=Li(t,e),d=Li(n,e),y=a.get(d);if(y){ii(t,e,y);return}var m=o?o(c,d,e+"",t,n,a):i,x=m===i;if(x){var A=U(d),R=!A&&Cn(d),O=!A&&!R&&te(d);m=d,A||R||O?U(c)?m=c:it(c)?m=St(c):R?(x=!1,m=ms(d,!0)):O?(x=!1,m=xs(d,!0)):m=[]:Ae(d)||Nn(d)?(m=c,Nn(c)?m=wo(c):(!et(c)||hn(c))&&(m=Ms(d))):x=!1}x&&(a.set(d,m),u(m,d,r,o,a),a.delete(d)),ii(t,e,m)}function fs(t,n){var e=t.length;if(e)return n+=n<0?e:0,ln(n,e)?t[n]:i}function cs(t,n,e){n.length?n=nt(n,function(o){return U(o)?function(a){return Wn(a,o.length===1?o[0]:o)}:o}):n=[Ct];var r=-1;n=nt(n,Et(L()));var u=ss(t,function(o,a,c){var d=nt(n,function(y){return y(o)});return{criteria:d,index:++r,value:o}});return Ya(u,function(o,a){return Nc(o,a,e)})}function bc(t,n){return ls(t,n,function(e,r){return $i(t,r)})}function ls(t,n,e){for(var r=-1,u=n.length,o={};++r<u;){var a=n[r],c=Wn(t,a);e(c,a)&&ye(o,An(a,t),c)}return o}function Cc(t){return function(n){return Wn(n,t)}}function di(t,n,e,r){var u=r?Za:kn,o=-1,a=n.length,c=t;for(t===n&&(n=St(n)),e&&(c=nt(t,Et(e)));++o<a;)for(var d=0,y=n[o],m=e?e(y):y;(d=u(c,m,d,r))>-1;)c!==t&&Ge.call(c,d,1),Ge.call(t,d,1);return t}function hs(t,n){for(var e=t?n.length:0,r=e-1;e--;){var u=n[e];if(e==r||u!==o){var o=u;ln(u)?Ge.call(t,u,1):vi(t,u)}}return t}function pi(t,n){return t+Ye(Gu()*(n-t+1))}function Pc(t,n,e,r){for(var u=-1,o=at(Ze((n-t)/(e||1)),0),a=g(o);o--;)a[r?o:++u]=t,t+=e;return a}function gi(t,n){var e="";if(!t||n<1||n>jt)return e;do n%2&&(e+=t),n=Ye(n/2),n&&(t+=t);while(n);return e}function K(t,n){return Oi(qs(t,n,Ct),t+"")}function Rc(t){return Yu(ne(t))}function Ic(t,n){var e=ne(t);return hr(e,On(n,0,e.length))}function ye(t,n,e,r){if(!et(t))return t;n=An(n,t);for(var u=-1,o=n.length,a=o-1,c=t;c!=null&&++u<o;){var d=en(n[u]),y=e;if(d==="__proto__"||d==="constructor"||d==="prototype")return t;if(u!=a){var m=c[d];y=r?r(m,d,c):i,y===i&&(y=et(m)?m:ln(n[u+1])?[]:{})}ge(c,d,y),c=c[d]}return t}var ds=Xe?function(t,n){return Xe.set(t,n),t}:Ct,Ec=Je?function(t,n){return Je(t,"toString",{configurable:!0,enumerable:!1,value:qi(n),writable:!0})}:Ct;function Tc(t){return hr(ne(t))}function Kt(t,n,e){var r=-1,u=t.length;n<0&&(n=-n>u?0:u+n),e=e>u?u:e,e<0&&(e+=u),u=n>e?0:e-n>>>0,n>>>=0;for(var o=g(u);++r<u;)o[r]=t[r+n];return o}function Lc(t,n){var e;return xn(t,function(r,u,o){return e=n(r,u,o),!e}),!!e}function rr(t,n,e){var r=0,u=t==null?r:t.length;if(typeof n=="number"&&n===n&&u<=Pr){for(;r<u;){var o=r+u>>>1,a=t[o];a!==null&&!Lt(a)&&(e?a<=n:a<n)?r=o+1:u=o}return u}return _i(t,n,Ct,e)}function _i(t,n,e,r){var u=0,o=t==null?0:t.length;if(o===0)return 0;n=e(n);for(var a=n!==n,c=n===null,d=Lt(n),y=n===i;u<o;){var m=Ye((u+o)/2),x=e(t[m]),A=x!==i,R=x===null,O=x===x,$=Lt(x);if(a)var W=r||O;else y?W=O&&(r||A):c?W=O&&A&&(r||!R):d?W=O&&A&&!R&&(r||!$):R||$?W=!1:W=r?x<=n:x<n;W?u=m+1:o=m}return pt(o,Ee)}function ps(t,n){for(var e=-1,r=t.length,u=0,o=[];++e<r;){var a=t[e],c=n?n(a):a;if(!e||!Xt(c,d)){var d=c;o[u++]=a===0?0:a}}return o}function gs(t){return typeof t=="number"?t:Lt(t)?$n:+t}function Tt(t){if(typeof t=="string")return t;if(U(t))return nt(t,Tt)+"";if(Lt(t))return Ju?Ju.call(t):"";var n=t+"";return n=="0"&&1/t==-rn?"-0":n}function Sn(t,n,e){var r=-1,u=Ne,o=t.length,a=!0,c=[],d=c;if(e)a=!1,u=Hr;else if(o>=_){var y=n?null:qc(t);if(y)return Be(y);a=!1,u=fe,d=new Ln}else d=n?[]:c;t:for(;++r<o;){var m=t[r],x=n?n(m):m;if(m=e||m!==0?m:0,a&&x===x){for(var A=d.length;A--;)if(d[A]===x)continue t;n&&d.push(x),c.push(m)}else u(d,x,e)||(d!==c&&d.push(x),c.push(m))}return c}function vi(t,n){return n=An(n,t),t=ks(t,n),t==null||delete t[en(qt(n))]}function _s(t,n,e,r){return ye(t,n,e(Wn(t,n)),r)}function ir(t,n,e,r){for(var u=t.length,o=r?u:-1;(r?o--:++o<u)&&n(t[o],o,t););return e?Kt(t,r?0:o,r?o+1:u):Kt(t,r?o+1:0,r?u:o)}function vs(t,n){var e=t;return e instanceof z&&(e=e.value()),Gr(n,function(r,u){return u.func.apply(u.thisArg,wn([r],u.args))},e)}function wi(t,n,e){var r=t.length;if(r<2)return r?Sn(t[0]):[];for(var u=-1,o=g(r);++u<r;)for(var a=t[u],c=-1;++c<r;)c!=u&&(o[u]=_e(o[u]||a,t[c],n,e));return Sn(dt(o,1),n,e)}function ws(t,n,e){for(var r=-1,u=t.length,o=n.length,a={};++r<u;){var c=r<o?n[r]:i;e(a,t[r],c)}return a}function yi(t){return it(t)?t:[]}function mi(t){return typeof t=="function"?t:Ct}function An(t,n){return U(t)?t:Ei(t,n)?[t]:Js(Z(t))}var Oc=K;function bn(t,n,e){var r=t.length;return e=e===i?r:e,!n&&e>=r?t:Kt(t,n,e)}var ys=yf||function(t){return ht.clearTimeout(t)};function ms(t,n){if(n)return t.slice();var e=t.length,r=Ku?Ku(e):new t.constructor(e);return t.copy(r),r}function xi(t){var n=new t.constructor(t.byteLength);return new ze(n).set(new ze(t)),n}function Wc(t,n){var e=n?xi(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.byteLength)}function Dc(t){var n=new t.constructor(t.source,ru.exec(t));return n.lastIndex=t.lastIndex,n}function Fc(t){return pe?Q(pe.call(t)):{}}function xs(t,n){var e=n?xi(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.length)}function Ss(t,n){if(t!==n){var e=t!==i,r=t===null,u=t===t,o=Lt(t),a=n!==i,c=n===null,d=n===n,y=Lt(n);if(!c&&!y&&!o&&t>n||o&&a&&d&&!c&&!y||r&&a&&d||!e&&d||!u)return 1;if(!r&&!o&&!y&&t<n||y&&e&&u&&!r&&!o||c&&e&&u||!a&&u||!d)return-1}return 0}function Nc(t,n,e){for(var r=-1,u=t.criteria,o=n.criteria,a=u.length,c=e.length;++r<a;){var d=Ss(u[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 As(t,n,e,r){for(var u=-1,o=t.length,a=e.length,c=-1,d=n.length,y=at(o-a,0),m=g(d+y),x=!r;++c<d;)m[c]=n[c];for(;++u<a;)(x||u<o)&&(m[e[u]]=t[u]);for(;y--;)m[c++]=t[u++];return m}function bs(t,n,e,r){for(var u=-1,o=t.length,a=-1,c=e.length,d=-1,y=n.length,m=at(o-c,0),x=g(m+y),A=!r;++u<m;)x[u]=t[u];for(var R=u;++d<y;)x[R+d]=n[d];for(;++a<c;)(A||u<o)&&(x[R+e[a]]=t[u++]);return x}function St(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 u=!e;e||(e={});for(var o=-1,a=n.length;++o<a;){var c=n[o],d=r?r(e[c],t[c],c,e,t):i;d===i&&(d=t[c]),u?an(e,c,d):ge(e,c,d)}return e}function Uc(t,n){return nn(t,Ii(t),n)}function Bc(t,n){return nn(t,Us(t),n)}function ur(t,n){return function(e,r){var u=U(e)?qa:sc,o=n?n():{};return u(e,t,L(r,2),o)}}function Qn(t){return K(function(n,e){var r=-1,u=e.length,o=u>1?e[u-1]:i,a=u>2?e[2]:i;for(o=t.length>3&&typeof o=="function"?(u--,o):i,a&&yt(e[0],e[1],a)&&(o=u<3?i:o,u=1),n=Q(n);++r<u;){var c=e[r];c&&t(n,c,r,o)}return n})}function Cs(t,n){return function(e,r){if(e==null)return e;if(!At(e))return t(e,r);for(var u=e.length,o=n?u:-1,a=Q(e);(n?o--:++o<u)&&r(a[o],o,a)!==!1;);return e}}function Ps(t){return function(n,e,r){for(var u=-1,o=Q(n),a=r(n),c=a.length;c--;){var d=a[t?c:++u];if(e(o[d],d,o)===!1)break}return n}}function Mc(t,n,e){var r=n&_t,u=me(t);function o(){var a=this&&this!==ht&&this instanceof o?u:t;return a.apply(r?e:this,arguments)}return o}function Rs(t){return function(n){n=Z(n);var e=zn(n)?Zt(n):i,r=e?e[0]:n.charAt(0),u=e?bn(e,1).join(""):n.slice(1);return r[t]()+u}}function Vn(t){return function(n){return Gr(Po(Co(n).replace(Ia,"")),t,"")}}function me(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=Xn(t.prototype),r=t.apply(e,n);return et(r)?r:e}}function $c(t,n,e){var r=me(t);function u(){for(var o=arguments.length,a=g(o),c=o,d=jn(u);c--;)a[c]=arguments[c];var y=o<3&&a[0]!==d&&a[o-1]!==d?[]:yn(a,d);if(o-=y.length,o<e)return Os(t,n,sr,u.placeholder,i,a,y,i,i,e-o);var m=this&&this!==ht&&this instanceof u?r:t;return It(m,this,a)}return u}function Is(t){return function(n,e,r){var u=Q(n);if(!At(n)){var o=L(e,3);n=lt(n),e=function(c){return o(u[c],c,u)}}var a=t(n,e,r);return a>-1?u[o?n[a]:a]:i}}function Es(t){return cn(function(n){var e=n.length,r=e,u=Mt.prototype.thru;for(t&&n.reverse();r--;){var o=n[r];if(typeof o!="function")throw new Bt(S);if(u&&!a&&cr(o)=="wrapper")var a=new Mt([],!0)}for(r=a?r:e;++r<e;){o=n[r];var c=cr(o),d=c=="wrapper"?Pi(o):i;d&&Ti(d[0])&&d[1]==(xt|st|zt|Dt)&&!d[4].length&&d[9]==1?a=a[cr(d[0])].apply(a,d[3]):a=o.length==1&&Ti(o)?a[c]():a.thru(o)}return function(){var y=arguments,m=y[0];if(a&&y.length==1&&U(m))return a.plant(m).value();for(var x=0,A=e?n[x].apply(this,y):m;++x<e;)A=n[x].call(this,A);return A}})}function sr(t,n,e,r,u,o,a,c,d,y){var m=n&xt,x=n&_t,A=n&Pt,R=n&(st|Pn),O=n&Bn,$=A?i:me(t);function W(){for(var k=arguments.length,H=g(k),Ot=k;Ot--;)H[Ot]=arguments[Ot];if(R)var mt=jn(W),Wt=Qa(H,mt);if(r&&(H=As(H,r,u,R)),o&&(H=bs(H,o,a,R)),k-=Wt,R&&k<y){var ut=yn(H,mt);return Os(t,n,sr,W.placeholder,e,H,ut,c,d,y-k)}var Qt=x?e:this,pn=A?Qt[t]:t;return k=H.length,c?H=sl(H,c):O&&k>1&&H.reverse(),m&&d<k&&(H.length=d),this&&this!==ht&&this instanceof W&&(pn=$||me(pn)),pn.apply(Qt,H)}return W}function Ts(t,n){return function(e,r){return pc(e,t,n(r),{})}}function or(t,n){return function(e,r){var u;if(e===i&&r===i)return n;if(e!==i&&(u=e),r!==i){if(u===i)return r;typeof e=="string"||typeof r=="string"?(e=Tt(e),r=Tt(r)):(e=gs(e),r=gs(r)),u=t(e,r)}return u}}function Si(t){return cn(function(n){return n=nt(n,Et(L())),K(function(e){var r=this;return t(n,function(u){return It(u,r,e)})})})}function ar(t,n){n=n===i?" ":Tt(n);var e=n.length;if(e<2)return e?gi(n,t):n;var r=gi(n,Ze(t/Hn(n)));return zn(n)?bn(Zt(r),0,t).join(""):r.slice(0,t)}function Kc(t,n,e,r){var u=n&_t,o=me(t);function a(){for(var c=-1,d=arguments.length,y=-1,m=r.length,x=g(m+d),A=this&&this!==ht&&this instanceof a?o:t;++y<m;)x[y]=r[y];for(;d--;)x[y++]=arguments[++c];return It(A,u?e:this,x)}return a}function Ls(t){return function(n,e,r){return r&&typeof r!="number"&&yt(n,e,r)&&(e=r=i),n=dn(n),e===i?(e=n,n=0):e=dn(e),r=r===i?n<e?1:-1:dn(r),Pc(n,e,r,t)}}function fr(t){return function(n,e){return typeof n=="string"&&typeof e=="string"||(n=kt(n),e=kt(e)),t(n,e)}}function Os(t,n,e,r,u,o,a,c,d,y){var m=n&st,x=m?a:i,A=m?i:a,R=m?o:i,O=m?i:o;n|=m?zt:gn,n&=~(m?gn:zt),n&Vt||(n&=-4);var $=[t,n,u,R,x,O,A,c,d,y],W=e.apply(i,$);return Ti(t)&&zs(W,$),W.placeholder=r,Hs(W,t,n)}function Ai(t){var n=ot[t];return function(e,r){if(e=kt(e),r=r==null?0:pt(B(r),292),r&&Hu(e)){var u=(Z(e)+"e").split("e"),o=n(u[0]+"e"+(+u[1]+r));return u=(Z(o)+"e").split("e"),+(u[0]+"e"+(+u[1]-r))}return n(e)}}var qc=Zn&&1/Be(new Zn([,-0]))[1]==rn?function(t){return new Zn(t)}:Hi;function Ws(t){return function(n){var e=gt(n);return e==Gt?jr(n):e==Jt?uf(n):Xa(n,t(n))}}function fn(t,n,e,r,u,o,a,c){var d=n&Pt;if(!d&&typeof t!="function")throw new Bt(S);var y=r?r.length:0;if(y||(n&=-97,r=u=i),a=a===i?a:at(B(a),0),c=c===i?c:B(c),y-=u?u.length:0,n&gn){var m=r,x=u;r=u=i}var A=d?i:Pi(t),R=[t,n,e,r,u,m,x,o,a,c];if(A&&rl(R,A),t=R[0],n=R[1],e=R[2],r=R[3],u=R[4],c=R[9]=R[9]===i?d?0:t.length:at(R[9]-y,0),!c&&n&(st|Pn)&&(n&=-25),!n||n==_t)var O=Mc(t,n,e);else n==st||n==Pn?O=$c(t,n,c):(n==zt||n==(_t|zt))&&!u.length?O=Kc(t,n,e,r):O=sr.apply(i,R);var $=A?ds:zs;return Hs($(O,R),t,n)}function Ds(t,n,e,r){return t===i||Xt(t,Jn[e])&&!Y.call(r,e)?n:t}function Fs(t,n,e,r,u,o){return et(t)&&et(n)&&(o.set(n,t),er(t,n,i,Fs,o),o.delete(n)),t}function kc(t){return Ae(t)?i:t}function Ns(t,n,e,r,u,o){var a=e&J,c=t.length,d=n.length;if(c!=d&&!(a&&d>c))return!1;var y=o.get(t),m=o.get(n);if(y&&m)return y==n&&m==t;var x=-1,A=!0,R=e&q?new Ln:i;for(o.set(t,n),o.set(n,t);++x<c;){var O=t[x],$=n[x];if(r)var W=a?r($,O,x,n,t,o):r(O,$,x,t,n,o);if(W!==i){if(W)continue;A=!1;break}if(R){if(!Jr(n,function(k,H){if(!fe(R,H)&&(O===k||u(O,k,e,r,o)))return R.push(H)})){A=!1;break}}else if(!(O===$||u(O,$,e,r,o))){A=!1;break}}return o.delete(t),o.delete(n),A}function zc(t,n,e,r,u,o,a){switch(e){case Kn:if(t.byteLength!=n.byteLength||t.byteOffset!=n.byteOffset)return!1;t=t.buffer,n=n.buffer;case ae:return!(t.byteLength!=n.byteLength||!o(new ze(t),new ze(n)));case _n:case vt:case ie:return Xt(+t,+n);case Te:return t.name==n.name&&t.message==n.message;case ue:case se:return t==n+"";case Gt:var c=jr;case Jt:var d=r&J;if(c||(c=Be),t.size!=n.size&&!d)return!1;var y=a.get(t);if(y)return y==n;r|=q,a.set(t,n);var m=Ns(c(t),c(n),r,u,o,a);return a.delete(t),m;case Oe:if(pe)return pe.call(t)==pe.call(n)}return!1}function Hc(t,n,e,r,u,o){var a=e&J,c=bi(t),d=c.length,y=bi(n),m=y.length;if(d!=m&&!a)return!1;for(var x=d;x--;){var A=c[x];if(!(a?A in n:Y.call(n,A)))return!1}var R=o.get(t),O=o.get(n);if(R&&O)return R==n&&O==t;var $=!0;o.set(t,n),o.set(n,t);for(var W=a;++x<d;){A=c[x];var k=t[A],H=n[A];if(r)var Ot=a?r(H,k,A,n,t,o):r(k,H,A,t,n,o);if(!(Ot===i?k===H||u(k,H,e,r,o):Ot)){$=!1;break}W||(W=A=="constructor")}if($&&!W){var mt=t.constructor,Wt=n.constructor;mt!=Wt&&"constructor"in t&&"constructor"in n&&!(typeof mt=="function"&&mt instanceof mt&&typeof Wt=="function"&&Wt instanceof Wt)&&($=!1)}return o.delete(t),o.delete(n),$}function cn(t){return Oi(qs(t,i,Qs),t+"")}function bi(t){return es(t,lt,Ii)}function Ci(t){return es(t,bt,Us)}var Pi=Xe?function(t){return Xe.get(t)}:Hi;function cr(t){for(var n=t.name+"",e=Yn[n],r=Y.call(Yn,n)?e.length:0;r--;){var u=e[r],o=u.func;if(o==null||o==t)return u.name}return n}function jn(t){var n=Y.call(s,"placeholder")?s:t;return n.placeholder}function L(){var t=s.iteratee||ki;return t=t===ki?us:t,arguments.length?t(arguments[0],arguments[1]):t}function lr(t,n){var e=t.__data__;return jc(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],u=t[r];n[e]=[r,u,$s(u)]}return n}function Dn(t,n){var e=nf(t,n);return is(e)?e:i}function Gc(t){var n=Y.call(t,En),e=t[En];try{t[En]=i;var r=!0}catch{}var u=qe.call(t);return r&&(n?t[En]=e:delete t[En]),u}var Ii=ni?function(t){return t==null?[]:(t=Q(t),vn(ni(t),function(n){return ku.call(t,n)}))}:Gi,Us=ni?function(t){for(var n=[];t;)wn(n,Ii(t)),t=He(t);return n}:Gi,gt=wt;(ei&&gt(new ei(new ArrayBuffer(1)))!=Kn||le&&gt(new le)!=Gt||ri&&gt(ri.resolve())!=ji||Zn&&gt(new Zn)!=Jt||he&&gt(new he)!=oe)&&(gt=function(t){var n=wt(t),e=n==un?t.constructor:i,r=e?Fn(e):"";if(r)switch(r){case If:return Kn;case Ef:return Gt;case Tf:return ji;case Lf:return Jt;case Of:return oe}return n});function Jc(t,n,e){for(var r=-1,u=e.length;++r<u;){var o=e[r],a=o.size;switch(o.type){case"drop":t+=a;break;case"dropRight":n-=a;break;case"take":n=pt(n,t+a);break;case"takeRight":t=at(t,n-a);break}}return{start:t,end:n}}function Zc(t){var n=t.match(jo);return n?n[1].split(ta):[]}function Bs(t,n,e){n=An(n,t);for(var r=-1,u=n.length,o=!1;++r<u;){var a=en(n[r]);if(!(o=t!=null&&e(t,a)))break;t=t[a]}return o||++r!=u?o:(u=t==null?0:t.length,!!u&&wr(u)&&ln(a,u)&&(U(t)||Nn(t)))}function Yc(t){var n=t.length,e=new t.constructor(n);return n&&typeof t[0]=="string"&&Y.call(t,"index")&&(e.index=t.index,e.input=t.input),e}function Ms(t){return typeof t.constructor=="function"&&!xe(t)?Xn(He(t)):{}}function Xc(t,n,e){var r=t.constructor;switch(n){case ae:return xi(t);case _n:case vt:return new r(+t);case Kn:return Wc(t,e);case Rr:case Ir:case Er:case Tr:case Lr:case Or:case Wr:case Dr:case Fr:return xs(t,e);case Gt:return new r;case ie:case se:return new r(t);case ue:return Dc(t);case Jt:return new r;case Oe:return Fc(t)}}function Qc(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(Vo,`{
9
+ /* [wrapped with `+n+`] */
10
+ `)}function Vc(t){return U(t)||Nn(t)||!!(zu&&t&&t[zu])}function ln(t,n){var e=typeof t;return n=n??jt,!!n&&(e=="number"||e!="symbol"&&fa.test(t))&&t>-1&&t%1==0&&t<n}function yt(t,n,e){if(!et(e))return!1;var r=typeof n;return(r=="number"?At(e)&&ln(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||Lt(t)?!0:Zo.test(t)||!Jo.test(t)||n!=null&&t in Q(n)}function jc(t){var n=typeof t;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?t!=="__proto__":t===null}function Ti(t){var n=cr(t),e=s[n];if(typeof e!="function"||!(n in z.prototype))return!1;if(t===e)return!0;var r=Pi(e);return!!r&&t===r[0]}function tl(t){return!!$u&&$u in t}var nl=$e?hn:Ji;function xe(t){var n=t&&t.constructor,e=typeof n=="function"&&n.prototype||Jn;return t===e}function $s(t){return t===t&&!et(t)}function Ks(t,n){return function(e){return e==null?!1:e[t]===n&&(n!==i||t in Q(e))}}function el(t){var n=_r(t,function(r){return e.size===M&&e.clear(),r}),e=n.cache;return n}function rl(t,n){var e=t[1],r=n[1],u=e|r,o=u<(_t|Pt|xt),a=r==xt&&e==st||r==xt&&e==Dt&&t[7].length<=n[8]||r==(xt|Dt)&&n[7].length<=n[8]&&e==st;if(!(o||a))return t;r&_t&&(t[2]=n[2],u|=e&_t?0:Vt);var c=n[3];if(c){var d=t[3];t[3]=d?As(d,c,n[4]):c,t[4]=d?yn(t[3],I):n[4]}return c=n[5],c&&(d=t[5],t[5]=d?bs(d,c,n[6]):c,t[6]=d?yn(t[5],I):n[6]),c=n[7],c&&(t[7]=c),r&xt&&(t[8]=t[8]==null?n[8]:pt(t[8],n[8])),t[9]==null&&(t[9]=n[9]),t[0]=n[0],t[1]=u,t}function il(t){var n=[];if(t!=null)for(var e in Q(t))n.push(e);return n}function ul(t){return qe.call(t)}function qs(t,n,e){return n=at(n===i?t.length-1:n,0),function(){for(var r=arguments,u=-1,o=at(r.length-n,0),a=g(o);++u<o;)a[u]=r[n+u];u=-1;for(var c=g(n+1);++u<n;)c[u]=r[u];return c[n]=e(a),It(t,this,c)}}function ks(t,n){return n.length<2?t:Wn(t,Kt(n,0,-1))}function sl(t,n){for(var e=t.length,r=pt(n.length,e),u=St(t);r--;){var o=n[r];t[r]=ln(o,e)?u[o]:i}return t}function Li(t,n){if(!(n==="constructor"&&typeof t[n]=="function")&&n!="__proto__")return t[n]}var zs=Gs(ds),Se=xf||function(t,n){return ht.setTimeout(t,n)},Oi=Gs(Ec);function Hs(t,n,e){var r=n+"";return Oi(t,Qc(r,ol(Zc(r),e)))}function Gs(t){var n=0,e=0;return function(){var r=Cf(),u=Mn-(r-e);if(e=r,u>0){if(++n>=Ie)return arguments[0]}else n=0;return t.apply(i,arguments)}}function hr(t,n){var e=-1,r=t.length,u=r-1;for(n=n===i?r:n;++e<n;){var o=pi(e,u),a=t[o];t[o]=t[e],t[e]=a}return t.length=n,t}var Js=el(function(t){var n=[];return t.charCodeAt(0)===46&&n.push(""),t.replace(Yo,function(e,r,u,o){n.push(u?o.replace(ra,"$1"):r||e)}),n});function en(t){if(typeof t=="string"||Lt(t))return t;var n=t+"";return n=="0"&&1/t==-rn?"-0":n}function Fn(t){if(t!=null){try{return Ke.call(t)}catch{}try{return t+""}catch{}}return""}function ol(t,n){return Ut(X,function(e){var r="_."+e[0];n&e[1]&&!Ne(t,r)&&t.push(r)}),t.sort()}function Zs(t){if(t instanceof z)return t.clone();var n=new Mt(t.__wrapped__,t.__chain__);return n.__actions__=St(t.__actions__),n.__index__=t.__index__,n.__values__=t.__values__,n}function al(t,n,e){(e?yt(t,n,e):n===i)?n=1:n=at(B(n),0);var r=t==null?0:t.length;if(!r||n<1)return[];for(var u=0,o=0,a=g(Ze(r/n));u<r;)a[o++]=Kt(t,u,u+=n);return a}function fl(t){for(var n=-1,e=t==null?0:t.length,r=0,u=[];++n<e;){var o=t[n];o&&(u[r++]=o)}return u}function cl(){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 wn(U(e)?St(e):[e],dt(n,1))}var ll=K(function(t,n){return it(t)?_e(t,dt(n,1,it,!0)):[]}),hl=K(function(t,n){var e=qt(n);return it(e)&&(e=i),it(t)?_e(t,dt(n,1,it,!0),L(e,2)):[]}),dl=K(function(t,n){var e=qt(n);return it(e)&&(e=i),it(t)?_e(t,dt(n,1,it,!0),i,e):[]});function pl(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 gl(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 _l(t,n){return t&&t.length?ir(t,L(n,3),!0,!0):[]}function vl(t,n){return t&&t.length?ir(t,L(n,3),!0):[]}function wl(t,n,e,r){var u=t==null?0:t.length;return u?(e&&typeof e!="number"&&yt(t,n,e)&&(e=0,r=u),cc(t,n,e,r)):[]}function Ys(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var u=e==null?0:B(e);return u<0&&(u=at(r+u,0)),Ue(t,L(n,3),u)}function Xs(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var u=r-1;return e!==i&&(u=B(e),u=e<0?at(r+u,0):pt(u,r-1)),Ue(t,L(n,3),u,!0)}function Qs(t){var n=t==null?0:t.length;return n?dt(t,1):[]}function yl(t){var n=t==null?0:t.length;return n?dt(t,rn):[]}function ml(t,n){var e=t==null?0:t.length;return e?(n=n===i?1:B(n),dt(t,n)):[]}function xl(t){for(var n=-1,e=t==null?0:t.length,r={};++n<e;){var u=t[n];r[u[0]]=u[1]}return r}function Vs(t){return t&&t.length?t[0]:i}function Sl(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var u=e==null?0:B(e);return u<0&&(u=at(r+u,0)),kn(t,n,u)}function Al(t){var n=t==null?0:t.length;return n?Kt(t,0,-1):[]}var bl=K(function(t){var n=nt(t,yi);return n.length&&n[0]===t[0]?fi(n):[]}),Cl=K(function(t){var n=qt(t),e=nt(t,yi);return n===qt(e)?n=i:e.pop(),e.length&&e[0]===t[0]?fi(e,L(n,2)):[]}),Pl=K(function(t){var n=qt(t),e=nt(t,yi);return n=typeof n=="function"?n:i,n&&e.pop(),e.length&&e[0]===t[0]?fi(e,i,n):[]});function Rl(t,n){return t==null?"":Af.call(t,n)}function qt(t){var n=t==null?0:t.length;return n?t[n-1]:i}function Il(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var u=r;return e!==i&&(u=B(e),u=u<0?at(r+u,0):pt(u,r-1)),n===n?of(t,n,u):Ue(t,Ou,u,!0)}function El(t,n){return t&&t.length?fs(t,B(n)):i}var Tl=K(js);function js(t,n){return t&&t.length&&n&&n.length?di(t,n):t}function Ll(t,n,e){return t&&t.length&&n&&n.length?di(t,n,L(e,2)):t}function Ol(t,n,e){return t&&t.length&&n&&n.length?di(t,n,i,e):t}var Wl=cn(function(t,n){var e=t==null?0:t.length,r=ui(t,n);return hs(t,nt(n,function(u){return ln(u,e)?+u:u}).sort(Ss)),r});function Dl(t,n){var e=[];if(!(t&&t.length))return e;var r=-1,u=[],o=t.length;for(n=L(n,3);++r<o;){var a=t[r];n(a,r,t)&&(e.push(a),u.push(r))}return hs(t,u),e}function Wi(t){return t==null?t:Rf.call(t)}function Fl(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:B(n),e=e===i?r:B(e)),Kt(t,n,e)):[]}function Nl(t,n){return rr(t,n)}function Ul(t,n,e){return _i(t,n,L(e,2))}function Bl(t,n){var e=t==null?0:t.length;if(e){var r=rr(t,n);if(r<e&&Xt(t[r],n))return r}return-1}function Ml(t,n){return rr(t,n,!0)}function $l(t,n,e){return _i(t,n,L(e,2),!0)}function Kl(t,n){var e=t==null?0:t.length;if(e){var r=rr(t,n,!0)-1;if(Xt(t[r],n))return r}return-1}function ql(t){return t&&t.length?ps(t):[]}function kl(t,n){return t&&t.length?ps(t,L(n,2)):[]}function zl(t){var n=t==null?0:t.length;return n?Kt(t,1,n):[]}function Hl(t,n,e){return t&&t.length?(n=e||n===i?1:B(n),Kt(t,0,n<0?0:n)):[]}function Gl(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 Jl(t,n){return t&&t.length?ir(t,L(n,3),!1,!0):[]}function Zl(t,n){return t&&t.length?ir(t,L(n,3)):[]}var Yl=K(function(t){return Sn(dt(t,1,it,!0))}),Xl=K(function(t){var n=qt(t);return it(n)&&(n=i),Sn(dt(t,1,it,!0),L(n,2))}),Ql=K(function(t){var n=qt(t);return n=typeof n=="function"?n:i,Sn(dt(t,1,it,!0),i,n)});function Vl(t){return t&&t.length?Sn(t):[]}function jl(t,n){return t&&t.length?Sn(t,L(n,2)):[]}function th(t,n){return n=typeof n=="function"?n:i,t&&t.length?Sn(t,i,n):[]}function Di(t){if(!(t&&t.length))return[];var n=0;return t=vn(t,function(e){if(it(e))return n=at(e.length,n),!0}),Qr(n,function(e){return nt(t,Zr(e))})}function to(t,n){if(!(t&&t.length))return[];var e=Di(t);return n==null?e:nt(e,function(r){return It(n,i,r)})}var nh=K(function(t,n){return it(t)?_e(t,n):[]}),eh=K(function(t){return wi(vn(t,it))}),rh=K(function(t){var n=qt(t);return it(n)&&(n=i),wi(vn(t,it),L(n,2))}),ih=K(function(t){var n=qt(t);return n=typeof n=="function"?n:i,wi(vn(t,it),i,n)}),uh=K(Di);function sh(t,n){return ws(t||[],n||[],ge)}function oh(t,n){return ws(t||[],n||[],ye)}var ah=K(function(t){var n=t.length,e=n>1?t[n-1]:i;return e=typeof e=="function"?(t.pop(),e):i,to(t,e)});function no(t){var n=s(t);return n.__chain__=!0,n}function fh(t,n){return n(t),t}function dr(t,n){return n(t)}var ch=cn(function(t){var n=t.length,e=n?t[0]:0,r=this.__wrapped__,u=function(o){return ui(o,t)};return n>1||this.__actions__.length||!(r instanceof z)||!ln(e)?this.thru(u):(r=r.slice(e,+e+(n?1:0)),r.__actions__.push({func:dr,args:[u],thisArg:i}),new Mt(r,this.__chain__).thru(function(o){return n&&!o.length&&o.push(i),o}))});function lh(){return no(this)}function hh(){return new Mt(this.value(),this.__chain__)}function dh(){this.__values__===i&&(this.__values__=_o(this.value()));var t=this.__index__>=this.__values__.length,n=t?i:this.__values__[this.__index__++];return{done:t,value:n}}function ph(){return this}function gh(t){for(var n,e=this;e instanceof Ve;){var r=Zs(e);r.__index__=0,r.__values__=i,n?u.__wrapped__=r:n=r;var u=r;e=e.__wrapped__}return u.__wrapped__=t,n}function _h(){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:dr,args:[Wi],thisArg:i}),new Mt(n,this.__chain__)}return this.thru(Wi)}function vh(){return vs(this.__wrapped__,this.__actions__)}var wh=ur(function(t,n,e){Y.call(t,e)?++t[e]:an(t,e,1)});function yh(t,n,e){var r=U(t)?Tu:fc;return e&&yt(t,n,e)&&(n=i),r(t,L(n,3))}function mh(t,n){var e=U(t)?vn:ts;return e(t,L(n,3))}var xh=Is(Ys),Sh=Is(Xs);function Ah(t,n){return dt(pr(t,n),1)}function bh(t,n){return dt(pr(t,n),rn)}function Ch(t,n,e){return e=e===i?1:B(e),dt(pr(t,n),e)}function eo(t,n){var e=U(t)?Ut:xn;return e(t,L(n,3))}function ro(t,n){var e=U(t)?ka:ju;return e(t,L(n,3))}var Ph=ur(function(t,n,e){Y.call(t,e)?t[e].push(n):an(t,e,[n])});function Rh(t,n,e,r){t=At(t)?t:ne(t),e=e&&!r?B(e):0;var u=t.length;return e<0&&(e=at(u+e,0)),yr(t)?e<=u&&t.indexOf(n,e)>-1:!!u&&kn(t,n,e)>-1}var Ih=K(function(t,n,e){var r=-1,u=typeof n=="function",o=At(t)?g(t.length):[];return xn(t,function(a){o[++r]=u?It(n,a,e):ve(a,n,e)}),o}),Eh=ur(function(t,n,e){an(t,e,n)});function pr(t,n){var e=U(t)?nt:ss;return e(t,L(n,3))}function Th(t,n,e,r){return t==null?[]:(U(n)||(n=n==null?[]:[n]),e=r?i:e,U(e)||(e=e==null?[]:[e]),cs(t,n,e))}var Lh=ur(function(t,n,e){t[e?0:1].push(n)},function(){return[[],[]]});function Oh(t,n,e){var r=U(t)?Gr:Du,u=arguments.length<3;return r(t,L(n,4),e,u,xn)}function Wh(t,n,e){var r=U(t)?za:Du,u=arguments.length<3;return r(t,L(n,4),e,u,ju)}function Dh(t,n){var e=U(t)?vn:ts;return e(t,vr(L(n,3)))}function Fh(t){var n=U(t)?Yu:Rc;return n(t)}function Nh(t,n,e){(e?yt(t,n,e):n===i)?n=1:n=B(n);var r=U(t)?ic:Ic;return r(t,n)}function Uh(t){var n=U(t)?uc:Tc;return n(t)}function Bh(t){if(t==null)return 0;if(At(t))return yr(t)?Hn(t):t.length;var n=gt(t);return n==Gt||n==Jt?t.size:li(t).length}function Mh(t,n,e){var r=U(t)?Jr:Lc;return e&&yt(t,n,e)&&(n=i),r(t,L(n,3))}var $h=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]]),cs(t,dt(n,1),[])}),gr=mf||function(){return ht.Date.now()};function Kh(t,n){if(typeof n!="function")throw new Bt(S);return t=B(t),function(){if(--t<1)return n.apply(this,arguments)}}function io(t,n,e){return n=e?i:n,n=t&&n==null?t.length:n,fn(t,xt,i,i,i,i,n)}function uo(t,n){var e;if(typeof n!="function")throw new Bt(S);return t=B(t),function(){return--t>0&&(e=n.apply(this,arguments)),t<=1&&(n=i),e}}var Fi=K(function(t,n,e){var r=_t;if(e.length){var u=yn(e,jn(Fi));r|=zt}return fn(t,r,n,e,u)}),so=K(function(t,n,e){var r=_t|Pt;if(e.length){var u=yn(e,jn(so));r|=zt}return fn(n,r,t,e,u)});function oo(t,n,e){n=e?i:n;var r=fn(t,st,i,i,i,i,i,n);return r.placeholder=oo.placeholder,r}function ao(t,n,e){n=e?i:n;var r=fn(t,Pn,i,i,i,i,i,n);return r.placeholder=ao.placeholder,r}function fo(t,n,e){var r,u,o,a,c,d,y=0,m=!1,x=!1,A=!0;if(typeof t!="function")throw new Bt(S);n=kt(n)||0,et(e)&&(m=!!e.leading,x="maxWait"in e,o=x?at(kt(e.maxWait)||0,n):o,A="trailing"in e?!!e.trailing:A);function R(ut){var Qt=r,pn=u;return r=u=i,y=ut,a=t.apply(pn,Qt),a}function O(ut){return y=ut,c=Se(k,n),m?R(ut):a}function $(ut){var Qt=ut-d,pn=ut-y,Eo=n-Qt;return x?pt(Eo,o-pn):Eo}function W(ut){var Qt=ut-d,pn=ut-y;return d===i||Qt>=n||Qt<0||x&&pn>=o}function k(){var ut=gr();if(W(ut))return H(ut);c=Se(k,$(ut))}function H(ut){return c=i,A&&r?R(ut):(r=u=i,a)}function Ot(){c!==i&&ys(c),y=0,r=d=u=c=i}function mt(){return c===i?a:H(gr())}function Wt(){var ut=gr(),Qt=W(ut);if(r=arguments,u=this,d=ut,Qt){if(c===i)return O(d);if(x)return ys(c),c=Se(k,n),R(d)}return c===i&&(c=Se(k,n)),a}return Wt.cancel=Ot,Wt.flush=mt,Wt}var qh=K(function(t,n){return Vu(t,1,n)}),kh=K(function(t,n,e){return Vu(t,kt(n)||0,e)});function zh(t){return fn(t,Bn)}function _r(t,n){if(typeof t!="function"||n!=null&&typeof n!="function")throw new Bt(S);var e=function(){var r=arguments,u=n?n.apply(this,r):r[0],o=e.cache;if(o.has(u))return o.get(u);var a=t.apply(this,r);return e.cache=o.set(u,a)||o,a};return e.cache=new(_r.Cache||on),e}_r.Cache=on;function vr(t){if(typeof t!="function")throw new Bt(S);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 Hh(t){return uo(2,t)}var Gh=Oc(function(t,n){n=n.length==1&&U(n[0])?nt(n[0],Et(L())):nt(dt(n,1),Et(L()));var e=n.length;return K(function(r){for(var u=-1,o=pt(r.length,e);++u<o;)r[u]=n[u].call(this,r[u]);return It(t,this,r)})}),Ni=K(function(t,n){var e=yn(n,jn(Ni));return fn(t,zt,i,n,e)}),co=K(function(t,n){var e=yn(n,jn(co));return fn(t,gn,i,n,e)}),Jh=cn(function(t,n){return fn(t,Dt,i,i,i,n)});function Zh(t,n){if(typeof t!="function")throw new Bt(S);return n=n===i?n:B(n),K(t,n)}function Yh(t,n){if(typeof t!="function")throw new Bt(S);return n=n==null?0:at(B(n),0),K(function(e){var r=e[n],u=bn(e,0,n);return r&&wn(u,r),It(t,this,u)})}function Xh(t,n,e){var r=!0,u=!0;if(typeof t!="function")throw new Bt(S);return et(e)&&(r="leading"in e?!!e.leading:r,u="trailing"in e?!!e.trailing:u),fo(t,n,{leading:r,maxWait:n,trailing:u})}function Qh(t){return io(t,1)}function Vh(t,n){return Ni(mi(n),t)}function jh(){if(!arguments.length)return[];var t=arguments[0];return U(t)?t:[t]}function td(t){return $t(t,F)}function nd(t,n){return n=typeof n=="function"?n:i,$t(t,F,n)}function ed(t){return $t(t,P|F)}function rd(t,n){return n=typeof n=="function"?n:i,$t(t,P|F,n)}function id(t,n){return n==null||Qu(t,n,lt(n))}function Xt(t,n){return t===n||t!==t&&n!==n}var ud=fr(ai),sd=fr(function(t,n){return t>=n}),Nn=rs(function(){return arguments}())?rs:function(t){return rt(t)&&Y.call(t,"callee")&&!ku.call(t,"callee")},U=g.isArray,od=bu?Et(bu):gc;function At(t){return t!=null&&wr(t.length)&&!hn(t)}function it(t){return rt(t)&&At(t)}function ad(t){return t===!0||t===!1||rt(t)&&wt(t)==_n}var Cn=Sf||Ji,fd=Cu?Et(Cu):_c;function cd(t){return rt(t)&&t.nodeType===1&&!Ae(t)}function ld(t){if(t==null)return!0;if(At(t)&&(U(t)||typeof t=="string"||typeof t.splice=="function"||Cn(t)||te(t)||Nn(t)))return!t.length;var n=gt(t);if(n==Gt||n==Jt)return!t.size;if(xe(t))return!li(t).length;for(var e in t)if(Y.call(t,e))return!1;return!0}function hd(t,n){return we(t,n)}function dd(t,n,e){e=typeof e=="function"?e:i;var r=e?e(t,n):i;return r===i?we(t,n,i,e):!!r}function Ui(t){if(!rt(t))return!1;var n=wt(t);return n==Te||n==Fo||typeof t.message=="string"&&typeof t.name=="string"&&!Ae(t)}function pd(t){return typeof t=="number"&&Hu(t)}function hn(t){if(!et(t))return!1;var n=wt(t);return n==Le||n==Vi||n==Rn||n==Uo}function lo(t){return typeof t=="number"&&t==B(t)}function wr(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=jt}function et(t){var n=typeof t;return t!=null&&(n=="object"||n=="function")}function rt(t){return t!=null&&typeof t=="object"}var ho=Pu?Et(Pu):wc;function gd(t,n){return t===n||ci(t,n,Ri(n))}function _d(t,n,e){return e=typeof e=="function"?e:i,ci(t,n,Ri(n),e)}function vd(t){return po(t)&&t!=+t}function wd(t){if(nl(t))throw new N(v);return is(t)}function yd(t){return t===null}function md(t){return t==null}function po(t){return typeof t=="number"||rt(t)&&wt(t)==ie}function Ae(t){if(!rt(t)||wt(t)!=un)return!1;var n=He(t);if(n===null)return!0;var e=Y.call(n,"constructor")&&n.constructor;return typeof e=="function"&&e instanceof e&&Ke.call(e)==_f}var Bi=Ru?Et(Ru):yc;function xd(t){return lo(t)&&t>=-jt&&t<=jt}var go=Iu?Et(Iu):mc;function yr(t){return typeof t=="string"||!U(t)&&rt(t)&&wt(t)==se}function Lt(t){return typeof t=="symbol"||rt(t)&&wt(t)==Oe}var te=Eu?Et(Eu):xc;function Sd(t){return t===i}function Ad(t){return rt(t)&&gt(t)==oe}function bd(t){return rt(t)&&wt(t)==Mo}var Cd=fr(hi),Pd=fr(function(t,n){return t<=n});function _o(t){if(!t)return[];if(At(t))return yr(t)?Zt(t):St(t);if(ce&&t[ce])return rf(t[ce]());var n=gt(t),e=n==Gt?jr:n==Jt?Be:ne;return e(t)}function dn(t){if(!t)return t===0?t:0;if(t=kt(t),t===rn||t===-rn){var n=t<0?-1:1;return n*Cr}return t===t?t:0}function B(t){var n=dn(t),e=n%1;return n===n?e?n-e:n:0}function vo(t){return t?On(B(t),0,Ft):0}function kt(t){if(typeof t=="number")return t;if(Lt(t))return $n;if(et(t)){var n=typeof t.valueOf=="function"?t.valueOf():t;t=et(n)?n+"":n}if(typeof t!="string")return t===0?t:+t;t=Fu(t);var e=sa.test(t);return e||aa.test(t)?$a(t.slice(2),e?2:8):ua.test(t)?$n:+t}function wo(t){return nn(t,bt(t))}function Rd(t){return t?On(B(t),-jt,jt):t===0?t:0}function Z(t){return t==null?"":Tt(t)}var Id=Qn(function(t,n){if(xe(n)||At(n)){nn(n,lt(n),t);return}for(var e in n)Y.call(n,e)&&ge(t,e,n[e])}),yo=Qn(function(t,n){nn(n,bt(n),t)}),mr=Qn(function(t,n,e,r){nn(n,bt(n),t,r)}),Ed=Qn(function(t,n,e,r){nn(n,lt(n),t,r)}),Td=cn(ui);function Ld(t,n){var e=Xn(t);return n==null?e:Xu(e,n)}var Od=K(function(t,n){t=Q(t);var e=-1,r=n.length,u=r>2?n[2]:i;for(u&&yt(n[0],n[1],u)&&(r=1);++e<r;)for(var o=n[e],a=bt(o),c=-1,d=a.length;++c<d;){var y=a[c],m=t[y];(m===i||Xt(m,Jn[y])&&!Y.call(t,y))&&(t[y]=o[y])}return t}),Wd=K(function(t){return t.push(i,Fs),It(mo,i,t)});function Dd(t,n){return Lu(t,L(n,3),tn)}function Fd(t,n){return Lu(t,L(n,3),oi)}function Nd(t,n){return t==null?t:si(t,L(n,3),bt)}function Ud(t,n){return t==null?t:ns(t,L(n,3),bt)}function Bd(t,n){return t&&tn(t,L(n,3))}function Md(t,n){return t&&oi(t,L(n,3))}function $d(t){return t==null?[]:nr(t,lt(t))}function Kd(t){return t==null?[]:nr(t,bt(t))}function Mi(t,n,e){var r=t==null?i:Wn(t,n);return r===i?e:r}function qd(t,n){return t!=null&&Bs(t,n,lc)}function $i(t,n){return t!=null&&Bs(t,n,hc)}var kd=Ts(function(t,n,e){n!=null&&typeof n.toString!="function"&&(n=qe.call(n)),t[n]=e},qi(Ct)),zd=Ts(function(t,n,e){n!=null&&typeof n.toString!="function"&&(n=qe.call(n)),Y.call(t,n)?t[n].push(e):t[n]=[e]},L),Hd=K(ve);function lt(t){return At(t)?Zu(t):li(t)}function bt(t){return At(t)?Zu(t,!0):Sc(t)}function Gd(t,n){var e={};return n=L(n,3),tn(t,function(r,u,o){an(e,n(r,u,o),r)}),e}function Jd(t,n){var e={};return n=L(n,3),tn(t,function(r,u,o){an(e,u,n(r,u,o))}),e}var Zd=Qn(function(t,n,e){er(t,n,e)}),mo=Qn(function(t,n,e,r){er(t,n,e,r)}),Yd=cn(function(t,n){var e={};if(t==null)return e;var r=!1;n=nt(n,function(o){return o=An(o,t),r||(r=o.length>1),o}),nn(t,Ci(t),e),r&&(e=$t(e,P|T|F,kc));for(var u=n.length;u--;)vi(e,n[u]);return e});function Xd(t,n){return xo(t,vr(L(n)))}var Qd=cn(function(t,n){return t==null?{}:bc(t,n)});function xo(t,n){if(t==null)return{};var e=nt(Ci(t),function(r){return[r]});return n=L(n),ls(t,e,function(r,u){return n(r,u[0])})}function Vd(t,n,e){n=An(n,t);var r=-1,u=n.length;for(u||(u=1,t=i);++r<u;){var o=t==null?i:t[en(n[r])];o===i&&(r=u,o=e),t=hn(o)?o.call(t):o}return t}function jd(t,n,e){return t==null?t:ye(t,n,e)}function tp(t,n,e,r){return r=typeof r=="function"?r:i,t==null?t:ye(t,n,e,r)}var So=Ws(lt),Ao=Ws(bt);function np(t,n,e){var r=U(t),u=r||Cn(t)||te(t);if(n=L(n,4),e==null){var o=t&&t.constructor;u?e=r?new o:[]:et(t)?e=hn(o)?Xn(He(t)):{}:e={}}return(u?Ut:tn)(t,function(a,c,d){return n(e,a,c,d)}),e}function ep(t,n){return t==null?!0:vi(t,n)}function rp(t,n,e){return t==null?t:_s(t,n,mi(e))}function ip(t,n,e,r){return r=typeof r=="function"?r:i,t==null?t:_s(t,n,mi(e),r)}function ne(t){return t==null?[]:Vr(t,lt(t))}function up(t){return t==null?[]:Vr(t,bt(t))}function sp(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),On(kt(t),n,e)}function op(t,n,e){return n=dn(n),e===i?(e=n,n=0):e=dn(e),t=kt(t),dc(t,n,e)}function ap(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=dn(t),n===i?(n=t,t=0):n=dn(n)),t>n){var r=t;t=n,n=r}if(e||t%1||n%1){var u=Gu();return pt(t+u*(n-t+Ma("1e-"+((u+"").length-1))),n)}return pi(t,n)}var fp=Vn(function(t,n,e){return n=n.toLowerCase(),t+(e?bo(n):n)});function bo(t){return Ki(Z(t).toLowerCase())}function Co(t){return t=Z(t),t&&t.replace(ca,Va).replace(Ea,"")}function cp(t,n,e){t=Z(t),n=Tt(n);var r=t.length;e=e===i?r:On(B(e),0,r);var u=e;return e-=n.length,e>=0&&t.slice(e,u)==n}function lp(t){return t=Z(t),t&&zo.test(t)?t.replace(nu,ja):t}function hp(t){return t=Z(t),t&&Xo.test(t)?t.replace(Nr,"\\$&"):t}var dp=Vn(function(t,n,e){return t+(e?"-":"")+n.toLowerCase()}),pp=Vn(function(t,n,e){return t+(e?" ":"")+n.toLowerCase()}),gp=Rs("toLowerCase");function _p(t,n,e){t=Z(t),n=B(n);var r=n?Hn(t):0;if(!n||r>=n)return t;var u=(n-r)/2;return ar(Ye(u),e)+t+ar(Ze(u),e)}function vp(t,n,e){t=Z(t),n=B(n);var r=n?Hn(t):0;return n&&r<n?t+ar(n-r,e):t}function wp(t,n,e){t=Z(t),n=B(n);var r=n?Hn(t):0;return n&&r<n?ar(n-r,e)+t:t}function yp(t,n,e){return e||n==null?n=0:n&&(n=+n),Pf(Z(t).replace(Ur,""),n||0)}function mp(t,n,e){return(e?yt(t,n,e):n===i)?n=1:n=B(n),gi(Z(t),n)}function xp(){var t=arguments,n=Z(t[0]);return t.length<3?n:n.replace(t[1],t[2])}var Sp=Vn(function(t,n,e){return t+(e?"_":"")+n.toLowerCase()});function Ap(t,n,e){return e&&typeof e!="number"&&yt(t,n,e)&&(n=e=i),e=e===i?Ft:e>>>0,e?(t=Z(t),t&&(typeof n=="string"||n!=null&&!Bi(n))&&(n=Tt(n),!n&&zn(t))?bn(Zt(t),0,e):t.split(n,e)):[]}var bp=Vn(function(t,n,e){return t+(e?" ":"")+Ki(n)});function Cp(t,n,e){return t=Z(t),e=e==null?0:On(B(e),0,t.length),n=Tt(n),t.slice(e,e+n.length)==n}function Pp(t,n,e){var r=s.templateSettings;e&&yt(t,n,e)&&(n=i),t=Z(t),n=mr({},n,r,Ds);var u=mr({},n.imports,r.imports,Ds),o=lt(u),a=Vr(u,o),c,d,y=0,m=n.interpolate||We,x="__p += '",A=ti((n.escape||We).source+"|"+m.source+"|"+(m===eu?ia:We).source+"|"+(n.evaluate||We).source+"|$","g"),R="//# sourceURL="+(Y.call(n,"sourceURL")?(n.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Da+"]")+`
11
+ `;t.replace(A,function(W,k,H,Ot,mt,Wt){return H||(H=Ot),x+=t.slice(y,Wt).replace(la,tf),k&&(c=!0,x+=`' +
12
+ __e(`+k+`) +
13
+ '`),mt&&(d=!0,x+=`';
14
+ `+mt+`;
15
+ __p += '`),H&&(x+=`' +
16
+ ((__t = (`+H+`)) == null ? '' : __t) +
17
+ '`),y=Wt+W.length,W}),x+=`';
18
+ `;var O=Y.call(n,"variable")&&n.variable;if(!O)x=`with (obj) {
19
+ `+x+`
20
20
  }
21
- `;else if(ta.test(P))throw new I(O);v=(c?v.replace(Bo,""):v).replace($o,"$1").replace(qo,"$1;"),v="function("+(P||"obj")+`) {
22
- `+(P?"":`obj || (obj = {});
23
- `)+"var __t, __p = ''"+(f?", __e = _.escape":"")+(c?`, __j = Array.prototype.join;
21
+ `;else if(ea.test(O))throw new N(E);x=(d?x.replace($o,""):x).replace(Ko,"$1").replace(qo,"$1;"),x="function("+(O||"obj")+`) {
22
+ `+(O?"":`obj || (obj = {});
23
+ `)+"var __t, __p = ''"+(c?", __e = _.escape":"")+(d?`, __j = Array.prototype.join;
24
24
  function print() { __p += __j.call(arguments, '') }
25
25
  `:`;
26
- `)+v+`return __p
27
- }`;var M=mo(function(){return $(o,C+"return "+v).apply(i,a)});if(M.source=v,Ei(M))throw M;return M}function Rp(n){return K(n).toLowerCase()}function Pp(n){return K(n).toUpperCase()}function Tp(n,t,e){if(n=K(n),n&&(e||t===i))return Pu(n);if(!n||!(t=En(t)))return n;var r=Jn(n),u=Jn(t),o=Tu(r,u),a=Eu(r,u)+1;return yt(r,o,a).join("")}function Ep(n,t,e){if(n=K(n),n&&(e||t===i))return n.slice(0,Lu(n)+1);if(!n||!(t=En(t)))return n;var r=Jn(n),u=Eu(r,Jn(t))+1;return yt(r,0,u).join("")}function Ip(n,t,e){if(n=K(n),n&&(e||t===i))return n.replace(Er,"");if(!n||!(t=En(t)))return n;var r=Jn(n),u=Tu(r,Jn(t));return yt(r,u).join("")}function Lp(n,t){var e=Wn,r=rn;if(Y(t)){var u="separator"in t?t.separator:u;e="length"in t?W(t.length):e,r="omission"in t?En(t.omission):r}n=K(n);var o=n.length;if(Bt(n)){var a=Jn(n);o=a.length}if(e>=o)return n;var f=e-$t(r);if(f<1)return r;var c=a?yt(a,0,f).join(""):n.slice(0,f);if(u===i)return c+r;if(a&&(f+=c.length-f),Ii(u)){if(n.slice(f).search(u)){var d,_=c;for(u.global||(u=kr(u.source,K(Yi.exec(u))+"g")),u.lastIndex=0;d=u.exec(_);)var v=d.index;c=c.slice(0,v===i?f:v)}}else if(n.indexOf(En(u),f)!=f){var x=c.lastIndexOf(u);x>-1&&(c=c.slice(0,x))}return c+r}function Op(n){return n=K(n),n&&Ko.test(n)?n.replace(ki,of):n}var Wp=Jt(function(n,t,e){return n+(e?" ":"")+t.toUpperCase()}),Wi=ms("toUpperCase");function wo(n,t,e){return n=K(n),t=e?i:t,t===i?tf(n)?lf(n):ka(n):n.match(t)||[]}var mo=U(function(n,t){try{return Pn(n,i,t)}catch(e){return Ei(e)?e:new I(e)}}),Mp=st(function(n,t){return Un(t,function(e){e=nt(e),it(n,e,Pi(n[e],n))}),n});function Fp(n){var t=n==null?0:n.length,e=b();return n=t?Z(n,function(r){if(typeof r[1]!="function")throw new Dn(A);return[e(r[0]),r[1]]}):[],U(function(r){for(var u=-1;++u<t;){var o=n[u];if(Pn(o[0],this,r))return Pn(o[1],this,r)}})}function Up(n){return ol(Bn(n,en))}function Mi(n){return function(){return n}}function Dp(n,t){return n==null||n!==n?t:n}var Np=xs(),Bp=xs(!0);function Cn(n){return n}function Fi(n){return Qu(typeof n=="function"?n:Bn(n,en))}function $p(n){return ju(Bn(n,en))}function qp(n,t){return ns(n,Bn(t,en))}var Kp=U(function(n,t){return function(e){return he(e,n,t)}}),Gp=U(function(n,t){return function(e){return he(n,e,t)}});function Ui(n,t,e){var r=on(t),u=Xe(t,r);e==null&&!(Y(t)&&(u.length||!r.length))&&(e=t,t=n,n=this,u=Xe(t,on(t)));var o=!(Y(e)&&"chain"in e)||!!e.chain,a=at(n);return Un(u,function(f){var c=t[f];n[f]=c,a&&(n.prototype[f]=function(){var d=this.__chain__;if(o||d){var _=n(this.__wrapped__),v=_.__actions__=yn(this.__actions__);return v.push({func:c,args:arguments,thisArg:n}),_.__chain__=d,_}return c.apply(n,pt([this.value()],arguments))})}),n}function zp(){return an._===this&&(an._=_f),this}function Di(){}function Hp(n){return n=W(n),U(function(t){return ts(t,n)})}var kp=pi(Z),Jp=pi(Su),Zp=pi(Br);function yo(n){return xi(n)?$r(nt(n)):Al(n)}function Yp(n){return function(t){return n==null?i:It(n,t)}}var Xp=Cs(),Qp=Cs(!0);function Ni(){return[]}function Bi(){return!1}function Vp(){return{}}function jp(){return""}function nd(){return!0}function td(n,t){if(n=W(n),n<1||n>ht)return[];var e=Qn,r=ln(n,Qn);t=b(t),n-=Qn;for(var u=Gr(r,t);++e<n;)t(e);return u}function ed(n){return L(n)?Z(n,nt):In(n)?[n]:yn(Bs(K(n)))}function rd(n){var t=++pf;return K(n)+t}var id=er(function(n,t){return n+t},0),ud=di("ceil"),sd=er(function(n,t){return n/t},1),od=di("floor");function ad(n){return n&&n.length?Ye(n,Cn,ni):i}function fd(n,t){return n&&n.length?Ye(n,b(t,2),ni):i}function ld(n){return bu(n,Cn)}function cd(n,t){return bu(n,b(t,2))}function hd(n){return n&&n.length?Ye(n,Cn,ii):i}function gd(n,t){return n&&n.length?Ye(n,b(t,2),ii):i}var pd=er(function(n,t){return n*t},1),dd=di("round"),_d=er(function(n,t){return n-t},0);function vd(n){return n&&n.length?Kr(n,Cn):0}function wd(n,t){return n&&n.length?Kr(n,b(t,2)):0}return s.after=$h,s.ary=Xs,s.assign=Pg,s.assignIn=lo,s.assignInWith=dr,s.assignWith=Tg,s.at=Eg,s.before=Qs,s.bind=Pi,s.bindAll=Mp,s.bindKey=Vs,s.castArray=Vh,s.chain=Js,s.chunk=oc,s.compact=ac,s.concat=fc,s.cond=Fp,s.conforms=Up,s.constant=Mi,s.countBy=vh,s.create=Ig,s.curry=js,s.curryRight=no,s.debounce=to,s.defaults=Lg,s.defaultsDeep=Og,s.defer=qh,s.delay=Kh,s.difference=lc,s.differenceBy=cc,s.differenceWith=hc,s.drop=gc,s.dropRight=pc,s.dropRightWhile=dc,s.dropWhile=_c,s.fill=vc,s.filter=mh,s.flatMap=Sh,s.flatMapDeep=Ch,s.flatMapDepth=Ah,s.flatten=Gs,s.flattenDeep=wc,s.flattenDepth=mc,s.flip=Gh,s.flow=Np,s.flowRight=Bp,s.fromPairs=yc,s.functions=Bg,s.functionsIn=$g,s.groupBy=bh,s.initial=Sc,s.intersection=Cc,s.intersectionBy=Ac,s.intersectionWith=bc,s.invert=Kg,s.invertBy=Gg,s.invokeMap=Ph,s.iteratee=Fi,s.keyBy=Th,s.keys=on,s.keysIn=Sn,s.map=fr,s.mapKeys=Hg,s.mapValues=kg,s.matches=$p,s.matchesProperty=qp,s.memoize=cr,s.merge=Jg,s.mergeWith=co,s.method=Kp,s.methodOf=Gp,s.mixin=Ui,s.negate=hr,s.nthArg=Hp,s.omit=Zg,s.omitBy=Yg,s.once=zh,s.orderBy=Eh,s.over=kp,s.overArgs=Hh,s.overEvery=Jp,s.overSome=Zp,s.partial=Ti,s.partialRight=eo,s.partition=Ih,s.pick=Xg,s.pickBy=ho,s.property=yo,s.propertyOf=Yp,s.pull=Ec,s.pullAll=Hs,s.pullAllBy=Ic,s.pullAllWith=Lc,s.pullAt=Oc,s.range=Xp,s.rangeRight=Qp,s.rearg=kh,s.reject=Wh,s.remove=Wc,s.rest=Jh,s.reverse=bi,s.sampleSize=Fh,s.set=Vg,s.setWith=jg,s.shuffle=Uh,s.slice=Mc,s.sortBy=Bh,s.sortedUniq=qc,s.sortedUniqBy=Kc,s.split=Sp,s.spread=Zh,s.tail=Gc,s.take=zc,s.takeRight=Hc,s.takeRightWhile=kc,s.takeWhile=Jc,s.tap=ah,s.throttle=Yh,s.thru=ar,s.toArray=oo,s.toPairs=go,s.toPairsIn=po,s.toPath=ed,s.toPlainObject=fo,s.transform=np,s.unary=Xh,s.union=Zc,s.unionBy=Yc,s.unionWith=Xc,s.uniq=Qc,s.uniqBy=Vc,s.uniqWith=jc,s.unset=tp,s.unzip=Ri,s.unzipWith=ks,s.update=ep,s.updateWith=rp,s.values=Xt,s.valuesIn=ip,s.without=nh,s.words=wo,s.wrap=Qh,s.xor=th,s.xorBy=eh,s.xorWith=rh,s.zip=ih,s.zipObject=uh,s.zipObjectDeep=sh,s.zipWith=oh,s.entries=go,s.entriesIn=po,s.extend=lo,s.extendWith=dr,Ui(s,s),s.add=id,s.attempt=mo,s.camelCase=ap,s.capitalize=_o,s.ceil=ud,s.clamp=up,s.clone=jh,s.cloneDeep=tg,s.cloneDeepWith=eg,s.cloneWith=ng,s.conformsTo=rg,s.deburr=vo,s.defaultTo=Dp,s.divide=sd,s.endsWith=fp,s.eq=Yn,s.escape=lp,s.escapeRegExp=cp,s.every=wh,s.find=yh,s.findIndex=qs,s.findKey=Wg,s.findLast=xh,s.findLastIndex=Ks,s.findLastKey=Mg,s.floor=od,s.forEach=Zs,s.forEachRight=Ys,s.forIn=Fg,s.forInRight=Ug,s.forOwn=Dg,s.forOwnRight=Ng,s.get=Li,s.gt=ig,s.gte=ug,s.has=qg,s.hasIn=Oi,s.head=zs,s.identity=Cn,s.includes=Rh,s.indexOf=xc,s.inRange=sp,s.invoke=zg,s.isArguments=Wt,s.isArray=L,s.isArrayBuffer=sg,s.isArrayLike=xn,s.isArrayLikeObject=V,s.isBoolean=og,s.isBuffer=xt,s.isDate=ag,s.isElement=fg,s.isEmpty=lg,s.isEqual=cg,s.isEqualWith=hg,s.isError=Ei,s.isFinite=gg,s.isFunction=at,s.isInteger=ro,s.isLength=gr,s.isMap=io,s.isMatch=pg,s.isMatchWith=dg,s.isNaN=_g,s.isNative=vg,s.isNil=mg,s.isNull=wg,s.isNumber=uo,s.isObject=Y,s.isObjectLike=Q,s.isPlainObject=we,s.isRegExp=Ii,s.isSafeInteger=yg,s.isSet=so,s.isString=pr,s.isSymbol=In,s.isTypedArray=Yt,s.isUndefined=xg,s.isWeakMap=Sg,s.isWeakSet=Cg,s.join=Rc,s.kebabCase=hp,s.last=qn,s.lastIndexOf=Pc,s.lowerCase=gp,s.lowerFirst=pp,s.lt=Ag,s.lte=bg,s.max=ad,s.maxBy=fd,s.mean=ld,s.meanBy=cd,s.min=hd,s.minBy=gd,s.stubArray=Ni,s.stubFalse=Bi,s.stubObject=Vp,s.stubString=jp,s.stubTrue=nd,s.multiply=pd,s.nth=Tc,s.noConflict=zp,s.noop=Di,s.now=lr,s.pad=dp,s.padEnd=_p,s.padStart=vp,s.parseInt=wp,s.random=op,s.reduce=Lh,s.reduceRight=Oh,s.repeat=mp,s.replace=yp,s.result=Qg,s.round=dd,s.runInContext=l,s.sample=Mh,s.size=Dh,s.snakeCase=xp,s.some=Nh,s.sortedIndex=Fc,s.sortedIndexBy=Uc,s.sortedIndexOf=Dc,s.sortedLastIndex=Nc,s.sortedLastIndexBy=Bc,s.sortedLastIndexOf=$c,s.startCase=Cp,s.startsWith=Ap,s.subtract=_d,s.sum=vd,s.sumBy=wd,s.template=bp,s.times=td,s.toFinite=ft,s.toInteger=W,s.toLength=ao,s.toLower=Rp,s.toNumber=Kn,s.toSafeInteger=Rg,s.toString=K,s.toUpper=Pp,s.trim=Tp,s.trimEnd=Ep,s.trimStart=Ip,s.truncate=Lp,s.unescape=Op,s.uniqueId=rd,s.upperCase=Wp,s.upperFirst=Wi,s.each=Zs,s.eachRight=Ys,s.first=zs,Ui(s,function(){var n={};return Vn(s,function(t,e){G.call(s.prototype,e)||(n[e]=t)}),n}(),{chain:!1}),s.VERSION=w,Un(["bind","bindKey","curry","curryRight","partial","partialRight"],function(n){s[n].placeholder=s}),Un(["drop","take"],function(n,t){N.prototype[n]=function(e){e=e===i?1:sn(W(e),0);var r=this.__filtered__&&!t?new N(this):this.clone();return r.__filtered__?r.__takeCount__=ln(e,r.__takeCount__):r.__views__.push({size:ln(e,Qn),type:n+(r.__dir__<0?"Right":"")}),r},N.prototype[n+"Right"]=function(e){return this.reverse()[n](e).reverse()}}),Un(["filter","map","takeWhile"],function(n,t){var e=t+1,r=e==gn||e==To;N.prototype[n]=function(u){var o=this.clone();return o.__iteratees__.push({iteratee:b(u,3),type:e}),o.__filtered__=o.__filtered__||r,o}}),Un(["head","last"],function(n,t){var e="take"+(t?"Right":"");N.prototype[n]=function(){return this[e](1).value()[0]}}),Un(["initial","tail"],function(n,t){var e="drop"+(t?"":"Right");N.prototype[n]=function(){return this.__filtered__?new N(this):this[e](1)}}),N.prototype.compact=function(){return this.filter(Cn)},N.prototype.find=function(n){return this.filter(n).head()},N.prototype.findLast=function(n){return this.reverse().find(n)},N.prototype.invokeMap=U(function(n,t){return typeof n=="function"?new N(this):this.map(function(e){return he(e,n,t)})}),N.prototype.reject=function(n){return this.filter(hr(b(n)))},N.prototype.slice=function(n,t){n=W(n);var e=this;return e.__filtered__&&(n>0||t<0)?new N(e):(n<0?e=e.takeRight(-n):n&&(e=e.drop(n)),t!==i&&(t=W(t),e=t<0?e.dropRight(-t):e.take(t-n)),e)},N.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},N.prototype.toArray=function(){return this.take(Qn)},Vn(N.prototype,function(n,t){var e=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),u=s[r?"take"+(t=="last"?"Right":""):t],o=r||/^find/.test(t);u&&(s.prototype[t]=function(){var a=this.__wrapped__,f=r?[1]:arguments,c=a instanceof N,d=f[0],_=c||L(a),v=function(D){var B=u.apply(s,pt([D],f));return r&&x?B[0]:B};_&&e&&typeof d=="function"&&d.length!=1&&(c=_=!1);var x=this.__chain__,C=!!this.__actions__.length,P=o&&!x,M=c&&!C;if(!o&&_){a=M?a:new N(this);var T=n.apply(a,f);return T.__actions__.push({func:ar,args:[v],thisArg:i}),new Nn(T,x)}return P&&M?n.apply(this,f):(T=this.thru(v),P?r?T.value()[0]:T.value():T)})}),Un(["pop","push","shift","sort","splice","unshift"],function(n){var t=Me[n],e=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",r=/^(?:pop|shift)$/.test(n);s.prototype[n]=function(){var u=arguments;if(r&&!this.__chain__){var o=this.value();return t.apply(L(o)?o:[],u)}return this[e](function(a){return t.apply(L(a)?a:[],u)})}}),Vn(N.prototype,function(n,t){var e=s[t];if(e){var r=e.name+"";G.call(zt,r)||(zt[r]=[]),zt[r].push({name:t,func:e})}}),zt[tr(i,mn).name]=[{name:"wrapper",func:i}],N.prototype.clone=Of,N.prototype.reverse=Wf,N.prototype.value=Mf,s.prototype.at=fh,s.prototype.chain=lh,s.prototype.commit=ch,s.prototype.next=hh,s.prototype.plant=ph,s.prototype.reverse=dh,s.prototype.toJSON=s.prototype.valueOf=s.prototype.value=_h,s.prototype.first=s.prototype.head,ue&&(s.prototype[ue]=gh),s},qt=cf();bt?((bt.exports=qt)._=qt,Fr._=qt):an._=qt}).call(me)})(vr,vr.exports);var bd=vr.exports;const Rd=Ad(bd);class Pd{constructor(g){E(this,"config");this.config=g}async complete(g,i){var w;await this.persist(g,{...i,success:!0}),(w=this.config.logger)==null||w.debug("Transaction completed:",g)}async fail(g,i){var w;await this.persist(g,{...i,success:!1}),(w=this.config.logger)==null||w.debug("Transaction failed:",{...g,...i})}async persist(g,i){await fetch(`${this.config.apiUrl}/transactions/${g.id}`,{body:JSON.stringify(i),method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","x-persona-apikey":this.config.apiKey}})}}class Td{constructor(g,i){E(this,"transaction");E(this,"manager");this.transaction=g,this.manager=i}getFunctionCall(){return this.transaction.functionCall}async invoke(g,i){var O;const w=this.transaction.functionCall;if(!w){await this.fail("No function call found");return}const y=w.name,R=w.args,A=g[y];if(!A){await this.fail(`Tool ${y} not found`);return}try{const q=Rd.get(i,"schema.config.parameters.properties",{}),An=(q&&Object.keys(q).length>0?Object.keys(q):((O=A.toString().replace(/\n/g," ").match(/^[^(]*\(([^)]*)\)/))==null?void 0:O[1].split(",").map(bn=>bn.trim()).filter(Boolean))||[]).map(bn=>R[bn]),en=await A.apply(null,An);await this.complete(en)}catch(q){await this.fail(`Error executing tool ${y}: ${q}`)}}async complete(g){await this.manager.complete(this.transaction,{success:!0,output:g,error:null})}async fail(g){await this.manager.fail(this.transaction,{success:!1,output:null,error:g})}}class Co extends ye{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 w of i.tools)w.schema&&w.implementation&&(this._tools[w.schema.name]=w.implementation,this._toolSchema[w.schema.name]=w)}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 w=new Pd(this.config),y=new Td(i,w);if(this.config.onTransaction)this.config.onTransaction(y);else{const R=i.functionCall?this.getToolInstance(i.functionCall.name):void 0;y.invoke(this._tools,R)}}getTools(){return this._tools}}const xe=vn.createContext(void 0);function Ed(m){return new Promise((g,i)=>{const w=new FileReader;w.readAsDataURL(m),w.onload=()=>{const R=w.result.split(";base64,")[1];g(R)},w.onerror=y=>{i(y)}})}function Id(m){const g={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 m){const w=g[i.getName()];if(w)return w(i)}return null}function Ld({dev:m=!1,baseUrl:g,protocols:i,logger:w,children:y,session:R="new",transformMessages:A,...O}){const[q,tn]=vn.useState(!1),[An,en]=vn.useState([]),[bn,hn]=vn.useState(R),[Rn,ct]=vn.useState(new Map),wn=vn.useRef(!1),mn=vn.useMemo(()=>{if(Array.isArray(i))return i;if(typeof i=="object"&&i!==null){const F=m?"localhost:8000":g||"persona.applica.guru/api",nn=m?"http":"https",z=m?"ws":"wss";let Wn=Object.keys(i).map(rn=>{switch(rn){case"rest":const Mn=i[rn];return Mn===!0?new qi({apiUrl:`${nn}://${F}`,apiKey:O.apiKey,agentId:O.agentId,logger:w}):typeof Mn=="object"&&Mn!==null?new qi(Mn):null;case"webrtc":const X=i[rn];return X===!0?new Gi({webrtcUrl:`${z}://${F}/webrtc`,apiKey:O.apiKey,agentId:O.agentId,logger:w}):typeof X=="object"&&X!==null?new Gi(X):null;case"websocket":const gn=i[rn];return gn===!0?new Ki({webSocketUrl:`${z}://${F}/websocket`,apiKey:O.apiKey,agentId:O.agentId,logger:w}):typeof gn=="object"&&gn!==null?new Ki(gn):null;default:throw new Error(`Unknown protocol: ${rn}`)}}).filter(rn=>rn!==null);return O.tools&&Wn.push(new Co({apiUrl:`${nn}://${F}`,apiKey:O.apiKey,agentId:O.agentId,tools:O.tools,logger:w})),Wn}throw new Error("Invalid protocols configuration")},[]);vn.useEffect(()=>{wn.current||(wn.current=!0,w==null||w.debug("Initializing protocols: ",mn.map(F=>F.getName())),mn.forEach(F=>{F.setSession(bn),F.clearListeners(),F.addStatusChangeListener(nn=>{w==null||w.debug(`${F.getName()} has notified new status: ${nn}`),Rn.set(F.getName(),nn),nn==="connected"&&(O.context&&F.sendPacket({type:"command",payload:{command:"set_initial_context",arguments:O.context}}),O.tools&&Array.isArray(O.tools)&&F.sendPacket({type:"command",payload:{command:"set_local_tools",arguments:{tools:O.tools.map(z=>z.schema)}}})),ct(new Map(Rn))}),F.addPacketListener(nn=>{if(nn.type==="message"){const z=nn.payload;(z==null?void 0:z.finishReason)==="stop"&&!(z!=null&&z.functionResponse)&&!(z!=null&&z.thought)&&tn(!1),z.thought&&(z.type="reasoning"),en(Wn=>{const rn=So([...Wn,{...z,protocol:F.getName()}]);return A?A(rn):rn})}else if(nn.type==="reasoning"){const Wn={type:"reasoning",text:nn.payload.thought,role:"assistant",finishReason:"stop"};en(rn=>{const Mn=So([...rn,{...Wn,protocol:F.getName()}]);return A?A(Mn):Mn})}else nn.type==="transaction"&&mn.filter(z=>z!==F).forEach(z=>z.onTransaction(nn.payload))}),F.autostart&&F.status==="disconnected"&&(w==null||w.debug(`Connecting to protocol: ${F.getName()}`),F.connect(bn),tn(!1))}))},[bn,mn,w,Rn,A]);const Se=async F=>{var Mn;if(((Mn=F.content[0])==null?void 0:Mn.type)!=="text")throw new Error("Only text messages are supported");if(!mn.some(X=>X.getName()!=="transaction"&&X.status==="connected")){en(X=>{const gn=[...X,{role:"assistant",type:"text",text:"No protocol is connected."}];return A?A(gn):gn});return}const z=F.content[0].text;en(X=>{const gn=[...X,{role:"user",type:"text",text:z}];return A?A(gn):gn}),tn(!0);const Wn=mn.sort((X,gn)=>gn.getPriority()-X.getPriority()).find(X=>X.status==="connected"),rn=[];if(F.attachments)for(const X of F.attachments)X.contentType.startsWith("image/")&&X.file&&rn.push({role:"user",image:{contentType:X.contentType,content:await Ed(X.file)},text:"",type:"text"});F.content&&rn.push({role:"user",text:F.content[0].text,type:"text"}),w==null||w.debug("Sending message:",rn),await(Wn==null?void 0:Wn.sendPacket({type:"request",payload:rn}))},Gn=vn.useCallback(()=>(tn(!1),en([]),hn("new"),Promise.resolve()),[]),St=vn.useCallback(()=>Promise.resolve(),[]),zn=vn.useCallback(()=>An,[An]),Ct=_r.useExternalStoreRuntime({isRunning:q,messages:An,convertMessage:Sd,onNew:Se,onCancel:Gn,onReload:St,adapters:{attachments:new _r.CompositeAttachmentAdapter([new _r.SimpleImageAttachmentAdapter])}});return $i.jsx(xe.Provider,{value:{protocols:mn,protocolsStatus:Rn,getMessages:zn},children:$i.jsx(_r.AssistantRuntimeProvider,{runtime:Ct,children:y})})}function Od({children:m,...g}){return $i.jsx(Ld,{...g,children:m})}function Wd(){const m=vn.useContext(xe);if(!m)throw new Error("usePersonaRuntime must be used within a PersonaRuntimeProvider");return m}function Ao(m){const g=vn.useContext(xe);if(!g)throw new Error("usePersonaRuntimeProtocol must be used within a PersonaRuntimeProvider");const i=g.protocols.find(y=>y.getName()===m);if(!i)return null;const w=g.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:w||i.status}}function Md(){const m=vn.useContext(xe);if(!m)throw new Error("usePersonaRuntimeEndpoint must be used within a PersonaRuntimeProvider");return Id(m.protocols)}function Fd(){return Ao("webrtc")}function Ud(){const m=vn.useContext(xe);if(!m)throw new Error("usePersonaRuntimeMessages must be used within a PersonaRuntimeProvider");return m.getMessages()}class Dd{constructor(){E(this,"prefix","[Persona]")}log(g,...i){console.log(`${this.prefix} - ${g}`,...i)}info(g,...i){console.info(`${this.prefix} - ${g}`,...i)}warn(g,...i){console.warn(`${this.prefix} - ${g}`,...i)}error(g,...i){console.error(`${this.prefix} - ${g}`,...i)}debug(g,...i){console.debug(`${this.prefix} - ${g}`,...i)}}function Mt(m,g,i){return{type:m,description:g,...i}}function bo(m){const g=Object.entries(m.parameters).filter(([i,w])=>w.required).map(([i])=>i);return{type:"local",name:m.name,description:m.description,config:{timeout:m.timeout||60,parameters:{type:"object",title:m.title||`${m.name} parameters`,required:g,properties:m.parameters},output:{type:"object",title:`${m.name} output`,properties:m.output}}}}function wr(m){return{schema:bo(m),implementation:m.implementation}}function Ro(m,g,i,w,y,R){const A={name:m,description:g,title:R==null?void 0:R.title,timeout:R==null?void 0:R.timeout,parameters:w,output:y,implementation:i};return wr(A)}const Nd=Ro("sum","Sum two numbers",function(g,i){return{result:g+i}},{a:Mt("number","First number to sum",{required:!0}),b:Mt("number","Second number to sum",{required:!0})},{result:Mt("number","Sum of two numbers")}),Bd=wr({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:Mt("number","First number to sum"),b:Mt("number","Seconth number to sum")},output:{result:Mt("number","Sum of two numbers")},implementation:function(g,i){return{result:g+i}}});function $d(m){const g=[],i={};return m.forEach(w=>{const{schema:y,implementation:R}=wr(w);g.push(y),i[w.name]=R}),{schemas:g,implementations:i}}function qd(m,g){const{required:i,properties:w}=g.config.parameters;for(const y of i)if(!(y in m))throw new Error(`Missing required parameter: ${y}`);for(const[y,R]of Object.entries(m)){const A=w[y];if(A){if(A.type==="number"&&typeof R!="number")throw new Error(`Parameter ${y} should be a number`);if(A.type==="string"&&typeof R!="string")throw new Error(`Parameter ${y} should be a string`);if(A.type==="boolean"&&typeof R!="boolean")throw new Error(`Parameter ${y} should be a boolean`)}}return!0}exports.PersonaConsoleLogger=Dd;exports.PersonaProtocolBase=ye;exports.PersonaRESTProtocol=qi;exports.PersonaRuntimeProvider=Od;exports.PersonaTransactionProtocol=Co;exports.PersonaWebRTCProtocol=Gi;exports.PersonaWebSocketProtocol=Ki;exports.createParameter=Mt;exports.createTool=wr;exports.createToolFromFunction=Ro;exports.createToolRegistry=$d;exports.generateToolSchema=bo;exports.navigateToToolExample=Bd;exports.sumTool=Nd;exports.usePersonaRuntime=Wd;exports.usePersonaRuntimeEndpoint=Md;exports.usePersonaRuntimeMessages=Ud;exports.usePersonaRuntimeProtocol=Ao;exports.usePersonaRuntimeWebRTCProtocol=Fd;exports.validateToolParameters=qd;
26
+ `)+x+`return __p
27
+ }`;var $=Ro(function(){return G(o,R+"return "+x).apply(i,a)});if($.source=x,Ui($))throw $;return $}function Rp(t){return Z(t).toLowerCase()}function Ip(t){return Z(t).toUpperCase()}function Ep(t,n,e){if(t=Z(t),t&&(e||n===i))return Fu(t);if(!t||!(n=Tt(n)))return t;var r=Zt(t),u=Zt(n),o=Nu(r,u),a=Uu(r,u)+1;return bn(r,o,a).join("")}function Tp(t,n,e){if(t=Z(t),t&&(e||n===i))return t.slice(0,Mu(t)+1);if(!t||!(n=Tt(n)))return t;var r=Zt(t),u=Uu(r,Zt(n))+1;return bn(r,0,u).join("")}function Lp(t,n,e){if(t=Z(t),t&&(e||n===i))return t.replace(Ur,"");if(!t||!(n=Tt(n)))return t;var r=Zt(t),u=Nu(r,Zt(n));return bn(r,u).join("")}function Op(t,n){var e=Re,r=Rt;if(et(n)){var u="separator"in n?n.separator:u;e="length"in n?B(n.length):e,r="omission"in n?Tt(n.omission):r}t=Z(t);var o=t.length;if(zn(t)){var a=Zt(t);o=a.length}if(e>=o)return t;var c=e-Hn(r);if(c<1)return r;var d=a?bn(a,0,c).join(""):t.slice(0,c);if(u===i)return d+r;if(a&&(c+=d.length-c),Bi(u)){if(t.slice(c).search(u)){var y,m=d;for(u.global||(u=ti(u.source,Z(ru.exec(u))+"g")),u.lastIndex=0;y=u.exec(m);)var x=y.index;d=d.slice(0,x===i?c:x)}}else if(t.indexOf(Tt(u),c)!=c){var A=d.lastIndexOf(u);A>-1&&(d=d.slice(0,A))}return d+r}function Wp(t){return t=Z(t),t&&ko.test(t)?t.replace(tu,af):t}var Dp=Vn(function(t,n,e){return t+(e?" ":"")+n.toUpperCase()}),Ki=Rs("toUpperCase");function Po(t,n,e){return t=Z(t),n=e?i:n,n===i?ef(t)?lf(t):Ja(t):t.match(n)||[]}var Ro=K(function(t,n){try{return It(t,i,n)}catch(e){return Ui(e)?e:new N(e)}}),Fp=cn(function(t,n){return Ut(n,function(e){e=en(e),an(t,e,Fi(t[e],t))}),t});function Np(t){var n=t==null?0:t.length,e=L();return t=n?nt(t,function(r){if(typeof r[1]!="function")throw new Bt(S);return[e(r[0]),r[1]]}):[],K(function(r){for(var u=-1;++u<n;){var o=t[u];if(It(o[0],this,r))return It(o[1],this,r)}})}function Up(t){return ac($t(t,P))}function qi(t){return function(){return t}}function Bp(t,n){return t==null||t!==t?n:t}var Mp=Es(),$p=Es(!0);function Ct(t){return t}function ki(t){return us(typeof t=="function"?t:$t(t,P))}function Kp(t){return os($t(t,P))}function qp(t,n){return as(t,$t(n,P))}var kp=K(function(t,n){return function(e){return ve(e,t,n)}}),zp=K(function(t,n){return function(e){return ve(t,e,n)}});function zi(t,n,e){var r=lt(n),u=nr(n,r);e==null&&!(et(n)&&(u.length||!r.length))&&(e=n,n=t,t=this,u=nr(n,lt(n)));var o=!(et(e)&&"chain"in e)||!!e.chain,a=hn(t);return Ut(u,function(c){var d=n[c];t[c]=d,a&&(t.prototype[c]=function(){var y=this.__chain__;if(o||y){var m=t(this.__wrapped__),x=m.__actions__=St(this.__actions__);return x.push({func:d,args:arguments,thisArg:t}),m.__chain__=y,m}return d.apply(t,wn([this.value()],arguments))})}),t}function Hp(){return ht._===this&&(ht._=vf),this}function Hi(){}function Gp(t){return t=B(t),K(function(n){return fs(n,t)})}var Jp=Si(nt),Zp=Si(Tu),Yp=Si(Jr);function Io(t){return Ei(t)?Zr(en(t)):Cc(t)}function Xp(t){return function(n){return t==null?i:Wn(t,n)}}var Qp=Ls(),Vp=Ls(!0);function Gi(){return[]}function Ji(){return!1}function jp(){return{}}function tg(){return""}function ng(){return!0}function eg(t,n){if(t=B(t),t<1||t>jt)return[];var e=Ft,r=pt(t,Ft);n=L(n),t-=Ft;for(var u=Qr(r,n);++e<t;)n(e);return u}function rg(t){return U(t)?nt(t,en):Lt(t)?[t]:St(Js(Z(t)))}function ig(t){var n=++gf;return Z(t)+n}var ug=or(function(t,n){return t+n},0),sg=Ai("ceil"),og=or(function(t,n){return t/n},1),ag=Ai("floor");function fg(t){return t&&t.length?tr(t,Ct,ai):i}function cg(t,n){return t&&t.length?tr(t,L(n,2),ai):i}function lg(t){return Wu(t,Ct)}function hg(t,n){return Wu(t,L(n,2))}function dg(t){return t&&t.length?tr(t,Ct,hi):i}function pg(t,n){return t&&t.length?tr(t,L(n,2),hi):i}var gg=or(function(t,n){return t*n},1),_g=Ai("round"),vg=or(function(t,n){return t-n},0);function wg(t){return t&&t.length?Xr(t,Ct):0}function yg(t,n){return t&&t.length?Xr(t,L(n,2)):0}return s.after=Kh,s.ary=io,s.assign=Id,s.assignIn=yo,s.assignInWith=mr,s.assignWith=Ed,s.at=Td,s.before=uo,s.bind=Fi,s.bindAll=Fp,s.bindKey=so,s.castArray=jh,s.chain=no,s.chunk=al,s.compact=fl,s.concat=cl,s.cond=Np,s.conforms=Up,s.constant=qi,s.countBy=wh,s.create=Ld,s.curry=oo,s.curryRight=ao,s.debounce=fo,s.defaults=Od,s.defaultsDeep=Wd,s.defer=qh,s.delay=kh,s.difference=ll,s.differenceBy=hl,s.differenceWith=dl,s.drop=pl,s.dropRight=gl,s.dropRightWhile=_l,s.dropWhile=vl,s.fill=wl,s.filter=mh,s.flatMap=Ah,s.flatMapDeep=bh,s.flatMapDepth=Ch,s.flatten=Qs,s.flattenDeep=yl,s.flattenDepth=ml,s.flip=zh,s.flow=Mp,s.flowRight=$p,s.fromPairs=xl,s.functions=$d,s.functionsIn=Kd,s.groupBy=Ph,s.initial=Al,s.intersection=bl,s.intersectionBy=Cl,s.intersectionWith=Pl,s.invert=kd,s.invertBy=zd,s.invokeMap=Ih,s.iteratee=ki,s.keyBy=Eh,s.keys=lt,s.keysIn=bt,s.map=pr,s.mapKeys=Gd,s.mapValues=Jd,s.matches=Kp,s.matchesProperty=qp,s.memoize=_r,s.merge=Zd,s.mergeWith=mo,s.method=kp,s.methodOf=zp,s.mixin=zi,s.negate=vr,s.nthArg=Gp,s.omit=Yd,s.omitBy=Xd,s.once=Hh,s.orderBy=Th,s.over=Jp,s.overArgs=Gh,s.overEvery=Zp,s.overSome=Yp,s.partial=Ni,s.partialRight=co,s.partition=Lh,s.pick=Qd,s.pickBy=xo,s.property=Io,s.propertyOf=Xp,s.pull=Tl,s.pullAll=js,s.pullAllBy=Ll,s.pullAllWith=Ol,s.pullAt=Wl,s.range=Qp,s.rangeRight=Vp,s.rearg=Jh,s.reject=Dh,s.remove=Dl,s.rest=Zh,s.reverse=Wi,s.sampleSize=Nh,s.set=jd,s.setWith=tp,s.shuffle=Uh,s.slice=Fl,s.sortBy=$h,s.sortedUniq=ql,s.sortedUniqBy=kl,s.split=Ap,s.spread=Yh,s.tail=zl,s.take=Hl,s.takeRight=Gl,s.takeRightWhile=Jl,s.takeWhile=Zl,s.tap=fh,s.throttle=Xh,s.thru=dr,s.toArray=_o,s.toPairs=So,s.toPairsIn=Ao,s.toPath=rg,s.toPlainObject=wo,s.transform=np,s.unary=Qh,s.union=Yl,s.unionBy=Xl,s.unionWith=Ql,s.uniq=Vl,s.uniqBy=jl,s.uniqWith=th,s.unset=ep,s.unzip=Di,s.unzipWith=to,s.update=rp,s.updateWith=ip,s.values=ne,s.valuesIn=up,s.without=nh,s.words=Po,s.wrap=Vh,s.xor=eh,s.xorBy=rh,s.xorWith=ih,s.zip=uh,s.zipObject=sh,s.zipObjectDeep=oh,s.zipWith=ah,s.entries=So,s.entriesIn=Ao,s.extend=yo,s.extendWith=mr,zi(s,s),s.add=ug,s.attempt=Ro,s.camelCase=fp,s.capitalize=bo,s.ceil=sg,s.clamp=sp,s.clone=td,s.cloneDeep=ed,s.cloneDeepWith=rd,s.cloneWith=nd,s.conformsTo=id,s.deburr=Co,s.defaultTo=Bp,s.divide=og,s.endsWith=cp,s.eq=Xt,s.escape=lp,s.escapeRegExp=hp,s.every=yh,s.find=xh,s.findIndex=Ys,s.findKey=Dd,s.findLast=Sh,s.findLastIndex=Xs,s.findLastKey=Fd,s.floor=ag,s.forEach=eo,s.forEachRight=ro,s.forIn=Nd,s.forInRight=Ud,s.forOwn=Bd,s.forOwnRight=Md,s.get=Mi,s.gt=ud,s.gte=sd,s.has=qd,s.hasIn=$i,s.head=Vs,s.identity=Ct,s.includes=Rh,s.indexOf=Sl,s.inRange=op,s.invoke=Hd,s.isArguments=Nn,s.isArray=U,s.isArrayBuffer=od,s.isArrayLike=At,s.isArrayLikeObject=it,s.isBoolean=ad,s.isBuffer=Cn,s.isDate=fd,s.isElement=cd,s.isEmpty=ld,s.isEqual=hd,s.isEqualWith=dd,s.isError=Ui,s.isFinite=pd,s.isFunction=hn,s.isInteger=lo,s.isLength=wr,s.isMap=ho,s.isMatch=gd,s.isMatchWith=_d,s.isNaN=vd,s.isNative=wd,s.isNil=md,s.isNull=yd,s.isNumber=po,s.isObject=et,s.isObjectLike=rt,s.isPlainObject=Ae,s.isRegExp=Bi,s.isSafeInteger=xd,s.isSet=go,s.isString=yr,s.isSymbol=Lt,s.isTypedArray=te,s.isUndefined=Sd,s.isWeakMap=Ad,s.isWeakSet=bd,s.join=Rl,s.kebabCase=dp,s.last=qt,s.lastIndexOf=Il,s.lowerCase=pp,s.lowerFirst=gp,s.lt=Cd,s.lte=Pd,s.max=fg,s.maxBy=cg,s.mean=lg,s.meanBy=hg,s.min=dg,s.minBy=pg,s.stubArray=Gi,s.stubFalse=Ji,s.stubObject=jp,s.stubString=tg,s.stubTrue=ng,s.multiply=gg,s.nth=El,s.noConflict=Hp,s.noop=Hi,s.now=gr,s.pad=_p,s.padEnd=vp,s.padStart=wp,s.parseInt=yp,s.random=ap,s.reduce=Oh,s.reduceRight=Wh,s.repeat=mp,s.replace=xp,s.result=Vd,s.round=_g,s.runInContext=l,s.sample=Fh,s.size=Bh,s.snakeCase=Sp,s.some=Mh,s.sortedIndex=Nl,s.sortedIndexBy=Ul,s.sortedIndexOf=Bl,s.sortedLastIndex=Ml,s.sortedLastIndexBy=$l,s.sortedLastIndexOf=Kl,s.startCase=bp,s.startsWith=Cp,s.subtract=vg,s.sum=wg,s.sumBy=yg,s.template=Pp,s.times=eg,s.toFinite=dn,s.toInteger=B,s.toLength=vo,s.toLower=Rp,s.toNumber=kt,s.toSafeInteger=Rd,s.toString=Z,s.toUpper=Ip,s.trim=Ep,s.trimEnd=Tp,s.trimStart=Lp,s.truncate=Op,s.unescape=Wp,s.uniqueId=ig,s.upperCase=Dp,s.upperFirst=Ki,s.each=eo,s.eachRight=ro,s.first=Vs,zi(s,function(){var t={};return tn(s,function(n,e){Y.call(s.prototype,e)||(t[e]=n)}),t}(),{chain:!1}),s.VERSION=p,Ut(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){s[t].placeholder=s}),Ut(["drop","take"],function(t,n){z.prototype[t]=function(e){e=e===i?1:at(B(e),0);var r=this.__filtered__&&!n?new z(this):this.clone();return r.__filtered__?r.__takeCount__=pt(e,r.__takeCount__):r.__views__.push({size:pt(e,Ft),type:t+(r.__dir__<0?"Right":"")}),r},z.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),Ut(["filter","map","takeWhile"],function(t,n){var e=n+1,r=e==re||e==br;z.prototype[t]=function(u){var o=this.clone();return o.__iteratees__.push({iteratee:L(u,3),type:e}),o.__filtered__=o.__filtered__||r,o}}),Ut(["head","last"],function(t,n){var e="take"+(n?"Right":"");z.prototype[t]=function(){return this[e](1).value()[0]}}),Ut(["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(Ct)},z.prototype.find=function(t){return this.filter(t).head()},z.prototype.findLast=function(t){return this.reverse().find(t)},z.prototype.invokeMap=K(function(t,n){return typeof t=="function"?new z(this):this.map(function(e){return ve(e,t,n)})}),z.prototype.reject=function(t){return this.filter(vr(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(Ft)},tn(z.prototype,function(t,n){var e=/^(?:filter|find|map|reject)|While$/.test(n),r=/^(?:head|last)$/.test(n),u=s[r?"take"+(n=="last"?"Right":""):n],o=r||/^find/.test(n);u&&(s.prototype[n]=function(){var a=this.__wrapped__,c=r?[1]:arguments,d=a instanceof z,y=c[0],m=d||U(a),x=function(k){var H=u.apply(s,wn([k],c));return r&&A?H[0]:H};m&&e&&typeof y=="function"&&y.length!=1&&(d=m=!1);var A=this.__chain__,R=!!this.__actions__.length,O=o&&!A,$=d&&!R;if(!o&&m){a=$?a:new z(this);var W=t.apply(a,c);return W.__actions__.push({func:dr,args:[x],thisArg:i}),new Mt(W,A)}return O&&$?t.apply(this,c):(W=this.thru(x),O?r?W.value()[0]:W.value():W)})}),Ut(["pop","push","shift","sort","splice","unshift"],function(t){var n=Me[t],e=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);s.prototype[t]=function(){var u=arguments;if(r&&!this.__chain__){var o=this.value();return n.apply(U(o)?o:[],u)}return this[e](function(a){return n.apply(U(a)?a:[],u)})}}),tn(z.prototype,function(t,n){var e=s[n];if(e){var r=e.name+"";Y.call(Yn,r)||(Yn[r]=[]),Yn[r].push({name:n,func:e})}}),Yn[sr(i,Pt).name]=[{name:"wrapper",func:i}],z.prototype.clone=Wf,z.prototype.reverse=Df,z.prototype.value=Ff,s.prototype.at=ch,s.prototype.chain=lh,s.prototype.commit=hh,s.prototype.next=dh,s.prototype.plant=gh,s.prototype.reverse=_h,s.prototype.toJSON=s.prototype.valueOf=s.prototype.value=vh,s.prototype.first=s.prototype.head,ce&&(s.prototype[ce]=ph),s},Gn=hf();In?((In.exports=Gn)._=Gn,kr._=Gn):ht._=Gn}).call(be)})(Sr,Sr.exports);var Eg=Sr.exports;const Tg=Ig(Eg);class Lg{constructor(f){D(this,"config");this.config=f}async complete(f,i){var p;await this.persist(f,{...i,success:!0}),(p=this.config.logger)==null||p.debug("Transaction completed:",f)}async fail(f,i){var p;await this.persist(f,{...i,success:!1}),(p=this.config.logger)==null||p.debug("Transaction failed:",{...f,...i})}async persist(f,i){await fetch(`${this.config.apiUrl}/transactions/${f.id}`,{body:JSON.stringify(i),method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","x-persona-apikey":this.config.apiKey}})}}class Og{constructor(f,i){D(this,"transaction");D(this,"manager");this.transaction=f,this.manager=i}getFunctionCall(){return this.transaction.functionCall}async invoke(f,i){var E;const p=this.transaction.functionCall;if(!p){await this.fail("No function call found");return}const _=p.name,v=p.args,S=f[_];if(!S){await this.fail(`Tool ${_} not found`);return}try{const C=Tg.get(i,"schema.config.parameters.properties",{}),I=(C&&Object.keys(C).length>0?Object.keys(C):((E=S.toString().replace(/\n/g," ").match(/^[^(]*\(([^)]*)\)/))==null?void 0:E[1].split(",").map(T=>T.trim()).filter(Boolean))||[]).map(T=>v[T]),P=await S.apply(null,I);await this.complete(P)}catch(C){await this.fail(`Error executing tool ${_}: ${C}`)}}async complete(f){await this.manager.complete(this.transaction,{success:!0,output:f,error:null})}async fail(f){await this.manager.fail(this.transaction,{success:!1,output:null,error:f})}}class To extends Ce{constructor(i){super();D(this,"status");D(this,"autostart");D(this,"session");D(this,"config");D(this,"notify",!0);D(this,"_tools");D(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 Lg(this.config),_=new Og(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 Wg(h,f){if(Array.isArray(h))return h;if(typeof h=="object"&&h!==null){const i=f.dev?"localhost:8000":f.baseUrl||"persona.applica.guru/api",p=f.dev?"http":"https",_=f.dev?"ws":"wss";let v=Object.keys(h).map(S=>{switch(S){case"rest":return Dg(h[S],{baseEndpointProtocol:p,baseEndpoint:i,apiKey:f.apiKey,agentId:f.agentId,userId:f.userId,logger:f.logger});case"webrtc":return Fg(h[S],{baseWebSocketProtocol:_,baseEndpoint:i,apiKey:f.apiKey,agentId:f.agentId,userId:f.userId,logger:f.logger});case"websocket":return Ng(h[S],{baseWebSocketProtocol:_,baseEndpoint:i,apiKey:f.apiKey,agentId:f.agentId,userId:f.userId,logger:f.logger});default:throw new Error(`Unknown protocol: ${S}`)}}).filter(S=>S!==null);return f.tools&&v.push(new To({apiUrl:`${p}://${i}`,apiKey:f.apiKey,agentId:f.agentId,tools:f.tools,logger:f.logger})),v}throw new Error("Invalid protocols configuration")}function Dg(h,f){return h===!0?new Yi({apiUrl:`${f.baseEndpointProtocol}://${f.baseEndpoint}`,apiKey:f.apiKey,agentId:f.agentId,userId:f.userId,logger:f.logger}):typeof h=="object"&&h!==null?new Yi(h):null}function Fg(h,f){return h===!0?new Qi({webrtcUrl:`${f.baseWebSocketProtocol}://${f.baseEndpoint}/webrtc`,apiKey:f.apiKey,agentId:f.agentId,userId:f.userId,logger:f.logger}):typeof h=="object"&&h!==null?new Qi(h):null}function Ng(h,f){return h===!0?new Xi({webSocketUrl:`${f.baseWebSocketProtocol}://${f.baseEndpoint}/websocket`,apiKey:f.apiKey,agentId:f.agentId,userId:f.userId,logger:f.logger}):typeof h=="object"&&h!==null?new Xi(h):null}function Ug(h,f,i,p,_){return v=>{v.type==="message"?Bg(v.payload,h,f,i,_):v.type==="reasoning"?Mg(v.payload,h,f,_):v.type==="transaction"&&$g(v.payload,h,p)}}function Bg(h,f,i,p,_){h.createdAt||(h.createdAt=new Date),(h==null?void 0:h.finishReason)==="stop"&&!(h!=null&&h.functionResponse)&&!(h!=null&&h.thought)&&p(!1),h.thought&&(h.type="reasoning"),h.protocol=f.getName(),i(v=>{const S=ee([...v,h]);return _?_(S):S})}function Mg(h,f,i,p){const _={type:"reasoning",text:h.thought,role:"assistant",finishReason:"stop",protocol:f.getName(),createdAt:new Date};i(v=>{const S=ee([...v,_]);return p?p(S):S})}function $g(h,f,i){i.filter(p=>p!==f).forEach(p=>p.onTransaction(h))}function Kg(h){return new Promise((f,i)=>{const p=new FileReader;p.readAsDataURL(h),p.onload=()=>{const v=p.result.split(";base64,")[1];f(v)},p.onerror=_=>{i(_)}})}function qg(h){const f={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 h){const p=f[i.getName()];if(p)return p(i)}return null}function kg(h,f,i,p,_){return async v=>{var P;if(((P=v.content[0])==null?void 0:P.type)!=="text")throw new Error("Only text messages are supported");if(!h.some(T=>T.getName()!=="transaction"&&T.status==="connected")){f(T=>{const F={role:"assistant",type:"text",text:"No protocol is connected.",createdAt:new Date,finishReason:"stop"},J=[...T,F];return p?p(J):J});return}const C={role:"user",type:"text",text:v.content[0].text,createdAt:new Date};f(T=>{const F=ee([...T,C]);return p?p(F):F}),i(!0);const M=h.sort((T,F)=>F.getPriority()-T.getPriority()).find(T=>T.status==="connected"),I=[];if(v.attachments)for(const T of v.attachments)T.contentType.startsWith("image/")&&T.file&&I.push({role:"user",image:{contentType:T.contentType,content:await Kg(T.file)},text:"",type:"text",createdAt:new Date});v.content&&I.push({role:"user",text:v.content[0].text,type:"text",createdAt:new Date}),_==null||_.debug("Sending message:",I),await(M==null?void 0:M.sendPacket({type:"request",payload:I}))}}function zg(h,f,i,p,_,v){return async S=>{var J;if(((J=S.content[0])==null?void 0:J.type)!=="text")throw new Error("Only text messages are supported");const E=h.sort((q,_t)=>_t.getPriority()-q.getPriority()).find(q=>q.status==="connected");if(!E){v==null||v.debug("No protocol available for edit");return}const C=S.parentId;if(!C){v==null||v.debug("No parent ID provided for edit");return}const M=f.findIndex(q=>q.id===C);if(M===-1){v==null||v.debug("Parent message not found:",C);return}const I=f.slice(0,M+1),P={role:"user",text:S.content[0].text,type:"text",createdAt:new Date},T=ee([...I,P]);i(_?_(T):T),p(!0);const F=[{role:"user",text:S.content[0].text,type:"text",createdAt:new Date}];v==null||v.debug("Sending edited message:",F),await E.sendPacket({type:"request",payload:F})}}function Hg(h,f,i,p,_,v){return async(S,E)=>{const C=h.sort((J,q)=>q.getPriority()-J.getPriority()).find(J=>J.status==="connected");if(!C){v==null||v.debug("No protocol available for reload");return}const M=E.parentId??S;if(!M){v==null||v.debug("No parent ID provided for reload");return}const I=f.findIndex(J=>J.id===M);if(I===-1){v==null||v.debug("Parent message not found:",M);return}const P=f[I];i(J=>{const q=J.slice(0,I+1);return _?_(q):q});let T;if(P.role==="assistant"||P.role==="function"){for(let J=I-1;J>=0;J--)if(f[J].role==="user"){T=f[J];break}}else P.role==="user"&&(T=P);if(!T){v==null||v.debug("No user message found to regenerate from");return}p(!0);const F=[];T.image&&F.push({role:"user",image:T.image,text:"",type:"text",createdAt:new Date}),F.push({role:"user",text:T.text,type:"text",createdAt:new Date}),v==null||v.debug("Regenerating message with config:",{actualParentId:M,sourceId:E.sourceId,custom:E.runConfig.custom}),await C.sendPacket({type:"request",payload:F})}}function Gg(h,f,i,p){return()=>(i(!1),f(_=>{const v=_[_.length-1];if((v==null?void 0:v.role)==="assistant"&&!v.finishReason){const S=[..._];return S[S.length-1]={...v,finishReason:"stop",status:{type:"incomplete"}},p?p(S):S}return _}),h.forEach(_=>{_.status==="connected"&&_.sendPacket({type:"command",payload:{command:"set_initial_context",arguments:{cancel:!0}}}).catch(()=>{})}),Promise.resolve())}const Pe=j.createContext(void 0);function Jg(){const h=j.useContext(Pe);if(!h)throw new Error("usePersonaRuntime must be used within a PersonaRuntimeProvider");return h}function Lo(h){const f=j.useContext(Pe);if(!f)throw new Error("usePersonaRuntimeProtocol must be used within a PersonaRuntimeProvider");const i=f.protocols.find(_=>_.getName()===h);if(!i)return null;const p=f.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 Zg(){const h=j.useContext(Pe);if(!h)throw new Error("usePersonaRuntimeEndpoint must be used within a PersonaRuntimeProvider");return qg(h.protocols)}function Yg(){return Lo("webrtc")}function Xg(){const h=j.useContext(Pe);if(!h)throw new Error("usePersonaRuntimeMessages must be used within a PersonaRuntimeProvider");return h.getMessages()}function Qg(){const h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";let f="";for(let i=0;i<16;i++)f+=h.charAt(Math.floor(Math.random()*h.length));return f}function Vg(h,f,i,p,_,v,S,E,C,M,I){return{threadId:h,threads:f.filter(P=>P.status==="regular").map(P=>({id:P.threadId,threadId:P.threadId,title:P.title||`Chat ${P.threadId}`,status:P.status})),archivedThreads:f.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=Qg();I==null||I.debug("Creating new thread:",P);const T={threadId:P,status:"regular",title:"New Chat"};p(F=>[T,...F]),i(P),v==null||v(P)},onSwitchToThread:P=>{I==null||I.debug("Switching to thread:",P),i(P),S==null||S(P)},onArchive:P=>{I==null||I.debug("Archiving thread:",P),p(T=>T.map(F=>F.threadId===P?{...F,status:"archived"}:F)),E==null||E(P)},onUnarchive:P=>{I==null||I.debug("Unarchiving thread:",P),p(T=>T.map(F=>F.threadId===P?{...F,status:"regular"}:F)),C==null||C(P)},onDelete:async P=>{if(I==null||I.debug("Deleting thread:",P),p(T=>T.filter(F=>F.threadId!==P)),h===P){const T=f.filter(F=>F.threadId!==P&&F.status==="regular");T.length>0&&i(T[0].threadId)}_.remove(P).then(()=>I==null?void 0:I.debug("Thread deleted from backend")).catch(T=>I==null?void 0:I.error("Failed to delete thread:",T)),M==null||M(P)}}}class Oo{constructor(f){D(this,"endpoint");D(this,"apiKey");D(this,"pageSize");D(this,"logger");this.endpoint=f.endpoint.replace(/\/$/,""),this.apiKey=f.apiKey,this.pageSize=f.pageSize??200,this.logger=f.logger}buildHeaders(){const f={"Content-Type":"application/json"};return this.apiKey&&(f["x-persona-apikey"]=this.apiKey),f}async sync(f){var p,_;if(!f)return[];const i=`${this.endpoint}/sessions/${encodeURIComponent(String(f))}/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 S=await v.json();return Array.isArray(S.items)?S.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??f,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(_=this.logger)==null||_.warn("PersonaSessionStorage: error fetching messages",v),[]}}async remove(f){var p,_;if(!f)return;const i=`${this.endpoint}/sessions/${encodeURIComponent(String(f))}`;try{const v=await fetch(i,{method:"DELETE",headers:this.buildHeaders()});if(!v.ok){const S=await v.text();throw(p=this.logger)==null||p.warn("PersonaSessionStorage: failed to delete session",v.status,S),new Error(`Failed to delete session: ${v.status}`)}return}catch(v){throw(_=this.logger)==null||_.warn("PersonaSessionStorage: error deleting session",v),v}}async clearAll(){return Promise.reject(new Error("PersonaAPIMessageStorage: clearAll not supported"))}async list(f,i){var v,S;const p=new URLSearchParams({page:"1",size:"100"});i&&p.set("userId",i),f&&p.set("agentId",f);const _=`${this.endpoint}/sessions?${p.toString()}`;try{const E=await fetch(_,{method:"GET",headers:this.buildHeaders()});if(!E.ok)return(v=this.logger)==null||v.warn("PersonaSessionStorage: failed to list sessions",E.status),[];const C=await E.json();return Array.isArray(C.items)?C.items.map(I=>({threadId:I.code||I.id,title:I.title||`Session ${I.code||I.id}`,status:I.status==="archived"?"archived":"regular"})):[]}catch(E){return(S=this.logger)==null||S.warn("PersonaSessionStorage: error listing sessions",E),[]}}}function jg({dev:h=!1,baseUrl:f,protocols:i,logger:p,children:_,session:v="new",transformMessages:S,threads:E=!1,sessionStorage:C,onThreadCreate:M,onThreadSwitch:I,onThreadRename:P,onThreadArchive:T,onThreadUnarchive:F,onThreadDelete:J,...q}){const[_t,Pt]=j.useState(!1),[Vt,st]=j.useState([]),[Pn,zt]=j.useState(new Map),gn=j.useRef(!1),xt=j.useRef(!1),Dt=j.useMemo(()=>C||new Oo({apiKey:q.apiKey,endpoint:f||"https://persona.applica.guru/api"}),[C,f,q.apiKey]),[Bn,Re]=j.useState([]),[Rt,Ie]=j.useState(""),Mn=j.useRef(typeof v=="string"?v:"new"),re=j.useRef(!1);j.useEffect(()=>{!E||re.current||(re.current=!0,Dt.list(q.agentId,q.userId).then(X=>{(X==null?void 0:X.length)>0&&(Re(X),Ie(X[0].threadId))}).catch(X=>p==null?void 0:p.error("Failed to load threads:",X)))},[E,Dt,q.agentId,q.userId,p]);const ft=j.useMemo(()=>Wg(i,{dev:h||!1,baseUrl:f,apiKey:q.apiKey,agentId:q.agentId,userId:q.userId,tools:q.tools,logger:p}),[i,h,f,q.apiKey,q.agentId,q.userId,q.tools,p]);j.useEffect(()=>{gn.current||(gn.current=!0,p==null||p.debug("Setting up protocols:",ft.map(X=>X.getName())),ft.forEach(X=>{X.setSession(Mn.current),X.clearListeners(),X.addStatusChangeListener(ct=>{p==null||p.debug(`${X.getName()} status: ${ct}`),zt(Ht=>{const Rn=new Map(Ht);return Rn.set(X.getName(),ct),Rn}),ct==="connected"&&!xt.current&&(q.context&&X.sendPacket({type:"command",payload:{command:"set_initial_context",arguments:q.context}}).catch(()=>{}),q.tools&&Array.isArray(q.tools)&&X.sendPacket({type:"command",payload:{command:"set_local_tools",arguments:{tools:q.tools.map(Ht=>Ht.schema)}}}).catch(()=>{}))}),X.addPacketListener(Ug(X,st,Pt,ft,S)),X.autostart&&X.status==="disconnected"&&(p==null||p.debug(`Auto-connecting protocol: ${X.getName()}`),X.connect(Mn.current).catch(()=>{}),Pt(!1))}))},[]),j.useEffect(()=>{if(!E||!Rt){st([]);return}if(xt.current||Rt===Mn.current)return;xt.current=!0,p==null||p.info("Switching to thread:",Rt),(async()=>{try{const ct=ft.filter(vt=>vt.status==="connected");ct.length>0&&await Promise.allSettled(ct.map(vt=>vt.disconnect())),Mn.current=Rt,await Promise.allSettled(ft.map(vt=>vt.setSession(Rt)));const Ht=await Dt.sync(Rt),Rn=ee(Ht);st(S?S(Rn):Rn),p==null||p.debug(`Loaded ${Ht.length} messages for thread ${Rt}`);const _n=ft.filter(vt=>vt.autostart);_n.length>0&&await Promise.allSettled(_n.map(vt=>vt.connect(Rt)))}catch(ct){p==null||p.error("Failed to switch thread:",ct),st([])}finally{xt.current=!1}})()},[Rt,E,ft,Dt,S,p]);const br=j.useCallback(kg(ft,st,Pt,S,p),[ft,S,p]),rn=j.useCallback(zg(ft,Vt,st,Pt,S,p),[ft,Vt,S,p]),jt=j.useCallback(Hg(ft,Vt,st,Pt,S,p),[ft,Vt,S,p]),Cr=j.useCallback(Gg(ft,st,Pt,S),[ft,S]),$n=j.useCallback(X=>{const ct=ee([...X]);st(S?S(ct):ct)},[S]),Ft=j.useCallback(()=>Vt,[Vt]),Ee=j.useMemo(()=>{if(E)return Vg(Rt,Bn,Ie,Re,Dt,M,I,T,F,J,p)},[E,Rt,Bn,Dt,M,I,T,F,J,p]),Pr=xr.useExternalStoreRuntime({isRunning:_t,messages:Vt,convertMessage:Pg,setMessages:$n,onNew:br,onEdit:rn,onCancel:Cr,onReload:jt,adapters:{attachments:new xr.CompositeAttachmentAdapter([new xr.SimpleImageAttachmentAdapter]),...Ee?{threadList:Ee}:{}}});return Zi.jsx(Pe.Provider,{value:{protocols:ft,protocolsStatus:Pn,getMessages:Ft},children:Zi.jsx(xr.AssistantRuntimeProvider,{runtime:Pr,children:_})})}function t_({children:h,...f}){return Zi.jsx(jg,{...f,children:h})}class n_{constructor(){D(this,"prefix","[Persona]")}log(f,...i){console.log(`${this.prefix} - ${f}`,...i)}info(f,...i){console.info(`${this.prefix} - ${f}`,...i)}warn(f,...i){console.warn(`${this.prefix} - ${f}`,...i)}error(f,...i){console.error(`${this.prefix} - ${f}`,...i)}debug(f,...i){console.debug(`${this.prefix} - ${f}`,...i)}}function Un(h,f,i){return{type:h,description:f,...i}}function Wo(h){const f=Object.entries(h.parameters).filter(([i,p])=>p.required).map(([i])=>i);return{type:"local",name:h.name,description:h.description,config:{timeout:h.timeout||60,parameters:{type:"object",title:h.title||`${h.name} parameters`,required:f,properties:h.parameters},output:{type:"object",title:`${h.name} output`,properties:h.output}}}}function Ar(h){return{schema:Wo(h),implementation:h.implementation}}function Do(h,f,i,p,_,v){const S={name:h,description:f,title:v==null?void 0:v.title,timeout:v==null?void 0:v.timeout,parameters:p,output:_,implementation:i};return Ar(S)}const e_=Do("sum","Sum two numbers",function(f,i){return{result:f+i}},{a:Un("number","First number to sum",{required:!0}),b:Un("number","Second number to sum",{required:!0})},{result:Un("number","Sum of two numbers")}),r_=Ar({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:Un("number","First number to sum"),b:Un("number","Seconth number to sum")},output:{result:Un("number","Sum of two numbers")},implementation:function(f,i){return{result:f+i}}});function i_(h){const f=[],i={};return h.forEach(p=>{const{schema:_,implementation:v}=Ar(p);f.push(_),i[p.name]=v}),{schemas:f,implementations:i}}function u_(h,f){const{required:i,properties:p}=f.config.parameters;for(const _ of i)if(!(_ in h))throw new Error(`Missing required parameter: ${_}`);for(const[_,v]of Object.entries(h)){const S=p[_];if(S){if(S.type==="number"&&typeof v!="number")throw new Error(`Parameter ${_} should be a number`);if(S.type==="string"&&typeof v!="string")throw new Error(`Parameter ${_} should be a string`);if(S.type==="boolean"&&typeof v!="boolean")throw new Error(`Parameter ${_} should be a boolean`)}}return!0}exports.PersonaConsoleLogger=n_;exports.PersonaProtocolBase=Ce;exports.PersonaRESTProtocol=Yi;exports.PersonaRuntimeProvider=t_;exports.PersonaSessionStorage=Oo;exports.PersonaTransactionProtocol=To;exports.PersonaWebRTCProtocol=Qi;exports.PersonaWebSocketProtocol=Xi;exports.createParameter=Un;exports.createTool=Ar;exports.createToolFromFunction=Do;exports.createToolRegistry=i_;exports.generateToolSchema=Wo;exports.navigateToToolExample=r_;exports.sumTool=e_;exports.usePersonaRuntime=Jg;exports.usePersonaRuntimeEndpoint=Zg;exports.usePersonaRuntimeMessages=Xg;exports.usePersonaRuntimeProtocol=Lo;exports.usePersonaRuntimeWebRTCProtocol=Yg;exports.validateToolParameters=u_;
28
28
  //# sourceMappingURL=bundle.cjs.js.map