@applica-software-guru/persona-chat-sdk 0.1.102

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 (132) hide show
  1. package/.eslintrc.cjs +11 -0
  2. package/.github/copilot-instructions.md +3 -0
  3. package/.nvmrc +1 -0
  4. package/.prettierignore +5 -0
  5. package/.prettierrc +8 -0
  6. package/CLAUDE.md +3 -0
  7. package/GEMINI.md +3 -0
  8. package/README.md +33 -0
  9. package/bitbucket-pipelines.yml +19 -0
  10. package/components.json +24 -0
  11. package/dist/bundle.cjs.js +28 -0
  12. package/dist/bundle.cjs.js.map +1 -0
  13. package/dist/bundle.es.js +5173 -0
  14. package/dist/bundle.es.js.map +1 -0
  15. package/dist/bundle.iife.js +28 -0
  16. package/dist/bundle.iife.js.map +1 -0
  17. package/dist/bundle.umd.js +28 -0
  18. package/dist/bundle.umd.js.map +1 -0
  19. package/dist/index.d.ts +8 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/logging.d.ts +18 -0
  22. package/dist/logging.d.ts.map +1 -0
  23. package/dist/messages.d.ts +9 -0
  24. package/dist/messages.d.ts.map +1 -0
  25. package/dist/projects.d.ts +17 -0
  26. package/dist/projects.d.ts.map +1 -0
  27. package/dist/protocol/base.d.ts +25 -0
  28. package/dist/protocol/base.d.ts.map +1 -0
  29. package/dist/protocol/index.d.ts +6 -0
  30. package/dist/protocol/index.d.ts.map +1 -0
  31. package/dist/protocol/rest.d.ts +25 -0
  32. package/dist/protocol/rest.d.ts.map +1 -0
  33. package/dist/protocol/transaction.d.ts +56 -0
  34. package/dist/protocol/transaction.d.ts.map +1 -0
  35. package/dist/protocol/webrtc.d.ts +60 -0
  36. package/dist/protocol/webrtc.d.ts.map +1 -0
  37. package/dist/protocol/websocket.d.ts +22 -0
  38. package/dist/protocol/websocket.d.ts.map +1 -0
  39. package/dist/runtime/context.d.ts +34 -0
  40. package/dist/runtime/context.d.ts.map +1 -0
  41. package/dist/runtime/file-attachment-adapter.d.ts +15 -0
  42. package/dist/runtime/file-attachment-adapter.d.ts.map +1 -0
  43. package/dist/runtime/handlers.d.ts +21 -0
  44. package/dist/runtime/handlers.d.ts.map +1 -0
  45. package/dist/runtime/listeners.d.ts +6 -0
  46. package/dist/runtime/listeners.d.ts.map +1 -0
  47. package/dist/runtime/protocols.d.ts +17 -0
  48. package/dist/runtime/protocols.d.ts.map +1 -0
  49. package/dist/runtime/threads.d.ts +34 -0
  50. package/dist/runtime/threads.d.ts.map +1 -0
  51. package/dist/runtime/utils.d.ts +10 -0
  52. package/dist/runtime/utils.d.ts.map +1 -0
  53. package/dist/runtime.d.ts +6 -0
  54. package/dist/runtime.d.ts.map +1 -0
  55. package/dist/storage/base.d.ts +9 -0
  56. package/dist/storage/base.d.ts.map +1 -0
  57. package/dist/storage/index.d.ts +3 -0
  58. package/dist/storage/index.d.ts.map +1 -0
  59. package/dist/storage/persona.d.ts +29 -0
  60. package/dist/storage/persona.d.ts.map +1 -0
  61. package/dist/tools.d.ts +72 -0
  62. package/dist/tools.d.ts.map +1 -0
  63. package/dist/types.d.ts +237 -0
  64. package/dist/types.d.ts.map +1 -0
  65. package/docs/README.md +13 -0
  66. package/docs/api-reference.md +16 -0
  67. package/docs/contributing.md +21 -0
  68. package/docs/customization.md +74 -0
  69. package/docs/features.md +7 -0
  70. package/docs/installation.md +9 -0
  71. package/docs/messages.md +214 -0
  72. package/docs/protocols.md +39 -0
  73. package/docs/transactions.md +121 -0
  74. package/docs/usage.md +40 -0
  75. package/jsconfig.node.json +10 -0
  76. package/package.json +82 -0
  77. package/playground/index.html +14 -0
  78. package/playground/src/app.tsx +10 -0
  79. package/playground/src/chat.tsx +117 -0
  80. package/playground/src/components/assistant-ui/assistant-modal.tsx +57 -0
  81. package/playground/src/components/assistant-ui/attachment.tsx +197 -0
  82. package/playground/src/components/assistant-ui/markdown-text.tsx +228 -0
  83. package/playground/src/components/assistant-ui/thread-list.tsx +91 -0
  84. package/playground/src/components/assistant-ui/thread.tsx +302 -0
  85. package/playground/src/components/assistant-ui/threadlist-sidebar.tsx +59 -0
  86. package/playground/src/components/assistant-ui/tool-fallback.tsx +93 -0
  87. package/playground/src/components/assistant-ui/tooltip-icon-button.tsx +42 -0
  88. package/playground/src/components/chat/logging.tsx +53 -0
  89. package/playground/src/components/ui/avatar.tsx +51 -0
  90. package/playground/src/components/ui/button.tsx +60 -0
  91. package/playground/src/components/ui/dialog.tsx +141 -0
  92. package/playground/src/components/ui/input.tsx +21 -0
  93. package/playground/src/components/ui/separator.tsx +26 -0
  94. package/playground/src/components/ui/sheet.tsx +139 -0
  95. package/playground/src/components/ui/sidebar.tsx +619 -0
  96. package/playground/src/components/ui/skeleton.tsx +13 -0
  97. package/playground/src/components/ui/tooltip.tsx +59 -0
  98. package/playground/src/hooks/theme.ts +70 -0
  99. package/playground/src/hooks/use-mobile.ts +19 -0
  100. package/playground/src/lib/utils.ts +6 -0
  101. package/playground/src/main.tsx +10 -0
  102. package/playground/src/styles.css +120 -0
  103. package/playground/src/tools.ts +149 -0
  104. package/playground/src/vite-env.d.ts +1 -0
  105. package/preview-build.sh +23 -0
  106. package/src/index.ts +7 -0
  107. package/src/logging.ts +34 -0
  108. package/src/messages.ts +202 -0
  109. package/src/projects.ts +57 -0
  110. package/src/protocol/base.ts +73 -0
  111. package/src/protocol/index.ts +5 -0
  112. package/src/protocol/rest.ts +107 -0
  113. package/src/protocol/transaction.ts +182 -0
  114. package/src/protocol/webrtc.ts +379 -0
  115. package/src/protocol/websocket.ts +111 -0
  116. package/src/runtime/context.ts +88 -0
  117. package/src/runtime/file-attachment-adapter.ts +48 -0
  118. package/src/runtime/handlers.ts +322 -0
  119. package/src/runtime/index.ts +6 -0
  120. package/src/runtime/listeners.ts +79 -0
  121. package/src/runtime/protocols.ts +169 -0
  122. package/src/runtime/threads.ts +105 -0
  123. package/src/runtime/utils.ts +46 -0
  124. package/src/runtime.tsx +334 -0
  125. package/src/storage/base.ts +13 -0
  126. package/src/storage/index.ts +2 -0
  127. package/src/storage/persona.ts +138 -0
  128. package/src/tools.ts +211 -0
  129. package/src/types.ts +284 -0
  130. package/tsconfig.json +36 -0
  131. package/tsconfig.node.json +15 -0
  132. package/vite.config.ts +74 -0
