diff --git a/package/ctcgfw/luci-app-openclash/Makefile b/package/ctcgfw/luci-app-openclash/Makefile index d083fb7a29..4378a26bdf 100644 --- a/package/ctcgfw/luci-app-openclash/Makefile +++ b/package/ctcgfw/luci-app-openclash/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-openclash -PKG_VERSION:=0.42.02 +PKG_VERSION:=0.42.03 PKG_RELEASE:=beta PKG_MAINTAINER:=vernesong diff --git a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/config.lua b/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/config.lua index 621f3d859f..81b2432cbd 100644 --- a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/config.lua +++ b/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/config.lua @@ -204,7 +204,7 @@ uci:commit("openclash") HTTP.redirect(luci.dispatcher.build_url("admin", "services", "openclash", "config")) end -btndl = tb:option(Button,"download",translate("Download Configurations")) +btndl = tb:option(Button,"download",translate("Download Config")) btndl.template="openclash/other_button" btndl.render=function(e,t,a) e.inputstyle="remove" @@ -237,6 +237,44 @@ btndl.write = function (a,t) HTTP.close() end +btndlr = tb:option(Button,"download_run",translate("Download Running Config")) +btndlr.template="openclash/other_button" +btndlr.render=function(c,t,a) + if string.sub(SYS.exec("uci get openclash.config.config_path 2>/dev/null"), 23, -2) == e[t].name then + a.display="" + else + a.display="none" + end +c.inputstyle="remove" +Button.render(c,t,a) +end +btndlr.write = function (a,t) + local sPath, sFile, fd, block + sPath = "/etc/openclash/"..e[t].name + sFile = NXFS.basename(sPath) + if fs.isdirectory(sPath) then + fd = io.popen('tar -C "%s" -cz .' % {sPath}, "r") + sFile = sFile .. ".tar.gz" + else + fd = nixio.open(sPath, "r") + end + if not fd then + return + end + HTTP.header('Content-Disposition', 'attachment; filename="%s"' % {sFile}) + HTTP.prepare_content("application/octet-stream") + while true do + block = fd:read(nixio.const.buffersize) + if (not block) or (#block ==0) then + break + else + HTTP.write(block) + end + end + fd:close() + HTTP.close() +end + btnrm=tb:option(Button,"remove",translate("Remove")) btnrm.render=function(e,t,a) e.inputstyle="reset" diff --git a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/groups-config.lua b/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/groups-config.lua index 61c69a2bf2..164f875475 100644 --- a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/groups-config.lua +++ b/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/groups-config.lua @@ -52,11 +52,11 @@ end o = s:option(ListValue, "type", translate("Group Type")) o.rmempty = true o.description = translate("Choose The Operation Mode") -o:value("select", translate("Select ")) +o:value("select", translate("Manual-Select")) o:value("url-test", translate("URL-Test")) o:value("fallback", translate("Fallback")) o:value("load-balance", translate("Load-Balance")) -o:value("relay", translate("Relay Traffic")) +o:value("relay", translate("Relay-Traffic")) o = s:option(ListValue, "strategy", translate("Strategy Type")) o.rmempty = true diff --git a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/other-rules-edit.lua b/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/other-rules-edit.lua index b66002523d..1ffbed74f1 100644 --- a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/other-rules-edit.lua +++ b/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/other-rules-edit.lua @@ -134,6 +134,17 @@ end o:value("DIRECT") o:value("REJECT") +o = s:option(ListValue, "Scholar", translate("Scholar")) +o:depends("rule_name", "lhie1") +o.rmempty = true +for groupname in string.gmatch(groupnames, "([^'##\n']+)##") do + if groupname ~= nil and groupname ~= "" then + o:value(groupname) + end +end +o:value("DIRECT") +o:value("REJECT") + o = s:option(ListValue, "Microsoft", translate("Microsoft")) o:depends("rule_name", "lhie1") o.rmempty = true diff --git a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/proxy-provider-file-manage.lua b/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/proxy-provider-file-manage.lua index 2ae467126b..0f3ac40220 100644 --- a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/proxy-provider-file-manage.lua +++ b/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/proxy-provider-file-manage.lua @@ -40,7 +40,7 @@ nm1=tb1:option(DummyValue,"name",translate("File Name")) mt1=tb1:option(DummyValue,"mtime",translate("Update Time")) sz1=tb1:option(DummyValue,"size",translate("Size")) -btndl1 = tb1:option(Button,"download1",translate("Download Configurations")) +btndl1 = tb1:option(Button,"download1",translate("Download Config")) btndl1.template="openclash/other_button" btndl1.render=function(y,x,r) y.inputstyle="remove" diff --git a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/rule-providers-file-manage.lua b/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/rule-providers-file-manage.lua index 26264a7566..6dfc8bbcd7 100644 --- a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/rule-providers-file-manage.lua +++ b/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/rule-providers-file-manage.lua @@ -40,7 +40,7 @@ nm2=tb2:option(DummyValue,"name",translate("File Name")) mt2=tb2:option(DummyValue,"mtime",translate("Update Time")) sz2=tb2:option(DummyValue,"size",translate("Size")) -btndl2 = tb2:option(Button,"download2",translate("Download Configurations")) +btndl2 = tb2:option(Button,"download2",translate("Download Config")) btndl2.template="openclash/other_button" btndl2.render=function(m,n,h) m.inputstyle="remove" diff --git a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/rule-providers-manage.lua b/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/rule-providers-manage.lua index 3137bdb989..0858ddcf2d 100644 --- a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/rule-providers-manage.lua +++ b/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/rule-providers-manage.lua @@ -10,7 +10,8 @@ local fs = require "luci.openclash" local uci = require "luci.model.uci".cursor() m = SimpleForm("openclash", translate("Other Rule Providers List")) -m.description=translate("规则项目: Profiles ( https://github.com/DivineEngine/Profiles )
") +m.description=translate("规则项目: ConnersHua ( https://github.com/DivineEngine/Profiles ) \ +
规则项目: lhie1 ( https://github.com/lhie1/Rules )") m.reset = false m.submit = false diff --git a/package/ctcgfw/luci-app-openclash/po/zh-cn/openclash.zh-cn.po b/package/ctcgfw/luci-app-openclash/po/zh-cn/openclash.zh-cn.po index 919d189f2d..243c7c923c 100644 --- a/package/ctcgfw/luci-app-openclash/po/zh-cn/openclash.zh-cn.po +++ b/package/ctcgfw/luci-app-openclash/po/zh-cn/openclash.zh-cn.po @@ -104,9 +104,12 @@ msgstr "保存配置" msgid "Apply Configurations" msgstr "应用配置" -msgid "Download Configurations" +msgid "Download Config" msgstr "下载配置" +msgid "Download Running Config" +msgstr "下载运行配置" + msgid "Select Mode" msgstr "*运行模式" @@ -484,6 +487,9 @@ msgstr "Youtube流量" msgid "Apple" msgstr "苹果服务流量" +msgid "Scholar" +msgstr "学术网站流量" + msgid "Microsoft" msgstr "微软服务流量" @@ -786,7 +792,7 @@ msgstr "检测频率(秒)" msgid "Tolerance(ms)" msgstr "节点切换容忍值(毫秒)" -msgid "Select " +msgid "Manual-Select" msgstr "Select【手动选择】" msgid "URL-Test" @@ -798,7 +804,7 @@ msgstr "Fallback【故障切换】" msgid "Load-Balance" msgstr "Load-Balance【负载均衡】" -msgid "Relay Traffic" +msgid "Relay-Traffic" msgstr "Relay【嵌套中转】" msgid "Other Group" @@ -874,7 +880,7 @@ msgid "Exclude Keyword Match" msgstr "排除节点" msgid "(eg: hk or tw&bgp)" -msgstr "(格式示例:香港、台湾&bgp)" +msgstr "(格式示例:香港 或 台湾&bgp 或 新加坡&bgp&奈飞)" msgid "Config File List" msgstr "配置文件列表" diff --git a/package/ctcgfw/luci-app-openclash/root/etc/config/openclash b/package/ctcgfw/luci-app-openclash/root/etc/config/openclash index 7379596711..caae603116 100644 --- a/package/ctcgfw/luci-app-openclash/root/etc/config/openclash +++ b/package/ctcgfw/luci-app-openclash/root/etc/config/openclash @@ -55,13 +55,13 @@ config dns_servers option group 'nameserver' option type 'udp' option ip '119.28.28.28' - option enabled '1' + option enabled '0' config dns_servers option group 'nameserver' option type 'udp' option ip '223.5.5.5' - option enabled '1' + option enabled '0' config dns_servers option type 'https' @@ -76,7 +76,7 @@ config dns_servers option type 'https' config dns_servers - option enabled '1' + option enabled '0' option group 'fallback' option ip 'dns.google' option port '853' @@ -89,7 +89,7 @@ config dns_servers option ip '1.1.1.1/dns-query' config dns_servers - option enabled '1' + option enabled '0' option group 'fallback' option ip '1.1.1.1' option port '853' diff --git a/package/ctcgfw/luci-app-openclash/root/etc/openclash/custom/openclash_custom_fake_filter.list b/package/ctcgfw/luci-app-openclash/root/etc/openclash/custom/openclash_custom_fake_filter.list index f3e9491bbe..685587dfc3 100644 --- a/package/ctcgfw/luci-app-openclash/root/etc/openclash/custom/openclash_custom_fake_filter.list +++ b/package/ctcgfw/luci-app-openclash/root/etc/openclash/custom/openclash_custom_fake_filter.list @@ -86,3 +86,4 @@ stun.*.*.* heartbeat.belkin.com *.linksys.com *.linksyssmartwifi.com ++.battlenet.com.cn \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/etc/openclash/custom/openclash_custom_rules.list b/package/ctcgfw/luci-app-openclash/root/etc/openclash/custom/openclash_custom_rules.list index c5b9d02a70..d0ebf97eb0 100644 --- a/package/ctcgfw/luci-app-openclash/root/etc/openclash/custom/openclash_custom_rules.list +++ b/package/ctcgfw/luci-app-openclash/root/etc/openclash/custom/openclash_custom_rules.list @@ -32,4 +32,15 @@ ##- SRC-IP-CIDR,192.168.1.1/32,DIRECT ##- SRC-IP-CIDR,198.18.0.1/32,DIRECT +##DDNS +##-DOMAIN-SUFFIX,checkip.dyndns.org,DIRECT +##-DOMAIN-SUFFIX,checkipv6.dyndns.org,DIRECT +##-DOMAIN-SUFFIX,checkip.synology.com,DIRECT +##-DOMAIN-SUFFIX,ifconfig.co,DIRECT +##-DOMAIN-SUFFIX,api.myip.com,DIRECT +##-DOMAIN-SUFFIX,ip-api.com,DIRECT +##-DOMAIN-SUFFIX,ipapi.co,DIRECT +##-DOMAIN-SUFFIX,ip6.seeip.org,DIRECT +##-DOMAIN-SUFFIX,members.3322.org,DIRECT + ##在线IP段转CIDR地址:http://ip2cidr.com \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/dashboard/assets/index.0bf7b2ad.js b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/dashboard/assets/index.0bf7b2ad.js new file mode 100644 index 0000000000..3b1ba0698e --- /dev/null +++ b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/dashboard/assets/index.0bf7b2ad.js @@ -0,0 +1 @@ +var e=Object.assign;import{e as t,u as n,r as a,c as s,R as o,a as r,b as l,d as c,f as i,g as u,h as d,i as m,j as p,k as f,l as h,A as g,F as y,m as v,N as E,n as w,o as x,p as b,q as N,s as C,t as k,H as P}from"./vendor.b176d855.js";function S(){return"ClashX Runtime"===navigator.userAgent}!function(e=".",t="__import__"){try{self[t]=new Function("u","return import(u)")}catch(n){const a=new URL(e,location),s=e=>{URL.revokeObjectURL(e.src),e.remove()};self[t]=e=>new Promise(((n,o)=>{const r=new URL(e,a);if(self[t].moduleMap[r])return n(self[t].moduleMap[r]);const l=new Blob([`import * as m from '${r}';`,`${t}.moduleMap['${r}']=m;`],{type:"text/javascript"}),c=Object.assign(document.createElement("script"),{type:"module",src:URL.createObjectURL(l),onerror(){o(new Error(`Failed to import: ${e}`)),s(c)},onload(){n(self[t].moduleMap[r]),s(c)}});document.head.appendChild(c)})),self[t].moduleMap={}}}("assets/");let T=null;class L{constructor(e){this.instance=null,window.WebViewJavascriptBridge&&(this.instance=window.WebViewJavascriptBridge),this.initBridge((t=>{this.instance=t,e()}))}initBridge(e){if(!S())return null==e?void 0:e(null);if(window.WebViewJavascriptBridge)return e(window.WebViewJavascriptBridge);if(window.WVJBCallbacks)return window.WVJBCallbacks.push(e);window.WVJBCallbacks=[e];const t=document.createElement("iframe");t.style.display="none",t.src="https://__bridge_loaded__",document.documentElement.appendChild(t),setTimeout((()=>document.documentElement.removeChild(t)),0)}callHandler(e,t){return new Promise((n=>{var a;null==(a=this.instance)||a.callHandler(e,t,n)}))}ping(){return this.callHandler("ping")}readConfigString(){return this.callHandler("readConfigString")}getPasteboard(){return this.callHandler("getPasteboard")}getAPIInfo(){return this.callHandler("apiInfo")}setPasteboard(e){return this.callHandler("setPasteboard",e)}writeConfigWithString(e){return this.callHandler("writeConfigWithString",e)}setSystemProxy(e){return this.callHandler("setSystemProxy",e)}getStartAtLogin(){return this.callHandler("getStartAtLogin")}getProxyDelay(e){return this.callHandler("speedTest",e)}setStartAtLogin(e){return this.callHandler("setStartAtLogin",e)}isSystemProxySet(){return this.callHandler("isSystemProxySet")}}var $;($||($={})).SPEED_NOTIFY="speed-notify";var R=new class{constructor(){this.EE=new t}notifySpeedTest(){this.EE.emit($.SPEED_NOTIFY)}subscribe(e,t){this.EE.addListener(e,t)}unsubscribe(e,t){this.EE.removeListener(e,t)}};function D(e,t=""){return window.localStorage.getItem(e)||t}function I(e,t){return window.localStorage.setItem(e,t)}function A(){}async function B(e){try{return[await e,null]}catch(t){return[null,t]}}function M(e){const[t,s]=n(e);return[t,a.useMemo((()=>function(e,t){"string"==typeof e?s((n=>{const a=t;n[e]=a})):"function"==typeof e?s(e):"object"==typeof e&&s((t=>{const n=e;for(const e of Object.keys(n)){const a=e;t[a]=n[a]}}))}),[s])]}function H(e=!1){const[t,n]=a.useState(e);return{visible:t,hide:function(){n(!1)},show:function(){n(!0)}}}function U(e){const{title:t,children:n,className:o,style:r}=e;return a.createElement("header",{className:s("header",o),style:r},a.createElement("h1",null,t),a.createElement("div",{className:"operations"},n))}function O(t){const{type:n,size:o=14,className:r,style:l}=t,c=s("clash-iconfont",`icon-${n}`,r),i=e({fontSize:o},l),u=e(e({},t),{className:c,style:i});return a.createElement("i",e({},u))}function j(e){const{className:t,checked:n=!1,disabled:o=!1,onChange:r=A}=e,l=s("switch",{checked:n,disabled:o},t);return a.createElement("div",{className:l,onClick:function(){o||r(!n)}},a.createElement(O,{className:"switch-icon",type:"check",size:20,style:{fontWeight:"bold"}}))}function F(e){const{className:t,style:n,children:o}=e;return a.createElement("div",{className:s("card",t),style:n},o)}function z(e){const{options:t,value:n,onSelect:o}=e;return a.createElement("div",{className:"button-select"},t.map((e=>a.createElement("button",{value:e.value,key:e.value,className:s("button-select-options",{actived:n===e.value}),onClick:()=>null==o?void 0:o(e.value)},e.label))))}const W={en_US:{SideBar:{Proxies:"Proxies",Overview:"Overview",Logs:"Logs",Rules:"Rules",Settings:"Setting",Connections:"Connections",Version:"Version"},Settings:{title:"Settings",labels:{startAtLogin:"Start at login",language:"language",setAsSystemProxy:"Set as system proxy",allowConnectFromLan:"Allow connect from Lan",proxyMode:"Mode",socks5ProxyPort:"Socks5 proxy port",httpProxyPort:"HTTP proxy port",mixedProxyPort:"Mixed proxy port",externalController:"External controller"},values:{cn:"中文",en:"English",global:"Global",rules:"Rules",direct:"Direct",script:"Script"},versionString:"Current ClashX is the latest version:{{version}}",checkUpdate:"Check Update",externalControllerSetting:{title:"External Controller",note:"Please note that modifying this configuration will only configure Dashboard. Will not modify your Clash configuration file. Please make sure that the external controller address matches the address in the Clash configuration file, otherwise, Dashboard will not be able to connect to Clash.",host:"Host",port:"Port",secret:"Secret"}},Logs:{title:"Logs"},Rules:{title:"Rules",providerTitle:"Providers",providerUpdateTime:"Last updated at",ruleCount:"Rule count"},Connections:{title:"Connections",keepClosed:"Keep closed connections",total:{text:"total",upload:"upload",download:"download"},closeAll:{title:"Warning",content:"This would close all connections"},filter:{all:"All"},columns:{host:"Host",network:"Network",type:"Type",chains:"Chains",rule:"Rule",time:"Time",speed:"Speed",upload:"Upload",download:"Download",sourceIP:"Source IP"}},Proxies:{title:"Proxies",editDialog:{title:"Edit Proxy",color:"Color",name:"Name",type:"Type",server:"Server",port:"Port",password:"Password",cipher:"Cipher",obfs:"Obfs","obfs-host":"Obfs-host",uuid:"UUID",alterId:"AlterId",tls:"TLS"},groupTitle:"Policy Group",providerTitle:"Providers",providerUpdateTime:"Last updated at",expandText:"Expand",collapseText:"Collapse",speedTestText:"Speed Test",breakConnectionsText:"Close connections which include the group"},Modal:{ok:"Ok",cancel:"Cancel"}},zh_CN:{SideBar:{Proxies:"代理",Overview:"总览",Logs:"日志",Rules:"规则",Settings:"设置",Connections:"连接",Version:"版本"},Settings:{title:"设置",labels:{startAtLogin:"开机时启动",language:"语言",setAsSystemProxy:"设置为系统代理",allowConnectFromLan:"允许来自局域网的连接",proxyMode:"代理模式",socks5ProxyPort:"Socks5 代理端口",httpProxyPort:"HTTP 代理端口",mixedProxyPort:"混合代理端口",externalController:"外部控制设置"},values:{cn:"中文",en:"English",global:"全局",rules:"规则",direct:"直连",script:"脚本"},versionString:"当前 ClashX 已是最新版本:{{version}}",checkUpdate:"检查更新",externalControllerSetting:{title:"编辑外部控制设置",note:"请注意,修改该配置项并不会修改你的 Clash 配置文件,请确认修改后的外部控制地址和 Clash 配置文件内的地址一致,否则会导致 Dashboard 无法连接。",host:"Host",port:"端口",secret:"密钥"}},Logs:{title:"日志"},Rules:{title:"规则",providerTitle:"规则集",providerUpdateTime:"最后更新于",ruleCount:"规则条数"},Connections:{title:"连接",keepClosed:"保留关闭连接",total:{text:"总量",upload:"上传",download:"下载"},closeAll:{title:"警告",content:"将会关闭所有连接"},filter:{all:"全部"},columns:{host:"域名",network:"网络",type:"类型",chains:"节点链",rule:"规则",time:"连接时间",speed:"速率",upload:"上传",download:"下载",sourceIP:"来源 IP"}},Proxies:{title:"代理",editDialog:{title:"编辑代理",color:"颜色",name:"名字",type:"类型",server:"服务器",port:"端口",password:"密码",cipher:"加密方式",obfs:"Obfs","obfs-host":"Obfs-host",uuid:"UUID",alterId:"AlterId",tls:"TLS"},groupTitle:"策略组",providerTitle:"代理集",providerUpdateTime:"最后更新于",expandText:"展开",collapseText:"收起",speedTestText:"测速",breakConnectionsText:"切换时打断包含策略组的连接"},Modal:{ok:"确 定",cancel:"取 消"}}},_=Object.keys(W);function G(e){const[t,n]=o(e);return[t,a.useMemo((()=>function(e,t){if("string"==typeof e)n((n=>r(n,(n=>{const a=t;n[e]=a}))));else if("function"==typeof e){const t=e;n((e=>r(e,t)))}else"object"==typeof e&&n((t=>r(t,(t=>{const n=e;for(const e of Object.keys(n)){const a=e;t[a]=n[a]}}))))}),[n])]}function V(e){let t=null;return async function(){return t||(t=e(),t.catch((e=>{throw t=null,e})))}}class X{constructor(e){this.EE=new t,this.innerBuffer=[],this.isClose=!1,this.config=Object.assign({bufferLength:0,retryInterval:5e3,headers:{}},e),this.config.useWebsocket?this.websocketLoop():this.loop()}websocketLoop(){var e;const t=new URL(this.config.url);t.protocol="http:"===t.protocol?"ws:":"wss:",t.searchParams.set("token",null!=(e=this.config.token)?e:"");const n=new WebSocket(t.toString());n.addEventListener("message",(e=>{const t=JSON.parse(e.data);this.EE.emit("data",[t]),this.config.bufferLength>0&&(this.innerBuffer.push(t),this.innerBuffer.length>this.config.bufferLength&&this.innerBuffer.splice(0,this.innerBuffer.length-this.config.bufferLength))})),n.addEventListener("close",(()=>setTimeout(this.websocketLoop,this.config.retryInterval))),n.addEventListener("error",(e=>{this.EE.emit("error",e),setTimeout(this.websocketLoop,this.config.retryInterval)}))}async loop(){const[e,t]=await B(fetch(this.config.url,{mode:"cors",headers:this.config.token?{Authorization:`Bearer ${this.config.token}`}:{}}));if(t||!e.body)return void this.retry(t);const n=e.body.getReader(),a=new TextDecoder;for(;!this.isClose;){const[{value:e},t]=await B(null==n?void 0:n.read());if(t){this.retry(t);break}const s=a.decode(e).trim().split("\n").map((e=>JSON.parse(e)));this.EE.emit("data",s),this.config.bufferLength>0&&(this.innerBuffer.push(...s),this.innerBuffer.length>this.config.bufferLength&&this.innerBuffer.splice(0,this.innerBuffer.length-this.config.bufferLength))}}retry(e){this.isClose||(this.EE.emit("error",e),window.setTimeout(this.loop,this.config.retryInterval))}subscribe(e,t){this.EE.addListener(e,t)}unsubscribe(e,t){this.EE.removeListener(e,t)}buffer(){return this.innerBuffer.slice()}destory(){this.EE.removeAllListeners(),this.isClose=!0}}async function J(){if(S()){const e=await T.getAPIInfo();return{hostname:e.host,port:e.port,secret:e.secret,protocol:"http:"}}const e=D("externalControllerAddr","127.0.0.1"),t=D("externalControllerPort","9090"),n=D("secret",""),a="127.0.0.1"===e?"http:":window.location.protocol;if(!e||!t)throw new Error("can't get hostname or port");return{hostname:e,port:t,secret:n,protocol:a}}const Y=V((async()=>{const{hostname:e,port:t,secret:n,protocol:a}=await J();return l.create({baseURL:`${a}//${e}:${t}`,headers:n?{Authorization:`Bearer ${n}`}:{}})}));async function K(){return(await Y()).get("configs")}async function q(e){return(await Y()).patch("configs",e)}async function Q(){return(await Y()).get("version")}async function Z(e){return(await Y()).delete(`connections/${e}`)}const ee=V((async function(){const e=await J(),{data:t}=await K(),[n,a]=await B(Q()),s=!!(a?"unkonwn version":n.data.version)||!0,o=`${e.protocol}//${e.hostname}:${e.port}/logs?level=${t["log-level"]}`;return new X({url:o,bufferLength:200,token:e.secret,useWebsocket:s})})),te=V((async function(){const e=await J(),[t,n]=await B(Q()),a=!!(n?"unkonwn version":t.data.version)||!0,s=`${e.protocol}//${e.hostname}:${e.port}/connections`;return new X({url:s,bufferLength:200,token:e.secret,useWebsocket:a})})),ne=c({key:"identity",default:!0});function ae(){const[e,t]=o(ne);return{identity:e,wrapFetcher:function(e){return async function(...n){const[a,s]=await B(e(...n)),o=s;if(o&&(!o.response||401===o.response.status))throw t(!1),s;return t(!0),a}},set:t}}const se=c({key:"i18n",default:function(){const e=D("language");if(e&&_.includes(e))return e;const t=function(){const e=[];if(window.navigator)if(window.navigator.languages)for(const t of window.navigator.languages)e.push(t);else window.navigator.language&&e.push(navigator.language);return e}();for(const n of t){if(n.includes("zh"))return"zh_CN";if(n.includes("us"))return"en_US"}return"en_US"}()});function oe(){const[e,t]=o(se);const n=a.useCallback((function(t){return{t:function(n){return d(W[e][t],n)}}}),[e]);return{lang:e,locales:_,setLang:function(e){t(e),function(e){I("language",e)}(e)},translation:n}}const re=c({key:"version",default:{version:"",premium:!1}});function le(){const[e,t]=o(re),{set:n}=ae();return{version:e.version,premium:e.premium,update:async function(){const[e,a]=await B(Q());n(!a),t(a?{version:"",premium:!1}:{version:e.data.version,premium:!!e.data.premium})}}}const ce=c({key:"config",default:{breakConnections:!1}});function ie(){const[e,t]=G(ce);return{data:e,set:t}}const ue=c({key:"proxyProvider",default:[]});function de(){const[e,t]=o(ue),{data:n,mutate:s}=u("/providers/proxy",(async()=>{const e=await async function(){return(await Y()).get("providers/proxies",{validateStatus:e=>e>=200&&e<300||404===e}).then((e=>(404===e.status&&(e.data={providers:{}}),e)))}();return Object.keys(e.data.providers).map((t=>e.data.providers[t])).filter((e=>"default"!==e.name)).filter((e=>"Compatible"!==e.vehicleType))}));return a.useEffect((()=>t(null!=n?n:[])),[n,t]),{providers:e,update:s}}function me(){const[{premium:e}]=o(re),{data:t,mutate:n}=u("/providers/rule",(async()=>{if(!e)return[];const t=await async function(){return(await Y()).get("providers/rules")}();return Object.keys(t.data.providers).map((e=>t.data.providers[e]))}));return{providers:null!=t?t:[],update:n}}function pe(){const{data:e,mutate:t}=u("/config",(async()=>{var e;const t=(await K()).data;return{port:t.port,socksPort:t["socks-port"],mixedPort:null!=(e=t["mixed-port"])?e:0,redirPort:t["redir-port"],mode:t.mode.toLowerCase(),logLevel:t["log-level"],allowLan:t["allow-lan"]}}));return{general:null!=e?e:{},update:t}}const fe=c({key:"proxies",default:{proxies:[],groups:[],global:{name:"GLOBAL",type:"Selector",now:"",history:[],all:[]}}});function he(){const[t,n]=G(fe),{mutate:s}=u("/proxies",(async()=>{const t=await async function(){return(await Y()).get("proxies")}(),a=t.data.proxies.GLOBAL;a.name="GLOBAL";const s=new Set(["Selector","URLTest","Fallback","LoadBalance"]),o=new Set(["DIRECT","REJECT","GLOBAL"]),r=a.all.filter((e=>!o.has(e))).map((n=>e(e({},t.data.proxies[n]),{name:n}))),[l,c]=function(e,t){const n=[],a=[];for(const s of e)t(s)?n.push(s):a.push(s);return[n,a]}(r,(e=>!s.has(e.type)));n({proxies:l,groups:c,global:a})})),o=a.useCallback(((e,t)=>{n((n=>{for(const a of n.groups)a.name===e&&(a.now=t)}))}),[n]);return{proxies:t.proxies,groups:t.groups,global:t.global,update:s,markProxySelected:o,set:n}}const ge=i({key:"proxyMapping",get:({get:e})=>{const t=e(fe),n=e(ue),a=new Map;for(const s of t.proxies)a.set(s.name,s);for(const s of n)for(const e of s.proxies)a.set(e.name,e);return a}});function ye(){const{data:e,mutate:t}=u("/clashx",(async()=>{var e,t;if(!S())return{isClashX:!1,startAtLogin:!1,systemProxy:!1};return{startAtLogin:null!=(e=await(null==T?void 0:T.getStartAtLogin()))&&e,systemProxy:null!=(t=await(null==T?void 0:T.isSystemProxySet()))&&t,isClashX:!0}}));return{data:e,update:t}}const ve=c({key:"apiData",default:{hostname:"127.0.0.1",port:"9090",secret:""}});function Ee(){const[t,n]=o(ve);return{data:t,fetch:a.useCallback((async function(){const t=await J();n(e({},t))}),[n]),update:async function(e){const{hostname:t,port:n,secret:a}=e;I("externalControllerAddr",t),I("externalControllerPort",n),I("secret",a),window.location.reload()}}}const we=c({key:"rules",default:[]});function xe(){const[e,t]=G(we);return{rules:e,update:async function(){const e=await async function(){return(await Y()).get("rules")}();t(e.data.rules)}}}function be(e){const{className:t,data:n,onClick:o,select:r,canClick:l,errSet:c,rowHeight:i}=e,{translation:u}=oe(),{t:d}=u("Proxies"),[m,p]=a.useState(!1),[f,h]=a.useState(!1),g=a.useRef(null);a.useLayoutEffect((()=>{var e,t;h((null!=(t=null==(e=null==g?void 0:g.current)?void 0:e.offsetHeight)?t:0)>30)}),[]);const y=m?"auto":i,v=l?o:A;const E=n.map((e=>{const t=s({"tags-selected":r===e,"can-click":l,error:null==c?void 0:c.has(e)});return a.createElement("li",{className:t,key:e,onClick:()=>v(e)},e)}));return a.createElement("div",{className:s("tags-container",t),style:{height:y}},a.createElement("ul",{ref:g,className:s("tags",{expand:m})},E),f&&a.createElement("span",{className:"tags-expand",onClick:function(){p(!m)}},d(m?"collapseText":"expandText")))}function Ne(e){const{className:t,style:n,value:o="",align:r="center",inside:l=!1,autoFocus:c=!1,type:i="text",disabled:u=!1,onChange:d=A,onBlur:m=A}=e,p=s("input",`input-align-${r}`,{"input-inside":l},t);return a.createElement("input",{disabled:u,className:p,style:n,value:o,autoFocus:c,type:i,onChange:e=>d(e.target.value,e),onBlur:m})}function Ce(e){const{show:t=!0,title:n="Modal",size:o="small",footer:r=!0,onOk:l=A,onClose:c=A,bodyClassName:i,bodyStyle:u,className:d,style:p,children:f}=e,{translation:h}=oe(),{t:g}=h("Modal"),y=a.useRef(document.createElement("div")),v=a.useRef(null);a.useLayoutEffect((()=>{const e=y.current;return document.body.appendChild(e),()=>{document.body.removeChild(e)}}),[]);const E=a.createElement("div",{className:s("modal-mask",{"modal-show":t}),ref:v,onMouseDown:function(e){e.target===v.current&&c()}},a.createElement("div",{className:s("modal",`modal-${o}`,d),style:p},a.createElement("div",{className:"modal-title"},n),a.createElement("div",{className:s("modal-body",i),style:u},f),r&&a.createElement("div",{className:"footer"},a.createElement(Se,{onClick:()=>c()},g("cancel")),a.createElement(Se,{type:"primary",onClick:()=>l()},g("ok")))));return m.createPortal(E,y.current)}const ke={success:"check",info:"info",warning:"info",error:"close"};function Pe(e){const{message:t="",type:n="info",inside:o=!1,children:r,className:l,style:c}=e,i=s("alert",`alert-${o?"note":"box"}-${n}`,l);return a.createElement("div",{className:i,style:c},a.createElement("span",{className:"alert-icon"},a.createElement(O,{type:ke[n],size:26})),t?a.createElement("p",{className:"alert-message"},t):a.createElement("div",{className:"alert-message"},r))}function Se(e){const{type:t="normal",onClick:n=A,children:o,className:r,style:l}=e,c=s("button",`button-${t}`,r);return a.createElement("button",{className:c,style:l,onClick:n},o)}function Te(e){const{className:t,checked:n=!1,onChange:o=A}=e,r=s("checkbox",{checked:n},t);return a.createElement("div",{className:r,onClick:function(){o(!n)}},a.createElement(O,{className:"checkbox-icon",type:"check",size:18}),a.createElement("div",null,e.children))}function Le(t){const{color:n,className:o,style:r}=t,l=s("tag",o),c=e({color:n},r),i=e(e({},t),{className:l,style:c});return a.createElement("span",e({},i),t.children)}function $e(e){const t=s("spinner",e.className);return a.createElement("div",{className:t},a.createElement("div",{className:"spinner-circle"},a.createElement("div",{className:"spinner-inner"})),a.createElement("div",{className:"spinner-circle"},a.createElement("div",{className:"spinner-inner"})),a.createElement("div",{className:"spinner-circle"},a.createElement("div",{className:"spinner-inner"})),a.createElement("div",{className:"spinner-circle"},a.createElement("div",{className:"spinner-inner"})),a.createElement("div",{className:"spinner-circle"},a.createElement("div",{className:"spinner-inner"})))}function Re(e){const t=s("loading","visible",e.className);return e.visible?a.createElement("div",{className:t},a.createElement($e,{className:e.spinnerClassName})):null}const De={"#909399":0,"#00c520":260,"#ff9a28":600,"#ff3e5e":1/0};async function Ie(e){var t;if(S()){return null!=(t=await(null==T?void 0:T.getProxyDelay(e)))?t:0}const{data:{delay:n}}=await async function(e){return(await Y()).get(`proxies/${encodeURIComponent(e)}/delay`,{params:{timeout:5e3,url:"http://www.gstatic.com/generate_204"}})}(e);return n}function Ae(e){const{config:t,className:n}=e,{set:o}=he(),r=a.useCallback((async function(){const[e,n]=await B(Ie(t.name)),a=n?0:e;o((e=>{const n=e.proxies.find((e=>e.name===t.name));n&&n.history.push({time:Date.now().toString(),delay:a})}))}),[t.name,o]),l=a.useMemo((()=>{var e;return(null==(e=t.history)?void 0:e.length)?t.history.slice(-1)[0].delay:0}),[t]);a.useLayoutEffect((()=>(R.subscribe($.SPEED_NOTIFY,r),()=>R.unsubscribe($.SPEED_NOTIFY,r))),[r]);const c=a.useMemo((()=>0===l),[l]),i=a.useMemo((()=>Object.keys(De).find((e=>l<=De[e]))),[l]),u=c?void 0:i;return a.createElement("div",{className:s("proxy-item",{"proxy-error":c},n)},a.createElement("span",{className:"proxy-type",style:{backgroundColor:u}},t.type),a.createElement("p",{className:"proxy-name"},t.name),a.createElement("p",{className:"proxy-delay"},0===l?"-":`${l}ms`))}function Be(e){const{markProxySelected:t}=he(),n=p(ge),{data:s}=ie(),{config:o}=e;const r=a.useMemo((()=>{var e;const t=new Set;for(const a of o.all){const s=null==(e=n.get(a))?void 0:e.history;(null==s?void 0:s.length)&&0===s.slice(-1)[0].delay&&t.add(a)}return t}),[o.all,n]),l="Selector"===o.type;return a.createElement("div",{className:"proxy-group"},a.createElement("div",{className:"proxy-group-part"},a.createElement("span",{className:"proxy-group-name"},o.name),a.createElement(Le,{className:"proxy-group-type"},o.type)),a.createElement("div",{className:"proxy-group-tags-container"},a.createElement(be,{className:"proxy-group-tags",data:o.all,onClick:async function(n){if(await async function(e,t){return(await Y()).put(`proxies/${encodeURIComponent(e)}`,{name:t})}(e.config.name,n),t(e.config.name,n),s.breakConnections){const t=[],n=await async function(){return(await Y()).get("connections")}();for(const a of n.data.connections)a.chains.includes(e.config.name)&&t.push(a.id);for(const e of t)Z(e)}},errSet:r,select:o.now,canClick:l,rowHeight:30})))}function Me(e,t){const n="en_US"===t?"en":"zh-cn";return f().locale(n).from(e)}f.extend(h);function He(e){const{update:t}=de(),{translation:n,lang:s}=oe(),{provider:o}=e,{t:r}=n("Proxies"),{visible:l,hide:c,show:i}=H();const u=a.useMemo((()=>o.proxies.slice().sort(((e,t)=>-1*Fe(e,t)))),[o.proxies]);return a.createElement(F,{className:"proxy-provider"},a.createElement(Re,{visible:l}),a.createElement("div",{className:"proxy-provider-header"},a.createElement("div",{className:"proxy-provider-header-part"},a.createElement("span",{className:"proxy-provider-name"},o.name),a.createElement(Le,null,o.vehicleType)),a.createElement("div",{className:"proxy-provider-header-part"},o.updatedAt&&a.createElement("span",{className:"proxy-provider-update"},`${r("providerUpdateTime")}: ${Me(new Date(o.updatedAt),s)}`),a.createElement(O,{className:"proxy-provider-icon healthcheck",type:"healthcheck",size:18,onClick:function(){i(),async function(e){return(await Y()).get(`providers/proxies/${encodeURIComponent(e)}/healthcheck`)}(o.name).then((()=>t())).finally((()=>c()))}}),a.createElement(O,{className:"proxy-provider-icon",type:"update",size:18,onClick:function(){i(),async function(e){return(await Y()).put(`providers/proxies/${encodeURIComponent(e)}`)}(o.name).then((()=>t())).finally((()=>c()))}}))),a.createElement("ul",{className:"proxies-list"},u.map((e=>a.createElement("li",{key:e.name},a.createElement(Ae,{className:"proxy-provider-item",config:e}))))))}var Ue,Oe;(Oe=Ue||(Ue={}))[Oe.None=0]="None",Oe[Oe.Asc=1]="Asc",Oe[Oe.Desc=2]="Desc";const je={0:"sort",1:"sort-ascending",2:"sort-descending"};function Fe(e,t){const n=e.history.length?e.history.slice(-1)[0].delay:0;return((t.history.length?t.history.slice(-1)[0].delay:0)||Number.MAX_SAFE_INTEGER)-(n||Number.MAX_SAFE_INTEGER)}function ze(){const{groups:e,global:t}=he(),{data:n,set:s}=ie(),{general:o}=pe(),{translation:r}=oe(),{t:l}=r("Proxies"),c=a.useMemo((()=>"global"===o.mode?[t]:e),[o,e,t]);return a.createElement(a.Fragment,null,0!==c.length&&a.createElement("div",{className:"proxies-container"},a.createElement(U,{title:l("groupTitle")},a.createElement(Te,{className:"connections-filter",checked:n.breakConnections,onChange:e=>s("breakConnections",e)},l("breakConnectionsText"))),a.createElement(F,{className:"proxies-group-card"},a.createElement("ul",{className:"proxies-group-list"},c.map((e=>a.createElement("li",{className:"proxies-group-item",key:e.name},a.createElement(Be,{config:e}))))))))}function We(){const{providers:e}=de(),{translation:t}=oe(),{t:n}=t("Proxies");return a.createElement(a.Fragment,null,0!==e.length&&a.createElement("div",{className:"proxies-container"},a.createElement(U,{title:n("providerTitle")}),a.createElement("ul",{className:"proxies-providers-list"},e.map((e=>a.createElement("li",{className:"proxies-providers-item",key:e.name},a.createElement(He,{provider:e})))))))}function _e(){const{proxies:e}=he(),{translation:t}=oe(),{t:n}=t("Proxies");const{current:s,next:o}=function(e,t=0){if(e.length<2)throw new Error("List requires at least two elements");const[n,s]=a.useState(t);return{current:a.useMemo((()=>e[n]),[e,n]),next:function(){s((n+1)%e.length)}}}([1,2,0]),r=a.useMemo((()=>{switch(s){case 2:return e.slice().sort(((e,t)=>Fe(e,t)));case 1:return e.slice().sort(((e,t)=>-1*Fe(e,t)));default:return e.slice()}}),[s,e]),l=o;return a.createElement(a.Fragment,null,0!==r.length&&a.createElement("div",{className:"proxies-container"},a.createElement(U,{title:n("title")},a.createElement(O,{className:"proxies-action-icon",type:je[s],onClick:l,size:20}),a.createElement(O,{className:"proxies-action-icon",type:"speed",size:20}),a.createElement("span",{className:"proxies-speed-test",onClick:function(){R.notifySpeedTest()}},n("speedTestText"))),a.createElement("ul",{className:"proxies-list"},r.map((e=>a.createElement("li",{key:e.name},a.createElement(Ae,{config:e})))))))}function Ge(){return a.createElement("div",{className:"page"},a.createElement(ze,null),a.createElement(We,null),a.createElement(_e,null))}function Ve(){const t=a.useRef(null),n=a.useRef([]),[s,o]=a.useState([]),{translation:r}=oe(),{t:l}=r("Logs");return a.useLayoutEffect((()=>{const e=t.current;e&&(e.scrollTop=e.scrollHeight)})),a.useEffect((()=>{let t=null;function a(t){n.current=n.current.slice().concat(t.map((t=>e(e({},t),{time:new Date})))),o(n.current)}return async function(){t=await ee(),n.current=t.buffer(),o(n.current),t.subscribe("data",a)}(),()=>null==t?void 0:t.unsubscribe("data",a)}),[]),a.createElement("div",{className:"page"},a.createElement(U,{title:l("title")}),a.createElement(F,{className:"logs-card"},a.createElement("ul",{className:"logs-panel",ref:t},s.map(((e,t)=>a.createElement("li",{key:t},a.createElement("span",{className:"logs-panel-time"},f(e.time).format("YYYY-MM-DD HH:mm:ss")),a.createElement("span",null,"[",e.type,"] ",e.payload)))))))}function Xe(e){const{update:t}=me(),{translation:n,lang:o}=oe(),{provider:r}=e,{t:l}=n("Rules"),{visible:c,hide:i,show:u}=H();const d=s("rule-provider-icon",{"rule-provider-loading":c});return a.createElement(F,{className:"rule-provider"},a.createElement("div",{className:"rule-provider-header"},a.createElement("div",{className:"rule-provider-header-part"},a.createElement("span",{className:"rule-provider-name"},r.name),a.createElement(Le,null,r.vehicleType),a.createElement(Le,{className:"rule-provider-behavior"},r.behavior),a.createElement("span",{className:"rule-provider-update"},`${l("ruleCount")}: ${r.ruleCount}`)),a.createElement("div",{className:"rule-provider-header-part"},r.updatedAt&&a.createElement("span",{className:"rule-provider-update"},`${l("providerUpdateTime")}: ${Me(new Date(r.updatedAt),o)}`),a.createElement(O,{className:d,type:"update",size:18,onClick:function(){u(),async function(e){return(await Y()).put(`providers/rules/${encodeURIComponent(e)}`)}(r.name).then((()=>t())).finally((()=>i()))}}))))}function Je(){const{providers:e}=me(),{translation:t}=oe(),{t:n}=t("Rules");return a.createElement(a.Fragment,null,0!==e.length&&a.createElement("div",{className:"proxies-container"},a.createElement(U,{title:n("providerTitle")}),a.createElement("ul",{className:"proxies-providers-list"},e.map((e=>a.createElement("li",{className:"proxies-providers-item",key:e.name},a.createElement(Xe,{provider:e})))))))}function Ye(){const{rules:e,update:t}=xe(),{translation:n}=oe(),{t:s}=n("Rules");function o({index:t,style:n}){const s=e[t];return a.createElement("li",{className:"rule-item",style:n},a.createElement("div",{className:"rule-item-row flex"},a.createElement("div",{className:"rule-type w-40 text-center"},s.type),a.createElement("div",{className:"payload flex-1 text-center"},s.payload),a.createElement("div",{className:"rule-proxy w-40 text-center"},s.proxy)))}return u("rules",t),a.createElement("div",{className:"page"},a.createElement(Je,null),a.createElement(U,{title:s("title")}),a.createElement(F,{className:"rules-card"},a.createElement(g,{className:"rules"},(({height:t,width:n})=>a.createElement(y,{height:t,width:n,itemCount:e.length,itemSize:50},o)))))}const Ke=[{label:"中文",value:"zh_CN"},{label:"English",value:"en_US"}];function qe(){var e,t,n;const{premium:o}=le(),{data:r,update:l}=ye(),{general:c,update:i}=pe(),{set:u}=ae(),{data:d}=Ee(),{translation:m,setLang:p,lang:f}=oe(),{t:h}=m("Settings"),[g,y]=M({socks5ProxyPort:7891,httpProxyPort:7890,mixedProxyPort:0});a.useEffect((()=>{var e,t,n;y("socks5ProxyPort",null!=(e=null==c?void 0:c.socksPort)?e:0),y("httpProxyPort",null!=(t=null==c?void 0:c.port)?t:0),y("mixedProxyPort",null!=(n=null==c?void 0:c.mixedPort)?n:0)}),[c,y]);const{hostname:E,port:w}=d,{allowLan:x,mode:b}=c,N=null!=(e=null==r?void 0:r.startAtLogin)&&e,C=null!=(t=null==r?void 0:r.systemProxy)&&t,k=null!=(n=null==r?void 0:r.isClashX)&&n,P=a.useMemo((()=>{const e=[{label:h("values.global"),value:"Global"},{label:h("values.rules"),value:"Rule"},{label:h("values.direct"),value:"Direct"}];return o&&e.push({label:h("values.script"),value:"Script"}),e}),[h,o]);return a.createElement("div",{className:"page"},a.createElement(U,{title:h("title")}),a.createElement(F,{className:"settings-card"},a.createElement("div",{className:"flex flex-wrap"},a.createElement("div",{className:"flex w-1/2 items-center justify-between px-8 py-3"},a.createElement("span",{className:"label font-bold"},h("labels.startAtLogin")),a.createElement(j,{disabled:!(null==r?void 0:r.isClashX),checked:N,onChange:async function(e){await(null==T?void 0:T.setStartAtLogin(e)),l()}})),a.createElement("div",{className:"flex w-1/2 items-center justify-between px-8 py-3"},a.createElement("span",{className:"label font-bold"},h("labels.language")),a.createElement(z,{options:Ke,value:f,onSelect:e=>{p(e)}}))),a.createElement("div",{className:"flex flex-wrap"},a.createElement("div",{className:"flex w-1/2 items-center justify-between px-8 py-3"},a.createElement("span",{className:"label font-bold"},h("labels.setAsSystemProxy")),a.createElement(j,{disabled:!k,checked:C,onChange:async function(e){await(null==T?void 0:T.setSystemProxy(e)),l()}})),a.createElement("div",{className:"flex w-1/2 items-center justify-between px-8 py-3"},a.createElement("span",{className:"label font-bold"},h("labels.allowConnectFromLan")),a.createElement(j,{checked:x,onChange:async function(e){await q({"allow-lan":e}),await i()}})))),a.createElement(F,{className:"settings-card"},a.createElement("div",{className:"flex flex-wrap"},a.createElement("div",{className:"flex w-1/2 items-center justify-between px-8 py-3"},a.createElement("span",{className:"label font-bold"},h("labels.proxyMode")),a.createElement(z,{options:P,value:v(b),onSelect:async function(e){await q({mode:e}),await i()}})),a.createElement("div",{className:"flex w-1/2 items-center justify-between px-8 py-3"},a.createElement("span",{className:"label font-bold"},h("labels.socks5ProxyPort")),a.createElement(Ne,{className:"w-28",disabled:k,value:g.socks5ProxyPort,onChange:e=>y("socks5ProxyPort",+e),onBlur:async function(){await q({"socks-port":g.socks5ProxyPort}),await i()}}))),a.createElement("div",{className:"flex flex-wrap"},a.createElement("div",{className:"flex w-1/2 items-center justify-between px-8 py-3"},a.createElement("span",{className:"label font-bold"},h("labels.httpProxyPort")),a.createElement(Ne,{className:"w-28",disabled:k,value:g.httpProxyPort,onChange:e=>y("httpProxyPort",+e),onBlur:async function(){await q({port:g.httpProxyPort}),await i()}})),a.createElement("div",{className:"flex w-1/2 items-center justify-between px-8 py-3"},a.createElement("span",{className:"label font-bold"},h("labels.mixedProxyPort")),a.createElement(Ne,{className:"w-28",disabled:k,value:g.mixedProxyPort,onChange:e=>y("mixedProxyPort",+e),onBlur:async function(){await q({"mixed-port":g.mixedProxyPort}),await i()}}))),a.createElement("div",{className:"flex flex-wrap"},a.createElement("div",{className:"flex w-1/2 items-center justify-between px-8 py-3"},a.createElement("span",{className:"label font-bold"},h("labels.externalController")),a.createElement("span",{className:s({"modify-btn":!k},"external-controller"),onClick:()=>!k&&u(!1)},`${E}:${w}`)),a.createElement("div",{className:"w-1/2 px-8"}))),a.createElement(F,{className:"clash-version",style:{display:"none"}},a.createElement("span",{className:"check-icon"},a.createElement(O,{type:"check",size:20})),a.createElement("p",{className:"version-info"},h("versionString")),a.createElement("span",{className:"check-update-btn"},h("checkUpdate"))))}var Qe,Ze;function et(e){const{routes:t}=e,{translation:n}=oe(),{version:o,premium:r,update:l}=le(),{data:c}=ye(),{t:i}=n("SideBar");u("version",l);const d=t.map((({path:e,name:t,exact:n,noMobile:o})=>a.createElement("li",{className:s("item",{"no-mobile":o}),key:t},a.createElement(E,{to:e,activeClassName:"active",exact:!!n},i(t)))));return a.createElement("div",{className:"sidebar"},a.createElement("img",{src:"./assets/logo.b453e72f.png",alt:"logo",className:"sidebar-logo"}),a.createElement("ul",{className:"sidebar-menu"},d),a.createElement("div",{className:"sidebar-version"},a.createElement("span",{className:"sidebar-version-label"},"Clash",(null==c?void 0:c.isClashX)&&"X"," ",i("Version")),a.createElement("span",{className:"sidebar-version-text"},o),r&&a.createElement("span",{className:"sidebar-version-label"},"Premium")))}(Ze=Qe||(Qe={})).Domain="Domain",Ze.DomainSuffix="DomainSuffix",Ze.DomainKeyword="DomainKeyword",Ze.GeoIP="GeoIP",Ze.IPCIDR="IPCIDR",Ze.SrcIPCIDR="SrcIPCIDR",Ze.SrcPort="SrcPort",Ze.DstPort="DstPort",Ze.MATCH="MATCH",Ze.RuleSet="RuleSet";function tt(e){const{translation:t}=oe(),n=a.useMemo((()=>t("Connections").t),[t]),{className:o,style:r}=e,l=s("connections-devices",o);function c(t){var n;null==(n=e.onChange)||n.call(e,t)}return a.createElement("div",{className:l,style:r},a.createElement("div",{className:s("connections-devices-item",{selected:""===e.selected}),onClick:()=>c("")},n("filter.all")),e.devices.map((t=>a.createElement("div",{key:t.label,className:s("connections-devices-item",{selected:e.selected===t.label}),onClick:()=>c(t.label)},t.label," (",t.number,")"))))}class nt{constructor(){this.connections=new Map,this.saveDisconnection=!1}appendToSet(t){var n;const a=t.reduce(((e,t)=>e.set(t.id,t)),new Map);for(const e of this.connections.keys())if(!a.has(e))if(this.saveDisconnection){const t=this.connections.get(e);t&&(t.completed=!0,t.uploadSpeed=0,t.downloadSpeed=0)}else this.connections.delete(e);for(const s of a.keys()){if(!this.connections.has(s)){this.connections.set(s,e(e({},a.get(s)),{uploadSpeed:0,downloadSpeed:0}));continue}const t=this.connections.get(s),o=a.get(s);null==(n=this.connections)||n.set(s,e(e({},o),{uploadSpeed:o.upload-t.upload,downloadSpeed:o.download-t.download}))}}toggleSave(){var e,t;if(this.saveDisconnection){this.saveDisconnection=!1;for(const n of this.connections.keys())(null==(t=null==(e=this.connections)?void 0:e.get(n))?void 0:t.completed)&&this.connections.delete(n)}else this.saveDisconnection=!0;return this.saveDisconnection}getConnections(){return[...this.connections.values()]}}var at,st;(st=at||(at={})).Host="host",st.Network="network",st.Type="type",st.Chains="chains",st.Rule="rule",st.Speed="speed",st.Upload="upload",st.Download="download",st.SourceIP="sourceIP",st.Time="time";const ot=new Set([at.Network,at.Type,at.Rule,at.Speed,at.Upload,at.Download,at.SourceIP,at.Time]);function rt(e){const t=["B","KB","MB","GB","TB"];let n=0;for(;~~(e/1024)&&nt("Connections").t),[t]),[r,l]=M({uploadTotal:0,downloadTotal:0}),{visible:c,show:i,hide:u}=H();const{connections:d,feed:m,save:p,toggleSave:f}=function(){const e=a.useMemo((()=>new nt),[]),t=a.useRef(!0),[n,s]=a.useState([]),[o,r]=a.useState(!1);return{connections:n,feed:a.useCallback((function(n){e.appendToSet(n),t.current&&s(e.getConnections()),t.current=!t.current}),[e]),toggleSave:a.useCallback((function(){const n=e.toggleSave();r(n),n||s(e.getConnections()),t.current=!0}),[e]),save:o}}(),h=a.useMemo((()=>d.map((e=>({id:e.id,host:`${e.metadata.host||e.metadata.destinationIP}:${e.metadata.destinationPort}`,chains:e.chains.slice().reverse().join(" / "),rule:e.rule===Qe.RuleSet?`${e.rule}(${e.rulePayload})`:e.rule,time:new Date(e.start).getTime(),upload:e.upload,download:e.download,sourceIP:e.metadata.sourceIP,type:e.metadata.type,network:e.metadata.network.toUpperCase(),speed:{upload:e.uploadSpeed,download:e.downloadSpeed},completed:!!e.completed})))),[d]),g=a.useMemo((()=>{const e=w(d,"metadata.sourceIP");return Object.keys(e).map((t=>({label:t,number:e[t].length}))).sort(((e,t)=>e.label.localeCompare(t.label)))}),[d]),y=a.useRef(null),{x:v}=x(y),E=a.useMemo((()=>[{Header:o(`columns.${at.Host}`),accessor:at.Host,minWidth:260,width:260},{Header:o(`columns.${at.Network}`),accessor:at.Network,minWidth:80,width:80},{Header:o(`columns.${at.Type}`),accessor:at.Type,minWidth:120,width:120},{Header:o(`columns.${at.Chains}`),accessor:at.Chains,minWidth:200,width:200},{Header:o(`columns.${at.Rule}`),accessor:at.Rule,minWidth:140,width:140},{id:at.Speed,Header:o(`columns.${at.Speed}`),accessor:e=>[e.speed.upload,e.speed.download],sortType(e,t){const n=e.original.speed,a=t.original.speed;return n.download===a.download?n.upload-a.upload:n.download-a.download},minWidth:200,width:200,sortDescFirst:!0},{Header:o(`columns.${at.Upload}`),accessor:at.Upload,minWidth:100,width:100,sortDescFirst:!0},{Header:o(`columns.${at.Download}`),accessor:at.Download,minWidth:100,width:100,sortDescFirst:!0},{Header:o(`columns.${at.SourceIP}`),accessor:at.SourceIP,minWidth:140,width:140},{Header:o(`columns.${at.Time}`),accessor:at.Time,minWidth:120,width:120,sortType:(e,t)=>t.original.time-e.original.time}]),[o]);a.useLayoutEffect((()=>{let e=null;function t(e){for(const t of e)l({uploadTotal:t.uploadTotal,downloadTotal:t.downloadTotal}),m(t.connections)}return async function(){e=await te(),e.subscribe("data",t)}(),()=>{e&&(e.unsubscribe("data",t),e.destory())}}),[m,l]);const{getTableProps:N,getTableBodyProps:C,headerGroups:k,rows:P,prepareRow:S,setFilter:T}=b.useTable({columns:E,data:h,autoResetSortBy:!1,autoResetFilters:!1,initialState:{sortBy:[{id:at.Time,desc:!1}]}},b.useResizeColumns,b.useBlockLayout,b.useFilters,b.useSortBy),L=a.useMemo((()=>k[0]),[k]),$=a.useCallback((function(e){switch(e.column.id){case at.Speed:return function(e,t){switch(!0){case 0===e&&0===t:return"-";case 0!==e&&0!==t:return`↑ ${rt(e)}/s ↓ ${rt(t)}/s`;case 0!==e:return`↑ ${rt(e)}/s`;default:return`↓ ${rt(t)}/s`}}(e.value[0],e.value[1]);case at.Upload:case at.Download:return rt(e.value);case at.Time:return Me(new Date(e.value),n);default:return e.value}}),[n]),[R,D]=a.useState("");return a.createElement("div",{className:"page"},a.createElement(U,{title:o("title")},a.createElement("span",{className:"connections-filter total"},`(${o("total.text")}: ${o("total.upload")} ${rt(r.uploadTotal)} ${o("total.download")} ${rt(r.downloadTotal)})`),a.createElement(Te,{className:"connections-filter",checked:p,onChange:f},o("keepClosed")),a.createElement(O,{className:"connections-filter dangerous",onClick:i,type:"close-all",size:20})),g.length>1&&a.createElement(tt,{devices:g,selected:R,onChange:function(e){D(e),null==T||T(at.SourceIP,e)}}),a.createElement(F,{className:"connections-card"},a.createElement("div",e(e({},N()),{className:"connections",ref:y}),a.createElement("div",e(e({},L.getHeaderGroupProps()),{className:"connections-header"}),L.headers.map(((t,n)=>{const o=t,r=o.id;return a.createElement("div",e(e({},o.getHeaderProps()),{className:s("connections-th",{resizing:o.isResizing,fixed:v>0&&o.id===at.Host}),key:r}),a.createElement("div",e({},o.getSortByToggleProps()),t.render("Header"),o.isSorted?o.isSortedDesc?" ↓":" ↑":null),n!==L.headers.length-1&&a.createElement("div",e(e({},o.getResizerProps()),{className:"connections-resizer"})))}))),a.createElement("div",e(e({},C()),{className:"connections-body"}),P.map((t=>(S(t),a.createElement("div",e(e({},t.getRowProps()),{className:"connections-item",key:t.original.id}),t.cells.map((n=>{const o=s("connections-block",{center:ot.has(n.column.id),completed:t.original.completed},{fixed:v>0&&n.column.id===at.Host});return a.createElement("div",e(e({},n.getCellProps()),{className:o,key:n.column.id}),$(n))}))))))))),a.createElement(Ce,{title:o("closeAll.title"),show:c,onClose:u,onOk:function(){(async function(){return(await Y()).delete("connections")})().finally((()=>u()))}},o("closeAll.content")))}function ct(){const{translation:e}=oe(),{t:t}=e("Settings"),{data:n,update:s,fetch:o}=Ee(),{identity:r,set:l}=ae(),[c,i]=M({hostname:"",port:"",secret:""});return a.useEffect((()=>{o()}),[o]),a.useEffect((()=>{i({hostname:n.hostname,port:n.port,secret:n.secret})}),[n,i]),a.createElement(Ce,{show:!r,title:t("externalControllerSetting.title"),bodyClassName:"external-controller",onClose:()=>l(!0),onOk:function(){const{hostname:e,port:t,secret:n}=c;s({hostname:e,port:t,secret:n})}},a.createElement(Pe,{type:"info",inside:!0},a.createElement("p",null,t("externalControllerSetting.note"))),a.createElement("div",{className:"flex items-center"},a.createElement("span",{className:"title w-14"},t("externalControllerSetting.host")),a.createElement(Ne,{className:"form flex-1",align:"left",inside:!0,value:c.hostname,onChange:e=>i("hostname",e)})),a.createElement("div",{className:"flex items-center"},a.createElement("div",{className:"title w-14"},t("externalControllerSetting.port")),a.createElement(Ne,{className:"form flex-1",align:"left",inside:!0,value:c.port,onChange:e=>i("port",e)})),a.createElement("div",{className:"flex items-center"},a.createElement("div",{className:"title w-14"},t("externalControllerSetting.secret")),a.createElement(Ne,{className:"form flex-1",align:"left",inside:!0,value:c.secret,onChange:e=>i("secret",e)})))}function it(){a.useEffect((()=>{ee()}),[]);const e=[{path:"/proxies",name:"Proxies",component:Ge},{path:"/logs",name:"Logs",component:Ve},{path:"/rules",name:"Rules",component:Ye,noMobile:!0},{path:"/connections",name:"Connections",component:lt,noMobile:!0},{path:"/settings",name:"Settings",component:qe}];return a.createElement("div",{className:s("app",{"not-clashx":!S()})},a.createElement(et,{routes:e}),a.createElement("div",{className:"page-container"},a.createElement(N,{exact:!0,path:"/",component:()=>a.createElement(C,{to:"/proxies"})}),e.map((e=>a.createElement(N,{exact:!1,path:e.path,key:e.path,component:e.component})))),a.createElement(ct,null))}var ut;function dt(){const e=document.getElementById("root"),t=a.createElement(k,null,a.createElement(P,null,a.createElement(it,null)));m.render(t,e)}S()?(ut=()=>dt(),T?ut():T=new L(ut)):dt(); diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/dashboard/assets/index.0e294c2a.css b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/dashboard/assets/index.0e294c2a.css new file mode 100644 index 0000000000..d52f671858 --- /dev/null +++ b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/dashboard/assets/index.0e294c2a.css @@ -0,0 +1 @@ +@charset "UTF-8";.header{margin:10px 0;width:100%;display:flex;flex-direction:row;align-items:center;justify-content:space-between;user-select:none}.header>h1{flex-shrink:0;font-size:24px;color:#2c8af8;font-weight:500;text-shadow:0 2px 6px rgba(44,138,248,.4);line-height:32px}.operations{display:flex;flex:1;align-items:center;justify-content:flex-end}@media (max-width:768px){.header>h1{font-size:20px}}.switch{display:inline-block;width:32px;height:16px;border-radius:8px;background-color:#d8dee2;transition:background-color .3s ease;position:relative;cursor:pointer}.switch.checked{background-color:#57befc}.switch.checked::after{transform:translateX(16px)}.switch.disabled{cursor:not-allowed;background-color:#b7c5d6}.switch.disabled::after{background-color:#e4eaef;box-shadow:0 0 8px rgba(144,147,153,.5)}.switch.checked.disabled{background-color:#e4eaef}.switch::after{content:"";position:absolute;top:-1px;height:18px;width:18px;border-radius:9px;background-color:#fff;box-shadow:0 0 8px rgba(44,138,248,.4);transition:transform .3s ease;transform:translateX(-2px)}.switch-icon{position:absolute;transform:translateX(-1px) scale(.4);color:#fff;line-height:16px}.card{padding:15px;box-shadow:2px 5px 20px -3px rgba(44,138,248,.18);background-color:#fff;border-radius:4px}.button-select{display:flex;flex-direction:row}.button-select .button-select-options{height:30px;padding:0 15px;color:#54759a;font-size:12px;line-height:30px;background:#fff;border:1px solid #e4eaef;border-right:none;transition:all .3s ease;cursor:pointer;outline:0;display:block}.button-select .button-select-options:first-child{border-radius:3px 0 0 3px}.button-select .button-select-options:last-child{border-radius:0 3px 3px 0;border-right:1px solid #e4eaef}.button-select .button-select-options.actived{background:#57befc;color:#fff;border-color:#57befc;box-shadow:0 2px 5px rgba(87,190,252,.5)}.button-select .button-select-options.actived:active{box-shadow:none}.tags-container{display:flex;align-items:flex-start;overflow-y:hidden}.tags{display:flex;flex:1;align-items:center;list-style:none;flex-wrap:wrap;box-sizing:content-box}.tags li{position:relative;display:flex;align-items:center;justify-content:center;border:1px solid #2c8af8;color:#54759a;height:22px;border-radius:11px;padding:0 6px;margin:3px 4px;font-size:10px;cursor:default}.tags li.can-click{cursor:pointer}.tags li.error{color:#fff;background-color:#f56c6c;border-color:#f56c6c}.tags li.tags-selected.error{background:linear-gradient(135deg,#2c8af8,#f56c6c);border:none;height:24px;padding:0 7px}.tags .tags-selected{background-color:#2c8af8;color:#fff}.tags-expand{height:30px;line-height:30px;padding:0 20px;user-select:none;cursor:pointer}.input{display:inline-block;height:30px;width:100%;padding:0 10px;font-size:14px;color:#54759a;border-radius:3px;border:1px solid #e4eaef;transition:all .3s;transition-property:border-color,color,box-shadow}.input:focus{outline:0;border-color:#57befc;color:#2c8af8;box-shadow:0 2px 5px rgba(87,190,252,.5)}.input-align-left{text-align:left}.input-align-center{text-align:center}.input-align-right{text-align:right}.input-inside:focus{box-shadow:none}.select{cursor:pointer;font-size:14px;line-height:30px;color:#54759a;display:flex;overflow:hidden}.select>i{margin-left:5px;color:#54759a}.select-list{position:absolute;max-width:170px;border-radius:4px;overflow:hidden;box-shadow:0 2px 5px rgba(183,197,214,.5);opacity:.8;pointer-events:none;transform:scaleY(0);transform-origin:top;transition:all .2s linear}.select-list .list{max-height:300px;overflow:auto;background:#fff;padding:5px 0;transform:scaleY(2);transform-origin:top;transition:all .2s linear}.select-list .list>.option{color:#54759a;padding:10px 15px;font-size:14px;list-style:none;cursor:pointer}.select-list .list>.option:hover{background:rgba(228,234,239,.5)}.select-list .list>.selected{background:rgba(228,234,239,.5)}.select-list-show{opacity:1;pointer-events:visible;transform:scaleY(1)}.select-list-show .list{transform:scaleY(1)}.modal-mask{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.15);opacity:0;pointer-events:none;transition:all .5s ease;display:flex;justify-content:center;align-items:center;z-index:9999}.modal-mask .modal{margin-top:-50px;padding:20px 30px;background:#fff;box-shadow:0 2px 16px rgba(84,117,154,.2);border-radius:4px;display:flex;flex-direction:column;transform:scale(0);transition:all .3s cubic-bezier(.32,.26,.71,1.29)}.modal-mask .modal .modal-title{margin:5px 0;width:100%;display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:18px;color:#2c8af8;text-shadow:0 2px 6px rgba(44,138,248,.4)}.modal-mask .modal .modal-body{margin:10px 0;font-size:14px;color:#54759a}.modal-mask .modal .footer{width:100%;margin:5px 0;display:flex;align-items:center;justify-content:flex-end}.modal-mask .modal .footer .button{margin-left:10px}.modal-mask .modal-small{width:400px}.modal-mask .modal-big{width:600px}.modal-show{opacity:1;pointer-events:visible}.modal-show .modal{transform:scale(1)}@media (max-width:768px){.modal-mask .modal{margin-top:0;padding:18px 20px}.modal-mask .modal-small{width:280px}.modal-mask .modal-big{width:480px}}.alert{padding:15px;background:#fff;border-radius:4px;box-shadow:0 2px 8px rgba(44,138,248,.3);font-size:13px;line-height:1.6;text-align:justify;display:flex}.alert .alert-icon{margin-right:10px;width:20px;height:20px;border-radius:50%;flex-shrink:0;display:flex;justify-content:center;align-items:center;background:#fff}.alert .alert-icon>i{transform:scale(.5);font-weight:700}.alert .alert-message{width:100%;color:#fff}.alert-box-success{background:linear-gradient(135deg,#5dae34,#67c23a);box-shadow:0 2px 8px rgba(93,174,52,.3)}.alert-box-success .alert-icon>i{color:#67c23a}.alert-box-info{background:linear-gradient(135deg,#3eb4fc,#57befc);box-shadow:0 2px 8px rgba(62,180,252,.3)}.alert-box-info .alert-icon>i{color:#57befc}.alert-box-warning{background:linear-gradient(135deg,#e39725,#e6a23c);box-shadow:0 2px 8px rgba(227,151,37,.3)}.alert-box-warning .alert-icon>i{color:#e6a23c}.alert-box-error{background:linear-gradient(135deg,#f35454,#f56c6c);box-shadow:0 2px 8px rgba(243,84,84,.3)}.alert-box-error .alert-icon>i{color:#f56c6c}.alert-note-success{background:rgba(103,194,58,.05);border-radius:1px 4px 4px 1px;border-left:2px solid #67c23a;box-shadow:0 2px 8px rgba(93,174,52,.3)}.alert-note-success .alert-icon{background:#67c23a}.alert-note-success .alert-icon>i{color:#fff}.alert-note-success .alert-message{color:#3d7323}.alert-note-info{background:rgba(87,190,252,.05);border-radius:1px 4px 4px 1px;border-left:2px solid #57befc;box-shadow:0 2px 8px rgba(62,180,252,.3)}.alert-note-info .alert-icon{background:#57befc}.alert-note-info .alert-icon>i{color:#fff}.alert-note-info .alert-message{color:#0493e9}.alert-note-warning{background:rgba(230,162,60,.05);border-radius:1px 4px 4px 1px;border-left:2px solid #e6a23c;box-shadow:0 2px 8px rgba(227,151,37,.3)}.alert-note-warning .alert-icon{background:#e6a23c}.alert-note-warning .alert-icon>i{color:#fff}.alert-note-warning .alert-message{color:#a76d15}.alert-note-error{background:rgba(245,108,108,.05);border-radius:1px 4px 4px 1px;border-left:2px solid #f56c6c;box-shadow:0 2px 8px rgba(243,84,84,.3)}.alert-note-error .alert-icon{background:#f56c6c}.alert-note-error .alert-icon>i{color:#fff}.alert-note-error .alert-message{color:#eb1010}.button{outline:0;padding:0 15px;height:32px;line-height:32px;border-radius:16px;font-size:14px;cursor:pointer;transition:all 150ms ease}.button-primary{color:#fff;border:none;background:linear-gradient(135deg,#57befc,#2c8af8);box-shadow:0 2px 8px rgba(44,138,248,.5)}.button-primary:hover{border:none}.button-primary:active{box-shadow:0 0 2px rgba(44,138,248,.5)}.button-normal{color:#909399;background:#fff;border:1px solid rgba(0,0,0,.1)}.button-normal:hover{border-color:#b7c5d6;color:#54759a}.button-normal:active{background:#fafafa;color:#54759a}.button-danger{color:#fff;border:none;background:linear-gradient(135deg,#f56c6c,#f23c3c);box-shadow:0 2px 8px rgba(242,60,60,.5)}.button-danger:hover{border:none}.button-danger:active{box-shadow:0 0 2px rgba(242,60,60,.5)}.button-success{color:#fff;border:none;background:linear-gradient(135deg,#67c23a,#5dae34);box-shadow:0 2px 8px rgba(93,174,52,.5)}.button-success:hover{border:none}.button-success:active{box-shadow:0 0 2px rgba(93,174,52,.5)}.button-warning{color:#fff;border:none;background:linear-gradient(135deg,#e6a23c,#e39725);box-shadow:0 2px 8px rgba(227,151,37,.5)}.button-warning:hover{border:none}.button-warning:active{box-shadow:0 0 2px rgba(227,151,37,.5)}.message{position:fixed;top:20px;right:20px;border-radius:4px;opacity:0;background:#fff;display:flex;box-shadow:0 0 20px rgba(44,138,248,.2);transition:all .2s ease;transform:translateX(100%)}.message .message-icon{width:36px;flex:1;border-radius:4px 0 0 4px;display:flex;justify-content:center;align-items:center}.message .message-icon>i{color:#fff}.message .message-content{padding:10px 15px;font-size:13px;color:#54759a}.message-info .message-icon{background:linear-gradient(135deg,#57befc,#2c8af8)}.message-success .message-icon{background:linear-gradient(135deg,#67c23a,#5dae34)}.message-warning .message-icon{background:linear-gradient(135deg,#e6a23c,#e39725)}.message-error .message-icon{background:linear-gradient(135deg,#f56c6c,#f23c3c)}.message-show{opacity:1;transition:all .2s ease;transform:translateX(0)}.checkbox{display:flex;position:relative;padding-left:26px;cursor:pointer;line-height:18px}.checkbox::before{content:"";display:inline-block;position:absolute;left:0;top:50%;width:18px;height:18px;border-radius:3px;transition:background-color .3s ease;transform:translateY(-9px);background-color:#fff;border:1px solid #e4eaef}.checkbox.checked::before{background-color:#57befc}.checkbox-icon{position:absolute;left:0;top:50%;line-height:18px;transform:translateY(-9px) scale(.6);text-shadow:none;font-weight:700}.checkbox-icon.checkbox-icon{color:#fff}.tag{display:flex;align-items:center;justify-content:center;height:24px;font-size:12px;padding:0 12px;text-align:center;background-color:#fff;border:2px solid #2c8af8;color:#2c8af8;border-radius:12px}.spinner{position:relative;width:80px;height:80px;border-radius:100%;animation:spinner 5s infinite linear}.spinner-circle{position:absolute;width:100%;height:100%;transform-origin:48% 48%}.spinner-inner{width:100%;height:100%;border-radius:100%;border:5px solid rgba(44,138,248,.7);border-right:none;border-top:none;background-clip:padding-box;box-shadow:inset 0 0 10px rgba(44,138,248,.15)}.spinner-circle:nth-of-type(0){transform:rotate(0)}.spinner-circle:nth-of-type(0) .spinner-inner{animation:spinner 2s infinite linear}.spinner-circle:nth-of-type(1){transform:rotate(70deg)}.spinner-circle:nth-of-type(1) .spinner-inner{animation:spinner 2s infinite linear}.spinner-circle:nth-of-type(2){transform:rotate(140deg)}.spinner-circle:nth-of-type(2) .spinner-inner{animation:spinner 2s infinite linear}@keyframes spinner{from{transform:rotate(0)}to{transform:rotate(360deg)}}.loading{position:absolute;display:flex;align-items:center;justify-content:center;top:0;left:0;bottom:0;right:0;background-color:rgba(255,255,255,.9);box-shadow:inset 0 0 80px rgba(0,0,0,.1);z-index:1000}.proxy-item{position:relative;width:100%;height:110px;padding:10px;border-radius:4px;background:#fff;user-select:none;cursor:default;box-shadow:2px 5px 20px -3px rgba(44,138,248,.2);transition:all .3s ease}.proxy-item .proxy-type{padding:2px 5px;font-size:10px;color:#fff;border-radius:2px}.proxy-item .proxy-name{display:-webkit-box;margin-top:10px;color:#54759a;font-size:10px;overflow:hidden;word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical}.proxy-item .proxy-delay{position:absolute;left:10px;bottom:13px;font-size:10px;color:rgba(84,117,154,.8)}.proxy-item .proxy-editor{position:absolute;right:10px;bottom:10px;cursor:pointer;color:rgba(84,117,154,.8);opacity:0;pointer-events:none;transition:all .3s ease}.proxy-item:hover{box-shadow:0 14px 20px -4px rgba(84,117,154,.4)}.proxy-item:hover .proxy-editor{opacity:1;pointer-events:visible}.proxy-error{opacity:.5}.proxy-error .proxy-type{background-color:#909399}@media (max-width:768px){.proxy-item{height:70px}.proxy-item .proxy-delay{left:unset;bottom:unset;top:0;right:20px;height:70px;line-height:70px}}.proxy-group{display:flex;align-items:flex-start;font-size:14px;color:#546b87}.proxy-group-part{display:flex;align-items:center;height:60px}.proxy-group-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 20px;width:120px;height:18px}.proxies-group-card{padding:0}.proxies-group-item{border-bottom:1px solid #d8dee2}.proxies-group-item:last-child{border-bottom:none}.proxy-group-tags-container{padding:15px 0}.proxy-group-tags{flex:1;margin-left:30px}@media (max-width:768px){.proxy-group{flex-direction:column}.proxy-group-name{width:140px}.proxy-group-part{width:100%;height:42px;margin-top:6px;justify-content:space-between}.proxy-group-type{margin-right:20px}.proxy-group-tags-container{padding:5px 0 10px}.proxy-group-tags{margin-left:20px}}.proxy-provider{position:relative;display:flex;flex-direction:column;font-size:16px;padding:20px;color:#546b87}.proxy-provider-header{display:flex;align-items:center;justify-content:space-between}.proxy-provider-header-part{display:flex;align-items:center}.proxy-provider-name{margin-right:24px}.proxy-provider-proxies{list-style:none}.proxy-provider-item{box-shadow:0 0 24px 0 rgba(44,138,248,.2)}.proxy-provider-item:hover{box-shadow:0 0 24px 0 rgba(84,117,154,.4)}.proxy-provider-update{line-height:14px;font-size:14px}.proxy-provider-icon{margin-left:20px;cursor:pointer}.proxy-provider-icon.healthcheck{color:#f56c6c}@media (max-width:768px){.proxy-provider-header{flex-direction:column;align-items:flex-start}.proxy-provider-header-part{margin:6px 0}}.proxies-list{--item-width:calc(100% / (var(--columns) + 1));--gap:calc(var(--item-width) / var(--columns));display:flex;margin-right:calc(-1 * var(--gap));margin-top:20px;flex-wrap:wrap;align-content:flex-start;list-style:none}.proxies-list>li{display:inline-block;width:var(--item-width);margin-right:var(--gap);flex-shrink:0;margin-bottom:10px}.proxies-group-list{list-style:none}.proxies-group-card{margin:20px 0}.proxies-container .proxies-action-icon{margin-left:10px}.proxies-speed-test{line-height:32px;margin:0 2px 0 6px;color:#2c8af8;text-shadow:0 2px 6px rgba(44,138,248,.4);cursor:pointer}.proxies-providers-item{margin:20px 0}.proxies-providers-list{list-style:none}@media (min-width:2001px){.proxies-list{--columns:12}}@media (max-width:2000px){.proxies-list{--columns:10}}@media (max-width:1600px){.proxies-list{--columns:8}}@media (max-width:1340px){.proxies-list{--columns:7}}@media (max-width:960px){.proxies-list{--columns:6}}@media (max-width:860px){.proxies-list{--columns:5}}@media (max-width:768px){.proxies-group-card{margin:12px 0}.proxies-list{margin-right:0;padding-bottom:20px;flex-wrap:unset;flex-direction:column}.proxies-list>li{width:100%;margin-right:0;margin-bottom:10px}}@media (max-width:760px){.proxies-list{--columns:3}}.logs-card{display:flex;flex-direction:column;flex:1;margin-top:10px}.logs-panel{display:flex;flex-direction:column;flex-grow:1;flex-basis:0;list-style:none;padding:10px;border-radius:2px;background-color:#f3f6f9;font-size:12px;color:#73808f;overflow-y:auto;font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,Courier,monospace}.logs-panel li{line-height:20px;display:inline-block}.logs-panel-time{margin-right:10px;color:#adb7c3}.rule-provider{position:relative;display:flex;flex-direction:column;font-size:16px;padding:20px;color:#546b87}.rule-provider-header{display:flex;align-items:center;justify-content:space-between}.rule-provider-header-part{display:flex;align-items:center}.rule-provider-name{width:120px;margin-right:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rule-provider-behavior{width:80px;margin:0 20px 0 12px;background-color:#2c8af8;color:#fff}.rule-provider-spinner{transform:scale(.4)}.rule-provider-proxies{list-style:none}.rule-provider-item{box-shadow:0 0 24px 0 rgba(44,138,248,.2)}.rule-provider-item:hover{box-shadow:0 0 24px 0 rgba(84,117,154,.4)}.rule-provider-update{line-height:14px;font-size:14px}.rule-provider-icon{display:block;margin-left:20px;cursor:pointer}.rule-provider-icon.rule-provider-loading::before{color:#909399;cursor:not-allowed;animation:spinner 2s infinite linear}@media (max-width:768px){.rule-provider-header{flex-direction:column;align-items:flex-start}.rule-provider-header-part{margin:6px 0}}.rules-card{display:flex;flex-direction:column;flex:1;min-height:700px;margin-top:10px;padding:0}.rules-card:focus{outline:0}.rules-card .rules{flex:1 0 auto}.rule-item{line-height:30px;padding:5px 0;height:50px;overflow:hidden;list-style:none;user-select:none;border-bottom:1px solid rgba(228,234,239,.5)}.rule-item .rule-item-row{padding:5px 0}.rule-item .drag-handler{cursor:row-resize;margin:0 10px;display:flex;justify-content:center}.rule-item .drag-handler>i{font-weight:700;color:#b7c5d6}.rule-item .rule-type{font-size:14px;color:#54759a}.rule-item .rule-type>i{margin-left:5px;color:#54759a}.rule-item .payload{font-size:14px;color:#54759a;cursor:pointer}.rule-item .rule-proxy{font-size:14px;color:#54759a}.rule-item .delete-btn{opacity:0;transition:all .3s ease}.rule-item .delete-btn span{font-size:14px;color:#f56c6c;cursor:pointer}.rule-item:last-child{border-bottom:none}.rule-item:hover .delete-btn{opacity:1}.rule-proxy-option{display:flex;align-items:center;overflow:hidden}.rule-proxy-option .label{margin-right:5px;height:20px;line-height:20px;padding:0 8px;font-size:10px;border-radius:10px;color:#fff;background:#b7c5d6}.rule-proxy-option .value{line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-card{margin-top:10px;padding:.75rem 0}.settings-card .label{font-size:14px;color:#54759a}.settings-card .external-controller{font-size:14px;color:#54759a;display:flex;justify-content:flex-end;font-weight:400;line-height:17px}.settings-card .external-controller.modify-btn{color:#2c8af8;cursor:pointer}.clash-version{position:relative;margin-top:10px;padding:20px 45px;display:flex}.clash-version .check-icon{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#57befc,#2c8af8);display:flex;justify-content:center;align-items:center}.clash-version .check-icon>i{transform:scale(.5);color:#fff;font-weight:700}.clash-version .version-info{margin-left:10px;font-size:14px;line-height:24px;color:#54759a}.clash-version .check-update-btn{position:absolute;right:45px;font-size:14px;line-height:24px;color:#b7c5d6;cursor:pointer;transition:all 150ms ease}.clash-version .check-update-btn:hover{color:#54759a}@media (max-width:768px){.settings-card .flex .flex.w-1\/2{width:100%}}.sidebar{position:fixed;top:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:160px;user-select:none}.sidebar-logo{margin-top:50px;width:60px;height:60px}.sidebar-menu{display:flex;flex-direction:column;flex:1;margin-top:12px}.sidebar-menu .item{display:block;margin-top:18px}.sidebar-menu .item>a{display:block;width:120px;height:36px;line-height:36px;font-size:14px;border-radius:18px;text-align:center}.sidebar-menu .item a:active,.sidebar-menu .item a:visited,.sidebar-menu .item>a{color:#909399;text-decoration:none}.sidebar-menu .item>a.active{background:linear-gradient(135deg,#57befc,#2c8af8);color:#fff;box-shadow:0 2px 8px rgba(44,138,248,.5)}.sidebar-version{display:flex;flex-direction:column;align-items:center;padding-bottom:20px}.sidebar-version-label{font-size:14px;color:#2c8af8;text-shadow:0 2px 6px rgba(44,138,248,.4)}.sidebar-version-text{text-align:center;font-size:14px;margin:8px 0;padding:0 10px;color:#54759a}@media (max-width:768px){.sidebar{width:100%;height:60px;flex-direction:row;background:#f4f5f6;z-index:10}.sidebar-logo{margin:0 15px;width:36px;height:36px}.sidebar-menu{flex:1;flex-direction:row;justify-content:center;margin-top:0;overflow-x:scroll;padding:10px}.sidebar-menu::-webkit-scrollbar{display:none}.sidebar-menu .item{margin:0 3px}.sidebar-menu .item>a{width:80px;height:32px;line-height:32px}.sidebar-menu .item.no-mobile{display:none}.sidebar-version{display:none}}.connections-devices{display:flex;padding:8px 2px}.connections-devices-item{padding:4px 0;margin-right:20px;font-size:14px;color:#909399;border-radius:3px;cursor:pointer;transition:color .3s ease}.connections-devices-item.selected{color:#2c8af8}.connections-card{display:flex;flex-direction:column;flex:1;margin-top:10px;padding:0;overflow:hidden}.connections-card .connections{display:flex;flex-direction:column;width:100%;flex-grow:1;flex-basis:0;overflow:auto}.connections-card .connections-body{flex:1 0 auto}.connections-card .connections-th{position:relative;text-align:center;color:#909399;background:#f3f6f9;height:30px;line-height:30px;font-weight:500;font-size:14px;cursor:pointer;user-select:none}.connections-card .connections-th.resizing .connections-resizer{opacity:1}.connections-card .connections-th.fixed{position:sticky!important;left:0;z-index:99;box-shadow:inset -9px 0 8px -14px #000}.connections-card .connections-resizer{position:absolute;opacity:0;right:-10px;top:8px;bottom:8px;width:20px;transition:opacity .3s ease;z-index:10;font-size:14px;font-weight:300;touch-action:none}.connections-card .connections-resizer::before{content:"";display:block;position:absolute;left:10px;transform:translateX(-2px);width:2px;height:100%;background-color:rgba(144,147,153,.6)}.connections-card .connections-header{position:sticky;top:0;z-index:9999;white-space:nowrap}.connections-card .connections-header:hover .connections-resizer{opacity:1}.connections-card .connetions-item{height:36px}.connections-card .connections-block{display:flex;align-items:center;font-size:14px;line-height:36px;padding:0 10px;color:#54759a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connections-card .connections-block.center{text-align:center}.connections-card .connections-block.completed{background-color:#e9eef4;color:rgba(84,117,154,.5)}.connections-card .connections-block.fixed{position:sticky;left:0;z-index:999;background-color:#fff;box-shadow:inset -9px 0 8px -14px #000}.connections-filter{color:#2c8af8;font-size:14px;line-height:20px;margin-left:15px;text-shadow:0 0 6px rgba(44,138,248,.4);cursor:pointer}.connections-filter.dangerous{color:#f56c6c;text-shadow:0 0 6px rgba(87,190,252,.2)}.connections-filter.total{flex:1;cursor:unset}.external-controller .alert{margin:10px 0}.external-controller .form,.external-controller .title{margin:15px 0}.external-controller .title{margin-top:15px;font-size:14px;font-weight:700}@media (max-width:768px){.external-controller .title{margin:5px 0}.external-controller .form{margin:5px 0}.external-controller .alert{display:none}}*,::after,::before{margin:0;padding:0;box-sizing:inherit}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"}body ::-webkit-scrollbar{z-index:11;background:0 0}body ::-webkit-scrollbar-thumb{border-radius:5px;background:#2c8af8}body ::-webkit-scrollbar:vertical{width:6px}body ::-webkit-scrollbar:horizontal{height:6px}html{box-sizing:border-box;background:rgba(255,255,255,.8);overflow:hidden}input{-webkit-appearance:none}.container{margin:20px 0}.app{min-height:100vh;padding-left:150px}.app.not-clashx{background:#f4f5f6}.page-container{width:100%;height:100vh;padding-left:10px;overflow-y:scroll}.page{padding:20px 35px 30px 20px;width:100%;min-height:100vh;margin:0 auto;display:flex;flex-direction:column}@media (max-width:768px){.app{padding-left:0;padding-top:60px}.page-container{width:100%;padding:0 10px;height:calc(100vh - 60px);-webkit-overflow-scrolling:touch}.page-container::-webkit-scrollbar{display:none}.page{padding:0 0 20px;height:100%}}@font-face{font-family:clash-iconfont;src:url(//at.alicdn.com/t/font_841708_ok9czskbhel.ttf?t=1576162884356) format("truetype")}.clash-iconfont{font-family:clash-iconfont!important;font-size:14px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2c8af8}.icon-update::before{content:""}.icon-healthcheck::before{content:""}.icon-speed::before{content:""}.icon-close::before{content:""}.icon-drag::before{content:""}.icon-down-arrow-o::before{content:""}.icon-check::before{content:""}.icon-plus::before{content:""}.icon-triangle-up::before{content:""}.icon-triangle-down::before{content:""}.icon-up-arrow-o::before{content:""}.icon-info::before{content:""}.icon-info-o::before{content:""}.icon-setting::before{content:""}.icon-show::before{content:""}.icon-hide::before{content:""}.icon-sort::before{content:""}.icon-sort-descending::before{content:""}.icon-sort-ascending::before{content:""}.icon-close-all::before{content:""}*,::after,::before{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}*{--tw-ring-inset:var(--tw-empty, );/*!*//*!*/--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59, 130, 246, 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}::moz-focus-inner{border-style:none;padding:0}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}body{margin:0;font-family:inherit;line-height:inherit}button,input{font-family:inherit;font-size:100%;line-height:1.15;margin:0;padding:0;line-height:inherit;color:inherit}button{text-transform:none;background-color:transparent;background-image:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}[role=button],button{cursor:pointer}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";line-height:1.5}h1{font-size:inherit;font-weight:inherit}img{border-style:solid;display:block;vertical-align:middle;max-width:100%;height:auto}input::placeholder{opacity:1;color:#9ca3af}input::webkit-input-placeholder{opacity:1;color:#9ca3af}input::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder{opacity:1;color:#9ca3af}input::-ms-input-placeholder{opacity:1;color:#9ca3af}h1,p{margin:0}ul{list-style:none;margin:0;padding:0}.flex{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.flex-1{-webkit-box-flex:1;-ms-flex:1 1 0%;-webkit-flex:1 1 0%;flex:1 1 0%}.flex-wrap{-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.font-bold{font-weight:700}.py-3{padding-top:.75rem;padding-bottom:.75rem}.px-8{padding-left:2rem;padding-right:2rem}.text-center{text-align:center}.w-14{width:3.5rem}.w-40{width:10rem}.w-1\/2{width:50%}.w-28{width:7rem}.visible{visibility:visible}.items-center{-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}.justify-between{-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between} \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/dashboard/assets/index.236bee55.js b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/dashboard/assets/index.236bee55.js deleted file mode 100644 index b86c64db24..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/dashboard/assets/index.236bee55.js +++ /dev/null @@ -1 +0,0 @@ -var e=Object.assign;import{e as t,u as n,r as a,c as s,R as o,a as r,b as l,d as c,f as i,g as u,h as m,i as d,j as p,k as f,l as h,A as g,F as y,m as E,N as v,n as w,o as b,p as x,q as N,s as C,t as k,H as P}from"./vendor.b176d855.js";function S(){return"ClashX Runtime"===navigator.userAgent}!function(e=".",t="__import__"){try{self[t]=new Function("u","return import(u)")}catch(n){const a=new URL(e,location),s=e=>{URL.revokeObjectURL(e.src),e.remove()};self[t]=e=>new Promise(((n,o)=>{const r=new URL(e,a);if(self[t].moduleMap[r])return n(self[t].moduleMap[r]);const l=new Blob([`import * as m from '${r}';`,`${t}.moduleMap['${r}']=m;`],{type:"text/javascript"}),c=Object.assign(document.createElement("script"),{type:"module",src:URL.createObjectURL(l),onerror(){o(new Error(`Failed to import: ${e}`)),s(c)},onload(){n(self[t].moduleMap[r]),s(c)}});document.head.appendChild(c)})),self[t].moduleMap={}}}("assets/");let T=null;class L{constructor(e){this.instance=null,window.WebViewJavascriptBridge&&(this.instance=window.WebViewJavascriptBridge),this.initBridge((t=>{this.instance=t,e()}))}initBridge(e){if(!S())return null==e?void 0:e(null);if(window.WebViewJavascriptBridge)return e(window.WebViewJavascriptBridge);if(window.WVJBCallbacks)return window.WVJBCallbacks.push(e);window.WVJBCallbacks=[e];const t=document.createElement("iframe");t.style.display="none",t.src="https://__bridge_loaded__",document.documentElement.appendChild(t),setTimeout((()=>document.documentElement.removeChild(t)),0)}callHandler(e,t){return new Promise((n=>{var a;null==(a=this.instance)||a.callHandler(e,t,n)}))}ping(){return this.callHandler("ping")}readConfigString(){return this.callHandler("readConfigString")}getPasteboard(){return this.callHandler("getPasteboard")}getAPIInfo(){return this.callHandler("apiInfo")}setPasteboard(e){return this.callHandler("setPasteboard",e)}writeConfigWithString(e){return this.callHandler("writeConfigWithString",e)}setSystemProxy(e){return this.callHandler("setSystemProxy",e)}getStartAtLogin(){return this.callHandler("getStartAtLogin")}getProxyDelay(e){return this.callHandler("speedTest",e)}setStartAtLogin(e){return this.callHandler("setStartAtLogin",e)}isSystemProxySet(){return this.callHandler("isSystemProxySet")}}var $;($||($={})).SPEED_NOTIFY="speed-notify";var R=new class{constructor(){this.EE=new t}notifySpeedTest(){this.EE.emit($.SPEED_NOTIFY)}subscribe(e,t){this.EE.addListener(e,t)}unsubscribe(e,t){this.EE.removeListener(e,t)}};function D(e,t=""){return window.localStorage.getItem(e)||t}function I(e,t){return window.localStorage.setItem(e,t)}function A(){}async function B(e){try{return[await e,null]}catch(t){return[null,t]}}function M(e){const[t,s]=n(e);return[t,a.useMemo((()=>function(e,t){"string"==typeof e?s((n=>{const a=t;n[e]=a})):"function"==typeof e?s(e):"object"==typeof e&&s((t=>{const n=e;for(const e of Object.keys(n)){const a=e;t[a]=n[a]}}))}),[s])]}function H(e=!1){const[t,n]=a.useState(e);return{visible:t,hide:function(){n(!1)},show:function(){n(!0)}}}function U(e){const{title:t,children:n,className:o,style:r}=e;return a.createElement("header",{className:s("header",o),style:r},a.createElement("h1",null,t),a.createElement("div",{className:"operations"},n))}function O(t){const{type:n,size:o=14,className:r,style:l}=t,c=s("clash-iconfont",`icon-${n}`,r),i=e({fontSize:o},l),u=e(e({},t),{className:c,style:i});return a.createElement("i",e({},u))}function F(e){const{className:t,checked:n=!1,disabled:o=!1,onChange:r=A}=e,l=s("switch",{checked:n,disabled:o},t);return a.createElement("div",{className:l,onClick:function(){o||r(!n)}},a.createElement(O,{className:"switch-icon",type:"check",size:20,style:{fontWeight:"bold"}}))}function z(e){const{className:t,style:n,children:o}=e;return a.createElement("div",{className:s("card",t),style:n},o)}function W(e){const{gutter:t=24,align:n="top",justify:o="start",className:r,style:l,children:c}=e;return a.createElement("div",{className:s("row",`row-gutter-${t}`,`row-align-${n}`,`row-justify-${o}`,r),style:l},c)}function _(e){const{offset:t=0,order:n=0,span:o=1,className:r,style:l,children:c}=e,i=Object.assign({},{order:n},l);return a.createElement("div",{className:s("column",`column-offset-${t}`,`column-span-${o}`,r),style:i},c)}function j(e){const{options:t,value:n,onSelect:o}=e;return a.createElement("div",{className:"button-select"},t.map((e=>a.createElement("button",{value:e.value,key:e.value,className:s("button-select-options",{actived:n===e.value}),onClick:()=>null==o?void 0:o(e.value)},e.label))))}const G={en_US:{SideBar:{Proxies:"Proxies",Overview:"Overview",Logs:"Logs",Rules:"Rules",Settings:"Setting",Connections:"Connections",Version:"Version"},Settings:{title:"Settings",labels:{startAtLogin:"Start at login",language:"language",setAsSystemProxy:"Set as system proxy",allowConnectFromLan:"Allow connect from Lan",proxyMode:"Mode",socks5ProxyPort:"Socks5 proxy port",httpProxyPort:"HTTP proxy port",mixedProxyPort:"Mixed proxy port",externalController:"External controller"},values:{cn:"中文",en:"English",global:"Global",rules:"Rules",direct:"Direct",script:"Script"},versionString:"Current ClashX is the latest version:{{version}}",checkUpdate:"Check Update",externalControllerSetting:{title:"External Controller",note:"Please note that modifying this configuration will only configure Dashboard. Will not modify your Clash configuration file. Please make sure that the external controller address matches the address in the Clash configuration file, otherwise, Dashboard will not be able to connect to Clash.",host:"Host",port:"Port",secret:"Secret"}},Logs:{title:"Logs"},Rules:{title:"Rules",providerTitle:"Providers",providerUpdateTime:"Last updated at",ruleCount:"Rule count"},Connections:{title:"Connections",keepClosed:"Keep closed connections",total:{text:"total",upload:"upload",download:"download"},closeAll:{title:"Warning",content:"This would close all connections"},filter:{all:"All"},columns:{host:"Host",network:"Network",type:"Type",chains:"Chains",rule:"Rule",time:"Time",speed:"Speed",upload:"Upload",download:"Download",sourceIP:"Source IP"}},Proxies:{title:"Proxies",editDialog:{title:"Edit Proxy",color:"Color",name:"Name",type:"Type",server:"Server",port:"Port",password:"Password",cipher:"Cipher",obfs:"Obfs","obfs-host":"Obfs-host",uuid:"UUID",alterId:"AlterId",tls:"TLS"},groupTitle:"Policy Group",providerTitle:"Providers",providerUpdateTime:"Last updated at",expandText:"Expand",collapseText:"Collapse",speedTestText:"Speed Test",breakConnectionsText:"Close connections which include the group"},Modal:{ok:"Ok",cancel:"Cancel"}},zh_CN:{SideBar:{Proxies:"代理",Overview:"总览",Logs:"日志",Rules:"规则",Settings:"设置",Connections:"连接",Version:"版本"},Settings:{title:"设置",labels:{startAtLogin:"开机时启动",language:"语言",setAsSystemProxy:"设置为系统代理",allowConnectFromLan:"允许来自局域网的连接",proxyMode:"代理模式",socks5ProxyPort:"Socks5 代理端口",httpProxyPort:"HTTP 代理端口",mixedProxyPort:"混合代理端口",externalController:"外部控制设置"},values:{cn:"中文",en:"English",global:"全局",rules:"规则",direct:"直连",script:"脚本"},versionString:"当前 ClashX 已是最新版本:{{version}}",checkUpdate:"检查更新",externalControllerSetting:{title:"编辑外部控制设置",note:"请注意,修改该配置项并不会修改你的 Clash 配置文件,请确认修改后的外部控制地址和 Clash 配置文件内的地址一致,否则会导致 Dashboard 无法连接。",host:"Host",port:"端口",secret:"密钥"}},Logs:{title:"日志"},Rules:{title:"规则",providerTitle:"规则集",providerUpdateTime:"最后更新于",ruleCount:"规则条数"},Connections:{title:"连接",keepClosed:"保留关闭连接",total:{text:"总量",upload:"上传",download:"下载"},closeAll:{title:"警告",content:"将会关闭所有连接"},filter:{all:"全部"},columns:{host:"域名",network:"网络",type:"类型",chains:"节点链",rule:"规则",time:"连接时间",speed:"速率",upload:"上传",download:"下载",sourceIP:"来源 IP"}},Proxies:{title:"代理",editDialog:{title:"编辑代理",color:"颜色",name:"名字",type:"类型",server:"服务器",port:"端口",password:"密码",cipher:"加密方式",obfs:"Obfs","obfs-host":"Obfs-host",uuid:"UUID",alterId:"AlterId",tls:"TLS"},groupTitle:"策略组",providerTitle:"代理集",providerUpdateTime:"最后更新于",expandText:"展开",collapseText:"收起",speedTestText:"测速",breakConnectionsText:"切换时打断包含策略组的连接"},Modal:{ok:"确 定",cancel:"取 消"}}},V=Object.keys(G);function X(e){const[t,n]=o(e);return[t,a.useMemo((()=>function(e,t){if("string"==typeof e)n((n=>r(n,(n=>{const a=t;n[e]=a}))));else if("function"==typeof e){const t=e;n((e=>r(e,t)))}else"object"==typeof e&&n((t=>r(t,(t=>{const n=e;for(const e of Object.keys(n)){const a=e;t[a]=n[a]}}))))}),[n])]}function J(e){let t=null;return async function(){return t||(t=e(),t.catch((e=>{throw t=null,e})))}}class Y{constructor(e){this.EE=new t,this.innerBuffer=[],this.isClose=!1,this.config=Object.assign({bufferLength:0,retryInterval:5e3,headers:{}},e),this.config.useWebsocket?this.websocketLoop():this.loop()}websocketLoop(){var e;const t=new URL(this.config.url);t.protocol="http:"===t.protocol?"ws:":"wss:",t.searchParams.set("token",null!=(e=this.config.token)?e:"");const n=new WebSocket(t.toString());n.addEventListener("message",(e=>{const t=JSON.parse(e.data);this.EE.emit("data",[t]),this.config.bufferLength>0&&(this.innerBuffer.push(t),this.innerBuffer.length>this.config.bufferLength&&this.innerBuffer.splice(0,this.innerBuffer.length-this.config.bufferLength))})),n.addEventListener("close",(()=>setTimeout(this.websocketLoop,this.config.retryInterval))),n.addEventListener("error",(e=>{this.EE.emit("error",e),setTimeout(this.websocketLoop,this.config.retryInterval)}))}async loop(){const[e,t]=await B(fetch(this.config.url,{mode:"cors",headers:this.config.token?{Authorization:`Bearer ${this.config.token}`}:{}}));if(t||!e.body)return void this.retry(t);const n=e.body.getReader(),a=new TextDecoder;for(;!this.isClose;){const[{value:e},t]=await B(null==n?void 0:n.read());if(t){this.retry(t);break}const s=a.decode(e).trim().split("\n").map((e=>JSON.parse(e)));this.EE.emit("data",s),this.config.bufferLength>0&&(this.innerBuffer.push(...s),this.innerBuffer.length>this.config.bufferLength&&this.innerBuffer.splice(0,this.innerBuffer.length-this.config.bufferLength))}}retry(e){this.isClose||(this.EE.emit("error",e),window.setTimeout(this.loop,this.config.retryInterval))}subscribe(e,t){this.EE.addListener(e,t)}unsubscribe(e,t){this.EE.removeListener(e,t)}buffer(){return this.innerBuffer.slice()}destory(){this.EE.removeAllListeners(),this.isClose=!0}}async function K(){if(S()){const e=await T.getAPIInfo();return{hostname:e.host,port:e.port,secret:e.secret,protocol:"http:"}}const e=D("externalControllerAddr","127.0.0.1"),t=D("externalControllerPort","9090"),n=D("secret",""),a="127.0.0.1"===e?"http:":window.location.protocol;if(!e||!t)throw new Error("can't get hostname or port");return{hostname:e,port:t,secret:n,protocol:a}}const q=J((async()=>{const{hostname:e,port:t,secret:n,protocol:a}=await K();return l.create({baseURL:`${a}//${e}:${t}`,headers:n?{Authorization:`Bearer ${n}`}:{}})}));async function Q(){return(await q()).get("configs")}async function Z(e){return(await q()).patch("configs",e)}async function ee(){return(await q()).get("version")}async function te(e){return(await q()).delete(`connections/${e}`)}const ne=J((async function(){const e=await K(),{data:t}=await Q(),[n,a]=await B(ee()),s=!!(a?"unkonwn version":n.data.version)||!0,o=`${e.protocol}//${e.hostname}:${e.port}/logs?level=${t["log-level"]}`;return new Y({url:o,bufferLength:200,token:e.secret,useWebsocket:s})})),ae=J((async function(){const e=await K(),[t,n]=await B(ee()),a=!!(n?"unkonwn version":t.data.version)||!0,s=`${e.protocol}//${e.hostname}:${e.port}/connections`;return new Y({url:s,bufferLength:200,token:e.secret,useWebsocket:a})})),se=c({key:"identity",default:!0});function oe(){const[e,t]=o(se);return{identity:e,wrapFetcher:function(e){return async function(...n){const[a,s]=await B(e(...n)),o=s;if(o&&(!o.response||401===o.response.status))throw t(!1),s;return t(!0),a}},set:t}}const re=c({key:"i18n",default:function(){const e=D("language");if(e&&V.includes(e))return e;const t=function(){const e=[];if(window.navigator)if(window.navigator.languages)for(const t of window.navigator.languages)e.push(t);else window.navigator.language&&e.push(navigator.language);return e}();for(const n of t){if(n.includes("zh"))return"zh_CN";if(n.includes("us"))return"en_US"}return"en_US"}()});function le(){const[e,t]=o(re);const n=a.useCallback((function(t){return{t:function(n){return m(G[e][t],n)}}}),[e]);return{lang:e,locales:V,setLang:function(e){t(e),function(e){I("language",e)}(e)},translation:n}}const ce=c({key:"version",default:{version:"",premium:!1}});function ie(){const[e,t]=o(ce),{set:n}=oe();return{version:e.version,premium:e.premium,update:async function(){const[e,a]=await B(ee());n(!a),t(a?{version:"",premium:!1}:{version:e.data.version,premium:!!e.data.premium})}}}const ue=c({key:"config",default:{breakConnections:!1}});function me(){const[e,t]=X(ue);return{data:e,set:t}}const de=c({key:"proxyProvider",default:[]});function pe(){const[e,t]=o(de),{data:n,mutate:s}=u("/providers/proxy",(async()=>{const e=await async function(){return(await q()).get("providers/proxies",{validateStatus:e=>e>=200&&e<300||404===e}).then((e=>(404===e.status&&(e.data={providers:{}}),e)))}();return Object.keys(e.data.providers).map((t=>e.data.providers[t])).filter((e=>"default"!==e.name)).filter((e=>"Compatible"!==e.vehicleType))}));return a.useEffect((()=>t(null!=n?n:[])),[n,t]),{providers:e,update:s}}function fe(){const[{premium:e}]=o(ce),{data:t,mutate:n}=u("/providers/rule",(async()=>{if(!e)return[];const t=await async function(){return(await q()).get("providers/rules")}();return Object.keys(t.data.providers).map((e=>t.data.providers[e]))}));return{providers:null!=t?t:[],update:n}}function he(){const{data:e,mutate:t}=u("/config",(async()=>{var e;const t=(await Q()).data;return{port:t.port,socksPort:t["socks-port"],mixedPort:null!=(e=t["mixed-port"])?e:0,redirPort:t["redir-port"],mode:t.mode.toLowerCase(),logLevel:t["log-level"],allowLan:t["allow-lan"]}}));return{general:null!=e?e:{},update:t}}const ge=c({key:"proxies",default:{proxies:[],groups:[],global:{name:"GLOBAL",type:"Selector",now:"",history:[],all:[]}}});function ye(){const[t,n]=X(ge),{mutate:s}=u("/proxies",(async()=>{const t=await async function(){return(await q()).get("proxies")}(),a=t.data.proxies.GLOBAL;a.name="GLOBAL";const s=new Set(["Selector","URLTest","Fallback","LoadBalance"]),o=new Set(["DIRECT","REJECT","GLOBAL"]),r=a.all.filter((e=>!o.has(e))).map((n=>e(e({},t.data.proxies[n]),{name:n}))),[l,c]=function(e,t){const n=[],a=[];for(const s of e)t(s)?n.push(s):a.push(s);return[n,a]}(r,(e=>!s.has(e.type)));n({proxies:l,groups:c,global:a})})),o=a.useCallback(((e,t)=>{n((n=>{for(const a of n.groups)a.name===e&&(a.now=t)}))}),[n]);return{proxies:t.proxies,groups:t.groups,global:t.global,update:s,markProxySelected:o,set:n}}const Ee=i({key:"proxyMapping",get:({get:e})=>{const t=e(ge),n=e(de),a=new Map;for(const s of t.proxies)a.set(s.name,s);for(const s of n)for(const e of s.proxies)a.set(e.name,e);return a}});function ve(){const{data:e,mutate:t}=u("/clashx",(async()=>{var e,t;if(!S())return{isClashX:!1,startAtLogin:!1,systemProxy:!1};return{startAtLogin:null!=(e=await(null==T?void 0:T.getStartAtLogin()))&&e,systemProxy:null!=(t=await(null==T?void 0:T.isSystemProxySet()))&&t,isClashX:!0}}));return{data:e,update:t}}const we=c({key:"apiData",default:{hostname:"127.0.0.1",port:"9090",secret:""}});function be(){const[t,n]=o(we);return{data:t,fetch:a.useCallback((async function(){const t=await K();n(e({},t))}),[n]),update:async function(e){const{hostname:t,port:n,secret:a}=e;I("externalControllerAddr",t),I("externalControllerPort",n),I("secret",a),window.location.reload()}}}const xe=c({key:"rules",default:[]});function Ne(){const[e,t]=X(xe);return{rules:e,update:async function(){const e=await async function(){return(await q()).get("rules")}();t(e.data.rules)}}}function Ce(e){const{className:t,data:n,onClick:o,select:r,canClick:l,errSet:c,rowHeight:i}=e,{translation:u}=le(),{t:m}=u("Proxies"),[d,p]=a.useState(!1),[f,h]=a.useState(!1),g=a.useRef(null);a.useLayoutEffect((()=>{var e,t;h((null!=(t=null==(e=null==g?void 0:g.current)?void 0:e.offsetHeight)?t:0)>30)}),[]);const y=d?"auto":i,E=l?o:A;const v=n.map((e=>{const t=s({"tags-selected":r===e,"can-click":l,error:null==c?void 0:c.has(e)});return a.createElement("li",{className:t,key:e,onClick:()=>E(e)},e)}));return a.createElement("div",{className:s("tags-container",t),style:{height:y}},a.createElement("ul",{ref:g,className:s("tags",{expand:d})},v),f&&a.createElement("span",{className:"tags-expand",onClick:function(){p(!d)}},m(d?"collapseText":"expandText")))}function ke(e){const{className:t,style:n,value:o="",align:r="center",inside:l=!1,autoFocus:c=!1,type:i="text",disabled:u=!1,onChange:m=A,onBlur:d=A}=e,p=s("input",`input-align-${r}`,{"input-inside":l},t);return a.createElement("input",{disabled:u,className:p,style:n,value:o,autoFocus:c,type:i,onChange:e=>m(e.target.value,e),onBlur:d})}function Pe(e){const{show:t=!0,title:n="Modal",size:o="small",footer:r=!0,onOk:l=A,onClose:c=A,bodyClassName:i,bodyStyle:u,className:m,style:p,children:f}=e,{translation:h}=le(),{t:g}=h("Modal"),y=a.useRef(document.createElement("div")),E=a.useRef(null);a.useLayoutEffect((()=>{const e=y.current;return document.body.appendChild(e),()=>{document.body.removeChild(e)}}),[]);const v=a.createElement("div",{className:s("modal-mask",{"modal-show":t}),ref:E,onMouseDown:function(e){e.target===E.current&&c()}},a.createElement("div",{className:s("modal",`modal-${o}`,m),style:p},a.createElement("div",{className:"modal-title"},n),a.createElement("div",{className:s("modal-body",i),style:u},f),r&&a.createElement("div",{className:"footer"},a.createElement(Le,{onClick:()=>c()},g("cancel")),a.createElement(Le,{type:"primary",onClick:()=>l()},g("ok")))));return d.createPortal(v,y.current)}const Se={success:"check",info:"info",warning:"info",error:"close"};function Te(e){const{message:t="",type:n="info",inside:o=!1,children:r,className:l,style:c}=e,i=s("alert",`alert-${o?"note":"box"}-${n}`,l);return a.createElement("div",{className:i,style:c},a.createElement("span",{className:"alert-icon"},a.createElement(O,{type:Se[n],size:26})),t?a.createElement("p",{className:"alert-message"},t):a.createElement("div",{className:"alert-message"},r))}function Le(e){const{type:t="normal",onClick:n=A,children:o,className:r,style:l}=e,c=s("button",`button-${t}`,r);return a.createElement("button",{className:c,style:l,onClick:n},o)}function $e(e){const{className:t,checked:n=!1,onChange:o=A}=e,r=s("checkbox",{checked:n},t);return a.createElement("div",{className:r,onClick:function(){o(!n)}},a.createElement(O,{className:"checkbox-icon",type:"check",size:18}),a.createElement("div",null,e.children))}function Re(t){const{color:n,className:o,style:r}=t,l=s("tag",o),c=e({color:n},r),i=e(e({},t),{className:l,style:c});return a.createElement("span",e({},i),t.children)}function De(e){const t=s("spinner",e.className);return a.createElement("div",{className:t},a.createElement("div",{className:"spinner-circle"},a.createElement("div",{className:"spinner-inner"})),a.createElement("div",{className:"spinner-circle"},a.createElement("div",{className:"spinner-inner"})),a.createElement("div",{className:"spinner-circle"},a.createElement("div",{className:"spinner-inner"})),a.createElement("div",{className:"spinner-circle"},a.createElement("div",{className:"spinner-inner"})),a.createElement("div",{className:"spinner-circle"},a.createElement("div",{className:"spinner-inner"})))}function Ie(e){const t=s("loading","visible",e.className);return e.visible?a.createElement("div",{className:t},a.createElement(De,{className:e.spinnerClassName})):null}const Ae={"#909399":0,"#00c520":260,"#ff9a28":600,"#ff3e5e":1/0};async function Be(e){var t;if(S()){return null!=(t=await(null==T?void 0:T.getProxyDelay(e)))?t:0}const{data:{delay:n}}=await async function(e){return(await q()).get(`proxies/${encodeURIComponent(e)}/delay`,{params:{timeout:5e3,url:"http://www.gstatic.com/generate_204"}})}(e);return n}function Me(e){const{config:t,className:n}=e,{set:o}=ye(),r=a.useCallback((async function(){const[e,n]=await B(Be(t.name)),a=n?0:e;o((e=>{const n=e.proxies.find((e=>e.name===t.name));n&&n.history.push({time:Date.now().toString(),delay:a})}))}),[t.name,o]),l=a.useMemo((()=>{var e;return(null==(e=t.history)?void 0:e.length)?t.history.slice(-1)[0].delay:0}),[t]);a.useLayoutEffect((()=>(R.subscribe($.SPEED_NOTIFY,r),()=>R.unsubscribe($.SPEED_NOTIFY,r))),[r]);const c=a.useMemo((()=>0===l),[l]),i=a.useMemo((()=>Object.keys(Ae).find((e=>l<=Ae[e]))),[l]),u=c?void 0:i;return a.createElement("div",{className:s("proxy-item",{"proxy-error":c},n)},a.createElement("span",{className:"proxy-type",style:{backgroundColor:u}},t.type),a.createElement("p",{className:"proxy-name"},t.name),a.createElement("p",{className:"proxy-delay"},0===l?"-":`${l}ms`))}function He(e){const{markProxySelected:t}=ye(),n=p(Ee),{data:s}=me(),{config:o}=e;const r=a.useMemo((()=>{var e;const t=new Set;for(const a of o.all){const s=null==(e=n.get(a))?void 0:e.history;(null==s?void 0:s.length)&&0===s.slice(-1)[0].delay&&t.add(a)}return t}),[o.all,n]),l="Selector"===o.type;return a.createElement("div",{className:"proxy-group"},a.createElement("div",{className:"proxy-group-part"},a.createElement("span",{className:"proxy-group-name"},o.name),a.createElement(Re,{className:"proxy-group-type"},o.type)),a.createElement("div",{className:"proxy-group-tags-container"},a.createElement(Ce,{className:"proxy-group-tags",data:o.all,onClick:async function(n){if(await async function(e,t){return(await q()).put(`proxies/${encodeURIComponent(e)}`,{name:t})}(e.config.name,n),t(e.config.name,n),s.breakConnections){const t=[],n=await async function(){return(await q()).get("connections")}();for(const a of n.data.connections)a.chains.includes(e.config.name)&&t.push(a.id);for(const e of t)te(e)}},errSet:r,select:o.now,canClick:l,rowHeight:30})))}function Ue(e,t){const n="en_US"===t?"en":"zh-cn";return f().locale(n).from(e)}f.extend(h);function Oe(e){const{update:t}=pe(),{translation:n,lang:s}=le(),{provider:o}=e,{t:r}=n("Proxies"),{visible:l,hide:c,show:i}=H();const u=a.useMemo((()=>o.proxies.slice().sort(((e,t)=>-1*_e(e,t)))),[o.proxies]);return a.createElement(z,{className:"proxy-provider"},a.createElement(Ie,{visible:l}),a.createElement("div",{className:"proxy-provider-header"},a.createElement("div",{className:"proxy-provider-header-part"},a.createElement("span",{className:"proxy-provider-name"},o.name),a.createElement(Re,null,o.vehicleType)),a.createElement("div",{className:"proxy-provider-header-part"},o.updatedAt&&a.createElement("span",{className:"proxy-provider-update"},`${r("providerUpdateTime")}: ${Ue(new Date(o.updatedAt),s)}`),a.createElement(O,{className:"proxy-provider-icon healthcheck",type:"healthcheck",size:18,onClick:function(){i(),async function(e){return(await q()).get(`providers/proxies/${encodeURIComponent(e)}/healthcheck`)}(o.name).then((()=>t())).finally((()=>c()))}}),a.createElement(O,{className:"proxy-provider-icon",type:"update",size:18,onClick:function(){i(),async function(e){return(await q()).put(`providers/proxies/${encodeURIComponent(e)}`)}(o.name).then((()=>t())).finally((()=>c()))}}))),a.createElement("ul",{className:"proxies-list"},u.map((e=>a.createElement("li",{key:e.name},a.createElement(Me,{className:"proxy-provider-item",config:e}))))))}var Fe,ze;(ze=Fe||(Fe={}))[ze.None=0]="None",ze[ze.Asc=1]="Asc",ze[ze.Desc=2]="Desc";const We={0:"sort",1:"sort-ascending",2:"sort-descending"};function _e(e,t){const n=e.history.length?e.history.slice(-1)[0].delay:0;return((t.history.length?t.history.slice(-1)[0].delay:0)||Number.MAX_SAFE_INTEGER)-(n||Number.MAX_SAFE_INTEGER)}function je(){const{groups:e,global:t}=ye(),{data:n,set:s}=me(),{general:o}=he(),{translation:r}=le(),{t:l}=r("Proxies"),c=a.useMemo((()=>"global"===o.mode?[t]:e),[o,e,t]);return a.createElement(a.Fragment,null,0!==c.length&&a.createElement("div",{className:"proxies-container"},a.createElement(U,{title:l("groupTitle")},a.createElement($e,{className:"connections-filter",checked:n.breakConnections,onChange:e=>s("breakConnections",e)},l("breakConnectionsText"))),a.createElement(z,{className:"proxies-group-card"},a.createElement("ul",{className:"proxies-group-list"},c.map((e=>a.createElement("li",{className:"proxies-group-item",key:e.name},a.createElement(He,{config:e}))))))))}function Ge(){const{providers:e}=pe(),{translation:t}=le(),{t:n}=t("Proxies");return a.createElement(a.Fragment,null,0!==e.length&&a.createElement("div",{className:"proxies-container"},a.createElement(U,{title:n("providerTitle")}),a.createElement("ul",{className:"proxies-providers-list"},e.map((e=>a.createElement("li",{className:"proxies-providers-item",key:e.name},a.createElement(Oe,{provider:e})))))))}function Ve(){const{proxies:e}=ye(),{translation:t}=le(),{t:n}=t("Proxies");const{current:s,next:o}=function(e,t=0){if(e.length<2)throw new Error("List requires at least two elements");const[n,s]=a.useState(t);return{current:a.useMemo((()=>e[n]),[e,n]),next:function(){s((n+1)%e.length)}}}([1,2,0]),r=a.useMemo((()=>{switch(s){case 2:return e.slice().sort(((e,t)=>_e(e,t)));case 1:return e.slice().sort(((e,t)=>-1*_e(e,t)));default:return e.slice()}}),[s,e]),l=o;return a.createElement(a.Fragment,null,0!==r.length&&a.createElement("div",{className:"proxies-container"},a.createElement(U,{title:n("title")},a.createElement(O,{className:"proxies-action-icon",type:We[s],onClick:l,size:20}),a.createElement(O,{className:"proxies-action-icon",type:"speed",size:20}),a.createElement("span",{className:"proxies-speed-test",onClick:function(){R.notifySpeedTest()}},n("speedTestText"))),a.createElement("ul",{className:"proxies-list"},r.map((e=>a.createElement("li",{key:e.name},a.createElement(Me,{config:e})))))))}function Xe(){return a.createElement("div",{className:"page"},a.createElement(je,null),a.createElement(Ge,null),a.createElement(Ve,null))}function Je(){const t=a.useRef(null),n=a.useRef([]),[s,o]=a.useState([]),{translation:r}=le(),{t:l}=r("Logs");return a.useLayoutEffect((()=>{const e=t.current;e&&(e.scrollTop=e.scrollHeight)})),a.useEffect((()=>{let t=null;function a(t){n.current=n.current.slice().concat(t.map((t=>e(e({},t),{time:new Date})))),o(n.current)}return async function(){t=await ne(),n.current=t.buffer(),o(n.current),t.subscribe("data",a)}(),()=>null==t?void 0:t.unsubscribe("data",a)}),[]),a.createElement("div",{className:"page"},a.createElement(U,{title:l("title")}),a.createElement(z,{className:"logs-card"},a.createElement("ul",{className:"logs-panel",ref:t},s.map(((e,t)=>a.createElement("li",{key:t},a.createElement("span",{className:"logs-panel-time"},f(e.time).format("YYYY-MM-DD HH:mm:ss")),a.createElement("span",null,"[",e.type,"] ",e.payload)))))))}function Ye(e){const{update:t}=fe(),{translation:n,lang:o}=le(),{provider:r}=e,{t:l}=n("Rules"),{visible:c,hide:i,show:u}=H();const m=s("rule-provider-icon",{"rule-provider-loading":c});return a.createElement(z,{className:"rule-provider"},a.createElement("div",{className:"rule-provider-header"},a.createElement("div",{className:"rule-provider-header-part"},a.createElement("span",{className:"rule-provider-name"},r.name),a.createElement(Re,null,r.vehicleType),a.createElement(Re,{className:"rule-provider-behavior"},r.behavior),a.createElement("span",{className:"rule-provider-update"},`${l("ruleCount")}: ${r.ruleCount}`)),a.createElement("div",{className:"rule-provider-header-part"},r.updatedAt&&a.createElement("span",{className:"rule-provider-update"},`${l("providerUpdateTime")}: ${Ue(new Date(r.updatedAt),o)}`),a.createElement(O,{className:m,type:"update",size:18,onClick:function(){u(),async function(e){return(await q()).put(`providers/rules/${encodeURIComponent(e)}`)}(r.name).then((()=>t())).finally((()=>i()))}}))))}function Ke(){const{providers:e}=fe(),{translation:t}=le(),{t:n}=t("Rules");return a.createElement(a.Fragment,null,0!==e.length&&a.createElement("div",{className:"proxies-container"},a.createElement(U,{title:n("providerTitle")}),a.createElement("ul",{className:"proxies-providers-list"},e.map((e=>a.createElement("li",{className:"proxies-providers-item",key:e.name},a.createElement(Ye,{provider:e})))))))}function qe(){const{rules:e,update:t}=Ne(),{translation:n}=le(),{t:s}=n("Rules");function o({index:t,style:n}){const s=e[t];return a.createElement("li",{className:"rule-item",style:n},a.createElement(W,{className:"rule-item-row",gutter:24,align:"middle"},a.createElement(_,{className:"rule-type",span:6,offset:1},s.type),a.createElement(_,{className:"payload",span:11},s.payload),a.createElement(_,{className:"rule-proxy",span:6},s.proxy)))}return u("rules",t),a.createElement("div",{className:"page"},a.createElement(Ke,null),a.createElement(U,{title:s("title")}),a.createElement(z,{className:"rules-card"},a.createElement(g,{className:"rules"},(({height:t,width:n})=>a.createElement(y,{height:t,width:n,itemCount:e.length,itemSize:50},o)))))}const Qe=[{label:"中文",value:"zh_CN"},{label:"English",value:"en_US"}];function Ze(){var e,t,n;const{premium:o}=ie(),{data:r,update:l}=ve(),{general:c,update:i}=he(),{set:u}=oe(),{data:m}=be(),{translation:d,setLang:p,lang:f}=le(),{t:h}=d("Settings"),[g,y]=M({socks5ProxyPort:7891,httpProxyPort:7890,mixedProxyPort:0});a.useEffect((()=>{var e,t,n;y("socks5ProxyPort",null!=(e=null==c?void 0:c.socksPort)?e:0),y("httpProxyPort",null!=(t=null==c?void 0:c.port)?t:0),y("mixedProxyPort",null!=(n=null==c?void 0:c.mixedPort)?n:0)}),[c,y]);const{hostname:v,port:w}=m,{allowLan:b,mode:x}=c,N=null!=(e=null==r?void 0:r.startAtLogin)&&e,C=null!=(t=null==r?void 0:r.systemProxy)&&t,k=null!=(n=null==r?void 0:r.isClashX)&&n,P=a.useMemo((()=>{const e=[{label:h("values.global"),value:"Global"},{label:h("values.rules"),value:"Rule"},{label:h("values.direct"),value:"Direct"}];return o&&e.push({label:h("values.script"),value:"Script"}),e}),[h,o]);return a.createElement("div",{className:"page"},a.createElement(U,{title:h("title")}),a.createElement(z,{className:"settings-card"},a.createElement(W,{gutter:24,align:"middle"},a.createElement(_,{span:12},a.createElement(_,{span:14,offset:1},a.createElement("span",{className:"label"},h("labels.startAtLogin"))),a.createElement(_,{span:8,className:"value-column"},a.createElement(F,{disabled:!(null==r?void 0:r.isClashX),checked:N,onChange:async function(e){await(null==T?void 0:T.setStartAtLogin(e)),l()}}))),a.createElement(_,{span:12},a.createElement(_,{span:8,offset:1},a.createElement("span",{className:"label"},h("labels.language"))),a.createElement(_,{span:14,className:"value-column"},a.createElement(j,{options:Qe,value:f,onSelect:e=>{p(e)}})))),a.createElement(W,{gutter:24,align:"middle"},a.createElement(_,{span:12},a.createElement(_,{span:14,offset:1},a.createElement("span",{className:"label"},h("labels.setAsSystemProxy"))),a.createElement(_,{span:8,className:"value-column"},a.createElement(F,{disabled:!k,checked:C,onChange:async function(e){await(null==T?void 0:T.setSystemProxy(e)),l()}}))),a.createElement(_,{span:12},a.createElement(_,{span:14,offset:1},a.createElement("span",{className:"label"},h("labels.allowConnectFromLan"))),a.createElement(_,{span:8,className:"value-column"},a.createElement(F,{checked:b,onChange:async function(e){await Z({"allow-lan":e}),await i()}}))))),a.createElement(z,{className:"settings-card"},a.createElement(W,{gutter:24,align:"middle"},a.createElement(_,{span:12},a.createElement(_,{span:8,offset:1},a.createElement("span",{className:"label"},h("labels.proxyMode"))),a.createElement(_,{span:14,className:"value-column"},a.createElement(j,{options:P,value:E(x),onSelect:async function(e){await Z({mode:e}),await i()}}))),a.createElement(_,{span:12},a.createElement(_,{span:14,offset:1},a.createElement("span",{className:"label"},h("labels.socks5ProxyPort"))),a.createElement(_,{span:8},a.createElement(ke,{disabled:k,value:g.socks5ProxyPort,onChange:e=>y("socks5ProxyPort",+e),onBlur:async function(){await Z({"socks-port":g.socks5ProxyPort}),await i()}})))),a.createElement(W,{gutter:24,align:"middle"},a.createElement(_,{span:12},a.createElement(_,{span:14,offset:1},a.createElement("span",{className:"label"},h("labels.httpProxyPort"))),a.createElement(_,{span:8},a.createElement(ke,{disabled:k,value:g.httpProxyPort,onChange:e=>y("httpProxyPort",+e),onBlur:async function(){await Z({port:g.httpProxyPort}),await i()}}))),a.createElement(_,{span:12},a.createElement(_,{span:14,offset:1},a.createElement("span",{className:"label"},h("labels.mixedProxyPort"))),a.createElement(_,{span:8},a.createElement(ke,{disabled:k,value:g.mixedProxyPort,onChange:e=>y("mixedProxyPort",+e),onBlur:async function(){await Z({"mixed-port":g.mixedProxyPort}),await i()}})))),a.createElement(W,null,a.createElement(_,{span:12},a.createElement(_,{span:12,offset:1},a.createElement("span",{className:"label"},h("labels.externalController"))),a.createElement(_,{className:"external-controller",span:10},a.createElement("span",{className:s({"modify-btn":!k}),onClick:()=>!k&&u(!1)},`${v}:${w}`))))),a.createElement(z,{className:"clash-version",style:{display:"none"}},a.createElement("span",{className:"check-icon"},a.createElement(O,{type:"check",size:20})),a.createElement("p",{className:"version-info"},h("versionString")),a.createElement("span",{className:"check-update-btn"},h("checkUpdate"))))}var et,tt;function nt(e){const{routes:t}=e,{translation:n}=le(),{version:o,premium:r,update:l}=ie(),{data:c}=ve(),{t:i}=n("SideBar");u("version",l);const m=t.map((({path:e,name:t,exact:n,noMobile:o})=>a.createElement("li",{className:s("item",{"no-mobile":o}),key:t},a.createElement(v,{to:e,activeClassName:"active",exact:!!n},i(t)))));return a.createElement("div",{className:"sidebar"},a.createElement("img",{src:"./assets/logo.b453e72f.png",alt:"logo",className:"sidebar-logo"}),a.createElement("ul",{className:"sidebar-menu"},m),a.createElement("div",{className:"sidebar-version"},a.createElement("span",{className:"sidebar-version-label"},"Clash",(null==c?void 0:c.isClashX)&&"X"," ",i("Version")),a.createElement("span",{className:"sidebar-version-text"},o),r&&a.createElement("span",{className:"sidebar-version-label"},"Premium")))}(tt=et||(et={})).Domain="Domain",tt.DomainSuffix="DomainSuffix",tt.DomainKeyword="DomainKeyword",tt.GeoIP="GeoIP",tt.IPCIDR="IPCIDR",tt.SrcIPCIDR="SrcIPCIDR",tt.SrcPort="SrcPort",tt.DstPort="DstPort",tt.MATCH="MATCH",tt.RuleSet="RuleSet";function at(e){const{translation:t}=le(),n=a.useMemo((()=>t("Connections").t),[t]),{className:o,style:r}=e,l=s("connections-devices",o);function c(t){var n;null==(n=e.onChange)||n.call(e,t)}return a.createElement("div",{className:l,style:r},a.createElement("div",{className:s("connections-devices-item",{selected:""===e.selected}),onClick:()=>c("")},n("filter.all")),e.devices.map((t=>a.createElement("div",{className:s("connections-devices-item",{selected:e.selected===t.label}),onClick:()=>c(t.label)},t.label," (",t.number,")"))))}class st{constructor(){this.connections=new Map,this.saveDisconnection=!1}appendToSet(t){var n;const a=t.reduce(((e,t)=>e.set(t.id,t)),new Map);for(const e of this.connections.keys())if(!a.has(e))if(this.saveDisconnection){const t=this.connections.get(e);t&&(t.completed=!0,t.uploadSpeed=0,t.downloadSpeed=0)}else this.connections.delete(e);for(const s of a.keys()){if(!this.connections.has(s)){this.connections.set(s,e(e({},a.get(s)),{uploadSpeed:0,downloadSpeed:0}));continue}const t=this.connections.get(s),o=a.get(s);null==(n=this.connections)||n.set(s,e(e({},o),{uploadSpeed:o.upload-t.upload,downloadSpeed:o.download-t.download}))}}toggleSave(){var e,t;if(this.saveDisconnection){this.saveDisconnection=!1;for(const n of this.connections.keys())(null==(t=null==(e=this.connections)?void 0:e.get(n))?void 0:t.completed)&&this.connections.delete(n)}else this.saveDisconnection=!0;return this.saveDisconnection}getConnections(){return[...this.connections.values()]}}var ot,rt;(rt=ot||(ot={})).Host="host",rt.Network="network",rt.Type="type",rt.Chains="chains",rt.Rule="rule",rt.Speed="speed",rt.Upload="upload",rt.Download="download",rt.SourceIP="sourceIP",rt.Time="time";const lt=new Set([ot.Network,ot.Type,ot.Rule,ot.Speed,ot.Upload,ot.Download,ot.SourceIP,ot.Time]);function ct(e){const t=["B","KB","MB","GB","TB"];let n=0;for(;~~(e/1024)&&nt("Connections").t),[t]),[r,l]=M({uploadTotal:0,downloadTotal:0}),{visible:c,show:i,hide:u}=H();const{connections:m,feed:d,save:p,toggleSave:f}=function(){const e=a.useMemo((()=>new st),[]),t=a.useRef(!0),[n,s]=a.useState([]),[o,r]=a.useState(!1);return{connections:n,feed:a.useCallback((function(n){e.appendToSet(n),t.current&&s(e.getConnections()),t.current=!t.current}),[e]),toggleSave:a.useCallback((function(){const n=e.toggleSave();r(n),n||s(e.getConnections()),t.current=!0}),[e]),save:o}}(),h=a.useMemo((()=>m.map((e=>({id:e.id,host:`${e.metadata.host||e.metadata.destinationIP}:${e.metadata.destinationPort}`,chains:e.chains.slice().reverse().join(" / "),rule:e.rule===et.RuleSet?`${e.rule}(${e.rulePayload})`:e.rule,time:new Date(e.start).getTime(),upload:e.upload,download:e.download,sourceIP:e.metadata.sourceIP,type:e.metadata.type,network:e.metadata.network.toUpperCase(),speed:{upload:e.uploadSpeed,download:e.downloadSpeed},completed:!!e.completed})))),[m]),g=a.useMemo((()=>{const e=w(m,"metadata.sourceIP");return Object.keys(e).map((t=>({label:t,number:e[t].length}))).sort(((e,t)=>e.label.localeCompare(t.label)))}),[m]),y=a.useRef(null),{x:E}=b(y),v=a.useMemo((()=>[{Header:o(`columns.${ot.Host}`),accessor:ot.Host,minWidth:260,width:260},{Header:o(`columns.${ot.Network}`),accessor:ot.Network,minWidth:80,width:80},{Header:o(`columns.${ot.Type}`),accessor:ot.Type,minWidth:120,width:120},{Header:o(`columns.${ot.Chains}`),accessor:ot.Chains,minWidth:200,width:200},{Header:o(`columns.${ot.Rule}`),accessor:ot.Rule,minWidth:140,width:140},{id:ot.Speed,Header:o(`columns.${ot.Speed}`),accessor:e=>[e.speed.upload,e.speed.download],sortType(e,t){const n=e.original.speed,a=t.original.speed;return n.download===a.download?n.upload-a.upload:n.download-a.download},minWidth:200,width:200,sortDescFirst:!0},{Header:o(`columns.${ot.Upload}`),accessor:ot.Upload,minWidth:100,width:100,sortDescFirst:!0},{Header:o(`columns.${ot.Download}`),accessor:ot.Download,minWidth:100,width:100,sortDescFirst:!0},{Header:o(`columns.${ot.SourceIP}`),accessor:ot.SourceIP,minWidth:140,width:140},{Header:o(`columns.${ot.Time}`),accessor:ot.Time,minWidth:120,width:120,sortType:(e,t)=>t.original.time-e.original.time}]),[o]);a.useLayoutEffect((()=>{let e=null;function t(e){for(const t of e)l({uploadTotal:t.uploadTotal,downloadTotal:t.downloadTotal}),d(t.connections)}return async function(){e=await ae(),e.subscribe("data",t)}(),()=>{e&&(e.unsubscribe("data",t),e.destory())}}),[d,l]);const{getTableProps:N,getTableBodyProps:C,headerGroups:k,rows:P,prepareRow:S,setFilter:T}=x.useTable({columns:v,data:h,autoResetSortBy:!1,autoResetFilters:!1,initialState:{sortBy:[{id:ot.Time,desc:!1}]}},x.useResizeColumns,x.useBlockLayout,x.useFilters,x.useSortBy),L=a.useMemo((()=>k[0]),[k]),$=a.useCallback((function(e){switch(e.column.id){case ot.Speed:return function(e,t){switch(!0){case 0===e&&0===t:return"-";case 0!==e&&0!==t:return`↑ ${ct(e)}/s ↓ ${ct(t)}/s`;case 0!==e:return`↑ ${ct(e)}/s`;default:return`↓ ${ct(t)}/s`}}(e.value[0],e.value[1]);case ot.Upload:case ot.Download:return ct(e.value);case ot.Time:return Ue(new Date(e.value),n);default:return e.value}}),[n]),[R,D]=a.useState("");return a.createElement("div",{className:"page"},a.createElement(U,{title:o("title")},a.createElement("span",{className:"connections-filter total"},`(${o("total.text")}: ${o("total.upload")} ${ct(r.uploadTotal)} ${o("total.download")} ${ct(r.downloadTotal)})`),a.createElement($e,{className:"connections-filter",checked:p,onChange:f},o("keepClosed")),a.createElement(O,{className:"connections-filter dangerous",onClick:i,type:"close-all",size:20})),g.length>1&&a.createElement(at,{devices:g,selected:R,onChange:function(e){D(e),null==T||T(ot.SourceIP,e)}}),a.createElement(z,{className:"connections-card"},a.createElement("div",e(e({},N()),{className:"connections",ref:y}),a.createElement("div",e(e({},L.getHeaderGroupProps()),{className:"connections-header"}),L.headers.map(((t,n)=>{const o=t,r=o.id;return a.createElement("div",e(e({},o.getHeaderProps()),{className:s("connections-th",{resizing:o.isResizing,fixed:E>0&&o.id===ot.Host}),key:r}),a.createElement("div",e({},o.getSortByToggleProps()),t.render("Header"),o.isSorted?o.isSortedDesc?" ↓":" ↑":null),n!==L.headers.length-1&&a.createElement("div",e(e({},o.getResizerProps()),{className:"connections-resizer"})))}))),a.createElement("div",e(e({},C()),{className:"connections-body"}),P.map((t=>(S(t),a.createElement("div",e(e({},t.getRowProps()),{className:"connections-item",key:t.original.id}),t.cells.map((n=>{const o=s("connections-block",{center:lt.has(n.column.id),completed:t.original.completed},{fixed:E>0&&n.column.id===ot.Host});return a.createElement("div",e(e({},n.getCellProps()),{className:o,key:n.column.id}),$(n))}))))))))),a.createElement(Pe,{title:o("closeAll.title"),show:c,onClose:u,onOk:function(){(async function(){return(await q()).delete("connections")})().finally((()=>u()))}},o("closeAll.content")))}function ut(){const{translation:e}=le(),{t:t}=e("Settings"),{data:n,update:s,fetch:o}=be(),{identity:r,set:l}=oe(),[c,i]=M({hostname:"",port:"",secret:""});return a.useEffect((()=>{o()}),[o]),a.useEffect((()=>{i({hostname:n.hostname,port:n.port,secret:n.secret})}),[n,i]),a.createElement(Pe,{show:!r,title:t("externalControllerSetting.title"),bodyClassName:"external-controller",onClose:()=>l(!0),onOk:function(){const{hostname:e,port:t,secret:n}=c;s({hostname:e,port:t,secret:n})}},a.createElement(Te,{type:"info",inside:!0},a.createElement("p",null,t("externalControllerSetting.note"))),a.createElement(W,{gutter:24,align:"middle"},a.createElement(_,{span:4,className:"title"},t("externalControllerSetting.host")),a.createElement(_,{span:20,className:"form"},a.createElement(ke,{align:"left",inside:!0,value:c.hostname,onChange:e=>i("hostname",e)}))),a.createElement(W,{gutter:24,align:"middle"},a.createElement(_,{span:4,className:"title"},t("externalControllerSetting.port")),a.createElement(_,{span:20,className:"form"},a.createElement(ke,{align:"left",inside:!0,value:c.port,onChange:e=>i("port",e)}))),a.createElement(W,{gutter:24,align:"middle"},a.createElement(_,{span:4,className:"title"},t("externalControllerSetting.secret")),a.createElement(_,{span:20,className:"form"},a.createElement(ke,{align:"left",inside:!0,value:c.secret,onChange:e=>i("secret",e)}))))}var mt;function dt(){a.useEffect((()=>{ne()}),[]);const e=[{path:"/proxies",name:"Proxies",component:Xe},{path:"/logs",name:"Logs",component:Je},{path:"/rules",name:"Rules",component:qe,noMobile:!0},{path:"/connections",name:"Connections",component:it,noMobile:!0},{path:"/settings",name:"Settings",component:Ze}];return a.createElement("div",{className:s("app",{"not-clashx":!S()})},a.createElement(nt,{routes:e}),a.createElement("div",{className:"page-container"},a.createElement(N,{exact:!0,path:"/",component:()=>a.createElement(C,{to:"/proxies"})}),e.map((e=>a.createElement(N,{exact:!1,path:e.path,key:e.path,component:e.component})))),a.createElement(ut,null))}function pt(){const e=document.getElementById("root"),t=a.createElement(k,null,a.createElement(P,null,a.createElement(dt,null)));d.render(t,e)}S()?(mt=()=>pt(),T?mt():T=new L(mt)):pt(); diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/dashboard/assets/index.5dfcf857.css b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/dashboard/assets/index.5dfcf857.css deleted file mode 100644 index 816b81d0de..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/dashboard/assets/index.5dfcf857.css +++ /dev/null @@ -1 +0,0 @@ -@charset "UTF-8";.header{margin:10px 0;width:100%;display:flex;flex-direction:row;align-items:center;justify-content:space-between;user-select:none}.header>h1{flex-shrink:0;font-size:24px;color:#2c8af8;font-weight:500;text-shadow:0 2px 6px rgba(44,138,248,.4);line-height:32px}.operations{display:flex;flex:1;align-items:center;justify-content:flex-end}@media (max-width:768px){.header>h1{font-size:20px}}.switch{display:inline-block;width:32px;height:16px;border-radius:8px;background-color:#d8dee2;transition:background-color .3s ease;position:relative;cursor:pointer}.switch.checked{background-color:#57befc}.switch.checked::after{transform:translateX(16px)}.switch.disabled{cursor:not-allowed;background-color:#b7c5d6}.switch.disabled::after{background-color:#e4eaef;box-shadow:0 0 8px rgba(144,147,153,.5)}.switch.checked.disabled{background-color:#e4eaef}.switch::after{content:"";position:absolute;top:-1px;height:18px;width:18px;border-radius:9px;background-color:#fff;box-shadow:0 0 8px rgba(44,138,248,.4);transition:transform .3s ease;transform:translateX(-2px)}.switch-icon{position:absolute;transform:translateX(-1px) scale(.4);color:#fff;line-height:16px}.card{padding:15px;box-shadow:2px 5px 20px -3px rgba(44,138,248,.18);background-color:#fff;border-radius:4px}.row{width:100%;display:flex;flex-direction:row}.row-gutter-1{padding:12px 6px}.row-gutter-1 .column{padding:0 6px;display:flex;flex-shrink:0}.row-gutter-1 .column-span-1{width:100%}.row-gutter-1 .column-offset-1{margin-left:100%}.row-gutter-1 .column-span-2{width:200%}.row-gutter-1 .column-offset-2{margin-left:200%}.row-gutter-1 .column-span-3{width:300%}.row-gutter-1 .column-offset-3{margin-left:300%}.row-gutter-1 .column-span-4{width:400%}.row-gutter-1 .column-offset-4{margin-left:400%}.row-gutter-1 .column-span-5{width:500%}.row-gutter-1 .column-offset-5{margin-left:500%}.row-gutter-1 .column-span-6{width:600%}.row-gutter-1 .column-offset-6{margin-left:600%}.row-gutter-1 .column-span-7{width:700%}.row-gutter-1 .column-offset-7{margin-left:700%}.row-gutter-1 .column-span-8{width:800%}.row-gutter-1 .column-offset-8{margin-left:800%}.row-gutter-1 .column-span-9{width:900%}.row-gutter-1 .column-offset-9{margin-left:900%}.row-gutter-1 .column-span-10{width:1000%}.row-gutter-1 .column-offset-10{margin-left:1000%}.row-gutter-1 .column-span-11{width:1100%}.row-gutter-1 .column-offset-11{margin-left:1100%}.row-gutter-1 .column-span-12{width:1200%}.row-gutter-1 .column-offset-12{margin-left:1200%}.row-gutter-1 .column-span-13{width:1300%}.row-gutter-1 .column-offset-13{margin-left:1300%}.row-gutter-1 .column-span-14{width:1400%}.row-gutter-1 .column-offset-14{margin-left:1400%}.row-gutter-1 .column-span-15{width:1500%}.row-gutter-1 .column-offset-15{margin-left:1500%}.row-gutter-1 .column-span-16{width:1600%}.row-gutter-1 .column-offset-16{margin-left:1600%}.row-gutter-1 .column-span-17{width:1700%}.row-gutter-1 .column-offset-17{margin-left:1700%}.row-gutter-1 .column-span-18{width:1800%}.row-gutter-1 .column-offset-18{margin-left:1800%}.row-gutter-1 .column-span-19{width:1900%}.row-gutter-1 .column-offset-19{margin-left:1900%}.row-gutter-1 .column-span-20{width:2000%}.row-gutter-1 .column-offset-20{margin-left:2000%}.row-gutter-1 .column-span-21{width:2100%}.row-gutter-1 .column-offset-21{margin-left:2100%}.row-gutter-1 .column-span-22{width:2200%}.row-gutter-1 .column-offset-22{margin-left:2200%}.row-gutter-1 .column-span-23{width:2300%}.row-gutter-1 .column-offset-23{margin-left:2300%}.row-gutter-1 .column-span-24{width:2400%}.row-gutter-1 .column-offset-24{margin-left:2400%}.row-gutter-2{padding:12px 6px}.row-gutter-2 .column{padding:0 6px;display:flex;flex-shrink:0}.row-gutter-2 .column-span-1{width:50%}.row-gutter-2 .column-offset-1{margin-left:50%}.row-gutter-2 .column-span-2{width:100%}.row-gutter-2 .column-offset-2{margin-left:100%}.row-gutter-2 .column-span-3{width:150%}.row-gutter-2 .column-offset-3{margin-left:150%}.row-gutter-2 .column-span-4{width:200%}.row-gutter-2 .column-offset-4{margin-left:200%}.row-gutter-2 .column-span-5{width:250%}.row-gutter-2 .column-offset-5{margin-left:250%}.row-gutter-2 .column-span-6{width:300%}.row-gutter-2 .column-offset-6{margin-left:300%}.row-gutter-2 .column-span-7{width:350%}.row-gutter-2 .column-offset-7{margin-left:350%}.row-gutter-2 .column-span-8{width:400%}.row-gutter-2 .column-offset-8{margin-left:400%}.row-gutter-2 .column-span-9{width:450%}.row-gutter-2 .column-offset-9{margin-left:450%}.row-gutter-2 .column-span-10{width:500%}.row-gutter-2 .column-offset-10{margin-left:500%}.row-gutter-2 .column-span-11{width:550%}.row-gutter-2 .column-offset-11{margin-left:550%}.row-gutter-2 .column-span-12{width:600%}.row-gutter-2 .column-offset-12{margin-left:600%}.row-gutter-2 .column-span-13{width:650%}.row-gutter-2 .column-offset-13{margin-left:650%}.row-gutter-2 .column-span-14{width:700%}.row-gutter-2 .column-offset-14{margin-left:700%}.row-gutter-2 .column-span-15{width:750%}.row-gutter-2 .column-offset-15{margin-left:750%}.row-gutter-2 .column-span-16{width:800%}.row-gutter-2 .column-offset-16{margin-left:800%}.row-gutter-2 .column-span-17{width:850%}.row-gutter-2 .column-offset-17{margin-left:850%}.row-gutter-2 .column-span-18{width:900%}.row-gutter-2 .column-offset-18{margin-left:900%}.row-gutter-2 .column-span-19{width:950%}.row-gutter-2 .column-offset-19{margin-left:950%}.row-gutter-2 .column-span-20{width:1000%}.row-gutter-2 .column-offset-20{margin-left:1000%}.row-gutter-2 .column-span-21{width:1050%}.row-gutter-2 .column-offset-21{margin-left:1050%}.row-gutter-2 .column-span-22{width:1100%}.row-gutter-2 .column-offset-22{margin-left:1100%}.row-gutter-2 .column-span-23{width:1150%}.row-gutter-2 .column-offset-23{margin-left:1150%}.row-gutter-2 .column-span-24{width:1200%}.row-gutter-2 .column-offset-24{margin-left:1200%}.row-gutter-3{padding:12px 6px}.row-gutter-3 .column{padding:0 6px;display:flex;flex-shrink:0}.row-gutter-3 .column-span-1{width:33.3333333333%}.row-gutter-3 .column-offset-1{margin-left:33.3333333333%}.row-gutter-3 .column-span-2{width:66.6666666667%}.row-gutter-3 .column-offset-2{margin-left:66.6666666667%}.row-gutter-3 .column-span-3{width:100%}.row-gutter-3 .column-offset-3{margin-left:100%}.row-gutter-3 .column-span-4{width:133.3333333333%}.row-gutter-3 .column-offset-4{margin-left:133.3333333333%}.row-gutter-3 .column-span-5{width:166.6666666667%}.row-gutter-3 .column-offset-5{margin-left:166.6666666667%}.row-gutter-3 .column-span-6{width:200%}.row-gutter-3 .column-offset-6{margin-left:200%}.row-gutter-3 .column-span-7{width:233.3333333333%}.row-gutter-3 .column-offset-7{margin-left:233.3333333333%}.row-gutter-3 .column-span-8{width:266.6666666667%}.row-gutter-3 .column-offset-8{margin-left:266.6666666667%}.row-gutter-3 .column-span-9{width:300%}.row-gutter-3 .column-offset-9{margin-left:300%}.row-gutter-3 .column-span-10{width:333.3333333333%}.row-gutter-3 .column-offset-10{margin-left:333.3333333333%}.row-gutter-3 .column-span-11{width:366.6666666667%}.row-gutter-3 .column-offset-11{margin-left:366.6666666667%}.row-gutter-3 .column-span-12{width:400%}.row-gutter-3 .column-offset-12{margin-left:400%}.row-gutter-3 .column-span-13{width:433.3333333333%}.row-gutter-3 .column-offset-13{margin-left:433.3333333333%}.row-gutter-3 .column-span-14{width:466.6666666667%}.row-gutter-3 .column-offset-14{margin-left:466.6666666667%}.row-gutter-3 .column-span-15{width:500%}.row-gutter-3 .column-offset-15{margin-left:500%}.row-gutter-3 .column-span-16{width:533.3333333333%}.row-gutter-3 .column-offset-16{margin-left:533.3333333333%}.row-gutter-3 .column-span-17{width:566.6666666667%}.row-gutter-3 .column-offset-17{margin-left:566.6666666667%}.row-gutter-3 .column-span-18{width:600%}.row-gutter-3 .column-offset-18{margin-left:600%}.row-gutter-3 .column-span-19{width:633.3333333333%}.row-gutter-3 .column-offset-19{margin-left:633.3333333333%}.row-gutter-3 .column-span-20{width:666.6666666667%}.row-gutter-3 .column-offset-20{margin-left:666.6666666667%}.row-gutter-3 .column-span-21{width:700%}.row-gutter-3 .column-offset-21{margin-left:700%}.row-gutter-3 .column-span-22{width:733.3333333333%}.row-gutter-3 .column-offset-22{margin-left:733.3333333333%}.row-gutter-3 .column-span-23{width:766.6666666667%}.row-gutter-3 .column-offset-23{margin-left:766.6666666667%}.row-gutter-3 .column-span-24{width:800%}.row-gutter-3 .column-offset-24{margin-left:800%}.row-gutter-4{padding:12px 6px}.row-gutter-4 .column{padding:0 6px;display:flex;flex-shrink:0}.row-gutter-4 .column-span-1{width:25%}.row-gutter-4 .column-offset-1{margin-left:25%}.row-gutter-4 .column-span-2{width:50%}.row-gutter-4 .column-offset-2{margin-left:50%}.row-gutter-4 .column-span-3{width:75%}.row-gutter-4 .column-offset-3{margin-left:75%}.row-gutter-4 .column-span-4{width:100%}.row-gutter-4 .column-offset-4{margin-left:100%}.row-gutter-4 .column-span-5{width:125%}.row-gutter-4 .column-offset-5{margin-left:125%}.row-gutter-4 .column-span-6{width:150%}.row-gutter-4 .column-offset-6{margin-left:150%}.row-gutter-4 .column-span-7{width:175%}.row-gutter-4 .column-offset-7{margin-left:175%}.row-gutter-4 .column-span-8{width:200%}.row-gutter-4 .column-offset-8{margin-left:200%}.row-gutter-4 .column-span-9{width:225%}.row-gutter-4 .column-offset-9{margin-left:225%}.row-gutter-4 .column-span-10{width:250%}.row-gutter-4 .column-offset-10{margin-left:250%}.row-gutter-4 .column-span-11{width:275%}.row-gutter-4 .column-offset-11{margin-left:275%}.row-gutter-4 .column-span-12{width:300%}.row-gutter-4 .column-offset-12{margin-left:300%}.row-gutter-4 .column-span-13{width:325%}.row-gutter-4 .column-offset-13{margin-left:325%}.row-gutter-4 .column-span-14{width:350%}.row-gutter-4 .column-offset-14{margin-left:350%}.row-gutter-4 .column-span-15{width:375%}.row-gutter-4 .column-offset-15{margin-left:375%}.row-gutter-4 .column-span-16{width:400%}.row-gutter-4 .column-offset-16{margin-left:400%}.row-gutter-4 .column-span-17{width:425%}.row-gutter-4 .column-offset-17{margin-left:425%}.row-gutter-4 .column-span-18{width:450%}.row-gutter-4 .column-offset-18{margin-left:450%}.row-gutter-4 .column-span-19{width:475%}.row-gutter-4 .column-offset-19{margin-left:475%}.row-gutter-4 .column-span-20{width:500%}.row-gutter-4 .column-offset-20{margin-left:500%}.row-gutter-4 .column-span-21{width:525%}.row-gutter-4 .column-offset-21{margin-left:525%}.row-gutter-4 .column-span-22{width:550%}.row-gutter-4 .column-offset-22{margin-left:550%}.row-gutter-4 .column-span-23{width:575%}.row-gutter-4 .column-offset-23{margin-left:575%}.row-gutter-4 .column-span-24{width:600%}.row-gutter-4 .column-offset-24{margin-left:600%}.row-gutter-5{padding:12px 6px}.row-gutter-5 .column{padding:0 6px;display:flex;flex-shrink:0}.row-gutter-5 .column-span-1{width:20%}.row-gutter-5 .column-offset-1{margin-left:20%}.row-gutter-5 .column-span-2{width:40%}.row-gutter-5 .column-offset-2{margin-left:40%}.row-gutter-5 .column-span-3{width:60%}.row-gutter-5 .column-offset-3{margin-left:60%}.row-gutter-5 .column-span-4{width:80%}.row-gutter-5 .column-offset-4{margin-left:80%}.row-gutter-5 .column-span-5{width:100%}.row-gutter-5 .column-offset-5{margin-left:100%}.row-gutter-5 .column-span-6{width:120%}.row-gutter-5 .column-offset-6{margin-left:120%}.row-gutter-5 .column-span-7{width:140%}.row-gutter-5 .column-offset-7{margin-left:140%}.row-gutter-5 .column-span-8{width:160%}.row-gutter-5 .column-offset-8{margin-left:160%}.row-gutter-5 .column-span-9{width:180%}.row-gutter-5 .column-offset-9{margin-left:180%}.row-gutter-5 .column-span-10{width:200%}.row-gutter-5 .column-offset-10{margin-left:200%}.row-gutter-5 .column-span-11{width:220%}.row-gutter-5 .column-offset-11{margin-left:220%}.row-gutter-5 .column-span-12{width:240%}.row-gutter-5 .column-offset-12{margin-left:240%}.row-gutter-5 .column-span-13{width:260%}.row-gutter-5 .column-offset-13{margin-left:260%}.row-gutter-5 .column-span-14{width:280%}.row-gutter-5 .column-offset-14{margin-left:280%}.row-gutter-5 .column-span-15{width:300%}.row-gutter-5 .column-offset-15{margin-left:300%}.row-gutter-5 .column-span-16{width:320%}.row-gutter-5 .column-offset-16{margin-left:320%}.row-gutter-5 .column-span-17{width:340%}.row-gutter-5 .column-offset-17{margin-left:340%}.row-gutter-5 .column-span-18{width:360%}.row-gutter-5 .column-offset-18{margin-left:360%}.row-gutter-5 .column-span-19{width:380%}.row-gutter-5 .column-offset-19{margin-left:380%}.row-gutter-5 .column-span-20{width:400%}.row-gutter-5 .column-offset-20{margin-left:400%}.row-gutter-5 .column-span-21{width:420%}.row-gutter-5 .column-offset-21{margin-left:420%}.row-gutter-5 .column-span-22{width:440%}.row-gutter-5 .column-offset-22{margin-left:440%}.row-gutter-5 .column-span-23{width:460%}.row-gutter-5 .column-offset-23{margin-left:460%}.row-gutter-5 .column-span-24{width:480%}.row-gutter-5 .column-offset-24{margin-left:480%}.row-gutter-6{padding:12px 6px}.row-gutter-6 .column{padding:0 6px;display:flex;flex-shrink:0}.row-gutter-6 .column-span-1{width:16.6666666667%}.row-gutter-6 .column-offset-1{margin-left:16.6666666667%}.row-gutter-6 .column-span-2{width:33.3333333333%}.row-gutter-6 .column-offset-2{margin-left:33.3333333333%}.row-gutter-6 .column-span-3{width:50%}.row-gutter-6 .column-offset-3{margin-left:50%}.row-gutter-6 .column-span-4{width:66.6666666667%}.row-gutter-6 .column-offset-4{margin-left:66.6666666667%}.row-gutter-6 .column-span-5{width:83.3333333333%}.row-gutter-6 .column-offset-5{margin-left:83.3333333333%}.row-gutter-6 .column-span-6{width:100%}.row-gutter-6 .column-offset-6{margin-left:100%}.row-gutter-6 .column-span-7{width:116.6666666667%}.row-gutter-6 .column-offset-7{margin-left:116.6666666667%}.row-gutter-6 .column-span-8{width:133.3333333333%}.row-gutter-6 .column-offset-8{margin-left:133.3333333333%}.row-gutter-6 .column-span-9{width:150%}.row-gutter-6 .column-offset-9{margin-left:150%}.row-gutter-6 .column-span-10{width:166.6666666667%}.row-gutter-6 .column-offset-10{margin-left:166.6666666667%}.row-gutter-6 .column-span-11{width:183.3333333333%}.row-gutter-6 .column-offset-11{margin-left:183.3333333333%}.row-gutter-6 .column-span-12{width:200%}.row-gutter-6 .column-offset-12{margin-left:200%}.row-gutter-6 .column-span-13{width:216.6666666667%}.row-gutter-6 .column-offset-13{margin-left:216.6666666667%}.row-gutter-6 .column-span-14{width:233.3333333333%}.row-gutter-6 .column-offset-14{margin-left:233.3333333333%}.row-gutter-6 .column-span-15{width:250%}.row-gutter-6 .column-offset-15{margin-left:250%}.row-gutter-6 .column-span-16{width:266.6666666667%}.row-gutter-6 .column-offset-16{margin-left:266.6666666667%}.row-gutter-6 .column-span-17{width:283.3333333333%}.row-gutter-6 .column-offset-17{margin-left:283.3333333333%}.row-gutter-6 .column-span-18{width:300%}.row-gutter-6 .column-offset-18{margin-left:300%}.row-gutter-6 .column-span-19{width:316.6666666667%}.row-gutter-6 .column-offset-19{margin-left:316.6666666667%}.row-gutter-6 .column-span-20{width:333.3333333333%}.row-gutter-6 .column-offset-20{margin-left:333.3333333333%}.row-gutter-6 .column-span-21{width:350%}.row-gutter-6 .column-offset-21{margin-left:350%}.row-gutter-6 .column-span-22{width:366.6666666667%}.row-gutter-6 .column-offset-22{margin-left:366.6666666667%}.row-gutter-6 .column-span-23{width:383.3333333333%}.row-gutter-6 .column-offset-23{margin-left:383.3333333333%}.row-gutter-6 .column-span-24{width:400%}.row-gutter-6 .column-offset-24{margin-left:400%}.row-gutter-7{padding:12px 6px}.row-gutter-7 .column{padding:0 6px;display:flex;flex-shrink:0}.row-gutter-7 .column-span-1{width:14.2857142857%}.row-gutter-7 .column-offset-1{margin-left:14.2857142857%}.row-gutter-7 .column-span-2{width:28.5714285714%}.row-gutter-7 .column-offset-2{margin-left:28.5714285714%}.row-gutter-7 .column-span-3{width:42.8571428571%}.row-gutter-7 .column-offset-3{margin-left:42.8571428571%}.row-gutter-7 .column-span-4{width:57.1428571429%}.row-gutter-7 .column-offset-4{margin-left:57.1428571429%}.row-gutter-7 .column-span-5{width:71.4285714286%}.row-gutter-7 .column-offset-5{margin-left:71.4285714286%}.row-gutter-7 .column-span-6{width:85.7142857143%}.row-gutter-7 .column-offset-6{margin-left:85.7142857143%}.row-gutter-7 .column-span-7{width:100%}.row-gutter-7 .column-offset-7{margin-left:100%}.row-gutter-7 .column-span-8{width:114.2857142857%}.row-gutter-7 .column-offset-8{margin-left:114.2857142857%}.row-gutter-7 .column-span-9{width:128.5714285714%}.row-gutter-7 .column-offset-9{margin-left:128.5714285714%}.row-gutter-7 .column-span-10{width:142.8571428571%}.row-gutter-7 .column-offset-10{margin-left:142.8571428571%}.row-gutter-7 .column-span-11{width:157.1428571429%}.row-gutter-7 .column-offset-11{margin-left:157.1428571429%}.row-gutter-7 .column-span-12{width:171.4285714286%}.row-gutter-7 .column-offset-12{margin-left:171.4285714286%}.row-gutter-7 .column-span-13{width:185.7142857143%}.row-gutter-7 .column-offset-13{margin-left:185.7142857143%}.row-gutter-7 .column-span-14{width:200%}.row-gutter-7 .column-offset-14{margin-left:200%}.row-gutter-7 .column-span-15{width:214.2857142857%}.row-gutter-7 .column-offset-15{margin-left:214.2857142857%}.row-gutter-7 .column-span-16{width:228.5714285714%}.row-gutter-7 .column-offset-16{margin-left:228.5714285714%}.row-gutter-7 .column-span-17{width:242.8571428571%}.row-gutter-7 .column-offset-17{margin-left:242.8571428571%}.row-gutter-7 .column-span-18{width:257.1428571429%}.row-gutter-7 .column-offset-18{margin-left:257.1428571429%}.row-gutter-7 .column-span-19{width:271.4285714286%}.row-gutter-7 .column-offset-19{margin-left:271.4285714286%}.row-gutter-7 .column-span-20{width:285.7142857143%}.row-gutter-7 .column-offset-20{margin-left:285.7142857143%}.row-gutter-7 .column-span-21{width:300%}.row-gutter-7 .column-offset-21{margin-left:300%}.row-gutter-7 .column-span-22{width:314.2857142857%}.row-gutter-7 .column-offset-22{margin-left:314.2857142857%}.row-gutter-7 .column-span-23{width:328.5714285714%}.row-gutter-7 .column-offset-23{margin-left:328.5714285714%}.row-gutter-7 .column-span-24{width:342.8571428571%}.row-gutter-7 .column-offset-24{margin-left:342.8571428571%}.row-gutter-8{padding:12px 6px}.row-gutter-8 .column{padding:0 6px;display:flex;flex-shrink:0}.row-gutter-8 .column-span-1{width:12.5%}.row-gutter-8 .column-offset-1{margin-left:12.5%}.row-gutter-8 .column-span-2{width:25%}.row-gutter-8 .column-offset-2{margin-left:25%}.row-gutter-8 .column-span-3{width:37.5%}.row-gutter-8 .column-offset-3{margin-left:37.5%}.row-gutter-8 .column-span-4{width:50%}.row-gutter-8 .column-offset-4{margin-left:50%}.row-gutter-8 .column-span-5{width:62.5%}.row-gutter-8 .column-offset-5{margin-left:62.5%}.row-gutter-8 .column-span-6{width:75%}.row-gutter-8 .column-offset-6{margin-left:75%}.row-gutter-8 .column-span-7{width:87.5%}.row-gutter-8 .column-offset-7{margin-left:87.5%}.row-gutter-8 .column-span-8{width:100%}.row-gutter-8 .column-offset-8{margin-left:100%}.row-gutter-8 .column-span-9{width:112.5%}.row-gutter-8 .column-offset-9{margin-left:112.5%}.row-gutter-8 .column-span-10{width:125%}.row-gutter-8 .column-offset-10{margin-left:125%}.row-gutter-8 .column-span-11{width:137.5%}.row-gutter-8 .column-offset-11{margin-left:137.5%}.row-gutter-8 .column-span-12{width:150%}.row-gutter-8 .column-offset-12{margin-left:150%}.row-gutter-8 .column-span-13{width:162.5%}.row-gutter-8 .column-offset-13{margin-left:162.5%}.row-gutter-8 .column-span-14{width:175%}.row-gutter-8 .column-offset-14{margin-left:175%}.row-gutter-8 .column-span-15{width:187.5%}.row-gutter-8 .column-offset-15{margin-left:187.5%}.row-gutter-8 .column-span-16{width:200%}.row-gutter-8 .column-offset-16{margin-left:200%}.row-gutter-8 .column-span-17{width:212.5%}.row-gutter-8 .column-offset-17{margin-left:212.5%}.row-gutter-8 .column-span-18{width:225%}.row-gutter-8 .column-offset-18{margin-left:225%}.row-gutter-8 .column-span-19{width:237.5%}.row-gutter-8 .column-offset-19{margin-left:237.5%}.row-gutter-8 .column-span-20{width:250%}.row-gutter-8 .column-offset-20{margin-left:250%}.row-gutter-8 .column-span-21{width:262.5%}.row-gutter-8 .column-offset-21{margin-left:262.5%}.row-gutter-8 .column-span-22{width:275%}.row-gutter-8 .column-offset-22{margin-left:275%}.row-gutter-8 .column-span-23{width:287.5%}.row-gutter-8 .column-offset-23{margin-left:287.5%}.row-gutter-8 .column-span-24{width:300%}.row-gutter-8 .column-offset-24{margin-left:300%}.row-gutter-9{padding:12px 6px}.row-gutter-9 .column{padding:0 6px;display:flex;flex-shrink:0}.row-gutter-9 .column-span-1{width:11.1111111111%}.row-gutter-9 .column-offset-1{margin-left:11.1111111111%}.row-gutter-9 .column-span-2{width:22.2222222222%}.row-gutter-9 .column-offset-2{margin-left:22.2222222222%}.row-gutter-9 .column-span-3{width:33.3333333333%}.row-gutter-9 .column-offset-3{margin-left:33.3333333333%}.row-gutter-9 .column-span-4{width:44.4444444444%}.row-gutter-9 .column-offset-4{margin-left:44.4444444444%}.row-gutter-9 .column-span-5{width:55.5555555556%}.row-gutter-9 .column-offset-5{margin-left:55.5555555556%}.row-gutter-9 .column-span-6{width:66.6666666667%}.row-gutter-9 .column-offset-6{margin-left:66.6666666667%}.row-gutter-9 .column-span-7{width:77.7777777778%}.row-gutter-9 .column-offset-7{margin-left:77.7777777778%}.row-gutter-9 .column-span-8{width:88.8888888889%}.row-gutter-9 .column-offset-8{margin-left:88.8888888889%}.row-gutter-9 .column-span-9{width:100%}.row-gutter-9 .column-offset-9{margin-left:100%}.row-gutter-9 .column-span-10{width:111.1111111111%}.row-gutter-9 .column-offset-10{margin-left:111.1111111111%}.row-gutter-9 .column-span-11{width:122.2222222222%}.row-gutter-9 .column-offset-11{margin-left:122.2222222222%}.row-gutter-9 .column-span-12{width:133.3333333333%}.row-gutter-9 .column-offset-12{margin-left:133.3333333333%}.row-gutter-9 .column-span-13{width:144.4444444444%}.row-gutter-9 .column-offset-13{margin-left:144.4444444444%}.row-gutter-9 .column-span-14{width:155.5555555556%}.row-gutter-9 .column-offset-14{margin-left:155.5555555556%}.row-gutter-9 .column-span-15{width:166.6666666667%}.row-gutter-9 .column-offset-15{margin-left:166.6666666667%}.row-gutter-9 .column-span-16{width:177.7777777778%}.row-gutter-9 .column-offset-16{margin-left:177.7777777778%}.row-gutter-9 .column-span-17{width:188.8888888889%}.row-gutter-9 .column-offset-17{margin-left:188.8888888889%}.row-gutter-9 .column-span-18{width:200%}.row-gutter-9 .column-offset-18{margin-left:200%}.row-gutter-9 .column-span-19{width:211.1111111111%}.row-gutter-9 .column-offset-19{margin-left:211.1111111111%}.row-gutter-9 .column-span-20{width:222.2222222222%}.row-gutter-9 .column-offset-20{margin-left:222.2222222222%}.row-gutter-9 .column-span-21{width:233.3333333333%}.row-gutter-9 .column-offset-21{margin-left:233.3333333333%}.row-gutter-9 .column-span-22{width:244.4444444444%}.row-gutter-9 .column-offset-22{margin-left:244.4444444444%}.row-gutter-9 .column-span-23{width:255.5555555556%}.row-gutter-9 .column-offset-23{margin-left:255.5555555556%}.row-gutter-9 .column-span-24{width:266.6666666667%}.row-gutter-9 .column-offset-24{margin-left:266.6666666667%}.row-gutter-10{padding:12px 6px}.row-gutter-10 .column{padding:0 6px;display:flex;flex-shrink:0}.row-gutter-10 .column-span-1{width:10%}.row-gutter-10 .column-offset-1{margin-left:10%}.row-gutter-10 .column-span-2{width:20%}.row-gutter-10 .column-offset-2{margin-left:20%}.row-gutter-10 .column-span-3{width:30%}.row-gutter-10 .column-offset-3{margin-left:30%}.row-gutter-10 .column-span-4{width:40%}.row-gutter-10 .column-offset-4{margin-left:40%}.row-gutter-10 .column-span-5{width:50%}.row-gutter-10 .column-offset-5{margin-left:50%}.row-gutter-10 .column-span-6{width:60%}.row-gutter-10 .column-offset-6{margin-left:60%}.row-gutter-10 .column-span-7{width:70%}.row-gutter-10 .column-offset-7{margin-left:70%}.row-gutter-10 .column-span-8{width:80%}.row-gutter-10 .column-offset-8{margin-left:80%}.row-gutter-10 .column-span-9{width:90%}.row-gutter-10 .column-offset-9{margin-left:90%}.row-gutter-10 .column-span-10{width:100%}.row-gutter-10 .column-offset-10{margin-left:100%}.row-gutter-10 .column-span-11{width:110%}.row-gutter-10 .column-offset-11{margin-left:110%}.row-gutter-10 .column-span-12{width:120%}.row-gutter-10 .column-offset-12{margin-left:120%}.row-gutter-10 .column-span-13{width:130%}.row-gutter-10 .column-offset-13{margin-left:130%}.row-gutter-10 .column-span-14{width:140%}.row-gutter-10 .column-offset-14{margin-left:140%}.row-gutter-10 .column-span-15{width:150%}.row-gutter-10 .column-offset-15{margin-left:150%}.row-gutter-10 .column-span-16{width:160%}.row-gutter-10 .column-offset-16{margin-left:160%}.row-gutter-10 .column-span-17{width:170%}.row-gutter-10 .column-offset-17{margin-left:170%}.row-gutter-10 .column-span-18{width:180%}.row-gutter-10 .column-offset-18{margin-left:180%}.row-gutter-10 .column-span-19{width:190%}.row-gutter-10 .column-offset-19{margin-left:190%}.row-gutter-10 .column-span-20{width:200%}.row-gutter-10 .column-offset-20{margin-left:200%}.row-gutter-10 .column-span-21{width:210%}.row-gutter-10 .column-offset-21{margin-left:210%}.row-gutter-10 .column-span-22{width:220%}.row-gutter-10 .column-offset-22{margin-left:220%}.row-gutter-10 .column-span-23{width:230%}.row-gutter-10 .column-offset-23{margin-left:230%}.row-gutter-10 .column-span-24{width:240%}.row-gutter-10 .column-offset-24{margin-left:240%}.row-gutter-11{padding:12px 6px}.row-gutter-11 .column{padding:0 6px;display:flex;flex-shrink:0}.row-gutter-11 .column-span-1{width:9.0909090909%}.row-gutter-11 .column-offset-1{margin-left:9.0909090909%}.row-gutter-11 .column-span-2{width:18.1818181818%}.row-gutter-11 .column-offset-2{margin-left:18.1818181818%}.row-gutter-11 .column-span-3{width:27.2727272727%}.row-gutter-11 .column-offset-3{margin-left:27.2727272727%}.row-gutter-11 .column-span-4{width:36.3636363636%}.row-gutter-11 .column-offset-4{margin-left:36.3636363636%}.row-gutter-11 .column-span-5{width:45.4545454545%}.row-gutter-11 .column-offset-5{margin-left:45.4545454545%}.row-gutter-11 .column-span-6{width:54.5454545455%}.row-gutter-11 .column-offset-6{margin-left:54.5454545455%}.row-gutter-11 .column-span-7{width:63.6363636364%}.row-gutter-11 .column-offset-7{margin-left:63.6363636364%}.row-gutter-11 .column-span-8{width:72.7272727273%}.row-gutter-11 .column-offset-8{margin-left:72.7272727273%}.row-gutter-11 .column-span-9{width:81.8181818182%}.row-gutter-11 .column-offset-9{margin-left:81.8181818182%}.row-gutter-11 .column-span-10{width:90.9090909091%}.row-gutter-11 .column-offset-10{margin-left:90.9090909091%}.row-gutter-11 .column-span-11{width:100%}.row-gutter-11 .column-offset-11{margin-left:100%}.row-gutter-11 .column-span-12{width:109.0909090909%}.row-gutter-11 .column-offset-12{margin-left:109.0909090909%}.row-gutter-11 .column-span-13{width:118.1818181818%}.row-gutter-11 .column-offset-13{margin-left:118.1818181818%}.row-gutter-11 .column-span-14{width:127.2727272727%}.row-gutter-11 .column-offset-14{margin-left:127.2727272727%}.row-gutter-11 .column-span-15{width:136.3636363636%}.row-gutter-11 .column-offset-15{margin-left:136.3636363636%}.row-gutter-11 .column-span-16{width:145.4545454545%}.row-gutter-11 .column-offset-16{margin-left:145.4545454545%}.row-gutter-11 .column-span-17{width:154.5454545455%}.row-gutter-11 .column-offset-17{margin-left:154.5454545455%}.row-gutter-11 .column-span-18{width:163.6363636364%}.row-gutter-11 .column-offset-18{margin-left:163.6363636364%}.row-gutter-11 .column-span-19{width:172.7272727273%}.row-gutter-11 .column-offset-19{margin-left:172.7272727273%}.row-gutter-11 .column-span-20{width:181.8181818182%}.row-gutter-11 .column-offset-20{margin-left:181.8181818182%}.row-gutter-11 .column-span-21{width:190.9090909091%}.row-gutter-11 .column-offset-21{margin-left:190.9090909091%}.row-gutter-11 .column-span-22{width:200%}.row-gutter-11 .column-offset-22{margin-left:200%}.row-gutter-11 .column-span-23{width:209.0909090909%}.row-gutter-11 .column-offset-23{margin-left:209.0909090909%}.row-gutter-11 .column-span-24{width:218.1818181818%}.row-gutter-11 .column-offset-24{margin-left:218.1818181818%}.row-gutter-12{padding:12px 6px}.row-gutter-12 .column{padding:0 6px;display:flex;flex-shrink:0}.row-gutter-12 .column-span-1{width:8.3333333333%}.row-gutter-12 .column-offset-1{margin-left:8.3333333333%}.row-gutter-12 .column-span-2{width:16.6666666667%}.row-gutter-12 .column-offset-2{margin-left:16.6666666667%}.row-gutter-12 .column-span-3{width:25%}.row-gutter-12 .column-offset-3{margin-left:25%}.row-gutter-12 .column-span-4{width:33.3333333333%}.row-gutter-12 .column-offset-4{margin-left:33.3333333333%}.row-gutter-12 .column-span-5{width:41.6666666667%}.row-gutter-12 .column-offset-5{margin-left:41.6666666667%}.row-gutter-12 .column-span-6{width:50%}.row-gutter-12 .column-offset-6{margin-left:50%}.row-gutter-12 .column-span-7{width:58.3333333333%}.row-gutter-12 .column-offset-7{margin-left:58.3333333333%}.row-gutter-12 .column-span-8{width:66.6666666667%}.row-gutter-12 .column-offset-8{margin-left:66.6666666667%}.row-gutter-12 .column-span-9{width:75%}.row-gutter-12 .column-offset-9{margin-left:75%}.row-gutter-12 .column-span-10{width:83.3333333333%}.row-gutter-12 .column-offset-10{margin-left:83.3333333333%}.row-gutter-12 .column-span-11{width:91.6666666667%}.row-gutter-12 .column-offset-11{margin-left:91.6666666667%}.row-gutter-12 .column-span-12{width:100%}.row-gutter-12 .column-offset-12{margin-left:100%}.row-gutter-12 .column-span-13{width:108.3333333333%}.row-gutter-12 .column-offset-13{margin-left:108.3333333333%}.row-gutter-12 .column-span-14{width:116.6666666667%}.row-gutter-12 .column-offset-14{margin-left:116.6666666667%}.row-gutter-12 .column-span-15{width:125%}.row-gutter-12 .column-offset-15{margin-left:125%}.row-gutter-12 .column-span-16{width:133.3333333333%}.row-gutter-12 .column-offset-16{margin-left:133.3333333333%}.row-gutter-12 .column-span-17{width:141.6666666667%}.row-gutter-12 .column-offset-17{margin-left:141.6666666667%}.row-gutter-12 .column-span-18{width:150%}.row-gutter-12 .column-offset-18{margin-left:150%}.row-gutter-12 .column-span-19{width:158.3333333333%}.row-gutter-12 .column-offset-19{margin-left:158.3333333333%}.row-gutter-12 .column-span-20{width:166.6666666667%}.row-gutter-12 .column-offset-20{margin-left:166.6666666667%}.row-gutter-12 .column-span-21{width:175%}.row-gutter-12 .column-offset-21{margin-left:175%}.row-gutter-12 .column-span-22{width:183.3333333333%}.row-gutter-12 .column-offset-22{margin-left:183.3333333333%}.row-gutter-12 .column-span-23{width:191.6666666667%}.row-gutter-12 .column-offset-23{margin-left:191.6666666667%}.row-gutter-12 .column-span-24{width:200%}.row-gutter-12 .column-offset-24{margin-left:200%}.row-gutter-13{padding:12px 6px}.row-gutter-13 .column{padding:0 6px;display:flex;flex-shrink:0}.row-gutter-13 .column-span-1{width:7.6923076923%}.row-gutter-13 .column-offset-1{margin-left:7.6923076923%}.row-gutter-13 .column-span-2{width:15.3846153846%}.row-gutter-13 .column-offset-2{margin-left:15.3846153846%}.row-gutter-13 .column-span-3{width:23.0769230769%}.row-gutter-13 .column-offset-3{margin-left:23.0769230769%}.row-gutter-13 .column-span-4{width:30.7692307692%}.row-gutter-13 .column-offset-4{margin-left:30.7692307692%}.row-gutter-13 .column-span-5{width:38.4615384615%}.row-gutter-13 .column-offset-5{margin-left:38.4615384615%}.row-gutter-13 .column-span-6{width:46.1538461538%}.row-gutter-13 .column-offset-6{margin-left:46.1538461538%}.row-gutter-13 .column-span-7{width:53.8461538462%}.row-gutter-13 .column-offset-7{margin-left:53.8461538462%}.row-gutter-13 .column-span-8{width:61.5384615385%}.row-gutter-13 .column-offset-8{margin-left:61.5384615385%}.row-gutter-13 .column-span-9{width:69.2307692308%}.row-gutter-13 .column-offset-9{margin-left:69.2307692308%}.row-gutter-13 .column-span-10{width:76.9230769231%}.row-gutter-13 .column-offset-10{margin-left:76.9230769231%}.row-gutter-13 .column-span-11{width:84.6153846154%}.row-gutter-13 .column-offset-11{margin-left:84.6153846154%}.row-gutter-13 .column-span-12{width:92.3076923077%}.row-gutter-13 .column-offset-12{margin-left:92.3076923077%}.row-gutter-13 .column-span-13{width:100%}.row-gutter-13 .column-offset-13{margin-left:100%}.row-gutter-13 .column-span-14{width:107.6923076923%}.row-gutter-13 .column-offset-14{margin-left:107.6923076923%}.row-gutter-13 .column-span-15{width:115.3846153846%}.row-gutter-13 .column-offset-15{margin-left:115.3846153846%}.row-gutter-13 .column-span-16{width:123.0769230769%}.row-gutter-13 .column-offset-16{margin-left:123.0769230769%}.row-gutter-13 .column-span-17{width:130.7692307692%}.row-gutter-13 .column-offset-17{margin-left:130.7692307692%}.row-gutter-13 .column-span-18{width:138.4615384615%}.row-gutter-13 .column-offset-18{margin-left:138.4615384615%}.row-gutter-13 .column-span-19{width:146.1538461538%}.row-gutter-13 .column-offset-19{margin-left:146.1538461538%}.row-gutter-13 .column-span-20{width:153.8461538462%}.row-gutter-13 .column-offset-20{margin-left:153.8461538462%}.row-gutter-13 .column-span-21{width:161.5384615385%}.row-gutter-13 .column-offset-21{margin-left:161.5384615385%}.row-gutter-13 .column-span-22{width:169.2307692308%}.row-gutter-13 .column-offset-22{margin-left:169.2307692308%}.row-gutter-13 .column-span-23{width:176.9230769231%}.row-gutter-13 .column-offset-23{margin-left:176.9230769231%}.row-gutter-13 .column-span-24{width:184.6153846154%}.row-gutter-13 .column-offset-24{margin-left:184.6153846154%}.row-gutter-14{padding:12px 6px}.row-gutter-14 .column{padding:0 6px;display:flex;flex-shrink:0}.row-gutter-14 .column-span-1{width:7.1428571429%}.row-gutter-14 .column-offset-1{margin-left:7.1428571429%}.row-gutter-14 .column-span-2{width:14.2857142857%}.row-gutter-14 .column-offset-2{margin-left:14.2857142857%}.row-gutter-14 .column-span-3{width:21.4285714286%}.row-gutter-14 .column-offset-3{margin-left:21.4285714286%}.row-gutter-14 .column-span-4{width:28.5714285714%}.row-gutter-14 .column-offset-4{margin-left:28.5714285714%}.row-gutter-14 .column-span-5{width:35.7142857143%}.row-gutter-14 .column-offset-5{margin-left:35.7142857143%}.row-gutter-14 .column-span-6{width:42.8571428571%}.row-gutter-14 .column-offset-6{margin-left:42.8571428571%}.row-gutter-14 .column-span-7{width:50%}.row-gutter-14 .column-offset-7{margin-left:50%}.row-gutter-14 .column-span-8{width:57.1428571429%}.row-gutter-14 .column-offset-8{margin-left:57.1428571429%}.row-gutter-14 .column-span-9{width:64.2857142857%}.row-gutter-14 .column-offset-9{margin-left:64.2857142857%}.row-gutter-14 .column-span-10{width:71.4285714286%}.row-gutter-14 .column-offset-10{margin-left:71.4285714286%}.row-gutter-14 .column-span-11{width:78.5714285714%}.row-gutter-14 .column-offset-11{margin-left:78.5714285714%}.row-gutter-14 .column-span-12{width:85.7142857143%}.row-gutter-14 .column-offset-12{margin-left:85.7142857143%}.row-gutter-14 .column-span-13{width:92.8571428571%}.row-gutter-14 .column-offset-13{margin-left:92.8571428571%}.row-gutter-14 .column-span-14{width:100%}.row-gutter-14 .column-offset-14{margin-left:100%}.row-gutter-14 .column-span-15{width:107.1428571429%}.row-gutter-14 .column-offset-15{margin-left:107.1428571429%}.row-gutter-14 .column-span-16{width:114.2857142857%}.row-gutter-14 .column-offset-16{margin-left:114.2857142857%}.row-gutter-14 .column-span-17{width:121.4285714286%}.row-gutter-14 .column-offset-17{margin-left:121.4285714286%}.row-gutter-14 .column-span-18{width:128.5714285714%}.row-gutter-14 .column-offset-18{margin-left:128.5714285714%}.row-gutter-14 .column-span-19{width:135.7142857143%}.row-gutter-14 .column-offset-19{margin-left:135.7142857143%}.row-gutter-14 .column-span-20{width:142.8571428571%}.row-gutter-14 .column-offset-20{margin-left:142.8571428571%}.row-gutter-14 .column-span-21{width:150%}.row-gutter-14 .column-offset-21{margin-left:150%}.row-gutter-14 .column-span-22{width:157.1428571429%}.row-gutter-14 .column-offset-22{margin-left:157.1428571429%}.row-gutter-14 .column-span-23{width:164.2857142857%}.row-gutter-14 .column-offset-23{margin-left:164.2857142857%}.row-gutter-14 .column-span-24{width:171.4285714286%}.row-gutter-14 .column-offset-24{margin-left:171.4285714286%}.row-gutter-15{padding:12px 6px}.row-gutter-15 .column{padding:0 6px;display:flex;flex-shrink:0}.row-gutter-15 .column-span-1{width:6.6666666667%}.row-gutter-15 .column-offset-1{margin-left:6.6666666667%}.row-gutter-15 .column-span-2{width:13.3333333333%}.row-gutter-15 .column-offset-2{margin-left:13.3333333333%}.row-gutter-15 .column-span-3{width:20%}.row-gutter-15 .column-offset-3{margin-left:20%}.row-gutter-15 .column-span-4{width:26.6666666667%}.row-gutter-15 .column-offset-4{margin-left:26.6666666667%}.row-gutter-15 .column-span-5{width:33.3333333333%}.row-gutter-15 .column-offset-5{margin-left:33.3333333333%}.row-gutter-15 .column-span-6{width:40%}.row-gutter-15 .column-offset-6{margin-left:40%}.row-gutter-15 .column-span-7{width:46.6666666667%}.row-gutter-15 .column-offset-7{margin-left:46.6666666667%}.row-gutter-15 .column-span-8{width:53.3333333333%}.row-gutter-15 .column-offset-8{margin-left:53.3333333333%}.row-gutter-15 .column-span-9{width:60%}.row-gutter-15 .column-offset-9{margin-left:60%}.row-gutter-15 .column-span-10{width:66.6666666667%}.row-gutter-15 .column-offset-10{margin-left:66.6666666667%}.row-gutter-15 .column-span-11{width:73.3333333333%}.row-gutter-15 .column-offset-11{margin-left:73.3333333333%}.row-gutter-15 .column-span-12{width:80%}.row-gutter-15 .column-offset-12{margin-left:80%}.row-gutter-15 .column-span-13{width:86.6666666667%}.row-gutter-15 .column-offset-13{margin-left:86.6666666667%}.row-gutter-15 .column-span-14{width:93.3333333333%}.row-gutter-15 .column-offset-14{margin-left:93.3333333333%}.row-gutter-15 .column-span-15{width:100%}.row-gutter-15 .column-offset-15{margin-left:100%}.row-gutter-15 .column-span-16{width:106.6666666667%}.row-gutter-15 .column-offset-16{margin-left:106.6666666667%}.row-gutter-15 .column-span-17{width:113.3333333333%}.row-gutter-15 .column-offset-17{margin-left:113.3333333333%}.row-gutter-15 .column-span-18{width:120%}.row-gutter-15 .column-offset-18{margin-left:120%}.row-gutter-15 .column-span-19{width:126.6666666667%}.row-gutter-15 .column-offset-19{margin-left:126.6666666667%}.row-gutter-15 .column-span-20{width:133.3333333333%}.row-gutter-15 .column-offset-20{margin-left:133.3333333333%}.row-gutter-15 .column-span-21{width:140%}.row-gutter-15 .column-offset-21{margin-left:140%}.row-gutter-15 .column-span-22{width:146.6666666667%}.row-gutter-15 .column-offset-22{margin-left:146.6666666667%}.row-gutter-15 .column-span-23{width:153.3333333333%}.row-gutter-15 .column-offset-23{margin-left:153.3333333333%}.row-gutter-15 .column-span-24{width:160%}.row-gutter-15 .column-offset-24{margin-left:160%}.row-gutter-16{padding:12px 6px}.row-gutter-16 .column{padding:0 6px;display:flex;flex-shrink:0}.row-gutter-16 .column-span-1{width:6.25%}.row-gutter-16 .column-offset-1{margin-left:6.25%}.row-gutter-16 .column-span-2{width:12.5%}.row-gutter-16 .column-offset-2{margin-left:12.5%}.row-gutter-16 .column-span-3{width:18.75%}.row-gutter-16 .column-offset-3{margin-left:18.75%}.row-gutter-16 .column-span-4{width:25%}.row-gutter-16 .column-offset-4{margin-left:25%}.row-gutter-16 .column-span-5{width:31.25%}.row-gutter-16 .column-offset-5{margin-left:31.25%}.row-gutter-16 .column-span-6{width:37.5%}.row-gutter-16 .column-offset-6{margin-left:37.5%}.row-gutter-16 .column-span-7{width:43.75%}.row-gutter-16 .column-offset-7{margin-left:43.75%}.row-gutter-16 .column-span-8{width:50%}.row-gutter-16 .column-offset-8{margin-left:50%}.row-gutter-16 .column-span-9{width:56.25%}.row-gutter-16 .column-offset-9{margin-left:56.25%}.row-gutter-16 .column-span-10{width:62.5%}.row-gutter-16 .column-offset-10{margin-left:62.5%}.row-gutter-16 .column-span-11{width:68.75%}.row-gutter-16 .column-offset-11{margin-left:68.75%}.row-gutter-16 .column-span-12{width:75%}.row-gutter-16 .column-offset-12{margin-left:75%}.row-gutter-16 .column-span-13{width:81.25%}.row-gutter-16 .column-offset-13{margin-left:81.25%}.row-gutter-16 .column-span-14{width:87.5%}.row-gutter-16 .column-offset-14{margin-left:87.5%}.row-gutter-16 .column-span-15{width:93.75%}.row-gutter-16 .column-offset-15{margin-left:93.75%}.row-gutter-16 .column-span-16{width:100%}.row-gutter-16 .column-offset-16{margin-left:100%}.row-gutter-16 .column-span-17{width:106.25%}.row-gutter-16 .column-offset-17{margin-left:106.25%}.row-gutter-16 .column-span-18{width:112.5%}.row-gutter-16 .column-offset-18{margin-left:112.5%}.row-gutter-16 .column-span-19{width:118.75%}.row-gutter-16 .column-offset-19{margin-left:118.75%}.row-gutter-16 .column-span-20{width:125%}.row-gutter-16 .column-offset-20{margin-left:125%}.row-gutter-16 .column-span-21{width:131.25%}.row-gutter-16 .column-offset-21{margin-left:131.25%}.row-gutter-16 .column-span-22{width:137.5%}.row-gutter-16 .column-offset-22{margin-left:137.5%}.row-gutter-16 .column-span-23{width:143.75%}.row-gutter-16 .column-offset-23{margin-left:143.75%}.row-gutter-16 .column-span-24{width:150%}.row-gutter-16 .column-offset-24{margin-left:150%}.row-gutter-17{padding:12px 6px}.row-gutter-17 .column{padding:0 6px;display:flex;flex-shrink:0}.row-gutter-17 .column-span-1{width:5.8823529412%}.row-gutter-17 .column-offset-1{margin-left:5.8823529412%}.row-gutter-17 .column-span-2{width:11.7647058824%}.row-gutter-17 .column-offset-2{margin-left:11.7647058824%}.row-gutter-17 .column-span-3{width:17.6470588235%}.row-gutter-17 .column-offset-3{margin-left:17.6470588235%}.row-gutter-17 .column-span-4{width:23.5294117647%}.row-gutter-17 .column-offset-4{margin-left:23.5294117647%}.row-gutter-17 .column-span-5{width:29.4117647059%}.row-gutter-17 .column-offset-5{margin-left:29.4117647059%}.row-gutter-17 .column-span-6{width:35.2941176471%}.row-gutter-17 .column-offset-6{margin-left:35.2941176471%}.row-gutter-17 .column-span-7{width:41.1764705882%}.row-gutter-17 .column-offset-7{margin-left:41.1764705882%}.row-gutter-17 .column-span-8{width:47.0588235294%}.row-gutter-17 .column-offset-8{margin-left:47.0588235294%}.row-gutter-17 .column-span-9{width:52.9411764706%}.row-gutter-17 .column-offset-9{margin-left:52.9411764706%}.row-gutter-17 .column-span-10{width:58.8235294118%}.row-gutter-17 .column-offset-10{margin-left:58.8235294118%}.row-gutter-17 .column-span-11{width:64.7058823529%}.row-gutter-17 .column-offset-11{margin-left:64.7058823529%}.row-gutter-17 .column-span-12{width:70.5882352941%}.row-gutter-17 .column-offset-12{margin-left:70.5882352941%}.row-gutter-17 .column-span-13{width:76.4705882353%}.row-gutter-17 .column-offset-13{margin-left:76.4705882353%}.row-gutter-17 .column-span-14{width:82.3529411765%}.row-gutter-17 .column-offset-14{margin-left:82.3529411765%}.row-gutter-17 .column-span-15{width:88.2352941176%}.row-gutter-17 .column-offset-15{margin-left:88.2352941176%}.row-gutter-17 .column-span-16{width:94.1176470588%}.row-gutter-17 .column-offset-16{margin-left:94.1176470588%}.row-gutter-17 .column-span-17{width:100%}.row-gutter-17 .column-offset-17{margin-left:100%}.row-gutter-17 .column-span-18{width:105.8823529412%}.row-gutter-17 .column-offset-18{margin-left:105.8823529412%}.row-gutter-17 .column-span-19{width:111.7647058824%}.row-gutter-17 .column-offset-19{margin-left:111.7647058824%}.row-gutter-17 .column-span-20{width:117.6470588235%}.row-gutter-17 .column-offset-20{margin-left:117.6470588235%}.row-gutter-17 .column-span-21{width:123.5294117647%}.row-gutter-17 .column-offset-21{margin-left:123.5294117647%}.row-gutter-17 .column-span-22{width:129.4117647059%}.row-gutter-17 .column-offset-22{margin-left:129.4117647059%}.row-gutter-17 .column-span-23{width:135.2941176471%}.row-gutter-17 .column-offset-23{margin-left:135.2941176471%}.row-gutter-17 .column-span-24{width:141.1764705882%}.row-gutter-17 .column-offset-24{margin-left:141.1764705882%}.row-gutter-18{padding:12px 6px}.row-gutter-18 .column{padding:0 6px;display:flex;flex-shrink:0}.row-gutter-18 .column-span-1{width:5.5555555556%}.row-gutter-18 .column-offset-1{margin-left:5.5555555556%}.row-gutter-18 .column-span-2{width:11.1111111111%}.row-gutter-18 .column-offset-2{margin-left:11.1111111111%}.row-gutter-18 .column-span-3{width:16.6666666667%}.row-gutter-18 .column-offset-3{margin-left:16.6666666667%}.row-gutter-18 .column-span-4{width:22.2222222222%}.row-gutter-18 .column-offset-4{margin-left:22.2222222222%}.row-gutter-18 .column-span-5{width:27.7777777778%}.row-gutter-18 .column-offset-5{margin-left:27.7777777778%}.row-gutter-18 .column-span-6{width:33.3333333333%}.row-gutter-18 .column-offset-6{margin-left:33.3333333333%}.row-gutter-18 .column-span-7{width:38.8888888889%}.row-gutter-18 .column-offset-7{margin-left:38.8888888889%}.row-gutter-18 .column-span-8{width:44.4444444444%}.row-gutter-18 .column-offset-8{margin-left:44.4444444444%}.row-gutter-18 .column-span-9{width:50%}.row-gutter-18 .column-offset-9{margin-left:50%}.row-gutter-18 .column-span-10{width:55.5555555556%}.row-gutter-18 .column-offset-10{margin-left:55.5555555556%}.row-gutter-18 .column-span-11{width:61.1111111111%}.row-gutter-18 .column-offset-11{margin-left:61.1111111111%}.row-gutter-18 .column-span-12{width:66.6666666667%}.row-gutter-18 .column-offset-12{margin-left:66.6666666667%}.row-gutter-18 .column-span-13{width:72.2222222222%}.row-gutter-18 .column-offset-13{margin-left:72.2222222222%}.row-gutter-18 .column-span-14{width:77.7777777778%}.row-gutter-18 .column-offset-14{margin-left:77.7777777778%}.row-gutter-18 .column-span-15{width:83.3333333333%}.row-gutter-18 .column-offset-15{margin-left:83.3333333333%}.row-gutter-18 .column-span-16{width:88.8888888889%}.row-gutter-18 .column-offset-16{margin-left:88.8888888889%}.row-gutter-18 .column-span-17{width:94.4444444444%}.row-gutter-18 .column-offset-17{margin-left:94.4444444444%}.row-gutter-18 .column-span-18{width:100%}.row-gutter-18 .column-offset-18{margin-left:100%}.row-gutter-18 .column-span-19{width:105.5555555556%}.row-gutter-18 .column-offset-19{margin-left:105.5555555556%}.row-gutter-18 .column-span-20{width:111.1111111111%}.row-gutter-18 .column-offset-20{margin-left:111.1111111111%}.row-gutter-18 .column-span-21{width:116.6666666667%}.row-gutter-18 .column-offset-21{margin-left:116.6666666667%}.row-gutter-18 .column-span-22{width:122.2222222222%}.row-gutter-18 .column-offset-22{margin-left:122.2222222222%}.row-gutter-18 .column-span-23{width:127.7777777778%}.row-gutter-18 .column-offset-23{margin-left:127.7777777778%}.row-gutter-18 .column-span-24{width:133.3333333333%}.row-gutter-18 .column-offset-24{margin-left:133.3333333333%}.row-gutter-19{padding:12px 6px}.row-gutter-19 .column{padding:0 6px;display:flex;flex-shrink:0}.row-gutter-19 .column-span-1{width:5.2631578947%}.row-gutter-19 .column-offset-1{margin-left:5.2631578947%}.row-gutter-19 .column-span-2{width:10.5263157895%}.row-gutter-19 .column-offset-2{margin-left:10.5263157895%}.row-gutter-19 .column-span-3{width:15.7894736842%}.row-gutter-19 .column-offset-3{margin-left:15.7894736842%}.row-gutter-19 .column-span-4{width:21.0526315789%}.row-gutter-19 .column-offset-4{margin-left:21.0526315789%}.row-gutter-19 .column-span-5{width:26.3157894737%}.row-gutter-19 .column-offset-5{margin-left:26.3157894737%}.row-gutter-19 .column-span-6{width:31.5789473684%}.row-gutter-19 .column-offset-6{margin-left:31.5789473684%}.row-gutter-19 .column-span-7{width:36.8421052632%}.row-gutter-19 .column-offset-7{margin-left:36.8421052632%}.row-gutter-19 .column-span-8{width:42.1052631579%}.row-gutter-19 .column-offset-8{margin-left:42.1052631579%}.row-gutter-19 .column-span-9{width:47.3684210526%}.row-gutter-19 .column-offset-9{margin-left:47.3684210526%}.row-gutter-19 .column-span-10{width:52.6315789474%}.row-gutter-19 .column-offset-10{margin-left:52.6315789474%}.row-gutter-19 .column-span-11{width:57.8947368421%}.row-gutter-19 .column-offset-11{margin-left:57.8947368421%}.row-gutter-19 .column-span-12{width:63.1578947368%}.row-gutter-19 .column-offset-12{margin-left:63.1578947368%}.row-gutter-19 .column-span-13{width:68.4210526316%}.row-gutter-19 .column-offset-13{margin-left:68.4210526316%}.row-gutter-19 .column-span-14{width:73.6842105263%}.row-gutter-19 .column-offset-14{margin-left:73.6842105263%}.row-gutter-19 .column-span-15{width:78.9473684211%}.row-gutter-19 .column-offset-15{margin-left:78.9473684211%}.row-gutter-19 .column-span-16{width:84.2105263158%}.row-gutter-19 .column-offset-16{margin-left:84.2105263158%}.row-gutter-19 .column-span-17{width:89.4736842105%}.row-gutter-19 .column-offset-17{margin-left:89.4736842105%}.row-gutter-19 .column-span-18{width:94.7368421053%}.row-gutter-19 .column-offset-18{margin-left:94.7368421053%}.row-gutter-19 .column-span-19{width:100%}.row-gutter-19 .column-offset-19{margin-left:100%}.row-gutter-19 .column-span-20{width:105.2631578947%}.row-gutter-19 .column-offset-20{margin-left:105.2631578947%}.row-gutter-19 .column-span-21{width:110.5263157895%}.row-gutter-19 .column-offset-21{margin-left:110.5263157895%}.row-gutter-19 .column-span-22{width:115.7894736842%}.row-gutter-19 .column-offset-22{margin-left:115.7894736842%}.row-gutter-19 .column-span-23{width:121.0526315789%}.row-gutter-19 .column-offset-23{margin-left:121.0526315789%}.row-gutter-19 .column-span-24{width:126.3157894737%}.row-gutter-19 .column-offset-24{margin-left:126.3157894737%}.row-gutter-20{padding:12px 6px}.row-gutter-20 .column{padding:0 6px;display:flex;flex-shrink:0}.row-gutter-20 .column-span-1{width:5%}.row-gutter-20 .column-offset-1{margin-left:5%}.row-gutter-20 .column-span-2{width:10%}.row-gutter-20 .column-offset-2{margin-left:10%}.row-gutter-20 .column-span-3{width:15%}.row-gutter-20 .column-offset-3{margin-left:15%}.row-gutter-20 .column-span-4{width:20%}.row-gutter-20 .column-offset-4{margin-left:20%}.row-gutter-20 .column-span-5{width:25%}.row-gutter-20 .column-offset-5{margin-left:25%}.row-gutter-20 .column-span-6{width:30%}.row-gutter-20 .column-offset-6{margin-left:30%}.row-gutter-20 .column-span-7{width:35%}.row-gutter-20 .column-offset-7{margin-left:35%}.row-gutter-20 .column-span-8{width:40%}.row-gutter-20 .column-offset-8{margin-left:40%}.row-gutter-20 .column-span-9{width:45%}.row-gutter-20 .column-offset-9{margin-left:45%}.row-gutter-20 .column-span-10{width:50%}.row-gutter-20 .column-offset-10{margin-left:50%}.row-gutter-20 .column-span-11{width:55%}.row-gutter-20 .column-offset-11{margin-left:55%}.row-gutter-20 .column-span-12{width:60%}.row-gutter-20 .column-offset-12{margin-left:60%}.row-gutter-20 .column-span-13{width:65%}.row-gutter-20 .column-offset-13{margin-left:65%}.row-gutter-20 .column-span-14{width:70%}.row-gutter-20 .column-offset-14{margin-left:70%}.row-gutter-20 .column-span-15{width:75%}.row-gutter-20 .column-offset-15{margin-left:75%}.row-gutter-20 .column-span-16{width:80%}.row-gutter-20 .column-offset-16{margin-left:80%}.row-gutter-20 .column-span-17{width:85%}.row-gutter-20 .column-offset-17{margin-left:85%}.row-gutter-20 .column-span-18{width:90%}.row-gutter-20 .column-offset-18{margin-left:90%}.row-gutter-20 .column-span-19{width:95%}.row-gutter-20 .column-offset-19{margin-left:95%}.row-gutter-20 .column-span-20{width:100%}.row-gutter-20 .column-offset-20{margin-left:100%}.row-gutter-20 .column-span-21{width:105%}.row-gutter-20 .column-offset-21{margin-left:105%}.row-gutter-20 .column-span-22{width:110%}.row-gutter-20 .column-offset-22{margin-left:110%}.row-gutter-20 .column-span-23{width:115%}.row-gutter-20 .column-offset-23{margin-left:115%}.row-gutter-20 .column-span-24{width:120%}.row-gutter-20 .column-offset-24{margin-left:120%}.row-gutter-21{padding:12px 6px}.row-gutter-21 .column{padding:0 6px;display:flex;flex-shrink:0}.row-gutter-21 .column-span-1{width:4.7619047619%}.row-gutter-21 .column-offset-1{margin-left:4.7619047619%}.row-gutter-21 .column-span-2{width:9.5238095238%}.row-gutter-21 .column-offset-2{margin-left:9.5238095238%}.row-gutter-21 .column-span-3{width:14.2857142857%}.row-gutter-21 .column-offset-3{margin-left:14.2857142857%}.row-gutter-21 .column-span-4{width:19.0476190476%}.row-gutter-21 .column-offset-4{margin-left:19.0476190476%}.row-gutter-21 .column-span-5{width:23.8095238095%}.row-gutter-21 .column-offset-5{margin-left:23.8095238095%}.row-gutter-21 .column-span-6{width:28.5714285714%}.row-gutter-21 .column-offset-6{margin-left:28.5714285714%}.row-gutter-21 .column-span-7{width:33.3333333333%}.row-gutter-21 .column-offset-7{margin-left:33.3333333333%}.row-gutter-21 .column-span-8{width:38.0952380952%}.row-gutter-21 .column-offset-8{margin-left:38.0952380952%}.row-gutter-21 .column-span-9{width:42.8571428571%}.row-gutter-21 .column-offset-9{margin-left:42.8571428571%}.row-gutter-21 .column-span-10{width:47.619047619%}.row-gutter-21 .column-offset-10{margin-left:47.619047619%}.row-gutter-21 .column-span-11{width:52.380952381%}.row-gutter-21 .column-offset-11{margin-left:52.380952381%}.row-gutter-21 .column-span-12{width:57.1428571429%}.row-gutter-21 .column-offset-12{margin-left:57.1428571429%}.row-gutter-21 .column-span-13{width:61.9047619048%}.row-gutter-21 .column-offset-13{margin-left:61.9047619048%}.row-gutter-21 .column-span-14{width:66.6666666667%}.row-gutter-21 .column-offset-14{margin-left:66.6666666667%}.row-gutter-21 .column-span-15{width:71.4285714286%}.row-gutter-21 .column-offset-15{margin-left:71.4285714286%}.row-gutter-21 .column-span-16{width:76.1904761905%}.row-gutter-21 .column-offset-16{margin-left:76.1904761905%}.row-gutter-21 .column-span-17{width:80.9523809524%}.row-gutter-21 .column-offset-17{margin-left:80.9523809524%}.row-gutter-21 .column-span-18{width:85.7142857143%}.row-gutter-21 .column-offset-18{margin-left:85.7142857143%}.row-gutter-21 .column-span-19{width:90.4761904762%}.row-gutter-21 .column-offset-19{margin-left:90.4761904762%}.row-gutter-21 .column-span-20{width:95.2380952381%}.row-gutter-21 .column-offset-20{margin-left:95.2380952381%}.row-gutter-21 .column-span-21{width:100%}.row-gutter-21 .column-offset-21{margin-left:100%}.row-gutter-21 .column-span-22{width:104.7619047619%}.row-gutter-21 .column-offset-22{margin-left:104.7619047619%}.row-gutter-21 .column-span-23{width:109.5238095238%}.row-gutter-21 .column-offset-23{margin-left:109.5238095238%}.row-gutter-21 .column-span-24{width:114.2857142857%}.row-gutter-21 .column-offset-24{margin-left:114.2857142857%}.row-gutter-22{padding:12px 6px}.row-gutter-22 .column{padding:0 6px;display:flex;flex-shrink:0}.row-gutter-22 .column-span-1{width:4.5454545455%}.row-gutter-22 .column-offset-1{margin-left:4.5454545455%}.row-gutter-22 .column-span-2{width:9.0909090909%}.row-gutter-22 .column-offset-2{margin-left:9.0909090909%}.row-gutter-22 .column-span-3{width:13.6363636364%}.row-gutter-22 .column-offset-3{margin-left:13.6363636364%}.row-gutter-22 .column-span-4{width:18.1818181818%}.row-gutter-22 .column-offset-4{margin-left:18.1818181818%}.row-gutter-22 .column-span-5{width:22.7272727273%}.row-gutter-22 .column-offset-5{margin-left:22.7272727273%}.row-gutter-22 .column-span-6{width:27.2727272727%}.row-gutter-22 .column-offset-6{margin-left:27.2727272727%}.row-gutter-22 .column-span-7{width:31.8181818182%}.row-gutter-22 .column-offset-7{margin-left:31.8181818182%}.row-gutter-22 .column-span-8{width:36.3636363636%}.row-gutter-22 .column-offset-8{margin-left:36.3636363636%}.row-gutter-22 .column-span-9{width:40.9090909091%}.row-gutter-22 .column-offset-9{margin-left:40.9090909091%}.row-gutter-22 .column-span-10{width:45.4545454545%}.row-gutter-22 .column-offset-10{margin-left:45.4545454545%}.row-gutter-22 .column-span-11{width:50%}.row-gutter-22 .column-offset-11{margin-left:50%}.row-gutter-22 .column-span-12{width:54.5454545455%}.row-gutter-22 .column-offset-12{margin-left:54.5454545455%}.row-gutter-22 .column-span-13{width:59.0909090909%}.row-gutter-22 .column-offset-13{margin-left:59.0909090909%}.row-gutter-22 .column-span-14{width:63.6363636364%}.row-gutter-22 .column-offset-14{margin-left:63.6363636364%}.row-gutter-22 .column-span-15{width:68.1818181818%}.row-gutter-22 .column-offset-15{margin-left:68.1818181818%}.row-gutter-22 .column-span-16{width:72.7272727273%}.row-gutter-22 .column-offset-16{margin-left:72.7272727273%}.row-gutter-22 .column-span-17{width:77.2727272727%}.row-gutter-22 .column-offset-17{margin-left:77.2727272727%}.row-gutter-22 .column-span-18{width:81.8181818182%}.row-gutter-22 .column-offset-18{margin-left:81.8181818182%}.row-gutter-22 .column-span-19{width:86.3636363636%}.row-gutter-22 .column-offset-19{margin-left:86.3636363636%}.row-gutter-22 .column-span-20{width:90.9090909091%}.row-gutter-22 .column-offset-20{margin-left:90.9090909091%}.row-gutter-22 .column-span-21{width:95.4545454545%}.row-gutter-22 .column-offset-21{margin-left:95.4545454545%}.row-gutter-22 .column-span-22{width:100%}.row-gutter-22 .column-offset-22{margin-left:100%}.row-gutter-22 .column-span-23{width:104.5454545455%}.row-gutter-22 .column-offset-23{margin-left:104.5454545455%}.row-gutter-22 .column-span-24{width:109.0909090909%}.row-gutter-22 .column-offset-24{margin-left:109.0909090909%}.row-gutter-23{padding:12px 6px}.row-gutter-23 .column{padding:0 6px;display:flex;flex-shrink:0}.row-gutter-23 .column-span-1{width:4.347826087%}.row-gutter-23 .column-offset-1{margin-left:4.347826087%}.row-gutter-23 .column-span-2{width:8.6956521739%}.row-gutter-23 .column-offset-2{margin-left:8.6956521739%}.row-gutter-23 .column-span-3{width:13.0434782609%}.row-gutter-23 .column-offset-3{margin-left:13.0434782609%}.row-gutter-23 .column-span-4{width:17.3913043478%}.row-gutter-23 .column-offset-4{margin-left:17.3913043478%}.row-gutter-23 .column-span-5{width:21.7391304348%}.row-gutter-23 .column-offset-5{margin-left:21.7391304348%}.row-gutter-23 .column-span-6{width:26.0869565217%}.row-gutter-23 .column-offset-6{margin-left:26.0869565217%}.row-gutter-23 .column-span-7{width:30.4347826087%}.row-gutter-23 .column-offset-7{margin-left:30.4347826087%}.row-gutter-23 .column-span-8{width:34.7826086957%}.row-gutter-23 .column-offset-8{margin-left:34.7826086957%}.row-gutter-23 .column-span-9{width:39.1304347826%}.row-gutter-23 .column-offset-9{margin-left:39.1304347826%}.row-gutter-23 .column-span-10{width:43.4782608696%}.row-gutter-23 .column-offset-10{margin-left:43.4782608696%}.row-gutter-23 .column-span-11{width:47.8260869565%}.row-gutter-23 .column-offset-11{margin-left:47.8260869565%}.row-gutter-23 .column-span-12{width:52.1739130435%}.row-gutter-23 .column-offset-12{margin-left:52.1739130435%}.row-gutter-23 .column-span-13{width:56.5217391304%}.row-gutter-23 .column-offset-13{margin-left:56.5217391304%}.row-gutter-23 .column-span-14{width:60.8695652174%}.row-gutter-23 .column-offset-14{margin-left:60.8695652174%}.row-gutter-23 .column-span-15{width:65.2173913043%}.row-gutter-23 .column-offset-15{margin-left:65.2173913043%}.row-gutter-23 .column-span-16{width:69.5652173913%}.row-gutter-23 .column-offset-16{margin-left:69.5652173913%}.row-gutter-23 .column-span-17{width:73.9130434783%}.row-gutter-23 .column-offset-17{margin-left:73.9130434783%}.row-gutter-23 .column-span-18{width:78.2608695652%}.row-gutter-23 .column-offset-18{margin-left:78.2608695652%}.row-gutter-23 .column-span-19{width:82.6086956522%}.row-gutter-23 .column-offset-19{margin-left:82.6086956522%}.row-gutter-23 .column-span-20{width:86.9565217391%}.row-gutter-23 .column-offset-20{margin-left:86.9565217391%}.row-gutter-23 .column-span-21{width:91.3043478261%}.row-gutter-23 .column-offset-21{margin-left:91.3043478261%}.row-gutter-23 .column-span-22{width:95.652173913%}.row-gutter-23 .column-offset-22{margin-left:95.652173913%}.row-gutter-23 .column-span-23{width:100%}.row-gutter-23 .column-offset-23{margin-left:100%}.row-gutter-23 .column-span-24{width:104.347826087%}.row-gutter-23 .column-offset-24{margin-left:104.347826087%}.row-gutter-24{padding:12px 6px}.row-gutter-24 .column{padding:0 6px;display:flex;flex-shrink:0}.row-gutter-24 .column-span-1{width:4.1666666667%}.row-gutter-24 .column-offset-1{margin-left:4.1666666667%}.row-gutter-24 .column-span-2{width:8.3333333333%}.row-gutter-24 .column-offset-2{margin-left:8.3333333333%}.row-gutter-24 .column-span-3{width:12.5%}.row-gutter-24 .column-offset-3{margin-left:12.5%}.row-gutter-24 .column-span-4{width:16.6666666667%}.row-gutter-24 .column-offset-4{margin-left:16.6666666667%}.row-gutter-24 .column-span-5{width:20.8333333333%}.row-gutter-24 .column-offset-5{margin-left:20.8333333333%}.row-gutter-24 .column-span-6{width:25%}.row-gutter-24 .column-offset-6{margin-left:25%}.row-gutter-24 .column-span-7{width:29.1666666667%}.row-gutter-24 .column-offset-7{margin-left:29.1666666667%}.row-gutter-24 .column-span-8{width:33.3333333333%}.row-gutter-24 .column-offset-8{margin-left:33.3333333333%}.row-gutter-24 .column-span-9{width:37.5%}.row-gutter-24 .column-offset-9{margin-left:37.5%}.row-gutter-24 .column-span-10{width:41.6666666667%}.row-gutter-24 .column-offset-10{margin-left:41.6666666667%}.row-gutter-24 .column-span-11{width:45.8333333333%}.row-gutter-24 .column-offset-11{margin-left:45.8333333333%}.row-gutter-24 .column-span-12{width:50%}.row-gutter-24 .column-offset-12{margin-left:50%}.row-gutter-24 .column-span-13{width:54.1666666667%}.row-gutter-24 .column-offset-13{margin-left:54.1666666667%}.row-gutter-24 .column-span-14{width:58.3333333333%}.row-gutter-24 .column-offset-14{margin-left:58.3333333333%}.row-gutter-24 .column-span-15{width:62.5%}.row-gutter-24 .column-offset-15{margin-left:62.5%}.row-gutter-24 .column-span-16{width:66.6666666667%}.row-gutter-24 .column-offset-16{margin-left:66.6666666667%}.row-gutter-24 .column-span-17{width:70.8333333333%}.row-gutter-24 .column-offset-17{margin-left:70.8333333333%}.row-gutter-24 .column-span-18{width:75%}.row-gutter-24 .column-offset-18{margin-left:75%}.row-gutter-24 .column-span-19{width:79.1666666667%}.row-gutter-24 .column-offset-19{margin-left:79.1666666667%}.row-gutter-24 .column-span-20{width:83.3333333333%}.row-gutter-24 .column-offset-20{margin-left:83.3333333333%}.row-gutter-24 .column-span-21{width:87.5%}.row-gutter-24 .column-offset-21{margin-left:87.5%}.row-gutter-24 .column-span-22{width:91.6666666667%}.row-gutter-24 .column-offset-22{margin-left:91.6666666667%}.row-gutter-24 .column-span-23{width:95.8333333333%}.row-gutter-24 .column-offset-23{margin-left:95.8333333333%}.row-gutter-24 .column-span-24{width:100%}.row-gutter-24 .column-offset-24{margin-left:100%}.row-align-top{align-items:flex-start}.row-align-middle{align-items:center}.row-align-bottom{align-items:flex-end}.row-justify-start{justify-content:flex-start}.row-justify-end{justify-content:flex-end}.row-justify-center{justify-content:center}.row-justify-space-around{justify-content:space-around}.row-justify-space-between{justify-content:space-between}.button-select{display:flex;flex-direction:row}.button-select .button-select-options{height:30px;padding:0 15px;color:#54759a;font-size:12px;line-height:30px;background:#fff;border:1px solid #e4eaef;border-right:none;transition:all .3s ease;cursor:pointer;outline:0;display:block}.button-select .button-select-options:first-child{border-radius:3px 0 0 3px}.button-select .button-select-options:last-child{border-radius:0 3px 3px 0;border-right:1px solid #e4eaef}.button-select .button-select-options.actived{background:#57befc;color:#fff;border-color:#57befc;box-shadow:0 2px 5px rgba(87,190,252,.5)}.button-select .button-select-options.actived:active{box-shadow:none}.tags-container{display:flex;align-items:flex-start;overflow-y:hidden}.tags{display:flex;flex:1;align-items:center;list-style:none;flex-wrap:wrap;box-sizing:content-box}.tags li{position:relative;display:flex;align-items:center;justify-content:center;border:1px solid #2c8af8;color:#54759a;height:22px;border-radius:11px;padding:0 6px;margin:3px 4px;font-size:10px;cursor:default}.tags li.can-click{cursor:pointer}.tags li.error{color:#fff;background-color:#f56c6c;border-color:#f56c6c}.tags li.tags-selected.error{background:linear-gradient(135deg,#2c8af8,#f56c6c);border:none;height:24px;padding:0 7px}.tags .tags-selected{background-color:#2c8af8;color:#fff}.tags-expand{height:30px;line-height:30px;padding:0 20px;user-select:none;cursor:pointer}.input{display:inline-block;height:30px;width:100%;padding:0 10px;font-size:14px;color:#54759a;border-radius:3px;border:1px solid #e4eaef;transition:all .3s;transition-property:border-color,color,box-shadow}.input:focus{outline:0;border-color:#57befc;color:#2c8af8;box-shadow:0 2px 5px rgba(87,190,252,.5)}.input-align-left{text-align:left}.input-align-center{text-align:center}.input-align-right{text-align:right}.input-inside:focus{box-shadow:none}.select{cursor:pointer;font-size:14px;line-height:30px;color:#54759a;display:flex;overflow:hidden}.select>i{margin-left:5px;color:#54759a}.select-list{position:absolute;max-width:170px;border-radius:4px;overflow:hidden;box-shadow:0 2px 5px rgba(183,197,214,.5);opacity:.8;pointer-events:none;transform:scaleY(0);transform-origin:top;transition:all .2s linear}.select-list .list{max-height:300px;overflow:auto;background:#fff;padding:5px 0;transform:scaleY(2);transform-origin:top;transition:all .2s linear}.select-list .list>.option{color:#54759a;padding:10px 15px;font-size:14px;list-style:none;cursor:pointer}.select-list .list>.option:hover{background:rgba(228,234,239,.5)}.select-list .list>.selected{background:rgba(228,234,239,.5)}.select-list-show{opacity:1;pointer-events:visible;transform:scaleY(1)}.select-list-show .list{transform:scaleY(1)}.modal-mask{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.15);opacity:0;pointer-events:none;transition:all .5s ease;display:flex;justify-content:center;align-items:center;z-index:9999}.modal-mask .modal{margin-top:-50px;padding:20px 30px;background:#fff;box-shadow:0 2px 16px rgba(84,117,154,.2);border-radius:4px;display:flex;flex-direction:column;transform:scale(0);transition:all .3s cubic-bezier(.32,.26,.71,1.29)}.modal-mask .modal .modal-title{margin:5px 0;width:100%;display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:18px;color:#2c8af8;text-shadow:0 2px 6px rgba(44,138,248,.4)}.modal-mask .modal .modal-body{margin:10px 0;font-size:14px;color:#54759a}.modal-mask .modal .footer{width:100%;margin:5px 0;display:flex;align-items:center;justify-content:flex-end}.modal-mask .modal .footer .button{margin-left:10px}.modal-mask .modal-small{width:400px}.modal-mask .modal-big{width:600px}.modal-show{opacity:1;pointer-events:visible}.modal-show .modal{transform:scale(1)}@media (max-width:768px){.modal-mask .modal{margin-top:0;padding:18px 20px}.modal-mask .modal-small{width:280px}.modal-mask .modal-big{width:480px}}.alert{padding:15px;background:#fff;border-radius:4px;box-shadow:0 2px 8px rgba(44,138,248,.3);font-size:13px;line-height:1.6;text-align:justify;display:flex}.alert .alert-icon{margin-right:10px;width:20px;height:20px;border-radius:50%;flex-shrink:0;display:flex;justify-content:center;align-items:center;background:#fff}.alert .alert-icon>i{transform:scale(.5);font-weight:700}.alert .alert-message{width:100%;color:#fff}.alert-box-success{background:linear-gradient(135deg,#5dae34,#67c23a);box-shadow:0 2px 8px rgba(93,174,52,.3)}.alert-box-success .alert-icon>i{color:#67c23a}.alert-box-info{background:linear-gradient(135deg,#3eb4fc,#57befc);box-shadow:0 2px 8px rgba(62,180,252,.3)}.alert-box-info .alert-icon>i{color:#57befc}.alert-box-warning{background:linear-gradient(135deg,#e39725,#e6a23c);box-shadow:0 2px 8px rgba(227,151,37,.3)}.alert-box-warning .alert-icon>i{color:#e6a23c}.alert-box-error{background:linear-gradient(135deg,#f35454,#f56c6c);box-shadow:0 2px 8px rgba(243,84,84,.3)}.alert-box-error .alert-icon>i{color:#f56c6c}.alert-note-success{background:rgba(103,194,58,.05);border-radius:1px 4px 4px 1px;border-left:2px solid #67c23a;box-shadow:0 2px 8px rgba(93,174,52,.3)}.alert-note-success .alert-icon{background:#67c23a}.alert-note-success .alert-icon>i{color:#fff}.alert-note-success .alert-message{color:#3d7323}.alert-note-info{background:rgba(87,190,252,.05);border-radius:1px 4px 4px 1px;border-left:2px solid #57befc;box-shadow:0 2px 8px rgba(62,180,252,.3)}.alert-note-info .alert-icon{background:#57befc}.alert-note-info .alert-icon>i{color:#fff}.alert-note-info .alert-message{color:#0493e9}.alert-note-warning{background:rgba(230,162,60,.05);border-radius:1px 4px 4px 1px;border-left:2px solid #e6a23c;box-shadow:0 2px 8px rgba(227,151,37,.3)}.alert-note-warning .alert-icon{background:#e6a23c}.alert-note-warning .alert-icon>i{color:#fff}.alert-note-warning .alert-message{color:#a76d15}.alert-note-error{background:rgba(245,108,108,.05);border-radius:1px 4px 4px 1px;border-left:2px solid #f56c6c;box-shadow:0 2px 8px rgba(243,84,84,.3)}.alert-note-error .alert-icon{background:#f56c6c}.alert-note-error .alert-icon>i{color:#fff}.alert-note-error .alert-message{color:#eb1010}.button{outline:0;padding:0 15px;height:32px;line-height:32px;border-radius:16px;font-size:14px;cursor:pointer;transition:all 150ms ease}.button-primary{color:#fff;border:none;background:linear-gradient(135deg,#57befc,#2c8af8);box-shadow:0 2px 8px rgba(44,138,248,.5)}.button-primary:hover{border:none}.button-primary:active{box-shadow:0 0 2px rgba(44,138,248,.5)}.button-normal{color:#909399;background:#fff;border:1px solid rgba(0,0,0,.1)}.button-normal:hover{border-color:#b7c5d6;color:#54759a}.button-normal:active{background:#fafafa;color:#54759a}.button-danger{color:#fff;border:none;background:linear-gradient(135deg,#f56c6c,#f23c3c);box-shadow:0 2px 8px rgba(242,60,60,.5)}.button-danger:hover{border:none}.button-danger:active{box-shadow:0 0 2px rgba(242,60,60,.5)}.button-success{color:#fff;border:none;background:linear-gradient(135deg,#67c23a,#5dae34);box-shadow:0 2px 8px rgba(93,174,52,.5)}.button-success:hover{border:none}.button-success:active{box-shadow:0 0 2px rgba(93,174,52,.5)}.button-warning{color:#fff;border:none;background:linear-gradient(135deg,#e6a23c,#e39725);box-shadow:0 2px 8px rgba(227,151,37,.5)}.button-warning:hover{border:none}.button-warning:active{box-shadow:0 0 2px rgba(227,151,37,.5)}.message{position:fixed;top:20px;right:20px;border-radius:4px;opacity:0;background:#fff;display:flex;box-shadow:0 0 20px rgba(44,138,248,.2);transition:all .2s ease;transform:translateX(100%)}.message .message-icon{width:36px;flex:1;border-radius:4px 0 0 4px;display:flex;justify-content:center;align-items:center}.message .message-icon>i{color:#fff}.message .message-content{padding:10px 15px;font-size:13px;color:#54759a}.message-info .message-icon{background:linear-gradient(135deg,#57befc,#2c8af8)}.message-success .message-icon{background:linear-gradient(135deg,#67c23a,#5dae34)}.message-warning .message-icon{background:linear-gradient(135deg,#e6a23c,#e39725)}.message-error .message-icon{background:linear-gradient(135deg,#f56c6c,#f23c3c)}.message-show{opacity:1;transition:all .2s ease;transform:translateX(0)}.checkbox{display:flex;position:relative;padding-left:26px;cursor:pointer;line-height:18px}.checkbox::before{content:"";display:inline-block;position:absolute;left:0;top:50%;width:18px;height:18px;border-radius:3px;transition:background-color .3s ease;transform:translateY(-9px);background-color:#fff;border:1px solid #e4eaef}.checkbox.checked::before{background-color:#57befc}.checkbox-icon{position:absolute;left:0;top:50%;line-height:18px;transform:translateY(-9px) scale(.6);text-shadow:none;font-weight:700}.checkbox-icon.checkbox-icon{color:#fff}.tag{display:flex;align-items:center;justify-content:center;height:24px;font-size:12px;padding:0 12px;text-align:center;background-color:#fff;border:2px solid #2c8af8;color:#2c8af8;border-radius:12px}.spinner{position:relative;width:80px;height:80px;border-radius:100%;animation:spinner 5s infinite linear}.spinner-circle{position:absolute;width:100%;height:100%;transform-origin:48% 48%}.spinner-inner{width:100%;height:100%;border-radius:100%;border:5px solid rgba(44,138,248,.7);border-right:none;border-top:none;background-clip:padding-box;box-shadow:inset 0 0 10px rgba(44,138,248,.15)}@keyframes spinner{from{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner-circle:nth-of-type(0){transform:rotate(0)}.spinner-circle:nth-of-type(0) .spinner-inner{animation:spinner 2s infinite linear}.spinner-circle:nth-of-type(1){transform:rotate(70deg)}.spinner-circle:nth-of-type(1) .spinner-inner{animation:spinner 2s infinite linear}.spinner-circle:nth-of-type(2){transform:rotate(140deg)}.spinner-circle:nth-of-type(2) .spinner-inner{animation:spinner 2s infinite linear}.loading{position:absolute;display:flex;align-items:center;justify-content:center;top:0;left:0;bottom:0;right:0;background-color:rgba(255,255,255,.9);box-shadow:inset 0 0 80px rgba(0,0,0,.1);z-index:1000}.proxy-item{position:relative;width:100%;height:110px;padding:10px;border-radius:4px;background:#fff;user-select:none;cursor:default;box-shadow:2px 5px 20px -3px rgba(44,138,248,.2);transition:all .3s ease}.proxy-item .proxy-type{padding:2px 5px;font-size:10px;color:#fff;border-radius:2px}.proxy-item .proxy-name{display:-webkit-box;margin-top:10px;color:#54759a;font-size:10px;overflow:hidden;word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical}.proxy-item .proxy-delay{position:absolute;left:10px;bottom:13px;font-size:10px;color:rgba(84,117,154,.8)}.proxy-item .proxy-editor{position:absolute;right:10px;bottom:10px;cursor:pointer;color:rgba(84,117,154,.8);opacity:0;pointer-events:none;transition:all .3s ease}.proxy-item:hover{box-shadow:0 14px 20px -4px rgba(84,117,154,.4)}.proxy-item:hover .proxy-editor{opacity:1;pointer-events:visible}.proxy-error{opacity:.5}.proxy-error .proxy-type{background-color:#909399}@media (max-width:768px){.proxy-item{height:70px}.proxy-item .proxy-delay{left:unset;bottom:unset;top:0;right:20px;height:70px;line-height:70px}}.proxy-group{display:flex;align-items:flex-start;font-size:14px;color:#546b87}.proxy-group-part{display:flex;align-items:center;height:60px}.proxy-group-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 20px;width:120px;height:18px}.proxies-group-card{padding:0}.proxies-group-item{border-bottom:1px solid #d8dee2}.proxies-group-item:last-child{border-bottom:none}.proxy-group-tags-container{padding:15px 0}.proxy-group-tags{flex:1;margin-left:30px}@media (max-width:768px){.proxy-group{flex-direction:column}.proxy-group-name{width:140px}.proxy-group-part{width:100%;height:42px;margin-top:6px;justify-content:space-between}.proxy-group-type{margin-right:20px}.proxy-group-tags-container{padding:5px 0 10px}.proxy-group-tags{margin-left:20px}}.proxy-provider{position:relative;display:flex;flex-direction:column;font-size:16px;padding:20px;color:#546b87}.proxy-provider-header{display:flex;align-items:center;justify-content:space-between}.proxy-provider-header-part{display:flex;align-items:center}.proxy-provider-name{margin-right:24px}.proxy-provider-proxies{list-style:none}.proxy-provider-item{box-shadow:0 0 24px 0 rgba(44,138,248,.2)}.proxy-provider-item:hover{box-shadow:0 0 24px 0 rgba(84,117,154,.4)}.proxy-provider-update{line-height:14px;font-size:14px}.proxy-provider-icon{margin-left:20px;cursor:pointer}.proxy-provider-icon.healthcheck{color:#f56c6c}@media (max-width:768px){.proxy-provider-header{flex-direction:column;align-items:flex-start}.proxy-provider-header-part{margin:6px 0}}.proxies-list{--item-width:calc(100% / (var(--columns) + 1));--gap:calc(var(--item-width) / var(--columns));display:flex;margin-right:calc(-1 * var(--gap));margin-top:20px;flex-wrap:wrap;align-content:flex-start;list-style:none}@media (min-width:2001px){.proxies-list{--columns:12}}@media (max-width:2000px){.proxies-list{--columns:10}}@media (max-width:1600px){.proxies-list{--columns:8}}@media (max-width:1340px){.proxies-list{--columns:7}}@media (max-width:960px){.proxies-list{--columns:6}}@media (max-width:860px){.proxies-list{--columns:5}}@media (max-width:760px){.proxies-list{--columns:3}}.proxies-list>li{display:inline-block;width:var(--item-width);margin-right:var(--gap);flex-shrink:0;margin-bottom:10px}.proxies-group-list{list-style:none}.proxies-group-card{margin:20px 0}.proxies-container .proxies-action-icon{margin-left:10px}.proxies-speed-test{line-height:32px;margin:0 2px 0 6px;color:#2c8af8;text-shadow:0 2px 6px rgba(44,138,248,.4);cursor:pointer}.proxies-providers-item{margin:20px 0}.proxies-providers-list{list-style:none}@media (max-width:768px){.proxies-group-card{margin:12px 0}.proxies-list{margin-right:0;padding-bottom:20px;flex-wrap:unset;flex-direction:column}.proxies-list>li{width:100%;margin-right:0;margin-bottom:10px}}.logs-card{display:flex;flex-direction:column;flex:1;margin-top:10px}.logs-panel{display:flex;flex-direction:column;flex-grow:1;flex-basis:0;list-style:none;padding:10px;border-radius:2px;background-color:#f3f6f9;font-size:12px;color:#73808f;overflow-y:auto;font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,Courier,monospace}.logs-panel li{line-height:20px;display:inline-block}.logs-panel-time{margin-right:10px;color:#adb7c3}.rule-provider{position:relative;display:flex;flex-direction:column;font-size:16px;padding:20px;color:#546b87}.rule-provider-header{display:flex;align-items:center;justify-content:space-between}.rule-provider-header-part{display:flex;align-items:center}.rule-provider-name{width:120px;margin-right:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rule-provider-behavior{width:80px;margin:0 20px 0 12px;background-color:#2c8af8;color:#fff}.rule-provider-spinner{transform:scale(.4)}.rule-provider-proxies{list-style:none}.rule-provider-item{box-shadow:0 0 24px 0 rgba(44,138,248,.2)}.rule-provider-item:hover{box-shadow:0 0 24px 0 rgba(84,117,154,.4)}.rule-provider-update{line-height:14px;font-size:14px}.rule-provider-icon{display:block;margin-left:20px;cursor:pointer}.rule-provider-icon.rule-provider-loading::before{color:#909399;cursor:not-allowed;animation:spinner 2s infinite linear}@media (max-width:768px){.rule-provider-header{flex-direction:column;align-items:flex-start}.rule-provider-header-part{margin:6px 0}}.rules-card{display:flex;flex-direction:column;flex:1;min-height:700px;margin-top:10px;padding:0}.rules-card:focus{outline:0}.rules-card .rules{flex:1 0 auto}.rule-item{line-height:30px;padding:5px 0;height:50px;overflow:hidden;list-style:none;user-select:none;border-bottom:1px solid rgba(228,234,239,.5)}.rule-item .rule-item-row{padding:5px 0}.rule-item .drag-handler{cursor:row-resize;margin:0 10px;display:flex;justify-content:center}.rule-item .drag-handler>i{font-weight:700;color:#b7c5d6}.rule-item .rule-type{font-size:14px;color:#54759a}.rule-item .rule-type>i{margin-left:5px;color:#54759a}.rule-item .payload{font-size:14px;color:#54759a;cursor:pointer}.rule-item .rule-proxy{font-size:14px;color:#54759a}.rule-item .delete-btn{opacity:0;transition:all .3s ease}.rule-item .delete-btn span{font-size:14px;color:#f56c6c;cursor:pointer}.rule-item:last-child{border-bottom:none}.rule-item:hover .delete-btn{opacity:1}.rule-proxy-option{display:flex;align-items:center;overflow:hidden}.rule-proxy-option .label{margin-right:5px;height:20px;line-height:20px;padding:0 8px;font-size:10px;border-radius:10px;color:#fff;background:#b7c5d6}.rule-proxy-option .value{line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-card{margin-top:10px;padding:20px 0}.settings-card .column{font-weight:700;align-items:center}.settings-card .value-column{justify-content:flex-end}.settings-card .label{font-size:14px;color:#54759a}.settings-card .external-controller{font-size:14px;color:#54759a;display:flex;justify-content:flex-end;font-weight:400;line-height:17px}.settings-card .external-controller .modify-btn{color:#2c8af8;cursor:pointer}.clash-version{position:relative;margin-top:10px;padding:20px 45px;display:flex}.clash-version .check-icon{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#57befc,#2c8af8);display:flex;justify-content:center;align-items:center}.clash-version .check-icon>i{transform:scale(.5);color:#fff;font-weight:700}.clash-version .version-info{margin-left:10px;font-size:14px;line-height:24px;color:#54759a}.clash-version .check-update-btn{position:absolute;right:45px;font-size:14px;line-height:24px;color:#b7c5d6;cursor:pointer;transition:all 150ms ease}.clash-version .check-update-btn:hover{color:#54759a}@media (max-width:768px){.settings-card .row{flex-direction:column;padding-top:0;padding-bottom:0}.settings-card .row>.column{width:100%;margin:10px 0}}.sidebar{position:fixed;top:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:160px;user-select:none}.sidebar-logo{margin-top:50px;width:60px;height:60px}.sidebar-menu{display:flex;flex-direction:column;flex:1;margin-top:12px}.sidebar-menu .item{display:block;margin-top:18px}.sidebar-menu .item>a{display:block;width:120px;height:36px;line-height:36px;font-size:14px;border-radius:18px;text-align:center}.sidebar-menu .item a:active,.sidebar-menu .item a:visited,.sidebar-menu .item>a{color:#909399;text-decoration:none}.sidebar-menu .item>a.active{background:linear-gradient(135deg,#57befc,#2c8af8);color:#fff;box-shadow:0 2px 8px rgba(44,138,248,.5)}.sidebar-version{display:flex;flex-direction:column;align-items:center;padding-bottom:20px}.sidebar-version-label{font-size:14px;color:#2c8af8;text-shadow:0 2px 6px rgba(44,138,248,.4)}.sidebar-version-text{text-align:center;font-size:14px;margin:8px 0;padding:0 10px;color:#54759a}@media (max-width:768px){.sidebar{width:100%;height:60px;flex-direction:row;background:#f4f5f6;z-index:10}.sidebar-logo{margin:0 15px;width:36px;height:36px}.sidebar-menu{flex:1;flex-direction:row;justify-content:center;margin-top:0;overflow-x:scroll;padding:10px}.sidebar-menu::-webkit-scrollbar{display:none}.sidebar-menu .item{margin:0 3px}.sidebar-menu .item>a{width:80px;height:32px;line-height:32px}.sidebar-menu .item.no-mobile{display:none}.sidebar-version{display:none}}.connections-devices{display:flex;padding:8px 2px}.connections-devices-item{padding:4px 0;margin-right:20px;font-size:14px;color:#909399;border-radius:3px;cursor:pointer;transition:color .3s ease}.connections-devices-item.selected{color:#2c8af8}.connections-card{display:flex;flex-direction:column;flex:1;margin-top:10px;padding:0;overflow:hidden}.connections-card .connections{display:flex;flex-direction:column;width:100%;flex-grow:1;flex-basis:0;overflow:auto}.connections-card .connections-body{flex:1 0 auto}.connections-card .connections-th{position:relative;text-align:center;color:#909399;background:#f3f6f9;height:30px;line-height:30px;font-weight:500;font-size:14px;cursor:pointer;user-select:none}.connections-card .connections-th.resizing .connections-resizer{opacity:1}.connections-card .connections-th.fixed{position:sticky!important;left:0;z-index:99;box-shadow:inset -9px 0 8px -14px #000}.connections-card .connections-resizer{position:absolute;opacity:0;right:-10px;top:8px;bottom:8px;width:20px;transition:opacity .3s ease;z-index:10;font-size:14px;font-weight:300;touch-action:none}.connections-card .connections-resizer::before{content:"";display:block;position:absolute;left:10px;transform:translateX(-2px);width:2px;height:100%;background-color:rgba(144,147,153,.6)}.connections-card .connections-header{position:sticky;top:0;z-index:9999;white-space:nowrap}.connections-card .connections-header:hover .connections-resizer{opacity:1}.connections-card .connetions-item{height:36px}.connections-card .connections-block{display:flex;align-items:center;font-size:14px;line-height:36px;padding:0 10px;color:#54759a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connections-card .connections-block.center{text-align:center}.connections-card .connections-block.completed{background-color:#e9eef4;color:rgba(84,117,154,.5)}.connections-card .connections-block.fixed{position:sticky;left:0;z-index:999;background-color:#fff;box-shadow:inset -9px 0 8px -14px #000}.connections-filter{color:#2c8af8;font-size:14px;line-height:20px;margin-left:15px;text-shadow:0 0 6px rgba(44,138,248,.4);cursor:pointer}.connections-filter.dangerous{color:#f56c6c;text-shadow:0 0 6px rgba(87,190,252,.2)}.connections-filter.total{flex:1;cursor:unset}.external-controller .row{padding:0}.external-controller .alert{margin:10px 0}.external-controller .form,.external-controller .title{margin:15px 0}.external-controller .title{margin-top:15px;font-size:14px;font-weight:700}@media (max-width:768px){.external-controller .row{flex-direction:column;align-items:flex-start}.external-controller .title{margin:5px 0}.external-controller .form{margin:5px 0}.external-controller .column{width:100%}.external-controller .alert{display:none}}html{box-sizing:border-box;background:rgba(255,255,255,.8);overflow:hidden}*,::after,::before{margin:0;padding:0;box-sizing:inherit}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"}body ::-webkit-scrollbar{z-index:11;background:0 0}body ::-webkit-scrollbar-thumb{border-radius:5px;background:#2c8af8}body ::-webkit-scrollbar:vertical{width:6px}body ::-webkit-scrollbar:horizontal{height:6px}.app{min-height:100vh;padding-left:150px}.app.not-clashx{background:#f4f5f6}.page-container{width:100%;height:100vh;padding-left:10px;overflow-y:scroll}.page{padding:20px 35px 30px 20px;width:100%;min-height:100vh;margin:0 auto;display:flex;flex-direction:column}.container{margin:20px 0}input{-webkit-appearance:none}@media (max-width:768px){.app{padding-left:0;padding-top:60px}.page-container{width:100%;padding:0 10px;height:calc(100vh - 60px);-webkit-overflow-scrolling:touch}.page-container::-webkit-scrollbar{display:none}.page{padding:0 0 20px;height:100%}}@font-face{font-family:clash-iconfont;src:url(//at.alicdn.com/t/font_841708_ok9czskbhel.ttf?t=1576162884356) format("truetype")}.clash-iconfont{font-family:clash-iconfont!important;font-size:14px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2c8af8}.icon-update::before{content:""}.icon-healthcheck::before{content:""}.icon-speed::before{content:""}.icon-close::before{content:""}.icon-drag::before{content:""}.icon-down-arrow-o::before{content:""}.icon-check::before{content:""}.icon-plus::before{content:""}.icon-triangle-up::before{content:""}.icon-triangle-down::before{content:""}.icon-up-arrow-o::before{content:""}.icon-info::before{content:""}.icon-info-o::before{content:""}.icon-setting::before{content:""}.icon-show::before{content:""}.icon-hide::before{content:""}.icon-sort::before{content:""}.icon-sort-descending::before{content:""}.icon-sort-ascending::before{content:""}.icon-close-all::before{content:""} \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/dashboard/assets/vendor.b176d855.js b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/dashboard/assets/vendor.b176d855.js index fb0ea694d3..9a5cf886c7 100644 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/dashboard/assets/vendor.b176d855.js +++ b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/dashboard/assets/vendor.b176d855.js @@ -29,4 +29,4 @@ function h(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant=" * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ -var sc="function"==typeof Symbol&&Symbol.for,cc=sc?Symbol.for("react.element"):60103,fc=sc?Symbol.for("react.portal"):60106,dc=sc?Symbol.for("react.fragment"):60107,pc=sc?Symbol.for("react.strict_mode"):60108,hc=sc?Symbol.for("react.profiler"):60114,vc=sc?Symbol.for("react.provider"):60109,gc=sc?Symbol.for("react.context"):60110,mc=sc?Symbol.for("react.async_mode"):60111,yc=sc?Symbol.for("react.concurrent_mode"):60111,bc=sc?Symbol.for("react.forward_ref"):60112,wc=sc?Symbol.for("react.suspense"):60113,Sc=sc?Symbol.for("react.suspense_list"):60120,_c=sc?Symbol.for("react.memo"):60115,Ec=sc?Symbol.for("react.lazy"):60116,kc=sc?Symbol.for("react.block"):60121,Rc=sc?Symbol.for("react.fundamental"):60117,xc=sc?Symbol.for("react.responder"):60118,Cc=sc?Symbol.for("react.scope"):60119;function Tc(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case cc:switch(e=e.type){case mc:case yc:case dc:case hc:case pc:case wc:return e;default:switch(e=e&&e.$$typeof){case gc:case bc:case Ec:case _c:case vc:return e;default:return t}}case fc:return t}}}function Pc(e){return Tc(e)===yc}var Oc={AsyncMode:mc,ConcurrentMode:yc,ContextConsumer:gc,ContextProvider:vc,Element:cc,ForwardRef:bc,Fragment:dc,Lazy:Ec,Memo:_c,Portal:fc,Profiler:hc,StrictMode:pc,Suspense:wc,isAsyncMode:function(e){return Pc(e)||Tc(e)===mc},isConcurrentMode:Pc,isContextConsumer:function(e){return Tc(e)===gc},isContextProvider:function(e){return Tc(e)===vc},isElement:function(e){return"object"==typeof e&&null!==e&&e.$$typeof===cc},isForwardRef:function(e){return Tc(e)===bc},isFragment:function(e){return Tc(e)===dc},isLazy:function(e){return Tc(e)===Ec},isMemo:function(e){return Tc(e)===_c},isPortal:function(e){return Tc(e)===fc},isProfiler:function(e){return Tc(e)===hc},isStrictMode:function(e){return Tc(e)===pc},isSuspense:function(e){return Tc(e)===wc},isValidElementType:function(e){return"string"==typeof e||"function"==typeof e||e===dc||e===yc||e===hc||e===pc||e===wc||e===Sc||"object"==typeof e&&null!==e&&(e.$$typeof===Ec||e.$$typeof===_c||e.$$typeof===vc||e.$$typeof===gc||e.$$typeof===bc||e.$$typeof===Rc||e.$$typeof===xc||e.$$typeof===Cc||e.$$typeof===kc)},typeOf:Tc},Ac=o((function(e){e.exports=Oc}));function Mc(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var Nc={};Nc[Ac.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},Nc[Ac.Memo]={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0};var Lc=function(e){var t=Gs();return t.displayName=e,t}("Router-History"),Ic=function(e){var t=Gs();return t.displayName=e,t}("Router"),zc=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._isMounted?n.setState({location:e}):n._pendingLocation=e}))),n}bs(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){this._isMounted=!0,this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&this.unlisten()},n.render=function(){return f.createElement(Ic.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},f.createElement(Lc.Provider,{children:this.props.children||null,value:this.props.history}))},t}(f.Component);f.Component;var Dc=function(e){function t(){return e.apply(this,arguments)||this}bs(t,e);var n=t.prototype;return n.componentDidMount=function(){this.props.onMount&&this.props.onMount.call(this,this)},n.componentDidUpdate=function(e){this.props.onUpdate&&this.props.onUpdate.call(this,this,e)},n.componentWillUnmount=function(){this.props.onUnmount&&this.props.onUnmount.call(this,this)},n.render=function(){return null},t}(f.Component),jc={},Fc=0;function Bc(e,t){return void 0===e&&(e="/"),void 0===t&&(t={}),"/"===e?e:function(e){if(jc[e])return jc[e];var t=Ys.compile(e);return Fc<1e4&&(jc[e]=t,Fc++),t}(e)(t,{pretty:!0})}function Vc(e){var t=e.computedMatch,n=e.to,r=e.push,o=void 0!==r&&r;return f.createElement(Ic.Consumer,null,(function(e){e||Ts(!1);var r=e.history,a=e.staticContext,i=o?r.push:r.replace,u=Ls(t?"string"==typeof n?Bc(n,t.params):Es({},n,{pathname:Bc(n.pathname,t.params)}):n);return a?(i(u),null):f.createElement(Dc,{onMount:function(){i(u)},onUpdate:function(e,t){var n=Ls(t.to);Is(n,Es({},u,{key:n.key}))||i(u)},to:n})}))}var Uc={},$c=0;function Wc(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var n=t,r=n.path,o=n.exact,a=void 0!==o&&o,i=n.strict,u=void 0!==i&&i,l=n.sensitive,s=void 0!==l&&l;return[].concat(r).reduce((function(t,n){if(!n&&""!==n)return null;if(t)return t;var r=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=Uc[n]||(Uc[n]={});if(r[e])return r[e];var o=[],a={regexp:Ys(e,o,t),keys:o};return $c<1e4&&(r[e]=a,$c++),a}(n,{end:a,strict:u,sensitive:s}),o=r.regexp,i=r.keys,l=o.exec(e);if(!l)return null;var c=l[0],f=l.slice(1),d=e===c;return a&&!d?null:{path:n,url:"/"===n&&""===c?"/":c,isExact:d,params:i.reduce((function(e,t,n){return e[t.name]=f[n],e}),{})}}),null)}var Hc=function(e){function t(){return e.apply(this,arguments)||this}return bs(t,e),t.prototype.render=function(){var e=this;return f.createElement(Ic.Consumer,null,(function(t){t||Ts(!1);var n=e.props.location||t.location,r=Es({},t,{location:n,match:e.props.computedMatch?e.props.computedMatch:e.props.path?Wc(n.pathname,e.props):t.match}),o=e.props,a=o.children,i=o.component,u=o.render;return Array.isArray(a)&&0===a.length&&(a=null),f.createElement(Ic.Provider,{value:r},r.match?a?"function"==typeof a?a(r):a:i?f.createElement(i,r):u?u(r):null:"function"==typeof a?a(r):null)}))},t}(f.Component);f.Component,f.Component,f.useContext,f.Component;var Gc=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),o=0;o{nf.set(e,!0)},rf.setFail=e=>{nf.set(e,!1)};var of=rf;var af=function(e,t){const n=new Map;return e.forEach(((e,r)=>{n.set(r,t(e,r))})),n};var uf=function(e,t){if(null!=e)return e;throw new Error(null!=t?t:"Got unexpected null or undefined")};var lf=function(e,t,{error:n}={}){return null};var sf={trace:function(e,t,n){return n()},wrap:function(e){return e}};var cf={setByAddingToSet:function(e,t){const n=new Set(e);return n.add(t),n},setByDeletingFromSet:function(e,t){const n=new Set(e);return n.delete(t),n},mapBySettingInMap:function(e,t,n){const r=new Map(e);return r.set(t,n),r},mapByUpdatingInMap:function(e,t,n){const r=new Map(e);return r.set(t,n(r.get(t))),r},mapByDeletingFromMap:function(e,t){const n=new Map(e);return n.delete(t),n},mapByDeletingMultipleFromMap:function(e,t){const n=new Map(e);return t.forEach((e=>n.delete(e))),n}};function ff(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class df{constructor(e){ff(this,"key",void 0),this.key=e}}class pf extends df{}class hf extends df{}var vf={AbstractRecoilValue:df,RecoilState:pf,RecoilValueReadOnly:hf,isRecoilValue:function(e){return e instanceof pf||e instanceof hf}},gf=vf.AbstractRecoilValue,mf=vf.RecoilState,yf=vf.RecoilValueReadOnly,bf=vf.isRecoilValue,wf=Object.freeze({__proto__:null,AbstractRecoilValue:gf,RecoilState:mf,RecoilValueReadOnly:yf,isRecoilValue:bf});class Sf{}const _f=new Sf;class Ef extends Error{constructor(e){super(`Tried to set the value of Recoil selector ${e} using an updater function, but it is an async selector in a pending or error state; this is not supported.`)}}const kf=new Map,Rf=new Map;class xf extends Error{}var Cf={nodes:kf,recoilValues:Rf,registerNode:function(e){if(kf.has(e.key)){const t=`Duplicate atom key "${e.key}". This is a FATAL ERROR in\n production. But it is safe to ignore this warning if it occurred because of\n hot module replacement.`;console.warn(t)}kf.set(e.key,e);const t=null==e.set?new wf.RecoilValueReadOnly(e.key):new wf.RecoilState(e.key);return Rf.set(e.key,t),t},getNode:function(e){const t=kf.get(e);if(null==t)throw new xf(`Missing definition for RecoilValue: "${e}""`);return t},getNodeMaybe:function(e){return kf.get(e)},NodeMissingError:xf,DefaultValue:Sf,DEFAULT_VALUE:_f,RecoilValueNotReady:Ef};const{mapByDeletingFromMap:Tf,mapBySettingInMap:Pf,setByAddingToSet:Of}=cf,{getNode:Af,getNodeMaybe:Mf}=Cf,Nf=Object.freeze(new Set);class Lf extends Error{}var If={getNodeLoadable:function(e,t,n){return Af(n).get(e,t)},peekNodeLoadable:function(e,t,n){return Af(n).peek(e,t)},setNodeValue:function(e,t,n,r){const o=Af(n);if(null==o.set)throw new Lf(`Attempt to set read-only RecoilValue: ${n}`);return o.set(e,t,r)},cleanUpNode:function(e,t){Af(t).cleanUp(e)},setUnvalidatedAtomValue_DEPRECATED:function(e,t,n){var o;const a=Mf(t);return null==a||null===(o=a.invalidate)||void 0===o||o.call(a,e),r(r({},e),{atomValues:Tf(e.atomValues,t),nonvalidatedAtoms:Pf(e.nonvalidatedAtoms,t,n),dirtyAtoms:Of(e.dirtyAtoms,t)})},getDownstreamNodes:function(e,t,n){const r=new Set,o=Array.from(n),a=e.getGraph(t.version);for(let u=o.pop();u;u=o.pop()){var i;r.add(u);const e=null!==(i=a.nodeToNodeSubscriptions.get(u))&&void 0!==i?i:Nf;for(const t of e)r.has(t)||o.push(t)}return r}};var zf=function(e,...t){const n=new Set;e:for(const r of e){for(const e of t)if(e.has(r))continue e;n.add(r)}return n};function Df(e,t,n){const{nodeDeps:r,nodeToNodeSubscriptions:o}=t;e.forEach(((e,t)=>{const a=r.get(t);if(a&&n&&a!==n.nodeDeps.get(t))return;r.set(t,new Set(e));if((null==a?e:zf(e,a)).forEach((e=>{o.has(e)||o.set(e,new Set);uf(o.get(e)).add(t)})),a){zf(a,e).forEach((e=>{if(!o.has(e))return;const n=uf(o.get(e));n.delete(t),0===n.size&&o.delete(e)}))}}))}var jf={addToDependencyMap:function(e,t,n){n.has(e)||n.set(e,new Set),uf(n.get(e)).add(t)},cloneGraph:function(e){return{nodeDeps:af(e.nodeDeps,(e=>new Set(e))),nodeToNodeSubscriptions:af(e.nodeToNodeSubscriptions,(e=>new Set(e)))}},graph:function(){return{nodeDeps:new Map,nodeToNodeSubscriptions:new Map}},mergeDepsIntoDependencyMap:function(e,t){e.forEach(((e,n)=>{t.has(n)||t.set(n,new Set);const r=uf(t.get(n));e.forEach((e=>r.add(e)))}))},saveDependencyMapToStore:function(e,t,n){var r,o,a,i;const u=t.getState();n!==u.currentTree.version&&n!==(null===(r=u.nextTree)||void 0===r?void 0:r.version)&&(null===(o=u.previousTree)||void 0===o||o.version);const l=t.getGraph(n);if(Df(e,l),n===(null===(a=u.previousTree)||void 0===a?void 0:a.version)){Df(e,t.getGraph(u.currentTree.version),l)}if(n===(null===(i=u.previousTree)||void 0===i?void 0:i.version)||n===u.currentTree.version){var s;const n=null===(s=u.nextTree)||void 0===s?void 0:s.version;if(void 0!==n){Df(e,t.getGraph(n),l)}}}};const{getDownstreamNodes:Ff,getNodeLoadable:Bf,setNodeValue:Vf}=If,{saveDependencyMapToStore:Uf}=jf,{getNodeMaybe:$f}=Cf,{DefaultValue:Wf,RecoilValueNotReady:Hf}=Cf,{AbstractRecoilValue:Gf,RecoilState:qf,RecoilValueReadOnly:Yf,isRecoilValue:Kf}=wf;function Qf(e,t,n){if("set"===n.type){const{recoilValue:r,valueOrUpdater:o}=n,a=function(e,t,{key:n},r){if("function"==typeof r){const o=Bf(e,t,n)[1];if("loading"===o.state)throw new Hf(n);if("hasError"===o.state)throw o.contents;return r(o.contents)}return r}(e,t,r,o),[i,u]=Vf(e,t,r.key,a);Uf(i,e,t.version);for(const[e,n]of u.entries())Xf(t,e,n)}else if("setLoadable"===n.type){const{recoilValue:{key:e},loadable:r}=n;Xf(t,e,r)}else if("markModified"===n.type){const{recoilValue:{key:e}}=n;t.dirtyAtoms.add(e)}else if("setUnvalidated"===n.type){var r;const{recoilValue:{key:e},unvalidatedValue:o}=n,a=$f(e);null==a||null===(r=a.invalidate)||void 0===r||r.call(a,t),t.atomValues.delete(e),t.nonvalidatedAtoms.set(e,o),t.dirtyAtoms.add(e)}else lf(`Unknown action ${n.type}`)}function Xf(e,t,n){"hasValue"===n.state&&n.contents instanceof Wf?e.atomValues.delete(t):e.atomValues.set(t,n),e.dirtyAtoms.add(t),e.nonvalidatedAtoms.delete(t)}function Jf(e,t){e.replaceState((n=>{const o=function(e){return r(r({},e),{atomValues:new Map(e.atomValues),nonvalidatedAtoms:new Map(e.nonvalidatedAtoms),dirtyAtoms:new Set(e.dirtyAtoms)})}(n);for(const r of t)Qf(e,o,r);return td(e,o),o}))}function Zf(e,t,n,r){if(ed.length){const n=ed[ed.length-1];let r=n.get(e);r||n.set(e,r=[]),r.push(t)}else sf.trace(r,n,(()=>Jf(e,[t])))}const ed=[];function td(e,t){const n=Ff(e,t,t.dirtyAtoms);for(const a of n){var r,o;null===(r=$f(a))||void 0===r||null===(o=r.invalidate)||void 0===o||o.call(r,t)}}function nd(e,t,n){Zf(e,{type:"set",recoilValue:t,valueOrUpdater:n},t.key,"set Recoil value")}let rd=0;var od={RecoilValueReadOnly:Yf,AbstractRecoilValue:Gf,RecoilState:qf,getRecoilValueAsLoadable:function(e,{key:t},n=e.getState().currentTree){var r,o;const a=e.getState();n.version!==a.currentTree.version&&n.version!==(null===(r=a.nextTree)||void 0===r?void 0:r.version)&&(n.version,null===(o=a.previousTree)||void 0===o||o.version);const[i,u]=Bf(e,n,t);return of("recoil_async_selector_refactor")||Uf(i,e,n.version),u},setRecoilValue:nd,setRecoilValueLoadable:function(e,t,n){if(n instanceof Wf)return nd(e,t,n);Zf(e,{type:"setLoadable",recoilValue:t,loadable:n},t.key,"set Recoil value")},markRecoilValueModified:function(e,t){Zf(e,{type:"markModified",recoilValue:t},t.key,"mark RecoilValue modified")},setUnvalidatedRecoilValue:function(e,t,n){Zf(e,{type:"setUnvalidated",recoilValue:t,unvalidatedValue:n},t.key,"set Recoil value")},subscribeToRecoilValue:function(e,{key:t},n,r=null){const o=rd++,a=e.getState();return a.nodeToComponentSubscriptions.has(t)||a.nodeToComponentSubscriptions.set(t,new Map),uf(a.nodeToComponentSubscriptions.get(t)).set(o,[null!=r?r:"",n]),{release:()=>{const n=e.getState(),r=n.nodeToComponentSubscriptions.get(t);void 0!==r&&r.has(o)&&(r.delete(o),0===r.size&&n.nodeToComponentSubscriptions.delete(t))}}},isRecoilValue:Kf,applyAtomValueWrites:function(e,t){const n=af(e,(e=>e));return t.forEach(((e,t)=>{"hasValue"===e.state&&e.contents instanceof Wf?n.delete(t):n.set(t,e)})),n},batchStart:function(){const e=new Map;return ed.push(e),()=>{for(const[t,n]of e)sf.trace("Recoil batched updates","-",(()=>Jf(t,n)));ed.pop()}},invalidateDownstreams_FOR_TESTING:td};const{unstable_batchedUpdates:ad}=ys;var id={unstable_batchedUpdates:ad};const{batchStart:ud}=od,{unstable_batchedUpdates:ld}=id;let sd=ld;var cd={getBatcher:()=>sd,setBatcher:e=>{sd=e},batchUpdates:e=>{sd((()=>{let t=()=>{};try{t=ud(),e()}finally{t()}}))}};var fd={enqueueExecution:function(e,t){t()}};var dd=function*(e){for(const t of e)for(const e of t)yield e};var pd=function*(e,t){let n=0;for(const r of e)t(r,n++)&&(yield r)};var hd=function(e,t){return function*(){let n=0;for(const r of e)yield t(r,n++)}()};const{graph:vd}=jf;let gd=0;const md=()=>gd++;function yd(){const e=md();return{version:e,stateID:e,transactionMetadata:{},dirtyAtoms:new Set,atomValues:new Map,nonvalidatedAtoms:new Map}}var bd={makeEmptyTreeState:yd,makeEmptyStoreState:function(){const e=yd();return{currentTree:e,nextTree:null,previousTree:null,knownAtoms:new Set,knownSelectors:new Set,transactionSubscriptions:new Map,nodeTransactionSubscriptions:new Map,nodeToComponentSubscriptions:new Map,queuedComponentCallbacks_DEPRECATED:[],suspendedComponentResolvers:new Set,graphsByVersion:(new Map).set(e.version,vd()),versionsUsedByComponent:new Map}},getNextTreeStateVersion:md};const{batchUpdates:wd}=cd,{getDownstreamNodes:Sd,peekNodeLoadable:_d}=If,{graph:Ed}=jf,{DEFAULT_VALUE:kd,recoilValues:Rd}=Cf,{getRecoilValueAsLoadable:xd,setRecoilValue:Cd}=od,{getNextTreeStateVersion:Td,makeEmptyStoreState:Pd}=bd;function Od(e){return hd(e,(e=>uf(Rd.get(e))))}class Ad{constructor(e){ff(this,"_store",void 0),ff(this,"getLoadable",(e=>xd(this._store,e))),ff(this,"getPromise",(e=>this.getLoadable(e).toPromise())),ff(this,"getNodes_UNSTABLE",(e=>{if(!0===(null==e?void 0:e.isModified)){if(!1===(null==e?void 0:e.isInitialized))return[];return Od(this._store.getState().currentTree.dirtyAtoms)}const t=this._store.getState().knownAtoms,n=this._store.getState().knownSelectors;return null==(null==e?void 0:e.isInitialized)?Rd.values():!0===e.isInitialized?Od(dd([this._store.getState().knownAtoms,this._store.getState().knownSelectors])):pd(Rd.values(),(({key:e})=>!t.has(e)&&!n.has(e)))})),ff(this,"getDeps_UNSTABLE",(e=>{this.getLoadable(e);const t=this._store.getGraph(this._store.getState().currentTree.version).nodeDeps.get(e.key);return Od(null!=t?t:[])})),ff(this,"getSubscribers_UNSTABLE",(({key:e})=>{const t=this._store.getState().currentTree;return{nodes:Od(pd(Sd(this._store,t,new Set([e])),(t=>t!==e)))}})),ff(this,"getInfo_UNSTABLE",(e=>{var t;const{key:n}=e,r=this._store.getState().currentTree,o=this._store.getGraph(r.version),a=this._store.getState().knownAtoms.has(n)?"atom":this._store.getState().knownSelectors.has(n)?"selector":void 0;return{loadable:_d(this._store,r,n),isActive:this._store.getState().knownAtoms.has(n)||this._store.getState().knownSelectors.has(n),isSet:"selector"!==a&&r.atomValues.has(n),isModified:r.dirtyAtoms.has(n),type:a,deps:Od(null!==(t=o.nodeDeps.get(n))&&void 0!==t?t:[]),subscribers:this.getSubscribers_UNSTABLE(e)}})),ff(this,"map",(e=>{const t=new Ld(this);return e(t),Nd(t.getStore_INTERNAL())})),ff(this,"asyncMap",(async e=>{const t=new Ld(this);return await e(t),Nd(t.getStore_INTERNAL())})),this._store={getState:()=>e,replaceState:t=>{e.currentTree=t(e.currentTree)},getGraph:t=>{const n=e.graphsByVersion;if(n.has(t))return uf(n.get(t));const r=Ed();return n.set(t,r),r},subscribeToTransactions:()=>({release:()=>{}}),addTransactionMetadata:()=>{throw new Error("Cannot subscribe to Snapshots")}}}getStore_INTERNAL(){return this._store}getID(){return this.getID_INTERNAL()}getID_INTERNAL(){return this._store.getState().currentTree.stateID}}function Md(e,t,n=!1){const o=e.getState(),a=n?Td():t.version;return{currentTree:n?{version:a,stateID:a,transactionMetadata:r({},t.transactionMetadata),dirtyAtoms:new Set(t.dirtyAtoms),atomValues:new Map(t.atomValues),nonvalidatedAtoms:new Map(t.nonvalidatedAtoms)}:t,nextTree:null,previousTree:null,knownAtoms:new Set(o.knownAtoms),knownSelectors:new Set(o.knownSelectors),transactionSubscriptions:new Map,nodeTransactionSubscriptions:new Map,nodeToComponentSubscriptions:new Map,queuedComponentCallbacks_DEPRECATED:[],suspendedComponentResolvers:new Set,graphsByVersion:(new Map).set(a,e.getGraph(t.version)),versionsUsedByComponent:new Map}}function Nd(e,t="current"){const n=e.getState(),r="current"===t?n.currentTree:uf(n.previousTree);return new Ad(Md(e,r))}class Ld extends Ad{constructor(e){super(Md(e.getStore_INTERNAL(),e.getStore_INTERNAL().getState().currentTree,!0)),ff(this,"set",((e,t)=>{const n=this.getStore_INTERNAL();wd((()=>{Cd(n,e,t)}))})),ff(this,"reset",(e=>wd((()=>Cd(this.getStore_INTERNAL(),e,kd)))))}}var Id={Snapshot:Ad,MutableSnapshot:Ld,freshSnapshot:function(e){const t=new Ad(Pd());return null!=e?t.map(e):t},cloneSnapshot:Nd},zd=Id.Snapshot,Dd=Id.MutableSnapshot,jd=Id.freshSnapshot,Fd=Id.cloneSnapshot,Bd=Object.freeze({__proto__:null,Snapshot:zd,MutableSnapshot:Dd,freshSnapshot:jd,cloneSnapshot:Fd});var Vd=function(...e){const t=new Set;for(const n of e)for(const e of n)t.add(e);return t};const{useContext:Ud,useEffect:$d,useMemo:Wd,useRef:Hd,useState:Gd}=f,{cleanUpNode:qd,getDownstreamNodes:Yd,setNodeValue:Kd,setUnvalidatedAtomValue_DEPRECATED:Qd}=If,{graph:Xd,saveDependencyMapToStore:Jd}=jf,{cloneGraph:Zd}=jf,{applyAtomValueWrites:ep}=od,{freshSnapshot:tp}=Bd,{getNextTreeStateVersion:np,makeEmptyStoreState:rp}=bd,{mapByDeletingMultipleFromMap:op}=cf;function ap(){throw new Error("This component must be used inside a component.")}const ip=Object.freeze({getState:ap,replaceState:ap,getGraph:ap,subscribeToTransactions:ap,addTransactionMetadata:ap});let up=!1;function lp(e){if(up)throw new Error("An atom update was triggered within the execution of a state updater function. State updater functions provided to Recoil must be pure functions.");if(null===e.nextTree){const t=e.currentTree.version,n=np();e.nextTree=r(r({},e.currentTree),{version:n,stateID:n,dirtyAtoms:new Set,transactionMetadata:{}}),e.graphsByVersion.set(n,Zd(uf(e.graphsByVersion.get(t))))}}const sp=f.createContext({current:ip}),cp=()=>Ud(sp),fp=f.createContext(null);function dp(e){const t=e.getState(),n=t.currentTree,r=n.dirtyAtoms;if(r.size){for(const[n,i]of t.nodeTransactionSubscriptions)if(r.has(n))for(const[t,r]of i)r(e);for(const[n,r]of t.transactionSubscriptions)r(e);const o=Yd(e,n,r);for(const e of o){const r=t.nodeToComponentSubscriptions.get(e);if(r)for(const[e,[t,o]]of r)o(n)}let a="[available in dev build]";t.suspendedComponentResolvers.forEach((e=>sf.trace("value became available, waking components",a,e)))}t.queuedComponentCallbacks_DEPRECATED.forEach((e=>e(n))),t.queuedComponentCallbacks_DEPRECATED.splice(0,t.queuedComponentCallbacks_DEPRECATED.length)}function pp(e){const t=cp(),[n,r]=Gd([]);return e.setNotifyBatcherOfChange((()=>r({}))),$d((()=>{fd.enqueueExecution("Batcher",(()=>{const e=t.current.getState(),{nextTree:n}=e;if(null===n)return;e.previousTree=e.currentTree,e.currentTree=n,e.nextTree=null,dp(t.current);const r=uf(e.previousTree).version;e.graphsByVersion.delete(r),e.previousTree=null}))})),null}let hp=0;var vp={useStoreRef:cp,useRecoilMutableSource:()=>Ud(fp),RecoilRoot:function({initializeState_DEPRECATED:e,initializeState:t,store_INTERNAL:n,children:o}){var a;let i;const u=Hd(null),l=null!==(a=f.createMutableSource)&&void 0!==a?a:f.unstable_createMutableSource,s=null!=n?n:{getState:()=>i.current,replaceState:e=>{const t=c.current.getState();lp(t);const n=uf(t.nextTree);let r;try{up=!0,r=e(n)}finally{up=!1}r!==n&&(t.nextTree=r,uf(u.current)())},getGraph:e=>{const t=i.current.graphsByVersion;if(t.has(e))return uf(t.get(e));const n=Xd();return t.set(e,n),n},subscribeToTransactions:(e,t)=>{if(null==t){const{transactionSubscriptions:t}=c.current.getState(),n=hp++;return t.set(n,e),{release:()=>{t.delete(n)}}}{const{nodeTransactionSubscriptions:n}=c.current.getState();n.has(t)||n.set(t,new Map);const r=hp++;return uf(n.get(t)).set(r,e),{release:()=>{const e=n.get(t);e&&(e.delete(r),0===e.size&&n.delete(t))}}}},addTransactionMetadata:e=>{lp(c.current.getState());for(const t of Object.keys(e))uf(c.current.getState().nextTree).transactionMetadata[t]=e[t]}},c=Hd(s);i=Hd(null!=e?function(e,t){const n=rp();return t({set:(t,o)=>{const a=n.currentTree,[i,u]=Kd(e,a,t.key,o),l=new Set(u.keys());Jd(i,e,a.version);const s=op(a.nonvalidatedAtoms,l);n.currentTree=r(r({},a),{dirtyAtoms:Vd(a.dirtyAtoms,l),atomValues:ep(a.atomValues,u),nonvalidatedAtoms:s})},setUnvalidatedAtomValues:e=>{e.forEach(((e,t)=>{n.currentTree=Qd(n.currentTree,t,e)}))}}),n}(s,e):null!=t?function(e){return tp().map(e).getStore_INTERNAL().getState()}(t):rp());const d=Wd((()=>l?l(i,(()=>i.current.currentTree.version)):null),[l,i]);return $d((()=>()=>{for(const e of c.current.getState().knownAtoms)qd(c.current,e)}),[]),f.createElement(sp.Provider,{value:c},f.createElement(fp.Provider,{value:d},f.createElement(pp,{setNotifyBatcherOfChange:function(e){u.current=e}}),o))},sendEndOfBatchNotifications_FOR_TESTING:dp};var gp=function(e,t){const n=new Map;for(const[r,o]of e)t(o,r)&&n.set(r,o);return n};var mp=function(e,t){const n=new Set;for(const r of e)t(r)&&n.add(r);return n};var yp=function(e,t){if(!e)throw new Error(t)};var bp,wp=function(...e){const t=new Map;for(let n=0;n"};const{useCallback:Rp,useEffect:xp,useMemo:Cp,useRef:Tp,useState:Pp}=f,{batchUpdates:Op}=cd,{DEFAULT_VALUE:Ap,getNode:Mp,nodes:Np}=Cf,{useRecoilMutableSource:Lp,useStoreRef:Ip}=vp,{AbstractRecoilValue:zp,getRecoilValueAsLoadable:Dp,setRecoilValue:jp,setRecoilValueLoadable:Fp,setUnvalidatedRecoilValue:Bp,subscribeToRecoilValue:Vp}=od,{Snapshot:Up,cloneSnapshot:$p}=Bd,{setByAddingToSet:Wp}=cf,{mutableSourceExists:Hp,useMutableSource:Gp}=_p;function qp(e,t,n){if("hasValue"===e.state)return e.contents;if("loading"===e.state){throw new Promise((e=>{n.current.getState().suspendedComponentResolvers.add(e)}))}throw"hasError"===e.state?e.contents:new Error(`Invalid value of loadable atom "${t.key}"`)}function Yp(e){return Hp()?function(e){const t=Ip(),n=Rp((()=>Dp(t.current,e,t.current.getState().currentTree)),[t,e]),r=kp(),o=Rp(((n,o)=>{const a=t.current,i=Vp(a,e,(()=>{sf.trace("RecoilValue subscription fired",e.key,(()=>{o()}))}),r);return()=>i.release(a)}),[e,t,r]);return Gp(Lp(),n,o)}(e):function(e){const t=Ip(),[n,r]=Pp([]),o=kp();return xp((()=>{const n=t.current,a=Vp(n,e,(t=>{sf.trace("RecoilValue subscription fired",e.key,(()=>{r([])}))}),o);return sf.trace("initial update on subscribing",e.key,(()=>{n.getState().nextTree?n.getState().queuedComponentCallbacks_DEPRECATED.push(sf.wrap((()=>{r([])}))):r([])})),()=>a.release(n)}),[e,t]),Dp(t.current,e)}(e)}function Kp(e){const t=Ip();return qp(Yp(e),e,t)}function Qp(e){const t=Ip();return Rp((n=>{jp(t.current,e,n)}),[t,e])}function Xp(e){const t=Ip();xp((()=>t.current.subscribeToTransactions(e).release),[e,t])}function Jp(e){const t=e.atomValues,n=af(gp(t,((e,t)=>{const n=Mp(t).persistence_UNSTABLE;return null!=n&&"none"!==n.type&&"hasValue"===e.state})),(e=>e.contents));return wp(e.nonvalidatedAtoms,n)}function Zp(){const e=Ip();return Rp((t=>{var n;const o=e.current.getState(),a=null!==(n=o.nextTree)&&void 0!==n?n:o.currentTree,i=t.getStore_INTERNAL().getState().currentTree;Op((()=>{const n=new Set;for(const e of[a.atomValues.keys(),i.atomValues.keys()])for(const t of e){var o,u;(null===(o=a.atomValues.get(t))||void 0===o?void 0:o.contents)!==(null===(u=i.atomValues.get(t))||void 0===u?void 0:u.contents)&&Mp(t).shouldRestoreFromSnapshots&&n.add(t)}n.forEach((t=>{Fp(e.current,new zp(t),i.atomValues.has(t)?uf(i.atomValues.get(t)):Ap)})),e.current.replaceState((e=>r(r({},e),{stateID:t.getID_INTERNAL()})))}))}),[e])}class eh{}const th=new eh;var nh={recoilComponentGetRecoilValueCount_FOR_TESTING:{current:0},useGotoRecoilSnapshot:Zp,useRecoilCallback:function(e,t){const n=Ip(),r=Zp();return Rp(((...t)=>{const o=$p(n.current);function a(e,t){jp(n.current,e,t)}function i(e){jp(n.current,e,Ap)}let u=th;return Op((()=>{u=e({set:a,reset:i,snapshot:o,gotoSnapshot:r})(...t)})),u instanceof eh&&yp(!1),u}),null!=t?[...t,n]:void 0)},useRecoilInterface:function(){const e=Ip(),[t,n]=Pp([]),r=Tp(new Set);r.current=new Set;const o=Tp(new Set),a=Tp(new Map),i=Rp((t=>{const n=a.current.get(t);n&&(n.release(e.current),a.current.delete(t))}),[e,a]),u=kp();return xp((()=>{const t=e.current;function l(e,t){a.current.has(t)&&n([])}zf(r.current,o.current).forEach((e=>{if(a.current.has(e))return;const n=Vp(t,new zp(e),(t=>{sf.trace("RecoilValue subscription fired",e,(()=>{l(0,e)}))}),u);a.current.set(e,n),sf.trace("initial update on subscribing",e,(()=>{t.getState().nextTree?t.getState().queuedComponentCallbacks_DEPRECATED.push(sf.wrap((()=>{l(t.getState(),e)}))):l(t.getState(),e)}))})),zf(o.current,r.current).forEach((e=>{i(e)})),o.current=r.current})),xp((()=>{const e=a.current;return()=>e.forEach(((e,t)=>i(t)))}),[i]),Cp((()=>{function t(t){return n=>{jp(e.current,t,n)}}function n(t){return r.current.has(t.key)||(r.current=Wp(r.current,t.key)),Dp(e.current,t)}function o(t){return qp(n(t),t,e)}return{getRecoilValue:o,getRecoilValueLoadable:n,getRecoilState:function(e){return[o(e),t(e)]},getRecoilStateLoadable:function(e){return[n(e),t(e)]},getSetRecoilState:t,getResetRecoilState:function(t){return()=>jp(e.current,t,Ap)}}}),[r,e])},useRecoilSnapshot:function(){const e=Ip(),[t,n]=Pp((()=>$p(e.current)));return Xp(Rp((e=>n($p(e))),[])),t},useRecoilState:function(e){return[Kp(e),Qp(e)]},useRecoilStateLoadable:function(e){return[Yp(e),Qp(e)]},useRecoilTransactionObserver:function(e){Xp(Rp((t=>{e({snapshot:$p(t,"current"),previousSnapshot:$p(t,"previous")})}),[e]))},useRecoilValue:Kp,useRecoilValueLoadable:Yp,useResetRecoilState:function(e){const t=Ip();return Rp((()=>{jp(t.current,e,Ap)}),[t,e])},useSetRecoilState:Qp,useSetUnvalidatedAtomValues:function(){const e=Ip();return(t,n={})=>{Op((()=>{e.current.addTransactionMetadata(n),t.forEach(((t,n)=>Bp(e.current,new zp(n),t)))}))}},useTransactionObservation_DEPRECATED:function(e){Xp(Rp((t=>{let n=t.getState().previousTree;const o=t.getState().currentTree;n||(n=t.getState().currentTree);const a=Jp(o),i=Jp(n),u=af(Np,(e=>{var t,n,r,o;return{persistence_UNSTABLE:{type:null!==(t=null===(n=e.persistence_UNSTABLE)||void 0===n?void 0:n.type)&&void 0!==t?t:"none",backButton:null!==(r=null===(o=e.persistence_UNSTABLE)||void 0===o?void 0:o.backButton)&&void 0!==r&&r}}})),l=mp(o.dirtyAtoms,(e=>a.has(e)||i.has(e)));e({atomValues:a,previousAtomValues:i,atomInfo:u,modifiedAtoms:l,transactionMetadata:r({},o.transactionMetadata)})}),[e]))},useTransactionSubscription_DEPRECATED:Xp};const{useMemo:rh}=f,{RecoilRoot:oh,useStoreRef:ah}=vp;var ih=function(){const e=ah().current;return rh((()=>function({children:t}){return f.createElement(oh,{store_INTERNAL:e},t)}),[e])};var uh=function(e){return!!e&&"function"==typeof e.then};const lh={getValue(){if("loading"===this.state&&of("recoil_async_selector_refactor"))throw this.contents.then((({__value:e})=>e));if("hasValue"!==this.state)throw this.contents;return this.contents},toPromise(){return"hasValue"===this.state?Promise.resolve(this.contents):"hasError"===this.state?Promise.reject(this.contents):of("recoil_async_selector_refactor")?this.contents.then((({__value:e})=>e)):this.contents},valueMaybe(){return"hasValue"===this.state?this.contents:void 0},valueOrThrow(){if("hasValue"!==this.state)throw new Error(`Loadable expected value, but in "${this.state}" state`);return this.contents},errorMaybe(){return"hasError"===this.state?this.contents:void 0},errorOrThrow(){if("hasError"!==this.state)throw new Error(`Loadable expected error, but in "${this.state}" state`);return this.contents},promiseMaybe(){return"loading"===this.state?of("recoil_async_selector_refactor")?this.contents.then((({__value:e})=>e)):this.contents:void 0},promiseOrThrow(){if("loading"!==this.state)throw new Error(`Loadable expected promise, but in "${this.state}" state`);return of("recoil_async_selector_refactor")?this.contents.then((({__value:e})=>e)):this.contents},map(e){if("hasError"===this.state)return this;if("hasValue"===this.state)try{const t=e(this.contents);return uh(t)?fh(t):sh(t)}catch(t){return uh(t)?fh(t.next((()=>e(this.contents)))):ch(t)}if("loading"===this.state)return fh(this.contents.then(e).catch((t=>{if(uh(t))return t.then((()=>e(this.contents)));throw t})));throw new Error("Invalid Loadable state")}};function sh(e){return Object.freeze(r({state:"hasValue",contents:e},lh))}function ch(e){return Object.freeze(r({state:"hasError",contents:e},lh))}function fh(e){return Object.freeze(r({state:"loading",contents:e},lh))}var dh={loadableWithValue:sh,loadableWithError:ch,loadableWithPromise:fh,loadableLoading:function(){return fh(new Promise((()=>{})))},loadableAll:function(e){return e.every((e=>"hasValue"===e.state))?sh(e.map((e=>e.contents))):e.some((e=>"hasError"===e.state))?ch(uf(e.find((e=>"hasError"===e.state)),"Invalid loadable passed to loadableAll").contents):fh(of("recoil_async_selector_refactor")?Promise.all(e.map((e=>e.contents))).then((e=>({__value:e}))):Promise.all(e.map((e=>e.contents))))}};var ph=function(){let e,t;const n={get:n=>n===e?t:void 0,set:(r,o)=>(e=r,t=o,n)};return n};const hh=Symbol("ArrayKeyedMap"),vh=new Map;class gh{constructor(e){if(ff(this,"_base",new Map),e instanceof gh)for(const[t,n]of e.entries())this.set(t,n);else if(e)for(const[t,n]of e)this.set(t,n);return this}get(e){const t=Array.isArray(e)?e:[e];let n=this._base;return t.forEach((e=>{var t;n=null!==(t=n.get(e))&&void 0!==t?t:vh})),void 0===n?void 0:n.get(hh)}set(e,t){const n=Array.isArray(e)?e:[e];let r=this._base,o=r;return n.forEach((e=>{o=r.get(e),o||(o=new Map,r.set(e,o)),r=o})),o.set(hh,t),this}delete(e){const t=Array.isArray(e)?e:[e];let n=this._base,r=n;return t.forEach((e=>{r=n.get(e),r||(r=new Map,n.set(e,r)),n=r})),r.delete(hh),this}entries(){const e=[];return function t(n,r){n.forEach(((n,o)=>{o===hh?e.push([r,n]):t(n,r.concat(o))}))}(this._base,[]),e.values()}toBuiltInMap(){return new Map(this.entries())}}var mh=gh,yh=Object.freeze({__proto__:null,ArrayKeyedMap:mh});const{ArrayKeyedMap:bh}=yh;var wh=function(){return new bh};function Sh(e,t,n){if("string"==typeof e&&!e.includes('"')&&!e.includes("\\"))return`"${e}"`;switch(typeof e){case"undefined":return"";case"boolean":return e?"true":"false";case"number":case"symbol":return String(e);case"string":return JSON.stringify(e);case"function":if(!0!==(null==t?void 0:t.allowFunctions))throw new Error("Attempt to serialize function in a Recoil cache key");return`__FUNCTION(${e.name})__`}if(null===e)return"null";var r;if("object"!=typeof e)return null!==(r=JSON.stringify(e))&&void 0!==r?r:"";if(uh(e))return"__PROMISE__";if(Array.isArray(e))return`[${e.map(((e,n)=>Sh(e,t,n.toString())))}]`;if("function"==typeof e.toJSON)return Sh(e.toJSON(n),t,n);if(e instanceof Map){const r={};for(const[n,o]of e)r["string"==typeof n?n:Sh(n,t)]=o;return Sh(r,t,n)}return e instanceof Set?Sh(Array.from(e).sort(((e,n)=>Sh(e,t).localeCompare(Sh(n,t)))),t,n):null!=e[Symbol.iterator]&&"function"==typeof e[Symbol.iterator]?Sh(Array.from(e),t,n):`{${Object.keys(e).filter((t=>void 0!==e[t])).sort().map((n=>`${Sh(n,t)}:${Sh(e[n],t,n)}`)).join(",")}}`}var _h=function(e,t={allowFunctions:!1}){return Sh(e,t)};var Eh=function(){const e=new Map,t={get:t=>e.get(_h(t)),set:(n,r)=>(e.set(_h(n),r),t),map:e};return t};var kh=function(){let e;return{get:(t,n)=>{if(void 0!==e){for(const[o,a]of e.route){var r;if(t(o)!==a)return;null==n||null===(r=n.onCacheHit)||void 0===r||r.call(n,o)}return e.value}},set:(t,n)=>{e={route:t,value:n}},getRoot:()=>e}};var Rh={setInTreeCache:function e(t,n,r){if(null==t){if(0===n.length)return{type:"result",result:r};{const[t,...o]=n,[a,i]=t;return{type:"branch",nodeKey:a,branches:new Map([[i,e(null,o,r)]])}}}if(0===n.length){if("result"!==t.type&&yp(!1),t.result&&"loading"===t.result.state){return{type:"result",result:r}}t.result!==r&&yp(!1);return t}{const[o,...a]=n,[i,u]=o;return"branch"!==t.type&&yp(!1),t.nodeKey!==i&&yp(!1),t.branches.set(u,e(t.branches.get(u),a,r)),t}},getFromTreeCache:function e(t,n,r){var o;if(null==t)return;if("result"===t.type)return t.result;null==r||null===(o=r.onCacheHit)||void 0===o||o.call(r,t.nodeKey);const a=n(t.nodeKey);return e(t.branches.get(a),n,r)}};const{getFromTreeCache:xh,setInTreeCache:Ch}=Rh;var Th=function(){let e;return{get:(t,n)=>xh(e,t,n),set:(t,n)=>{e=Ch(e,t,n)},getRoot:()=>e}};const{getFromTreeCache:Ph,setInTreeCache:Oh}=Rh;var Ah=function(){let e;return{get:(t,n)=>Ph(e,(e=>_h(t(e))),n),set:(t,n)=>{e=Oh(e,t.map((([e,t])=>[e,_h(t)])),n)},getRoot:()=>e}};var Mh={startPerfBlock:function(e){return()=>null}};const{loadableWithError:Nh,loadableWithPromise:Lh,loadableWithValue:Ih}=dh,{getNodeLoadable:zh,peekNodeLoadable:Dh,setNodeValue:jh}=If,{saveDependencyMapToStore:Fh}=jf,{DEFAULT_VALUE:Bh,RecoilValueNotReady:Vh,registerNode:Uh}=Cf,{isRecoilValue:$h}=wf,{AbstractRecoilValue:Wh}=wf,{setRecoilValueLoadable:Hh}=od,{startPerfBlock:Gh}=Mh,qh=Object.freeze(new Set),Yh=[],Kh=new Map,Qh=(()=>{let e=0;return()=>e++})();var Xh=function(e){const{key:t,get:n,cacheImplementation_UNSTABLE:r}=e,o=null!=e.set?e.set:void 0,a=r===wh?Th():r===Eh?Ah():r===ph?kh():Th(),i={depValuesDiscoveredSoFarDuringAsyncWork:null,latestLoadable:null,latestExecutionId:null,stateVersion:null};function u(e){e.getState().knownSelectors.add(t)}function l(e,t,n){if("loading"===t.state){let t=Kh.get(n);null==t&&Kh.set(n,t=new Set),t.add(e)}}function s(e,t,n){if(t.atomValues.has(n))return[new Map,uf(t.atomValues.get(n))];const[,r]=zh(e,t,n),o=e.getState().knownSelectors.has(n);return"loading"!==r.state&&o&&t.atomValues.set(n,r),[new Map,r]}function c(e,n,r,o,a){return n.then((n=>{const{__key:o,__value:i}=n;null!=o&&r.atomValues.set(o,Ih(i));const[u,l]=h(e,r,a);if(S(a)&&w(l,a),_(u),"loading"!==u.state&&(E(r,v(l),u),f(u,a)),"hasError"===u.state)throw u.contents;return"hasValue"===u.state?{__value:u.contents,__key:t}:u.contents})).catch((e=>{const t=Nh(e);throw E(r,v(o),Nh(e)),f(t,a),e}))}function f(e,n){S(n)&&(b(e),function(e,n){const r=Kh.get(n);if(void 0!==r){for(const n of r)Hh(n,new Wh(t),e);Kh.delete(n)}}(e,n))}function d(e,n,r,o){var a,i,u,l,s,c,f;(S(o)||n.version===(null===(a=e.getState())||void 0===a||null===(i=a.currentTree)||void 0===i?void 0:i.version)||n.version===(null===(u=e.getState())||void 0===u||null===(l=u.nextTree)||void 0===l?void 0:l.version))&&Fh(new Map([[t,r]]),e,null!==(s=null===(c=e.getState())||void 0===c||null===(f=c.nextTree)||void 0===f?void 0:f.version)&&void 0!==s?s:e.getState().currentTree.version)}function p(e,t,n,r,o){n.add(r),d(e,t,n,o)}function h(e,r,o){const a=Gh(t);let i,u;const l=new Map,h=new Set;function g(t){const{key:n}=t;p(e,r,h,n,o);const[,a]=s(e,r,n);if(l.set(n,a),"hasValue"===a.state)return a.contents;throw a.contents}d(e,r,h,o);try{i=n({get:g}),i=$h(i)?g(i):i,uh(i)?i=function(e,n,r,o,a){return n.then((e=>{const n=Ih(e);return E(r,v(o),n),f(n,a),{__value:e,__key:t}})).catch((t=>{if(S(a)&&w(o,a),uh(t))return c(e,t,r,o,a);const n=Nh(t);throw E(r,v(o),n),f(n,a),t}))}(e,i,r,l,o).finally(a):a()}catch(m){i=m,uh(i)?i=c(e,i,r,l,o).finally(a):a()}return u=i instanceof Error?Nh(i):uh(i)?Lh(i):Ih(i),_(u),[u,l]}function v(e){return Array.from(e.entries()).map((([e,t])=>[e,t.contents]))}function g(e,t){const n=Qh(),[r,o]=h(e,t,n);return b(r,o,n,t),function(e,t,n){"loading"!==n.state&&E(e,t,n)}(t,v(o),r),l(e,r,n),r}function m(e,n){const r=function(e,n){var r;if(n.atomValues.has(t))return n.atomValues.get(t);const o=new Set(null!==(r=e.getGraph(n.version).nodeDeps.get(t))&&void 0!==r?r:qh);return d(e,n,o,i.latestExecutionId),a.get((t=>{const[,r]=s(e,n,t);return r.contents}),{onCacheHit:r=>{r!==t&&p(e,n,o,r,i.latestExecutionId)}})}(e,n);return null!=r?(b(r),r):function(e,t){return null!=i.latestLoadable&&null!=i.latestExecutionId&&!function(e,t){var n,r;const o=null!==(n=i.depValuesDiscoveredSoFarDuringAsyncWork)&&void 0!==n?n:new Map,a=Array((null!==(r=y.get(t.version))&&void 0!==r?r:new Map).entries()),u=y.has(t.version)&&a.length===o.size&&a.every((([e,t])=>o.get(e)===t));if(null==o||t.version===i.stateVersion||u)return!1;return y.set(t.version,new Map(o)),Array.from(o).some((([n,r])=>{const[,o]=s(e,t,n);return o.contents!==r.contents&&!("loading"===r.state&&"loading"!==o.state)}))}(e,t)}(e,n)?(l(e,uf(i.latestLoadable),uf(i.latestExecutionId)),uf(i.latestLoadable)):g(e,n)}const y=new Map;function b(e,t,n,r){"loading"===e.state?(i.depValuesDiscoveredSoFarDuringAsyncWork=t,i.latestExecutionId=n,i.latestLoadable=e,i.stateVersion=null==r?void 0:r.version):(i.depValuesDiscoveredSoFarDuringAsyncWork=null,i.latestExecutionId=null,i.latestLoadable=null,i.stateVersion=null)}function w(e,t){S(t)&&(i.depValuesDiscoveredSoFarDuringAsyncWork=e)}function S(e){return e===i.latestExecutionId}function _(e){"loading"!==e.state&&e.contents}function E(e,n,r){e.atomValues.set(t,r),a.set(n,r)}function k(e){if(Yh.includes(t)){const e=`Recoil selector has circular dependencies: ${Yh.slice(Yh.indexOf(t)).join(" → ")}`;return Nh(new Error(e))}Yh.push(t);try{return e()}finally{Yh.pop()}}function R(e,t){return a.get((n=>{const r=Dh(e,t,n);return null==r?void 0:r.contents}))}function x(e,t){return u(e),[new Map,k((()=>m(e,t)))]}function C(e){e.atomValues.delete(t)}if(null!=o){return Uh({key:t,peek:R,get:x,set:function(e,t,n){u(e);const r=new Map,a=new Map;function i({key:n}){const[,r]=s(e,t,n);if("hasValue"===r.state)return r.contents;throw"loading"===r.state?new Vh(n):r.contents}function l(n,r){const o="function"==typeof r?r(i(n)):r,[,u]=jh(e,t,n.key,o);u.forEach(((e,t)=>a.set(t,e)))}return o({set:l,get:i,reset:function(e){l(e,Bh)}},n),[r,a]},cleanUp:()=>{},invalidate:C,dangerouslyAllowMutability:e.dangerouslyAllowMutability,shouldRestoreFromSnapshots:!1})}return Uh({key:t,peek:R,get:x,cleanUp:()=>{},invalidate:C,dangerouslyAllowMutability:e.dangerouslyAllowMutability,shouldRestoreFromSnapshots:!1})};const{loadableWithError:Jh,loadableWithPromise:Zh,loadableWithValue:ev}=dh,{getNodeLoadable:tv,peekNodeLoadable:nv,setNodeValue:rv}=If,{addToDependencyMap:ov,mergeDepsIntoDependencyMap:av,saveDependencyMapToStore:iv}=jf,{DEFAULT_VALUE:uv,RecoilValueNotReady:lv,registerNode:sv}=Cf,{AbstractRecoilValue:cv}=wf,{getRecoilValueAsLoadable:fv,isRecoilValue:dv,setRecoilValueLoadable:pv}=od,{startPerfBlock:hv}=Mh,vv=Object.freeze(new Set);function gv(e){const t=[];for(const n of Array.from(e.keys()).sort()){const r=uf(e.get(n));t.push(n),t.push(r.state),t.push(r.contents)}return t}const mv=new Map;var yv=function(e){const{key:t,get:n,cacheImplementation_UNSTABLE:r}=e,o=null!=e.set?e.set:void 0;let a=null!=r?r:wh();function i(e){e.getState().knownSelectors.add(t)}function u(e,t){if("loading"===t.state){let n=mv.get(t);void 0===n&&mv.set(t,n=new Set),n.add(e)}}function l(e,n){const r=mv.get(e);if(void 0!==r){for(const e of r)pv(e,new cv(t),n);mv.delete(e)}}function s(e,r){var o;const i=new Map,s=null!==(o=e.getGraph(r.version).nodeDeps.get(t))&&void 0!==o?o:vv,c=gv(new Map(Array.from(s).sort().map((t=>{const[n,o]=tv(e,r,t);return av(n,i),iv(i,e,r.version),[t,o]})))),f=a.get(c);if(null!=f)return u(e,f),[i,f];const[d,p,h]=function(e,r){const o=hv(t),a=new Map,i=new Map;function u({key:n}){ov(t,n,i);const[o,u]=tv(e,r,n);if(a.set(n,u),av(o,i),iv(i,e,r.version),"hasValue"===u.state)return u.contents;throw u.contents}try{const e=n({get:u}),t=dv(e)?u(e):e;let r;return uh(t)?r=Zh(t.finally(o)):(o(),r=ev(t)),[i,r,a]}catch(l){let n;return void 0!==l.then?n=Zh(l.then((()=>{const n=fv(e,new cv(t));if("hasError"===n.state)throw n.contents;return n.contents})).finally(o)):(o(),n=Jh(l)),[i,n,a]}}(e,r);av(d,i),iv(i,e,r.version);const v=gv(h);return u(e,p),function(e,n,r){"loading"!==r.state||r.contents.then((e=>{const t=ev(e);return a=a.set(n,t),l(r,t),e})).catch((e=>{if(uh(e))return e;const t=Jh(e);return a=a.set(n,t),l(r,t),e})),a=a.set(n,r),"loading"!==r.state&&e.atomValues.set(t,r)}(r,v,p),[i,p]}function c(e,n){var r;const o=null!==(r=e.getGraph(n.version).nodeDeps.get(t))&&void 0!==r?r:vv,i=new Map(Array.from(o).sort().map((t=>[t,nv(e,n,t)]))),u=new Map;for(const[t,a]of i.entries()){if(null==a)return;u.set(t,a)}const l=gv(u);return a.get(l)}function f(e){e.atomValues.delete(t)}function d(e,n){i(e);const r=n.atomValues.get(t);return void 0!==r?[new Map,r]:s(e,n)}if(null!=o){return sv({key:t,peek:c,get:d,set:function(e,t,n){i(e);const r=new Map,a=new Map;function u({key:n}){const[o,a]=tv(e,t,n);if(av(o,r),"hasValue"===a.state)return a.contents;throw"loading"===a.state?new lv(n):a.contents}function l(n,o){const i="function"==typeof o?o(u(n)):o,[l,s]=rv(e,t,n.key,i);av(l,r),s.forEach(((e,t)=>a.set(t,e)))}return o({set:l,get:u,reset:function(e){l(e,uv)}},n),[r,a]},invalidate:f,cleanUp:()=>{},dangerouslyAllowMutability:e.dangerouslyAllowMutability,shouldRestoreFromSnapshots:!1})}return sv({key:t,peek:c,get:d,invalidate:f,cleanUp:()=>{},dangerouslyAllowMutability:e.dangerouslyAllowMutability,shouldRestoreFromSnapshots:!1})};var bv=of("recoil_async_selector_refactor")?Xh:yv;const{loadableWithError:wv,loadableWithPromise:Sv,loadableWithValue:_v}=dh,{DEFAULT_VALUE:Ev,DefaultValue:kv,registerNode:Rv}=Cf,{isRecoilValue:xv}=wf,{markRecoilValueModified:Cv,setRecoilValue:Tv,setRecoilValueLoadable:Pv}=od;function Ov(e){const{key:t,persistence_UNSTABLE:n}=e;let r,o=uh(e.default)?Sv(e.default.then((e=>{o=_v(e);return{__key:t,__value:e}})).catch((e=>{throw o=wv(e),e}))):_v(e.default);const a=new Map;function i(n,r,i){if(n.getState().knownAtoms.has(t))return;if(n.getState().knownAtoms.add(t),"loading"===o.state){function l(){var e;(null!==(e=n.getState().nextTree)&&void 0!==e?e:n.getState().currentTree).atomValues.has(t)||Cv(n,u)}o.contents.then(l).catch(l)}let s=Ev,c=null;if(null!=e.effects_UNSTABLE){let r=!0;const l=e=>t=>{if(r){const e=s instanceof kv||uh(s)?"hasValue"===o.state?o.contents:Ev:s;s="function"==typeof t?t(e):t}else{if(uh(t))throw new Error("Setting atoms to async values is not implemented.");"function"!=typeof t&&(c={effect:e,value:t}),Tv(n,u,"function"==typeof t?n=>{const r=t(n);return c={effect:e,value:r},r}:t)}},d=e=>()=>l(e)(Ev),p=e=>r=>{n.subscribeToTransactions((n=>{var a;let{currentTree:i,previousTree:u}=n.getState();u||(u=i);const l=i.atomValues.get(t);if(null==l||"hasValue"===l.state){var s,f,d;const n=null!=l?l.contents:Ev,a=null!==(s=u.atomValues.get(t))&&void 0!==s?s:o,i="hasValue"===a.state?a.contents:Ev;(null===(f=c)||void 0===f?void 0:f.effect)===e&&(null===(d=c)||void 0===d?void 0:d.value)===n||r(n,i)}(null===(a=c)||void 0===a?void 0:a.effect)===e&&(c=null)}),t)};for(const t of null!==(f=e.effects_UNSTABLE)&&void 0!==f?f:[]){var f;const e=t({node:u,trigger:i,setSelf:l(t),resetSelf:d(t),onSet:p(t)});null!=e&&a.set(n,e)}r=!1}s instanceof kv||r.atomValues.set(t,uh(s)?Sv(function(e,n){const r=n.then((n=>{var o,a;return(null===(a=(null!==(o=e.getState().nextTree)&&void 0!==o?o:e.getState().currentTree).atomValues.get(t))||void 0===a?void 0:a.contents)===r&&Tv(e,u,n),{__key:t,__value:n}})).catch((n=>{var o,a;throw(null===(a=(null!==(o=e.getState().nextTree)&&void 0!==o?o:e.getState().currentTree).atomValues.get(t))||void 0===a?void 0:a.contents)===r&&Pv(e,u,wv(n)),n}));return r}(n,s)):_v(s))}const u=Rv({key:t,peek:function(e,n){var a,i,u;return null!==(a=null!==(i=n.atomValues.get(t))&&void 0!==i?i:null===(u=r)||void 0===u?void 0:u[1])&&void 0!==a?a:o},get:function(e,a){if(i(e,a,"get"),a.atomValues.has(t))return[new Map,uf(a.atomValues.get(t))];if(a.nonvalidatedAtoms.has(t)){if(null!=r)return r;if(null==n)return[new Map,o];const e=a.nonvalidatedAtoms.get(t),i=n.validator(e,Ev),u=i instanceof kv?o:_v(i);return r=[new Map,u],r}return[new Map,o]},set:function(e,n,o){if(i(e,n,"set"),n.atomValues.has(t)){const e=uf(n.atomValues.get(t));if("hasValue"===e.state&&o===e.contents)return[new Map,new Map]}else if(!n.nonvalidatedAtoms.has(t)&&o instanceof kv)return[new Map,new Map];return r=void 0,[new Map,(new Map).set(t,_v(o))]},cleanUp:function(e){var t;null===(t=a.get(e))||void 0===t||t(),a.delete(e)},invalidate:function(){r=void 0},dangerouslyAllowMutability:e.dangerouslyAllowMutability,persistence_UNSTABLE:e.persistence_UNSTABLE?{type:e.persistence_UNSTABLE.type,backButton:e.persistence_UNSTABLE.backButton}:void 0,shouldRestoreFromSnapshots:!0});return u}function Av(o){const{default:a}=o,i=((r,o)=>{var a={};for(var i in r)e.call(r,i)&&o.indexOf(i)<0&&(a[i]=r[i]);if(null!=r&&t)for(var i of t(r))o.indexOf(i)<0&&n.call(r,i)&&(a[i]=r[i]);return a})(o,["default"]);return xv(a)?function(e){const t=Av(r(r({},e),{default:Ev,persistence_UNSTABLE:void 0===e.persistence_UNSTABLE?void 0:r(r({},e.persistence_UNSTABLE),{validator:t=>t instanceof kv?t:uf(e.persistence_UNSTABLE).validator(t,Ev)}),effects_UNSTABLE:e.effects_UNSTABLE}));return bv({key:`${e.key}__withFallback`,get:({get:n})=>{const r=n(t);return r instanceof kv?e.default:r},set:({set:e},n)=>e(t,n),dangerouslyAllowMutability:e.dangerouslyAllowMutability})}(r(r({},i),{default:a})):Ov(r(r({},i),{default:a}))}var Mv=Av;let Nv=0;var Lv=function(e){var t,n;let r=null!==(t=null===(n=e.cacheImplementationForParams_UNSTABLE)||void 0===n?void 0:n.call(e))&&void 0!==t?t:Eh();return t=>{var n,o;const a=r.get(t);if(null!=a)return a;const i=`${e.key}__selectorFamily/${null!==(n=_h(t,{allowFunctions:!0}))&&void 0!==n?n:"void"}/${Nv++}`,u=n=>e.get(t)(n),l=null===(o=e.cacheImplementation_UNSTABLE)||void 0===o?void 0:o.call(e);let s;if(null!=e.set){const n=e.set;s=bv({key:i,get:u,set:(e,r)=>n(t)(e,r),cacheImplementation_UNSTABLE:l,dangerouslyAllowMutability:e.dangerouslyAllowMutability})}else s=bv({key:i,get:u,cacheImplementation_UNSTABLE:l,dangerouslyAllowMutability:e.dangerouslyAllowMutability});return r=r.set(t,s),s}};const{DEFAULT_VALUE:Iv,DefaultValue:zv}=Cf;var Dv=function(e){let t=Eh();const n={key:e.key,default:Iv,persistence_UNSTABLE:e.persistence_UNSTABLE};let o;o=Mv(n);const a=Lv({key:`${e.key}__atomFamily/Default`,get:t=>({get:n})=>{const r=n("function"==typeof o?o(t):o);return r instanceof zv?"function"==typeof e.default?e.default(t):e.default:r},dangerouslyAllowMutability:e.dangerouslyAllowMutability});return n=>{var o;const i=t.get(n);if(null!=i)return i;const u=Mv(r(r({},e),{key:`${e.key}__${null!==(o=_h(n))&&void 0!==o?o:"void"}`,default:a(n),effects_UNSTABLE:"function"==typeof e.effects_UNSTABLE?e.effects_UNSTABLE(n):e.effects_UNSTABLE}));return t=t.set(n,u),u}};const jv=Lv({key:"__constant",get:e=>()=>e,cacheImplementationForParams_UNSTABLE:wh});var Fv=function(e){return jv(e)};const Bv=Lv({key:"__error",get:e=>()=>{throw new Error(e)},cacheImplementationForParams_UNSTABLE:wh});var Vv=function(e){return Bv(e)};var Uv=function(e){return e};const{loadableWithError:$v,loadableWithPromise:Wv,loadableWithValue:Hv}=dh;function Gv(e,t){const n=Array(t.length).fill(void 0),r=Array(t.length).fill(void 0);for(const[a,i]of t.entries())try{n[a]=e(i)}catch(o){r[a]=o}return[n,r]}function qv(e){return null!=e&&!uh(e)}function Yv(e){return Array.isArray(e)?e:Object.getOwnPropertyNames(e).map((t=>e[t]))}function Kv(e){return null!=e&&"object"==typeof e&&e.hasOwnProperty("__value")?e.__value:e}function Qv(e,t){return Array.isArray(e)?t:Object.getOwnPropertyNames(e).reduce(((e,n,o)=>r(r({},e),{[n]:t[o]})),{})}function Xv(e,t,n){return Qv(e,n.map(((e,n)=>null==e?Hv(t[n]):uh(e)?Wv(e):$v(e))))}var Jv={waitForNone:Lv({key:"__waitForNone",get:e=>({get:t})=>{const n=Yv(e),[r,o]=Gv(t,n);return Xv(e,r,o)}}),waitForAny:Lv({key:"__waitForAny",get:e=>({get:t})=>{const n=Yv(e),[r,o]=Gv(t,n);if(o.some((e=>null==e)))return Xv(e,r,o);if(o.every(qv))throw o.find(qv);if(of("recoil_async_selector_refactor"))return new Promise(((t,n)=>{for(const[a,i]of o.entries())uh(i)&&i.then((n=>{r[a]=Kv(n),o[a]=null,t(Xv(e,r,o))})).catch((e=>{o[a]=e,o.every(qv)&&n(o[0])}))}));throw new Promise(((t,n)=>{for(const[a,i]of o.entries())uh(i)&&i.then((n=>{r[a]=n,o[a]=null,t(Xv(e,r,o))})).catch((e=>{o[a]=e,o.every(qv)&&n(o[0])}))}))}}),waitForAll:Lv({key:"__waitForAll",get:e=>({get:t})=>{const n=Yv(e),[r,o]=Gv(t,n);if(o.every((e=>null==e)))return Qv(e,r);const a=o.find(qv);if(null!=a)throw a;if(of("recoil_async_selector_refactor"))return Promise.all(o).then((t=>{return Qv(e,(n=r,o=t,o.map(((e,t)=>void 0===e?n[t]:e))).map(Kv));var n,o}));throw Promise.all(o).then((t=>Qv(e,t)))}}),noWait:Lv({key:"__noWait",get:e=>({get:t})=>{try{return Hv(t(e))}catch(n){return uh(n)?Wv(n):$v(n)}}})};const{batchUpdates:Zv,setBatcher:eg}=cd,{DefaultValue:tg}=Cf,{RecoilRoot:ng}=vp,{isRecoilValue:rg}=wf,{freshSnapshot:og}=Bd,{useGotoRecoilSnapshot:ag,useRecoilCallback:ig,useRecoilSnapshot:ug,useRecoilState:lg,useRecoilStateLoadable:sg,useRecoilTransactionObserver:cg,useRecoilValue:fg,useRecoilValueLoadable:dg,useResetRecoilState:pg,useSetRecoilState:hg,useSetUnvalidatedAtomValues:vg,useTransactionObservation_DEPRECATED:gg}=nh,{noWait:mg,waitForAll:yg,waitForAny:bg,waitForNone:wg}=Jv;var Sg={DefaultValue:tg,RecoilRoot:ng,useRecoilBridgeAcrossReactRoots_UNSTABLE:ih,atom:Mv,selector:bv,atomFamily:Dv,selectorFamily:Lv,constSelector:Fv,errorSelector:Vv,readOnlySelector:Uv,useRecoilValue:fg,useRecoilValueLoadable:dg,useRecoilState:lg,useRecoilStateLoadable:sg,useSetRecoilState:hg,useResetRecoilState:pg,useRecoilCallback:ig,useGotoRecoilSnapshot:ag,useRecoilSnapshot:ug,useRecoilTransactionObserver_UNSTABLE:cg,useTransactionObservation_UNSTABLE:gg,useSetUnvalidatedAtomValues_UNSTABLE:vg,noWait:mg,waitForNone:wg,waitForAny:bg,waitForAll:yg,isRecoilValue:rg,batchUpdates:Zv,setBatcher:eg,snapshot_UNSTABLE:og},_g=Sg.RecoilRoot,Eg=Sg.atom,kg=Sg.selector,Rg=Sg.useRecoilValue,xg=Sg.useRecoilState,Cg=o((function(e){!function(){var t={}.hasOwnProperty;function n(){for(var e=[],r=0;r1?t-1:0),r=1;r3?t.i-4:t.i:Array.isArray(e)?1:zg(e)?2:Dg(e)?3:0}function Lg(e,t){return 2===Ng(e)?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function Ig(e,t,n){var r=Ng(e);2===r?e.set(t,n):3===r?(e.delete(t),e.add(n)):e[t]=n}function zg(e){return cm&&e instanceof Map}function Dg(e){return fm&&e instanceof Set}function jg(e){return e.o||e.t}function Fg(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=mm(e);delete t[vm];for(var n=gm(t),r=0;r1&&(e.set=e.add=e.clear=e.delete=Vg),Object.freeze(e),t&&Mg(e,(function(e,t){return Bg(t,!0)}),!0)),e}function Vg(){Pg(2)}function Ug(e){return null==e||"object"!=typeof e||Object.isFrozen(e)}function $g(e){var t=ym[e];return t||Pg(18,e),t}function Wg(){return lm}function Hg(e,t){t&&($g("Patches"),e.u=[],e.s=[],e.v=t)}function Gg(e){qg(e),e.p.forEach(Kg),e.p=null}function qg(e){e===lm&&(lm=e.l)}function Yg(e){return lm={p:[],l:lm,h:e,m:!0,_:0}}function Kg(e){var t=e[vm];0===t.i||1===t.i?t.j():t.g=!0}function Qg(e,t){t._=t.p.length;var n=t.p[0],r=void 0!==e&&e!==n;return t.h.O||$g("ES5").S(t,e,r),r?(n[vm].P&&(Gg(t),Pg(4)),Ag(e)&&(e=Xg(t,e),t.l||Zg(t,e)),t.u&&$g("Patches").M(n[vm],e,t.u,t.s)):e=Xg(t,n,[]),Gg(t),t.u&&t.v(t.u,t.s),e!==pm?e:void 0}function Xg(e,t,n){if(Ug(t))return t;var r=t[vm];if(!r)return Mg(t,(function(o,a){return Jg(e,r,t,o,a,n)}),!0),t;if(r.A!==e)return t;if(!r.P)return Zg(e,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var o=4===r.i||5===r.i?r.o=Fg(r.k):r.o;Mg(3===r.i?new Set(o):o,(function(t,a){return Jg(e,r,o,t,a,n)})),Zg(e,o,!1),n&&e.u&&$g("Patches").R(r,n,e.u,e.s)}return r.o}function Jg(e,t,n,r,o,a){if(Og(o)){var i=Xg(e,o,a&&t&&3!==t.i&&!Lg(t.D,r)?a.concat(r):void 0);if(Ig(n,r,i),!Og(i))return;e.m=!1}if(Ag(o)&&!Ug(o)){if(!e.h.N&&e._<1)return;Xg(e,o),t&&t.A.l||Zg(e,o)}}function Zg(e,t,n){void 0===n&&(n=!1),e.h.N&&e.m&&Bg(t,n)}function em(e,t){var n=e[vm];return(n?jg(n):e)[t]}function tm(e,t){if(t in e)for(var n=Object.getPrototypeOf(e);n;){var r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=Object.getPrototypeOf(n)}}function nm(e){e.P||(e.P=!0,e.l&&nm(e.l))}function rm(e){e.o||(e.o=Fg(e.t))}function om(e,t,n){var r=zg(t)?$g("MapSet").T(t,n):Dg(t)?$g("MapSet").F(t,n):e.O?function(e,t){var n=Array.isArray(e),r={i:n?1:0,A:t?t.A:Wg(),P:!1,I:!1,D:{},l:t,t:e,k:null,o:null,j:null,C:!1},o=r,a=bm;n&&(o=[r],a=wm);var i=Proxy.revocable(o,a),u=i.revoke,l=i.proxy;return r.k=l,r.j=u,l}(t,n):$g("ES5").J(t,n);return(n?n.A:Wg()).p.push(r),r}function am(e){return Og(e)||Pg(22,e),function e(t){if(!Ag(t))return t;var n,r=t[vm],o=Ng(t);if(r){if(!r.P&&(r.i<4||!$g("ES5").K(r)))return r.t;r.I=!0,n=im(t,o),r.I=!1}else n=im(t,o);return Mg(n,(function(t,o){r&&function(e,t){return 2===Ng(e)?e.get(t):e[t]}(r.t,t)===o||Ig(n,t,e(o))})),3===o?new Set(n):n}(e)}function im(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return Fg(e)}var um,lm,sm="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),cm="undefined"!=typeof Map,fm="undefined"!=typeof Set,dm="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,pm=sm?Symbol.for("immer-nothing"):((um={})["immer-nothing"]=!0,um),hm=sm?Symbol.for("immer-draftable"):"__$immer_draftable",vm=sm?Symbol.for("immer-state"):"__$immer_state",gm="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,mm=Object.getOwnPropertyDescriptors||function(e){var t={};return gm(e).forEach((function(n){t[n]=Object.getOwnPropertyDescriptor(e,n)})),t},ym={},bm={get:function(e,t){if(t===vm)return e;var n,r,o,a=jg(e);if(!Lg(a,t))return n=e,(o=tm(a,t))?"value"in o?o.value:null===(r=o.get)||void 0===r?void 0:r.call(n.k):void 0;var i=a[t];return e.I||!Ag(i)?i:i===em(e.t,t)?(rm(e),e.o[t]=om(e.A.h,i,e)):i},has:function(e,t){return t in jg(e)},ownKeys:function(e){return Reflect.ownKeys(jg(e))},set:function(e,t,n){var r=tm(jg(e),t);if(null==r?void 0:r.set)return r.set.call(e.k,n),!0;if(!e.P){var o=em(jg(e),t),a=null==o?void 0:o[vm];if(a&&a.t===n)return e.o[t]=n,e.D[t]=!1,!0;if(function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}(n,o)&&(void 0!==n||Lg(e.t,t)))return!0;rm(e),nm(e)}return e.o[t]=n,e.D[t]=!0,!0},deleteProperty:function(e,t){return void 0!==em(e.t,t)||t in e.t?(e.D[t]=!1,rm(e),nm(e)):delete e.D[t],e.o&&delete e.o[t],!0},getOwnPropertyDescriptor:function(e,t){var n=jg(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{writable:!0,configurable:1!==e.i||"length"!==t,enumerable:r.enumerable,value:n[t]}:r},defineProperty:function(){Pg(11)},getPrototypeOf:function(e){return Object.getPrototypeOf(e.t)},setPrototypeOf:function(){Pg(12)}},wm={};Mg(bm,(function(e,t){wm[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}})),wm.deleteProperty=function(e,t){return bm.deleteProperty.call(this,e[0],t)},wm.set=function(e,t,n){return bm.set.call(this,e[0],t,n,e[0])};var Sm=new(function(){function e(e){this.O=dm,this.N=!0,"boolean"==typeof(null==e?void 0:e.useProxies)&&this.setUseProxies(e.useProxies),"boolean"==typeof(null==e?void 0:e.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),this.produce=this.produce.bind(this),this.produceWithPatches=this.produceWithPatches.bind(this)}var t=e.prototype;return t.produce=function(e,t,n){if("function"==typeof e&&"function"!=typeof t){var r=t;t=e;var o=this;return function(e){var n=this;void 0===e&&(e=r);for(var a=arguments.length,i=Array(a>1?a-1:0),u=1;u1?n-1:0),a=1;a=0;n--){var r=t[n];if(0===r.path.length&&"replace"===r.op){e=r.value;break}}var o=$g("Patches").$;return Og(e)?o(e,t):this.produce(e,(function(e){return o(e,t.slice(n+1))}))},e}()),_m=Sm.produce;function Em(e){var t=f.useState(e),n=t[1];return[t[0],f.useCallback((function(e){n(_m(e))}),[])]}Sm.produceWithPatches.bind(Sm),Sm.setAutoFreeze.bind(Sm),Sm.setUseProxies.bind(Sm),Sm.applyPatches.bind(Sm),Sm.createDraft.bind(Sm),Sm.finishDraft.bind(Sm);var km="object"==typeof global&&global&&global.Object===Object&&global,Rm="object"==typeof self&&self&&self.Object===Object&&self,xm=km||Rm||Function("return this")(),Cm=xm.Symbol,Tm=Object.prototype,Pm=Tm.hasOwnProperty,Om=Tm.toString,Am=Cm?Cm.toStringTag:void 0;var Mm=Object.prototype.toString;var Nm=Cm?Cm.toStringTag:void 0;function Lm(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Nm&&Nm in Object(e)?function(e){var t=Pm.call(e,Am),n=e[Am];try{e[Am]=void 0;var r=!0}catch(a){}var o=Om.call(e);return r&&(t?e[Am]=n:delete e[Am]),o}(e):function(e){return Mm.call(e)}(e)}function Im(e){return null!=e&&"object"==typeof e}function zm(e){return"symbol"==typeof e||Im(e)&&"[object Symbol]"==Lm(e)}var Dm=Array.isArray,jm=Cm?Cm.prototype:void 0,Fm=jm?jm.toString:void 0;function Bm(e){if("string"==typeof e)return e;if(Dm(e))return function(e,t){for(var n=-1,r=null==e?0:e.length,o=Array(r);++n-1&&e%1==0&&e-1&&e%1==0&&e<=9007199254740991}function sy(e){return null!=e&&ly(e.length)&&!$m(e)}var cy=Object.prototype;function fy(e){return Im(e)&&"[object Arguments]"==Lm(e)}var dy=Object.prototype,py=dy.hasOwnProperty,hy=dy.propertyIsEnumerable,vy=fy(function(){return arguments}())?fy:function(e){return Im(e)&&py.call(e,"callee")&&!hy.call(e,"callee")};var gy="object"==typeof exports&&exports&&!exports.nodeType&&exports,my=gy&&"object"==typeof module&&module&&!module.nodeType&&module,yy=my&&my.exports===gy?xm.Buffer:void 0,by=(yy?yy.isBuffer:void 0)||function(){return!1},wy={};wy["[object Float32Array]"]=wy["[object Float64Array]"]=wy["[object Int8Array]"]=wy["[object Int16Array]"]=wy["[object Int32Array]"]=wy["[object Uint8Array]"]=wy["[object Uint8ClampedArray]"]=wy["[object Uint16Array]"]=wy["[object Uint32Array]"]=!0,wy["[object Arguments]"]=wy["[object Array]"]=wy["[object ArrayBuffer]"]=wy["[object Boolean]"]=wy["[object DataView]"]=wy["[object Date]"]=wy["[object Error]"]=wy["[object Function]"]=wy["[object Map]"]=wy["[object Number]"]=wy["[object Object]"]=wy["[object RegExp]"]=wy["[object Set]"]=wy["[object String]"]=wy["[object WeakMap]"]=!1;var Sy,_y="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ey=_y&&"object"==typeof module&&module&&!module.nodeType&&module,ky=Ey&&Ey.exports===_y&&km.process,Ry=function(){try{var e=Ey&&Ey.require&&Ey.require("util").types;return e||ky&&ky.binding&&ky.binding("util")}catch(t){}}(),xy=Ry&&Ry.isTypedArray,Cy=xy?(Sy=xy,function(e){return Sy(e)}):function(e){return Im(e)&&ly(e.length)&&!!wy[Lm(e)]},Ty=Object.prototype.hasOwnProperty;function Py(e,t){var n=Dm(e),r=!n&&vy(e),o=!n&&!r&&by(e),a=!n&&!r&&!o&&Cy(e),i=n||r||o||a,u=i?function(e,t){for(var n=-1,r=Array(e);++n-1},$y.prototype.set=function(e,t){var n=this.__data__,r=Vy(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this};var Wy=ny(xm,"Map");function Hy(e,t){var n,r,o=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?o["string"==typeof t?"string":"hash"]:o.map}function Gy(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=r?e:function(e,t,n){var r=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var a=Array(o);++ru))return!1;var s=a.get(e),c=a.get(t);if(s&&c)return s==t&&c==e;var f=-1,d=!0,p=2&n?new Ib:void 0;for(a.set(e,t),a.set(t,e);++f-1&&(t.__listeners[r]=t.__listeners[t.__listeners.length-1],t.__listeners.length--)}}},e.prototype.notify=function(){for(var e=0,t=this.__listeners;en.errorRetryCount)){var a=Math.min(o.retryCount||0,8),i=~~((Math.random()+.5)*(1<0&&o[o.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]0));return Promise.all(c).then((function(){return dw.get(r)}))}return Promise.resolve(dw.get(r))},Mw=function(e,t,n,r){var o=xw[e];if(e&&o)for(var a=0;a0));return[2,Promise.all(h).then((function(){if(s)throw s;return dw.get(o)}))]}if(s)throw s;return[2,l]}}))}))};function Lw(){for(var e=this,t=[],n=0;n=1&&(r=t[0]),t.length>2?(o=t[1],a=t[2]):"function"==typeof t[1]?o=t[1]:"object"==typeof t[1]&&(a=t[1]);var i=dw.serializeKey(r),u=i[0],l=i[1],s=i[2],c=i[3];a=Object.assign({},hw,f.useContext(vw),a);var d=f.useRef(a);Sw((function(){d.current=a})),void 0===o&&(o=a.fetcher);var p=function(){var e=dw.get(u);return void 0===e?a.initialData:e},h=p(),v=dw.get(s),g=!!dw.get(c),m=f.useRef({data:!1,error:!1,isValidating:!1}),y=f.useRef({data:h,error:v,isValidating:g});f.useDebugValue(y.current.data);var b=f.useState(null),w=b[1],S=f.useCallback((function(e){var t=!1;for(var n in e)y.current[n]!==e[n]&&(y.current[n]=e[n],m.current[n]&&(t=!0));if(t||a.suspense){if(_.current||!k.current)return;w({})}}),[]),_=f.useRef(!1),E=f.useRef(u),k=f.useRef(!1),R=f.useCallback((function(e){for(var t,n=[],r=1;r=0&&(n[r]=n[n.length-1],n.pop())}},P=f.useCallback((function(t){return void 0===t&&(t={}),mw(e,void 0,void 0,(function(){var e,n,r,i,f,p,h;return yw(this,(function(v){switch(v.label){case 0:if(!u||!o)return[2,!1];if(_.current)return[2,!1];if(d.current.isPaused())return[2,!1];t=Object.assign({dedupe:!1},t),e=!0,n=void 0!==_w[u]&&t.dedupe,v.label=1;case 1:return v.trys.push([1,6,,7]),S({isValidating:!0}),dw.set(c,!0),n||Mw(u,y.current.data,y.current.error,!0),r=void 0,i=void 0,n?(i=Ew[u],[4,_w[u]]):[3,3];case 2:return r=v.sent(),[3,5];case 3:return a.loadingTimeout&&!dw.get(u)&&setTimeout((function(){e&&R("onLoadingSlow",u,a)}),a.loadingTimeout),_w[u]=null!==l?o.apply(void 0,l):o(u),Ew[u]=i=Pw(),[4,_w[u]];case 4:r=v.sent(),setTimeout((function(){delete _w[u],delete Ew[u]}),a.dedupingInterval),R("onSuccess",r,u,a),v.label=5;case 5:return Ew[u]>i?[2,!1]:Cw[u]&&(i<=Cw[u]||i<=Tw[u]||0===Tw[u])?(S({isValidating:!1}),[2,!1]):(dw.set(u,r),dw.set(s,void 0),dw.set(c,!1),f={isValidating:!1},void 0!==y.current.error&&(f.error=void 0),a.compare(y.current.data,r)||(f.data=r),S(f),n||Mw(u,r,f.error,!1),[3,7]);case 6:return p=v.sent(),delete _w[u],delete Ew[u],d.current.isPaused()?(S({isValidating:!1}),[2,!1]):(dw.set(s,p),y.current.error!==p&&(S({isValidating:!1,error:p}),n||Mw(u,void 0,p,!1)),R("onError",p,u,a),a.shouldRetryOnError&&(h=(t.retryCount||0)+1,R("onErrorRetry",p,u,a,P,Object.assign({dedupe:!0},t,{retryCount:h}))),[3,7]);case 7:return e=!1,[2,!0]}}))}))}),[u]);Sw((function(){if(u){_.current=!1,k.current=!0;var e=y.current.data,t=p();E.current!==u&&(E.current=u),a.compare(e,t)||S({data:t});var n=function(){return P({dedupe:!0})};(a.revalidateOnMount||!a.initialData&&void 0===a.revalidateOnMount)&&(void 0===t||bw?n():ww(n));var r=!1,o=function(){!r&&d.current.revalidateOnFocus&&(r=!0,n(),setTimeout((function(){return r=!1}),d.current.focusThrottleInterval))},i=function(){d.current.revalidateOnReconnect&&n()},l=function(e,t,r,o,i){void 0===e&&(e=!0),void 0===i&&(i=!0);var u={},l=!1;return void 0===t||a.compare(y.current.data,t)||(u.data=t,l=!0),y.current.error!==r&&(u.error=r,l=!0),void 0!==o&&y.current.isValidating!==o&&(u.isValidating=o,l=!0),l&&S(u),!!e&&(i?n():P())};return C(kw,o),C(Rw,i),C(xw,l),function(){S=function(){return null},_.current=!0,T(kw,o),T(Rw,i),T(xw,l)}}}),[u,P]),Sw((function(){var t=null,n=function(){return mw(e,void 0,void 0,(function(){return yw(this,(function(e){switch(e.label){case 0:return y.current.error||!d.current.refreshWhenHidden&&!d.current.isDocumentVisible()||!d.current.refreshWhenOffline&&!d.current.isOnline()?[3,2]:[4,P({dedupe:!0})];case 1:e.sent(),e.label=2;case 2:return d.current.refreshInterval&&t&&(t=setTimeout(n,d.current.refreshInterval)),[2]}}))}))};return d.current.refreshInterval&&(t=setTimeout(n,d.current.refreshInterval)),function(){t&&(clearTimeout(t),t=null)}}),[a.refreshInterval,a.refreshWhenHidden,a.refreshWhenOffline,P]);var O=f.useMemo((function(){var e={revalidate:P,mutate:x};return Object.defineProperties(e,{error:{get:function(){return m.current.error=!0,E.current===u?y.current.error:v},enumerable:!0},data:{get:function(){return m.current.data=!0,E.current===u?y.current.data:h},enumerable:!0},isValidating:{get:function(){return m.current.isValidating=!0,!!u&&y.current.isValidating},enumerable:!0}}),e}),[P,h,v,x,u]);if(a.suspense){var A=dw.get(u),M=dw.get(s);if(void 0===A&&(A=h),void 0===M&&(M=v),void 0===A&&void 0===M){if(_w[u]||P(),_w[u]&&"function"==typeof _w[u].then)throw _w[u];A=_w[u]}if(void 0===A&&M)throw M;return{error:M,data:A,revalidate:P,mutate:x,isValidating:y.current.isValidating}}return O}vw.Provider;var Iw=function(e,t){return function(){for(var n=new Array(arguments.length),r=0;r=0)return;l[o]="set-cookie"===o?(l[o]?l[o]:[]).concat([i]):l[o]?l[o]+", "+i:i}})),l):l):null,c={data:e.responseType&&"text"!==e.responseType?a.response:a.responseText,status:a.status,statusText:a.statusText,headers:s,config:e,request:a};!function(e,t,n){var r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(Xw("Request failed with status code "+n.status,n.config,null,n.request,n)):e(n)}(t,n,c),a=null}},a.onabort=function(){a&&(n(Xw("Request aborted",e,"ECONNABORTED",a)),a=null)},a.onerror=function(){n(Xw("Network Error",e,null,a)),a=null},a.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(Xw(t,e,"ECONNABORTED",a)),a=null},$w.isStandardBrowserEnv()){var f=(e.withCredentials||eS(c))&&e.xsrfCookieName?Jw.read(e.xsrfCookieName):void 0;f&&(o[e.xsrfHeaderName]=f)}if("setRequestHeader"in a&&$w.forEach(o,(function(e,t){void 0===r&&"content-type"===t.toLowerCase()?delete o[t]:a.setRequestHeader(t,e)})),$w.isUndefined(e.withCredentials)||(a.withCredentials=!!e.withCredentials),e.responseType)try{a.responseType=e.responseType}catch(d){if("json"!==e.responseType)throw d}"function"==typeof e.onDownloadProgress&&a.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&a.upload&&a.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){a&&(a.abort(),n(e),a=null)})),r||(r=null),a.send(r)}))},nS={"Content-Type":"application/x-www-form-urlencoded"};function rS(e,t){!$w.isUndefined(e)&&$w.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var oS,aS={adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(oS=tS),oS),transformRequest:[function(e,t){return Qw(t,"Accept"),Qw(t,"Content-Type"),$w.isFormData(e)||$w.isArrayBuffer(e)||$w.isBuffer(e)||$w.isStream(e)||$w.isFile(e)||$w.isBlob(e)?e:$w.isArrayBufferView(e)?e.buffer:$w.isURLSearchParams(e)?(rS(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):$w.isObject(e)?(rS(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(t){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&e<300}};aS.headers={common:{Accept:"application/json, text/plain, */*"}},$w.forEach(["delete","get","head"],(function(e){aS.headers[e]={}})),$w.forEach(["post","put","patch"],(function(e){aS.headers[e]=$w.merge(nS)}));var iS=aS;function uS(e){e.cancelToken&&e.cancelToken.throwIfRequested()}var lS=function(e){return uS(e),e.headers=e.headers||{},e.data=Yw(e.data,e.headers,e.transformRequest),e.headers=$w.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),$w.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]})),(e.adapter||iS.adapter)(e).then((function(t){return uS(e),t.data=Yw(t.data,t.headers,e.transformResponse),t}),(function(t){return Kw(t)||(uS(e),t&&t.response&&(t.response.data=Yw(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))},sS=function(e,t){t=t||{};var n={},r=["url","method","data"],o=["headers","auth","proxy","params"],a=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],i=["validateStatus"];function u(e,t){return $w.isPlainObject(e)&&$w.isPlainObject(t)?$w.merge(e,t):$w.isPlainObject(t)?$w.merge({},t):$w.isArray(t)?t.slice():t}function l(r){$w.isUndefined(t[r])?$w.isUndefined(e[r])||(n[r]=u(void 0,e[r])):n[r]=u(e[r],t[r])}$w.forEach(r,(function(e){$w.isUndefined(t[e])||(n[e]=u(void 0,t[e]))})),$w.forEach(o,l),$w.forEach(a,(function(r){$w.isUndefined(t[r])?$w.isUndefined(e[r])||(n[r]=u(void 0,e[r])):n[r]=u(void 0,t[r])})),$w.forEach(i,(function(r){r in t?n[r]=u(e[r],t[r]):r in e&&(n[r]=u(void 0,e[r]))}));var s=r.concat(o).concat(a).concat(i),c=Object.keys(e).concat(Object.keys(t)).filter((function(e){return-1===s.indexOf(e)}));return $w.forEach(c,l),n};function cS(e){this.defaults=e,this.interceptors={request:new qw,response:new qw}}cS.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=sS(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=[lS,void 0],n=Promise.resolve(e);for(this.interceptors.request.forEach((function(e){t.unshift(e.fulfilled,e.rejected)})),this.interceptors.response.forEach((function(e){t.push(e.fulfilled,e.rejected)}));t.length;)n=n.then(t.shift(),t.shift());return n},cS.prototype.getUri=function(e){return e=sS(this.defaults,e),Hw(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},$w.forEach(["delete","get","head","options"],(function(e){cS.prototype[e]=function(t,n){return this.request(sS(n||{},{method:e,url:t,data:(n||{}).data}))}})),$w.forEach(["post","put","patch"],(function(e){cS.prototype[e]=function(t,n,r){return this.request(sS(r||{},{method:e,url:t,data:n}))}}));var fS=cS;function dS(e){this.message=e}dS.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},dS.prototype.__CANCEL__=!0;var pS=dS;function hS(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var n=this;e((function(e){n.reason||(n.reason=new pS(e),t(n.reason))}))}hS.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},hS.source=function(){var e;return{token:new hS((function(t){e=t})),cancel:e}};var vS=hS;function gS(e){var t=new fS(e),n=Iw(fS.prototype.request,t);return $w.extend(n,fS.prototype,t),$w.extend(n,t),n}var mS=gS(iS);mS.Axios=fS,mS.create=function(e){return gS(sS(mS.defaults,e))},mS.Cancel=pS,mS.CancelToken=vS,mS.isCancel=Kw,mS.all=function(e){return Promise.all(e)},mS.spread=function(e){return function(t){return e.apply(null,t)}},mS.isAxiosError=function(e){return"object"==typeof e&&!0===e.isAxiosError};var yS=mS,bS=mS;yS.default=bS;var wS=yS,SS=o((function(e,t){e.exports=function(){var e="millisecond",t="second",n="minute",r="hour",o="day",a="week",i="month",u="quarter",l="year",s="date",c=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[^0-9]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,f=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,d={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")},p=function(e,t,n){var r=String(e);return!r||r.length>=t?e:""+Array(t+1-r.length).join(n)+e},h={s:p,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),o=n%60;return(t<=0?"+":"-")+p(r,2,"0")+":"+p(o,2,"0")},m:function e(t,n){if(t.date()0,g<=v.r||!v.r){g<=1&&h>0&&(v=d[h-1]);var m=f[v.l];u&&(g=u(""+g)),s="string"==typeof m?m.replace("%d",g):m(g,r,v.l,c);break}}if(r)return s;var y=c?f.future:f.past;return"function"==typeof y?y(s):y.replace("%s",s)},r.to=function(e,t){return a(e,t,this,!0)},r.from=function(e,t){return a(e,t,this)};var i=function(e){return e.$u?n.utc():n()};r.toNow=function(e){return this.to(i(this),e)},r.fromNow=function(e){return this.from(i(this),e)}}}));function ES(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function kS(e,t){if(e.length!==t.length)return!1;for(var n=0;n0?TS="positive-descending":(t.scrollLeft=1,TS=0===t.scrollLeft?"negative":"positive-ascending"),document.body.removeChild(t),TS}return TS}var OS=function(e,t){return e};function AS(e){var t,n,r=e.getItemOffset,o=e.getEstimatedTotalSize,a=e.getItemSize,i=e.getOffsetForIndexAndAlignment,u=e.getStartIndexForOffset,l=e.getStopIndexForStartIndex,s=e.initInstanceProps,c=e.shouldResetStyleCacheOnItemSizeChange,d=e.validateProps;return n=t=function(e){function t(t){var n;return(n=e.call(this,t)||this)._instanceProps=s(n.props,ES(ES(n))),n._outerRef=void 0,n._resetIsScrollingTimeoutId=null,n.state={instance:ES(ES(n)),isScrolling:!1,scrollDirection:"forward",scrollOffset:"number"==typeof n.props.initialScrollOffset?n.props.initialScrollOffset:0,scrollUpdateWasRequested:!1},n._callOnItemsRendered=void 0,n._callOnItemsRendered=RS((function(e,t,r,o){return n.props.onItemsRendered({overscanStartIndex:e,overscanStopIndex:t,visibleStartIndex:r,visibleStopIndex:o})})),n._callOnScroll=void 0,n._callOnScroll=RS((function(e,t,r){return n.props.onScroll({scrollDirection:e,scrollOffset:t,scrollUpdateWasRequested:r})})),n._getItemStyle=void 0,n._getItemStyle=function(e){var t,o=n.props,i=o.direction,u=o.itemSize,l=o.layout,s=n._getItemStyleCache(c&&u,c&&l,c&&i);if(s.hasOwnProperty(e))t=s[e];else{var f=r(n.props,e,n._instanceProps),d=a(n.props,e,n._instanceProps),p="horizontal"===i||"horizontal"===l,h="rtl"===i,v=p?f:0;s[e]=t={position:"absolute",left:h?void 0:v,right:h?v:void 0,top:p?0:f,height:p?"100%":d,width:p?d:"100%"}}return t},n._getItemStyleCache=void 0,n._getItemStyleCache=RS((function(e,t,n){return{}})),n._onScrollHorizontal=function(e){var t=e.currentTarget,r=t.clientWidth,o=t.scrollLeft,a=t.scrollWidth;n.setState((function(e){if(e.scrollOffset===o)return null;var t=n.props.direction,i=o;if("rtl"===t)switch(PS()){case"negative":i=-o;break;case"positive-descending":i=a-r-o}return i=Math.max(0,Math.min(i,a-r)),{isScrolling:!0,scrollDirection:e.scrollOffset=t?e.call(null):o.id=requestAnimationFrame(n)}))})},n._resetIsScrolling=function(){n._resetIsScrollingTimeoutId=null,n.setState({isScrolling:!1},(function(){n._getItemStyleCache(-1,null)}))},n}bs(t,e),t.getDerivedStateFromProps=function(e,t){return MS(e,t),d(e),null};var n=t.prototype;return n.scrollTo=function(e){e=Math.max(0,e),this.setState((function(t){return t.scrollOffset===e?null:{scrollDirection:t.scrollOffset0)for(var C=k;C<=R;C++)x.push(f.createElement(t,{data:c,key:p(C,c),index:C,isScrolling:y?w:void 0,style:this._getItemStyle(C)}));var T=o(this.props,this._instanceProps);return f.createElement(v||g||"div",{className:n,onScroll:_,ref:this._outerRefSetter,style:Es({position:"relative",height:a,width:b,overflow:"auto",WebkitOverflowScrolling:"touch",willChange:"transform",direction:r},m)},f.createElement(u||l||"div",{children:x,ref:i,style:{height:S?"100%":T,pointerEvents:w?"none":void 0,width:S?T:"100%"}}))},n._callPropsCallbacks=function(){if("function"==typeof this.props.onItemsRendered&&this.props.itemCount>0){var e=this._getRangeToRender(),t=e[0],n=e[1],r=e[2],o=e[3];this._callOnItemsRendered(t,n,r,o)}if("function"==typeof this.props.onScroll){var a=this.state,i=a.scrollDirection,u=a.scrollOffset,l=a.scrollUpdateWasRequested;this._callOnScroll(i,u,l)}},n._getRangeToRender=function(){var e=this.props,t=e.itemCount,n=e.overscanCount,r=this.state,o=r.isScrolling,a=r.scrollDirection,i=r.scrollOffset;if(0===t)return[0,0,0,0];var s=u(this.props,i,this._instanceProps),c=l(this.props,s,i,this._instanceProps),f=o&&"backward"!==a?1:Math.max(1,n),d=o&&"forward"!==a?1:Math.max(1,n);return[Math.max(0,s-f),Math.max(0,Math.min(t-1,c+d)),s,c]},t}(f.PureComponent),t.defaultProps={direction:"ltr",itemData:void 0,layout:"vertical",overscanCount:2,useIsScrolling:!1},n}var MS=function(e,t){e.children,e.direction,e.height,e.layout,e.innerTagName,e.outerTagName,e.width,t.instance},NS=AS({getItemOffset:function(e,t){return t*e.itemSize},getItemSize:function(e,t){return e.itemSize},getEstimatedTotalSize:function(e){var t=e.itemCount;return e.itemSize*t},getOffsetForIndexAndAlignment:function(e,t,n,r){var o=e.direction,a=e.height,i=e.itemCount,u=e.itemSize,l=e.layout,s=e.width,c="horizontal"===o||"horizontal"===l?s:a,f=Math.max(0,i*u-c),d=Math.min(f,t*u),p=Math.max(0,t*u-c+u);switch("smart"===n&&(n=r>=p-c&&r<=d+c?"auto":"center"),n){case"start":return d;case"end":return p;case"center":var h=Math.round(p+(d-p)/2);return hf+Math.floor(c/2)?f:h;case"auto":default:return r>=p&&r<=d?r:r div, .contract-trigger:before { content: " "; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; z-index: -1; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',r=t.head||t.getElementsByTagName("head")[0],o=t.createElement("style");o.id="detectElementResize",o.type="text/css",null!=e&&o.setAttribute("nonce",e),o.styleSheet?o.styleSheet.cssText=n:o.appendChild(t.createTextNode(n)),r.appendChild(o)}}(a),n.__resizeLast__={},n.__resizeListeners__=[],(n.__resizeTriggers__=a.createElement("div")).className="resize-triggers";var s=a.createElement("div");s.className="expand-trigger",s.appendChild(a.createElement("div"));var c=a.createElement("div");c.className="contract-trigger",n.__resizeTriggers__.appendChild(s),n.__resizeTriggers__.appendChild(c),n.appendChild(n.__resizeTriggers__),u(n),n.addEventListener("scroll",l,!0),f&&(n.__resizeTriggers__.__animationListener__=function(e){e.animationName==g&&u(n)},n.__resizeTriggers__.addEventListener(f,n.__resizeTriggers__.__animationListener__))}n.__resizeListeners__.push(r)}},removeResizeListener:function(e,t){if(o)e.detachEvent("onresize",t);else if(e.__resizeListeners__.splice(e.__resizeListeners__.indexOf(t),1),!e.__resizeListeners__.length){e.removeEventListener("scroll",l,!0),e.__resizeTriggers__.__animationListener__&&(e.__resizeTriggers__.removeEventListener(f,e.__resizeTriggers__.__animationListener__),e.__resizeTriggers__.__animationListener__=null);try{e.__resizeTriggers__=!e.removeChild(e.__resizeTriggers__)}catch(n){}}}}}var IS=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},zS=function(){function e(e,t){for(var n=0;n=0||(o[n]=e[n]);return o}function i(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;var u={init:"init"},l=function(e){var t=e.value;return void 0===t?"":t},s=function(){return t.createElement(t.Fragment,null," ")},c={Cell:l,width:150,minWidth:0,maxWidth:Number.MAX_SAFE_INTEGER};function f(){for(var e=arguments.length,t=new Array(e),n=0;n(a="number"==typeof a?a:1/0)){var i=o;o=a,a=i}return e.filter((function(e){return t.some((function(t){var n=e.values[t];return n>=o&&n<=a}))}))};Ee.autoRemove=function(e){return!e||"number"!=typeof e[0]&&"number"!=typeof e[1]};var ke=Object.freeze({__proto__:null,text:he,exactText:ve,exactTextCase:ge,includes:me,includesAll:ye,includesSome:be,includesValue:we,exact:Se,equals:_e,between:Ee});u.resetFilters="resetFilters",u.setFilter="setFilter",u.setAllFilters="setAllFilters";var Re=function(e){e.stateReducers.push(xe),e.useInstance.push(Ce)};function xe(e,t,n,r){if(t.type===u.init)return o({filters:[]},e);if(t.type===u.resetFilters)return o({},e,{filters:r.initialState.filters||[]});if(t.type===u.setFilter){var a=t.columnId,i=t.filterValue,l=r.allColumns,s=r.filterTypes,c=l.find((function(e){return e.id===a}));if(!c)throw new Error("React-Table: Could not find a column with id: "+a);var f=M(c.filter,s||{},ke),d=e.filters.find((function(e){return e.id===a})),p=g(i,d&&d.value);return N(f.autoRemove,p,c)?o({},e,{filters:e.filters.filter((function(e){return e.id!==a}))}):o({},e,d?{filters:e.filters.map((function(e){return e.id===a?{id:a,value:p}:e}))}:{filters:[].concat(e.filters,[{id:a,value:p}])})}if(t.type===u.setAllFilters){var h=t.filters,v=r.allColumns,m=r.filterTypes;return o({},e,{filters:g(h,e.filters).filter((function(e){var t=v.find((function(t){return t.id===e.id}));return!N(M(t.filter,m||{},ke).autoRemove,e.value,t)}))})}}function Ce(e){var n=e.data,r=e.rows,o=e.flatRows,a=e.rowsById,i=e.allColumns,l=e.filterTypes,s=e.manualFilters,c=e.defaultCanFilter,f=void 0!==c&&c,d=e.disableFilters,p=e.state.filters,h=e.dispatch,v=e.autoResetFilters,g=void 0===v||v,y=t.useCallback((function(e,t){h({type:u.setFilter,columnId:e,filterValue:t})}),[h]),w=t.useCallback((function(e){h({type:u.setAllFilters,filters:e})}),[h]);i.forEach((function(e){var t=e.id,n=e.accessor,r=e.defaultCanFilter,o=e.disableFilters;e.canFilter=n?T(!0!==o&&void 0,!0!==d&&void 0,!0):T(r,f,!1),e.setFilter=function(t){return y(e.id,t)};var a=p.find((function(e){return e.id===t}));e.filterValue=a&&a.value}));var S=t.useMemo((function(){if(s||!p.length)return[r,o,a];var e=[],t={};return[function n(r,o){void 0===o&&(o=0);var a=r;return(a=p.reduce((function(e,t){var n=t.id,r=t.value,a=i.find((function(e){return e.id===n}));if(!a)return e;0===o&&(a.preFilteredRows=e);var u=M(a.filter,l||{},ke);return u?(a.filteredRows=u(e,[n],r),a.filteredRows):(console.warn("Could not find a valid 'column.filter' for column with the ID: "+a.id+"."),e)}),r)).forEach((function(r){e.push(r),t[r.id]=r,r.subRows&&(r.subRows=r.subRows&&r.subRows.length>0?n(r.subRows,o+1):r.subRows)})),a}(r),e,t]}),[s,p,r,o,a,i,l]),_=S[0],E=S[1],k=S[2];t.useMemo((function(){i.filter((function(e){return!p.find((function(t){return t.id===e.id}))})).forEach((function(e){e.preFilteredRows=_,e.filteredRows=_}))}),[_,p,i]);var R=m(g);b((function(){R()&&h({type:u.resetFilters})}),[h,s?null:n]),Object.assign(e,{preFilteredRows:r,preFilteredFlatRows:o,preFilteredRowsById:a,filteredRows:_,filteredFlatRows:E,filteredRowsById:k,rows:_,flatRows:E,rowsById:k,setFilter:y,setAllFilters:w})}Re.pluginName="useFilters",u.resetGlobalFilter="resetGlobalFilter",u.setGlobalFilter="setGlobalFilter";var Te=function(e){e.stateReducers.push(Pe),e.useInstance.push(Oe)};function Pe(e,t,n,r){if(t.type===u.resetGlobalFilter)return o({},e,{globalFilter:r.initialState.globalFilter||void 0});if(t.type===u.setGlobalFilter){var i=t.filterValue,l=r.userFilterTypes,s=M(r.globalFilter,l||{},ke),c=g(i,e.globalFilter);return N(s.autoRemove,c)?(e.globalFilter,a(e,["globalFilter"])):o({},e,{globalFilter:c})}}function Oe(e){var n=e.data,r=e.rows,o=e.flatRows,a=e.rowsById,i=e.allColumns,l=e.filterTypes,s=e.globalFilter,c=e.manualGlobalFilter,f=e.state.globalFilter,d=e.dispatch,p=e.autoResetGlobalFilter,h=void 0===p||p,v=e.disableGlobalFilter,g=t.useCallback((function(e){d({type:u.setGlobalFilter,filterValue:e})}),[d]),y=t.useMemo((function(){if(c||void 0===f)return[r,o,a];var e=[],t={},n=M(s,l||{},ke);if(!n)return console.warn("Could not find a valid 'globalFilter' option."),r;i.forEach((function(e){var t=e.disableGlobalFilter;e.canFilter=T(!0!==t&&void 0,!0!==v&&void 0,!0)}));var u=i.filter((function(e){return!0===e.canFilter}));return[function r(o){return(o=n(o,u.map((function(e){return e.id})),f)).forEach((function(n){e.push(n),t[n.id]=n,n.subRows=n.subRows&&n.subRows.length?r(n.subRows):n.subRows})),o}(r),e,t]}),[c,f,s,l,i,r,o,a,v]),w=y[0],S=y[1],_=y[2],E=m(h);b((function(){E()&&d({type:u.resetGlobalFilter})}),[d,c?null:n]),Object.assign(e,{preGlobalFilteredRows:r,preGlobalFilteredFlatRows:o,preGlobalFilteredRowsById:a,globalFilteredRows:w,globalFilteredFlatRows:S,globalFilteredRowsById:_,rows:w,flatRows:S,rowsById:_,setGlobalFilter:g,disableGlobalFilter:v})}function Ae(e,t){return t.reduce((function(e,t){return e+("number"==typeof t?t:0)}),0)}Te.pluginName="useGlobalFilter";var Me=Object.freeze({__proto__:null,sum:Ae,min:function(e){var t=e[0]||0;return e.forEach((function(e){"number"==typeof e&&(t=Math.min(t,e))})),t},max:function(e){var t=e[0]||0;return e.forEach((function(e){"number"==typeof e&&(t=Math.max(t,e))})),t},minMax:function(e){var t=e[0]||0,n=e[0]||0;return e.forEach((function(e){"number"==typeof e&&(t=Math.min(t,e),n=Math.max(n,e))})),t+".."+n},average:function(e){return Ae(0,e)/e.length},median:function(e){if(!e.length)return null;var t=Math.floor(e.length/2),n=[].concat(e).sort((function(e,t){return e-t}));return e.length%2!=0?n[t]:(n[t-1]+n[t])/2},unique:function(e){return Array.from(new Set(e).values())},uniqueCount:function(e){return new Set(e).size},count:function(e){return e.length}}),Ne=[],Le={};u.resetGroupBy="resetGroupBy",u.setGroupBy="setGroupBy",u.toggleGroupBy="toggleGroupBy";var Ie=function(e){e.getGroupByToggleProps=[ze],e.stateReducers.push(De),e.visibleColumnsDeps.push((function(e,t){var n=t.instance;return[].concat(e,[n.state.groupBy])})),e.visibleColumns.push(je),e.useInstance.push(Be),e.prepareRow.push(Ve)};Ie.pluginName="useGroupBy";var ze=function(e,t){var n=t.header;return[e,{onClick:n.canGroupBy?function(e){e.persist(),n.toggleGroupBy()}:void 0,style:{cursor:n.canGroupBy?"pointer":void 0},title:"Toggle GroupBy"}]};function De(e,t,n,r){if(t.type===u.init)return o({groupBy:[]},e);if(t.type===u.resetGroupBy)return o({},e,{groupBy:r.initialState.groupBy||[]});if(t.type===u.setGroupBy)return o({},e,{groupBy:t.value});if(t.type===u.toggleGroupBy){var a=t.columnId,i=t.value,l=void 0!==i?i:!e.groupBy.includes(a);return o({},e,l?{groupBy:[].concat(e.groupBy,[a])}:{groupBy:e.groupBy.filter((function(e){return e!==a}))})}}function je(e,t){var n=t.instance.state.groupBy,r=n.map((function(t){return e.find((function(e){return e.id===t}))})).filter(Boolean),o=e.filter((function(e){return!n.includes(e.id)}));return(e=[].concat(r,o)).forEach((function(e){e.isGrouped=n.includes(e.id),e.groupedIndex=n.indexOf(e.id)})),e}var Fe={};function Be(e){var n=e.data,r=e.rows,o=e.flatRows,a=e.rowsById,i=e.allColumns,l=e.flatHeaders,s=e.groupByFn,c=void 0===s?Ue:s,f=e.manualGroupBy,p=e.aggregations,h=void 0===p?Fe:p,g=e.plugins,y=e.state.groupBy,w=e.dispatch,S=e.autoResetGroupBy,_=void 0===S||S,E=e.disableGroupBy,k=e.defaultCanGroupBy,R=e.getHooks;v(g,["useColumnOrder","useFilters"],"useGroupBy");var x=m(e);i.forEach((function(t){var n=t.accessor,r=t.defaultGroupBy,o=t.disableGroupBy;t.canGroupBy=n?T(t.canGroupBy,!0!==o&&void 0,!0!==E&&void 0,!0):T(t.canGroupBy,r,k,!1),t.canGroupBy&&(t.toggleGroupBy=function(){return e.toggleGroupBy(t.id)}),t.Aggregated=t.Aggregated||t.Cell}));var C=t.useCallback((function(e,t){w({type:u.toggleGroupBy,columnId:e,value:t})}),[w]),P=t.useCallback((function(e){w({type:u.setGroupBy,value:e})}),[w]);l.forEach((function(e){e.getGroupByToggleProps=d(R().getGroupByToggleProps,{instance:x(),header:e})}));var A=t.useMemo((function(){if(f||!y.length)return[r,o,a,Ne,Le,o,a];var e=y.filter((function(e){return i.find((function(t){return t.id===e}))})),t=[],n={},u=[],l={},s=[],d={},p=function r(o,a,f){if(void 0===a&&(a=0),a===e.length)return o;var p=e[a],v=c(o,p);return Object.entries(v).map((function(o,c){var v,g,m,y,b=o[0],w=o[1],S=p+":"+b,_=r(w,a+1,S=f?f+">"+S:S),E=a?O(w,"leafRows"):w,k=(v=E,g=w,m=a,y={},i.forEach((function(t){if(e.includes(t.id))y[t.id]=g[0]?g[0].values[t.id]:null;else{var n="function"==typeof t.aggregate?t.aggregate:h[t.aggregate]||Me[t.aggregate];if(n){var r=g.map((function(e){return e.values[t.id]})),o=v.map((function(e){var n=e.values[t.id];if(!m&&t.aggregateValue){var r="function"==typeof t.aggregateValue?t.aggregateValue:h[t.aggregateValue]||Me[t.aggregateValue];if(!r)throw console.info({column:t}),new Error("React Table: Invalid column.aggregateValue option for column listed above");n=r(n,e,t)}return n}));y[t.id]=n(o,r)}else{if(t.aggregate)throw console.info({column:t}),new Error("React Table: Invalid column.aggregate option for column listed above");y[t.id]=null}}})),y),R={id:S,isGrouped:!0,groupByID:p,groupByVal:b,values:k,subRows:_,leafRows:E,depth:a,index:c};return _.forEach((function(e){t.push(e),n[e.id]=e,e.isGrouped?(u.push(e),l[e.id]=e):(s.push(e),d[e.id]=e)})),R}))}(r);return p.forEach((function(e){t.push(e),n[e.id]=e,e.isGrouped?(u.push(e),l[e.id]=e):(s.push(e),d[e.id]=e)})),[p,t,n,u,l,s,d]}),[f,y,r,o,a,i,h,c]),M=A[0],N=A[1],L=A[2],I=A[3],z=A[4],D=A[5],j=A[6],F=m(_);b((function(){F()&&w({type:u.resetGroupBy})}),[w,f?null:n]),Object.assign(e,{preGroupedRows:r,preGroupedFlatRow:o,preGroupedRowsById:a,groupedRows:M,groupedFlatRows:N,groupedRowsById:L,onlyGroupedFlatRows:I,onlyGroupedRowsById:z,nonGroupedFlatRows:D,nonGroupedRowsById:j,rows:M,flatRows:N,rowsById:L,toggleGroupBy:C,setGroupBy:P})}function Ve(e){e.allCells.forEach((function(t){var n;t.isGrouped=t.column.isGrouped&&t.column.id===e.groupByID,t.isPlaceholder=!t.isGrouped&&t.column.isGrouped,t.isAggregated=!t.isGrouped&&!t.isPlaceholder&&(null==(n=e.subRows)?void 0:n.length)}))}function Ue(e,t){return e.reduce((function(e,n,r){var o=""+n.values[t];return e[o]=Array.isArray(e[o])?e[o]:[],e[o].push(n),e}),{})}var $e=/([0-9]+)/gm;function We(e,t){return e===t?0:e>t?1:-1}function He(e,t){return e.values[t]}function Ge(e){return"number"==typeof e?isNaN(e)||e===1/0||e===-1/0?"":String(e):"string"==typeof e?e:""}var qe=Object.freeze({__proto__:null,alphanumeric:function(e,t,n){var r=He(e,n),o=He(t,n);for(r=Ge(r),o=Ge(o),r=r.split($e).filter(Boolean),o=o.split($e).filter(Boolean);r.length&&o.length;){var a=r.shift(),i=o.shift(),u=parseInt(a,10),l=parseInt(i,10),s=[u,l].sort();if(isNaN(s[0])){if(a>i)return 1;if(i>a)return-1}else{if(isNaN(s[1]))return isNaN(u)?-1:1;if(u>l)return 1;if(l>u)return-1}}return r.length-o.length},datetime:function(e,t,n){var r=He(e,n),o=He(t,n);return We(r=r.getTime(),o=o.getTime())},basic:function(e,t,n){return We(He(e,n),He(t,n))}});u.resetSortBy="resetSortBy",u.setSortBy="setSortBy",u.toggleSortBy="toggleSortBy",u.clearSortBy="clearSortBy",c.sortType="alphanumeric",c.sortDescFirst=!1;var Ye=function(e){e.getSortByToggleProps=[Ke],e.stateReducers.push(Qe),e.useInstance.push(Xe)};Ye.pluginName="useSortBy";var Ke=function(e,t){var n=t.instance,r=t.column,o=n.isMultiSortEvent,a=void 0===o?function(e){return e.shiftKey}:o;return[e,{onClick:r.canSort?function(e){e.persist(),r.toggleSortBy(void 0,!n.disableMultiSort&&a(e))}:void 0,style:{cursor:r.canSort?"pointer":void 0},title:r.canSort?"Toggle SortBy":void 0}]};function Qe(e,t,n,r){if(t.type===u.init)return o({sortBy:[]},e);if(t.type===u.resetSortBy)return o({},e,{sortBy:r.initialState.sortBy||[]});if(t.type===u.clearSortBy)return o({},e,{sortBy:e.sortBy.filter((function(e){return e.id!==t.columnId}))});if(t.type===u.setSortBy)return o({},e,{sortBy:t.sortBy});if(t.type===u.toggleSortBy){var a,i=t.columnId,l=t.desc,s=t.multi,c=r.allColumns,f=r.disableMultiSort,d=r.disableSortRemove,p=r.disableMultiRemove,h=r.maxMultiSortColCount,v=void 0===h?Number.MAX_SAFE_INTEGER:h,g=e.sortBy,m=c.find((function(e){return e.id===i})).sortDescFirst,y=g.find((function(e){return e.id===i})),b=g.findIndex((function(e){return e.id===i})),w=null!=l,S=[];return"toggle"!=(a=!f&&s?y?"toggle":"add":b!==g.length-1||1!==g.length?"replace":y?"toggle":"replace")||d||w||s&&p||!(y&&y.desc&&!m||!y.desc&&m)||(a="remove"),"replace"===a?S=[{id:i,desc:w?l:m}]:"add"===a?(S=[].concat(g,[{id:i,desc:w?l:m}])).splice(0,S.length-v):"toggle"===a?S=g.map((function(e){return e.id===i?o({},e,{desc:w?l:!y.desc}):e})):"remove"===a&&(S=g.filter((function(e){return e.id!==i}))),o({},e,{sortBy:S})}}function Xe(e){var n=e.data,r=e.rows,o=e.flatRows,a=e.allColumns,i=e.orderByFn,l=void 0===i?Je:i,s=e.sortTypes,c=e.manualSortBy,f=e.defaultCanSort,p=e.disableSortBy,h=e.flatHeaders,g=e.state.sortBy,y=e.dispatch,w=e.plugins,S=e.getHooks,_=e.autoResetSortBy,E=void 0===_||_;v(w,["useFilters","useGlobalFilter","useGroupBy","usePivotColumns"],"useSortBy");var k=t.useCallback((function(e){y({type:u.setSortBy,sortBy:e})}),[y]),R=t.useCallback((function(e,t,n){y({type:u.toggleSortBy,columnId:e,desc:t,multi:n})}),[y]),x=m(e);h.forEach((function(e){var t=e.accessor,n=e.canSort,r=e.disableSortBy,o=e.id,a=t?T(!0!==r&&void 0,!0!==p&&void 0,!0):T(f,n,!1);e.canSort=a,e.canSort&&(e.toggleSortBy=function(t,n){return R(e.id,t,n)},e.clearSortBy=function(){y({type:u.clearSortBy,columnId:e.id})}),e.getSortByToggleProps=d(S().getSortByToggleProps,{instance:x(),column:e});var i=g.find((function(e){return e.id===o}));e.isSorted=!!i,e.sortedIndex=g.findIndex((function(e){return e.id===o})),e.isSortedDesc=e.isSorted?i.desc:void 0}));var C=t.useMemo((function(){if(c||!g.length)return[r,o];var e=[],t=g.filter((function(e){return a.find((function(t){return t.id===e.id}))}));return[function n(r){var o=l(r,t.map((function(e){var t=a.find((function(t){return t.id===e.id}));if(!t)throw new Error("React-Table: Could not find a column with id: "+e.id+" while sorting");var n=t.sortType,r=P(n)||(s||{})[n]||qe[n];if(!r)throw new Error("React-Table: Could not find a valid sortType of '"+n+"' for column '"+e.id+"'.");return function(t,n){return r(t,n,e.id,e.desc)}})),t.map((function(e){var t=a.find((function(t){return t.id===e.id}));return t&&t.sortInverted?e.desc:!e.desc})));return o.forEach((function(t){e.push(t),t.subRows&&0!==t.subRows.length&&(t.subRows=n(t.subRows))})),o}(r),e]}),[c,g,r,o,a,l,s]),O=C[0],A=C[1],M=m(E);b((function(){M()&&y({type:u.resetSortBy})}),[c?null:n]),Object.assign(e,{preSortedRows:r,preSortedFlatRows:o,sortedRows:O,sortedFlatRows:A,rows:O,flatRows:A,setSortBy:k,toggleSortBy:R})}function Je(e,t,n){return[].concat(e).sort((function(e,r){for(var o=0;oe.pageIndex?s=-1===a?i.length>=e.pageSize:l-1),s?o({},e,{pageIndex:l}):e}if(t.type===u.setPageSize){var c=t.pageSize,f=e.pageSize*e.pageIndex;return o({},e,{pageIndex:Math.floor(f/c),pageSize:c})}}function tt(e){var n=e.rows,r=e.autoResetPage,o=void 0===r||r,a=e.manualExpandedKey,i=void 0===a?"expanded":a,l=e.plugins,s=e.pageCount,c=e.paginateExpandedRows,f=void 0===c||c,d=e.expandSubRows,p=void 0===d||d,h=e.state,g=h.pageSize,y=h.pageIndex,w=h.expanded,S=h.globalFilter,_=h.filters,E=h.groupBy,k=h.sortBy,R=e.dispatch,x=e.data,C=e.manualPagination;v(l,["useGlobalFilter","useFilters","useGroupBy","useSortBy","useExpanded"],"usePagination");var T=m(o);b((function(){T()&&R({type:u.resetPage})}),[R,C?null:x,S,_,E,k]);var P=C?s:Math.ceil(n.length/g),O=t.useMemo((function(){return P>0?[].concat(new Array(P)).fill(null).map((function(e,t){return t})):[]}),[P]),M=t.useMemo((function(){var e;if(C)e=n;else{var t=g*y,r=t+g;e=n.slice(t,r)}return f?e:A(e,{manualExpandedKey:i,expanded:w,expandSubRows:p})}),[p,w,i,C,y,g,f,n]),N=y>0,L=-1===P?M.length>=g:y-1&&a.push(o.splice(t,1)[0])};o.length&&r.length;)i();return[].concat(a,o)}function At(e){var n=e.dispatch;e.setColumnOrder=t.useCallback((function(e){return n({type:u.setColumnOrder,columnOrder:e})}),[n])}Tt.pluginName="useColumnOrder",c.canResize=!0,u.columnStartResizing="columnStartResizing",u.columnResizing="columnResizing",u.columnDoneResizing="columnDoneResizing",u.resetResize="resetResize";var Mt=function(e){e.getResizerProps=[Nt],e.getHeaderProps.push({style:{position:"relative"}}),e.stateReducers.push(Lt),e.useInstance.push(zt),e.useInstanceBeforeDimensions.push(It)},Nt=function(e,t){var n=t.instance,r=t.header,o=n.dispatch,a=function(e,t){var n=!1;if("touchstart"===e.type){if(e.touches&&e.touches.length>1)return;n=!0}var r,a,i=(r=t,a=[],function e(t){t.columns&&t.columns.length&&t.columns.map(e),a.push(t)}(r),a).map((function(e){return[e.id,e.totalWidth]})),l=n?Math.round(e.touches[0].clientX):e.clientX,s=function(e){o({type:u.columnResizing,clientX:e})},c=function(){return o({type:u.columnDoneResizing})},f={mouse:{moveEvent:"mousemove",moveHandler:function(e){return s(e.clientX)},upEvent:"mouseup",upHandler:function(e){document.removeEventListener("mousemove",f.mouse.moveHandler),document.removeEventListener("mouseup",f.mouse.upHandler),c()}},touch:{moveEvent:"touchmove",moveHandler:function(e){return e.cancelable&&(e.preventDefault(),e.stopPropagation()),s(e.touches[0].clientX),!1},upEvent:"touchend",upHandler:function(e){document.removeEventListener(f.touch.moveEvent,f.touch.moveHandler),document.removeEventListener(f.touch.upEvent,f.touch.moveHandler),c()}}},d=n?f.touch:f.mouse,p=!!function(){if("boolean"==typeof I)return I;var e=!1;try{var t={get passive(){return e=!0,!1}};window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch(n){e=!1}return I=e}()&&{passive:!1};document.addEventListener(d.moveEvent,d.moveHandler,p),document.addEventListener(d.upEvent,d.upHandler,p),o({type:u.columnStartResizing,columnId:t.id,columnWidth:t.totalWidth,headerIdWidths:i,clientX:l})};return[e,{onMouseDown:function(e){return e.persist()||a(e,r)},onTouchStart:function(e){return e.persist()||a(e,r)},style:{cursor:"col-resize"},draggable:!1,role:"separator"}]};function Lt(e,t){if(t.type===u.init)return o({columnResizing:{columnWidths:{}}},e);if(t.type===u.resetResize)return o({},e,{columnResizing:{columnWidths:{}}});if(t.type===u.columnStartResizing){var n=t.clientX,r=t.columnId,a=t.columnWidth,i=t.headerIdWidths;return o({},e,{columnResizing:o({},e.columnResizing,{startX:n,headerIdWidths:i,columnWidth:a,isResizingColumn:r})})}if(t.type===u.columnResizing){var l=t.clientX,s=e.columnResizing,c=s.startX,f=s.columnWidth,d=s.headerIdWidths,p=(l-c)/f,h={};return(void 0===d?[]:d).forEach((function(e){var t=e[0],n=e[1];h[t]=Math.max(n+n*p,0)})),o({},e,{columnResizing:o({},e.columnResizing,{columnWidths:o({},e.columnResizing.columnWidths,{},h)})})}return t.type===u.columnDoneResizing?o({},e,{columnResizing:o({},e.columnResizing,{startX:null,isResizingColumn:null})}):void 0}Mt.pluginName="useResizeColumns";var It=function(e){var t=e.flatHeaders,n=e.disableResizing,r=e.getHooks,o=e.state.columnResizing,a=m(e);t.forEach((function(e){var t=T(!0!==e.disableResizing&&void 0,!0!==n&&void 0,!0);e.canResize=t,e.width=o.columnWidths[e.id]||e.originalWidth||e.width,e.isResizing=o.isResizingColumn===e.id,t&&(e.getResizerProps=d(r().getResizerProps,{instance:a(),header:e}))}))};function zt(e){var n=e.plugins,r=e.dispatch,o=e.autoResetResize,a=void 0===o||o,i=e.columns;v(n,["useAbsoluteLayout"],"useResizeColumns");var l=m(a);b((function(){l()&&r({type:u.resetResize})}),[i]);var s=t.useCallback((function(){return r({type:u.resetResize})}),[r]);Object.assign(e,{resetResizing:s})}var Dt={position:"absolute",top:0},jt=function(e){e.getTableBodyProps.push(Ft),e.getRowProps.push(Ft),e.getHeaderGroupProps.push(Ft),e.getFooterGroupProps.push(Ft),e.getHeaderProps.push((function(e,t){var n=t.column;return[e,{style:o({},Dt,{left:n.totalLeft+"px",width:n.totalWidth+"px"})}]})),e.getCellProps.push((function(e,t){var n=t.cell;return[e,{style:o({},Dt,{left:n.column.totalLeft+"px",width:n.column.totalWidth+"px"})}]})),e.getFooterProps.push((function(e,t){var n=t.column;return[e,{style:o({},Dt,{left:n.totalLeft+"px",width:n.totalWidth+"px"})}]}))};jt.pluginName="useAbsoluteLayout";var Ft=function(e,t){return[e,{style:{position:"relative",width:t.instance.totalColumnsWidth+"px"}}]},Bt={display:"inline-block",boxSizing:"border-box"},Vt=function(e,t){return[e,{style:{display:"flex",width:t.instance.totalColumnsWidth+"px"}}]},Ut=function(e){e.getRowProps.push(Vt),e.getHeaderGroupProps.push(Vt),e.getFooterGroupProps.push(Vt),e.getHeaderProps.push((function(e,t){var n=t.column;return[e,{style:o({},Bt,{width:n.totalWidth+"px"})}]})),e.getCellProps.push((function(e,t){var n=t.cell;return[e,{style:o({},Bt,{width:n.column.totalWidth+"px"})}]})),e.getFooterProps.push((function(e,t){var n=t.column;return[e,{style:o({},Bt,{width:n.totalWidth+"px"})}]}))};function $t(e){e.getTableProps.push(Wt),e.getRowProps.push(Ht),e.getHeaderGroupProps.push(Ht),e.getFooterGroupProps.push(Ht),e.getHeaderProps.push(Gt),e.getCellProps.push(qt),e.getFooterProps.push(Yt)}Ut.pluginName="useBlockLayout",$t.pluginName="useFlexLayout";var Wt=function(e,t){return[e,{style:{minWidth:t.instance.totalColumnsMinWidth+"px"}}]},Ht=function(e,t){return[e,{style:{display:"flex",flex:"1 0 auto",minWidth:t.instance.totalColumnsMinWidth+"px"}}]},Gt=function(e,t){var n=t.column;return[e,{style:{boxSizing:"border-box",flex:n.totalFlexWidth?n.totalFlexWidth+" 0 auto":void 0,minWidth:n.totalMinWidth+"px",width:n.totalWidth+"px"}}]},qt=function(e,t){var n=t.cell;return[e,{style:{boxSizing:"border-box",flex:n.column.totalFlexWidth+" 0 auto",minWidth:n.column.totalMinWidth+"px",width:n.column.totalWidth+"px"}}]},Yt=function(e,t){var n=t.column;return[e,{style:{boxSizing:"border-box",flex:n.totalFlexWidth?n.totalFlexWidth+" 0 auto":void 0,minWidth:n.totalMinWidth+"px",width:n.totalWidth+"px"}}]};function Kt(e){e.stateReducers.push(Jt),e.getTableProps.push(Qt),e.getHeaderProps.push(Xt)}Kt.pluginName="useGridLayout";var Qt=function(e,t){return[e,{style:{display:"grid",gridTemplateColumns:t.instance.state.gridLayout.columnWidths.map((function(e){return e})).join(" ")}}]},Xt=function(e,t){return[e,{id:"header-cell-"+t.column.id,style:{position:"sticky"}}]};function Jt(e,t,n,r){if("init"===t.type)return o({gridLayout:{columnWidths:r.columns.map((function(){return"auto"}))}},e);if("columnStartResizing"===t.type){var a=t.columnId,i=r.visibleColumns.findIndex((function(e){return e.id===a})),u=function(e){var t,n=null==(t=document.getElementById("header-cell-"+e))?void 0:t.offsetWidth;if(void 0!==n)return n}(a);return void 0!==u?o({},e,{gridLayout:o({},e.gridLayout,{columnId:a,columnIndex:i,startingWidth:u})}):e}if("columnResizing"===t.type){var l=e.gridLayout,s=l.columnIndex,c=l.startingWidth,f=l.columnWidths,d=c-(e.columnResizing.startX-t.clientX),p=[].concat(f);return p[s]=d+"px",o({},e,{gridLayout:o({},e.gridLayout,{columnWidths:p})})}}e._UNSTABLE_usePivotColumns=nt,e.actions=u,e.defaultColumn=c,e.defaultGroupByFn=Ue,e.defaultOrderByFn=Je,e.defaultRenderer=l,e.emptyRenderer=s,e.ensurePluginOrder=v,e.flexRender=S,e.functionalUpdate=g,e.loopHooks=h,e.makePropGetter=d,e.makeRenderer=w,e.reduceHooks=p,e.safeUseLayoutEffect=y,e.useAbsoluteLayout=jt,e.useAsyncDebounce=function(e,n){void 0===n&&(n=0);var o,a=t.useRef({}),i=m(e),u=m(n);return t.useCallback((o=r(regeneratorRuntime.mark((function e(){var t,n,o,l=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(t=l.length,n=new Array(t),o=0;o1?n-1:0),a=1;a=0||(o[n]=e[n]);return o}var Nc={};Nc[Ac.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},Nc[Ac.Memo]={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0};var Lc=function(e){var t=Gs();return t.displayName=e,t}("Router-History"),Ic=function(e){var t=Gs();return t.displayName=e,t}("Router"),zc=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._isMounted?n.setState({location:e}):n._pendingLocation=e}))),n}bs(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){this._isMounted=!0,this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&this.unlisten()},n.render=function(){return f.createElement(Ic.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},f.createElement(Lc.Provider,{children:this.props.children||null,value:this.props.history}))},t}(f.Component);f.Component;var Dc=function(e){function t(){return e.apply(this,arguments)||this}bs(t,e);var n=t.prototype;return n.componentDidMount=function(){this.props.onMount&&this.props.onMount.call(this,this)},n.componentDidUpdate=function(e){this.props.onUpdate&&this.props.onUpdate.call(this,this,e)},n.componentWillUnmount=function(){this.props.onUnmount&&this.props.onUnmount.call(this,this)},n.render=function(){return null},t}(f.Component),jc={},Fc=0;function Bc(e,t){return void 0===e&&(e="/"),void 0===t&&(t={}),"/"===e?e:function(e){if(jc[e])return jc[e];var t=Ys.compile(e);return Fc<1e4&&(jc[e]=t,Fc++),t}(e)(t,{pretty:!0})}function Vc(e){var t=e.computedMatch,n=e.to,r=e.push,o=void 0!==r&&r;return f.createElement(Ic.Consumer,null,(function(e){e||Ts(!1);var r=e.history,a=e.staticContext,i=o?r.push:r.replace,u=Ls(t?"string"==typeof n?Bc(n,t.params):Es({},n,{pathname:Bc(n.pathname,t.params)}):n);return a?(i(u),null):f.createElement(Dc,{onMount:function(){i(u)},onUpdate:function(e,t){var n=Ls(t.to);Is(n,Es({},u,{key:n.key}))||i(u)},to:n})}))}var Uc={},$c=0;function Wc(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var n=t,r=n.path,o=n.exact,a=void 0!==o&&o,i=n.strict,u=void 0!==i&&i,l=n.sensitive,s=void 0!==l&&l;return[].concat(r).reduce((function(t,n){if(!n&&""!==n)return null;if(t)return t;var r=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=Uc[n]||(Uc[n]={});if(r[e])return r[e];var o=[],a={regexp:Ys(e,o,t),keys:o};return $c<1e4&&(r[e]=a,$c++),a}(n,{end:a,strict:u,sensitive:s}),o=r.regexp,i=r.keys,l=o.exec(e);if(!l)return null;var c=l[0],f=l.slice(1),d=e===c;return a&&!d?null:{path:n,url:"/"===n&&""===c?"/":c,isExact:d,params:i.reduce((function(e,t,n){return e[t.name]=f[n],e}),{})}}),null)}var Hc=function(e){function t(){return e.apply(this,arguments)||this}return bs(t,e),t.prototype.render=function(){var e=this;return f.createElement(Ic.Consumer,null,(function(t){t||Ts(!1);var n=e.props.location||t.location,r=Es({},t,{location:n,match:e.props.computedMatch?e.props.computedMatch:e.props.path?Wc(n.pathname,e.props):t.match}),o=e.props,a=o.children,i=o.component,u=o.render;return Array.isArray(a)&&0===a.length&&(a=null),f.createElement(Ic.Provider,{value:r},r.match?a?"function"==typeof a?a(r):a:i?f.createElement(i,r):u?u(r):null:"function"==typeof a?a(r):null)}))},t}(f.Component);f.Component,f.Component,f.useContext,f.Component;var Gc=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),o=0;o{nf.set(e,!0)},rf.setFail=e=>{nf.set(e,!1)};var of=rf;var af=function(e,t){const n=new Map;return e.forEach(((e,r)=>{n.set(r,t(e,r))})),n};var uf=function(e,t){if(null!=e)return e;throw new Error(null!=t?t:"Got unexpected null or undefined")};var lf=function(e,t,{error:n}={}){return null};var sf={trace:function(e,t,n){return n()},wrap:function(e){return e}};var cf={setByAddingToSet:function(e,t){const n=new Set(e);return n.add(t),n},setByDeletingFromSet:function(e,t){const n=new Set(e);return n.delete(t),n},mapBySettingInMap:function(e,t,n){const r=new Map(e);return r.set(t,n),r},mapByUpdatingInMap:function(e,t,n){const r=new Map(e);return r.set(t,n(r.get(t))),r},mapByDeletingFromMap:function(e,t){const n=new Map(e);return n.delete(t),n},mapByDeletingMultipleFromMap:function(e,t){const n=new Map(e);return t.forEach((e=>n.delete(e))),n}};function ff(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class df{constructor(e){ff(this,"key",void 0),this.key=e}}class pf extends df{}class hf extends df{}var vf={AbstractRecoilValue:df,RecoilState:pf,RecoilValueReadOnly:hf,isRecoilValue:function(e){return e instanceof pf||e instanceof hf}},gf=vf.AbstractRecoilValue,mf=vf.RecoilState,yf=vf.RecoilValueReadOnly,bf=vf.isRecoilValue,wf=Object.freeze({__proto__:null,AbstractRecoilValue:gf,RecoilState:mf,RecoilValueReadOnly:yf,isRecoilValue:bf});class Sf{}const _f=new Sf;class Ef extends Error{constructor(e){super(`Tried to set the value of Recoil selector ${e} using an updater function, but it is an async selector in a pending or error state; this is not supported.`)}}const kf=new Map,Rf=new Map;class xf extends Error{}var Cf={nodes:kf,recoilValues:Rf,registerNode:function(e){if(kf.has(e.key)){const t=`Duplicate atom key "${e.key}". This is a FATAL ERROR in\n production. But it is safe to ignore this warning if it occurred because of\n hot module replacement.`;console.warn(t)}kf.set(e.key,e);const t=null==e.set?new wf.RecoilValueReadOnly(e.key):new wf.RecoilState(e.key);return Rf.set(e.key,t),t},getNode:function(e){const t=kf.get(e);if(null==t)throw new xf(`Missing definition for RecoilValue: "${e}""`);return t},getNodeMaybe:function(e){return kf.get(e)},NodeMissingError:xf,DefaultValue:Sf,DEFAULT_VALUE:_f,RecoilValueNotReady:Ef};const{mapByDeletingFromMap:Tf,mapBySettingInMap:Pf,setByAddingToSet:Of}=cf,{getNode:Af,getNodeMaybe:Mf}=Cf,Nf=Object.freeze(new Set);class Lf extends Error{}var If={getNodeLoadable:function(e,t,n){return Af(n).get(e,t)},peekNodeLoadable:function(e,t,n){return Af(n).peek(e,t)},setNodeValue:function(e,t,n,r){const o=Af(n);if(null==o.set)throw new Lf(`Attempt to set read-only RecoilValue: ${n}`);return o.set(e,t,r)},cleanUpNode:function(e,t){Af(t).cleanUp(e)},setUnvalidatedAtomValue_DEPRECATED:function(e,t,n){var o;const a=Mf(t);return null==a||null===(o=a.invalidate)||void 0===o||o.call(a,e),r(r({},e),{atomValues:Tf(e.atomValues,t),nonvalidatedAtoms:Pf(e.nonvalidatedAtoms,t,n),dirtyAtoms:Of(e.dirtyAtoms,t)})},getDownstreamNodes:function(e,t,n){const r=new Set,o=Array.from(n),a=e.getGraph(t.version);for(let u=o.pop();u;u=o.pop()){var i;r.add(u);const e=null!==(i=a.nodeToNodeSubscriptions.get(u))&&void 0!==i?i:Nf;for(const t of e)r.has(t)||o.push(t)}return r}};var zf=function(e,...t){const n=new Set;e:for(const r of e){for(const e of t)if(e.has(r))continue e;n.add(r)}return n};function Df(e,t,n){const{nodeDeps:r,nodeToNodeSubscriptions:o}=t;e.forEach(((e,t)=>{const a=r.get(t);if(a&&n&&a!==n.nodeDeps.get(t))return;r.set(t,new Set(e));if((null==a?e:zf(e,a)).forEach((e=>{o.has(e)||o.set(e,new Set);uf(o.get(e)).add(t)})),a){zf(a,e).forEach((e=>{if(!o.has(e))return;const n=uf(o.get(e));n.delete(t),0===n.size&&o.delete(e)}))}}))}var jf={addToDependencyMap:function(e,t,n){n.has(e)||n.set(e,new Set),uf(n.get(e)).add(t)},cloneGraph:function(e){return{nodeDeps:af(e.nodeDeps,(e=>new Set(e))),nodeToNodeSubscriptions:af(e.nodeToNodeSubscriptions,(e=>new Set(e)))}},graph:function(){return{nodeDeps:new Map,nodeToNodeSubscriptions:new Map}},mergeDepsIntoDependencyMap:function(e,t){e.forEach(((e,n)=>{t.has(n)||t.set(n,new Set);const r=uf(t.get(n));e.forEach((e=>r.add(e)))}))},saveDependencyMapToStore:function(e,t,n){var r,o,a,i;const u=t.getState();n!==u.currentTree.version&&n!==(null===(r=u.nextTree)||void 0===r?void 0:r.version)&&(null===(o=u.previousTree)||void 0===o||o.version);const l=t.getGraph(n);if(Df(e,l),n===(null===(a=u.previousTree)||void 0===a?void 0:a.version)){Df(e,t.getGraph(u.currentTree.version),l)}if(n===(null===(i=u.previousTree)||void 0===i?void 0:i.version)||n===u.currentTree.version){var s;const n=null===(s=u.nextTree)||void 0===s?void 0:s.version;if(void 0!==n){Df(e,t.getGraph(n),l)}}}};const{getDownstreamNodes:Ff,getNodeLoadable:Bf,setNodeValue:Vf}=If,{saveDependencyMapToStore:Uf}=jf,{getNodeMaybe:$f}=Cf,{DefaultValue:Wf,RecoilValueNotReady:Hf}=Cf,{AbstractRecoilValue:Gf,RecoilState:qf,RecoilValueReadOnly:Yf,isRecoilValue:Kf}=wf;function Qf(e,t,n){if("set"===n.type){const{recoilValue:r,valueOrUpdater:o}=n,a=function(e,t,{key:n},r){if("function"==typeof r){const o=Bf(e,t,n)[1];if("loading"===o.state)throw new Hf(n);if("hasError"===o.state)throw o.contents;return r(o.contents)}return r}(e,t,r,o),[i,u]=Vf(e,t,r.key,a);Uf(i,e,t.version);for(const[e,n]of u.entries())Xf(t,e,n)}else if("setLoadable"===n.type){const{recoilValue:{key:e},loadable:r}=n;Xf(t,e,r)}else if("markModified"===n.type){const{recoilValue:{key:e}}=n;t.dirtyAtoms.add(e)}else if("setUnvalidated"===n.type){var r;const{recoilValue:{key:e},unvalidatedValue:o}=n,a=$f(e);null==a||null===(r=a.invalidate)||void 0===r||r.call(a,t),t.atomValues.delete(e),t.nonvalidatedAtoms.set(e,o),t.dirtyAtoms.add(e)}else lf(`Unknown action ${n.type}`)}function Xf(e,t,n){"hasValue"===n.state&&n.contents instanceof Wf?e.atomValues.delete(t):e.atomValues.set(t,n),e.dirtyAtoms.add(t),e.nonvalidatedAtoms.delete(t)}function Jf(e,t){e.replaceState((n=>{const o=function(e){return r(r({},e),{atomValues:new Map(e.atomValues),nonvalidatedAtoms:new Map(e.nonvalidatedAtoms),dirtyAtoms:new Set(e.dirtyAtoms)})}(n);for(const r of t)Qf(e,o,r);return td(e,o),o}))}function Zf(e,t,n,r){if(ed.length){const n=ed[ed.length-1];let r=n.get(e);r||n.set(e,r=[]),r.push(t)}else sf.trace(r,n,(()=>Jf(e,[t])))}const ed=[];function td(e,t){const n=Ff(e,t,t.dirtyAtoms);for(const a of n){var r,o;null===(r=$f(a))||void 0===r||null===(o=r.invalidate)||void 0===o||o.call(r,t)}}function nd(e,t,n){Zf(e,{type:"set",recoilValue:t,valueOrUpdater:n},t.key,"set Recoil value")}let rd=0;var od={RecoilValueReadOnly:Yf,AbstractRecoilValue:Gf,RecoilState:qf,getRecoilValueAsLoadable:function(e,{key:t},n=e.getState().currentTree){var r,o;const a=e.getState();n.version!==a.currentTree.version&&n.version!==(null===(r=a.nextTree)||void 0===r?void 0:r.version)&&(n.version,null===(o=a.previousTree)||void 0===o||o.version);const[i,u]=Bf(e,n,t);return of("recoil_async_selector_refactor")||Uf(i,e,n.version),u},setRecoilValue:nd,setRecoilValueLoadable:function(e,t,n){if(n instanceof Wf)return nd(e,t,n);Zf(e,{type:"setLoadable",recoilValue:t,loadable:n},t.key,"set Recoil value")},markRecoilValueModified:function(e,t){Zf(e,{type:"markModified",recoilValue:t},t.key,"mark RecoilValue modified")},setUnvalidatedRecoilValue:function(e,t,n){Zf(e,{type:"setUnvalidated",recoilValue:t,unvalidatedValue:n},t.key,"set Recoil value")},subscribeToRecoilValue:function(e,{key:t},n,r=null){const o=rd++,a=e.getState();return a.nodeToComponentSubscriptions.has(t)||a.nodeToComponentSubscriptions.set(t,new Map),uf(a.nodeToComponentSubscriptions.get(t)).set(o,[null!=r?r:"",n]),{release:()=>{const n=e.getState(),r=n.nodeToComponentSubscriptions.get(t);void 0!==r&&r.has(o)&&(r.delete(o),0===r.size&&n.nodeToComponentSubscriptions.delete(t))}}},isRecoilValue:Kf,applyAtomValueWrites:function(e,t){const n=af(e,(e=>e));return t.forEach(((e,t)=>{"hasValue"===e.state&&e.contents instanceof Wf?n.delete(t):n.set(t,e)})),n},batchStart:function(){const e=new Map;return ed.push(e),()=>{for(const[t,n]of e)sf.trace("Recoil batched updates","-",(()=>Jf(t,n)));ed.pop()}},invalidateDownstreams_FOR_TESTING:td};const{unstable_batchedUpdates:ad}=ys;var id={unstable_batchedUpdates:ad};const{batchStart:ud}=od,{unstable_batchedUpdates:ld}=id;let sd=ld;var cd={getBatcher:()=>sd,setBatcher:e=>{sd=e},batchUpdates:e=>{sd((()=>{let t=()=>{};try{t=ud(),e()}finally{t()}}))}};var fd={enqueueExecution:function(e,t){t()}};var dd=function*(e){for(const t of e)for(const e of t)yield e};var pd=function*(e,t){let n=0;for(const r of e)t(r,n++)&&(yield r)};var hd=function(e,t){return function*(){let n=0;for(const r of e)yield t(r,n++)}()};const{graph:vd}=jf;let gd=0;const md=()=>gd++;function yd(){const e=md();return{version:e,stateID:e,transactionMetadata:{},dirtyAtoms:new Set,atomValues:new Map,nonvalidatedAtoms:new Map}}var bd={makeEmptyTreeState:yd,makeEmptyStoreState:function(){const e=yd();return{currentTree:e,nextTree:null,previousTree:null,knownAtoms:new Set,knownSelectors:new Set,transactionSubscriptions:new Map,nodeTransactionSubscriptions:new Map,nodeToComponentSubscriptions:new Map,queuedComponentCallbacks_DEPRECATED:[],suspendedComponentResolvers:new Set,graphsByVersion:(new Map).set(e.version,vd()),versionsUsedByComponent:new Map}},getNextTreeStateVersion:md};const{batchUpdates:wd}=cd,{getDownstreamNodes:Sd,peekNodeLoadable:_d}=If,{graph:Ed}=jf,{DEFAULT_VALUE:kd,recoilValues:Rd}=Cf,{getRecoilValueAsLoadable:xd,setRecoilValue:Cd}=od,{getNextTreeStateVersion:Td,makeEmptyStoreState:Pd}=bd;function Od(e){return hd(e,(e=>uf(Rd.get(e))))}class Ad{constructor(e){ff(this,"_store",void 0),ff(this,"getLoadable",(e=>xd(this._store,e))),ff(this,"getPromise",(e=>this.getLoadable(e).toPromise())),ff(this,"getNodes_UNSTABLE",(e=>{if(!0===(null==e?void 0:e.isModified)){if(!1===(null==e?void 0:e.isInitialized))return[];return Od(this._store.getState().currentTree.dirtyAtoms)}const t=this._store.getState().knownAtoms,n=this._store.getState().knownSelectors;return null==(null==e?void 0:e.isInitialized)?Rd.values():!0===e.isInitialized?Od(dd([this._store.getState().knownAtoms,this._store.getState().knownSelectors])):pd(Rd.values(),(({key:e})=>!t.has(e)&&!n.has(e)))})),ff(this,"getDeps_UNSTABLE",(e=>{this.getLoadable(e);const t=this._store.getGraph(this._store.getState().currentTree.version).nodeDeps.get(e.key);return Od(null!=t?t:[])})),ff(this,"getSubscribers_UNSTABLE",(({key:e})=>{const t=this._store.getState().currentTree;return{nodes:Od(pd(Sd(this._store,t,new Set([e])),(t=>t!==e)))}})),ff(this,"getInfo_UNSTABLE",(e=>{var t;const{key:n}=e,r=this._store.getState().currentTree,o=this._store.getGraph(r.version),a=this._store.getState().knownAtoms.has(n)?"atom":this._store.getState().knownSelectors.has(n)?"selector":void 0;return{loadable:_d(this._store,r,n),isActive:this._store.getState().knownAtoms.has(n)||this._store.getState().knownSelectors.has(n),isSet:"selector"!==a&&r.atomValues.has(n),isModified:r.dirtyAtoms.has(n),type:a,deps:Od(null!==(t=o.nodeDeps.get(n))&&void 0!==t?t:[]),subscribers:this.getSubscribers_UNSTABLE(e)}})),ff(this,"map",(e=>{const t=new Ld(this);return e(t),Nd(t.getStore_INTERNAL())})),ff(this,"asyncMap",(async e=>{const t=new Ld(this);return await e(t),Nd(t.getStore_INTERNAL())})),this._store={getState:()=>e,replaceState:t=>{e.currentTree=t(e.currentTree)},getGraph:t=>{const n=e.graphsByVersion;if(n.has(t))return uf(n.get(t));const r=Ed();return n.set(t,r),r},subscribeToTransactions:()=>({release:()=>{}}),addTransactionMetadata:()=>{throw new Error("Cannot subscribe to Snapshots")}}}getStore_INTERNAL(){return this._store}getID(){return this.getID_INTERNAL()}getID_INTERNAL(){return this._store.getState().currentTree.stateID}}function Md(e,t,n=!1){const o=e.getState(),a=n?Td():t.version;return{currentTree:n?{version:a,stateID:a,transactionMetadata:r({},t.transactionMetadata),dirtyAtoms:new Set(t.dirtyAtoms),atomValues:new Map(t.atomValues),nonvalidatedAtoms:new Map(t.nonvalidatedAtoms)}:t,nextTree:null,previousTree:null,knownAtoms:new Set(o.knownAtoms),knownSelectors:new Set(o.knownSelectors),transactionSubscriptions:new Map,nodeTransactionSubscriptions:new Map,nodeToComponentSubscriptions:new Map,queuedComponentCallbacks_DEPRECATED:[],suspendedComponentResolvers:new Set,graphsByVersion:(new Map).set(a,e.getGraph(t.version)),versionsUsedByComponent:new Map}}function Nd(e,t="current"){const n=e.getState(),r="current"===t?n.currentTree:uf(n.previousTree);return new Ad(Md(e,r))}class Ld extends Ad{constructor(e){super(Md(e.getStore_INTERNAL(),e.getStore_INTERNAL().getState().currentTree,!0)),ff(this,"set",((e,t)=>{const n=this.getStore_INTERNAL();wd((()=>{Cd(n,e,t)}))})),ff(this,"reset",(e=>wd((()=>Cd(this.getStore_INTERNAL(),e,kd)))))}}var Id={Snapshot:Ad,MutableSnapshot:Ld,freshSnapshot:function(e){const t=new Ad(Pd());return null!=e?t.map(e):t},cloneSnapshot:Nd},zd=Id.Snapshot,Dd=Id.MutableSnapshot,jd=Id.freshSnapshot,Fd=Id.cloneSnapshot,Bd=Object.freeze({__proto__:null,Snapshot:zd,MutableSnapshot:Dd,freshSnapshot:jd,cloneSnapshot:Fd});var Vd=function(...e){const t=new Set;for(const n of e)for(const e of n)t.add(e);return t};const{useContext:Ud,useEffect:$d,useMemo:Wd,useRef:Hd,useState:Gd}=f,{cleanUpNode:qd,getDownstreamNodes:Yd,setNodeValue:Kd,setUnvalidatedAtomValue_DEPRECATED:Qd}=If,{graph:Xd,saveDependencyMapToStore:Jd}=jf,{cloneGraph:Zd}=jf,{applyAtomValueWrites:ep}=od,{freshSnapshot:tp}=Bd,{getNextTreeStateVersion:np,makeEmptyStoreState:rp}=bd,{mapByDeletingMultipleFromMap:op}=cf;function ap(){throw new Error("This component must be used inside a component.")}const ip=Object.freeze({getState:ap,replaceState:ap,getGraph:ap,subscribeToTransactions:ap,addTransactionMetadata:ap});let up=!1;function lp(e){if(up)throw new Error("An atom update was triggered within the execution of a state updater function. State updater functions provided to Recoil must be pure functions.");if(null===e.nextTree){const t=e.currentTree.version,n=np();e.nextTree=r(r({},e.currentTree),{version:n,stateID:n,dirtyAtoms:new Set,transactionMetadata:{}}),e.graphsByVersion.set(n,Zd(uf(e.graphsByVersion.get(t))))}}const sp=f.createContext({current:ip}),cp=()=>Ud(sp),fp=f.createContext(null);function dp(e){const t=e.getState(),n=t.currentTree,r=n.dirtyAtoms;if(r.size){for(const[n,i]of t.nodeTransactionSubscriptions)if(r.has(n))for(const[t,r]of i)r(e);for(const[n,r]of t.transactionSubscriptions)r(e);const o=Yd(e,n,r);for(const e of o){const r=t.nodeToComponentSubscriptions.get(e);if(r)for(const[e,[t,o]]of r)o(n)}let a="[available in dev build]";t.suspendedComponentResolvers.forEach((e=>sf.trace("value became available, waking components",a,e)))}t.queuedComponentCallbacks_DEPRECATED.forEach((e=>e(n))),t.queuedComponentCallbacks_DEPRECATED.splice(0,t.queuedComponentCallbacks_DEPRECATED.length)}function pp(e){const t=cp(),[n,r]=Gd([]);return e.setNotifyBatcherOfChange((()=>r({}))),$d((()=>{fd.enqueueExecution("Batcher",(()=>{const e=t.current.getState(),{nextTree:n}=e;if(null===n)return;e.previousTree=e.currentTree,e.currentTree=n,e.nextTree=null,dp(t.current);const r=uf(e.previousTree).version;e.graphsByVersion.delete(r),e.previousTree=null}))})),null}let hp=0;var vp={useStoreRef:cp,useRecoilMutableSource:()=>Ud(fp),RecoilRoot:function({initializeState_DEPRECATED:e,initializeState:t,store_INTERNAL:n,children:o}){var a;let i;const u=Hd(null),l=null!==(a=f.createMutableSource)&&void 0!==a?a:f.unstable_createMutableSource,s=null!=n?n:{getState:()=>i.current,replaceState:e=>{const t=c.current.getState();lp(t);const n=uf(t.nextTree);let r;try{up=!0,r=e(n)}finally{up=!1}r!==n&&(t.nextTree=r,uf(u.current)())},getGraph:e=>{const t=i.current.graphsByVersion;if(t.has(e))return uf(t.get(e));const n=Xd();return t.set(e,n),n},subscribeToTransactions:(e,t)=>{if(null==t){const{transactionSubscriptions:t}=c.current.getState(),n=hp++;return t.set(n,e),{release:()=>{t.delete(n)}}}{const{nodeTransactionSubscriptions:n}=c.current.getState();n.has(t)||n.set(t,new Map);const r=hp++;return uf(n.get(t)).set(r,e),{release:()=>{const e=n.get(t);e&&(e.delete(r),0===e.size&&n.delete(t))}}}},addTransactionMetadata:e=>{lp(c.current.getState());for(const t of Object.keys(e))uf(c.current.getState().nextTree).transactionMetadata[t]=e[t]}},c=Hd(s);i=Hd(null!=e?function(e,t){const n=rp();return t({set:(t,o)=>{const a=n.currentTree,[i,u]=Kd(e,a,t.key,o),l=new Set(u.keys());Jd(i,e,a.version);const s=op(a.nonvalidatedAtoms,l);n.currentTree=r(r({},a),{dirtyAtoms:Vd(a.dirtyAtoms,l),atomValues:ep(a.atomValues,u),nonvalidatedAtoms:s})},setUnvalidatedAtomValues:e=>{e.forEach(((e,t)=>{n.currentTree=Qd(n.currentTree,t,e)}))}}),n}(s,e):null!=t?function(e){return tp().map(e).getStore_INTERNAL().getState()}(t):rp());const d=Wd((()=>l?l(i,(()=>i.current.currentTree.version)):null),[l,i]);return $d((()=>()=>{for(const e of c.current.getState().knownAtoms)qd(c.current,e)}),[]),f.createElement(sp.Provider,{value:c},f.createElement(fp.Provider,{value:d},f.createElement(pp,{setNotifyBatcherOfChange:function(e){u.current=e}}),o))},sendEndOfBatchNotifications_FOR_TESTING:dp};var gp=function(e,t){const n=new Map;for(const[r,o]of e)t(o,r)&&n.set(r,o);return n};var mp=function(e,t){const n=new Set;for(const r of e)t(r)&&n.add(r);return n};var yp=function(e,t){if(!e)throw new Error(t)};var bp,wp=function(...e){const t=new Map;for(let n=0;n"};const{useCallback:Rp,useEffect:xp,useMemo:Cp,useRef:Tp,useState:Pp}=f,{batchUpdates:Op}=cd,{DEFAULT_VALUE:Ap,getNode:Mp,nodes:Np}=Cf,{useRecoilMutableSource:Lp,useStoreRef:Ip}=vp,{AbstractRecoilValue:zp,getRecoilValueAsLoadable:Dp,setRecoilValue:jp,setRecoilValueLoadable:Fp,setUnvalidatedRecoilValue:Bp,subscribeToRecoilValue:Vp}=od,{Snapshot:Up,cloneSnapshot:$p}=Bd,{setByAddingToSet:Wp}=cf,{mutableSourceExists:Hp,useMutableSource:Gp}=_p;function qp(e,t,n){if("hasValue"===e.state)return e.contents;if("loading"===e.state){throw new Promise((e=>{n.current.getState().suspendedComponentResolvers.add(e)}))}throw"hasError"===e.state?e.contents:new Error(`Invalid value of loadable atom "${t.key}"`)}function Yp(e){return Hp()?function(e){const t=Ip(),n=Rp((()=>Dp(t.current,e,t.current.getState().currentTree)),[t,e]),r=kp(),o=Rp(((n,o)=>{const a=t.current,i=Vp(a,e,(()=>{sf.trace("RecoilValue subscription fired",e.key,(()=>{o()}))}),r);return()=>i.release(a)}),[e,t,r]);return Gp(Lp(),n,o)}(e):function(e){const t=Ip(),[n,r]=Pp([]),o=kp();return xp((()=>{const n=t.current,a=Vp(n,e,(t=>{sf.trace("RecoilValue subscription fired",e.key,(()=>{r([])}))}),o);return sf.trace("initial update on subscribing",e.key,(()=>{n.getState().nextTree?n.getState().queuedComponentCallbacks_DEPRECATED.push(sf.wrap((()=>{r([])}))):r([])})),()=>a.release(n)}),[e,t]),Dp(t.current,e)}(e)}function Kp(e){const t=Ip();return qp(Yp(e),e,t)}function Qp(e){const t=Ip();return Rp((n=>{jp(t.current,e,n)}),[t,e])}function Xp(e){const t=Ip();xp((()=>t.current.subscribeToTransactions(e).release),[e,t])}function Jp(e){const t=e.atomValues,n=af(gp(t,((e,t)=>{const n=Mp(t).persistence_UNSTABLE;return null!=n&&"none"!==n.type&&"hasValue"===e.state})),(e=>e.contents));return wp(e.nonvalidatedAtoms,n)}function Zp(){const e=Ip();return Rp((t=>{var n;const o=e.current.getState(),a=null!==(n=o.nextTree)&&void 0!==n?n:o.currentTree,i=t.getStore_INTERNAL().getState().currentTree;Op((()=>{const n=new Set;for(const e of[a.atomValues.keys(),i.atomValues.keys()])for(const t of e){var o,u;(null===(o=a.atomValues.get(t))||void 0===o?void 0:o.contents)!==(null===(u=i.atomValues.get(t))||void 0===u?void 0:u.contents)&&Mp(t).shouldRestoreFromSnapshots&&n.add(t)}n.forEach((t=>{Fp(e.current,new zp(t),i.atomValues.has(t)?uf(i.atomValues.get(t)):Ap)})),e.current.replaceState((e=>r(r({},e),{stateID:t.getID_INTERNAL()})))}))}),[e])}class eh{}const th=new eh;var nh={recoilComponentGetRecoilValueCount_FOR_TESTING:{current:0},useGotoRecoilSnapshot:Zp,useRecoilCallback:function(e,t){const n=Ip(),r=Zp();return Rp(((...t)=>{const o=$p(n.current);function a(e,t){jp(n.current,e,t)}function i(e){jp(n.current,e,Ap)}let u=th;return Op((()=>{u=e({set:a,reset:i,snapshot:o,gotoSnapshot:r})(...t)})),u instanceof eh&&yp(!1),u}),null!=t?[...t,n]:void 0)},useRecoilInterface:function(){const e=Ip(),[t,n]=Pp([]),r=Tp(new Set);r.current=new Set;const o=Tp(new Set),a=Tp(new Map),i=Rp((t=>{const n=a.current.get(t);n&&(n.release(e.current),a.current.delete(t))}),[e,a]),u=kp();return xp((()=>{const t=e.current;function l(e,t){a.current.has(t)&&n([])}zf(r.current,o.current).forEach((e=>{if(a.current.has(e))return;const n=Vp(t,new zp(e),(t=>{sf.trace("RecoilValue subscription fired",e,(()=>{l(0,e)}))}),u);a.current.set(e,n),sf.trace("initial update on subscribing",e,(()=>{t.getState().nextTree?t.getState().queuedComponentCallbacks_DEPRECATED.push(sf.wrap((()=>{l(t.getState(),e)}))):l(t.getState(),e)}))})),zf(o.current,r.current).forEach((e=>{i(e)})),o.current=r.current})),xp((()=>{const e=a.current;return()=>e.forEach(((e,t)=>i(t)))}),[i]),Cp((()=>{function t(t){return n=>{jp(e.current,t,n)}}function n(t){return r.current.has(t.key)||(r.current=Wp(r.current,t.key)),Dp(e.current,t)}function o(t){return qp(n(t),t,e)}return{getRecoilValue:o,getRecoilValueLoadable:n,getRecoilState:function(e){return[o(e),t(e)]},getRecoilStateLoadable:function(e){return[n(e),t(e)]},getSetRecoilState:t,getResetRecoilState:function(t){return()=>jp(e.current,t,Ap)}}}),[r,e])},useRecoilSnapshot:function(){const e=Ip(),[t,n]=Pp((()=>$p(e.current)));return Xp(Rp((e=>n($p(e))),[])),t},useRecoilState:function(e){return[Kp(e),Qp(e)]},useRecoilStateLoadable:function(e){return[Yp(e),Qp(e)]},useRecoilTransactionObserver:function(e){Xp(Rp((t=>{e({snapshot:$p(t,"current"),previousSnapshot:$p(t,"previous")})}),[e]))},useRecoilValue:Kp,useRecoilValueLoadable:Yp,useResetRecoilState:function(e){const t=Ip();return Rp((()=>{jp(t.current,e,Ap)}),[t,e])},useSetRecoilState:Qp,useSetUnvalidatedAtomValues:function(){const e=Ip();return(t,n={})=>{Op((()=>{e.current.addTransactionMetadata(n),t.forEach(((t,n)=>Bp(e.current,new zp(n),t)))}))}},useTransactionObservation_DEPRECATED:function(e){Xp(Rp((t=>{let n=t.getState().previousTree;const o=t.getState().currentTree;n||(n=t.getState().currentTree);const a=Jp(o),i=Jp(n),u=af(Np,(e=>{var t,n,r,o;return{persistence_UNSTABLE:{type:null!==(t=null===(n=e.persistence_UNSTABLE)||void 0===n?void 0:n.type)&&void 0!==t?t:"none",backButton:null!==(r=null===(o=e.persistence_UNSTABLE)||void 0===o?void 0:o.backButton)&&void 0!==r&&r}}})),l=mp(o.dirtyAtoms,(e=>a.has(e)||i.has(e)));e({atomValues:a,previousAtomValues:i,atomInfo:u,modifiedAtoms:l,transactionMetadata:r({},o.transactionMetadata)})}),[e]))},useTransactionSubscription_DEPRECATED:Xp};const{useMemo:rh}=f,{RecoilRoot:oh,useStoreRef:ah}=vp;var ih=function(){const e=ah().current;return rh((()=>function({children:t}){return f.createElement(oh,{store_INTERNAL:e},t)}),[e])};var uh=function(e){return!!e&&"function"==typeof e.then};const lh={getValue(){if("loading"===this.state&&of("recoil_async_selector_refactor"))throw this.contents.then((({__value:e})=>e));if("hasValue"!==this.state)throw this.contents;return this.contents},toPromise(){return"hasValue"===this.state?Promise.resolve(this.contents):"hasError"===this.state?Promise.reject(this.contents):of("recoil_async_selector_refactor")?this.contents.then((({__value:e})=>e)):this.contents},valueMaybe(){return"hasValue"===this.state?this.contents:void 0},valueOrThrow(){if("hasValue"!==this.state)throw new Error(`Loadable expected value, but in "${this.state}" state`);return this.contents},errorMaybe(){return"hasError"===this.state?this.contents:void 0},errorOrThrow(){if("hasError"!==this.state)throw new Error(`Loadable expected error, but in "${this.state}" state`);return this.contents},promiseMaybe(){return"loading"===this.state?of("recoil_async_selector_refactor")?this.contents.then((({__value:e})=>e)):this.contents:void 0},promiseOrThrow(){if("loading"!==this.state)throw new Error(`Loadable expected promise, but in "${this.state}" state`);return of("recoil_async_selector_refactor")?this.contents.then((({__value:e})=>e)):this.contents},map(e){if("hasError"===this.state)return this;if("hasValue"===this.state)try{const t=e(this.contents);return uh(t)?fh(t):sh(t)}catch(t){return uh(t)?fh(t.next((()=>e(this.contents)))):ch(t)}if("loading"===this.state)return fh(this.contents.then(e).catch((t=>{if(uh(t))return t.then((()=>e(this.contents)));throw t})));throw new Error("Invalid Loadable state")}};function sh(e){return Object.freeze(r({state:"hasValue",contents:e},lh))}function ch(e){return Object.freeze(r({state:"hasError",contents:e},lh))}function fh(e){return Object.freeze(r({state:"loading",contents:e},lh))}var dh={loadableWithValue:sh,loadableWithError:ch,loadableWithPromise:fh,loadableLoading:function(){return fh(new Promise((()=>{})))},loadableAll:function(e){return e.every((e=>"hasValue"===e.state))?sh(e.map((e=>e.contents))):e.some((e=>"hasError"===e.state))?ch(uf(e.find((e=>"hasError"===e.state)),"Invalid loadable passed to loadableAll").contents):fh(of("recoil_async_selector_refactor")?Promise.all(e.map((e=>e.contents))).then((e=>({__value:e}))):Promise.all(e.map((e=>e.contents))))}};var ph=function(){let e,t;const n={get:n=>n===e?t:void 0,set:(r,o)=>(e=r,t=o,n)};return n};const hh=Symbol("ArrayKeyedMap"),vh=new Map;class gh{constructor(e){if(ff(this,"_base",new Map),e instanceof gh)for(const[t,n]of e.entries())this.set(t,n);else if(e)for(const[t,n]of e)this.set(t,n);return this}get(e){const t=Array.isArray(e)?e:[e];let n=this._base;return t.forEach((e=>{var t;n=null!==(t=n.get(e))&&void 0!==t?t:vh})),void 0===n?void 0:n.get(hh)}set(e,t){const n=Array.isArray(e)?e:[e];let r=this._base,o=r;return n.forEach((e=>{o=r.get(e),o||(o=new Map,r.set(e,o)),r=o})),o.set(hh,t),this}delete(e){const t=Array.isArray(e)?e:[e];let n=this._base,r=n;return t.forEach((e=>{r=n.get(e),r||(r=new Map,n.set(e,r)),n=r})),r.delete(hh),this}entries(){const e=[];return function t(n,r){n.forEach(((n,o)=>{o===hh?e.push([r,n]):t(n,r.concat(o))}))}(this._base,[]),e.values()}toBuiltInMap(){return new Map(this.entries())}}var mh=gh,yh=Object.freeze({__proto__:null,ArrayKeyedMap:mh});const{ArrayKeyedMap:bh}=yh;var wh=function(){return new bh};function Sh(e,t,n){if("string"==typeof e&&!e.includes('"')&&!e.includes("\\"))return`"${e}"`;switch(typeof e){case"undefined":return"";case"boolean":return e?"true":"false";case"number":case"symbol":return String(e);case"string":return JSON.stringify(e);case"function":if(!0!==(null==t?void 0:t.allowFunctions))throw new Error("Attempt to serialize function in a Recoil cache key");return`__FUNCTION(${e.name})__`}if(null===e)return"null";var r;if("object"!=typeof e)return null!==(r=JSON.stringify(e))&&void 0!==r?r:"";if(uh(e))return"__PROMISE__";if(Array.isArray(e))return`[${e.map(((e,n)=>Sh(e,t,n.toString())))}]`;if("function"==typeof e.toJSON)return Sh(e.toJSON(n),t,n);if(e instanceof Map){const r={};for(const[n,o]of e)r["string"==typeof n?n:Sh(n,t)]=o;return Sh(r,t,n)}return e instanceof Set?Sh(Array.from(e).sort(((e,n)=>Sh(e,t).localeCompare(Sh(n,t)))),t,n):null!=e[Symbol.iterator]&&"function"==typeof e[Symbol.iterator]?Sh(Array.from(e),t,n):`{${Object.keys(e).filter((t=>void 0!==e[t])).sort().map((n=>`${Sh(n,t)}:${Sh(e[n],t,n)}`)).join(",")}}`}var _h=function(e,t={allowFunctions:!1}){return Sh(e,t)};var Eh=function(){const e=new Map,t={get:t=>e.get(_h(t)),set:(n,r)=>(e.set(_h(n),r),t),map:e};return t};var kh=function(){let e;return{get:(t,n)=>{if(void 0!==e){for(const[o,a]of e.route){var r;if(t(o)!==a)return;null==n||null===(r=n.onCacheHit)||void 0===r||r.call(n,o)}return e.value}},set:(t,n)=>{e={route:t,value:n}},getRoot:()=>e}};var Rh={setInTreeCache:function e(t,n,r){if(null==t){if(0===n.length)return{type:"result",result:r};{const[t,...o]=n,[a,i]=t;return{type:"branch",nodeKey:a,branches:new Map([[i,e(null,o,r)]])}}}if(0===n.length){if("result"!==t.type&&yp(!1),t.result&&"loading"===t.result.state){return{type:"result",result:r}}t.result!==r&&yp(!1);return t}{const[o,...a]=n,[i,u]=o;return"branch"!==t.type&&yp(!1),t.nodeKey!==i&&yp(!1),t.branches.set(u,e(t.branches.get(u),a,r)),t}},getFromTreeCache:function e(t,n,r){var o;if(null==t)return;if("result"===t.type)return t.result;null==r||null===(o=r.onCacheHit)||void 0===o||o.call(r,t.nodeKey);const a=n(t.nodeKey);return e(t.branches.get(a),n,r)}};const{getFromTreeCache:xh,setInTreeCache:Ch}=Rh;var Th=function(){let e;return{get:(t,n)=>xh(e,t,n),set:(t,n)=>{e=Ch(e,t,n)},getRoot:()=>e}};const{getFromTreeCache:Ph,setInTreeCache:Oh}=Rh;var Ah=function(){let e;return{get:(t,n)=>Ph(e,(e=>_h(t(e))),n),set:(t,n)=>{e=Oh(e,t.map((([e,t])=>[e,_h(t)])),n)},getRoot:()=>e}};var Mh={startPerfBlock:function(e){return()=>null}};const{loadableWithError:Nh,loadableWithPromise:Lh,loadableWithValue:Ih}=dh,{getNodeLoadable:zh,peekNodeLoadable:Dh,setNodeValue:jh}=If,{saveDependencyMapToStore:Fh}=jf,{DEFAULT_VALUE:Bh,RecoilValueNotReady:Vh,registerNode:Uh}=Cf,{isRecoilValue:$h}=wf,{AbstractRecoilValue:Wh}=wf,{setRecoilValueLoadable:Hh}=od,{startPerfBlock:Gh}=Mh,qh=Object.freeze(new Set),Yh=[],Kh=new Map,Qh=(()=>{let e=0;return()=>e++})();var Xh=function(e){const{key:t,get:n,cacheImplementation_UNSTABLE:r}=e,o=null!=e.set?e.set:void 0,a=r===wh?Th():r===Eh?Ah():r===ph?kh():Th(),i={depValuesDiscoveredSoFarDuringAsyncWork:null,latestLoadable:null,latestExecutionId:null,stateVersion:null};function u(e){e.getState().knownSelectors.add(t)}function l(e,t,n){if("loading"===t.state){let t=Kh.get(n);null==t&&Kh.set(n,t=new Set),t.add(e)}}function s(e,t,n){if(t.atomValues.has(n))return[new Map,uf(t.atomValues.get(n))];const[,r]=zh(e,t,n),o=e.getState().knownSelectors.has(n);return"loading"!==r.state&&o&&t.atomValues.set(n,r),[new Map,r]}function c(e,n,r,o,a){return n.then((n=>{const{__key:o,__value:i}=n;null!=o&&r.atomValues.set(o,Ih(i));const[u,l]=h(e,r,a);if(S(a)&&w(l,a),_(u),"loading"!==u.state&&(E(r,v(l),u),f(u,a)),"hasError"===u.state)throw u.contents;return"hasValue"===u.state?{__value:u.contents,__key:t}:u.contents})).catch((e=>{const t=Nh(e);throw E(r,v(o),Nh(e)),f(t,a),e}))}function f(e,n){S(n)&&(b(e),function(e,n){const r=Kh.get(n);if(void 0!==r){for(const n of r)Hh(n,new Wh(t),e);Kh.delete(n)}}(e,n))}function d(e,n,r,o){var a,i,u,l,s,c,f;(S(o)||n.version===(null===(a=e.getState())||void 0===a||null===(i=a.currentTree)||void 0===i?void 0:i.version)||n.version===(null===(u=e.getState())||void 0===u||null===(l=u.nextTree)||void 0===l?void 0:l.version))&&Fh(new Map([[t,r]]),e,null!==(s=null===(c=e.getState())||void 0===c||null===(f=c.nextTree)||void 0===f?void 0:f.version)&&void 0!==s?s:e.getState().currentTree.version)}function p(e,t,n,r,o){n.add(r),d(e,t,n,o)}function h(e,r,o){const a=Gh(t);let i,u;const l=new Map,h=new Set;function g(t){const{key:n}=t;p(e,r,h,n,o);const[,a]=s(e,r,n);if(l.set(n,a),"hasValue"===a.state)return a.contents;throw a.contents}d(e,r,h,o);try{i=n({get:g}),i=$h(i)?g(i):i,uh(i)?i=function(e,n,r,o,a){return n.then((e=>{const n=Ih(e);return E(r,v(o),n),f(n,a),{__value:e,__key:t}})).catch((t=>{if(S(a)&&w(o,a),uh(t))return c(e,t,r,o,a);const n=Nh(t);throw E(r,v(o),n),f(n,a),t}))}(e,i,r,l,o).finally(a):a()}catch(m){i=m,uh(i)?i=c(e,i,r,l,o).finally(a):a()}return u=i instanceof Error?Nh(i):uh(i)?Lh(i):Ih(i),_(u),[u,l]}function v(e){return Array.from(e.entries()).map((([e,t])=>[e,t.contents]))}function g(e,t){const n=Qh(),[r,o]=h(e,t,n);return b(r,o,n,t),function(e,t,n){"loading"!==n.state&&E(e,t,n)}(t,v(o),r),l(e,r,n),r}function m(e,n){const r=function(e,n){var r;if(n.atomValues.has(t))return n.atomValues.get(t);const o=new Set(null!==(r=e.getGraph(n.version).nodeDeps.get(t))&&void 0!==r?r:qh);return d(e,n,o,i.latestExecutionId),a.get((t=>{const[,r]=s(e,n,t);return r.contents}),{onCacheHit:r=>{r!==t&&p(e,n,o,r,i.latestExecutionId)}})}(e,n);return null!=r?(b(r),r):function(e,t){return null!=i.latestLoadable&&null!=i.latestExecutionId&&!function(e,t){var n,r;const o=null!==(n=i.depValuesDiscoveredSoFarDuringAsyncWork)&&void 0!==n?n:new Map,a=Array((null!==(r=y.get(t.version))&&void 0!==r?r:new Map).entries()),u=y.has(t.version)&&a.length===o.size&&a.every((([e,t])=>o.get(e)===t));if(null==o||t.version===i.stateVersion||u)return!1;return y.set(t.version,new Map(o)),Array.from(o).some((([n,r])=>{const[,o]=s(e,t,n);return o.contents!==r.contents&&!("loading"===r.state&&"loading"!==o.state)}))}(e,t)}(e,n)?(l(e,uf(i.latestLoadable),uf(i.latestExecutionId)),uf(i.latestLoadable)):g(e,n)}const y=new Map;function b(e,t,n,r){"loading"===e.state?(i.depValuesDiscoveredSoFarDuringAsyncWork=t,i.latestExecutionId=n,i.latestLoadable=e,i.stateVersion=null==r?void 0:r.version):(i.depValuesDiscoveredSoFarDuringAsyncWork=null,i.latestExecutionId=null,i.latestLoadable=null,i.stateVersion=null)}function w(e,t){S(t)&&(i.depValuesDiscoveredSoFarDuringAsyncWork=e)}function S(e){return e===i.latestExecutionId}function _(e){"loading"!==e.state&&e.contents}function E(e,n,r){e.atomValues.set(t,r),a.set(n,r)}function k(e){if(Yh.includes(t)){const e=`Recoil selector has circular dependencies: ${Yh.slice(Yh.indexOf(t)).join(" → ")}`;return Nh(new Error(e))}Yh.push(t);try{return e()}finally{Yh.pop()}}function R(e,t){return a.get((n=>{const r=Dh(e,t,n);return null==r?void 0:r.contents}))}function x(e,t){return u(e),[new Map,k((()=>m(e,t)))]}function C(e){e.atomValues.delete(t)}if(null!=o){return Uh({key:t,peek:R,get:x,set:function(e,t,n){u(e);const r=new Map,a=new Map;function i({key:n}){const[,r]=s(e,t,n);if("hasValue"===r.state)return r.contents;throw"loading"===r.state?new Vh(n):r.contents}function l(n,r){const o="function"==typeof r?r(i(n)):r,[,u]=jh(e,t,n.key,o);u.forEach(((e,t)=>a.set(t,e)))}return o({set:l,get:i,reset:function(e){l(e,Bh)}},n),[r,a]},cleanUp:()=>{},invalidate:C,dangerouslyAllowMutability:e.dangerouslyAllowMutability,shouldRestoreFromSnapshots:!1})}return Uh({key:t,peek:R,get:x,cleanUp:()=>{},invalidate:C,dangerouslyAllowMutability:e.dangerouslyAllowMutability,shouldRestoreFromSnapshots:!1})};const{loadableWithError:Jh,loadableWithPromise:Zh,loadableWithValue:ev}=dh,{getNodeLoadable:tv,peekNodeLoadable:nv,setNodeValue:rv}=If,{addToDependencyMap:ov,mergeDepsIntoDependencyMap:av,saveDependencyMapToStore:iv}=jf,{DEFAULT_VALUE:uv,RecoilValueNotReady:lv,registerNode:sv}=Cf,{AbstractRecoilValue:cv}=wf,{getRecoilValueAsLoadable:fv,isRecoilValue:dv,setRecoilValueLoadable:pv}=od,{startPerfBlock:hv}=Mh,vv=Object.freeze(new Set);function gv(e){const t=[];for(const n of Array.from(e.keys()).sort()){const r=uf(e.get(n));t.push(n),t.push(r.state),t.push(r.contents)}return t}const mv=new Map;var yv=function(e){const{key:t,get:n,cacheImplementation_UNSTABLE:r}=e,o=null!=e.set?e.set:void 0;let a=null!=r?r:wh();function i(e){e.getState().knownSelectors.add(t)}function u(e,t){if("loading"===t.state){let n=mv.get(t);void 0===n&&mv.set(t,n=new Set),n.add(e)}}function l(e,n){const r=mv.get(e);if(void 0!==r){for(const e of r)pv(e,new cv(t),n);mv.delete(e)}}function s(e,r){var o;const i=new Map,s=null!==(o=e.getGraph(r.version).nodeDeps.get(t))&&void 0!==o?o:vv,c=gv(new Map(Array.from(s).sort().map((t=>{const[n,o]=tv(e,r,t);return av(n,i),iv(i,e,r.version),[t,o]})))),f=a.get(c);if(null!=f)return u(e,f),[i,f];const[d,p,h]=function(e,r){const o=hv(t),a=new Map,i=new Map;function u({key:n}){ov(t,n,i);const[o,u]=tv(e,r,n);if(a.set(n,u),av(o,i),iv(i,e,r.version),"hasValue"===u.state)return u.contents;throw u.contents}try{const e=n({get:u}),t=dv(e)?u(e):e;let r;return uh(t)?r=Zh(t.finally(o)):(o(),r=ev(t)),[i,r,a]}catch(l){let n;return void 0!==l.then?n=Zh(l.then((()=>{const n=fv(e,new cv(t));if("hasError"===n.state)throw n.contents;return n.contents})).finally(o)):(o(),n=Jh(l)),[i,n,a]}}(e,r);av(d,i),iv(i,e,r.version);const v=gv(h);return u(e,p),function(e,n,r){"loading"!==r.state||r.contents.then((e=>{const t=ev(e);return a=a.set(n,t),l(r,t),e})).catch((e=>{if(uh(e))return e;const t=Jh(e);return a=a.set(n,t),l(r,t),e})),a=a.set(n,r),"loading"!==r.state&&e.atomValues.set(t,r)}(r,v,p),[i,p]}function c(e,n){var r;const o=null!==(r=e.getGraph(n.version).nodeDeps.get(t))&&void 0!==r?r:vv,i=new Map(Array.from(o).sort().map((t=>[t,nv(e,n,t)]))),u=new Map;for(const[t,a]of i.entries()){if(null==a)return;u.set(t,a)}const l=gv(u);return a.get(l)}function f(e){e.atomValues.delete(t)}function d(e,n){i(e);const r=n.atomValues.get(t);return void 0!==r?[new Map,r]:s(e,n)}if(null!=o){return sv({key:t,peek:c,get:d,set:function(e,t,n){i(e);const r=new Map,a=new Map;function u({key:n}){const[o,a]=tv(e,t,n);if(av(o,r),"hasValue"===a.state)return a.contents;throw"loading"===a.state?new lv(n):a.contents}function l(n,o){const i="function"==typeof o?o(u(n)):o,[l,s]=rv(e,t,n.key,i);av(l,r),s.forEach(((e,t)=>a.set(t,e)))}return o({set:l,get:u,reset:function(e){l(e,uv)}},n),[r,a]},invalidate:f,cleanUp:()=>{},dangerouslyAllowMutability:e.dangerouslyAllowMutability,shouldRestoreFromSnapshots:!1})}return sv({key:t,peek:c,get:d,invalidate:f,cleanUp:()=>{},dangerouslyAllowMutability:e.dangerouslyAllowMutability,shouldRestoreFromSnapshots:!1})};var bv=of("recoil_async_selector_refactor")?Xh:yv;const{loadableWithError:wv,loadableWithPromise:Sv,loadableWithValue:_v}=dh,{DEFAULT_VALUE:Ev,DefaultValue:kv,registerNode:Rv}=Cf,{isRecoilValue:xv}=wf,{markRecoilValueModified:Cv,setRecoilValue:Tv,setRecoilValueLoadable:Pv}=od;function Ov(e){const{key:t,persistence_UNSTABLE:n}=e;let r,o=uh(e.default)?Sv(e.default.then((e=>{o=_v(e);return{__key:t,__value:e}})).catch((e=>{throw o=wv(e),e}))):_v(e.default);const a=new Map;function i(n,r,i){if(n.getState().knownAtoms.has(t))return;if(n.getState().knownAtoms.add(t),"loading"===o.state){let e=function(){var e;(null!==(e=n.getState().nextTree)&&void 0!==e?e:n.getState().currentTree).atomValues.has(t)||Cv(n,u)};o.contents.then(e).catch(e)}let l=Ev,s=null;if(null!=e.effects_UNSTABLE){let r=!0;const f=e=>t=>{if(r){const e=l instanceof kv||uh(l)?"hasValue"===o.state?o.contents:Ev:l;l="function"==typeof t?t(e):t}else{if(uh(t))throw new Error("Setting atoms to async values is not implemented.");"function"!=typeof t&&(s={effect:e,value:t}),Tv(n,u,"function"==typeof t?n=>{const r=t(n);return s={effect:e,value:r},r}:t)}},d=e=>()=>f(e)(Ev),p=e=>r=>{n.subscribeToTransactions((n=>{var a;let{currentTree:i,previousTree:u}=n.getState();u||(u=i);const l=i.atomValues.get(t);if(null==l||"hasValue"===l.state){var c,f,d;const n=null!=l?l.contents:Ev,a=null!==(c=u.atomValues.get(t))&&void 0!==c?c:o,i="hasValue"===a.state?a.contents:Ev;(null===(f=s)||void 0===f?void 0:f.effect)===e&&(null===(d=s)||void 0===d?void 0:d.value)===n||r(n,i)}(null===(a=s)||void 0===a?void 0:a.effect)===e&&(s=null)}),t)};for(const t of null!==(c=e.effects_UNSTABLE)&&void 0!==c?c:[]){var c;const e=t({node:u,trigger:i,setSelf:f(t),resetSelf:d(t),onSet:p(t)});null!=e&&a.set(n,e)}r=!1}l instanceof kv||r.atomValues.set(t,uh(l)?Sv(function(e,n){const r=n.then((n=>{var o,a;return(null===(a=(null!==(o=e.getState().nextTree)&&void 0!==o?o:e.getState().currentTree).atomValues.get(t))||void 0===a?void 0:a.contents)===r&&Tv(e,u,n),{__key:t,__value:n}})).catch((n=>{var o,a;throw(null===(a=(null!==(o=e.getState().nextTree)&&void 0!==o?o:e.getState().currentTree).atomValues.get(t))||void 0===a?void 0:a.contents)===r&&Pv(e,u,wv(n)),n}));return r}(n,l)):_v(l))}const u=Rv({key:t,peek:function(e,n){var a,i,u;return null!==(a=null!==(i=n.atomValues.get(t))&&void 0!==i?i:null===(u=r)||void 0===u?void 0:u[1])&&void 0!==a?a:o},get:function(e,a){if(i(e,a,"get"),a.atomValues.has(t))return[new Map,uf(a.atomValues.get(t))];if(a.nonvalidatedAtoms.has(t)){if(null!=r)return r;if(null==n)return[new Map,o];const e=a.nonvalidatedAtoms.get(t),i=n.validator(e,Ev),u=i instanceof kv?o:_v(i);return r=[new Map,u],r}return[new Map,o]},set:function(e,n,o){if(i(e,n,"set"),n.atomValues.has(t)){const e=uf(n.atomValues.get(t));if("hasValue"===e.state&&o===e.contents)return[new Map,new Map]}else if(!n.nonvalidatedAtoms.has(t)&&o instanceof kv)return[new Map,new Map];return r=void 0,[new Map,(new Map).set(t,_v(o))]},cleanUp:function(e){var t;null===(t=a.get(e))||void 0===t||t(),a.delete(e)},invalidate:function(){r=void 0},dangerouslyAllowMutability:e.dangerouslyAllowMutability,persistence_UNSTABLE:e.persistence_UNSTABLE?{type:e.persistence_UNSTABLE.type,backButton:e.persistence_UNSTABLE.backButton}:void 0,shouldRestoreFromSnapshots:!0});return u}function Av(o){const{default:a}=o,i=((r,o)=>{var a={};for(var i in r)e.call(r,i)&&o.indexOf(i)<0&&(a[i]=r[i]);if(null!=r&&t)for(var i of t(r))o.indexOf(i)<0&&n.call(r,i)&&(a[i]=r[i]);return a})(o,["default"]);return xv(a)?function(e){const t=Av(r(r({},e),{default:Ev,persistence_UNSTABLE:void 0===e.persistence_UNSTABLE?void 0:r(r({},e.persistence_UNSTABLE),{validator:t=>t instanceof kv?t:uf(e.persistence_UNSTABLE).validator(t,Ev)}),effects_UNSTABLE:e.effects_UNSTABLE}));return bv({key:`${e.key}__withFallback`,get:({get:n})=>{const r=n(t);return r instanceof kv?e.default:r},set:({set:e},n)=>e(t,n),dangerouslyAllowMutability:e.dangerouslyAllowMutability})}(r(r({},i),{default:a})):Ov(r(r({},i),{default:a}))}var Mv=Av;let Nv=0;var Lv=function(e){var t,n;let r=null!==(t=null===(n=e.cacheImplementationForParams_UNSTABLE)||void 0===n?void 0:n.call(e))&&void 0!==t?t:Eh();return t=>{var n,o;const a=r.get(t);if(null!=a)return a;const i=`${e.key}__selectorFamily/${null!==(n=_h(t,{allowFunctions:!0}))&&void 0!==n?n:"void"}/${Nv++}`,u=n=>e.get(t)(n),l=null===(o=e.cacheImplementation_UNSTABLE)||void 0===o?void 0:o.call(e);let s;if(null!=e.set){const n=e.set;s=bv({key:i,get:u,set:(e,r)=>n(t)(e,r),cacheImplementation_UNSTABLE:l,dangerouslyAllowMutability:e.dangerouslyAllowMutability})}else s=bv({key:i,get:u,cacheImplementation_UNSTABLE:l,dangerouslyAllowMutability:e.dangerouslyAllowMutability});return r=r.set(t,s),s}};const{DEFAULT_VALUE:Iv,DefaultValue:zv}=Cf;var Dv=function(e){let t=Eh();const n={key:e.key,default:Iv,persistence_UNSTABLE:e.persistence_UNSTABLE};let o;o=Mv(n);const a=Lv({key:`${e.key}__atomFamily/Default`,get:t=>({get:n})=>{const r=n("function"==typeof o?o(t):o);return r instanceof zv?"function"==typeof e.default?e.default(t):e.default:r},dangerouslyAllowMutability:e.dangerouslyAllowMutability});return n=>{var o;const i=t.get(n);if(null!=i)return i;const u=Mv(r(r({},e),{key:`${e.key}__${null!==(o=_h(n))&&void 0!==o?o:"void"}`,default:a(n),effects_UNSTABLE:"function"==typeof e.effects_UNSTABLE?e.effects_UNSTABLE(n):e.effects_UNSTABLE}));return t=t.set(n,u),u}};const jv=Lv({key:"__constant",get:e=>()=>e,cacheImplementationForParams_UNSTABLE:wh});var Fv=function(e){return jv(e)};const Bv=Lv({key:"__error",get:e=>()=>{throw new Error(e)},cacheImplementationForParams_UNSTABLE:wh});var Vv=function(e){return Bv(e)};var Uv=function(e){return e};const{loadableWithError:$v,loadableWithPromise:Wv,loadableWithValue:Hv}=dh;function Gv(e,t){const n=Array(t.length).fill(void 0),r=Array(t.length).fill(void 0);for(const[a,i]of t.entries())try{n[a]=e(i)}catch(o){r[a]=o}return[n,r]}function qv(e){return null!=e&&!uh(e)}function Yv(e){return Array.isArray(e)?e:Object.getOwnPropertyNames(e).map((t=>e[t]))}function Kv(e){return null!=e&&"object"==typeof e&&e.hasOwnProperty("__value")?e.__value:e}function Qv(e,t){return Array.isArray(e)?t:Object.getOwnPropertyNames(e).reduce(((e,n,o)=>r(r({},e),{[n]:t[o]})),{})}function Xv(e,t,n){return Qv(e,n.map(((e,n)=>null==e?Hv(t[n]):uh(e)?Wv(e):$v(e))))}var Jv={waitForNone:Lv({key:"__waitForNone",get:e=>({get:t})=>{const n=Yv(e),[r,o]=Gv(t,n);return Xv(e,r,o)}}),waitForAny:Lv({key:"__waitForAny",get:e=>({get:t})=>{const n=Yv(e),[r,o]=Gv(t,n);if(o.some((e=>null==e)))return Xv(e,r,o);if(o.every(qv))throw o.find(qv);if(of("recoil_async_selector_refactor"))return new Promise(((t,n)=>{for(const[a,i]of o.entries())uh(i)&&i.then((n=>{r[a]=Kv(n),o[a]=null,t(Xv(e,r,o))})).catch((e=>{o[a]=e,o.every(qv)&&n(o[0])}))}));throw new Promise(((t,n)=>{for(const[a,i]of o.entries())uh(i)&&i.then((n=>{r[a]=n,o[a]=null,t(Xv(e,r,o))})).catch((e=>{o[a]=e,o.every(qv)&&n(o[0])}))}))}}),waitForAll:Lv({key:"__waitForAll",get:e=>({get:t})=>{const n=Yv(e),[r,o]=Gv(t,n);if(o.every((e=>null==e)))return Qv(e,r);const a=o.find(qv);if(null!=a)throw a;if(of("recoil_async_selector_refactor"))return Promise.all(o).then((t=>{return Qv(e,(n=r,o=t,o.map(((e,t)=>void 0===e?n[t]:e))).map(Kv));var n,o}));throw Promise.all(o).then((t=>Qv(e,t)))}}),noWait:Lv({key:"__noWait",get:e=>({get:t})=>{try{return Hv(t(e))}catch(n){return uh(n)?Wv(n):$v(n)}}})};const{batchUpdates:Zv,setBatcher:eg}=cd,{DefaultValue:tg}=Cf,{RecoilRoot:ng}=vp,{isRecoilValue:rg}=wf,{freshSnapshot:og}=Bd,{useGotoRecoilSnapshot:ag,useRecoilCallback:ig,useRecoilSnapshot:ug,useRecoilState:lg,useRecoilStateLoadable:sg,useRecoilTransactionObserver:cg,useRecoilValue:fg,useRecoilValueLoadable:dg,useResetRecoilState:pg,useSetRecoilState:hg,useSetUnvalidatedAtomValues:vg,useTransactionObservation_DEPRECATED:gg}=nh,{noWait:mg,waitForAll:yg,waitForAny:bg,waitForNone:wg}=Jv;var Sg={DefaultValue:tg,RecoilRoot:ng,useRecoilBridgeAcrossReactRoots_UNSTABLE:ih,atom:Mv,selector:bv,atomFamily:Dv,selectorFamily:Lv,constSelector:Fv,errorSelector:Vv,readOnlySelector:Uv,useRecoilValue:fg,useRecoilValueLoadable:dg,useRecoilState:lg,useRecoilStateLoadable:sg,useSetRecoilState:hg,useResetRecoilState:pg,useRecoilCallback:ig,useGotoRecoilSnapshot:ag,useRecoilSnapshot:ug,useRecoilTransactionObserver_UNSTABLE:cg,useTransactionObservation_UNSTABLE:gg,useSetUnvalidatedAtomValues_UNSTABLE:vg,noWait:mg,waitForNone:wg,waitForAny:bg,waitForAll:yg,isRecoilValue:rg,batchUpdates:Zv,setBatcher:eg,snapshot_UNSTABLE:og},_g=Sg.RecoilRoot,Eg=Sg.atom,kg=Sg.selector,Rg=Sg.useRecoilValue,xg=Sg.useRecoilState,Cg=o((function(e){!function(){var t={}.hasOwnProperty;function n(){for(var e=[],r=0;r1?t-1:0),r=1;r3?t.i-4:t.i:Array.isArray(e)?1:zg(e)?2:Dg(e)?3:0}function Lg(e,t){return 2===Ng(e)?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function Ig(e,t,n){var r=Ng(e);2===r?e.set(t,n):3===r?(e.delete(t),e.add(n)):e[t]=n}function zg(e){return cm&&e instanceof Map}function Dg(e){return fm&&e instanceof Set}function jg(e){return e.o||e.t}function Fg(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=mm(e);delete t[vm];for(var n=gm(t),r=0;r1&&(e.set=e.add=e.clear=e.delete=Vg),Object.freeze(e),t&&Mg(e,(function(e,t){return Bg(t,!0)}),!0)),e}function Vg(){Pg(2)}function Ug(e){return null==e||"object"!=typeof e||Object.isFrozen(e)}function $g(e){var t=ym[e];return t||Pg(18,e),t}function Wg(){return lm}function Hg(e,t){t&&($g("Patches"),e.u=[],e.s=[],e.v=t)}function Gg(e){qg(e),e.p.forEach(Kg),e.p=null}function qg(e){e===lm&&(lm=e.l)}function Yg(e){return lm={p:[],l:lm,h:e,m:!0,_:0}}function Kg(e){var t=e[vm];0===t.i||1===t.i?t.j():t.g=!0}function Qg(e,t){t._=t.p.length;var n=t.p[0],r=void 0!==e&&e!==n;return t.h.O||$g("ES5").S(t,e,r),r?(n[vm].P&&(Gg(t),Pg(4)),Ag(e)&&(e=Xg(t,e),t.l||Zg(t,e)),t.u&&$g("Patches").M(n[vm],e,t.u,t.s)):e=Xg(t,n,[]),Gg(t),t.u&&t.v(t.u,t.s),e!==pm?e:void 0}function Xg(e,t,n){if(Ug(t))return t;var r=t[vm];if(!r)return Mg(t,(function(o,a){return Jg(e,r,t,o,a,n)}),!0),t;if(r.A!==e)return t;if(!r.P)return Zg(e,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var o=4===r.i||5===r.i?r.o=Fg(r.k):r.o;Mg(3===r.i?new Set(o):o,(function(t,a){return Jg(e,r,o,t,a,n)})),Zg(e,o,!1),n&&e.u&&$g("Patches").R(r,n,e.u,e.s)}return r.o}function Jg(e,t,n,r,o,a){if(Og(o)){var i=Xg(e,o,a&&t&&3!==t.i&&!Lg(t.D,r)?a.concat(r):void 0);if(Ig(n,r,i),!Og(i))return;e.m=!1}if(Ag(o)&&!Ug(o)){if(!e.h.N&&e._<1)return;Xg(e,o),t&&t.A.l||Zg(e,o)}}function Zg(e,t,n){void 0===n&&(n=!1),e.h.N&&e.m&&Bg(t,n)}function em(e,t){var n=e[vm];return(n?jg(n):e)[t]}function tm(e,t){if(t in e)for(var n=Object.getPrototypeOf(e);n;){var r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=Object.getPrototypeOf(n)}}function nm(e){e.P||(e.P=!0,e.l&&nm(e.l))}function rm(e){e.o||(e.o=Fg(e.t))}function om(e,t,n){var r=zg(t)?$g("MapSet").T(t,n):Dg(t)?$g("MapSet").F(t,n):e.O?function(e,t){var n=Array.isArray(e),r={i:n?1:0,A:t?t.A:Wg(),P:!1,I:!1,D:{},l:t,t:e,k:null,o:null,j:null,C:!1},o=r,a=bm;n&&(o=[r],a=wm);var i=Proxy.revocable(o,a),u=i.revoke,l=i.proxy;return r.k=l,r.j=u,l}(t,n):$g("ES5").J(t,n);return(n?n.A:Wg()).p.push(r),r}function am(e){return Og(e)||Pg(22,e),function e(t){if(!Ag(t))return t;var n,r=t[vm],o=Ng(t);if(r){if(!r.P&&(r.i<4||!$g("ES5").K(r)))return r.t;r.I=!0,n=im(t,o),r.I=!1}else n=im(t,o);return Mg(n,(function(t,o){r&&function(e,t){return 2===Ng(e)?e.get(t):e[t]}(r.t,t)===o||Ig(n,t,e(o))})),3===o?new Set(n):n}(e)}function im(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return Fg(e)}var um,lm,sm="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),cm="undefined"!=typeof Map,fm="undefined"!=typeof Set,dm="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,pm=sm?Symbol.for("immer-nothing"):((um={})["immer-nothing"]=!0,um),hm=sm?Symbol.for("immer-draftable"):"__$immer_draftable",vm=sm?Symbol.for("immer-state"):"__$immer_state",gm="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,mm=Object.getOwnPropertyDescriptors||function(e){var t={};return gm(e).forEach((function(n){t[n]=Object.getOwnPropertyDescriptor(e,n)})),t},ym={},bm={get:function(e,t){if(t===vm)return e;var n,r,o,a=jg(e);if(!Lg(a,t))return n=e,(o=tm(a,t))?"value"in o?o.value:null===(r=o.get)||void 0===r?void 0:r.call(n.k):void 0;var i=a[t];return e.I||!Ag(i)?i:i===em(e.t,t)?(rm(e),e.o[t]=om(e.A.h,i,e)):i},has:function(e,t){return t in jg(e)},ownKeys:function(e){return Reflect.ownKeys(jg(e))},set:function(e,t,n){var r=tm(jg(e),t);if(null==r?void 0:r.set)return r.set.call(e.k,n),!0;if(!e.P){var o=em(jg(e),t),a=null==o?void 0:o[vm];if(a&&a.t===n)return e.o[t]=n,e.D[t]=!1,!0;if(function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}(n,o)&&(void 0!==n||Lg(e.t,t)))return!0;rm(e),nm(e)}return e.o[t]=n,e.D[t]=!0,!0},deleteProperty:function(e,t){return void 0!==em(e.t,t)||t in e.t?(e.D[t]=!1,rm(e),nm(e)):delete e.D[t],e.o&&delete e.o[t],!0},getOwnPropertyDescriptor:function(e,t){var n=jg(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{writable:!0,configurable:1!==e.i||"length"!==t,enumerable:r.enumerable,value:n[t]}:r},defineProperty:function(){Pg(11)},getPrototypeOf:function(e){return Object.getPrototypeOf(e.t)},setPrototypeOf:function(){Pg(12)}},wm={};Mg(bm,(function(e,t){wm[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}})),wm.deleteProperty=function(e,t){return bm.deleteProperty.call(this,e[0],t)},wm.set=function(e,t,n){return bm.set.call(this,e[0],t,n,e[0])};var Sm=new(function(){function e(e){this.O=dm,this.N=!0,"boolean"==typeof(null==e?void 0:e.useProxies)&&this.setUseProxies(e.useProxies),"boolean"==typeof(null==e?void 0:e.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),this.produce=this.produce.bind(this),this.produceWithPatches=this.produceWithPatches.bind(this)}var t=e.prototype;return t.produce=function(e,t,n){if("function"==typeof e&&"function"!=typeof t){var r=t;t=e;var o=this;return function(e){var n=this;void 0===e&&(e=r);for(var a=arguments.length,i=Array(a>1?a-1:0),u=1;u1?n-1:0),a=1;a=0;n--){var r=t[n];if(0===r.path.length&&"replace"===r.op){e=r.value;break}}var o=$g("Patches").$;return Og(e)?o(e,t):this.produce(e,(function(e){return o(e,t.slice(n+1))}))},e}()),_m=Sm.produce;function Em(e){var t=f.useState(e),n=t[1];return[t[0],f.useCallback((function(e){n(_m(e))}),[])]}Sm.produceWithPatches.bind(Sm),Sm.setAutoFreeze.bind(Sm),Sm.setUseProxies.bind(Sm),Sm.applyPatches.bind(Sm),Sm.createDraft.bind(Sm),Sm.finishDraft.bind(Sm);var km="object"==typeof global&&global&&global.Object===Object&&global,Rm="object"==typeof self&&self&&self.Object===Object&&self,xm=km||Rm||Function("return this")(),Cm=xm.Symbol,Tm=Object.prototype,Pm=Tm.hasOwnProperty,Om=Tm.toString,Am=Cm?Cm.toStringTag:void 0;var Mm=Object.prototype.toString;var Nm=Cm?Cm.toStringTag:void 0;function Lm(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Nm&&Nm in Object(e)?function(e){var t=Pm.call(e,Am),n=e[Am];try{e[Am]=void 0;var r=!0}catch(a){}var o=Om.call(e);return r&&(t?e[Am]=n:delete e[Am]),o}(e):function(e){return Mm.call(e)}(e)}function Im(e){return null!=e&&"object"==typeof e}function zm(e){return"symbol"==typeof e||Im(e)&&"[object Symbol]"==Lm(e)}var Dm=Array.isArray,jm=Cm?Cm.prototype:void 0,Fm=jm?jm.toString:void 0;function Bm(e){if("string"==typeof e)return e;if(Dm(e))return function(e,t){for(var n=-1,r=null==e?0:e.length,o=Array(r);++n-1&&e%1==0&&e-1&&e%1==0&&e<=9007199254740991}function sy(e){return null!=e&&ly(e.length)&&!$m(e)}var cy=Object.prototype;function fy(e){return Im(e)&&"[object Arguments]"==Lm(e)}var dy=Object.prototype,py=dy.hasOwnProperty,hy=dy.propertyIsEnumerable,vy=fy(function(){return arguments}())?fy:function(e){return Im(e)&&py.call(e,"callee")&&!hy.call(e,"callee")};var gy="object"==typeof exports&&exports&&!exports.nodeType&&exports,my=gy&&"object"==typeof module&&module&&!module.nodeType&&module,yy=my&&my.exports===gy?xm.Buffer:void 0,by=(yy?yy.isBuffer:void 0)||function(){return!1},wy={};wy["[object Float32Array]"]=wy["[object Float64Array]"]=wy["[object Int8Array]"]=wy["[object Int16Array]"]=wy["[object Int32Array]"]=wy["[object Uint8Array]"]=wy["[object Uint8ClampedArray]"]=wy["[object Uint16Array]"]=wy["[object Uint32Array]"]=!0,wy["[object Arguments]"]=wy["[object Array]"]=wy["[object ArrayBuffer]"]=wy["[object Boolean]"]=wy["[object DataView]"]=wy["[object Date]"]=wy["[object Error]"]=wy["[object Function]"]=wy["[object Map]"]=wy["[object Number]"]=wy["[object Object]"]=wy["[object RegExp]"]=wy["[object Set]"]=wy["[object String]"]=wy["[object WeakMap]"]=!1;var Sy,_y="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ey=_y&&"object"==typeof module&&module&&!module.nodeType&&module,ky=Ey&&Ey.exports===_y&&km.process,Ry=function(){try{var e=Ey&&Ey.require&&Ey.require("util").types;return e||ky&&ky.binding&&ky.binding("util")}catch(t){}}(),xy=Ry&&Ry.isTypedArray,Cy=xy?(Sy=xy,function(e){return Sy(e)}):function(e){return Im(e)&&ly(e.length)&&!!wy[Lm(e)]},Ty=Object.prototype.hasOwnProperty;function Py(e,t){var n=Dm(e),r=!n&&vy(e),o=!n&&!r&&by(e),a=!n&&!r&&!o&&Cy(e),i=n||r||o||a,u=i?function(e,t){for(var n=-1,r=Array(e);++n-1},$y.prototype.set=function(e,t){var n=this.__data__,r=Vy(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this};var Wy=ny(xm,"Map");function Hy(e,t){var n,r,o=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?o["string"==typeof t?"string":"hash"]:o.map}function Gy(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=r?e:function(e,t,n){var r=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var a=Array(o);++ru))return!1;var s=a.get(e),c=a.get(t);if(s&&c)return s==t&&c==e;var f=-1,d=!0,p=2&n?new Ib:void 0;for(a.set(e,t),a.set(t,e);++f-1&&(t.__listeners[r]=t.__listeners[t.__listeners.length-1],t.__listeners.length--)}}},e.prototype.notify=function(){for(var e=0,t=this.__listeners;en.errorRetryCount)){var a=Math.min(o.retryCount||0,8),i=~~((Math.random()+.5)*(1<0&&o[o.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]0));return Promise.all(c).then((function(){return dw.get(r)}))}return Promise.resolve(dw.get(r))},Mw=function(e,t,n,r){var o=xw[e];if(e&&o)for(var a=0;a0));return[2,Promise.all(h).then((function(){if(s)throw s;return dw.get(o)}))]}if(s)throw s;return[2,l]}}))}))};function Lw(){for(var e=this,t=[],n=0;n=1&&(r=t[0]),t.length>2?(o=t[1],a=t[2]):"function"==typeof t[1]?o=t[1]:"object"==typeof t[1]&&(a=t[1]);var i=dw.serializeKey(r),u=i[0],l=i[1],s=i[2],c=i[3];a=Object.assign({},hw,f.useContext(vw),a);var d=f.useRef(a);Sw((function(){d.current=a})),void 0===o&&(o=a.fetcher);var p=function(){var e=dw.get(u);return void 0===e?a.initialData:e},h=p(),v=dw.get(s),g=!!dw.get(c),m=f.useRef({data:!1,error:!1,isValidating:!1}),y=f.useRef({data:h,error:v,isValidating:g});f.useDebugValue(y.current.data);var b=f.useState(null),w=b[1],S=f.useCallback((function(e){var t=!1;for(var n in e)y.current[n]!==e[n]&&(y.current[n]=e[n],m.current[n]&&(t=!0));if(t||a.suspense){if(_.current||!k.current)return;w({})}}),[]),_=f.useRef(!1),E=f.useRef(u),k=f.useRef(!1),R=f.useCallback((function(e){for(var t,n=[],r=1;r=0&&(n[r]=n[n.length-1],n.pop())}},P=f.useCallback((function(t){return void 0===t&&(t={}),mw(e,void 0,void 0,(function(){var e,n,r,i,f,p,h;return yw(this,(function(v){switch(v.label){case 0:if(!u||!o)return[2,!1];if(_.current)return[2,!1];if(d.current.isPaused())return[2,!1];t=Object.assign({dedupe:!1},t),e=!0,n=void 0!==_w[u]&&t.dedupe,v.label=1;case 1:return v.trys.push([1,6,,7]),S({isValidating:!0}),dw.set(c,!0),n||Mw(u,y.current.data,y.current.error,!0),r=void 0,i=void 0,n?(i=Ew[u],[4,_w[u]]):[3,3];case 2:return r=v.sent(),[3,5];case 3:return a.loadingTimeout&&!dw.get(u)&&setTimeout((function(){e&&R("onLoadingSlow",u,a)}),a.loadingTimeout),_w[u]=null!==l?o.apply(void 0,l):o(u),Ew[u]=i=Pw(),[4,_w[u]];case 4:r=v.sent(),setTimeout((function(){delete _w[u],delete Ew[u]}),a.dedupingInterval),R("onSuccess",r,u,a),v.label=5;case 5:return Ew[u]>i?[2,!1]:Cw[u]&&(i<=Cw[u]||i<=Tw[u]||0===Tw[u])?(S({isValidating:!1}),[2,!1]):(dw.set(u,r),dw.set(s,void 0),dw.set(c,!1),f={isValidating:!1},void 0!==y.current.error&&(f.error=void 0),a.compare(y.current.data,r)||(f.data=r),S(f),n||Mw(u,r,f.error,!1),[3,7]);case 6:return p=v.sent(),delete _w[u],delete Ew[u],d.current.isPaused()?(S({isValidating:!1}),[2,!1]):(dw.set(s,p),y.current.error!==p&&(S({isValidating:!1,error:p}),n||Mw(u,void 0,p,!1)),R("onError",p,u,a),a.shouldRetryOnError&&(h=(t.retryCount||0)+1,R("onErrorRetry",p,u,a,P,Object.assign({dedupe:!0},t,{retryCount:h}))),[3,7]);case 7:return e=!1,[2,!0]}}))}))}),[u]);Sw((function(){if(u){_.current=!1,k.current=!0;var e=y.current.data,t=p();E.current!==u&&(E.current=u),a.compare(e,t)||S({data:t});var n=function(){return P({dedupe:!0})};(a.revalidateOnMount||!a.initialData&&void 0===a.revalidateOnMount)&&(void 0===t||bw?n():ww(n));var r=!1,o=function(){!r&&d.current.revalidateOnFocus&&(r=!0,n(),setTimeout((function(){return r=!1}),d.current.focusThrottleInterval))},i=function(){d.current.revalidateOnReconnect&&n()},l=function(e,t,r,o,i){void 0===e&&(e=!0),void 0===i&&(i=!0);var u={},l=!1;return void 0===t||a.compare(y.current.data,t)||(u.data=t,l=!0),y.current.error!==r&&(u.error=r,l=!0),void 0!==o&&y.current.isValidating!==o&&(u.isValidating=o,l=!0),l&&S(u),!!e&&(i?n():P())};return C(kw,o),C(Rw,i),C(xw,l),function(){S=function(){return null},_.current=!0,T(kw,o),T(Rw,i),T(xw,l)}}}),[u,P]),Sw((function(){var t=null,n=function(){return mw(e,void 0,void 0,(function(){return yw(this,(function(e){switch(e.label){case 0:return y.current.error||!d.current.refreshWhenHidden&&!d.current.isDocumentVisible()||!d.current.refreshWhenOffline&&!d.current.isOnline()?[3,2]:[4,P({dedupe:!0})];case 1:e.sent(),e.label=2;case 2:return d.current.refreshInterval&&t&&(t=setTimeout(n,d.current.refreshInterval)),[2]}}))}))};return d.current.refreshInterval&&(t=setTimeout(n,d.current.refreshInterval)),function(){t&&(clearTimeout(t),t=null)}}),[a.refreshInterval,a.refreshWhenHidden,a.refreshWhenOffline,P]);var O=f.useMemo((function(){var e={revalidate:P,mutate:x};return Object.defineProperties(e,{error:{get:function(){return m.current.error=!0,E.current===u?y.current.error:v},enumerable:!0},data:{get:function(){return m.current.data=!0,E.current===u?y.current.data:h},enumerable:!0},isValidating:{get:function(){return m.current.isValidating=!0,!!u&&y.current.isValidating},enumerable:!0}}),e}),[P,h,v,x,u]);if(a.suspense){var A=dw.get(u),M=dw.get(s);if(void 0===A&&(A=h),void 0===M&&(M=v),void 0===A&&void 0===M){if(_w[u]||P(),_w[u]&&"function"==typeof _w[u].then)throw _w[u];A=_w[u]}if(void 0===A&&M)throw M;return{error:M,data:A,revalidate:P,mutate:x,isValidating:y.current.isValidating}}return O}vw.Provider;var Iw=function(e,t){return function(){for(var n=new Array(arguments.length),r=0;r=0)return;l[o]="set-cookie"===o?(l[o]?l[o]:[]).concat([i]):l[o]?l[o]+", "+i:i}})),l):l):null,c={data:e.responseType&&"text"!==e.responseType?a.response:a.responseText,status:a.status,statusText:a.statusText,headers:s,config:e,request:a};!function(e,t,n){var r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(Xw("Request failed with status code "+n.status,n.config,null,n.request,n)):e(n)}(t,n,c),a=null}},a.onabort=function(){a&&(n(Xw("Request aborted",e,"ECONNABORTED",a)),a=null)},a.onerror=function(){n(Xw("Network Error",e,null,a)),a=null},a.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(Xw(t,e,"ECONNABORTED",a)),a=null},$w.isStandardBrowserEnv()){var f=(e.withCredentials||eS(c))&&e.xsrfCookieName?Jw.read(e.xsrfCookieName):void 0;f&&(o[e.xsrfHeaderName]=f)}if("setRequestHeader"in a&&$w.forEach(o,(function(e,t){void 0===r&&"content-type"===t.toLowerCase()?delete o[t]:a.setRequestHeader(t,e)})),$w.isUndefined(e.withCredentials)||(a.withCredentials=!!e.withCredentials),e.responseType)try{a.responseType=e.responseType}catch(d){if("json"!==e.responseType)throw d}"function"==typeof e.onDownloadProgress&&a.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&a.upload&&a.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){a&&(a.abort(),n(e),a=null)})),r||(r=null),a.send(r)}))},nS={"Content-Type":"application/x-www-form-urlencoded"};function rS(e,t){!$w.isUndefined(e)&&$w.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var oS,aS={adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(oS=tS),oS),transformRequest:[function(e,t){return Qw(t,"Accept"),Qw(t,"Content-Type"),$w.isFormData(e)||$w.isArrayBuffer(e)||$w.isBuffer(e)||$w.isStream(e)||$w.isFile(e)||$w.isBlob(e)?e:$w.isArrayBufferView(e)?e.buffer:$w.isURLSearchParams(e)?(rS(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):$w.isObject(e)?(rS(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(t){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&e<300}};aS.headers={common:{Accept:"application/json, text/plain, */*"}},$w.forEach(["delete","get","head"],(function(e){aS.headers[e]={}})),$w.forEach(["post","put","patch"],(function(e){aS.headers[e]=$w.merge(nS)}));var iS=aS;function uS(e){e.cancelToken&&e.cancelToken.throwIfRequested()}var lS=function(e){return uS(e),e.headers=e.headers||{},e.data=Yw(e.data,e.headers,e.transformRequest),e.headers=$w.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),$w.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]})),(e.adapter||iS.adapter)(e).then((function(t){return uS(e),t.data=Yw(t.data,t.headers,e.transformResponse),t}),(function(t){return Kw(t)||(uS(e),t&&t.response&&(t.response.data=Yw(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))},sS=function(e,t){t=t||{};var n={},r=["url","method","data"],o=["headers","auth","proxy","params"],a=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],i=["validateStatus"];function u(e,t){return $w.isPlainObject(e)&&$w.isPlainObject(t)?$w.merge(e,t):$w.isPlainObject(t)?$w.merge({},t):$w.isArray(t)?t.slice():t}function l(r){$w.isUndefined(t[r])?$w.isUndefined(e[r])||(n[r]=u(void 0,e[r])):n[r]=u(e[r],t[r])}$w.forEach(r,(function(e){$w.isUndefined(t[e])||(n[e]=u(void 0,t[e]))})),$w.forEach(o,l),$w.forEach(a,(function(r){$w.isUndefined(t[r])?$w.isUndefined(e[r])||(n[r]=u(void 0,e[r])):n[r]=u(void 0,t[r])})),$w.forEach(i,(function(r){r in t?n[r]=u(e[r],t[r]):r in e&&(n[r]=u(void 0,e[r]))}));var s=r.concat(o).concat(a).concat(i),c=Object.keys(e).concat(Object.keys(t)).filter((function(e){return-1===s.indexOf(e)}));return $w.forEach(c,l),n};function cS(e){this.defaults=e,this.interceptors={request:new qw,response:new qw}}cS.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=sS(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=[lS,void 0],n=Promise.resolve(e);for(this.interceptors.request.forEach((function(e){t.unshift(e.fulfilled,e.rejected)})),this.interceptors.response.forEach((function(e){t.push(e.fulfilled,e.rejected)}));t.length;)n=n.then(t.shift(),t.shift());return n},cS.prototype.getUri=function(e){return e=sS(this.defaults,e),Hw(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},$w.forEach(["delete","get","head","options"],(function(e){cS.prototype[e]=function(t,n){return this.request(sS(n||{},{method:e,url:t,data:(n||{}).data}))}})),$w.forEach(["post","put","patch"],(function(e){cS.prototype[e]=function(t,n,r){return this.request(sS(r||{},{method:e,url:t,data:n}))}}));var fS=cS;function dS(e){this.message=e}dS.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},dS.prototype.__CANCEL__=!0;var pS=dS;function hS(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var n=this;e((function(e){n.reason||(n.reason=new pS(e),t(n.reason))}))}hS.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},hS.source=function(){var e;return{token:new hS((function(t){e=t})),cancel:e}};var vS=hS;function gS(e){var t=new fS(e),n=Iw(fS.prototype.request,t);return $w.extend(n,fS.prototype,t),$w.extend(n,t),n}var mS=gS(iS);mS.Axios=fS,mS.create=function(e){return gS(sS(mS.defaults,e))},mS.Cancel=pS,mS.CancelToken=vS,mS.isCancel=Kw,mS.all=function(e){return Promise.all(e)},mS.spread=function(e){return function(t){return e.apply(null,t)}},mS.isAxiosError=function(e){return"object"==typeof e&&!0===e.isAxiosError};var yS=mS,bS=mS;yS.default=bS;var wS=yS,SS=o((function(e,t){e.exports=function(){var e="millisecond",t="second",n="minute",r="hour",o="day",a="week",i="month",u="quarter",l="year",s="date",c=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[^0-9]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,f=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,d={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")},p=function(e,t,n){var r=String(e);return!r||r.length>=t?e:""+Array(t+1-r.length).join(n)+e},h={s:p,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),o=n%60;return(t<=0?"+":"-")+p(r,2,"0")+":"+p(o,2,"0")},m:function e(t,n){if(t.date()0,g<=v.r||!v.r){g<=1&&h>0&&(v=d[h-1]);var m=f[v.l];u&&(g=u(""+g)),s="string"==typeof m?m.replace("%d",g):m(g,r,v.l,c);break}}if(r)return s;var y=c?f.future:f.past;return"function"==typeof y?y(s):y.replace("%s",s)},r.to=function(e,t){return a(e,t,this,!0)},r.from=function(e,t){return a(e,t,this)};var i=function(e){return e.$u?n.utc():n()};r.toNow=function(e){return this.to(i(this),e)},r.fromNow=function(e){return this.from(i(this),e)}}}));function ES(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function kS(e,t){if(e.length!==t.length)return!1;for(var n=0;n0?TS="positive-descending":(t.scrollLeft=1,TS=0===t.scrollLeft?"negative":"positive-ascending"),document.body.removeChild(t),TS}return TS}var OS=function(e,t){return e};function AS(e){var t,n,r=e.getItemOffset,o=e.getEstimatedTotalSize,a=e.getItemSize,i=e.getOffsetForIndexAndAlignment,u=e.getStartIndexForOffset,l=e.getStopIndexForStartIndex,s=e.initInstanceProps,c=e.shouldResetStyleCacheOnItemSizeChange,d=e.validateProps;return n=t=function(e){function t(t){var n;return(n=e.call(this,t)||this)._instanceProps=s(n.props,ES(ES(n))),n._outerRef=void 0,n._resetIsScrollingTimeoutId=null,n.state={instance:ES(ES(n)),isScrolling:!1,scrollDirection:"forward",scrollOffset:"number"==typeof n.props.initialScrollOffset?n.props.initialScrollOffset:0,scrollUpdateWasRequested:!1},n._callOnItemsRendered=void 0,n._callOnItemsRendered=RS((function(e,t,r,o){return n.props.onItemsRendered({overscanStartIndex:e,overscanStopIndex:t,visibleStartIndex:r,visibleStopIndex:o})})),n._callOnScroll=void 0,n._callOnScroll=RS((function(e,t,r){return n.props.onScroll({scrollDirection:e,scrollOffset:t,scrollUpdateWasRequested:r})})),n._getItemStyle=void 0,n._getItemStyle=function(e){var t,o=n.props,i=o.direction,u=o.itemSize,l=o.layout,s=n._getItemStyleCache(c&&u,c&&l,c&&i);if(s.hasOwnProperty(e))t=s[e];else{var f=r(n.props,e,n._instanceProps),d=a(n.props,e,n._instanceProps),p="horizontal"===i||"horizontal"===l,h="rtl"===i,v=p?f:0;s[e]=t={position:"absolute",left:h?void 0:v,right:h?v:void 0,top:p?0:f,height:p?"100%":d,width:p?d:"100%"}}return t},n._getItemStyleCache=void 0,n._getItemStyleCache=RS((function(e,t,n){return{}})),n._onScrollHorizontal=function(e){var t=e.currentTarget,r=t.clientWidth,o=t.scrollLeft,a=t.scrollWidth;n.setState((function(e){if(e.scrollOffset===o)return null;var t=n.props.direction,i=o;if("rtl"===t)switch(PS()){case"negative":i=-o;break;case"positive-descending":i=a-r-o}return i=Math.max(0,Math.min(i,a-r)),{isScrolling:!0,scrollDirection:e.scrollOffset=t?e.call(null):o.id=requestAnimationFrame(n)}))})},n._resetIsScrolling=function(){n._resetIsScrollingTimeoutId=null,n.setState({isScrolling:!1},(function(){n._getItemStyleCache(-1,null)}))},n}bs(t,e),t.getDerivedStateFromProps=function(e,t){return MS(e,t),d(e),null};var n=t.prototype;return n.scrollTo=function(e){e=Math.max(0,e),this.setState((function(t){return t.scrollOffset===e?null:{scrollDirection:t.scrollOffset0)for(var C=k;C<=R;C++)x.push(f.createElement(t,{data:c,key:p(C,c),index:C,isScrolling:y?w:void 0,style:this._getItemStyle(C)}));var T=o(this.props,this._instanceProps);return f.createElement(v||g||"div",{className:n,onScroll:_,ref:this._outerRefSetter,style:Es({position:"relative",height:a,width:b,overflow:"auto",WebkitOverflowScrolling:"touch",willChange:"transform",direction:r},m)},f.createElement(u||l||"div",{children:x,ref:i,style:{height:S?"100%":T,pointerEvents:w?"none":void 0,width:S?T:"100%"}}))},n._callPropsCallbacks=function(){if("function"==typeof this.props.onItemsRendered&&this.props.itemCount>0){var e=this._getRangeToRender(),t=e[0],n=e[1],r=e[2],o=e[3];this._callOnItemsRendered(t,n,r,o)}if("function"==typeof this.props.onScroll){var a=this.state,i=a.scrollDirection,u=a.scrollOffset,l=a.scrollUpdateWasRequested;this._callOnScroll(i,u,l)}},n._getRangeToRender=function(){var e=this.props,t=e.itemCount,n=e.overscanCount,r=this.state,o=r.isScrolling,a=r.scrollDirection,i=r.scrollOffset;if(0===t)return[0,0,0,0];var s=u(this.props,i,this._instanceProps),c=l(this.props,s,i,this._instanceProps),f=o&&"backward"!==a?1:Math.max(1,n),d=o&&"forward"!==a?1:Math.max(1,n);return[Math.max(0,s-f),Math.max(0,Math.min(t-1,c+d)),s,c]},t}(f.PureComponent),t.defaultProps={direction:"ltr",itemData:void 0,layout:"vertical",overscanCount:2,useIsScrolling:!1},n}var MS=function(e,t){e.children,e.direction,e.height,e.layout,e.innerTagName,e.outerTagName,e.width,t.instance},NS=AS({getItemOffset:function(e,t){return t*e.itemSize},getItemSize:function(e,t){return e.itemSize},getEstimatedTotalSize:function(e){var t=e.itemCount;return e.itemSize*t},getOffsetForIndexAndAlignment:function(e,t,n,r){var o=e.direction,a=e.height,i=e.itemCount,u=e.itemSize,l=e.layout,s=e.width,c="horizontal"===o||"horizontal"===l?s:a,f=Math.max(0,i*u-c),d=Math.min(f,t*u),p=Math.max(0,t*u-c+u);switch("smart"===n&&(n=r>=p-c&&r<=d+c?"auto":"center"),n){case"start":return d;case"end":return p;case"center":var h=Math.round(p+(d-p)/2);return hf+Math.floor(c/2)?f:h;case"auto":default:return r>=p&&r<=d?r:r div, .contract-trigger:before { content: " "; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; z-index: -1; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',r=t.head||t.getElementsByTagName("head")[0],o=t.createElement("style");o.id="detectElementResize",o.type="text/css",null!=e&&o.setAttribute("nonce",e),o.styleSheet?o.styleSheet.cssText=n:o.appendChild(t.createTextNode(n)),r.appendChild(o)}}(a),n.__resizeLast__={},n.__resizeListeners__=[],(n.__resizeTriggers__=a.createElement("div")).className="resize-triggers";var s=a.createElement("div");s.className="expand-trigger",s.appendChild(a.createElement("div"));var c=a.createElement("div");c.className="contract-trigger",n.__resizeTriggers__.appendChild(s),n.__resizeTriggers__.appendChild(c),n.appendChild(n.__resizeTriggers__),u(n),n.addEventListener("scroll",l,!0),f&&(n.__resizeTriggers__.__animationListener__=function(e){e.animationName==g&&u(n)},n.__resizeTriggers__.addEventListener(f,n.__resizeTriggers__.__animationListener__))}n.__resizeListeners__.push(r)}},removeResizeListener:function(e,t){if(o)e.detachEvent("onresize",t);else if(e.__resizeListeners__.splice(e.__resizeListeners__.indexOf(t),1),!e.__resizeListeners__.length){e.removeEventListener("scroll",l,!0),e.__resizeTriggers__.__animationListener__&&(e.__resizeTriggers__.removeEventListener(f,e.__resizeTriggers__.__animationListener__),e.__resizeTriggers__.__animationListener__=null);try{e.__resizeTriggers__=!e.removeChild(e.__resizeTriggers__)}catch(n){}}}}}var IS=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},zS=function(){function e(e,t){for(var n=0;n=0||(o[n]=e[n]);return o}function i(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;var u={init:"init"},l=function(e){var t=e.value;return void 0===t?"":t},s=function(){return t.createElement(t.Fragment,null," ")},c={Cell:l,width:150,minWidth:0,maxWidth:Number.MAX_SAFE_INTEGER};function f(){for(var e=arguments.length,t=new Array(e),n=0;n(a="number"==typeof a?a:1/0)){var i=o;o=a,a=i}return e.filter((function(e){return t.some((function(t){var n=e.values[t];return n>=o&&n<=a}))}))};Ee.autoRemove=function(e){return!e||"number"!=typeof e[0]&&"number"!=typeof e[1]};var ke=Object.freeze({__proto__:null,text:he,exactText:ve,exactTextCase:ge,includes:me,includesAll:ye,includesSome:be,includesValue:we,exact:Se,equals:_e,between:Ee});u.resetFilters="resetFilters",u.setFilter="setFilter",u.setAllFilters="setAllFilters";var Re=function(e){e.stateReducers.push(xe),e.useInstance.push(Ce)};function xe(e,t,n,r){if(t.type===u.init)return o({filters:[]},e);if(t.type===u.resetFilters)return o({},e,{filters:r.initialState.filters||[]});if(t.type===u.setFilter){var a=t.columnId,i=t.filterValue,l=r.allColumns,s=r.filterTypes,c=l.find((function(e){return e.id===a}));if(!c)throw new Error("React-Table: Could not find a column with id: "+a);var f=M(c.filter,s||{},ke),d=e.filters.find((function(e){return e.id===a})),p=g(i,d&&d.value);return N(f.autoRemove,p,c)?o({},e,{filters:e.filters.filter((function(e){return e.id!==a}))}):o({},e,d?{filters:e.filters.map((function(e){return e.id===a?{id:a,value:p}:e}))}:{filters:[].concat(e.filters,[{id:a,value:p}])})}if(t.type===u.setAllFilters){var h=t.filters,v=r.allColumns,m=r.filterTypes;return o({},e,{filters:g(h,e.filters).filter((function(e){var t=v.find((function(t){return t.id===e.id}));return!N(M(t.filter,m||{},ke).autoRemove,e.value,t)}))})}}function Ce(e){var n=e.data,r=e.rows,o=e.flatRows,a=e.rowsById,i=e.allColumns,l=e.filterTypes,s=e.manualFilters,c=e.defaultCanFilter,f=void 0!==c&&c,d=e.disableFilters,p=e.state.filters,h=e.dispatch,v=e.autoResetFilters,g=void 0===v||v,y=t.useCallback((function(e,t){h({type:u.setFilter,columnId:e,filterValue:t})}),[h]),w=t.useCallback((function(e){h({type:u.setAllFilters,filters:e})}),[h]);i.forEach((function(e){var t=e.id,n=e.accessor,r=e.defaultCanFilter,o=e.disableFilters;e.canFilter=n?T(!0!==o&&void 0,!0!==d&&void 0,!0):T(r,f,!1),e.setFilter=function(t){return y(e.id,t)};var a=p.find((function(e){return e.id===t}));e.filterValue=a&&a.value}));var S=t.useMemo((function(){if(s||!p.length)return[r,o,a];var e=[],t={};return[function n(r,o){void 0===o&&(o=0);var a=r;return(a=p.reduce((function(e,t){var n=t.id,r=t.value,a=i.find((function(e){return e.id===n}));if(!a)return e;0===o&&(a.preFilteredRows=e);var u=M(a.filter,l||{},ke);return u?(a.filteredRows=u(e,[n],r),a.filteredRows):(console.warn("Could not find a valid 'column.filter' for column with the ID: "+a.id+"."),e)}),r)).forEach((function(r){e.push(r),t[r.id]=r,r.subRows&&(r.subRows=r.subRows&&r.subRows.length>0?n(r.subRows,o+1):r.subRows)})),a}(r),e,t]}),[s,p,r,o,a,i,l]),_=S[0],E=S[1],k=S[2];t.useMemo((function(){i.filter((function(e){return!p.find((function(t){return t.id===e.id}))})).forEach((function(e){e.preFilteredRows=_,e.filteredRows=_}))}),[_,p,i]);var R=m(g);b((function(){R()&&h({type:u.resetFilters})}),[h,s?null:n]),Object.assign(e,{preFilteredRows:r,preFilteredFlatRows:o,preFilteredRowsById:a,filteredRows:_,filteredFlatRows:E,filteredRowsById:k,rows:_,flatRows:E,rowsById:k,setFilter:y,setAllFilters:w})}Re.pluginName="useFilters",u.resetGlobalFilter="resetGlobalFilter",u.setGlobalFilter="setGlobalFilter";var Te=function(e){e.stateReducers.push(Pe),e.useInstance.push(Oe)};function Pe(e,t,n,r){if(t.type===u.resetGlobalFilter)return o({},e,{globalFilter:r.initialState.globalFilter||void 0});if(t.type===u.setGlobalFilter){var i=t.filterValue,l=r.userFilterTypes,s=M(r.globalFilter,l||{},ke),c=g(i,e.globalFilter);return N(s.autoRemove,c)?(e.globalFilter,a(e,["globalFilter"])):o({},e,{globalFilter:c})}}function Oe(e){var n=e.data,r=e.rows,o=e.flatRows,a=e.rowsById,i=e.allColumns,l=e.filterTypes,s=e.globalFilter,c=e.manualGlobalFilter,f=e.state.globalFilter,d=e.dispatch,p=e.autoResetGlobalFilter,h=void 0===p||p,v=e.disableGlobalFilter,g=t.useCallback((function(e){d({type:u.setGlobalFilter,filterValue:e})}),[d]),y=t.useMemo((function(){if(c||void 0===f)return[r,o,a];var e=[],t={},n=M(s,l||{},ke);if(!n)return console.warn("Could not find a valid 'globalFilter' option."),r;i.forEach((function(e){var t=e.disableGlobalFilter;e.canFilter=T(!0!==t&&void 0,!0!==v&&void 0,!0)}));var u=i.filter((function(e){return!0===e.canFilter}));return[function r(o){return(o=n(o,u.map((function(e){return e.id})),f)).forEach((function(n){e.push(n),t[n.id]=n,n.subRows=n.subRows&&n.subRows.length?r(n.subRows):n.subRows})),o}(r),e,t]}),[c,f,s,l,i,r,o,a,v]),w=y[0],S=y[1],_=y[2],E=m(h);b((function(){E()&&d({type:u.resetGlobalFilter})}),[d,c?null:n]),Object.assign(e,{preGlobalFilteredRows:r,preGlobalFilteredFlatRows:o,preGlobalFilteredRowsById:a,globalFilteredRows:w,globalFilteredFlatRows:S,globalFilteredRowsById:_,rows:w,flatRows:S,rowsById:_,setGlobalFilter:g,disableGlobalFilter:v})}function Ae(e,t){return t.reduce((function(e,t){return e+("number"==typeof t?t:0)}),0)}Te.pluginName="useGlobalFilter";var Me=Object.freeze({__proto__:null,sum:Ae,min:function(e){var t=e[0]||0;return e.forEach((function(e){"number"==typeof e&&(t=Math.min(t,e))})),t},max:function(e){var t=e[0]||0;return e.forEach((function(e){"number"==typeof e&&(t=Math.max(t,e))})),t},minMax:function(e){var t=e[0]||0,n=e[0]||0;return e.forEach((function(e){"number"==typeof e&&(t=Math.min(t,e),n=Math.max(n,e))})),t+".."+n},average:function(e){return Ae(0,e)/e.length},median:function(e){if(!e.length)return null;var t=Math.floor(e.length/2),n=[].concat(e).sort((function(e,t){return e-t}));return e.length%2!=0?n[t]:(n[t-1]+n[t])/2},unique:function(e){return Array.from(new Set(e).values())},uniqueCount:function(e){return new Set(e).size},count:function(e){return e.length}}),Ne=[],Le={};u.resetGroupBy="resetGroupBy",u.setGroupBy="setGroupBy",u.toggleGroupBy="toggleGroupBy";var Ie=function(e){e.getGroupByToggleProps=[ze],e.stateReducers.push(De),e.visibleColumnsDeps.push((function(e,t){var n=t.instance;return[].concat(e,[n.state.groupBy])})),e.visibleColumns.push(je),e.useInstance.push(Be),e.prepareRow.push(Ve)};Ie.pluginName="useGroupBy";var ze=function(e,t){var n=t.header;return[e,{onClick:n.canGroupBy?function(e){e.persist(),n.toggleGroupBy()}:void 0,style:{cursor:n.canGroupBy?"pointer":void 0},title:"Toggle GroupBy"}]};function De(e,t,n,r){if(t.type===u.init)return o({groupBy:[]},e);if(t.type===u.resetGroupBy)return o({},e,{groupBy:r.initialState.groupBy||[]});if(t.type===u.setGroupBy)return o({},e,{groupBy:t.value});if(t.type===u.toggleGroupBy){var a=t.columnId,i=t.value,l=void 0!==i?i:!e.groupBy.includes(a);return o({},e,l?{groupBy:[].concat(e.groupBy,[a])}:{groupBy:e.groupBy.filter((function(e){return e!==a}))})}}function je(e,t){var n=t.instance.state.groupBy,r=n.map((function(t){return e.find((function(e){return e.id===t}))})).filter(Boolean),o=e.filter((function(e){return!n.includes(e.id)}));return(e=[].concat(r,o)).forEach((function(e){e.isGrouped=n.includes(e.id),e.groupedIndex=n.indexOf(e.id)})),e}var Fe={};function Be(e){var n=e.data,r=e.rows,o=e.flatRows,a=e.rowsById,i=e.allColumns,l=e.flatHeaders,s=e.groupByFn,c=void 0===s?Ue:s,f=e.manualGroupBy,p=e.aggregations,h=void 0===p?Fe:p,g=e.plugins,y=e.state.groupBy,w=e.dispatch,S=e.autoResetGroupBy,_=void 0===S||S,E=e.disableGroupBy,k=e.defaultCanGroupBy,R=e.getHooks;v(g,["useColumnOrder","useFilters"],"useGroupBy");var x=m(e);i.forEach((function(t){var n=t.accessor,r=t.defaultGroupBy,o=t.disableGroupBy;t.canGroupBy=n?T(t.canGroupBy,!0!==o&&void 0,!0!==E&&void 0,!0):T(t.canGroupBy,r,k,!1),t.canGroupBy&&(t.toggleGroupBy=function(){return e.toggleGroupBy(t.id)}),t.Aggregated=t.Aggregated||t.Cell}));var C=t.useCallback((function(e,t){w({type:u.toggleGroupBy,columnId:e,value:t})}),[w]),P=t.useCallback((function(e){w({type:u.setGroupBy,value:e})}),[w]);l.forEach((function(e){e.getGroupByToggleProps=d(R().getGroupByToggleProps,{instance:x(),header:e})}));var A=t.useMemo((function(){if(f||!y.length)return[r,o,a,Ne,Le,o,a];var e=y.filter((function(e){return i.find((function(t){return t.id===e}))})),t=[],n={},u=[],l={},s=[],d={},p=function r(o,a,f){if(void 0===a&&(a=0),a===e.length)return o;var p=e[a],v=c(o,p);return Object.entries(v).map((function(o,c){var v,g,m,y,b=o[0],w=o[1],S=p+":"+b,_=r(w,a+1,S=f?f+">"+S:S),E=a?O(w,"leafRows"):w,k=(v=E,g=w,m=a,y={},i.forEach((function(t){if(e.includes(t.id))y[t.id]=g[0]?g[0].values[t.id]:null;else{var n="function"==typeof t.aggregate?t.aggregate:h[t.aggregate]||Me[t.aggregate];if(n){var r=g.map((function(e){return e.values[t.id]})),o=v.map((function(e){var n=e.values[t.id];if(!m&&t.aggregateValue){var r="function"==typeof t.aggregateValue?t.aggregateValue:h[t.aggregateValue]||Me[t.aggregateValue];if(!r)throw console.info({column:t}),new Error("React Table: Invalid column.aggregateValue option for column listed above");n=r(n,e,t)}return n}));y[t.id]=n(o,r)}else{if(t.aggregate)throw console.info({column:t}),new Error("React Table: Invalid column.aggregate option for column listed above");y[t.id]=null}}})),y),R={id:S,isGrouped:!0,groupByID:p,groupByVal:b,values:k,subRows:_,leafRows:E,depth:a,index:c};return _.forEach((function(e){t.push(e),n[e.id]=e,e.isGrouped?(u.push(e),l[e.id]=e):(s.push(e),d[e.id]=e)})),R}))}(r);return p.forEach((function(e){t.push(e),n[e.id]=e,e.isGrouped?(u.push(e),l[e.id]=e):(s.push(e),d[e.id]=e)})),[p,t,n,u,l,s,d]}),[f,y,r,o,a,i,h,c]),M=A[0],N=A[1],L=A[2],I=A[3],z=A[4],D=A[5],j=A[6],F=m(_);b((function(){F()&&w({type:u.resetGroupBy})}),[w,f?null:n]),Object.assign(e,{preGroupedRows:r,preGroupedFlatRow:o,preGroupedRowsById:a,groupedRows:M,groupedFlatRows:N,groupedRowsById:L,onlyGroupedFlatRows:I,onlyGroupedRowsById:z,nonGroupedFlatRows:D,nonGroupedRowsById:j,rows:M,flatRows:N,rowsById:L,toggleGroupBy:C,setGroupBy:P})}function Ve(e){e.allCells.forEach((function(t){var n;t.isGrouped=t.column.isGrouped&&t.column.id===e.groupByID,t.isPlaceholder=!t.isGrouped&&t.column.isGrouped,t.isAggregated=!t.isGrouped&&!t.isPlaceholder&&(null==(n=e.subRows)?void 0:n.length)}))}function Ue(e,t){return e.reduce((function(e,n,r){var o=""+n.values[t];return e[o]=Array.isArray(e[o])?e[o]:[],e[o].push(n),e}),{})}var $e=/([0-9]+)/gm;function We(e,t){return e===t?0:e>t?1:-1}function He(e,t){return e.values[t]}function Ge(e){return"number"==typeof e?isNaN(e)||e===1/0||e===-1/0?"":String(e):"string"==typeof e?e:""}var qe=Object.freeze({__proto__:null,alphanumeric:function(e,t,n){var r=He(e,n),o=He(t,n);for(r=Ge(r),o=Ge(o),r=r.split($e).filter(Boolean),o=o.split($e).filter(Boolean);r.length&&o.length;){var a=r.shift(),i=o.shift(),u=parseInt(a,10),l=parseInt(i,10),s=[u,l].sort();if(isNaN(s[0])){if(a>i)return 1;if(i>a)return-1}else{if(isNaN(s[1]))return isNaN(u)?-1:1;if(u>l)return 1;if(l>u)return-1}}return r.length-o.length},datetime:function(e,t,n){var r=He(e,n),o=He(t,n);return We(r=r.getTime(),o=o.getTime())},basic:function(e,t,n){return We(He(e,n),He(t,n))}});u.resetSortBy="resetSortBy",u.setSortBy="setSortBy",u.toggleSortBy="toggleSortBy",u.clearSortBy="clearSortBy",c.sortType="alphanumeric",c.sortDescFirst=!1;var Ye=function(e){e.getSortByToggleProps=[Ke],e.stateReducers.push(Qe),e.useInstance.push(Xe)};Ye.pluginName="useSortBy";var Ke=function(e,t){var n=t.instance,r=t.column,o=n.isMultiSortEvent,a=void 0===o?function(e){return e.shiftKey}:o;return[e,{onClick:r.canSort?function(e){e.persist(),r.toggleSortBy(void 0,!n.disableMultiSort&&a(e))}:void 0,style:{cursor:r.canSort?"pointer":void 0},title:r.canSort?"Toggle SortBy":void 0}]};function Qe(e,t,n,r){if(t.type===u.init)return o({sortBy:[]},e);if(t.type===u.resetSortBy)return o({},e,{sortBy:r.initialState.sortBy||[]});if(t.type===u.clearSortBy)return o({},e,{sortBy:e.sortBy.filter((function(e){return e.id!==t.columnId}))});if(t.type===u.setSortBy)return o({},e,{sortBy:t.sortBy});if(t.type===u.toggleSortBy){var a,i=t.columnId,l=t.desc,s=t.multi,c=r.allColumns,f=r.disableMultiSort,d=r.disableSortRemove,p=r.disableMultiRemove,h=r.maxMultiSortColCount,v=void 0===h?Number.MAX_SAFE_INTEGER:h,g=e.sortBy,m=c.find((function(e){return e.id===i})).sortDescFirst,y=g.find((function(e){return e.id===i})),b=g.findIndex((function(e){return e.id===i})),w=null!=l,S=[];return"toggle"!=(a=!f&&s?y?"toggle":"add":b!==g.length-1||1!==g.length?"replace":y?"toggle":"replace")||d||w||s&&p||!(y&&y.desc&&!m||!y.desc&&m)||(a="remove"),"replace"===a?S=[{id:i,desc:w?l:m}]:"add"===a?(S=[].concat(g,[{id:i,desc:w?l:m}])).splice(0,S.length-v):"toggle"===a?S=g.map((function(e){return e.id===i?o({},e,{desc:w?l:!y.desc}):e})):"remove"===a&&(S=g.filter((function(e){return e.id!==i}))),o({},e,{sortBy:S})}}function Xe(e){var n=e.data,r=e.rows,o=e.flatRows,a=e.allColumns,i=e.orderByFn,l=void 0===i?Je:i,s=e.sortTypes,c=e.manualSortBy,f=e.defaultCanSort,p=e.disableSortBy,h=e.flatHeaders,g=e.state.sortBy,y=e.dispatch,w=e.plugins,S=e.getHooks,_=e.autoResetSortBy,E=void 0===_||_;v(w,["useFilters","useGlobalFilter","useGroupBy","usePivotColumns"],"useSortBy");var k=t.useCallback((function(e){y({type:u.setSortBy,sortBy:e})}),[y]),R=t.useCallback((function(e,t,n){y({type:u.toggleSortBy,columnId:e,desc:t,multi:n})}),[y]),x=m(e);h.forEach((function(e){var t=e.accessor,n=e.canSort,r=e.disableSortBy,o=e.id,a=t?T(!0!==r&&void 0,!0!==p&&void 0,!0):T(f,n,!1);e.canSort=a,e.canSort&&(e.toggleSortBy=function(t,n){return R(e.id,t,n)},e.clearSortBy=function(){y({type:u.clearSortBy,columnId:e.id})}),e.getSortByToggleProps=d(S().getSortByToggleProps,{instance:x(),column:e});var i=g.find((function(e){return e.id===o}));e.isSorted=!!i,e.sortedIndex=g.findIndex((function(e){return e.id===o})),e.isSortedDesc=e.isSorted?i.desc:void 0}));var C=t.useMemo((function(){if(c||!g.length)return[r,o];var e=[],t=g.filter((function(e){return a.find((function(t){return t.id===e.id}))}));return[function n(r){var o=l(r,t.map((function(e){var t=a.find((function(t){return t.id===e.id}));if(!t)throw new Error("React-Table: Could not find a column with id: "+e.id+" while sorting");var n=t.sortType,r=P(n)||(s||{})[n]||qe[n];if(!r)throw new Error("React-Table: Could not find a valid sortType of '"+n+"' for column '"+e.id+"'.");return function(t,n){return r(t,n,e.id,e.desc)}})),t.map((function(e){var t=a.find((function(t){return t.id===e.id}));return t&&t.sortInverted?e.desc:!e.desc})));return o.forEach((function(t){e.push(t),t.subRows&&0!==t.subRows.length&&(t.subRows=n(t.subRows))})),o}(r),e]}),[c,g,r,o,a,l,s]),O=C[0],A=C[1],M=m(E);b((function(){M()&&y({type:u.resetSortBy})}),[c?null:n]),Object.assign(e,{preSortedRows:r,preSortedFlatRows:o,sortedRows:O,sortedFlatRows:A,rows:O,flatRows:A,setSortBy:k,toggleSortBy:R})}function Je(e,t,n){return[].concat(e).sort((function(e,r){for(var o=0;oe.pageIndex?s=-1===a?i.length>=e.pageSize:l-1),s?o({},e,{pageIndex:l}):e}if(t.type===u.setPageSize){var c=t.pageSize,f=e.pageSize*e.pageIndex;return o({},e,{pageIndex:Math.floor(f/c),pageSize:c})}}function tt(e){var n=e.rows,r=e.autoResetPage,o=void 0===r||r,a=e.manualExpandedKey,i=void 0===a?"expanded":a,l=e.plugins,s=e.pageCount,c=e.paginateExpandedRows,f=void 0===c||c,d=e.expandSubRows,p=void 0===d||d,h=e.state,g=h.pageSize,y=h.pageIndex,w=h.expanded,S=h.globalFilter,_=h.filters,E=h.groupBy,k=h.sortBy,R=e.dispatch,x=e.data,C=e.manualPagination;v(l,["useGlobalFilter","useFilters","useGroupBy","useSortBy","useExpanded"],"usePagination");var T=m(o);b((function(){T()&&R({type:u.resetPage})}),[R,C?null:x,S,_,E,k]);var P=C?s:Math.ceil(n.length/g),O=t.useMemo((function(){return P>0?[].concat(new Array(P)).fill(null).map((function(e,t){return t})):[]}),[P]),M=t.useMemo((function(){var e;if(C)e=n;else{var t=g*y,r=t+g;e=n.slice(t,r)}return f?e:A(e,{manualExpandedKey:i,expanded:w,expandSubRows:p})}),[p,w,i,C,y,g,f,n]),N=y>0,L=-1===P?M.length>=g:y-1&&a.push(o.splice(t,1)[0])};o.length&&r.length;)i();return[].concat(a,o)}function At(e){var n=e.dispatch;e.setColumnOrder=t.useCallback((function(e){return n({type:u.setColumnOrder,columnOrder:e})}),[n])}Tt.pluginName="useColumnOrder",c.canResize=!0,u.columnStartResizing="columnStartResizing",u.columnResizing="columnResizing",u.columnDoneResizing="columnDoneResizing",u.resetResize="resetResize";var Mt=function(e){e.getResizerProps=[Nt],e.getHeaderProps.push({style:{position:"relative"}}),e.stateReducers.push(Lt),e.useInstance.push(zt),e.useInstanceBeforeDimensions.push(It)},Nt=function(e,t){var n=t.instance,r=t.header,o=n.dispatch,a=function(e,t){var n=!1;if("touchstart"===e.type){if(e.touches&&e.touches.length>1)return;n=!0}var r,a,i=(r=t,a=[],function e(t){t.columns&&t.columns.length&&t.columns.map(e),a.push(t)}(r),a).map((function(e){return[e.id,e.totalWidth]})),l=n?Math.round(e.touches[0].clientX):e.clientX,s=function(e){o({type:u.columnResizing,clientX:e})},c=function(){return o({type:u.columnDoneResizing})},f={mouse:{moveEvent:"mousemove",moveHandler:function(e){return s(e.clientX)},upEvent:"mouseup",upHandler:function(e){document.removeEventListener("mousemove",f.mouse.moveHandler),document.removeEventListener("mouseup",f.mouse.upHandler),c()}},touch:{moveEvent:"touchmove",moveHandler:function(e){return e.cancelable&&(e.preventDefault(),e.stopPropagation()),s(e.touches[0].clientX),!1},upEvent:"touchend",upHandler:function(e){document.removeEventListener(f.touch.moveEvent,f.touch.moveHandler),document.removeEventListener(f.touch.upEvent,f.touch.moveHandler),c()}}},d=n?f.touch:f.mouse,p=!!function(){if("boolean"==typeof I)return I;var e=!1;try{var t={get passive(){return e=!0,!1}};window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch(n){e=!1}return I=e}()&&{passive:!1};document.addEventListener(d.moveEvent,d.moveHandler,p),document.addEventListener(d.upEvent,d.upHandler,p),o({type:u.columnStartResizing,columnId:t.id,columnWidth:t.totalWidth,headerIdWidths:i,clientX:l})};return[e,{onMouseDown:function(e){return e.persist()||a(e,r)},onTouchStart:function(e){return e.persist()||a(e,r)},style:{cursor:"col-resize"},draggable:!1,role:"separator"}]};function Lt(e,t){if(t.type===u.init)return o({columnResizing:{columnWidths:{}}},e);if(t.type===u.resetResize)return o({},e,{columnResizing:{columnWidths:{}}});if(t.type===u.columnStartResizing){var n=t.clientX,r=t.columnId,a=t.columnWidth,i=t.headerIdWidths;return o({},e,{columnResizing:o({},e.columnResizing,{startX:n,headerIdWidths:i,columnWidth:a,isResizingColumn:r})})}if(t.type===u.columnResizing){var l=t.clientX,s=e.columnResizing,c=s.startX,f=s.columnWidth,d=s.headerIdWidths,p=(l-c)/f,h={};return(void 0===d?[]:d).forEach((function(e){var t=e[0],n=e[1];h[t]=Math.max(n+n*p,0)})),o({},e,{columnResizing:o({},e.columnResizing,{columnWidths:o({},e.columnResizing.columnWidths,{},h)})})}return t.type===u.columnDoneResizing?o({},e,{columnResizing:o({},e.columnResizing,{startX:null,isResizingColumn:null})}):void 0}Mt.pluginName="useResizeColumns";var It=function(e){var t=e.flatHeaders,n=e.disableResizing,r=e.getHooks,o=e.state.columnResizing,a=m(e);t.forEach((function(e){var t=T(!0!==e.disableResizing&&void 0,!0!==n&&void 0,!0);e.canResize=t,e.width=o.columnWidths[e.id]||e.originalWidth||e.width,e.isResizing=o.isResizingColumn===e.id,t&&(e.getResizerProps=d(r().getResizerProps,{instance:a(),header:e}))}))};function zt(e){var n=e.plugins,r=e.dispatch,o=e.autoResetResize,a=void 0===o||o,i=e.columns;v(n,["useAbsoluteLayout"],"useResizeColumns");var l=m(a);b((function(){l()&&r({type:u.resetResize})}),[i]);var s=t.useCallback((function(){return r({type:u.resetResize})}),[r]);Object.assign(e,{resetResizing:s})}var Dt={position:"absolute",top:0},jt=function(e){e.getTableBodyProps.push(Ft),e.getRowProps.push(Ft),e.getHeaderGroupProps.push(Ft),e.getFooterGroupProps.push(Ft),e.getHeaderProps.push((function(e,t){var n=t.column;return[e,{style:o({},Dt,{left:n.totalLeft+"px",width:n.totalWidth+"px"})}]})),e.getCellProps.push((function(e,t){var n=t.cell;return[e,{style:o({},Dt,{left:n.column.totalLeft+"px",width:n.column.totalWidth+"px"})}]})),e.getFooterProps.push((function(e,t){var n=t.column;return[e,{style:o({},Dt,{left:n.totalLeft+"px",width:n.totalWidth+"px"})}]}))};jt.pluginName="useAbsoluteLayout";var Ft=function(e,t){return[e,{style:{position:"relative",width:t.instance.totalColumnsWidth+"px"}}]},Bt={display:"inline-block",boxSizing:"border-box"},Vt=function(e,t){return[e,{style:{display:"flex",width:t.instance.totalColumnsWidth+"px"}}]},Ut=function(e){e.getRowProps.push(Vt),e.getHeaderGroupProps.push(Vt),e.getFooterGroupProps.push(Vt),e.getHeaderProps.push((function(e,t){var n=t.column;return[e,{style:o({},Bt,{width:n.totalWidth+"px"})}]})),e.getCellProps.push((function(e,t){var n=t.cell;return[e,{style:o({},Bt,{width:n.column.totalWidth+"px"})}]})),e.getFooterProps.push((function(e,t){var n=t.column;return[e,{style:o({},Bt,{width:n.totalWidth+"px"})}]}))};function $t(e){e.getTableProps.push(Wt),e.getRowProps.push(Ht),e.getHeaderGroupProps.push(Ht),e.getFooterGroupProps.push(Ht),e.getHeaderProps.push(Gt),e.getCellProps.push(qt),e.getFooterProps.push(Yt)}Ut.pluginName="useBlockLayout",$t.pluginName="useFlexLayout";var Wt=function(e,t){return[e,{style:{minWidth:t.instance.totalColumnsMinWidth+"px"}}]},Ht=function(e,t){return[e,{style:{display:"flex",flex:"1 0 auto",minWidth:t.instance.totalColumnsMinWidth+"px"}}]},Gt=function(e,t){var n=t.column;return[e,{style:{boxSizing:"border-box",flex:n.totalFlexWidth?n.totalFlexWidth+" 0 auto":void 0,minWidth:n.totalMinWidth+"px",width:n.totalWidth+"px"}}]},qt=function(e,t){var n=t.cell;return[e,{style:{boxSizing:"border-box",flex:n.column.totalFlexWidth+" 0 auto",minWidth:n.column.totalMinWidth+"px",width:n.column.totalWidth+"px"}}]},Yt=function(e,t){var n=t.column;return[e,{style:{boxSizing:"border-box",flex:n.totalFlexWidth?n.totalFlexWidth+" 0 auto":void 0,minWidth:n.totalMinWidth+"px",width:n.totalWidth+"px"}}]};function Kt(e){e.stateReducers.push(Jt),e.getTableProps.push(Qt),e.getHeaderProps.push(Xt)}Kt.pluginName="useGridLayout";var Qt=function(e,t){return[e,{style:{display:"grid",gridTemplateColumns:t.instance.state.gridLayout.columnWidths.map((function(e){return e})).join(" ")}}]},Xt=function(e,t){return[e,{id:"header-cell-"+t.column.id,style:{position:"sticky"}}]};function Jt(e,t,n,r){if("init"===t.type)return o({gridLayout:{columnWidths:r.columns.map((function(){return"auto"}))}},e);if("columnStartResizing"===t.type){var a=t.columnId,i=r.visibleColumns.findIndex((function(e){return e.id===a})),u=function(e){var t,n=null==(t=document.getElementById("header-cell-"+e))?void 0:t.offsetWidth;if(void 0!==n)return n}(a);return void 0!==u?o({},e,{gridLayout:o({},e.gridLayout,{columnId:a,columnIndex:i,startingWidth:u})}):e}if("columnResizing"===t.type){var l=e.gridLayout,s=l.columnIndex,c=l.startingWidth,f=l.columnWidths,d=c-(e.columnResizing.startX-t.clientX),p=[].concat(f);return p[s]=d+"px",o({},e,{gridLayout:o({},e.gridLayout,{columnWidths:p})})}}e._UNSTABLE_usePivotColumns=nt,e.actions=u,e.defaultColumn=c,e.defaultGroupByFn=Ue,e.defaultOrderByFn=Je,e.defaultRenderer=l,e.emptyRenderer=s,e.ensurePluginOrder=v,e.flexRender=S,e.functionalUpdate=g,e.loopHooks=h,e.makePropGetter=d,e.makeRenderer=w,e.reduceHooks=p,e.safeUseLayoutEffect=y,e.useAbsoluteLayout=jt,e.useAsyncDebounce=function(e,n){void 0===n&&(n=0);var o,a=t.useRef({}),i=m(e),u=m(n);return t.useCallback((o=r(regeneratorRuntime.mark((function e(){var t,n,o,l=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(t=l.length,n=new Array(t),o=0;o1?n-1:0),a=1;a Clash - + - + diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash.sh b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash.sh index a354118cf2..7fbb5452fd 100755 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash.sh +++ b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash.sh @@ -1,10 +1,16 @@ #!/bin/bash . /lib/functions.sh -. /usr/share/openclash/openclash_ps.sh . /usr/share/openclash/ruby.sh -status=$(unify_ps_status "openclash.sh") -[ "$status" -gt 3 ] && exit 0 +set_lock() { + exec 889>"/tmp/lock/openclash_subs.lock" 2>/dev/null + flock -x 889 2>/dev/null +} + +del_lock() { + flock -u 889 2>/dev/null + rm -rf "/tmp/lock/openclash_subs.lock" +} START_LOG="/tmp/openclash_start.log" LOGTIME=$(date "+%Y-%m-%d %H:%M:%S") @@ -18,6 +24,7 @@ enable_redirect_dns=$(uci get openclash.config.enable_redirect_dns 2>/dev/null) disable_masq_cache=$(uci get openclash.config.disable_masq_cache 2>/dev/null) if_restart=0 only_download=0 +set_lock urlencode() { local data @@ -391,3 +398,4 @@ else [ "$(uci get openclash.config.auto_update 2>/dev/null)" -eq 1 ] && [ "$(uci get openclash.config.config_auto_update_mode 2>/dev/null)" -ne 1 ] && echo "0 $(uci get openclash.config.auto_update_time 2>/dev/null) * * $(uci get openclash.config.config_update_week_time 2>/dev/null) /usr/share/openclash/openclash.sh" >> $CRON_FILE /etc/init.d/cron restart fi +del_lock \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_history_get.sh b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_history_get.sh index 861addc6fb..a55e08300e 100755 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_history_get.sh +++ b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_history_get.sh @@ -30,10 +30,10 @@ if [ -n "$(pidof clash)" ] && [ -f "$CONFIG_FILE" ]; then cmp -s "$HISTORY_TMP" "$HISTORY_PATH" if [ "$?" -ne "0" ] && [ -s "$HISTORY_TMP" ]; then mv "$HISTORY_TMP" "$HISTORY_PATH" 2>/dev/null - echo "${LOGTIME} History:【${CONFIG_NAME}】 Update Successful" >> $LOG_FILE + echo "${LOGTIME} Groups History:【${CONFIG_NAME}】 Update Successful" >> $LOG_FILE fi else - echo "${LOGTIME} History:【${CONFIG_NAME}】 Update Faild" >> $LOG_FILE + echo "${LOGTIME} Groups History:【${CONFIG_NAME}】 Update Faild" >> $LOG_FILE fi fi rm -rf /tmp/openclash_history_* 2>/dev/null \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_history_set.sh b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_history_set.sh index dcbe343c3a..6a472eba36 100755 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_history_set.sh +++ b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_history_set.sh @@ -64,7 +64,7 @@ if [ -s "$HISTORY_PATH" ] && [ ! -z "$(pidof clash)" ]; then fi done >/dev/null 2>&1 close_all_conection - echo "${LOGTIME} History:【${CONFIG_NAME}】 Restore Successful" >> $LOG_FILE + echo "${LOGTIME} Groups History:【${CONFIG_NAME}】 Restore Successful" >> $LOG_FILE else - echo "${LOGTIME} History:【${CONFIG_NAME}】 Restore Faild" >> $LOG_FILE + echo "${LOGTIME} Groups History:【${CONFIG_NAME}】 Restore Faild" >> $LOG_FILE fi \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_rule.sh b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_rule.sh index 307ec45cab..6bd5b654e1 100755 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_rule.sh +++ b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_rule.sh @@ -65,17 +65,20 @@ echo "Ruby依赖异常,无法校验配置文件,请确认ruby依赖工作正常后重试!" > $START_LOG rm -rf /tmp/rules.yaml >/dev/null 2>&1 sleep 3 + echo "" >$START_LOG exit 0 elif [ ! -f "/tmp/rules.yaml" ]; then echo "错误:$rule_name 规则文件格式校验失败,请稍后再试..." > $START_LOG rm -rf /tmp/rules.yaml >/dev/null 2>&1 sleep 3 + echo "" >$START_LOG exit 0 elif ! "$(ruby_read "/tmp/rules.yaml" ".key?('rules')")" ; then echo "${LOGTIME} Error: Updated Others Rules 【$rule_name】 Has No Rules Field, Update Exit..." >> $LOG_FILE echo "错误:$rule_name 规则文件规则部分校验失败,请稍后再试..." > $START_LOG rm -rf /tmp/rules.yaml >/dev/null 2>&1 sleep 3 + echo "" >$START_LOG exit 0 #校验是否含有新策略组 elif ! "$(ruby -ryaml -E UTF-8 -e " @@ -89,6 +92,7 @@ echo "错误:$rule_name 规则文件含有未支持的新策略组,更新停止,请等待OpenClash版本更新适配..." > $START_LOG rm -rf /tmp/rules.yaml >/dev/null 2>&1 sleep 3 + echo "" >$START_LOG exit 0 fi diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/lhie1.yaml b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/lhie1.yaml index a7ee21f734..913e5812fe 100644 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/lhie1.yaml +++ b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/lhie1.yaml @@ -45,6 +45,7 @@ rules: - RULE-SET,Microsoft,Microsoft - RULE-SET,PROXY,Proxy - RULE-SET,Apple,Apple +- RULE-SET,Scholar,Scholar - RULE-SET,Domestic,Domestic - RULE-SET,Domestic IPs,Domestic - RULE-SET,LAN,DIRECT @@ -100,6 +101,7 @@ script: "Microsoft": "Microsoft", "PROXY": "Proxy", "Apple": "Apple", + "Scholar": "Scholar", "Domestic": "Domestic", "Domestic IPs": "Domestic", "LAN": "DIRECT" @@ -407,6 +409,12 @@ rule-providers: url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Apple.yaml path: "./Rules/Apple" interval: 86400 + Scholar: + type: http + behavior: classical + url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Scholar.yaml + path: "./Rules/Scholar" + interval: 86400 Domestic IPs: type: http behavior: ipcidr diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/openclash_version b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/openclash_version index ee7b7e5090..81b86a55ef 100644 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/openclash_version +++ b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/openclash_version @@ -1,2 +1,2 @@ -v0.42.02-beta -data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYQAAAAqCAMAAACEAtzLAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNTc4NThFNzU4MTExRUJBNjhEQjI0MUFERTQ3NDY0IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNTc4NThGNzU4MTExRUJBNjhEQjI0MUFERTQ3NDY0Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RTM1Nzg1OEM3NTgxMTFFQkE2OERCMjQxQURFNDc0NjQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RTM1Nzg1OEQ3NTgxMTFFQkE2OERCMjQxQURFNDc0NjQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz48qIiDAAADAFBMVEWhoaE6lsqUxeEFaaLv9Pc1dZqStcq6uroFXI6y0eJISEilpaWKioqxytllrNQGcKwHXpEFbakccaLR0dE9PT3h7/dJns4jhLwJdbOenp6CgoLR5vOizOVFgKIGVYIbhcLe3t5Fkb12ttq1tbUVapo/Pz8JZZpubm4GZp3a2trn5+fOzs5Ui6sIXY3R4elYptKRkZFjnL1FRUVLS0sIca5ycnKDrsZXlbgHVoQEU4AkapJ3d3eFhYUkeqoqjMWcnJxiYmIEYJSixtq/v7+srKx4eHjw9PeiwNHg4OAJYpQFZZtDQ0MXYYxBQUGUlJTCwsIXgb5qamo0faZFmsrIyMgJaqGz1enQ3+cEWYrFxcVAQEDAwMA2kcaCqsC2trbB1ODKyspilLAIbKUgdaZlZWWDsMtllrKTvtZgYGDB2ecYbZ4JWIWCudmNjY2kzuaiv9AFcrBHnMxHi7IZfLWvr68nicEFYpd0dHSJweJzn7l0sdUmbpgUXok1h7UKebkBcrNZWVlTU1NRUVFUVFRVVVULfL1SUlIKe7wFdrcHeLlWVlYEdrYDdLQDdLUOf8AOgMAEdbYDdbUSg8MSg8QShMQThMUAcrIGd7hXV1cOf78Nfr8Nfr4Mfb4Mfb0Je7sJersJeroIeboIebk6OjqqqqrV1dXU1NSrq6vw9/uCqcCpqak7OzuAgIB+fn7C3u6DvNz19fWBgYHq6uqEvd2EvN309PTz8/NMTEyGvt+Fvt7B3u5/f3/B3e2Hv9+Gv9/o6OhGm8vg6u/B3e6Xl5dHm8yEtNCErMLA1N+Fvd7W1taFvd03k8iDu9zC3u8JeLgLdK9Ef6HB2+oHdbLg6vAFdLQsj8eDr8iDq8JVos9EmcqEq8J1qMV0s9gIV4QIaJ/C3OvB1eBlp82ixNfB1+NortdHmsnC3+8Lcaswk8sKbqjQ5PB/uNhFia8IWIcFZ6ACc7QRgsMPgMEQgcJaWlpfX19NTU1eXl5cXFxbW1tPT09QUFBYWFhdXV1OTk7///////9oBH8RAAABAHRSTlP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AU/cHJQAADFtJREFUeNrsVwtYVGUaPqAoDbdBB3QGRBQBFRWbQQUhF1MQGRG8u6WuoJnmZlhpF611REDGtvaa1LZqDpeREhEElcRr2lUtK7tak92s1vaWlhov+1/OmXPODCjP1vPUzOP7PMz/fe93+f/zvcP5QWhrq7t3xLfegJv+6oE4d7+9rU1oy/IOCYgIf/FInItoE+pGXPQS3PRnz8Q5u3DvRa8R4U8eivuFET94C276l4finPDDdRF+dniTCP/xVAjfeQ2ui/ALwIJ/eyqE770G10X4JYjwmKdC+K/XYMGjnop2RTCMHz/+zviffkwLDYaFTifeYOhMTYYho7MiPNEh3vq0pSW8/ZBP+FuS1b+lJbGve0Z4S8unUs5jfRNbWvr7uOXsx/4n/n8Ia1yRPq8ODFlH0tf8SBjGG1R+HY447VzM70yLl/BSJzdb8GRH8GXPE+bTTigR2M+M/nb+1PtdEnzCGO37KHXe+pwnRbi22u9WJyN8f/iTV4ebCBn1wKBqvT6B7GX4sSKMx3ilax2HLKfWwPCfWIS/dYA9yHz/7lE3wN7XLeRDRr+HWZ/jjQnHjg2TXAl97bhh1N3vZ3I6HHAcOzYh063VHpeyzsY4hCtqpGehKV5HYdI3Ga78SBARVH48EC+aR9BU0pkWRp2xk5steKp9jAH8lhI4sMwtZAcZLzMjF9GcpRNgV2UsQxCl+wBjiBc+YRX1/Ozor260R+zSHq4W4xDcxtaUrjNrTCajTmed0tlhpxpUehkM8e2LoBkMacNKzGttr1aSS+ohi5BuMKQrvy5ql4jw9/bRH0HnC05+EdcHdpdI3wgscmAvsycuHRo3Y4Z2EhCuTLHDb+IXJ78870B/4p08s3TijBlx57vhc3WnvbTLmHAfRe/w8DGKmIjwcGWOBFcR6qCPXcssq4kaldjJvJ2oFD+PZAHVV6pRnV5N3lw0Wk0vkbpqlgekM7cynTkczu5r9aiXfyes6lq5+RVDFi2ru5U0qQZvnFpJqcpUMTP+VurOUx69x1PFHH3J15Zby+BbXDwT7/WmjhbwKVbhOCac+QR7mR33JV+ICIoMH2AiXU++h5l0iTtBvd4jcVzdiQw6kV4eYYli3XF6vON0P2kIhOTXi31vsQuEchV2AuUlklNUVF5ORBADlewzi82iurwa8+uptbOcvMDqugd0r8OtNA+oR13CIHKtE6eyHvWVBHL/NUAqMwQM1pSra+XmdwI9AwKm0+5ko2qan1qH6ICAaNSlssy6OhxIGExUkFtf6eF8qGXiYIvtVI0IjGLOyWFIVD07edWc+bIWqpm8AtyjcBMxjAlYPAoRCnombncVgVwuSxwQJfwU+Oro0WGwExVqwxBWS1BcHI6ws0eP3myn34yriUBmY1IRriKgUdit06ST2eBA4C26dd+Vx2CQhlwhmiY2XkoTL515Oj309HqR25kGIYYZWai4XK6ulZvX8zJNhSxCPeZRah7q+TF6jiBeGuoUR+1RKuLhPghjRjAccaWlQL9i5jrwYqkC/TFrUlxprZpcBkeSwn0RDm70A2SW3DJ3l6rwIuy3TTqTPGkW25lcNYuSCd7GzNJS8vk2dUpLV7xG12Q/oK+6WrCqUI0Ei4qoxLNsfRaV7PPABTYekvjrWGpdJn/lFOmMGqNuOGJIBmDS6cw5ulxUW61mAYKZQG5nSUMjXVPJO8pqVdfKzcmryqwhtO4yPRFpZJ2MJl2ORpND5JpMMwfpdLHmWF2TeDoGpwilcW8gka61WNSbivAZpz/Cy4onD0bmpIk0R0kuB/o8rPBfxkfc+EwpQi0cA9VjfBkjk5O12uTRwCulpb6YkDx0xoyhyZlk3NrTOK0lKC1NiqLXThy5X5ZfQ4Se1quKkKDTFFmLLCRRH7ubDLUoEINyikioKJ5lAJS2kpd/tVWaoBIXgECy0F8Bq1VdKzcfjOhUSmucIsQg10jLjblcrgQzCVl3J6hE2CQh6QEsI8sYZGrJAizndC0anCmbXrFn+g094UZirnaTAg2o5QZRx0kuI/Il0exaBl+WN/JD0uzE0DcQvGlTBIYU0MQPHXTrBmmH3kmbljc0zFySKR1IgrBOhQpEqwkiAluJCOyzp0VKDJAMJ2gGwBMCUMGCFep263bnYhxZ6jG8xLVWbp5GiPr5Ffetc7aohJ5FLHqeWcUTe4qnY+ix2YlVQN7mzQ3oVkAc4HnOknnLKbUYcv6EC0k0uCsqabMCRARuPA9IHNHATytyFLUsj3fp7aCG/Fh06wbnDg12mVXCRYQMYPFVRah0qlUhGfUVDAH6QCaCMu4ugiUDjYtJH1xwq5Wbx8bnsrPOV4ggah7ARahUn46LsMWJGUH4YMuWMKyiziEc5GwzPpZTmhWTAqeYBh9uUeJjNHPjIA6JVCS6+p05Qa17+jBMJeYu7OLRJdQAIncxnJ7ba5McI/+4n73xH6u0n0gHkiAUqQFMVvlVeI6tz6HK+UlBZiMZg54RkcPqlXFnlgwzeasXjUOuxq1Wbm4ixOI08j+7XmoxHTE8FIPpikzpdAw9nnbi1BCEPX0QjmzqOLCLs+SGllNudzQz2BHW3MyYg+RdFLXyaRXIfcyNXXCwNS8Ss/zOJzE7JIpBy8LiHhF4kG40JEpEkhzLAx5gnAMH1bu4iNBK/vz4VnK+nUIfM/DqIpDfnR80HKbOiLB7HuYXNSKtxK1Wbl7UaqbCzKMEbyEgmkeiIazrSIStMsaSr38k8k9R+zQiGTcHKJAztOKUHGTyUZQIBvKjVm5VowBYwYyZOE2XvAjMWn2mkAc3hjAkEXMHdjBqBfDQ1q0OnB0o4pQcOwhErSwIObW1GQfVuwgWFUosQPRFbgc2brdYumMctS+OQxVZtrNPihrUcIP8Ezxd5O4jP+ROUMT1vFoF8ieRHk1m91q5uZ78XDLl1NAob/Q9sN3CDoDvFZlVnOVH71EmI3QuZqKrP7Onwp5HV18EhZBlzuHDwWTJ9uf4BCP9aR55y7wWNdDZwPfwYbqEBGEHXcm3eCqtJS+s1f5JZW7YwdNIl0NdysrygTmcp8uDiGT2NOAmxoVhmrraRQSLmVyKjTGB27fXRLPnJk9ds317TCM6EuEC+TpPJ4kj9PU1biJMARHy4mT1DoPRiBiTe63cHPWTp5CyRnoA3khTg0bShlA1mg5EsNyxVfFc5Gom1zIzBwYhYk5Z3gfAa+IsdigS93GPsEFzb9vBwGmwMPmj/oO8sjkR+M1AxnadO/e3LGmaiwh233emBR8mexCJ/GfBHryiLO+dSNrkIdinleUFl4UcQkTwNMLhWiJcsk0ZLN5WTfo1ZGQxzD4wuSMRLLqMJrHgV24iaHi1aofW4YRZ3E6t3Fw6QY1ZanTJxjshxnapQxE2KpAdBIzmZsjqWbw2X0vdd4FXFYn7uPeu4prmNFs2avM5N2t1CGclKHts3PiqyHbNn028LquDJJ9439zFu4b6dWXG7cPwrqp4o1DiAo3NlqFPSEioybDZdpeUmGxpuQm5aTqLPpAEF7JPilR9qmiZbMa07lVV3SdbjMTT65XxVlJdNd1lD6terze3Uys3t2UIPat6ChabybmR0TaloqqqYorNqDxGoH6h3FclQqHftgdWirY2Jf/mfa+PHJ0SSr1e27b1UyTeyD3COsHpbVzBlNEjX993c36Kv8hK6KcaY79tfYacfeGFbuIes1P8Ri7Z9/ptQ1JYi/yg5htOE3Z0N5IyNSV/W69riFCyW2fjeMZ4mbhmZus0tltojH3yoRilAtMzYoGGzs+mivNqN5ltF9qplZtLJzAqNuKdbEw9Z+Yt9HviFGG9Ahu0KSmFov3m7BSGLswLTUnJViT6cy80RQanU3i8C+dmvymyEpQ91q/PFtkovscjWsmn3ljedUNIFDNWzk4JVRWvF9a6w2SMjY01mkRPkxObo1nbatQQm3/yHJMz/7LGHBtr1rRS22hUx2m1Ud2+1Wg0tlcrNxdP0KraiHKi7czU8BwOlQjrQ7K/kZ0uY/39s0VNCrOzlTPowj3COsFpacqF5Aof20VKdkI9x9Ds0AKyx8pCeXty6WcXbOBlWv+xtF3hSpISQroUXlsED8UdGzwVwmWvwR1/8FR4kwh/9FQIl7wGA37vqfAmER7xVAgLW70FA/7poeglBFwX4efG10Kj1/wqDPidZ6KXXWiLTr/gHfBMER7v9VWb0NbWGOAdMgx43APR62t7W9v/BBgAciw52UrfNuoAAAAASUVORK5CYII= \ No newline at end of file +v0.42.03-beta +data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYQAAAAqCAMAAACEAtzLAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkExRUI4OTE1ODJBQTExRUI5RTIyRDA3MzM4QkJFQUExIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkExRUI4OTE2ODJBQTExRUI5RTIyRDA3MzM4QkJFQUExIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTFFQjg5MTM4MkFBMTFFQjlFMjJEMDczMzhCQkVBQTEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTFFQjg5MTQ4MkFBMTFFQjlFMjJEMDczMzhCQkVBQTEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4q2vqCAAADAFBMVEWUxeEJca0FXI66urplrNSxytjv9Pfh7/dFgaIHXpEqjcZISEilpaWKiooGVYIFbak6lsodcqLR0dFJns49PT0jhLyenp6CgoLR5vMbhcHC3u4GcKw1dZre3t4GZp1Wlbm1tbUVapo/Pz9ubm5Fkb3a2toIXIvn5+fOzs7R4elYptKStck2kcYkapKRkZFFRUVLS0t2ttoEYJRycnKCrsYEU4AIZZmizOSy0eJ3d3eFhYUkeqqcnJwHVoRiYmJjnLyixtq/v7+srKwJYpR4eHiz1uoKdbKhoaHg4OBDQ0NBQUFFmsqUlJTCwsIEWYlqamo0faYFZZvIyMiiwNEXYYwFaaLFxcVilLAJaqFAQEAXgL3w9PfAwMC2trbB1ODKysoJbaXQ3+cgdaakzuZlZWV1p8WDqsGDsMtllrJgYGDB2edHirEYbZ0HbKQJWIVkp81Ui6sJaJ4FcrCNjY2iv9E1hrRHnMwHdLEZfLVynrgJbqkFYpevr68nicB0dHQFa6aJweKTvtZ0sdUmbpgKebkBcrNZWVlTU1NRUVFUVFRVVVULfL1SUlIKe7wFdrcHeLlWVlYDdbUOf8ADdLQOgMAEdbYEdrYDdLUSg8MSg8QShMQAcrIThMUGd7hXV1cOf78Nfr8Nfr4Mfb4Mfb0Je7sJersIeboJeroIebk6OjqqqqrV1dXU1NSrq6vw9/upqak7OzuAgIB+fn719fWBgYGCqcCDvNyEvd3q6uqEvN3z8/P09PSGvt9MTEzB3u6Fvt5/f3+Hv9/B3e2Gv9/g6vBGm8vA1N/o6Ojg6u+Xl5eFvd43k8jB3e5Hm8zW1taFvd0UXokJeLiEtNBVos+ErMKDr8jB2+qDu9yDq8IFdLREmcpEf6F0s9iixNeEq8IHV4bC3OvB1eCjo6NHmslortfB1+Mwk8t/uNgFZ590oLmAudkab6DQ5PCRuM8mcZwCc7QRgsMPgMEQgcJaWlpfX19NTU1eXl5cXFxbW1tPT09QUFBYWFhdXV1OTk7///////+d7IOqAAABAHRSTlP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AU/cHJQAADGJJREFUeNrsVwl0U1Uafi0tJaSbNKSlpVJalrImLAEL0ypQ6EaBIp0iyLAji2BBBaXiPpRCSzPqOItDXYYtXVKlLKVlkX1VEcEVBuPC6OjsggL26/z33pe895IWekbP0eTwndN3///7l/ve/yXvplJjY80jA77xBQz9kxfi4uP2xkapMd03JCAR/uiVuBjVKNUMuOwjGPoH78RFu/TIZZ8R4fdeiselAd/7Cob+y0txUfr+pgg/OXxJhP94K6RvfQY3RfgZYMa/vRXSdz6DmyL8HER4zlsh/ddnMOMZb0WTIkQOHz78/oQff0yzIiNnuZyEyMiW1KRGprZUhBebw3NtP9u3L6LpUHhEW9kM77dvX88OnikR+/Z91lbtNZF1AAde/P8hrXRHypQacKQfS1n5AxE5PFLj1+CYy87G1Ja0eBNvtnCzGS81B4k/T1B4E6GewAFu9LOLpz7glhAexGnpGe7NFEl296wDHnUKIg5EvHR9eIiQWgt0rTIaE2mvyB8qwnAMV7vWYUh3aQ30/ZFFeLkZ7MLk2Qs63QZ7B49QOI1+F7eicfDOM2d6OF0nOthxW6cFsyfLNHCw15leB92zaItdLze/ffMxAemaFinpqEswMJiNdZHXfiBIBI2fACTI5jHUFbekhclgauFmM15pGm2BjosIDsz0CNlB4+Xm4LksZ9GdsGsyZiKQ0W2Atsx1tOFZgQjSNtold2kK14sJSB5jq0sxZOjNZpPBYB3b0mEnRWr0ioxMaFoEfXekyWYFpjQ0VeuUy9lDESElMjJF/XHRuiTCn5tGP5rjtFF+I9rA7hbpEIW5Duzl9ohF3QZNnKibAESoU+zoOMJv1DRSsB9zFy3qtnji4m6kibbTXtalbUS4qndERFtVTEZEhDrHCXcRamCMX8Utq5kZFdjKva2okK/H0oGqa1WoSqmiNxeLVrFDpKaK5wEp3K1I4Y6Aq/sqI2qV74RVW6s0vxaZzspq7qYmVRCNkyoYVZEkZybczdwp6lu/ZY2MDvSxFdZMSGvWjMRfRjFnBBC+RoNo3Jn8OfZye9BysZAIqoxwYARb/c5gJO/hx+lOOKjtRIPuyQ6PoJ5yXTS7vWi2n3MIRIrjxb53jRukMg22AmXFTqeoqKyMRJADFfyazmdRVVaFqbXM2lpGL7CaVsGtanA3ywNqUZPYlY51cipqUVtBUPqvBJK4kYbu+jJtrdL8fqBdcPB41p02qmL5STWIDQ6ORU0Sz6ypwZHE7qSC6t5dItDs5ee0MzWi0InZr/j1QE/Ns9OrJnl5NDQzOQE8pHJ7oscoeexRCkvfoHx3Eehwme+ALOFnwNenT/eAnVSIDkJQNGHNmggEnT99+g47+2RcTwSajVlDuIuA+rTdBn0KzQZHQu4yrP62LA5d9XSE6Ov4eBlNXgr3DEYY2fGitDN3RRw30lF+tUxbqzSvFWX6ckWEWkxh1BTUittoN4C8IahRi1Ai4+k2COJGAByLN5QAXdZw14HjJSr0w/QJg0qiteRMOPxU7nE4hNEFkKmA4yPtB/O7lWhwHPZ7JlxInjCd70xHzdxkwvsYWVJC1/eZU1Ky4iO2JncEOmirJasGVUgs1BAVeI2vr6GCX49c4uOhxF/GM+sq/copMpj0JkNfxFEGYDYYMjIN2aiyWjPSkJZBUNoVDkE9W5PoHWW1amuV5vSqytATbbjK7ogaWUejzpCp12eSXKNZZleDIT4j3lAn3x2HS4SSQQfRk63RmDuqhET4VNAf4y3Vkwdg8oQRLEdNLgXaPK3y38LHwvjUJQK9aOyzJyzXjvEtDExO1umS+wAnaKj0mus2cWK35Mk0bt1ZnNURSkr8ktmxM+iCA0tvIEI763VFSDToi6xFhZRojN9NQy0KQdfMIgoVJfAMgNFWevlXWZ0TVOMSEEIL+wpYrdpapXl3xCYxWu8SIQ7ZJlZuyhZyJWZQyLo7USPCeif8vsRMWtpiso4WYKmgo7HDlbL+hH1yR/+3PUjM0a1XYQeihUHqyNSDC/LpJ9QJlh3NIfG8gYup2dv+BxGwfj29raax1MUOtvUO5w6j/NYv3bFj5PzJzhtyQlqtQTlitQSJwFcSgV/bFToTg52GCywDEAnBKOfBcm271buzMYyWWvQtdq9Vmg8honZq+aOrXS0qYOSRQqPIrBSJ7eS747hlgwtPAZM2bNiBXtPIAd4QLM1bSYlG/oW33UjS4IFQvw0qkAjCeAOQKV1o6IXZCBIcP355nugyysEM5bHY1jtcO+ywK6wabiKkAvOuK0KFS61yp1FbzhFsDOEiqOOeIhSmon4e9cElj1qleXxCNr/XqSoRZM2DhQgV2rsTImxyYWIgzm3aFISnmHMUhwS7B/cpKXtUk4KguAaLN6lxH/YI4xCOytQyv+UF9EP2xKZND7XhGEfkTuwU0fnMAAbv5Dg7p/16JUb/uJ+/fcE/dJ87b8gJqUgLYLTGr8TrfH0dla4rA83GaXR9VUYmr1fHXVkKMuitXjQM2XqPWqW5mYh5Q+h/dqOzxXjEiVAcxqsynXfH8dVGF5blI2jjITgGMceBnYKlE1pJecKxh8OOoD17OHOI3kWhBRs1oPNYGDvhUNG5wKGNG/1COXQ8LO8RhSfZRvmhMvyU2CTgS845WLEabiI00M+Pb5zON2PZY4ZcXwT67nyvFzC3RITdUzC1qB5Dij1qleZFDRlMmCmMEC0+QayIxOKTZkXYrKA/ffwHI28Zs89iMOd6AwuVDJ08JQdNPpQRAUBeaMFmLRYCKzYyYyTOqugVQO/Nm9fFcPgRsR3bnYEHN2924PytMpYpsUNAaMHCmGWb9+CQdhepUIPiQiD2srBD6rcUFrbCMGZfHoZKWrbwK0M1qoVB/wSPl7lH6Y/OBFXcKKo1oJ9ERtRleNYqzY30d8WcWc2iotF3wJZCfgP4TpVZKViBr0oVhM3BSLT25/Y42CexVUJgDC29T54MoCXHX+BzDPRneYPR+qPQW10NpJMn2RITiO1spU/xOFreyRLRkTgaU6rGdpFGXY7mlpbmkUaCZ8uTGMztLGAo54KQpSkudROhMIMOxfq4kC1bqmP5c9NTV2/ZEleP5kS4RB/n8ZQ4wFhb7SHCWJCQl0drd+iOesSZPWuV5qgdPZbK6tkNiEb6atRTG6Kq9S0RoZSOZvRayM1bAxHVu3TSOeAjeRbbVYn7hUds4Jx7tnMIGjxMP+rPTSrtHYVf3cpnHbU9K+tcFL1v3EWwS+9kBZykPfxKS/2nwx6wonTSO4NZkwdhzyqdFFAacxRRAVnE4UYiXLGN7S6fVnXGlTSyOG4fGd2cCIWG1Dq54BceIuhFtWaHhr7EzGuiVmnuvIPqDGejKzbRCXG2K82KsE6FnECgjzBjTk0XtXk65n4IvKdK3C+8D1XHtKD5sk6XJ7jpp2LIu0/OaJ03Zp0G72kCuacCnT55XzwguoZ1bM2NJ3rgQ221VOwGvc2WakxMTKxOtdl2FxebbUOyE7OHGAqNIRScxa8MScYk2TLbTENaVVa2Gl1oIs9oVMcbqLpyfJp2B6vRaMxoolZpbktNa1fZLq3QZnZtZLKNLa+sLB9rM6lvI8Q4S+l7r/q5lnXc9nCBbOsseXfsf3dgH0sY89pv29ZFlXi78Ih1QdDbhIKWPgPf3X9HnsWfS3sqr9fhw4EP97E8ph1jl21t8s8fPtxL3mOMpePA+fvfvSffwlvkBe65bSCxfaj47+Msedva30CE4t0Gm8CrpqvkZnDboLfdxWL8KoZichaYX5UL9Gx+Nk1cVHvIbLvURK3S3HkHJtVGopONq+fKvIt9TlwirFXheZ3FskS2Pxhj4cjlXpjFkqNK9BdemEWBoC0iniu4MR+oHEto7lotcrSBZ3VOn3n9RdfnY0K5UTDGEqatllZ5wmyKj483mWVPnxmfqV/VYNKTLa4ix+zKv6rPiI/P0Dcw22TSxlm1Sdu+wWQyNVWrNJfvoEGzEeNk25WpFzkCGhHWxuR8oTi5/f39c2RNluTkqGeQKzxiXRC0U6kldIT3dw79g9wCf3/dF0vcNFgblhP2GO1RsETZng79nMfkPXT+/Vm7JVRcEEO9l9xYBC/Fvc97K6SrPoN7f+ut8CURfuOtkK74DDr/zlvhSyI8662QZjX4Cjr/00vRXgq+KcJPjb9J9T7zVej8a+9Ee7vUGJtyyTfgnSK80P7rRqmxsT7YN2To/IIXov1f7Y2N/xNgAD5q0VyExNKpAAAAAElFTkSuQmCC \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_groups_set.sh b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_groups_set.sh index 82e87f18ef..2d06a1b49b 100755 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_groups_set.sh +++ b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_groups_set.sh @@ -1,10 +1,17 @@ #!/bin/sh . /lib/functions.sh -. /usr/share/openclash/openclash_ps.sh -status=$(unify_ps_status "yml_groups_set.sh") -[ "$status" -gt "3" ] && exit 0 +set_lock() { + exec 887>"/tmp/lock/openclash_groups_set.lock" 2>/dev/null + flock -x 887 2>/dev/null +} +del_lock() { + flock -u 887 2>/dev/null + rm -rf "/tmp/lock/openclash_groups_set.lock" +} + +set_lock START_LOG="/tmp/openclash_start.log" GROUP_FILE="/tmp/yaml_groups.yaml" CFG_FILE="/etc/config/openclash" @@ -251,6 +258,7 @@ if [ "$create_config" = "0" ] || [ "$servers_if_update" = "1" ] || [ ! -z "$if_g uci commit openclash sleep 5 echo "" >$START_LOG + del_lock exit 0 else if [ -z "$if_game_group" ]; then @@ -268,4 +276,5 @@ if [ "$create_config" = "0" ] || [ "$servers_if_update" = "1" ] || [ ! -z "$if_g fi if [ -z "$if_game_group" ]; then /usr/share/openclash/yml_proxys_set.sh -fi \ No newline at end of file +fi +del_lock \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_proxys_set.sh b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_proxys_set.sh index 4827a1af70..65937242a5 100755 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_proxys_set.sh +++ b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_proxys_set.sh @@ -790,16 +790,41 @@ cat >> "$SERVER_FILE" <<-EOF - Proxy - DIRECT - Domestic - - name: Apple - type: select - proxies: - - DIRECT - - Proxy - name: Microsoft type: select proxies: - DIRECT - Proxy +EOF +cat >> "$SERVER_FILE" <<-EOF + - name: Apple + type: select + proxies: + - DIRECT + - Proxy +EOF +cat /tmp/Proxy_Server >> $SERVER_FILE 2>/dev/null +if [ -f "/tmp/Proxy_Provider" ]; then +cat >> "$SERVER_FILE" <<-EOF + use: +EOF +fi +cat /tmp/Proxy_Provider >> $SERVER_FILE 2>/dev/null +cat >> "$SERVER_FILE" <<-EOF + - name: Scholar + type: select + proxies: + - Proxy + - DIRECT +EOF +cat /tmp/Proxy_Server >> $SERVER_FILE 2>/dev/null +if [ -f "/tmp/Proxy_Provider" ]; then +cat >> "$SERVER_FILE" <<-EOF + use: +EOF +fi +cat /tmp/Proxy_Provider >> $SERVER_FILE 2>/dev/null +cat >> "$SERVER_FILE" <<-EOF - name: Netflix type: select proxies: @@ -959,6 +984,7 @@ ${uci_set}AsianTV="AsianTV" ${uci_set}Proxy="Proxy" ${uci_set}Youtube="Youtube" ${uci_set}Apple="Apple" +${uci_set}Scholar="Scholar" ${uci_set}Microsoft="Microsoft" ${uci_set}Netflix="Netflix" ${uci_set}Disney="Disney" @@ -979,6 +1005,8 @@ ${uci_set}Others="Others" ${UCI_DEL_LIST}="AsianTV" >/dev/null 2>&1 && ${UCI_ADD_LIST}="AsianTV" >/dev/null 2>&1 ${UCI_DEL_LIST}="GlobalTV" >/dev/null 2>&1 && ${UCI_ADD_LIST}="GlobalTV" >/dev/null 2>&1 ${UCI_DEL_LIST}="Netflix" >/dev/null 2>&1 && ${UCI_ADD_LIST}="Netflix" >/dev/null 2>&1 + ${UCI_DEL_LIST}="Apple" >/dev/null 2>&1 && ${UCI_ADD_LIST}="Apple" >/dev/null 2>&1 + ${UCI_DEL_LIST}="Scholar" >/dev/null 2>&1 && ${UCI_ADD_LIST}="Scholar" >/dev/null 2>&1 ${UCI_DEL_LIST}="Disney" >/dev/null 2>&1 && ${UCI_ADD_LIST}="Disney" >/dev/null 2>&1 ${UCI_DEL_LIST}="Spotify" >/dev/null 2>&1 && ${UCI_ADD_LIST}="Spotify" >/dev/null 2>&1 ${UCI_DEL_LIST}="Steam" >/dev/null 2>&1 && ${UCI_ADD_LIST}="Steam" >/dev/null 2>&1 diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_rules_change.sh b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_rules_change.sh index a6358fa7f3..7e4ca0f328 100755 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_rules_change.sh +++ b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_rules_change.sh @@ -136,6 +136,7 @@ yml_other_rules_get() config_get "Proxy" "$section" "Proxy" "" config_get "Youtube" "$section" "Youtube" "" config_get "Apple" "$section" "Apple" "" + config_get "Scholar" "$section" "Scholar" "" config_get "Netflix" "$section" "Netflix" "" config_get "Disney" "$section" "Disney" "" config_get "Spotify" "$section" "Spotify" "" @@ -180,6 +181,7 @@ if [ "$2" != "0" ]; then || [ -z "$(grep -F "$Proxy" /tmp/Proxy_Group)" ]\ || [ -z "$(grep -F "$Youtube" /tmp/Proxy_Group)" ]\ || [ -z "$(grep -F "$Apple" /tmp/Proxy_Group)" ]\ + || [ -z "$(grep -F "$Scholar" /tmp/Proxy_Group)" ]\ || [ -z "$(grep -F "$Netflix" /tmp/Proxy_Group)" ]\ || [ -z "$(grep -F "$Disney" /tmp/Proxy_Group)" ]\ || [ -z "$(grep -F "$Spotify" /tmp/Proxy_Group)" ]\ @@ -228,6 +230,7 @@ if [ "$2" != "0" ]; then .gsub(/,Proxy$/, ',$Proxy#d') .gsub(/,YouTube$/, ',$Youtube#d') .gsub(/,Apple$/, ',$Apple#d') + .gsub(/,Scholar$/, ',$Scholar#d') .gsub(/,Netflix$/, ',$Netflix#d') .gsub(/,Disney$/, ',$Disney#d') .gsub(/,Spotify$/, ',$Spotify#d') @@ -246,6 +249,7 @@ if [ "$2" != "0" ]; then .gsub!(/: \"Proxy\"/,': \"$Proxy#d\"') .gsub!(/: \"YouTube\"/,': \"$Youtube#d\"') .gsub!(/: \"Apple\"/,': \"$Apple#d\"') + .gsub!(/: \"Scholar\"/,': \"$Scholar#d\"') .gsub!(/: \"Netflix\"/,': \"$Netflix#d\"') .gsub!(/: \"Disney\"/,': \"$Disney#d\"') .gsub!(/: \"Spotify\"/,': \"$Spotify#d\"')