@@ -0,0 +1,28 @@
1
+ var personaChatSDK=function(X,kt,Z,se){"use strict";var f_=Object.defineProperty;var c_=(X,kt,Z)=>kt in X?f_(X,kt,{enumerable:!0,configurable:!0,writable:!0,value:Z}):X[kt]=Z;var R=(X,kt,Z)=>c_(X,typeof kt!="symbol"?kt+"":kt,Z);function Mo(h){return new Promise((a,i)=>{const p=new FileReader;p.onload=()=>a(p.result),p.onerror=_=>i(_),p.readAsDataURL(h)})}class $o{constructor(){R(this,"accept","*")}async add(a){return{id:a.file.name,type:"file",name:a.file.name,contentType:a.file.type||"application/octet-stream",file:a.file,status:{type:"requires-action",reason:"composer-send"}}}async send(a){const p=(await Mo(a.file)).split(";base64,")[1];return{...a,status:{type:"complete"},content:[{type:"file",data:p,mimeType:a.contentType||"application/octet-stream"}]}}async remove(a){}}let Ko=0;function qo(){return`msg_${Date.now()}_${Ko++}`}function ko(h){return h.thought&&(h={...h,type:"reasoning"}),h.id?h.createdAt?h:{...h,createdAt:new Date}:{...h,id:qo(),createdAt:h.createdAt||new Date}}function Ho(h){return h.filter(a=>!(a.role==="assistant"&&!a.functionCalls&&!a.file&&!a.image&&(!a.text||a.text.trim()==="")))}function En(h){const a=[];let i=null;for(let _ of h)if(_=ko(_),_.type!=="transaction")if(_.file){i&&(a.push(i),i=null),a.push(_);continue}else _.functionCalls?(i&&(i.role==="assistant"&&(!i.text||i.text.trim()==="")&&!i.file&&!i.image||a.push(i)),a.push(_),i=null):_.functionResponse?a[a.length-1]={...a[a.length-1],functionResponse:_.functionResponse}:i&&_.type===i.type&&_.protocol===i.protocol&&i.role===_.role&&(_.id===i.id||!i.finishReason)?(i.text+=_.text,i.file=i.file||_.file,i.finishReason=_.finishReason||i.finishReason,i.id=i.id||_.id,i.sources=i.sources?[...i.sources||[],..._.sources||[]]:_.sources):(i&&a.push(i),i={..._,text:_.file?"":_.text,finishReason:_.file?void 0:_.finishReason});return i&&a.push(i),Ho(a)}function zo(h){var _,v,x;const a=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 T={id:h.id,role:"assistant",createdAt:h.createdAt,content:((_=h.functionCalls)==null?void 0:_.map(b=>{var M;return{type:"tool-call",toolName:b.name,toolCallId:b.id||`tool_${Date.now()}`,args:b.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?{...T,status:i}:T}const p={id:h.id,role:h.role,createdAt:h.createdAt,content:h.type==="reasoning"?[{type:"reasoning",text:h.text},...a]:[{type:"text",text:h.text},...a],metadata:{...h.metadata,custom:{protocol:h.protocol,sessionId:h.sessionId,sources:h.sources,type:h.type,...(x=h.metadata)==null?void 0:x.custom}}};return h.role==="assistant"&&i?{...p,status:i}:p}class ue{constructor(){R(this,"statusChangeCallbacks",[]);R(this,"messageCallbacks",[])}addStatusChangeListener(a){this.statusChangeCallbacks.push(a)}addPacketListener(a){this.messageCallbacks.push(a)}async syncSession(a){this.session=a}async notifyPacket(a){this.messageCallbacks.forEach(i=>i(a))}async notifyPackets(a){a.forEach(i=>{this.messageCallbacks.forEach(p=>p(i))})}async setSession(a){this.session=a}async setStatus(a){const i=this.status!==a;this.status=a,i&&this.statusChangeCallbacks.forEach(p=>p(a))}clearListeners(){this.statusChangeCallbacks=[],this.messageCallbacks=[]}setAgentContext(a){return this.sendPacket({type:"command",payload:{command:"set_initial_context",arguments:a}})}onTransaction(a){}}class Ir extends ue{constructor(i){super();R(this,"status");R(this,"autostart");R(this,"session");R(this,"config");R(this,"notify",!0);R(this,"context",{});R(this,"tools",[]);this.config=i,this.status="disconnected",this.autostart=!0}getName(){return"rest"}getPriority(){return 100}async connect(i){return this.setStatus("connected"),i}async disconnect(){this.setStatus("disconnected"),this.session=null}async syncSession(i){this.session=i}async sendPacket(i){var b,M,P,z,D;const{apiUrl:p,apiKey:_,agentId:v}=this.config,x=this.session??"new";if(i.type==="command"&&((b=i==null?void 0:i.payload)==null?void 0:b.command)=="set_initial_context"){this.context=(M=i==null?void 0:i.payload)==null?void 0:M.arguments;return}else if(i.type==="command"&&((P=i==null?void 0:i.payload)==null?void 0:P.command)=="set_local_tools"){const E=(z=i==null?void 0:i.payload)==null?void 0:z.arguments.tools;(E==null?void 0:E.length)>0&&this.notifyPacket({type:"message",payload:{type:"text",role:"assistant",text:"Local tools with rest protocol are not supported."}});return}const T=i.payload;try{const q=await(await fetch(`${p}/sessions/${x}/messages`,{body:JSON.stringify({agentId:v,userMessage:T,initialContext:this.context,tools:this.tools}),method:"POST",headers:{"Content-Type":"application/json","x-persona-apikey":_}})).json();this.notifyPackets(q.response.messages.map(tt=>({type:"message",payload:tt})))}catch(E){this.notifyPacket({type:"message",payload:{role:"assistant",type:"text",text:"An error occurred while processing your request. Please try again later."}}),(D=this.config.logger)==null||D.error("Error sending packet:",E)}}}class Rr extends ue{constructor(i){super();R(this,"status");R(this,"autostart");R(this,"session");R(this,"config");R(this,"webSocket");this.config=i,this.status="disconnected",this.autostart=!0,this.session=null,this.webSocket=null}getName(){return"websocket"}getPriority(){return 500}async syncSession(i){var p;(p=this.config.logger)==null||p.debug("Syncing session with WebSocket protocol:",i),this.session=i,this.webSocket&&this.status==="connected"&&(this.disconnect(),this.connect(i))}connect(i){var b;if(this.webSocket!==null&&this.status==="connected")return Promise.resolve(this.session);const p=i||this.session||"new";(b=this.config.logger)==null||b.debug("Connecting to WebSocket with sessionId:",p);const _=encodeURIComponent(this.config.apiKey),v=this.config.agentId,x=this.config.userId||"anonymous",T=`${this.config.webSocketUrl}?sessionCode=${p}&agentId=${v}&apiKey=${_}&userId=${encodeURIComponent(x)}`;return this.setStatus("connecting"),this.webSocket=new WebSocket(T),this.webSocket.addEventListener("open",()=>{this.setStatus("connected")}),this.webSocket.addEventListener("message",M=>{const P=JSON.parse(M.data);this.notifyPacket(P)}),this.webSocket.addEventListener("close",M=>{var P;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."}}),(P=this.config.logger)==null||P.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 Go{constructor(a){R(this,"config");R(this,"pc",null);R(this,"ws",null);R(this,"localStream",null);R(this,"remoteStream",new MediaStream);R(this,"audioCtx",null);R(this,"localAnalyser",null);R(this,"remoteAnalyser",null);R(this,"analyzerFrame",null);R(this,"dataChannel",null);R(this,"isConnected",!1);R(this,"visualizerCallbacks",[]);R(this,"messageCallbacks",[]);R(this,"errorCallbacks",[]);R(this,"queuedMessages",[]);this.config=a}async connect(a){var p;if(this.isConnected)return;this.isConnected=!0;try{this.localStream=await navigator.mediaDevices.getUserMedia({audio:!0})}catch(_){(p=this.config.logger)==null||p.error("Error accessing microphone:",_);return}this.pc=new RTCPeerConnection({iceServers:this.config.iceServers||[{urls:"stun:34.38.108.251:3478"},{urls:"turn:34.38.108.251:3478",username:"webrtc",credential:"webrtc"}]}),this.localStream.getTracks().forEach(_=>{this.pc.addTrack(_,this.localStream)}),this.pc.ontrack=_=>{_.streams[0].getTracks().forEach(x=>{this.remoteStream.addTrack(x)}),this.audioCtx||this._startAnalyzers();const v=new Audio;v.srcObject=this.remoteStream,v.play().catch(x=>{var T;(T=this.config.logger)==null||T.error("Error playing remote audio:",x)})},this.pc.onicecandidate=_=>{var v;_.candidate&&((v=this.ws)==null?void 0:v.readyState)===WebSocket.OPEN&&this.ws.send(JSON.stringify({type:"CANDIDATE",src:"client",payload:{candidate:_.candidate}}))},this.pc.ondatachannel=_=>{const v=_.channel;v.onmessage=x=>{this.messageCallbacks.forEach(T=>{T(x)})},v.onopen=()=>{var x;for(;this.queuedMessages.length>0;){const T=this.queuedMessages.shift();T&&(v.send(JSON.stringify(T)),(x=this.config.logger)==null||x.info("Sent queued message:",T))}}};const i=this.config.webrtcUrl||"wss://persona.applica.guru/api/webrtc";this.ws=new WebSocket(`${i}?apiKey=${encodeURIComponent(this.config.apiKey)}`),this.ws.onopen=async()=>{var T,b;const _=await this.pc.createOffer();await this.pc.setLocalDescription(_);const v={apiKey:this.config.apiKey,agentId:this.config.agentId,userId:this.config.userId||"anonymous",sessionCode:a};(T=this.config.logger)==null||T.debug("Opening connection to WebRTC server: ",v);const x={type:"OFFER",src:((b=crypto.randomUUID)==null?void 0:b.call(crypto))||"client_"+Date.now(),payload:{sdp:{sdp:_.sdp,type:_.type},connectionId:(Date.now()%1e6).toString(),metadata:v}};this.ws.send(JSON.stringify(x))},this.ws.onmessage=async _=>{var x;const v=JSON.parse(_.data);if(v.type==="ANSWER")await this.pc.setRemoteDescription(new RTCSessionDescription(v.payload.sdp));else if(v.type==="CANDIDATE")try{await this.pc.addIceCandidate(new RTCIceCandidate(v.payload.candidate))}catch(T){(x=this.config.logger)==null||x.error("Error adding ICE candidate:",T)}},this.ws.onclose=_=>{_.code!==1e3&&this.errorCallbacks.forEach(v=>{v("Oops! The connection to the server was lost. Please try again later.")}),this._stopAnalyzers()}}async disconnect(){var a;this.isConnected&&(this.isConnected=!1,((a=this.ws)==null?void 0:a.readyState)===WebSocket.OPEN&&this.ws.close(),this.pc&&this.pc.close(),this.localStream&&this.localStream.getTracks().forEach(i=>i.stop()),this.remoteStream=new MediaStream,this.audioCtx&&(await this.audioCtx.close(),this.audioCtx=null),this._stopAnalyzers())}addVisualizerCallback(a){this.visualizerCallbacks.push(a)}addMessageCallback(a){this.messageCallbacks.push(a)}addErrorCallback(a){this.errorCallbacks.push(a)}createDataChannel(a="messages"){this.pc&&(this.dataChannel=this.pc.createDataChannel(a),this.dataChannel.onopen=()=>{var i,p;for((i=this.config.logger)==null||i.info("Data channel opened");this.queuedMessages.length>0;){const _=this.queuedMessages.shift();_&&(this.dataChannel.send(JSON.stringify(_)),(p=this.config.logger)==null||p.info("Sent queued message:",_))}},this.dataChannel.onmessage=i=>{this.messageCallbacks.forEach(p=>{p(i)})})}sendPacket(a){var i;if(!this.dataChannel||this.dataChannel.readyState!=="open"){this.queuedMessages.push(a);return}this.dataChannel.send(JSON.stringify(a)),(i=this.config.logger)==null||i.info("Sent message:",a)}_startAnalyzers(){if(!this.localStream||!this.remoteStream||this.visualizerCallbacks.length===0)return;this.audioCtx=new(window.AudioContext||window.webkitAudioContext);const a=this.audioCtx.createMediaStreamSource(this.localStream),i=this.audioCtx.createMediaStreamSource(this.remoteStream);this.localAnalyser=this.audioCtx.createAnalyser(),this.remoteAnalyser=this.audioCtx.createAnalyser(),this.localAnalyser.fftSize=256,this.remoteAnalyser.fftSize=256,a.connect(this.localAnalyser),i.connect(this.remoteAnalyser);const p=()=>{if(!this.localAnalyser||!this.remoteAnalyser||this.visualizerCallbacks.length===0)return;const _=new Uint8Array(this.localAnalyser.frequencyBinCount),v=new Uint8Array(this.remoteAnalyser.frequencyBinCount);this.localAnalyser.getByteFrequencyData(_),this.remoteAnalyser.getByteFrequencyData(v);const x=_.reduce((b,M)=>b+M,0)/_.length,T=v.reduce((b,M)=>b+M,0)/v.length;this.visualizerCallbacks.length>0&&this.visualizerCallbacks.forEach(b=>{b({localAmplitude:x,remoteAmplitude:T})}),this.analyzerFrame=requestAnimationFrame(p)};this.analyzerFrame=requestAnimationFrame(p)}_stopAnalyzers(){this.analyzerFrame&&(cancelAnimationFrame(this.analyzerFrame),this.analyzerFrame=null),this.localAnalyser=null,this.remoteAnalyser=null}}class Tr extends ue{constructor(i){super();R(this,"status");R(this,"session");R(this,"autostart");R(this,"config");R(this,"webRTCClient");this.config=i,this.status="disconnected",this.session=null,this.autostart=(i==null?void 0:i.autostart)??!1,this.webRTCClient=new Go(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 oe=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Jo(h){return h&&h.__esModule&&Object.prototype.hasOwnProperty.call(h,"default")?h.default:h}var Te={exports:{}};/**
2
+ * @license
3
+ * Lodash <https://lodash.com/>
4
+ * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
5
+ * Released under MIT license <https://lodash.com/license>
6
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
7
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
8
+ */Te.exports,function(h,a){(function(){var i,p="4.17.21",_=200,v="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",x="Expected a function",T="Invalid `variable` option passed into `_.template`",b="__lodash_hash_undefined__",M=500,P="__lodash_placeholder__",z=1,D=2,E=4,q=1,tt=2,k=1,wn=2,un=4,dt=8,_t=16,Ht=32,On=64,Wt=128,tn=256,zt=512,Le=30,Oe="...",Pt=800,We=16,Wn=1,De=2,lt=3,on=1/0,nn=9007199254740991,Er=17976931348623157e292,kn=NaN,Dt=4294967295,Lr=Dt-1,Fe=Dt>>>1,Or=[["ary",Wt],["bind",k],["bindKey",wn],["curry",dt],["curryRight",_t],["flip",zt],["partial",Ht],["partialRight",On],["rearg",tn]],$="[object Arguments]",at="[object Array]",yn="[object AsyncFunction]",Gt="[object Boolean]",mn="[object Date]",Jt="[object DOMException]",Ue="[object Error]",Ne="[object Function]",os="[object GeneratorFunction]",Zt="[object Map]",fe="[object Number]",Ca="[object Null]",an="[object Object]",as="[object Promise]",Pa="[object Proxy]",ce="[object RegExp]",Yt="[object Set]",le="[object String]",Be="[object Symbol]",Ia="[object Undefined]",he="[object WeakMap]",Ra="[object WeakSet]",de="[object ArrayBuffer]",Hn="[object DataView]",Wr="[object Float32Array]",Dr="[object Float64Array]",Fr="[object Int8Array]",Ur="[object Int16Array]",Nr="[object Int32Array]",Br="[object Uint8Array]",Mr="[object Uint8ClampedArray]",$r="[object Uint16Array]",Kr="[object Uint32Array]",Ta=/\b__p \+= '';/g,Ea=/\b(__p \+=) '' \+/g,La=/(__e\(.*?\)|\b__t\)) \+\n'';/g,fs=/&(?:amp|lt|gt|quot|#39);/g,cs=/[&<>"']/g,Oa=RegExp(fs.source),Wa=RegExp(cs.source),Da=/<%-([\s\S]+?)%>/g,Fa=/<%([\s\S]+?)%>/g,ls=/<%=([\s\S]+?)%>/g,Ua=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Na=/^\w*$/,Ba=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,qr=/[\\^$.*+?()[\]{}|]/g,Ma=RegExp(qr.source),kr=/^\s+/,$a=/\s/,Ka=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,qa=/\{\n\/\* \[wrapped with (.+)\] \*/,ka=/,? & /,Ha=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,za=/[()=,{}\[\]\/\s]/,Ga=/\\(\\)?/g,Ja=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,hs=/\w*$/,Za=/^[-+]0x[0-9a-f]+$/i,Ya=/^0b[01]+$/i,Xa=/^\[object .+?Constructor\]$/,Qa=/^0o[0-7]+$/i,Va=/^(?:0|[1-9]\d*)$/,ja=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Me=/($^)/,tf=/['\n\r\u2028\u2029\\]/g,$e="\\ud800-\\udfff",nf="\\u0300-\\u036f",ef="\\ufe20-\\ufe2f",rf="\\u20d0-\\u20ff",ds=nf+ef+rf,ps="\\u2700-\\u27bf",gs="a-z\\xdf-\\xf6\\xf8-\\xff",sf="\\xac\\xb1\\xd7\\xf7",uf="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",of="\\u2000-\\u206f",af=" \\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",_s="A-Z\\xc0-\\xd6\\xd8-\\xde",vs="\\ufe0e\\ufe0f",ws=sf+uf+of+af,Hr="['’]",ff="["+$e+"]",ys="["+ws+"]",Ke="["+ds+"]",ms="\\d+",cf="["+ps+"]",xs="["+gs+"]",Ss="[^"+$e+ws+ms+ps+gs+_s+"]",zr="\\ud83c[\\udffb-\\udfff]",lf="(?:"+Ke+"|"+zr+")",As="[^"+$e+"]",Gr="(?:\\ud83c[\\udde6-\\uddff]){2}",Jr="[\\ud800-\\udbff][\\udc00-\\udfff]",zn="["+_s+"]",bs="\\u200d",Cs="(?:"+xs+"|"+Ss+")",hf="(?:"+zn+"|"+Ss+")",Ps="(?:"+Hr+"(?:d|ll|m|re|s|t|ve))?",Is="(?:"+Hr+"(?:D|LL|M|RE|S|T|VE))?",Rs=lf+"?",Ts="["+vs+"]?",df="(?:"+bs+"(?:"+[As,Gr,Jr].join("|")+")"+Ts+Rs+")*",pf="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",gf="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Es=Ts+Rs+df,_f="(?:"+[cf,Gr,Jr].join("|")+")"+Es,vf="(?:"+[As+Ke+"?",Ke,Gr,Jr,ff].join("|")+")",wf=RegExp(Hr,"g"),yf=RegExp(Ke,"g"),Zr=RegExp(zr+"(?="+zr+")|"+vf+Es,"g"),mf=RegExp([zn+"?"+xs+"+"+Ps+"(?="+[ys,zn,"$"].join("|")+")",hf+"+"+Is+"(?="+[ys,zn+Cs,"$"].join("|")+")",zn+"?"+Cs+"+"+Ps,zn+"+"+Is,gf,pf,ms,_f].join("|"),"g"),xf=RegExp("["+bs+$e+ds+vs+"]"),Sf=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Af=["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"],bf=-1,et={};et[Wr]=et[Dr]=et[Fr]=et[Ur]=et[Nr]=et[Br]=et[Mr]=et[$r]=et[Kr]=!0,et[$]=et[at]=et[de]=et[Gt]=et[Hn]=et[mn]=et[Ue]=et[Ne]=et[Zt]=et[fe]=et[an]=et[ce]=et[Yt]=et[le]=et[he]=!1;var nt={};nt[$]=nt[at]=nt[de]=nt[Hn]=nt[Gt]=nt[mn]=nt[Wr]=nt[Dr]=nt[Fr]=nt[Ur]=nt[Nr]=nt[Zt]=nt[fe]=nt[an]=nt[ce]=nt[Yt]=nt[le]=nt[Be]=nt[Br]=nt[Mr]=nt[$r]=nt[Kr]=!0,nt[Ue]=nt[Ne]=nt[he]=!1;var Cf={À:"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"},Pf={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},If={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},Rf={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Tf=parseFloat,Ef=parseInt,Ls=typeof oe=="object"&&oe&&oe.Object===Object&&oe,Lf=typeof self=="object"&&self&&self.Object===Object&&self,pt=Ls||Lf||Function("return this")(),Yr=a&&!a.nodeType&&a,Dn=Yr&&!0&&h&&!h.nodeType&&h,Os=Dn&&Dn.exports===Yr,Xr=Os&&Ls.process,Ft=function(){try{var l=Dn&&Dn.require&&Dn.require("util").types;return l||Xr&&Xr.binding&&Xr.binding("util")}catch{}}(),Ws=Ft&&Ft.isArrayBuffer,Ds=Ft&&Ft.isDate,Fs=Ft&&Ft.isMap,Us=Ft&&Ft.isRegExp,Ns=Ft&&Ft.isSet,Bs=Ft&&Ft.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 Of(l,w,g,C){for(var F=-1,Y=l==null?0:l.length;++F<Y;){var ft=l[F];w(C,ft,g(ft),l)}return C}function Ut(l,w){for(var g=-1,C=l==null?0:l.length;++g<C&&w(l[g],g,l)!==!1;);return l}function Wf(l,w){for(var g=l==null?0:l.length;g--&&w(l[g],g,l)!==!1;);return l}function Ms(l,w){for(var g=-1,C=l==null?0:l.length;++g<C;)if(!w(l[g],g,l))return!1;return!0}function xn(l,w){for(var g=-1,C=l==null?0:l.length,F=0,Y=[];++g<C;){var ft=l[g];w(ft,g,l)&&(Y[F++]=ft)}return Y}function qe(l,w){var g=l==null?0:l.length;return!!g&&Gn(l,w,0)>-1}function Qr(l,w,g){for(var C=-1,F=l==null?0:l.length;++C<F;)if(g(w,l[C]))return!0;return!1}function rt(l,w){for(var g=-1,C=l==null?0:l.length,F=Array(C);++g<C;)F[g]=w(l[g],g,l);return F}function Sn(l,w){for(var g=-1,C=w.length,F=l.length;++g<C;)l[F+g]=w[g];return l}function Vr(l,w,g,C){var F=-1,Y=l==null?0:l.length;for(C&&Y&&(g=l[++F]);++F<Y;)g=w(g,l[F],F,l);return g}function Df(l,w,g,C){var F=l==null?0:l.length;for(C&&F&&(g=l[--F]);F--;)g=w(g,l[F],F,l);return g}function jr(l,w){for(var g=-1,C=l==null?0:l.length;++g<C;)if(w(l[g],g,l))return!0;return!1}var Ff=ti("length");function Uf(l){return l.split("")}function Nf(l){return l.match(Ha)||[]}function $s(l,w,g){var C;return g(l,function(F,Y,ft){if(w(F,Y,ft))return C=Y,!1}),C}function ke(l,w,g,C){for(var F=l.length,Y=g+(C?1:-1);C?Y--:++Y<F;)if(w(l[Y],Y,l))return Y;return-1}function Gn(l,w,g){return w===w?Yf(l,w,g):ke(l,Ks,g)}function Bf(l,w,g,C){for(var F=g-1,Y=l.length;++F<Y;)if(C(l[F],w))return F;return-1}function Ks(l){return l!==l}function qs(l,w){var g=l==null?0:l.length;return g?ei(l,w)/g:kn}function ti(l){return function(w){return w==null?i:w[l]}}function ni(l){return function(w){return l==null?i:l[w]}}function ks(l,w,g,C,F){return F(l,function(Y,ft,j){g=C?(C=!1,Y):w(g,Y,ft,j)}),g}function Mf(l,w){var g=l.length;for(l.sort(w);g--;)l[g]=l[g].value;return l}function ei(l,w){for(var g,C=-1,F=l.length;++C<F;){var Y=w(l[C]);Y!==i&&(g=g===i?Y:g+Y)}return g}function ri(l,w){for(var g=-1,C=Array(l);++g<l;)C[g]=w(g);return C}function $f(l,w){return rt(w,function(g){return[g,l[g]]})}function Hs(l){return l&&l.slice(0,Zs(l)+1).replace(kr,"")}function Rt(l){return function(w){return l(w)}}function ii(l,w){return rt(w,function(g){return l[g]})}function pe(l,w){return l.has(w)}function zs(l,w){for(var g=-1,C=l.length;++g<C&&Gn(w,l[g],0)>-1;);return g}function Gs(l,w){for(var g=l.length;g--&&Gn(w,l[g],0)>-1;);return g}function Kf(l,w){for(var g=l.length,C=0;g--;)l[g]===w&&++C;return C}var qf=ni(Cf),kf=ni(Pf);function Hf(l){return"\\"+Rf[l]}function zf(l,w){return l==null?i:l[w]}function Jn(l){return xf.test(l)}function Gf(l){return Sf.test(l)}function Jf(l){for(var w,g=[];!(w=l.next()).done;)g.push(w.value);return g}function si(l){var w=-1,g=Array(l.size);return l.forEach(function(C,F){g[++w]=[F,C]}),g}function Js(l,w){return function(g){return l(w(g))}}function An(l,w){for(var g=-1,C=l.length,F=0,Y=[];++g<C;){var ft=l[g];(ft===w||ft===P)&&(l[g]=P,Y[F++]=g)}return Y}function He(l){var w=-1,g=Array(l.size);return l.forEach(function(C){g[++w]=C}),g}function Zf(l){var w=-1,g=Array(l.size);return l.forEach(function(C){g[++w]=[C,C]}),g}function Yf(l,w,g){for(var C=g-1,F=l.length;++C<F;)if(l[C]===w)return C;return-1}function Xf(l,w,g){for(var C=g+1;C--;)if(l[C]===w)return C;return C}function Zn(l){return Jn(l)?Vf(l):Ff(l)}function Xt(l){return Jn(l)?jf(l):Uf(l)}function Zs(l){for(var w=l.length;w--&&$a.test(l.charAt(w)););return w}var Qf=ni(If);function Vf(l){for(var w=Zr.lastIndex=0;Zr.test(l);)++w;return w}function jf(l){return l.match(Zr)||[]}function tc(l){return l.match(mf)||[]}var nc=function l(w){w=w==null?pt:Yn.defaults(pt.Object(),w,Yn.pick(pt,Af));var g=w.Array,C=w.Date,F=w.Error,Y=w.Function,ft=w.Math,j=w.Object,ui=w.RegExp,ec=w.String,Nt=w.TypeError,ze=g.prototype,rc=Y.prototype,Xn=j.prototype,Ge=w["__core-js_shared__"],Je=rc.toString,V=Xn.hasOwnProperty,ic=0,Ys=function(){var t=/[^.]+$/.exec(Ge&&Ge.keys&&Ge.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),Ze=Xn.toString,sc=Je.call(j),uc=pt._,oc=ui("^"+Je.call(V).replace(qr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ye=Os?w.Buffer:i,bn=w.Symbol,Xe=w.Uint8Array,Xs=Ye?Ye.allocUnsafe:i,Qe=Js(j.getPrototypeOf,j),Qs=j.create,Vs=Xn.propertyIsEnumerable,Ve=ze.splice,js=bn?bn.isConcatSpreadable:i,ge=bn?bn.iterator:i,Fn=bn?bn.toStringTag:i,je=function(){try{var t=$n(j,"defineProperty");return t({},"",{}),t}catch{}}(),ac=w.clearTimeout!==pt.clearTimeout&&w.clearTimeout,fc=C&&C.now!==pt.Date.now&&C.now,cc=w.setTimeout!==pt.setTimeout&&w.setTimeout,tr=ft.ceil,nr=ft.floor,oi=j.getOwnPropertySymbols,lc=Ye?Ye.isBuffer:i,tu=w.isFinite,hc=ze.join,dc=Js(j.keys,j),ct=ft.max,vt=ft.min,pc=C.now,gc=w.parseInt,nu=ft.random,_c=ze.reverse,ai=$n(w,"DataView"),_e=$n(w,"Map"),fi=$n(w,"Promise"),Qn=$n(w,"Set"),ve=$n(w,"WeakMap"),we=$n(j,"create"),er=ve&&new ve,Vn={},vc=Kn(ai),wc=Kn(_e),yc=Kn(fi),mc=Kn(Qn),xc=Kn(ve),rr=bn?bn.prototype:i,ye=rr?rr.valueOf:i,eu=rr?rr.toString:i;function u(t){if(st(t)&&!U(t)&&!(t instanceof G)){if(t instanceof Bt)return t;if(V.call(t,"__wrapped__"))return ro(t)}return new Bt(t)}var jn=function(){function t(){}return function(n){if(!it(n))return{};if(Qs)return Qs(n);t.prototype=n;var e=new t;return t.prototype=i,e}}();function ir(){}function Bt(t,n){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!n,this.__index__=0,this.__values__=i}u.templateSettings={escape:Da,evaluate:Fa,interpolate:ls,variable:"",imports:{_:u}},u.prototype=ir.prototype,u.prototype.constructor=u,Bt.prototype=jn(ir.prototype),Bt.prototype.constructor=Bt;function G(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Dt,this.__views__=[]}function Sc(){var t=new G(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 Ac(){if(this.__filtered__){var t=new G(this);t.__dir__=-1,t.__filtered__=!0}else t=this.clone(),t.__dir__*=-1;return t}function bc(){var t=this.__wrapped__.value(),n=this.__dir__,e=U(t),r=n<0,s=e?t.length:0,o=Ul(0,s,this.__views__),f=o.start,c=o.end,d=c-f,y=r?c:f-1,m=this.__iteratees__,S=m.length,A=0,I=vt(d,this.__takeCount__);if(!e||!r&&s==d&&I==d)return Pu(t,this.__actions__);var O=[];t:for(;d--&&A<I;){y+=n;for(var B=-1,W=t[y];++B<S;){var H=m[B],J=H.iteratee,Lt=H.type,xt=J(W);if(Lt==De)W=xt;else if(!xt){if(Lt==Wn)continue t;break t}}O[A++]=W}return O}G.prototype=jn(ir.prototype),G.prototype.constructor=G;function Un(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 Cc(){this.__data__=we?we(null):{},this.size=0}function Pc(t){var n=this.has(t)&&delete this.__data__[t];return this.size-=n?1:0,n}function Ic(t){var n=this.__data__;if(we){var e=n[t];return e===b?i:e}return V.call(n,t)?n[t]:i}function Rc(t){var n=this.__data__;return we?n[t]!==i:V.call(n,t)}function Tc(t,n){var e=this.__data__;return this.size+=this.has(t)?0:1,e[t]=we&&n===i?b:n,this}Un.prototype.clear=Cc,Un.prototype.delete=Pc,Un.prototype.get=Ic,Un.prototype.has=Rc,Un.prototype.set=Tc;function fn(t){var n=-1,e=t==null?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function Ec(){this.__data__=[],this.size=0}function Lc(t){var n=this.__data__,e=sr(n,t);if(e<0)return!1;var r=n.length-1;return e==r?n.pop():Ve.call(n,e,1),--this.size,!0}function Oc(t){var n=this.__data__,e=sr(n,t);return e<0?i:n[e][1]}function Wc(t){return sr(this.__data__,t)>-1}function Dc(t,n){var e=this.__data__,r=sr(e,t);return r<0?(++this.size,e.push([t,n])):e[r][1]=n,this}fn.prototype.clear=Ec,fn.prototype.delete=Lc,fn.prototype.get=Oc,fn.prototype.has=Wc,fn.prototype.set=Dc;function cn(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 Fc(){this.size=0,this.__data__={hash:new Un,map:new(_e||fn),string:new Un}}function Uc(t){var n=vr(this,t).delete(t);return this.size-=n?1:0,n}function Nc(t){return vr(this,t).get(t)}function Bc(t){return vr(this,t).has(t)}function Mc(t,n){var e=vr(this,t),r=e.size;return e.set(t,n),this.size+=e.size==r?0:1,this}cn.prototype.clear=Fc,cn.prototype.delete=Uc,cn.prototype.get=Nc,cn.prototype.has=Bc,cn.prototype.set=Mc;function Nn(t){var n=-1,e=t==null?0:t.length;for(this.__data__=new cn;++n<e;)this.add(t[n])}function $c(t){return this.__data__.set(t,b),this}function Kc(t){return this.__data__.has(t)}Nn.prototype.add=Nn.prototype.push=$c,Nn.prototype.has=Kc;function Qt(t){var n=this.__data__=new fn(t);this.size=n.size}function qc(){this.__data__=new fn,this.size=0}function kc(t){var n=this.__data__,e=n.delete(t);return this.size=n.size,e}function Hc(t){return this.__data__.get(t)}function zc(t){return this.__data__.has(t)}function Gc(t,n){var e=this.__data__;if(e instanceof fn){var r=e.__data__;if(!_e||r.length<_-1)return r.push([t,n]),this.size=++e.size,this;e=this.__data__=new cn(r)}return e.set(t,n),this.size=e.size,this}Qt.prototype.clear=qc,Qt.prototype.delete=kc,Qt.prototype.get=Hc,Qt.prototype.has=zc,Qt.prototype.set=Gc;function ru(t,n){var e=U(t),r=!e&&qn(t),s=!e&&!r&&Tn(t),o=!e&&!r&&!s&&re(t),f=e||r||s||o,c=f?ri(t.length,ec):[],d=c.length;for(var y in t)(n||V.call(t,y))&&!(f&&(y=="length"||s&&(y=="offset"||y=="parent")||o&&(y=="buffer"||y=="byteLength"||y=="byteOffset")||pn(y,d)))&&c.push(y);return c}function iu(t){var n=t.length;return n?t[mi(0,n-1)]:i}function Jc(t,n){return wr(St(t),Bn(n,0,t.length))}function Zc(t){return wr(St(t))}function ci(t,n,e){(e!==i&&!Vt(t[n],e)||e===i&&!(n in t))&&ln(t,n,e)}function me(t,n,e){var r=t[n];(!(V.call(t,n)&&Vt(r,e))||e===i&&!(n in t))&&ln(t,n,e)}function sr(t,n){for(var e=t.length;e--;)if(Vt(t[e][0],n))return e;return-1}function Yc(t,n,e,r){return Cn(t,function(s,o,f){n(r,s,e(s),f)}),r}function su(t,n){return t&&rn(n,ht(n),t)}function Xc(t,n){return t&&rn(n,bt(n),t)}function ln(t,n,e){n=="__proto__"&&je?je(t,n,{configurable:!0,enumerable:!0,value:e,writable:!0}):t[n]=e}function li(t,n){for(var e=-1,r=n.length,s=g(r),o=t==null;++e<r;)s[e]=o?i:zi(t,n[e]);return s}function Bn(t,n,e){return t===t&&(e!==i&&(t=t<=e?t:e),n!==i&&(t=t>=n?t:n)),t}function Mt(t,n,e,r,s,o){var f,c=n&z,d=n&D,y=n&E;if(e&&(f=s?e(t,r,s,o):e(t)),f!==i)return f;if(!it(t))return t;var m=U(t);if(m){if(f=Bl(t),!c)return St(t,f)}else{var S=wt(t),A=S==Ne||S==os;if(Tn(t))return Tu(t,c);if(S==an||S==$||A&&!s){if(f=d||A?{}:Zu(t),!c)return d?Il(t,Xc(f,t)):Pl(t,su(f,t))}else{if(!nt[S])return s?t:{};f=Ml(t,S,c)}}o||(o=new Qt);var I=o.get(t);if(I)return I;o.set(t,f),bo(t)?t.forEach(function(W){f.add(Mt(W,n,e,W,t,o))}):So(t)&&t.forEach(function(W,H){f.set(H,Mt(W,n,e,H,t,o))});var O=y?d?Li:Ei:d?bt:ht,B=m?i:O(t);return Ut(B||t,function(W,H){B&&(H=W,W=t[H]),me(f,H,Mt(W,n,e,H,t,o))}),f}function Qc(t){var n=ht(t);return function(e){return uu(e,t,n)}}function uu(t,n,e){var r=e.length;if(t==null)return!r;for(t=j(t);r--;){var s=e[r],o=n[s],f=t[s];if(f===i&&!(s in t)||!o(f))return!1}return!0}function ou(t,n,e){if(typeof t!="function")throw new Nt(x);return Ie(function(){t.apply(i,e)},n)}function xe(t,n,e,r){var s=-1,o=qe,f=!0,c=t.length,d=[],y=n.length;if(!c)return d;e&&(n=rt(n,Rt(e))),r?(o=Qr,f=!1):n.length>=_&&(o=pe,f=!1,n=new Nn(n));t:for(;++s<c;){var m=t[s],S=e==null?m:e(m);if(m=r||m!==0?m:0,f&&S===S){for(var A=y;A--;)if(n[A]===S)continue t;d.push(m)}else o(n,S,r)||d.push(m)}return d}var Cn=Du(en),au=Du(di,!0);function Vc(t,n){var e=!0;return Cn(t,function(r,s,o){return e=!!n(r,s,o),e}),e}function ur(t,n,e){for(var r=-1,s=t.length;++r<s;){var o=t[r],f=n(o);if(f!=null&&(c===i?f===f&&!Et(f):e(f,c)))var c=f,d=o}return d}function jc(t,n,e,r){var s=t.length;for(e=N(e),e<0&&(e=-e>s?0:s+e),r=r===i||r>s?s:N(r),r<0&&(r+=s),r=e>r?0:Po(r);e<r;)t[e++]=n;return t}function fu(t,n){var e=[];return Cn(t,function(r,s,o){n(r,s,o)&&e.push(r)}),e}function gt(t,n,e,r,s){var o=-1,f=t.length;for(e||(e=Kl),s||(s=[]);++o<f;){var c=t[o];n>0&&e(c)?n>1?gt(c,n-1,e,r,s):Sn(s,c):r||(s[s.length]=c)}return s}var hi=Fu(),cu=Fu(!0);function en(t,n){return t&&hi(t,n,ht)}function di(t,n){return t&&cu(t,n,ht)}function or(t,n){return xn(n,function(e){return gn(t[e])})}function Mn(t,n){n=In(n,t);for(var e=0,r=n.length;t!=null&&e<r;)t=t[sn(n[e++])];return e&&e==r?t:i}function lu(t,n,e){var r=n(t);return U(t)?r:Sn(r,e(t))}function yt(t){return t==null?t===i?Ia:Ca:Fn&&Fn in j(t)?Fl(t):Zl(t)}function pi(t,n){return t>n}function tl(t,n){return t!=null&&V.call(t,n)}function nl(t,n){return t!=null&&n in j(t)}function el(t,n,e){return t>=vt(n,e)&&t<ct(n,e)}function gi(t,n,e){for(var r=e?Qr:qe,s=t[0].length,o=t.length,f=o,c=g(o),d=1/0,y=[];f--;){var m=t[f];f&&n&&(m=rt(m,Rt(n))),d=vt(m.length,d),c[f]=!e&&(n||s>=120&&m.length>=120)?new Nn(f&&m):i}m=t[0];var S=-1,A=c[0];t:for(;++S<s&&y.length<d;){var I=m[S],O=n?n(I):I;if(I=e||I!==0?I:0,!(A?pe(A,O):r(y,O,e))){for(f=o;--f;){var B=c[f];if(!(B?pe(B,O):r(t[f],O,e)))continue t}A&&A.push(O),y.push(I)}}return y}function rl(t,n,e,r){return en(t,function(s,o,f){n(r,e(s),o,f)}),r}function Se(t,n,e){n=In(n,t),t=Vu(t,n);var r=t==null?t:t[sn(Kt(n))];return r==null?i:It(r,t,e)}function hu(t){return st(t)&&yt(t)==$}function il(t){return st(t)&&yt(t)==de}function sl(t){return st(t)&&yt(t)==mn}function Ae(t,n,e,r,s){return t===n?!0:t==null||n==null||!st(t)&&!st(n)?t!==t&&n!==n:ul(t,n,e,r,Ae,s)}function ul(t,n,e,r,s,o){var f=U(t),c=U(n),d=f?at:wt(t),y=c?at:wt(n);d=d==$?an:d,y=y==$?an:y;var m=d==an,S=y==an,A=d==y;if(A&&Tn(t)){if(!Tn(n))return!1;f=!0,m=!1}if(A&&!m)return o||(o=new Qt),f||re(t)?zu(t,n,e,r,s,o):Wl(t,n,d,e,r,s,o);if(!(e&q)){var I=m&&V.call(t,"__wrapped__"),O=S&&V.call(n,"__wrapped__");if(I||O){var B=I?t.value():t,W=O?n.value():n;return o||(o=new Qt),s(B,W,e,r,o)}}return A?(o||(o=new Qt),Dl(t,n,e,r,s,o)):!1}function ol(t){return st(t)&&wt(t)==Zt}function _i(t,n,e,r){var s=e.length,o=s,f=!r;if(t==null)return!o;for(t=j(t);s--;){var c=e[s];if(f&&c[2]?c[1]!==t[c[0]]:!(c[0]in t))return!1}for(;++s<o;){c=e[s];var d=c[0],y=t[d],m=c[1];if(f&&c[2]){if(y===i&&!(d in t))return!1}else{var S=new Qt;if(r)var A=r(y,m,d,t,n,S);if(!(A===i?Ae(m,y,q|tt,r,S):A))return!1}}return!0}function du(t){if(!it(t)||kl(t))return!1;var n=gn(t)?oc:Xa;return n.test(Kn(t))}function al(t){return st(t)&&yt(t)==ce}function fl(t){return st(t)&&wt(t)==Yt}function cl(t){return st(t)&&br(t.length)&&!!et[yt(t)]}function pu(t){return typeof t=="function"?t:t==null?Ct:typeof t=="object"?U(t)?vu(t[0],t[1]):_u(t):No(t)}function vi(t){if(!Pe(t))return dc(t);var n=[];for(var e in j(t))V.call(t,e)&&e!="constructor"&&n.push(e);return n}function ll(t){if(!it(t))return Jl(t);var n=Pe(t),e=[];for(var r in t)r=="constructor"&&(n||!V.call(t,r))||e.push(r);return e}function wi(t,n){return t<n}function gu(t,n){var e=-1,r=At(t)?g(t.length):[];return Cn(t,function(s,o,f){r[++e]=n(s,o,f)}),r}function _u(t){var n=Wi(t);return n.length==1&&n[0][2]?Xu(n[0][0],n[0][1]):function(e){return e===t||_i(e,t,n)}}function vu(t,n){return Fi(t)&&Yu(n)?Xu(sn(t),n):function(e){var r=zi(e,t);return r===i&&r===n?Gi(e,t):Ae(n,r,q|tt)}}function ar(t,n,e,r,s){t!==n&&hi(n,function(o,f){if(s||(s=new Qt),it(o))hl(t,n,f,e,ar,r,s);else{var c=r?r(Ni(t,f),o,f+"",t,n,s):i;c===i&&(c=o),ci(t,f,c)}},bt)}function hl(t,n,e,r,s,o,f){var c=Ni(t,e),d=Ni(n,e),y=f.get(d);if(y){ci(t,e,y);return}var m=o?o(c,d,e+"",t,n,f):i,S=m===i;if(S){var A=U(d),I=!A&&Tn(d),O=!A&&!I&&re(d);m=d,A||I||O?U(c)?m=c:ut(c)?m=St(c):I?(S=!1,m=Tu(d,!0)):O?(S=!1,m=Eu(d,!0)):m=[]:Re(d)||qn(d)?(m=c,qn(c)?m=Io(c):(!it(c)||gn(c))&&(m=Zu(d))):S=!1}S&&(f.set(d,m),s(m,d,r,o,f),f.delete(d)),ci(t,e,m)}function wu(t,n){var e=t.length;if(e)return n+=n<0?e:0,pn(n,e)?t[n]:i}function yu(t,n,e){n.length?n=rt(n,function(o){return U(o)?function(f){return Mn(f,o.length===1?o[0]:o)}:o}):n=[Ct];var r=-1;n=rt(n,Rt(L()));var s=gu(t,function(o,f,c){var d=rt(n,function(y){return y(o)});return{criteria:d,index:++r,value:o}});return Mf(s,function(o,f){return Cl(o,f,e)})}function dl(t,n){return mu(t,n,function(e,r){return Gi(t,r)})}function mu(t,n,e){for(var r=-1,s=n.length,o={};++r<s;){var f=n[r],c=Mn(t,f);e(c,f)&&be(o,In(f,t),c)}return o}function pl(t){return function(n){return Mn(n,t)}}function yi(t,n,e,r){var s=r?Bf:Gn,o=-1,f=n.length,c=t;for(t===n&&(n=St(n)),e&&(c=rt(t,Rt(e)));++o<f;)for(var d=0,y=n[o],m=e?e(y):y;(d=s(c,m,d,r))>-1;)c!==t&&Ve.call(c,d,1),Ve.call(t,d,1);return t}function xu(t,n){for(var e=t?n.length:0,r=e-1;e--;){var s=n[e];if(e==r||s!==o){var o=s;pn(s)?Ve.call(t,s,1):Ai(t,s)}}return t}function mi(t,n){return t+nr(nu()*(n-t+1))}function gl(t,n,e,r){for(var s=-1,o=ct(tr((n-t)/(e||1)),0),f=g(o);o--;)f[r?o:++s]=t,t+=e;return f}function xi(t,n){var e="";if(!t||n<1||n>nn)return e;do n%2&&(e+=t),n=nr(n/2),n&&(t+=t);while(n);return e}function K(t,n){return Bi(Qu(t,n,Ct),t+"")}function _l(t){return iu(ie(t))}function vl(t,n){var e=ie(t);return wr(e,Bn(n,0,e.length))}function be(t,n,e,r){if(!it(t))return t;n=In(n,t);for(var s=-1,o=n.length,f=o-1,c=t;c!=null&&++s<o;){var d=sn(n[s]),y=e;if(d==="__proto__"||d==="constructor"||d==="prototype")return t;if(s!=f){var m=c[d];y=r?r(m,d,c):i,y===i&&(y=it(m)?m:pn(n[s+1])?[]:{})}me(c,d,y),c=c[d]}return t}var Su=er?function(t,n){return er.set(t,n),t}:Ct,wl=je?function(t,n){return je(t,"toString",{configurable:!0,enumerable:!1,value:Zi(n),writable:!0})}:Ct;function yl(t){return wr(ie(t))}function $t(t,n,e){var r=-1,s=t.length;n<0&&(n=-n>s?0:s+n),e=e>s?s:e,e<0&&(e+=s),s=n>e?0:e-n>>>0,n>>>=0;for(var o=g(s);++r<s;)o[r]=t[r+n];return o}function ml(t,n){var e;return Cn(t,function(r,s,o){return e=n(r,s,o),!e}),!!e}function fr(t,n,e){var r=0,s=t==null?r:t.length;if(typeof n=="number"&&n===n&&s<=Fe){for(;r<s;){var o=r+s>>>1,f=t[o];f!==null&&!Et(f)&&(e?f<=n:f<n)?r=o+1:s=o}return s}return Si(t,n,Ct,e)}function Si(t,n,e,r){var s=0,o=t==null?0:t.length;if(o===0)return 0;n=e(n);for(var f=n!==n,c=n===null,d=Et(n),y=n===i;s<o;){var m=nr((s+o)/2),S=e(t[m]),A=S!==i,I=S===null,O=S===S,B=Et(S);if(f)var W=r||O;else y?W=O&&(r||A):c?W=O&&A&&(r||!I):d?W=O&&A&&!I&&(r||!B):I||B?W=!1:W=r?S<=n:S<n;W?s=m+1:o=m}return vt(o,Lr)}function Au(t,n){for(var e=-1,r=t.length,s=0,o=[];++e<r;){var f=t[e],c=n?n(f):f;if(!e||!Vt(c,d)){var d=c;o[s++]=f===0?0:f}}return o}function bu(t){return typeof t=="number"?t:Et(t)?kn:+t}function Tt(t){if(typeof t=="string")return t;if(U(t))return rt(t,Tt)+"";if(Et(t))return eu?eu.call(t):"";var n=t+"";return n=="0"&&1/t==-on?"-0":n}function Pn(t,n,e){var r=-1,s=qe,o=t.length,f=!0,c=[],d=c;if(e)f=!1,s=Qr;else if(o>=_){var y=n?null:Ll(t);if(y)return He(y);f=!1,s=pe,d=new Nn}else d=n?[]:c;t:for(;++r<o;){var m=t[r],S=n?n(m):m;if(m=e||m!==0?m:0,f&&S===S){for(var A=d.length;A--;)if(d[A]===S)continue t;n&&d.push(S),c.push(m)}else s(d,S,e)||(d!==c&&d.push(S),c.push(m))}return c}function Ai(t,n){return n=In(n,t),t=Vu(t,n),t==null||delete t[sn(Kt(n))]}function Cu(t,n,e,r){return be(t,n,e(Mn(t,n)),r)}function cr(t,n,e,r){for(var s=t.length,o=r?s:-1;(r?o--:++o<s)&&n(t[o],o,t););return e?$t(t,r?0:o,r?o+1:s):$t(t,r?o+1:0,r?s:o)}function Pu(t,n){var e=t;return e instanceof G&&(e=e.value()),Vr(n,function(r,s){return s.func.apply(s.thisArg,Sn([r],s.args))},e)}function bi(t,n,e){var r=t.length;if(r<2)return r?Pn(t[0]):[];for(var s=-1,o=g(r);++s<r;)for(var f=t[s],c=-1;++c<r;)c!=s&&(o[s]=xe(o[s]||f,t[c],n,e));return Pn(gt(o,1),n,e)}function Iu(t,n,e){for(var r=-1,s=t.length,o=n.length,f={};++r<s;){var c=r<o?n[r]:i;e(f,t[r],c)}return f}function Ci(t){return ut(t)?t:[]}function Pi(t){return typeof t=="function"?t:Ct}function In(t,n){return U(t)?t:Fi(t,n)?[t]:eo(Q(t))}var xl=K;function Rn(t,n,e){var r=t.length;return e=e===i?r:e,!n&&e>=r?t:$t(t,n,e)}var Ru=ac||function(t){return pt.clearTimeout(t)};function Tu(t,n){if(n)return t.slice();var e=t.length,r=Xs?Xs(e):new t.constructor(e);return t.copy(r),r}function Ii(t){var n=new t.constructor(t.byteLength);return new Xe(n).set(new Xe(t)),n}function Sl(t,n){var e=n?Ii(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.byteLength)}function Al(t){var n=new t.constructor(t.source,hs.exec(t));return n.lastIndex=t.lastIndex,n}function bl(t){return ye?j(ye.call(t)):{}}function Eu(t,n){var e=n?Ii(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.length)}function Lu(t,n){if(t!==n){var e=t!==i,r=t===null,s=t===t,o=Et(t),f=n!==i,c=n===null,d=n===n,y=Et(n);if(!c&&!y&&!o&&t>n||o&&f&&d&&!c&&!y||r&&f&&d||!e&&d||!s)return 1;if(!r&&!o&&!y&&t<n||y&&e&&s&&!r&&!o||c&&e&&s||!f&&s||!d)return-1}return 0}function Cl(t,n,e){for(var r=-1,s=t.criteria,o=n.criteria,f=s.length,c=e.length;++r<f;){var d=Lu(s[r],o[r]);if(d){if(r>=c)return d;var y=e[r];return d*(y=="desc"?-1:1)}}return t.index-n.index}function Ou(t,n,e,r){for(var s=-1,o=t.length,f=e.length,c=-1,d=n.length,y=ct(o-f,0),m=g(d+y),S=!r;++c<d;)m[c]=n[c];for(;++s<f;)(S||s<o)&&(m[e[s]]=t[s]);for(;y--;)m[c++]=t[s++];return m}function Wu(t,n,e,r){for(var s=-1,o=t.length,f=-1,c=e.length,d=-1,y=n.length,m=ct(o-c,0),S=g(m+y),A=!r;++s<m;)S[s]=t[s];for(var I=s;++d<y;)S[I+d]=n[d];for(;++f<c;)(A||s<o)&&(S[I+e[f]]=t[s++]);return S}function St(t,n){var e=-1,r=t.length;for(n||(n=g(r));++e<r;)n[e]=t[e];return n}function rn(t,n,e,r){var s=!e;e||(e={});for(var o=-1,f=n.length;++o<f;){var c=n[o],d=r?r(e[c],t[c],c,e,t):i;d===i&&(d=t[c]),s?ln(e,c,d):me(e,c,d)}return e}function Pl(t,n){return rn(t,Di(t),n)}function Il(t,n){return rn(t,Gu(t),n)}function lr(t,n){return function(e,r){var s=U(e)?Of:Yc,o=n?n():{};return s(e,t,L(r,2),o)}}function te(t){return K(function(n,e){var r=-1,s=e.length,o=s>1?e[s-1]:i,f=s>2?e[2]:i;for(o=t.length>3&&typeof o=="function"?(s--,o):i,f&&mt(e[0],e[1],f)&&(o=s<3?i:o,s=1),n=j(n);++r<s;){var c=e[r];c&&t(n,c,r,o)}return n})}function Du(t,n){return function(e,r){if(e==null)return e;if(!At(e))return t(e,r);for(var s=e.length,o=n?s:-1,f=j(e);(n?o--:++o<s)&&r(f[o],o,f)!==!1;);return e}}function Fu(t){return function(n,e,r){for(var s=-1,o=j(n),f=r(n),c=f.length;c--;){var d=f[t?c:++s];if(e(o[d],d,o)===!1)break}return n}}function Rl(t,n,e){var r=n&k,s=Ce(t);function o(){var f=this&&this!==pt&&this instanceof o?s:t;return f.apply(r?e:this,arguments)}return o}function Uu(t){return function(n){n=Q(n);var e=Jn(n)?Xt(n):i,r=e?e[0]:n.charAt(0),s=e?Rn(e,1).join(""):n.slice(1);return r[t]()+s}}function ne(t){return function(n){return Vr(Fo(Do(n).replace(wf,"")),t,"")}}function Ce(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=jn(t.prototype),r=t.apply(e,n);return it(r)?r:e}}function Tl(t,n,e){var r=Ce(t);function s(){for(var o=arguments.length,f=g(o),c=o,d=ee(s);c--;)f[c]=arguments[c];var y=o<3&&f[0]!==d&&f[o-1]!==d?[]:An(f,d);if(o-=y.length,o<e)return Ku(t,n,hr,s.placeholder,i,f,y,i,i,e-o);var m=this&&this!==pt&&this instanceof s?r:t;return It(m,this,f)}return s}function Nu(t){return function(n,e,r){var s=j(n);if(!At(n)){var o=L(e,3);n=ht(n),e=function(c){return o(s[c],c,s)}}var f=t(n,e,r);return f>-1?s[o?n[f]:f]:i}}function Bu(t){return dn(function(n){var e=n.length,r=e,s=Bt.prototype.thru;for(t&&n.reverse();r--;){var o=n[r];if(typeof o!="function")throw new Nt(x);if(s&&!f&&_r(o)=="wrapper")var f=new Bt([],!0)}for(r=f?r:e;++r<e;){o=n[r];var c=_r(o),d=c=="wrapper"?Oi(o):i;d&&Ui(d[0])&&d[1]==(Wt|dt|Ht|tn)&&!d[4].length&&d[9]==1?f=f[_r(d[0])].apply(f,d[3]):f=o.length==1&&Ui(o)?f[c]():f.thru(o)}return function(){var y=arguments,m=y[0];if(f&&y.length==1&&U(m))return f.plant(m).value();for(var S=0,A=e?n[S].apply(this,y):m;++S<e;)A=n[S].call(this,A);return A}})}function hr(t,n,e,r,s,o,f,c,d,y){var m=n&Wt,S=n&k,A=n&wn,I=n&(dt|_t),O=n&zt,B=A?i:Ce(t);function W(){for(var H=arguments.length,J=g(H),Lt=H;Lt--;)J[Lt]=arguments[Lt];if(I)var xt=ee(W),Ot=Kf(J,xt);if(r&&(J=Ou(J,r,s,I)),o&&(J=Wu(J,o,f,I)),H-=Ot,I&&H<y){var ot=An(J,xt);return Ku(t,n,hr,W.placeholder,e,J,ot,c,d,y-H)}var jt=S?e:this,vn=A?jt[t]:t;return H=J.length,c?J=Yl(J,c):O&&H>1&&J.reverse(),m&&d<H&&(J.length=d),this&&this!==pt&&this instanceof W&&(vn=B||Ce(vn)),vn.apply(jt,J)}return W}function Mu(t,n){return function(e,r){return rl(e,t,n(r),{})}}function dr(t,n){return function(e,r){var s;if(e===i&&r===i)return n;if(e!==i&&(s=e),r!==i){if(s===i)return r;typeof e=="string"||typeof r=="string"?(e=Tt(e),r=Tt(r)):(e=bu(e),r=bu(r)),s=t(e,r)}return s}}function Ri(t){return dn(function(n){return n=rt(n,Rt(L())),K(function(e){var r=this;return t(n,function(s){return It(s,r,e)})})})}function pr(t,n){n=n===i?" ":Tt(n);var e=n.length;if(e<2)return e?xi(n,t):n;var r=xi(n,tr(t/Zn(n)));return Jn(n)?Rn(Xt(r),0,t).join(""):r.slice(0,t)}function El(t,n,e,r){var s=n&k,o=Ce(t);function f(){for(var c=-1,d=arguments.length,y=-1,m=r.length,S=g(m+d),A=this&&this!==pt&&this instanceof f?o:t;++y<m;)S[y]=r[y];for(;d--;)S[y++]=arguments[++c];return It(A,s?e:this,S)}return f}function $u(t){return function(n,e,r){return r&&typeof r!="number"&&mt(n,e,r)&&(e=r=i),n=_n(n),e===i?(e=n,n=0):e=_n(e),r=r===i?n<e?1:-1:_n(r),gl(n,e,r,t)}}function gr(t){return function(n,e){return typeof n=="string"&&typeof e=="string"||(n=qt(n),e=qt(e)),t(n,e)}}function Ku(t,n,e,r,s,o,f,c,d,y){var m=n&dt,S=m?f:i,A=m?i:f,I=m?o:i,O=m?i:o;n|=m?Ht:On,n&=~(m?On:Ht),n&un||(n&=-4);var B=[t,n,s,I,S,O,A,c,d,y],W=e.apply(i,B);return Ui(t)&&ju(W,B),W.placeholder=r,to(W,t,n)}function Ti(t){var n=ft[t];return function(e,r){if(e=qt(e),r=r==null?0:vt(N(r),292),r&&tu(e)){var s=(Q(e)+"e").split("e"),o=n(s[0]+"e"+(+s[1]+r));return s=(Q(o)+"e").split("e"),+(s[0]+"e"+(+s[1]-r))}return n(e)}}var Ll=Qn&&1/He(new Qn([,-0]))[1]==on?function(t){return new Qn(t)}:Qi;function qu(t){return function(n){var e=wt(n);return e==Zt?si(n):e==Yt?Zf(n):$f(n,t(n))}}function hn(t,n,e,r,s,o,f,c){var d=n&wn;if(!d&&typeof t!="function")throw new Nt(x);var y=r?r.length:0;if(y||(n&=-97,r=s=i),f=f===i?f:ct(N(f),0),c=c===i?c:N(c),y-=s?s.length:0,n&On){var m=r,S=s;r=s=i}var A=d?i:Oi(t),I=[t,n,e,r,s,m,S,o,f,c];if(A&&Gl(I,A),t=I[0],n=I[1],e=I[2],r=I[3],s=I[4],c=I[9]=I[9]===i?d?0:t.length:ct(I[9]-y,0),!c&&n&(dt|_t)&&(n&=-25),!n||n==k)var O=Rl(t,n,e);else n==dt||n==_t?O=Tl(t,n,c):(n==Ht||n==(k|Ht))&&!s.length?O=El(t,n,e,r):O=hr.apply(i,I);var B=A?Su:ju;return to(B(O,I),t,n)}function ku(t,n,e,r){return t===i||Vt(t,Xn[e])&&!V.call(r,e)?n:t}function Hu(t,n,e,r,s,o){return it(t)&&it(n)&&(o.set(n,t),ar(t,n,i,Hu,o),o.delete(n)),t}function Ol(t){return Re(t)?i:t}function zu(t,n,e,r,s,o){var f=e&q,c=t.length,d=n.length;if(c!=d&&!(f&&d>c))return!1;var y=o.get(t),m=o.get(n);if(y&&m)return y==n&&m==t;var S=-1,A=!0,I=e&tt?new Nn:i;for(o.set(t,n),o.set(n,t);++S<c;){var O=t[S],B=n[S];if(r)var W=f?r(B,O,S,n,t,o):r(O,B,S,t,n,o);if(W!==i){if(W)continue;A=!1;break}if(I){if(!jr(n,function(H,J){if(!pe(I,J)&&(O===H||s(O,H,e,r,o)))return I.push(J)})){A=!1;break}}else if(!(O===B||s(O,B,e,r,o))){A=!1;break}}return o.delete(t),o.delete(n),A}function Wl(t,n,e,r,s,o,f){switch(e){case Hn:if(t.byteLength!=n.byteLength||t.byteOffset!=n.byteOffset)return!1;t=t.buffer,n=n.buffer;case de:return!(t.byteLength!=n.byteLength||!o(new Xe(t),new Xe(n)));case Gt:case mn:case fe:return Vt(+t,+n);case Ue:return t.name==n.name&&t.message==n.message;case ce:case le:return t==n+"";case Zt:var c=si;case Yt:var d=r&q;if(c||(c=He),t.size!=n.size&&!d)return!1;var y=f.get(t);if(y)return y==n;r|=tt,f.set(t,n);var m=zu(c(t),c(n),r,s,o,f);return f.delete(t),m;case Be:if(ye)return ye.call(t)==ye.call(n)}return!1}function Dl(t,n,e,r,s,o){var f=e&q,c=Ei(t),d=c.length,y=Ei(n),m=y.length;if(d!=m&&!f)return!1;for(var S=d;S--;){var A=c[S];if(!(f?A in n:V.call(n,A)))return!1}var I=o.get(t),O=o.get(n);if(I&&O)return I==n&&O==t;var B=!0;o.set(t,n),o.set(n,t);for(var W=f;++S<d;){A=c[S];var H=t[A],J=n[A];if(r)var Lt=f?r(J,H,A,n,t,o):r(H,J,A,t,n,o);if(!(Lt===i?H===J||s(H,J,e,r,o):Lt)){B=!1;break}W||(W=A=="constructor")}if(B&&!W){var xt=t.constructor,Ot=n.constructor;xt!=Ot&&"constructor"in t&&"constructor"in n&&!(typeof xt=="function"&&xt instanceof xt&&typeof Ot=="function"&&Ot instanceof Ot)&&(B=!1)}return o.delete(t),o.delete(n),B}function dn(t){return Bi(Qu(t,i,uo),t+"")}function Ei(t){return lu(t,ht,Di)}function Li(t){return lu(t,bt,Gu)}var Oi=er?function(t){return er.get(t)}:Qi;function _r(t){for(var n=t.name+"",e=Vn[n],r=V.call(Vn,n)?e.length:0;r--;){var s=e[r],o=s.func;if(o==null||o==t)return s.name}return n}function ee(t){var n=V.call(u,"placeholder")?u:t;return n.placeholder}function L(){var t=u.iteratee||Yi;return t=t===Yi?pu:t,arguments.length?t(arguments[0],arguments[1]):t}function vr(t,n){var e=t.__data__;return ql(n)?e[typeof n=="string"?"string":"hash"]:e.map}function Wi(t){for(var n=ht(t),e=n.length;e--;){var r=n[e],s=t[r];n[e]=[r,s,Yu(s)]}return n}function $n(t,n){var e=zf(t,n);return du(e)?e:i}function Fl(t){var n=V.call(t,Fn),e=t[Fn];try{t[Fn]=i;var r=!0}catch{}var s=Ze.call(t);return r&&(n?t[Fn]=e:delete t[Fn]),s}var Di=oi?function(t){return t==null?[]:(t=j(t),xn(oi(t),function(n){return Vs.call(t,n)}))}:Vi,Gu=oi?function(t){for(var n=[];t;)Sn(n,Di(t)),t=Qe(t);return n}:Vi,wt=yt;(ai&&wt(new ai(new ArrayBuffer(1)))!=Hn||_e&&wt(new _e)!=Zt||fi&&wt(fi.resolve())!=as||Qn&&wt(new Qn)!=Yt||ve&&wt(new ve)!=he)&&(wt=function(t){var n=yt(t),e=n==an?t.constructor:i,r=e?Kn(e):"";if(r)switch(r){case vc:return Hn;case wc:return Zt;case yc:return as;case mc:return Yt;case xc:return he}return n});function Ul(t,n,e){for(var r=-1,s=e.length;++r<s;){var o=e[r],f=o.size;switch(o.type){case"drop":t+=f;break;case"dropRight":n-=f;break;case"take":n=vt(n,t+f);break;case"takeRight":t=ct(t,n-f);break}}return{start:t,end:n}}function Nl(t){var n=t.match(qa);return n?n[1].split(ka):[]}function Ju(t,n,e){n=In(n,t);for(var r=-1,s=n.length,o=!1;++r<s;){var f=sn(n[r]);if(!(o=t!=null&&e(t,f)))break;t=t[f]}return o||++r!=s?o:(s=t==null?0:t.length,!!s&&br(s)&&pn(f,s)&&(U(t)||qn(t)))}function Bl(t){var n=t.length,e=new t.constructor(n);return n&&typeof t[0]=="string"&&V.call(t,"index")&&(e.index=t.index,e.input=t.input),e}function Zu(t){return typeof t.constructor=="function"&&!Pe(t)?jn(Qe(t)):{}}function Ml(t,n,e){var r=t.constructor;switch(n){case de:return Ii(t);case Gt:case mn:return new r(+t);case Hn:return Sl(t,e);case Wr:case Dr:case Fr:case Ur:case Nr:case Br:case Mr:case $r:case Kr:return Eu(t,e);case Zt:return new r;case fe:case le:return new r(t);case ce:return Al(t);case Yt:return new r;case Be:return bl(t)}}function $l(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(Ka,`{
9
+ /* [wrapped with `+n+`] */
10
+ `)}function Kl(t){return U(t)||qn(t)||!!(js&&t&&t[js])}function pn(t,n){var e=typeof t;return n=n??nn,!!n&&(e=="number"||e!="symbol"&&Va.test(t))&&t>-1&&t%1==0&&t<n}function mt(t,n,e){if(!it(e))return!1;var r=typeof n;return(r=="number"?At(e)&&pn(n,e.length):r=="string"&&n in e)?Vt(e[n],t):!1}function Fi(t,n){if(U(t))return!1;var e=typeof t;return e=="number"||e=="symbol"||e=="boolean"||t==null||Et(t)?!0:Na.test(t)||!Ua.test(t)||n!=null&&t in j(n)}function ql(t){var n=typeof t;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?t!=="__proto__":t===null}function Ui(t){var n=_r(t),e=u[n];if(typeof e!="function"||!(n in G.prototype))return!1;if(t===e)return!0;var r=Oi(e);return!!r&&t===r[0]}function kl(t){return!!Ys&&Ys in t}var Hl=Ge?gn:ji;function Pe(t){var n=t&&t.constructor,e=typeof n=="function"&&n.prototype||Xn;return t===e}function Yu(t){return t===t&&!it(t)}function Xu(t,n){return function(e){return e==null?!1:e[t]===n&&(n!==i||t in j(e))}}function zl(t){var n=Sr(t,function(r){return e.size===M&&e.clear(),r}),e=n.cache;return n}function Gl(t,n){var e=t[1],r=n[1],s=e|r,o=s<(k|wn|Wt),f=r==Wt&&e==dt||r==Wt&&e==tn&&t[7].length<=n[8]||r==(Wt|tn)&&n[7].length<=n[8]&&e==dt;if(!(o||f))return t;r&k&&(t[2]=n[2],s|=e&k?0:un);var c=n[3];if(c){var d=t[3];t[3]=d?Ou(d,c,n[4]):c,t[4]=d?An(t[3],P):n[4]}return c=n[5],c&&(d=t[5],t[5]=d?Wu(d,c,n[6]):c,t[6]=d?An(t[5],P):n[6]),c=n[7],c&&(t[7]=c),r&Wt&&(t[8]=t[8]==null?n[8]:vt(t[8],n[8])),t[9]==null&&(t[9]=n[9]),t[0]=n[0],t[1]=s,t}function Jl(t){var n=[];if(t!=null)for(var e in j(t))n.push(e);return n}function Zl(t){return Ze.call(t)}function Qu(t,n,e){return n=ct(n===i?t.length-1:n,0),function(){for(var r=arguments,s=-1,o=ct(r.length-n,0),f=g(o);++s<o;)f[s]=r[n+s];s=-1;for(var c=g(n+1);++s<n;)c[s]=r[s];return c[n]=e(f),It(t,this,c)}}function Vu(t,n){return n.length<2?t:Mn(t,$t(n,0,-1))}function Yl(t,n){for(var e=t.length,r=vt(n.length,e),s=St(t);r--;){var o=n[r];t[r]=pn(o,e)?s[o]:i}return t}function Ni(t,n){if(!(n==="constructor"&&typeof t[n]=="function")&&n!="__proto__")return t[n]}var ju=no(Su),Ie=cc||function(t,n){return pt.setTimeout(t,n)},Bi=no(wl);function to(t,n,e){var r=n+"";return Bi(t,$l(r,Xl(Nl(r),e)))}function no(t){var n=0,e=0;return function(){var r=pc(),s=We-(r-e);if(e=r,s>0){if(++n>=Pt)return arguments[0]}else n=0;return t.apply(i,arguments)}}function wr(t,n){var e=-1,r=t.length,s=r-1;for(n=n===i?r:n;++e<n;){var o=mi(e,s),f=t[o];t[o]=t[e],t[e]=f}return t.length=n,t}var eo=zl(function(t){var n=[];return t.charCodeAt(0)===46&&n.push(""),t.replace(Ba,function(e,r,s,o){n.push(s?o.replace(Ga,"$1"):r||e)}),n});function sn(t){if(typeof t=="string"||Et(t))return t;var n=t+"";return n=="0"&&1/t==-on?"-0":n}function Kn(t){if(t!=null){try{return Je.call(t)}catch{}try{return t+""}catch{}}return""}function Xl(t,n){return Ut(Or,function(e){var r="_."+e[0];n&e[1]&&!qe(t,r)&&t.push(r)}),t.sort()}function ro(t){if(t instanceof G)return t.clone();var n=new Bt(t.__wrapped__,t.__chain__);return n.__actions__=St(t.__actions__),n.__index__=t.__index__,n.__values__=t.__values__,n}function Ql(t,n,e){(e?mt(t,n,e):n===i)?n=1:n=ct(N(n),0);var r=t==null?0:t.length;if(!r||n<1)return[];for(var s=0,o=0,f=g(tr(r/n));s<r;)f[o++]=$t(t,s,s+=n);return f}function Vl(t){for(var n=-1,e=t==null?0:t.length,r=0,s=[];++n<e;){var o=t[n];o&&(s[r++]=o)}return s}function jl(){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 Sn(U(e)?St(e):[e],gt(n,1))}var th=K(function(t,n){return ut(t)?xe(t,gt(n,1,ut,!0)):[]}),nh=K(function(t,n){var e=Kt(n);return ut(e)&&(e=i),ut(t)?xe(t,gt(n,1,ut,!0),L(e,2)):[]}),eh=K(function(t,n){var e=Kt(n);return ut(e)&&(e=i),ut(t)?xe(t,gt(n,1,ut,!0),i,e):[]});function rh(t,n,e){var r=t==null?0:t.length;return r?(n=e||n===i?1:N(n),$t(t,n<0?0:n,r)):[]}function ih(t,n,e){var r=t==null?0:t.length;return r?(n=e||n===i?1:N(n),n=r-n,$t(t,0,n<0?0:n)):[]}function sh(t,n){return t&&t.length?cr(t,L(n,3),!0,!0):[]}function uh(t,n){return t&&t.length?cr(t,L(n,3),!0):[]}function oh(t,n,e,r){var s=t==null?0:t.length;return s?(e&&typeof e!="number"&&mt(t,n,e)&&(e=0,r=s),jc(t,n,e,r)):[]}function io(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var s=e==null?0:N(e);return s<0&&(s=ct(r+s,0)),ke(t,L(n,3),s)}function so(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var s=r-1;return e!==i&&(s=N(e),s=e<0?ct(r+s,0):vt(s,r-1)),ke(t,L(n,3),s,!0)}function uo(t){var n=t==null?0:t.length;return n?gt(t,1):[]}function ah(t){var n=t==null?0:t.length;return n?gt(t,on):[]}function fh(t,n){var e=t==null?0:t.length;return e?(n=n===i?1:N(n),gt(t,n)):[]}function ch(t){for(var n=-1,e=t==null?0:t.length,r={};++n<e;){var s=t[n];r[s[0]]=s[1]}return r}function oo(t){return t&&t.length?t[0]:i}function lh(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var s=e==null?0:N(e);return s<0&&(s=ct(r+s,0)),Gn(t,n,s)}function hh(t){var n=t==null?0:t.length;return n?$t(t,0,-1):[]}var dh=K(function(t){var n=rt(t,Ci);return n.length&&n[0]===t[0]?gi(n):[]}),ph=K(function(t){var n=Kt(t),e=rt(t,Ci);return n===Kt(e)?n=i:e.pop(),e.length&&e[0]===t[0]?gi(e,L(n,2)):[]}),gh=K(function(t){var n=Kt(t),e=rt(t,Ci);return n=typeof n=="function"?n:i,n&&e.pop(),e.length&&e[0]===t[0]?gi(e,i,n):[]});function _h(t,n){return t==null?"":hc.call(t,n)}function Kt(t){var n=t==null?0:t.length;return n?t[n-1]:i}function vh(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var s=r;return e!==i&&(s=N(e),s=s<0?ct(r+s,0):vt(s,r-1)),n===n?Xf(t,n,s):ke(t,Ks,s,!0)}function wh(t,n){return t&&t.length?wu(t,N(n)):i}var yh=K(ao);function ao(t,n){return t&&t.length&&n&&n.length?yi(t,n):t}function mh(t,n,e){return t&&t.length&&n&&n.length?yi(t,n,L(e,2)):t}function xh(t,n,e){return t&&t.length&&n&&n.length?yi(t,n,i,e):t}var Sh=dn(function(t,n){var e=t==null?0:t.length,r=li(t,n);return xu(t,rt(n,function(s){return pn(s,e)?+s:s}).sort(Lu)),r});function Ah(t,n){var e=[];if(!(t&&t.length))return e;var r=-1,s=[],o=t.length;for(n=L(n,3);++r<o;){var f=t[r];n(f,r,t)&&(e.push(f),s.push(r))}return xu(t,s),e}function Mi(t){return t==null?t:_c.call(t)}function bh(t,n,e){var r=t==null?0:t.length;return r?(e&&typeof e!="number"&&mt(t,n,e)?(n=0,e=r):(n=n==null?0:N(n),e=e===i?r:N(e)),$t(t,n,e)):[]}function Ch(t,n){return fr(t,n)}function Ph(t,n,e){return Si(t,n,L(e,2))}function Ih(t,n){var e=t==null?0:t.length;if(e){var r=fr(t,n);if(r<e&&Vt(t[r],n))return r}return-1}function Rh(t,n){return fr(t,n,!0)}function Th(t,n,e){return Si(t,n,L(e,2),!0)}function Eh(t,n){var e=t==null?0:t.length;if(e){var r=fr(t,n,!0)-1;if(Vt(t[r],n))return r}return-1}function Lh(t){return t&&t.length?Au(t):[]}function Oh(t,n){return t&&t.length?Au(t,L(n,2)):[]}function Wh(t){var n=t==null?0:t.length;return n?$t(t,1,n):[]}function Dh(t,n,e){return t&&t.length?(n=e||n===i?1:N(n),$t(t,0,n<0?0:n)):[]}function Fh(t,n,e){var r=t==null?0:t.length;return r?(n=e||n===i?1:N(n),n=r-n,$t(t,n<0?0:n,r)):[]}function Uh(t,n){return t&&t.length?cr(t,L(n,3),!1,!0):[]}function Nh(t,n){return t&&t.length?cr(t,L(n,3)):[]}var Bh=K(function(t){return Pn(gt(t,1,ut,!0))}),Mh=K(function(t){var n=Kt(t);return ut(n)&&(n=i),Pn(gt(t,1,ut,!0),L(n,2))}),$h=K(function(t){var n=Kt(t);return n=typeof n=="function"?n:i,Pn(gt(t,1,ut,!0),i,n)});function Kh(t){return t&&t.length?Pn(t):[]}function qh(t,n){return t&&t.length?Pn(t,L(n,2)):[]}function kh(t,n){return n=typeof n=="function"?n:i,t&&t.length?Pn(t,i,n):[]}function $i(t){if(!(t&&t.length))return[];var n=0;return t=xn(t,function(e){if(ut(e))return n=ct(e.length,n),!0}),ri(n,function(e){return rt(t,ti(e))})}function fo(t,n){if(!(t&&t.length))return[];var e=$i(t);return n==null?e:rt(e,function(r){return It(n,i,r)})}var Hh=K(function(t,n){return ut(t)?xe(t,n):[]}),zh=K(function(t){return bi(xn(t,ut))}),Gh=K(function(t){var n=Kt(t);return ut(n)&&(n=i),bi(xn(t,ut),L(n,2))}),Jh=K(function(t){var n=Kt(t);return n=typeof n=="function"?n:i,bi(xn(t,ut),i,n)}),Zh=K($i);function Yh(t,n){return Iu(t||[],n||[],me)}function Xh(t,n){return Iu(t||[],n||[],be)}var Qh=K(function(t){var n=t.length,e=n>1?t[n-1]:i;return e=typeof e=="function"?(t.pop(),e):i,fo(t,e)});function co(t){var n=u(t);return n.__chain__=!0,n}function Vh(t,n){return n(t),t}function yr(t,n){return n(t)}var jh=dn(function(t){var n=t.length,e=n?t[0]:0,r=this.__wrapped__,s=function(o){return li(o,t)};return n>1||this.__actions__.length||!(r instanceof G)||!pn(e)?this.thru(s):(r=r.slice(e,+e+(n?1:0)),r.__actions__.push({func:yr,args:[s],thisArg:i}),new Bt(r,this.__chain__).thru(function(o){return n&&!o.length&&o.push(i),o}))});function td(){return co(this)}function nd(){return new Bt(this.value(),this.__chain__)}function ed(){this.__values__===i&&(this.__values__=Co(this.value()));var t=this.__index__>=this.__values__.length,n=t?i:this.__values__[this.__index__++];return{done:t,value:n}}function rd(){return this}function id(t){for(var n,e=this;e instanceof ir;){var r=ro(e);r.__index__=0,r.__values__=i,n?s.__wrapped__=r:n=r;var s=r;e=e.__wrapped__}return s.__wrapped__=t,n}function sd(){var t=this.__wrapped__;if(t instanceof G){var n=t;return this.__actions__.length&&(n=new G(this)),n=n.reverse(),n.__actions__.push({func:yr,args:[Mi],thisArg:i}),new Bt(n,this.__chain__)}return this.thru(Mi)}function ud(){return Pu(this.__wrapped__,this.__actions__)}var od=lr(function(t,n,e){V.call(t,e)?++t[e]:ln(t,e,1)});function ad(t,n,e){var r=U(t)?Ms:Vc;return e&&mt(t,n,e)&&(n=i),r(t,L(n,3))}function fd(t,n){var e=U(t)?xn:fu;return e(t,L(n,3))}var cd=Nu(io),ld=Nu(so);function hd(t,n){return gt(mr(t,n),1)}function dd(t,n){return gt(mr(t,n),on)}function pd(t,n,e){return e=e===i?1:N(e),gt(mr(t,n),e)}function lo(t,n){var e=U(t)?Ut:Cn;return e(t,L(n,3))}function ho(t,n){var e=U(t)?Wf:au;return e(t,L(n,3))}var gd=lr(function(t,n,e){V.call(t,e)?t[e].push(n):ln(t,e,[n])});function _d(t,n,e,r){t=At(t)?t:ie(t),e=e&&!r?N(e):0;var s=t.length;return e<0&&(e=ct(s+e,0)),Cr(t)?e<=s&&t.indexOf(n,e)>-1:!!s&&Gn(t,n,e)>-1}var vd=K(function(t,n,e){var r=-1,s=typeof n=="function",o=At(t)?g(t.length):[];return Cn(t,function(f){o[++r]=s?It(n,f,e):Se(f,n,e)}),o}),wd=lr(function(t,n,e){ln(t,e,n)});function mr(t,n){var e=U(t)?rt:gu;return e(t,L(n,3))}function yd(t,n,e,r){return t==null?[]:(U(n)||(n=n==null?[]:[n]),e=r?i:e,U(e)||(e=e==null?[]:[e]),yu(t,n,e))}var md=lr(function(t,n,e){t[e?0:1].push(n)},function(){return[[],[]]});function xd(t,n,e){var r=U(t)?Vr:ks,s=arguments.length<3;return r(t,L(n,4),e,s,Cn)}function Sd(t,n,e){var r=U(t)?Df:ks,s=arguments.length<3;return r(t,L(n,4),e,s,au)}function Ad(t,n){var e=U(t)?xn:fu;return e(t,Ar(L(n,3)))}function bd(t){var n=U(t)?iu:_l;return n(t)}function Cd(t,n,e){(e?mt(t,n,e):n===i)?n=1:n=N(n);var r=U(t)?Jc:vl;return r(t,n)}function Pd(t){var n=U(t)?Zc:yl;return n(t)}function Id(t){if(t==null)return 0;if(At(t))return Cr(t)?Zn(t):t.length;var n=wt(t);return n==Zt||n==Yt?t.size:vi(t).length}function Rd(t,n,e){var r=U(t)?jr:ml;return e&&mt(t,n,e)&&(n=i),r(t,L(n,3))}var Td=K(function(t,n){if(t==null)return[];var e=n.length;return e>1&&mt(t,n[0],n[1])?n=[]:e>2&&mt(n[0],n[1],n[2])&&(n=[n[0]]),yu(t,gt(n,1),[])}),xr=fc||function(){return pt.Date.now()};function Ed(t,n){if(typeof n!="function")throw new Nt(x);return t=N(t),function(){if(--t<1)return n.apply(this,arguments)}}function po(t,n,e){return n=e?i:n,n=t&&n==null?t.length:n,hn(t,Wt,i,i,i,i,n)}function go(t,n){var e;if(typeof n!="function")throw new Nt(x);return t=N(t),function(){return--t>0&&(e=n.apply(this,arguments)),t<=1&&(n=i),e}}var Ki=K(function(t,n,e){var r=k;if(e.length){var s=An(e,ee(Ki));r|=Ht}return hn(t,r,n,e,s)}),_o=K(function(t,n,e){var r=k|wn;if(e.length){var s=An(e,ee(_o));r|=Ht}return hn(n,r,t,e,s)});function vo(t,n,e){n=e?i:n;var r=hn(t,dt,i,i,i,i,i,n);return r.placeholder=vo.placeholder,r}function wo(t,n,e){n=e?i:n;var r=hn(t,_t,i,i,i,i,i,n);return r.placeholder=wo.placeholder,r}function yo(t,n,e){var r,s,o,f,c,d,y=0,m=!1,S=!1,A=!0;if(typeof t!="function")throw new Nt(x);n=qt(n)||0,it(e)&&(m=!!e.leading,S="maxWait"in e,o=S?ct(qt(e.maxWait)||0,n):o,A="trailing"in e?!!e.trailing:A);function I(ot){var jt=r,vn=s;return r=s=i,y=ot,f=t.apply(vn,jt),f}function O(ot){return y=ot,c=Ie(H,n),m?I(ot):f}function B(ot){var jt=ot-d,vn=ot-y,Bo=n-jt;return S?vt(Bo,o-vn):Bo}function W(ot){var jt=ot-d,vn=ot-y;return d===i||jt>=n||jt<0||S&&vn>=o}function H(){var ot=xr();if(W(ot))return J(ot);c=Ie(H,B(ot))}function J(ot){return c=i,A&&r?I(ot):(r=s=i,f)}function Lt(){c!==i&&Ru(c),y=0,r=d=s=c=i}function xt(){return c===i?f:J(xr())}function Ot(){var ot=xr(),jt=W(ot);if(r=arguments,s=this,d=ot,jt){if(c===i)return O(d);if(S)return Ru(c),c=Ie(H,n),I(d)}return c===i&&(c=Ie(H,n)),f}return Ot.cancel=Lt,Ot.flush=xt,Ot}var Ld=K(function(t,n){return ou(t,1,n)}),Od=K(function(t,n,e){return ou(t,qt(n)||0,e)});function Wd(t){return hn(t,zt)}function Sr(t,n){if(typeof t!="function"||n!=null&&typeof n!="function")throw new Nt(x);var e=function(){var r=arguments,s=n?n.apply(this,r):r[0],o=e.cache;if(o.has(s))return o.get(s);var f=t.apply(this,r);return e.cache=o.set(s,f)||o,f};return e.cache=new(Sr.Cache||cn),e}Sr.Cache=cn;function Ar(t){if(typeof t!="function")throw new Nt(x);return function(){var n=arguments;switch(n.length){case 0:return!t.call(this);case 1:return!t.call(this,n[0]);case 2:return!t.call(this,n[0],n[1]);case 3:return!t.call(this,n[0],n[1],n[2])}return!t.apply(this,n)}}function Dd(t){return go(2,t)}var Fd=xl(function(t,n){n=n.length==1&&U(n[0])?rt(n[0],Rt(L())):rt(gt(n,1),Rt(L()));var e=n.length;return K(function(r){for(var s=-1,o=vt(r.length,e);++s<o;)r[s]=n[s].call(this,r[s]);return It(t,this,r)})}),qi=K(function(t,n){var e=An(n,ee(qi));return hn(t,Ht,i,n,e)}),mo=K(function(t,n){var e=An(n,ee(mo));return hn(t,On,i,n,e)}),Ud=dn(function(t,n){return hn(t,tn,i,i,i,n)});function Nd(t,n){if(typeof t!="function")throw new Nt(x);return n=n===i?n:N(n),K(t,n)}function Bd(t,n){if(typeof t!="function")throw new Nt(x);return n=n==null?0:ct(N(n),0),K(function(e){var r=e[n],s=Rn(e,0,n);return r&&Sn(s,r),It(t,this,s)})}function Md(t,n,e){var r=!0,s=!0;if(typeof t!="function")throw new Nt(x);return it(e)&&(r="leading"in e?!!e.leading:r,s="trailing"in e?!!e.trailing:s),yo(t,n,{leading:r,maxWait:n,trailing:s})}function $d(t){return po(t,1)}function Kd(t,n){return qi(Pi(n),t)}function qd(){if(!arguments.length)return[];var t=arguments[0];return U(t)?t:[t]}function kd(t){return Mt(t,E)}function Hd(t,n){return n=typeof n=="function"?n:i,Mt(t,E,n)}function zd(t){return Mt(t,z|E)}function Gd(t,n){return n=typeof n=="function"?n:i,Mt(t,z|E,n)}function Jd(t,n){return n==null||uu(t,n,ht(n))}function Vt(t,n){return t===n||t!==t&&n!==n}var Zd=gr(pi),Yd=gr(function(t,n){return t>=n}),qn=hu(function(){return arguments}())?hu:function(t){return st(t)&&V.call(t,"callee")&&!Vs.call(t,"callee")},U=g.isArray,Xd=Ws?Rt(Ws):il;function At(t){return t!=null&&br(t.length)&&!gn(t)}function ut(t){return st(t)&&At(t)}function Qd(t){return t===!0||t===!1||st(t)&&yt(t)==Gt}var Tn=lc||ji,Vd=Ds?Rt(Ds):sl;function jd(t){return st(t)&&t.nodeType===1&&!Re(t)}function tp(t){if(t==null)return!0;if(At(t)&&(U(t)||typeof t=="string"||typeof t.splice=="function"||Tn(t)||re(t)||qn(t)))return!t.length;var n=wt(t);if(n==Zt||n==Yt)return!t.size;if(Pe(t))return!vi(t).length;for(var e in t)if(V.call(t,e))return!1;return!0}function np(t,n){return Ae(t,n)}function ep(t,n,e){e=typeof e=="function"?e:i;var r=e?e(t,n):i;return r===i?Ae(t,n,i,e):!!r}function ki(t){if(!st(t))return!1;var n=yt(t);return n==Ue||n==Jt||typeof t.message=="string"&&typeof t.name=="string"&&!Re(t)}function rp(t){return typeof t=="number"&&tu(t)}function gn(t){if(!it(t))return!1;var n=yt(t);return n==Ne||n==os||n==yn||n==Pa}function xo(t){return typeof t=="number"&&t==N(t)}function br(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=nn}function it(t){var n=typeof t;return t!=null&&(n=="object"||n=="function")}function st(t){return t!=null&&typeof t=="object"}var So=Fs?Rt(Fs):ol;function ip(t,n){return t===n||_i(t,n,Wi(n))}function sp(t,n,e){return e=typeof e=="function"?e:i,_i(t,n,Wi(n),e)}function up(t){return Ao(t)&&t!=+t}function op(t){if(Hl(t))throw new F(v);return du(t)}function ap(t){return t===null}function fp(t){return t==null}function Ao(t){return typeof t=="number"||st(t)&&yt(t)==fe}function Re(t){if(!st(t)||yt(t)!=an)return!1;var n=Qe(t);if(n===null)return!0;var e=V.call(n,"constructor")&&n.constructor;return typeof e=="function"&&e instanceof e&&Je.call(e)==sc}var Hi=Us?Rt(Us):al;function cp(t){return xo(t)&&t>=-nn&&t<=nn}var bo=Ns?Rt(Ns):fl;function Cr(t){return typeof t=="string"||!U(t)&&st(t)&&yt(t)==le}function Et(t){return typeof t=="symbol"||st(t)&&yt(t)==Be}var re=Bs?Rt(Bs):cl;function lp(t){return t===i}function hp(t){return st(t)&&wt(t)==he}function dp(t){return st(t)&&yt(t)==Ra}var pp=gr(wi),gp=gr(function(t,n){return t<=n});function Co(t){if(!t)return[];if(At(t))return Cr(t)?Xt(t):St(t);if(ge&&t[ge])return Jf(t[ge]());var n=wt(t),e=n==Zt?si:n==Yt?He:ie;return e(t)}function _n(t){if(!t)return t===0?t:0;if(t=qt(t),t===on||t===-on){var n=t<0?-1:1;return n*Er}return t===t?t:0}function N(t){var n=_n(t),e=n%1;return n===n?e?n-e:n:0}function Po(t){return t?Bn(N(t),0,Dt):0}function qt(t){if(typeof t=="number")return t;if(Et(t))return kn;if(it(t)){var n=typeof t.valueOf=="function"?t.valueOf():t;t=it(n)?n+"":n}if(typeof t!="string")return t===0?t:+t;t=Hs(t);var e=Ya.test(t);return e||Qa.test(t)?Ef(t.slice(2),e?2:8):Za.test(t)?kn:+t}function Io(t){return rn(t,bt(t))}function _p(t){return t?Bn(N(t),-nn,nn):t===0?t:0}function Q(t){return t==null?"":Tt(t)}var vp=te(function(t,n){if(Pe(n)||At(n)){rn(n,ht(n),t);return}for(var e in n)V.call(n,e)&&me(t,e,n[e])}),Ro=te(function(t,n){rn(n,bt(n),t)}),Pr=te(function(t,n,e,r){rn(n,bt(n),t,r)}),wp=te(function(t,n,e,r){rn(n,ht(n),t,r)}),yp=dn(li);function mp(t,n){var e=jn(t);return n==null?e:su(e,n)}var xp=K(function(t,n){t=j(t);var e=-1,r=n.length,s=r>2?n[2]:i;for(s&&mt(n[0],n[1],s)&&(r=1);++e<r;)for(var o=n[e],f=bt(o),c=-1,d=f.length;++c<d;){var y=f[c],m=t[y];(m===i||Vt(m,Xn[y])&&!V.call(t,y))&&(t[y]=o[y])}return t}),Sp=K(function(t){return t.push(i,Hu),It(To,i,t)});function Ap(t,n){return $s(t,L(n,3),en)}function bp(t,n){return $s(t,L(n,3),di)}function Cp(t,n){return t==null?t:hi(t,L(n,3),bt)}function Pp(t,n){return t==null?t:cu(t,L(n,3),bt)}function Ip(t,n){return t&&en(t,L(n,3))}function Rp(t,n){return t&&di(t,L(n,3))}function Tp(t){return t==null?[]:or(t,ht(t))}function Ep(t){return t==null?[]:or(t,bt(t))}function zi(t,n,e){var r=t==null?i:Mn(t,n);return r===i?e:r}function Lp(t,n){return t!=null&&Ju(t,n,tl)}function Gi(t,n){return t!=null&&Ju(t,n,nl)}var Op=Mu(function(t,n,e){n!=null&&typeof n.toString!="function"&&(n=Ze.call(n)),t[n]=e},Zi(Ct)),Wp=Mu(function(t,n,e){n!=null&&typeof n.toString!="function"&&(n=Ze.call(n)),V.call(t,n)?t[n].push(e):t[n]=[e]},L),Dp=K(Se);function ht(t){return At(t)?ru(t):vi(t)}function bt(t){return At(t)?ru(t,!0):ll(t)}function Fp(t,n){var e={};return n=L(n,3),en(t,function(r,s,o){ln(e,n(r,s,o),r)}),e}function Up(t,n){var e={};return n=L(n,3),en(t,function(r,s,o){ln(e,s,n(r,s,o))}),e}var Np=te(function(t,n,e){ar(t,n,e)}),To=te(function(t,n,e,r){ar(t,n,e,r)}),Bp=dn(function(t,n){var e={};if(t==null)return e;var r=!1;n=rt(n,function(o){return o=In(o,t),r||(r=o.length>1),o}),rn(t,Li(t),e),r&&(e=Mt(e,z|D|E,Ol));for(var s=n.length;s--;)Ai(e,n[s]);return e});function Mp(t,n){return Eo(t,Ar(L(n)))}var $p=dn(function(t,n){return t==null?{}:dl(t,n)});function Eo(t,n){if(t==null)return{};var e=rt(Li(t),function(r){return[r]});return n=L(n),mu(t,e,function(r,s){return n(r,s[0])})}function Kp(t,n,e){n=In(n,t);var r=-1,s=n.length;for(s||(s=1,t=i);++r<s;){var o=t==null?i:t[sn(n[r])];o===i&&(r=s,o=e),t=gn(o)?o.call(t):o}return t}function qp(t,n,e){return t==null?t:be(t,n,e)}function kp(t,n,e,r){return r=typeof r=="function"?r:i,t==null?t:be(t,n,e,r)}var Lo=qu(ht),Oo=qu(bt);function Hp(t,n,e){var r=U(t),s=r||Tn(t)||re(t);if(n=L(n,4),e==null){var o=t&&t.constructor;s?e=r?new o:[]:it(t)?e=gn(o)?jn(Qe(t)):{}:e={}}return(s?Ut:en)(t,function(f,c,d){return n(e,f,c,d)}),e}function zp(t,n){return t==null?!0:Ai(t,n)}function Gp(t,n,e){return t==null?t:Cu(t,n,Pi(e))}function Jp(t,n,e,r){return r=typeof r=="function"?r:i,t==null?t:Cu(t,n,Pi(e),r)}function ie(t){return t==null?[]:ii(t,ht(t))}function Zp(t){return t==null?[]:ii(t,bt(t))}function Yp(t,n,e){return e===i&&(e=n,n=i),e!==i&&(e=qt(e),e=e===e?e:0),n!==i&&(n=qt(n),n=n===n?n:0),Bn(qt(t),n,e)}function Xp(t,n,e){return n=_n(n),e===i?(e=n,n=0):e=_n(e),t=qt(t),el(t,n,e)}function Qp(t,n,e){if(e&&typeof e!="boolean"&&mt(t,n,e)&&(n=e=i),e===i&&(typeof n=="boolean"?(e=n,n=i):typeof t=="boolean"&&(e=t,t=i)),t===i&&n===i?(t=0,n=1):(t=_n(t),n===i?(n=t,t=0):n=_n(n)),t>n){var r=t;t=n,n=r}if(e||t%1||n%1){var s=nu();return vt(t+s*(n-t+Tf("1e-"+((s+"").length-1))),n)}return mi(t,n)}var Vp=ne(function(t,n,e){return n=n.toLowerCase(),t+(e?Wo(n):n)});function Wo(t){return Ji(Q(t).toLowerCase())}function Do(t){return t=Q(t),t&&t.replace(ja,qf).replace(yf,"")}function jp(t,n,e){t=Q(t),n=Tt(n);var r=t.length;e=e===i?r:Bn(N(e),0,r);var s=e;return e-=n.length,e>=0&&t.slice(e,s)==n}function tg(t){return t=Q(t),t&&Wa.test(t)?t.replace(cs,kf):t}function ng(t){return t=Q(t),t&&Ma.test(t)?t.replace(qr,"\\$&"):t}var eg=ne(function(t,n,e){return t+(e?"-":"")+n.toLowerCase()}),rg=ne(function(t,n,e){return t+(e?" ":"")+n.toLowerCase()}),ig=Uu("toLowerCase");function sg(t,n,e){t=Q(t),n=N(n);var r=n?Zn(t):0;if(!n||r>=n)return t;var s=(n-r)/2;return pr(nr(s),e)+t+pr(tr(s),e)}function ug(t,n,e){t=Q(t),n=N(n);var r=n?Zn(t):0;return n&&r<n?t+pr(n-r,e):t}function og(t,n,e){t=Q(t),n=N(n);var r=n?Zn(t):0;return n&&r<n?pr(n-r,e)+t:t}function ag(t,n,e){return e||n==null?n=0:n&&(n=+n),gc(Q(t).replace(kr,""),n||0)}function fg(t,n,e){return(e?mt(t,n,e):n===i)?n=1:n=N(n),xi(Q(t),n)}function cg(){var t=arguments,n=Q(t[0]);return t.length<3?n:n.replace(t[1],t[2])}var lg=ne(function(t,n,e){return t+(e?"_":"")+n.toLowerCase()});function hg(t,n,e){return e&&typeof e!="number"&&mt(t,n,e)&&(n=e=i),e=e===i?Dt:e>>>0,e?(t=Q(t),t&&(typeof n=="string"||n!=null&&!Hi(n))&&(n=Tt(n),!n&&Jn(t))?Rn(Xt(t),0,e):t.split(n,e)):[]}var dg=ne(function(t,n,e){return t+(e?" ":"")+Ji(n)});function pg(t,n,e){return t=Q(t),e=e==null?0:Bn(N(e),0,t.length),n=Tt(n),t.slice(e,e+n.length)==n}function gg(t,n,e){var r=u.templateSettings;e&&mt(t,n,e)&&(n=i),t=Q(t),n=Pr({},n,r,ku);var s=Pr({},n.imports,r.imports,ku),o=ht(s),f=ii(s,o),c,d,y=0,m=n.interpolate||Me,S="__p += '",A=ui((n.escape||Me).source+"|"+m.source+"|"+(m===ls?Ja:Me).source+"|"+(n.evaluate||Me).source+"|$","g"),I="//# sourceURL="+(V.call(n,"sourceURL")?(n.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++bf+"]")+`
11
+ `;t.replace(A,function(W,H,J,Lt,xt,Ot){return J||(J=Lt),S+=t.slice(y,Ot).replace(tf,Hf),H&&(c=!0,S+=`' +
12
+ __e(`+H+`) +
13
+ '`),xt&&(d=!0,S+=`';
14
+ `+xt+`;
15
+ __p += '`),J&&(S+=`' +
16
+ ((__t = (`+J+`)) == null ? '' : __t) +
17
+ '`),y=Ot+W.length,W}),S+=`';
18
+ `;var O=V.call(n,"variable")&&n.variable;if(!O)S=`with (obj) {
19
+ `+S+`
20
+ }
21
+ `;else if(za.test(O))throw new F(T);S=(d?S.replace(Ta,""):S).replace(Ea,"$1").replace(La,"$1;"),S="function("+(O||"obj")+`) {
22
+ `+(O?"":`obj || (obj = {});
23
+ `)+"var __t, __p = ''"+(c?", __e = _.escape":"")+(d?`, __j = Array.prototype.join;
24
+ function print() { __p += __j.call(arguments, '') }
25
+ `:`;
26
+ `)+S+`return __p
27
+ }`;var B=Uo(function(){return Y(o,I+"return "+S).apply(i,f)});if(B.source=S,ki(B))throw B;return B}function _g(t){return Q(t).toLowerCase()}function vg(t){return Q(t).toUpperCase()}function wg(t,n,e){if(t=Q(t),t&&(e||n===i))return Hs(t);if(!t||!(n=Tt(n)))return t;var r=Xt(t),s=Xt(n),o=zs(r,s),f=Gs(r,s)+1;return Rn(r,o,f).join("")}function yg(t,n,e){if(t=Q(t),t&&(e||n===i))return t.slice(0,Zs(t)+1);if(!t||!(n=Tt(n)))return t;var r=Xt(t),s=Gs(r,Xt(n))+1;return Rn(r,0,s).join("")}function mg(t,n,e){if(t=Q(t),t&&(e||n===i))return t.replace(kr,"");if(!t||!(n=Tt(n)))return t;var r=Xt(t),s=zs(r,Xt(n));return Rn(r,s).join("")}function xg(t,n){var e=Le,r=Oe;if(it(n)){var s="separator"in n?n.separator:s;e="length"in n?N(n.length):e,r="omission"in n?Tt(n.omission):r}t=Q(t);var o=t.length;if(Jn(t)){var f=Xt(t);o=f.length}if(e>=o)return t;var c=e-Zn(r);if(c<1)return r;var d=f?Rn(f,0,c).join(""):t.slice(0,c);if(s===i)return d+r;if(f&&(c+=d.length-c),Hi(s)){if(t.slice(c).search(s)){var y,m=d;for(s.global||(s=ui(s.source,Q(hs.exec(s))+"g")),s.lastIndex=0;y=s.exec(m);)var S=y.index;d=d.slice(0,S===i?c:S)}}else if(t.indexOf(Tt(s),c)!=c){var A=d.lastIndexOf(s);A>-1&&(d=d.slice(0,A))}return d+r}function Sg(t){return t=Q(t),t&&Oa.test(t)?t.replace(fs,Qf):t}var Ag=ne(function(t,n,e){return t+(e?" ":"")+n.toUpperCase()}),Ji=Uu("toUpperCase");function Fo(t,n,e){return t=Q(t),n=e?i:n,n===i?Gf(t)?tc(t):Nf(t):t.match(n)||[]}var Uo=K(function(t,n){try{return It(t,i,n)}catch(e){return ki(e)?e:new F(e)}}),bg=dn(function(t,n){return Ut(n,function(e){e=sn(e),ln(t,e,Ki(t[e],t))}),t});function Cg(t){var n=t==null?0:t.length,e=L();return t=n?rt(t,function(r){if(typeof r[1]!="function")throw new Nt(x);return[e(r[0]),r[1]]}):[],K(function(r){for(var s=-1;++s<n;){var o=t[s];if(It(o[0],this,r))return It(o[1],this,r)}})}function Pg(t){return Qc(Mt(t,z))}function Zi(t){return function(){return t}}function Ig(t,n){return t==null||t!==t?n:t}var Rg=Bu(),Tg=Bu(!0);function Ct(t){return t}function Yi(t){return pu(typeof t=="function"?t:Mt(t,z))}function Eg(t){return _u(Mt(t,z))}function Lg(t,n){return vu(t,Mt(n,z))}var Og=K(function(t,n){return function(e){return Se(e,t,n)}}),Wg=K(function(t,n){return function(e){return Se(t,e,n)}});function Xi(t,n,e){var r=ht(n),s=or(n,r);e==null&&!(it(n)&&(s.length||!r.length))&&(e=n,n=t,t=this,s=or(n,ht(n)));var o=!(it(e)&&"chain"in e)||!!e.chain,f=gn(t);return Ut(s,function(c){var d=n[c];t[c]=d,f&&(t.prototype[c]=function(){var y=this.__chain__;if(o||y){var m=t(this.__wrapped__),S=m.__actions__=St(this.__actions__);return S.push({func:d,args:arguments,thisArg:t}),m.__chain__=y,m}return d.apply(t,Sn([this.value()],arguments))})}),t}function Dg(){return pt._===this&&(pt._=uc),this}function Qi(){}function Fg(t){return t=N(t),K(function(n){return wu(n,t)})}var Ug=Ri(rt),Ng=Ri(Ms),Bg=Ri(jr);function No(t){return Fi(t)?ti(sn(t)):pl(t)}function Mg(t){return function(n){return t==null?i:Mn(t,n)}}var $g=$u(),Kg=$u(!0);function Vi(){return[]}function ji(){return!1}function qg(){return{}}function kg(){return""}function Hg(){return!0}function zg(t,n){if(t=N(t),t<1||t>nn)return[];var e=Dt,r=vt(t,Dt);n=L(n),t-=Dt;for(var s=ri(r,n);++e<t;)n(e);return s}function Gg(t){return U(t)?rt(t,sn):Et(t)?[t]:St(eo(Q(t)))}function Jg(t){var n=++ic;return Q(t)+n}var Zg=dr(function(t,n){return t+n},0),Yg=Ti("ceil"),Xg=dr(function(t,n){return t/n},1),Qg=Ti("floor");function Vg(t){return t&&t.length?ur(t,Ct,pi):i}function jg(t,n){return t&&t.length?ur(t,L(n,2),pi):i}function t_(t){return qs(t,Ct)}function n_(t,n){return qs(t,L(n,2))}function e_(t){return t&&t.length?ur(t,Ct,wi):i}function r_(t,n){return t&&t.length?ur(t,L(n,2),wi):i}var i_=dr(function(t,n){return t*n},1),s_=Ti("round"),u_=dr(function(t,n){return t-n},0);function o_(t){return t&&t.length?ei(t,Ct):0}function a_(t,n){return t&&t.length?ei(t,L(n,2)):0}return u.after=Ed,u.ary=po,u.assign=vp,u.assignIn=Ro,u.assignInWith=Pr,u.assignWith=wp,u.at=yp,u.before=go,u.bind=Ki,u.bindAll=bg,u.bindKey=_o,u.castArray=qd,u.chain=co,u.chunk=Ql,u.compact=Vl,u.concat=jl,u.cond=Cg,u.conforms=Pg,u.constant=Zi,u.countBy=od,u.create=mp,u.curry=vo,u.curryRight=wo,u.debounce=yo,u.defaults=xp,u.defaultsDeep=Sp,u.defer=Ld,u.delay=Od,u.difference=th,u.differenceBy=nh,u.differenceWith=eh,u.drop=rh,u.dropRight=ih,u.dropRightWhile=sh,u.dropWhile=uh,u.fill=oh,u.filter=fd,u.flatMap=hd,u.flatMapDeep=dd,u.flatMapDepth=pd,u.flatten=uo,u.flattenDeep=ah,u.flattenDepth=fh,u.flip=Wd,u.flow=Rg,u.flowRight=Tg,u.fromPairs=ch,u.functions=Tp,u.functionsIn=Ep,u.groupBy=gd,u.initial=hh,u.intersection=dh,u.intersectionBy=ph,u.intersectionWith=gh,u.invert=Op,u.invertBy=Wp,u.invokeMap=vd,u.iteratee=Yi,u.keyBy=wd,u.keys=ht,u.keysIn=bt,u.map=mr,u.mapKeys=Fp,u.mapValues=Up,u.matches=Eg,u.matchesProperty=Lg,u.memoize=Sr,u.merge=Np,u.mergeWith=To,u.method=Og,u.methodOf=Wg,u.mixin=Xi,u.negate=Ar,u.nthArg=Fg,u.omit=Bp,u.omitBy=Mp,u.once=Dd,u.orderBy=yd,u.over=Ug,u.overArgs=Fd,u.overEvery=Ng,u.overSome=Bg,u.partial=qi,u.partialRight=mo,u.partition=md,u.pick=$p,u.pickBy=Eo,u.property=No,u.propertyOf=Mg,u.pull=yh,u.pullAll=ao,u.pullAllBy=mh,u.pullAllWith=xh,u.pullAt=Sh,u.range=$g,u.rangeRight=Kg,u.rearg=Ud,u.reject=Ad,u.remove=Ah,u.rest=Nd,u.reverse=Mi,u.sampleSize=Cd,u.set=qp,u.setWith=kp,u.shuffle=Pd,u.slice=bh,u.sortBy=Td,u.sortedUniq=Lh,u.sortedUniqBy=Oh,u.split=hg,u.spread=Bd,u.tail=Wh,u.take=Dh,u.takeRight=Fh,u.takeRightWhile=Uh,u.takeWhile=Nh,u.tap=Vh,u.throttle=Md,u.thru=yr,u.toArray=Co,u.toPairs=Lo,u.toPairsIn=Oo,u.toPath=Gg,u.toPlainObject=Io,u.transform=Hp,u.unary=$d,u.union=Bh,u.unionBy=Mh,u.unionWith=$h,u.uniq=Kh,u.uniqBy=qh,u.uniqWith=kh,u.unset=zp,u.unzip=$i,u.unzipWith=fo,u.update=Gp,u.updateWith=Jp,u.values=ie,u.valuesIn=Zp,u.without=Hh,u.words=Fo,u.wrap=Kd,u.xor=zh,u.xorBy=Gh,u.xorWith=Jh,u.zip=Zh,u.zipObject=Yh,u.zipObjectDeep=Xh,u.zipWith=Qh,u.entries=Lo,u.entriesIn=Oo,u.extend=Ro,u.extendWith=Pr,Xi(u,u),u.add=Zg,u.attempt=Uo,u.camelCase=Vp,u.capitalize=Wo,u.ceil=Yg,u.clamp=Yp,u.clone=kd,u.cloneDeep=zd,u.cloneDeepWith=Gd,u.cloneWith=Hd,u.conformsTo=Jd,u.deburr=Do,u.defaultTo=Ig,u.divide=Xg,u.endsWith=jp,u.eq=Vt,u.escape=tg,u.escapeRegExp=ng,u.every=ad,u.find=cd,u.findIndex=io,u.findKey=Ap,u.findLast=ld,u.findLastIndex=so,u.findLastKey=bp,u.floor=Qg,u.forEach=lo,u.forEachRight=ho,u.forIn=Cp,u.forInRight=Pp,u.forOwn=Ip,u.forOwnRight=Rp,u.get=zi,u.gt=Zd,u.gte=Yd,u.has=Lp,u.hasIn=Gi,u.head=oo,u.identity=Ct,u.includes=_d,u.indexOf=lh,u.inRange=Xp,u.invoke=Dp,u.isArguments=qn,u.isArray=U,u.isArrayBuffer=Xd,u.isArrayLike=At,u.isArrayLikeObject=ut,u.isBoolean=Qd,u.isBuffer=Tn,u.isDate=Vd,u.isElement=jd,u.isEmpty=tp,u.isEqual=np,u.isEqualWith=ep,u.isError=ki,u.isFinite=rp,u.isFunction=gn,u.isInteger=xo,u.isLength=br,u.isMap=So,u.isMatch=ip,u.isMatchWith=sp,u.isNaN=up,u.isNative=op,u.isNil=fp,u.isNull=ap,u.isNumber=Ao,u.isObject=it,u.isObjectLike=st,u.isPlainObject=Re,u.isRegExp=Hi,u.isSafeInteger=cp,u.isSet=bo,u.isString=Cr,u.isSymbol=Et,u.isTypedArray=re,u.isUndefined=lp,u.isWeakMap=hp,u.isWeakSet=dp,u.join=_h,u.kebabCase=eg,u.last=Kt,u.lastIndexOf=vh,u.lowerCase=rg,u.lowerFirst=ig,u.lt=pp,u.lte=gp,u.max=Vg,u.maxBy=jg,u.mean=t_,u.meanBy=n_,u.min=e_,u.minBy=r_,u.stubArray=Vi,u.stubFalse=ji,u.stubObject=qg,u.stubString=kg,u.stubTrue=Hg,u.multiply=i_,u.nth=wh,u.noConflict=Dg,u.noop=Qi,u.now=xr,u.pad=sg,u.padEnd=ug,u.padStart=og,u.parseInt=ag,u.random=Qp,u.reduce=xd,u.reduceRight=Sd,u.repeat=fg,u.replace=cg,u.result=Kp,u.round=s_,u.runInContext=l,u.sample=bd,u.size=Id,u.snakeCase=lg,u.some=Rd,u.sortedIndex=Ch,u.sortedIndexBy=Ph,u.sortedIndexOf=Ih,u.sortedLastIndex=Rh,u.sortedLastIndexBy=Th,u.sortedLastIndexOf=Eh,u.startCase=dg,u.startsWith=pg,u.subtract=u_,u.sum=o_,u.sumBy=a_,u.template=gg,u.times=zg,u.toFinite=_n,u.toInteger=N,u.toLength=Po,u.toLower=_g,u.toNumber=qt,u.toSafeInteger=_p,u.toString=Q,u.toUpper=vg,u.trim=wg,u.trimEnd=yg,u.trimStart=mg,u.truncate=xg,u.unescape=Sg,u.uniqueId=Jg,u.upperCase=Ag,u.upperFirst=Ji,u.each=lo,u.eachRight=ho,u.first=oo,Xi(u,function(){var t={};return en(u,function(n,e){V.call(u.prototype,e)||(t[e]=n)}),t}(),{chain:!1}),u.VERSION=p,Ut(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){u[t].placeholder=u}),Ut(["drop","take"],function(t,n){G.prototype[t]=function(e){e=e===i?1:ct(N(e),0);var r=this.__filtered__&&!n?new G(this):this.clone();return r.__filtered__?r.__takeCount__=vt(e,r.__takeCount__):r.__views__.push({size:vt(e,Dt),type:t+(r.__dir__<0?"Right":"")}),r},G.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),Ut(["filter","map","takeWhile"],function(t,n){var e=n+1,r=e==Wn||e==lt;G.prototype[t]=function(s){var o=this.clone();return o.__iteratees__.push({iteratee:L(s,3),type:e}),o.__filtered__=o.__filtered__||r,o}}),Ut(["head","last"],function(t,n){var e="take"+(n?"Right":"");G.prototype[t]=function(){return this[e](1).value()[0]}}),Ut(["initial","tail"],function(t,n){var e="drop"+(n?"":"Right");G.prototype[t]=function(){return this.__filtered__?new G(this):this[e](1)}}),G.prototype.compact=function(){return this.filter(Ct)},G.prototype.find=function(t){return this.filter(t).head()},G.prototype.findLast=function(t){return this.reverse().find(t)},G.prototype.invokeMap=K(function(t,n){return typeof t=="function"?new G(this):this.map(function(e){return Se(e,t,n)})}),G.prototype.reject=function(t){return this.filter(Ar(L(t)))},G.prototype.slice=function(t,n){t=N(t);var e=this;return e.__filtered__&&(t>0||n<0)?new G(e):(t<0?e=e.takeRight(-t):t&&(e=e.drop(t)),n!==i&&(n=N(n),e=n<0?e.dropRight(-n):e.take(n-t)),e)},G.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},G.prototype.toArray=function(){return this.take(Dt)},en(G.prototype,function(t,n){var e=/^(?:filter|find|map|reject)|While$/.test(n),r=/^(?:head|last)$/.test(n),s=u[r?"take"+(n=="last"?"Right":""):n],o=r||/^find/.test(n);s&&(u.prototype[n]=function(){var f=this.__wrapped__,c=r?[1]:arguments,d=f instanceof G,y=c[0],m=d||U(f),S=function(H){var J=s.apply(u,Sn([H],c));return r&&A?J[0]:J};m&&e&&typeof y=="function"&&y.length!=1&&(d=m=!1);var A=this.__chain__,I=!!this.__actions__.length,O=o&&!A,B=d&&!I;if(!o&&m){f=B?f:new G(this);var W=t.apply(f,c);return W.__actions__.push({func:yr,args:[S],thisArg:i}),new Bt(W,A)}return O&&B?t.apply(this,c):(W=this.thru(S),O?r?W.value()[0]:W.value():W)})}),Ut(["pop","push","shift","sort","splice","unshift"],function(t){var n=ze[t],e=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);u.prototype[t]=function(){var s=arguments;if(r&&!this.__chain__){var o=this.value();return n.apply(U(o)?o:[],s)}return this[e](function(f){return n.apply(U(f)?f:[],s)})}}),en(G.prototype,function(t,n){var e=u[n];if(e){var r=e.name+"";V.call(Vn,r)||(Vn[r]=[]),Vn[r].push({name:n,func:e})}}),Vn[hr(i,wn).name]=[{name:"wrapper",func:i}],G.prototype.clone=Sc,G.prototype.reverse=Ac,G.prototype.value=bc,u.prototype.at=jh,u.prototype.chain=td,u.prototype.commit=nd,u.prototype.next=ed,u.prototype.plant=id,u.prototype.reverse=sd,u.prototype.toJSON=u.prototype.valueOf=u.prototype.value=ud,u.prototype.first=u.prototype.head,ge&&(u.prototype[ge]=rd),u},Yn=nc();Dn?((Dn.exports=Yn)._=Yn,Yr._=Yn):pt._=Yn}).call(oe)}(Te,Te.exports);var Zo=Te.exports;const Yo=Jo(Zo);class Xo{constructor(a){R(this,"config");this.config=a}async complete(a,i){var p;await this.persist(a,{...i,success:!0}),(p=this.config.logger)==null||p.debug("Transaction completed:",a)}async fail(a,i){var p;await this.persist(a,{...i,success:!1}),(p=this.config.logger)==null||p.debug("Transaction failed:",{...a,...i})}async persist(a,i){await fetch(`${this.config.apiUrl}/transactions/${a.id}`,{body:JSON.stringify(i),method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","x-persona-apikey":this.config.apiKey}})}}class Qo{constructor(a,i){R(this,"transaction");R(this,"manager");this.transaction=a,this.manager=i}getFunctionCall(){return this.transaction.functionCall}async invoke(a,i){var T;const p=this.transaction.functionCall;if(!p){await this.fail("No function call found");return}const _=p.name,v=p.args,x=a[_];if(!x){await this.fail(`Tool ${_} not found`);return}try{const b=Yo.get(i,"schema.config.parameters.properties",{}),P=(b&&Object.keys(b).length>0?Object.keys(b):((T=x.toString().replace(/\n/g," ").match(/^[^(]*\(([^)]*)\)/))==null?void 0:T[1].split(",").map(D=>D.trim()).filter(Boolean))||[]).map(D=>v[D]),z=await x.apply(null,P);await this.complete(z)}catch(b){await this.fail(`Error executing tool ${_}: ${b}`)}}async complete(a){await this.manager.complete(this.transaction,{success:!0,output:a,error:null})}async fail(a){await this.manager.fail(this.transaction,{success:!1,output:null,error:a})}}class ts extends ue{constructor(i){super();R(this,"status");R(this,"autostart");R(this,"session");R(this,"config");R(this,"notify",!0);R(this,"_tools");R(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 Xo(this.config),_=new Qo(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 Vo(h,a){if(Array.isArray(h))return h;if(typeof h=="object"&&h!==null){const i=a.dev?"localhost:8000":a.baseUrl||"persona.applica.guru/api",p=a.dev?"http":"https",_=a.dev?"ws":"wss";let v=Object.keys(h).map(x=>{switch(x){case"rest":return jo(h[x],{baseEndpointProtocol:p,baseEndpoint:i,apiKey:a.apiKey,agentId:a.agentId,userId:a.userId,logger:a.logger});case"webrtc":return ta(h[x],{baseWebSocketProtocol:_,baseEndpoint:i,apiKey:a.apiKey,agentId:a.agentId,userId:a.userId,logger:a.logger});case"websocket":return na(h[x],{baseWebSocketProtocol:_,baseEndpoint:i,apiKey:a.apiKey,agentId:a.agentId,userId:a.userId,logger:a.logger});default:throw new Error(`Unknown protocol: ${x}`)}}).filter(x=>x!==null);return a.tools&&v.push(new ts({apiUrl:`${p}://${i}`,apiKey:a.apiKey,agentId:a.agentId,tools:a.tools,logger:a.logger})),v}throw new Error("Invalid protocols configuration")}function jo(h,a){return h===!0?new Ir({apiUrl:`${a.baseEndpointProtocol}://${a.baseEndpoint}`,apiKey:a.apiKey,agentId:a.agentId,userId:a.userId,logger:a.logger}):typeof h=="object"&&h!==null?new Ir(h):null}function ta(h,a){return h===!0?new Tr({webrtcUrl:`${a.baseWebSocketProtocol}://${a.baseEndpoint}/webrtc`,apiKey:a.apiKey,agentId:a.agentId,userId:a.userId,logger:a.logger}):typeof h=="object"&&h!==null?new Tr(h):null}function na(h,a){return h===!0?new Rr({webSocketUrl:`${a.baseWebSocketProtocol}://${a.baseEndpoint}/websocket`,apiKey:a.apiKey,agentId:a.agentId,userId:a.userId,logger:a.logger}):typeof h=="object"&&h!==null?new Rr(h):null}function ea(h,a,i,p,_){return v=>{v.type==="message"?ra(v.payload,h,a,i,_):v.type==="reasoning"?ia(v.payload,h,a,_):v.type==="transaction"&&sa(v.payload,h,p)}}function ra(h,a,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=a.getName(),i(v=>{const x=En([...v,h]);return _?_(x):x})}function ia(h,a,i,p){const _={type:"reasoning",text:h.thought,role:"assistant",finishReason:"stop",protocol:a.getName(),createdAt:new Date};i(v=>{const x=En([...v,_]);return p?p(x):x})}function sa(h,a,i){i.filter(p=>p!==a).forEach(p=>p.onTransaction(h))}function ns(h){return new Promise((a,i)=>{const p=new FileReader;p.readAsDataURL(h),p.onload=()=>{const v=p.result.split(";base64,")[1];a(v)},p.onerror=_=>{i(_)}})}function ua(h){const a={rest:i=>i.config.apiUrl,webrtc:i=>i.config.webrtcUrl.replace("/webrtc","").replace("ws://","http://").replace("wss://","https://"),websocket:i=>i.config.webSocketUrl.replace("/websocket","").replace("ws://","http://").replace("wss://","https://")};for(const i of h){const p=a[i.getName()];if(p)return p(i)}return null}function oa(h,a,i,p,_){return async v=>{const x=v.content.find(E=>E.type==="text"),T=v.attachments&&v.attachments.length>0;if(!x&&!T)throw new Error("Message must contain text or attachments");if(!h.some(E=>E.getName()!=="transaction"&&E.status==="connected")){a(E=>{const q={role:"assistant",type:"text",text:"No protocol is connected.",createdAt:new Date,finishReason:"stop"},tt=[...E,q];return p?p(tt):tt});return}const M=(x==null?void 0:x.type)==="text"?x.text??"":"",P={role:"user",type:"text",text:M,createdAt:new Date};a(E=>{const q=En([...E,P]);return p?p(q):q}),i(!0);const z=h.sort((E,q)=>q.getPriority()-E.getPriority()).find(E=>E.status==="connected"),D=[];if(v.attachments)for(const E of v.attachments)if(E.contentType.startsWith("image/")&&E.file)D.push({role:"user",image:{contentType:E.contentType,content:await ns(E.file)},text:"",type:"text",createdAt:new Date});else if(E.content){const q=E.content.find(k=>k.type==="text");q&&"text"in q&&D.push({role:"user",file:{name:E.name,contentType:E.contentType},text:q.text,type:"text",createdAt:new Date});const tt=E.content.find(k=>k.type==="file");tt&&"data"in tt&&D.push({role:"user",file:{name:E.name,base64:tt.data,contentType:E.contentType},text:"",type:"text",createdAt:new Date})}else E.file&&D.push({role:"user",file:{name:E.name,base64:await ns(E.file),contentType:E.contentType||"application/octet-stream"},text:"",type:"text",createdAt:new Date});M&&D.push({role:"user",text:M,type:"text",createdAt:new Date}),_==null||_.debug("Sending message:",D),await(z==null?void 0:z.sendPacket({type:"request",payload:D}))}}function aa(h,a,i,p,_,v){return async x=>{var q;if(((q=x.content[0])==null?void 0:q.type)!=="text")throw new Error("Only text messages are supported");const T=h.sort((tt,k)=>k.getPriority()-tt.getPriority()).find(tt=>tt.status==="connected");if(!T){v==null||v.debug("No protocol available for edit");return}const b=x.parentId;if(!b){v==null||v.debug("No parent ID provided for edit");return}const M=a.findIndex(tt=>tt.id===b);if(M===-1){v==null||v.debug("Parent message not found:",b);return}const P=a.slice(0,M+1),z={role:"user",text:x.content[0].text,type:"text",createdAt:new Date},D=En([...P,z]);i(_?_(D):D),p(!0);const E=[{role:"user",text:x.content[0].text,type:"text",createdAt:new Date}];v==null||v.debug("Sending edited message:",E),await T.sendPacket({type:"request",payload:E})}}function fa(h,a,i,p,_,v){return async(x,T)=>{const b=h.sort((q,tt)=>tt.getPriority()-q.getPriority()).find(q=>q.status==="connected");if(!b){v==null||v.debug("No protocol available for reload");return}const M=T.parentId??x;if(!M){v==null||v.debug("No parent ID provided for reload");return}const P=a.findIndex(q=>q.id===M);if(P===-1){v==null||v.debug("Parent message not found:",M);return}const z=a[P];i(q=>{const tt=q.slice(0,P+1);return _?_(tt):tt});let D;if(z.role==="assistant"||z.role==="function"){for(let q=P-1;q>=0;q--)if(a[q].role==="user"){D=a[q];break}}else z.role==="user"&&(D=z);if(!D){v==null||v.debug("No user message found to regenerate from");return}p(!0);const E=[];D.image&&E.push({role:"user",image:D.image,text:"",type:"text",createdAt:new Date}),E.push({role:"user",text:D.text,type:"text",createdAt:new Date}),v==null||v.debug("Regenerating message with config:",{actualParentId:M,sourceId:T.sourceId,custom:T.runConfig.custom}),await b.sendPacket({type:"request",payload:E})}}function ca(h,a,i,p){return()=>(i(!1),a(_=>{const v=_[_.length-1];if((v==null?void 0:v.role)==="assistant"&&!v.finishReason){const x=[..._];return x[x.length-1]={...v,finishReason:"stop",status:{type:"incomplete"}},p?p(x):x}return _}),h.forEach(_=>{_.status==="connected"&&_.sendPacket({type:"command",payload:{command:"set_initial_context",arguments:{cancel:!0}}}).catch(()=>{})}),Promise.resolve())}const ae=Z.createContext(void 0);function la(){const h=Z.useContext(ae);if(!h)throw new Error("usePersonaRuntime must be used within a PersonaRuntimeProvider");return h}function es(h){const a=Z.useContext(ae);if(!a)throw new Error("usePersonaRuntimeProtocol must be used within a PersonaRuntimeProvider");const i=a.protocols.find(_=>_.getName()===h);if(!i)return null;const p=a.protocolsStatus.get(i.getName());return{...i,connect:i.connect.bind(i),disconnect:i.disconnect.bind(i),sendPacket:i.sendPacket.bind(i),setSession:i.setSession.bind(i),addStatusChangeListener:i.addStatusChangeListener.bind(i),addPacketListener:i.addPacketListener.bind(i),getName:i.getName.bind(i),getPriority:i.getPriority.bind(i),status:p||i.status}}function ha(){const h=Z.useContext(ae);if(!h)throw new Error("usePersonaRuntimeEndpoint must be used within a PersonaRuntimeProvider");return ua(h.protocols)}function da(){return es("webrtc")}function pa(){const h=Z.useContext(ae);if(!h)throw new Error("usePersonaRuntimeMessages must be used within a PersonaRuntimeProvider");return h.getMessages()}const rs="DEFAULT_THREAD_ID";function ga(){const h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";let a="";for(let i=0;i<8;i++)a+=h.charAt(Math.floor(Math.random()*h.length));return a}function _a(h,a,i,p,_,v,x,T,b,M){return{threadId:h,threads:a.filter(P=>P.status==="regular").map(P=>({id:P.threadId,threadId:P.threadId,title:P.title||`Session ${P.threadId}`,status:P.status})),archivedThreads:a.filter(P=>P.status==="archived").map(P=>({id:P.threadId,threadId:P.threadId,title:P.title||`Archived Chat ${P.threadId}`,status:P.status})),onSwitchToNewThread:()=>{const P=ga(),z={threadId:P,status:"regular",title:`Session ${P}`};p(D=>[z,...D]),i(P),v==null||v(P)},onSwitchToThread:P=>{i(P),x==null||x(P)},onArchive:P=>{p(z=>z.map(D=>D.threadId===P?{...D,status:"archived"}:D)),T==null||T(P),P!==rs&&_.archive(P)},onUnarchive:P=>{p(z=>z.map(D=>D.threadId===P?{...D,status:"regular"}:D)),b==null||b(P)},onDelete:async P=>{if(p(z=>z.filter(D=>D.threadId!==P)),h===P){const z=a.filter(D=>D.threadId!==P&&D.status==="regular");z.length>0&&i(z[0].threadId)}M==null||M(P),P!==rs&&await _.delete(P)}}}class is{constructor(a){R(this,"endpoint");R(this,"apiKey");R(this,"pageSize");R(this,"logger");this.endpoint=a.endpoint.replace(/\/$/,""),this.apiKey=a.apiKey,this.pageSize=a.pageSize??200,this.logger=a.logger}buildHeaders(){const a={"Content-Type":"application/json"};return this.apiKey&&(a["x-persona-apikey"]=this.apiKey),a}async sync(a){var p,_;if(!a)return[];const i=`${this.endpoint}/sessions/${encodeURIComponent(String(a))}/messages?page=1&size=${this.pageSize}`;try{const v=await fetch(i,{method:"GET",headers:this.buildHeaders()});if(!v.ok)return(p=this.logger)==null||p.warn("PersonaSessionStorage: failed to fetch messages",v.status,await v.text()),[];const x=await v.json();return Array.isArray(x.items)?x.items.map(b=>({id:b.id??b.messageId??void 0,protocol:b.protocol,thought:b.thought,text:b.text??"",image:b.image,type:b.type??"text",role:b.role??"assistant",file:b.file,sources:b.sources,sessionId:b.sessionId??a,finishReason:b.finishReason,functionCalls:b.functionCalls,functionResponse:b.functionResponse,status:b.status,createdAt:b.createdAt?new Date(b.createdAt):void 0,metadata:b.metadata})):[]}catch(v){return(_=this.logger)==null||_.warn("PersonaSessionStorage: error fetching messages",v),[]}}async archive(a){return this._visiblility(a,"archived")}async unarchive(a){return this._visiblility(a,"active")}async delete(a){return this._visiblility(a,"deleted")}async _visiblility(a,i){var _;if(!a)return;const p=`${this.endpoint}/sessions/${encodeURIComponent(String(a))}/visibility`;try{const v=JSON.stringify({visibility:i}),x=await fetch(p,{method:"PUT",headers:this.buildHeaders(),body:v});if(!x.ok){const T=await x.text();throw(_=this.logger)==null||_.warn("PersonaSessionStorage: failed to set session visibility",x.status,T),new Error(`Failed to set session visibility: ${x.status}`)}return}catch(v){throw v}}async clearAll(){return Promise.reject(new Error("PersonaAPIMessageStorage: clearAll not supported"))}async list(a,i){const p=new URLSearchParams({page:"1",size:"100",visibility:"active"});i&&p.set("userId",i),a&&p.set("agentId",a);const _=`${this.endpoint}/sessions?${p.toString()}`;try{const v=await fetch(_,{method:"GET",headers:this.buildHeaders()});if(!v.ok)return[];const x=await v.json();return Array.isArray(x.items)?x.items.map(b=>({threadId:b.code||b.id,title:b.title||`Session ${b.code||b.id}`,status:b.status==="archived"?"archived":"regular"})):[]}catch{return[]}}}function va({dev:h=!1,baseUrl:a,protocols:i,logger:p,children:_,session:v="new",transformMessages:x,threads:T=!1,sessionStorage:b,onThreadCreate:M,onThreadSwitch:P,onThreadRename:z,onThreadArchive:D,onThreadUnarchive:E,onThreadDelete:q,enableAttachments:tt=!1,...k}){const[wn,un]=Z.useState(!1),[dt,_t]=Z.useState([]),[Ht,On]=Z.useState(new Map),Wt=Z.useRef(!1),tn=Z.useRef(!1),zt=Z.useMemo(()=>b||new is({apiKey:k.apiKey,endpoint:a||"https://persona.applica.guru/api"}),[b,a,k.apiKey]),[Le,Oe]=Z.useState([]),[Pt,We]=Z.useState(""),Wn=Z.useRef(typeof v=="string"?v:"new"),De=Z.useRef(!1);Z.useEffect(()=>{!T||De.current||(De.current=!0,zt.list(k.agentId,k.userId).then($=>{($==null?void 0:$.length)>0&&(Oe($),We($[0].threadId))}).catch($=>p==null?void 0:p.error("Failed to load threads:",$)))},[T,zt,k.agentId,k.userId,p]);const lt=Z.useMemo(()=>Vo(i,{dev:h||!1,baseUrl:a,apiKey:k.apiKey,agentId:k.agentId,userId:k.userId,tools:k.tools,logger:p}),[i,h,a,k.apiKey,k.agentId,k.userId,k.tools,p]);Z.useEffect(()=>{Wt.current||(Wt.current=!0,p==null||p.debug("Setting up protocols:",lt.map($=>$.getName())),lt.forEach($=>{$.setSession(Wn.current),$.clearListeners(),$.addStatusChangeListener(at=>{p==null||p.debug(`${$.getName()} status: ${at}`),On(yn=>{const Gt=new Map(yn);return Gt.set($.getName(),at),Gt}),at==="connected"&&!tn.current&&(k.context&&$.sendPacket({type:"command",payload:{command:"set_initial_context",arguments:k.context}}).catch(()=>{}),k.tools&&Array.isArray(k.tools)&&$.sendPacket({type:"command",payload:{command:"set_local_tools",arguments:{tools:k.tools.map(yn=>yn.schema)}}}).catch(()=>{}))}),$.addPacketListener(ea($,_t,un,lt,x)),$.autostart&&$.status==="disconnected"&&(p==null||p.debug(`Auto-connecting protocol: ${$.getName()}`),$.connect(Wn.current).catch(()=>{}),un(!1))}))},[]),Z.useEffect(()=>{T||!v||v==="new"||zt.sync(v).then($=>{if($.length>0){const at=En($);_t(x?x(at):at),p==null||p.debug(`Loaded ${$.length} messages for session ${v}`)}}).catch($=>{p==null||p.error("Failed to load session messages:",$)})},[]),Z.useEffect(()=>{if(!T||!Pt){_t([]);return}if(tn.current||Pt===Wn.current)return;tn.current=!0,p==null||p.info("Switching to thread:",Pt),(async()=>{try{const at=lt.filter(Jt=>Jt.status==="connected");at.length>0&&await Promise.allSettled(at.map(Jt=>Jt.disconnect())),Wn.current=Pt,await Promise.allSettled(lt.map(Jt=>Jt.setSession(Pt)));const yn=await zt.sync(Pt),Gt=En(yn);_t(x?x(Gt):Gt),p==null||p.debug(`Loaded ${yn.length} messages for thread ${Pt}`);const mn=lt.filter(Jt=>Jt.autostart);mn.length>0&&await Promise.allSettled(mn.map(Jt=>Jt.connect(Pt)))}catch(at){p==null||p.error("Failed to switch thread:",at),_t([])}finally{tn.current=!1}})()},[Pt,T,lt,zt,x,p]);const on=Z.useCallback(oa(lt,_t,un,x,p),[lt,x,p]),nn=Z.useCallback(aa(lt,dt,_t,un,x,p),[lt,dt,x,p]),Er=Z.useCallback(fa(lt,dt,_t,un,x,p),[lt,dt,x,p]),kn=Z.useCallback(ca(lt,_t,un,x),[lt,x]),Dt=Z.useCallback($=>{const at=En([...$]);_t(x?x(at):at)},[x]),Lr=Z.useCallback(()=>dt,[dt]),Fe=Z.useMemo(()=>{if(T)return _a(Pt,Le,We,Oe,zt,M,P,D,E,q)},[T,Pt,Le,zt,M,P,D,E,q,p]),Or=se.useExternalStoreRuntime({isRunning:wn,messages:dt,convertMessage:zo,setMessages:Dt,onNew:on,onEdit:nn,onCancel:kn,onReload:Er,adapters:{...tt?{attachments:new se.CompositeAttachmentAdapter([new se.SimpleImageAttachmentAdapter,new se.SimpleTextAttachmentAdapter,new $o])}:{},...Fe?{threadList:Fe}:{}}});return kt.jsx(ae.Provider,{value:{protocols:lt,protocolsStatus:Ht,getMessages:Lr},children:kt.jsx(se.AssistantRuntimeProvider,{runtime:Or,children:_})})}function wa({children:h,...a}){return kt.jsx(va,{...a,children:h})}class ya{constructor(){R(this,"prefix","[Persona]")}log(a,...i){console.log(`${this.prefix} - ${a}`,...i)}info(a,...i){console.info(`${this.prefix} - ${a}`,...i)}warn(a,...i){console.warn(`${this.prefix} - ${a}`,...i)}error(a,...i){console.error(`${this.prefix} - ${a}`,...i)}debug(a,...i){console.debug(`${this.prefix} - ${a}`,...i)}}function Ln(h,a,i){return{type:h,description:a,...i}}function ss(h){const a=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:a,properties:h.parameters},output:{type:"object",title:`${h.name} output`,properties:h.output}}}}function Ee(h){return{schema:ss(h),implementation:h.implementation}}function us(h,a,i,p,_,v){const x={name:h,description:a,title:v==null?void 0:v.title,timeout:v==null?void 0:v.timeout,parameters:p,output:_,implementation:i};return Ee(x)}const ma=us("sum","Sum two numbers",function(a,i){return{result:a+i}},{a:Ln("number","First number to sum",{required:!0}),b:Ln("number","Second number to sum",{required:!0})},{result:Ln("number","Sum of two numbers")}),xa=Ee({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:Ln("number","First number to sum"),b:Ln("number","Seconth number to sum")},output:{result:Ln("number","Sum of two numbers")},implementation:function(a,i){return{result:a+i}}});function Sa(h){const a=[],i={};return h.forEach(p=>{const{schema:_,implementation:v}=Ee(p);a.push(_),i[p.name]=v}),{schemas:a,implementations:i}}function Aa(h,a){const{required:i,properties:p}=a.config.parameters;for(const _ of i)if(!(_ in h))throw new Error(`Missing required parameter: ${_}`);for(const[_,v]of Object.entries(h)){const x=p[_];if(x){if(x.type==="number"&&typeof v!="number")throw new Error(`Parameter ${_} should be a number`);if(x.type==="string"&&typeof v!="string")throw new Error(`Parameter ${_} should be a string`);if(x.type==="boolean"&&typeof v!="boolean")throw new Error(`Parameter ${_} should be a boolean`)}}return!0}class ba{constructor(a){R(this,"baseUrl");R(this,"apiKey");this.baseUrl=a.baseUrl.replace(/\/$/,""),this.apiKey=a.apiKey}async request(a,i){const p=await fetch(`${this.baseUrl}${a}`,{...i,headers:{"Content-Type":"application/json","x-persona-apikey":this.apiKey,...(i==null?void 0:i.headers)??{}}});if(!p.ok)throw new Error(await p.text());return await p.json()}async getSubscription(a){return this.request(`/projects/${a}/subscription`)}async changeSubscriptionPlan(a,i){return this.request(`/projects/${a}/subscription/actions/change-plan`,{method:"POST",body:JSON.stringify({toPlanType:i})})}async addSubscriptionCredits(a,i){return this.request(`/projects/${a}/subscription/actions/add-credits`,{method:"POST",body:JSON.stringify({credits:i})})}}return X.PersonaConsoleLogger=ya,X.PersonaProtocolBase=ue,X.PersonaRESTProtocol=Ir,X.PersonaRuntimeProvider=wa,X.PersonaSessionStorage=is,X.PersonaTransactionProtocol=ts,X.PersonaWebRTCProtocol=Tr,X.PersonaWebSocketProtocol=Rr,X.ProjectsApi=ba,X.createParameter=Ln,X.createTool=Ee,X.createToolFromFunction=us,X.createToolRegistry=Sa,X.generateToolSchema=ss,X.navigateToToolExample=xa,X.sumTool=ma,X.usePersonaRuntime=la,X.usePersonaRuntimeEndpoint=ha,X.usePersonaRuntimeMessages=pa,X.usePersonaRuntimeProtocol=es,X.usePersonaRuntimeWebRTCProtocol=da,X.validateToolParameters=Aa,Object.defineProperty(X,Symbol.toStringTag,{value:"Module"}),X}({},React,React,AssistantUI);
28
+ //# sourceMappingURL=bundle.iife.js.map