homebridge-config-ui-x 4.78.2-beta.10 → 4.78.2-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/CHANGELOG.md +4 -18
  2. package/dist/core/config/config.service.js +1 -1
  3. package/dist/core/config/config.service.js.map +1 -1
  4. package/dist/main.js +0 -1
  5. package/dist/main.js.map +1 -1
  6. package/dist/modules/backup/backup.controller.d.ts +0 -1
  7. package/dist/modules/backup/backup.controller.js +0 -11
  8. package/dist/modules/backup/backup.controller.js.map +1 -1
  9. package/dist/modules/backup/backup.service.d.ts +0 -1
  10. package/dist/modules/backup/backup.service.js +7 -20
  11. package/dist/modules/backup/backup.service.js.map +1 -1
  12. package/dist/modules/plugins/plugins.service.js +1 -2
  13. package/dist/modules/plugins/plugins.service.js.map +1 -1
  14. package/dist/modules/status/status.service.js +0 -9
  15. package/dist/modules/status/status.service.js.map +1 -1
  16. package/package.json +1 -1
  17. package/public/3rdpartylicenses.txt +132 -132
  18. package/public/assets/hap-icons/{air-purifier.svg → airpurifier.svg} +11 -11
  19. package/public/assets/hap-icons/{filter-maintenance.svg → filtermaintenance.svg} +1 -1
  20. package/public/assets/hap-icons/{smoke-sensor.svg → smokesensor.svg} +2 -15
  21. package/public/{chunk-CF2ZN7LY.js → chunk-2NQ5FYSH.js} +1 -1
  22. package/public/{chunk-63UHV4TV.js → chunk-2ZIDTLBJ.js} +1 -1
  23. package/public/chunk-34DWN2DX.js +1 -0
  24. package/public/{chunk-LXXELGX4.js → chunk-555LSHXI.js} +1 -1
  25. package/public/chunk-57VLQF3H.js +1 -0
  26. package/public/chunk-5IIUIJPP.js +1 -0
  27. package/public/{chunk-T252YJXA.js → chunk-5NG7YGKN.js} +1 -1
  28. package/public/chunk-5T7R64HM.js +1 -0
  29. package/public/chunk-6HC575DW.js +6 -0
  30. package/public/{chunk-UQYCFN3T.js → chunk-6XANA56B.js} +2 -2
  31. package/public/chunk-6Z6PXBOR.js +20 -0
  32. package/public/chunk-73LZVNIK.js +1 -0
  33. package/public/chunk-7IUQSGQK.js +1 -0
  34. package/public/chunk-7KNXPUZE.js +1 -0
  35. package/public/chunk-7NQITDPX.js +1 -0
  36. package/public/chunk-7R3XQ55D.js +1 -0
  37. package/public/chunk-A5UYRXPM.js +1 -0
  38. package/public/{chunk-UD6SVFW2.js → chunk-AJTG3DAQ.js} +1 -1
  39. package/public/chunk-AMX56GID.js +1 -0
  40. package/public/chunk-B23H4RBK.js +1 -0
  41. package/public/chunk-BCVT2ZGS.js +1 -0
  42. package/public/chunk-BQK7VHZI.js +5 -0
  43. package/public/chunk-BY2CUGGW.js +1 -0
  44. package/public/{chunk-ROYACDP2.js → chunk-C32K5CAV.js} +1 -1
  45. package/public/chunk-CKHHFN5B.js +1 -0
  46. package/public/chunk-D35WUZO6.js +1 -0
  47. package/public/chunk-DAODOEOB.js +1 -0
  48. package/public/chunk-DN4FE2SW.js +1 -0
  49. package/public/chunk-DV2TB6UP.js +1 -0
  50. package/public/chunk-DZC35DKY.js +1 -0
  51. package/public/{chunk-SRP6QX5M.js → chunk-EM4PY2IW.js} +1 -1
  52. package/public/chunk-FRXDQLV5.js +1 -0
  53. package/public/chunk-GD5TBASL.js +1 -0
  54. package/public/chunk-HC6CZKMO.js +1 -0
  55. package/public/chunk-HNIRIW54.js +1 -0
  56. package/public/chunk-HNOT6ZRL.js +1 -0
  57. package/public/chunk-HSDBO7PI.js +1 -0
  58. package/public/chunk-I5UICZTW.js +1 -0
  59. package/public/chunk-IMPGSXGE.js +1 -0
  60. package/public/chunk-IZCMCANO.js +1 -0
  61. package/public/{chunk-7EQ4BJZB.js → chunk-J764EFYE.js} +1 -1
  62. package/public/{chunk-X7PVYZAE.js → chunk-JBQX4JBH.js} +1 -1
  63. package/public/chunk-JG3RKKFX.js +1 -0
  64. package/public/chunk-JJBQY66P.js +23 -0
  65. package/public/chunk-K5HRSVLN.js +1 -0
  66. package/public/chunk-KCGSCDXO.js +1 -0
  67. package/public/chunk-KFUUWA7X.js +1 -0
  68. package/public/chunk-KIDQD7AW.js +4 -0
  69. package/public/chunk-KWXJH2KV.js +1 -0
  70. package/public/chunk-LIDBF3XJ.js +1 -0
  71. package/public/chunk-M2ZLGTH6.js +1 -0
  72. package/public/chunk-M7XZW7BF.js +1 -0
  73. package/public/chunk-NXLDJLPJ.js +1 -0
  74. package/public/chunk-OMTZIJL6.js +1 -0
  75. package/public/{chunk-ASKYLUSK.js → chunk-PLDH5YJJ.js} +1 -1
  76. package/public/chunk-Q4ZG4IKT.js +1 -0
  77. package/public/chunk-Q6T556KU.js +1 -0
  78. package/public/chunk-Q6U762OB.js +1 -0
  79. package/public/{chunk-QDCKP2LU.js → chunk-QJQSHTGR.js} +1 -1
  80. package/public/{chunk-NGNQPAAK.js → chunk-S6UXXPGF.js} +1 -1
  81. package/public/chunk-S7QEVC6H.js +1 -0
  82. package/public/{chunk-EGCUYKRH.js → chunk-SCRWY2OT.js} +1 -1
  83. package/public/chunk-SMVM4V7K.js +1 -0
  84. package/public/chunk-T46IIKTY.js +2 -0
  85. package/public/{chunk-X2SHRXXY.js → chunk-TJJCM4OW.js} +1 -1
  86. package/public/chunk-U4YPPM47.js +1 -0
  87. package/public/chunk-UC3KRTST.js +1 -0
  88. package/public/chunk-VEXAW4H6.js +1 -0
  89. package/public/chunk-VW2O6D3R.js +1 -0
  90. package/public/chunk-W6X46MTW.js +7 -0
  91. package/public/chunk-W7NICAZS.js +12 -0
  92. package/public/{chunk-GDFV4BMO.js → chunk-WTTWP6KF.js} +1 -1
  93. package/public/chunk-WUXDJZ6X.js +1 -0
  94. package/public/{chunk-IDT6WBAB.js → chunk-XEKVGY7L.js} +16 -16
  95. package/public/chunk-XIQKMSXR.js +1 -0
  96. package/public/{chunk-BU6UAZVK.js → chunk-YIVNLLSL.js} +1 -1
  97. package/public/chunk-YUVQILGM.js +1 -0
  98. package/public/chunk-Z7NIAJEB.js +1 -0
  99. package/public/index.html +2 -2
  100. package/public/main-TZDNHWGN.js +1 -0
  101. package/public/{styles-YDIK2EDN.css → styles-RGK5JOII.css} +1 -1
  102. package/public/chunk-22QTGFTJ.js +0 -1
  103. package/public/chunk-3JARG26K.js +0 -3
  104. package/public/chunk-3LKZCKCF.js +0 -1
  105. package/public/chunk-45AWUQUI.js +0 -1
  106. package/public/chunk-4T2GN6EO.js +0 -1
  107. package/public/chunk-4YRWQX3W.js +0 -1
  108. package/public/chunk-5SZ5GQYS.js +0 -2
  109. package/public/chunk-7ATQ5EBC.js +0 -1
  110. package/public/chunk-C5RHCAUK.js +0 -1
  111. package/public/chunk-EITS7TXC.js +0 -1
  112. package/public/chunk-EV45AMNT.js +0 -1
  113. package/public/chunk-F3ERQJVG.js +0 -1
  114. package/public/chunk-FHY3NHWQ.js +0 -1
  115. package/public/chunk-FR5YDBCN.js +0 -1
  116. package/public/chunk-GW2DVJRQ.js +0 -1
  117. package/public/chunk-HELQ6C4L.js +0 -1
  118. package/public/chunk-HSWLFIAJ.js +0 -1
  119. package/public/chunk-HYGTZ767.js +0 -1
  120. package/public/chunk-HZUGXGIE.js +0 -1
  121. package/public/chunk-IN7NZAFJ.js +0 -1
  122. package/public/chunk-J6YDFLQQ.js +0 -1
  123. package/public/chunk-JFXQKHPO.js +0 -1
  124. package/public/chunk-KBSONIC6.js +0 -23
  125. package/public/chunk-KC3UX7RJ.js +0 -1
  126. package/public/chunk-KUQKJUX5.js +0 -1
  127. package/public/chunk-LVSOME36.js +0 -1
  128. package/public/chunk-LZTR2JMZ.js +0 -1
  129. package/public/chunk-N4XOTXZL.js +0 -12
  130. package/public/chunk-O3KBZXCW.js +0 -1
  131. package/public/chunk-OWY3J4XU.js +0 -1
  132. package/public/chunk-P2OFHVSW.js +0 -1
  133. package/public/chunk-PSCHGWYB.js +0 -1
  134. package/public/chunk-PVP6IVZQ.js +0 -5
  135. package/public/chunk-PY6XYKE2.js +0 -1
  136. package/public/chunk-Q3UFAHWJ.js +0 -1
  137. package/public/chunk-QH4OYVQX.js +0 -4
  138. package/public/chunk-QTPIIYXJ.js +0 -4
  139. package/public/chunk-RN7GNGXO.js +0 -1
  140. package/public/chunk-SKZUTSHE.js +0 -7
  141. package/public/chunk-SNKJBIOP.js +0 -1
  142. package/public/chunk-TKQG3CQ6.js +0 -1
  143. package/public/chunk-TQNKRJOX.js +0 -1
  144. package/public/chunk-UJZFMBAF.js +0 -1
  145. package/public/chunk-V7XUKJMZ.js +0 -1
  146. package/public/chunk-VV5VPBPJ.js +0 -1
  147. package/public/chunk-Z565CB6Q.js +0 -1
  148. package/public/chunk-Z73Q5KI4.js +0 -20
  149. package/public/main-PSKITXQI.js +0 -1
  150. /package/public/assets/hap-icons/{air-quality-sensor.svg → airquality.svg} +0 -0
  151. /package/public/assets/hap-icons/{carbon-monoxide-sensor.svg → co-sensor.svg} +0 -0
  152. /package/public/assets/hap-icons/{carbon-dioxide-sensor.svg → co2-sensor.svg} +0 -0
  153. /package/public/assets/hap-icons/{contact-sensor-closed.svg → contactsensor-closed.svg} +0 -0
  154. /package/public/assets/hap-icons/{contact-sensor-open.svg → contactsensor-open.svg} +0 -0
  155. /package/public/assets/hap-icons/{garage-door.svg → garagedoor.svg} +0 -0
  156. /package/public/assets/hap-icons/{humidity-sensor.svg → humidity.svg} +0 -0
  157. /package/public/assets/hap-icons/{leak-sensor.svg → leaksensor.svg} +0 -0
  158. /package/public/assets/hap-icons/{light-sensor.svg → light.svg} +0 -0
  159. /package/public/assets/hap-icons/{light-bulb.svg → lightbulb.svg} +0 -0
  160. /package/public/assets/hap-icons/{motion-sensor.svg → motionsensor.svg} +0 -0
  161. /package/public/assets/hap-icons/{occupancy-sensor.svg → occupancysensor.svg} +0 -0
  162. /package/public/assets/hap-icons/{security-system-active.svg → securitysystem-active.svg} +0 -0
  163. /package/public/assets/hap-icons/{security-system-off.svg → securitysystem-off.svg} +0 -0
  164. /package/public/assets/hap-icons/{security-system-triggered.svg → securitysystem-triggered.svg} +0 -0
  165. /package/public/assets/hap-icons/{stateless-programmable-switch.svg → statelessprogrammableswitch.svg} +0 -0
  166. /package/public/assets/hap-icons/{valve-shower-head.svg → valve-showerhead.svg} +0 -0
  167. /package/public/assets/hap-icons/{valve-faucet.svg → valve-waterfaucet.svg} +0 -0
  168. /package/public/assets/hap-icons/{window-covering-closed.svg → windowcovering-closed.svg} +0 -0
  169. /package/public/assets/hap-icons/{window-covering-open.svg → windowcovering-open.svg} +0 -0
@@ -0,0 +1,23 @@
1
+ import{a as pl}from"./chunk-WUXDJZ6X.js";import{c as Mr,d as tl,e as ut,f as ne,g as el,h as Fr,i as Wr,j as Re,k as Le,l as rl,m as il,p as ul,q as ol,r as sl,s as ll,t as fl,u as al,v as cl,w as hl}from"./chunk-XEKVGY7L.js";import{c as nl}from"./chunk-WTTWP6KF.js";import{b as Pr}from"./chunk-QJQSHTGR.js";import{v as Te}from"./chunk-2NQ5FYSH.js";import{A as Er,z as Lr}from"./chunk-5NG7YGKN.js";import{c as Or}from"./chunk-555LSHXI.js";import{$a as V,Ca as Sr,Gb as iu,Kc as yt,Mc as Vs,Nb as J,Nc as Rr,Ob as yn,Pb as On,Qb as Kn,Ub as Js,Xa as jt,Xb as Xs,Yb as xn,a as qs,b as Gs,dd as js,e as __,g as m_,ga as Ie,ha as mt,hc as Se,ic as Zn,ja as zs,jc as Ft,ka as Ks,kc as Qs,kd as xt,la as zn,lb as Tr,mb as vt,n as $s,ra as Zs,rb as wt,sa as Ys}from"./chunk-W6X46MTW.js";var dl=__((te,Ee)=>{(function(){var s,y="4.17.21",T=200,v="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",x="Expected a function",m="Invalid `variable` option passed into `_.template`",P="__lodash_hash_undefined__",B=500,en="__lodash_placeholder__",on=1,su=2,Wt=4,Pt=1,Me=2,Cn=1,Ct=2,lu=4,Hn=8,Dt=16,Un=32,Bt=64,Yn=128,ee=256,Dr=512,yl=30,xl="...",Cl=800,bl=16,fu=1,Al=2,Il=3,bt=1/0,ot=9007199254740991,Sl=17976931348623157e292,Fe=NaN,kn=4294967295,Tl=kn-1,Rl=kn>>>1,Ll=[["ary",Yn],["bind",Cn],["bindKey",Ct],["curry",Hn],["curryRight",Dt],["flip",Dr],["partial",Un],["partialRight",Bt],["rearg",ee]],Nt="[object Arguments]",We="[object Array]",El="[object AsyncFunction]",re="[object Boolean]",ie="[object Date]",Ol="[object DOMException]",Pe="[object Error]",De="[object Function]",au="[object GeneratorFunction]",Mn="[object Map]",ue="[object Number]",Ml="[object Null]",Jn="[object Object]",cu="[object Promise]",Fl="[object Proxy]",oe="[object RegExp]",Fn="[object Set]",se="[object String]",Be="[object Symbol]",Wl="[object Undefined]",le="[object WeakMap]",Pl="[object WeakSet]",fe="[object ArrayBuffer]",Ht="[object DataView]",Br="[object Float32Array]",Nr="[object Float64Array]",Hr="[object Int8Array]",Ur="[object Int16Array]",kr="[object Int32Array]",qr="[object Uint8Array]",Gr="[object Uint8ClampedArray]",$r="[object Uint16Array]",zr="[object Uint32Array]",Dl=/\b__p \+= '';/g,Bl=/\b(__p \+=) '' \+/g,Nl=/(__e\(.*?\)|\b__t\)) \+\n'';/g,hu=/&(?:amp|lt|gt|quot|#39);/g,pu=/[&<>"']/g,Hl=RegExp(hu.source),Ul=RegExp(pu.source),kl=/<%-([\s\S]+?)%>/g,ql=/<%([\s\S]+?)%>/g,du=/<%=([\s\S]+?)%>/g,Gl=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,$l=/^\w*$/,zl=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Kr=/[\\^$.*+?()[\]{}|]/g,Kl=RegExp(Kr.source),Zr=/^\s+/,Zl=/\s/,Yl=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Jl=/\{\n\/\* \[wrapped with (.+)\] \*/,Xl=/,? & /,Ql=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Vl=/[()=,{}\[\]\/\s]/,jl=/\\(\\)?/g,nf=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,gu=/\w*$/,tf=/^[-+]0x[0-9a-f]+$/i,ef=/^0b[01]+$/i,rf=/^\[object .+?Constructor\]$/,uf=/^0o[0-7]+$/i,of=/^(?:0|[1-9]\d*)$/,sf=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ne=/($^)/,lf=/['\n\r\u2028\u2029\\]/g,He="\\ud800-\\udfff",ff="\\u0300-\\u036f",af="\\ufe20-\\ufe2f",cf="\\u20d0-\\u20ff",_u=ff+af+cf,mu="\\u2700-\\u27bf",vu="a-z\\xdf-\\xf6\\xf8-\\xff",hf="\\xac\\xb1\\xd7\\xf7",pf="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",df="\\u2000-\\u206f",gf=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",wu="A-Z\\xc0-\\xd6\\xd8-\\xde",yu="\\ufe0e\\ufe0f",xu=hf+pf+df+gf,Yr="['\u2019]",_f="["+He+"]",Cu="["+xu+"]",Ue="["+_u+"]",bu="\\d+",mf="["+mu+"]",Au="["+vu+"]",Iu="[^"+He+xu+bu+mu+vu+wu+"]",Jr="\\ud83c[\\udffb-\\udfff]",vf="(?:"+Ue+"|"+Jr+")",Su="[^"+He+"]",Xr="(?:\\ud83c[\\udde6-\\uddff]){2}",Qr="[\\ud800-\\udbff][\\udc00-\\udfff]",Ut="["+wu+"]",Tu="\\u200d",Ru="(?:"+Au+"|"+Iu+")",wf="(?:"+Ut+"|"+Iu+")",Lu="(?:"+Yr+"(?:d|ll|m|re|s|t|ve))?",Eu="(?:"+Yr+"(?:D|LL|M|RE|S|T|VE))?",Ou=vf+"?",Mu="["+yu+"]?",yf="(?:"+Tu+"(?:"+[Su,Xr,Qr].join("|")+")"+Mu+Ou+")*",xf="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Cf="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Fu=Mu+Ou+yf,bf="(?:"+[mf,Xr,Qr].join("|")+")"+Fu,Af="(?:"+[Su+Ue+"?",Ue,Xr,Qr,_f].join("|")+")",If=RegExp(Yr,"g"),Sf=RegExp(Ue,"g"),Vr=RegExp(Jr+"(?="+Jr+")|"+Af+Fu,"g"),Tf=RegExp([Ut+"?"+Au+"+"+Lu+"(?="+[Cu,Ut,"$"].join("|")+")",wf+"+"+Eu+"(?="+[Cu,Ut+Ru,"$"].join("|")+")",Ut+"?"+Ru+"+"+Lu,Ut+"+"+Eu,Cf,xf,bu,bf].join("|"),"g"),Rf=RegExp("["+Tu+He+_u+yu+"]"),Lf=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ef=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Of=-1,G={};G[Br]=G[Nr]=G[Hr]=G[Ur]=G[kr]=G[qr]=G[Gr]=G[$r]=G[zr]=!0,G[Nt]=G[We]=G[fe]=G[re]=G[Ht]=G[ie]=G[Pe]=G[De]=G[Mn]=G[ue]=G[Jn]=G[oe]=G[Fn]=G[se]=G[le]=!1;var q={};q[Nt]=q[We]=q[fe]=q[Ht]=q[re]=q[ie]=q[Br]=q[Nr]=q[Hr]=q[Ur]=q[kr]=q[Mn]=q[ue]=q[Jn]=q[oe]=q[Fn]=q[se]=q[Be]=q[qr]=q[Gr]=q[$r]=q[zr]=!0,q[Pe]=q[De]=q[le]=!1;var Mf={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},Ff={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Wf={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},Pf={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Df=parseFloat,Bf=parseInt,Wu=typeof global=="object"&&global&&global.Object===Object&&global,Nf=typeof self=="object"&&self&&self.Object===Object&&self,j=Wu||Nf||Function("return this")(),jr=typeof te=="object"&&te&&!te.nodeType&&te,At=jr&&typeof Ee=="object"&&Ee&&!Ee.nodeType&&Ee,Pu=At&&At.exports===jr,ni=Pu&&Wu.process,bn=function(){try{var a=At&&At.require&&At.require("util").types;return a||ni&&ni.binding&&ni.binding("util")}catch{}}(),Du=bn&&bn.isArrayBuffer,Bu=bn&&bn.isDate,Nu=bn&&bn.isMap,Hu=bn&&bn.isRegExp,Uu=bn&&bn.isSet,ku=bn&&bn.isTypedArray;function dn(a,p,h){switch(h.length){case 0:return a.call(p);case 1:return a.call(p,h[0]);case 2:return a.call(p,h[0],h[1]);case 3:return a.call(p,h[0],h[1],h[2])}return a.apply(p,h)}function Hf(a,p,h,C){for(var R=-1,N=a==null?0:a.length;++R<N;){var X=a[R];p(C,X,h(X),a)}return C}function An(a,p){for(var h=-1,C=a==null?0:a.length;++h<C&&p(a[h],h,a)!==!1;);return a}function Uf(a,p){for(var h=a==null?0:a.length;h--&&p(a[h],h,a)!==!1;);return a}function qu(a,p){for(var h=-1,C=a==null?0:a.length;++h<C;)if(!p(a[h],h,a))return!1;return!0}function st(a,p){for(var h=-1,C=a==null?0:a.length,R=0,N=[];++h<C;){var X=a[h];p(X,h,a)&&(N[R++]=X)}return N}function ke(a,p){var h=a==null?0:a.length;return!!h&&kt(a,p,0)>-1}function ti(a,p,h){for(var C=-1,R=a==null?0:a.length;++C<R;)if(h(p,a[C]))return!0;return!1}function $(a,p){for(var h=-1,C=a==null?0:a.length,R=Array(C);++h<C;)R[h]=p(a[h],h,a);return R}function lt(a,p){for(var h=-1,C=p.length,R=a.length;++h<C;)a[R+h]=p[h];return a}function ei(a,p,h,C){var R=-1,N=a==null?0:a.length;for(C&&N&&(h=a[++R]);++R<N;)h=p(h,a[R],R,a);return h}function kf(a,p,h,C){var R=a==null?0:a.length;for(C&&R&&(h=a[--R]);R--;)h=p(h,a[R],R,a);return h}function ri(a,p){for(var h=-1,C=a==null?0:a.length;++h<C;)if(p(a[h],h,a))return!0;return!1}var qf=ii("length");function Gf(a){return a.split("")}function $f(a){return a.match(Ql)||[]}function Gu(a,p,h){var C;return h(a,function(R,N,X){if(p(R,N,X))return C=N,!1}),C}function qe(a,p,h,C){for(var R=a.length,N=h+(C?1:-1);C?N--:++N<R;)if(p(a[N],N,a))return N;return-1}function kt(a,p,h){return p===p?ea(a,p,h):qe(a,$u,h)}function zf(a,p,h,C){for(var R=h-1,N=a.length;++R<N;)if(C(a[R],p))return R;return-1}function $u(a){return a!==a}function zu(a,p){var h=a==null?0:a.length;return h?oi(a,p)/h:Fe}function ii(a){return function(p){return p==null?s:p[a]}}function ui(a){return function(p){return a==null?s:a[p]}}function Ku(a,p,h,C,R){return R(a,function(N,X,k){h=C?(C=!1,N):p(h,N,X,k)}),h}function Kf(a,p){var h=a.length;for(a.sort(p);h--;)a[h]=a[h].value;return a}function oi(a,p){for(var h,C=-1,R=a.length;++C<R;){var N=p(a[C]);N!==s&&(h=h===s?N:h+N)}return h}function si(a,p){for(var h=-1,C=Array(a);++h<a;)C[h]=p(h);return C}function Zf(a,p){return $(p,function(h){return[h,a[h]]})}function Zu(a){return a&&a.slice(0,Qu(a)+1).replace(Zr,"")}function gn(a){return function(p){return a(p)}}function li(a,p){return $(p,function(h){return a[h]})}function ae(a,p){return a.has(p)}function Yu(a,p){for(var h=-1,C=a.length;++h<C&&kt(p,a[h],0)>-1;);return h}function Ju(a,p){for(var h=a.length;h--&&kt(p,a[h],0)>-1;);return h}function Yf(a,p){for(var h=a.length,C=0;h--;)a[h]===p&&++C;return C}var Jf=ui(Mf),Xf=ui(Ff);function Qf(a){return"\\"+Pf[a]}function Vf(a,p){return a==null?s:a[p]}function qt(a){return Rf.test(a)}function jf(a){return Lf.test(a)}function na(a){for(var p,h=[];!(p=a.next()).done;)h.push(p.value);return h}function fi(a){var p=-1,h=Array(a.size);return a.forEach(function(C,R){h[++p]=[R,C]}),h}function Xu(a,p){return function(h){return a(p(h))}}function ft(a,p){for(var h=-1,C=a.length,R=0,N=[];++h<C;){var X=a[h];(X===p||X===en)&&(a[h]=en,N[R++]=h)}return N}function Ge(a){var p=-1,h=Array(a.size);return a.forEach(function(C){h[++p]=C}),h}function ta(a){var p=-1,h=Array(a.size);return a.forEach(function(C){h[++p]=[C,C]}),h}function ea(a,p,h){for(var C=h-1,R=a.length;++C<R;)if(a[C]===p)return C;return-1}function ra(a,p,h){for(var C=h+1;C--;)if(a[C]===p)return C;return C}function Gt(a){return qt(a)?ua(a):qf(a)}function Wn(a){return qt(a)?oa(a):Gf(a)}function Qu(a){for(var p=a.length;p--&&Zl.test(a.charAt(p)););return p}var ia=ui(Wf);function ua(a){for(var p=Vr.lastIndex=0;Vr.test(a);)++p;return p}function oa(a){return a.match(Vr)||[]}function sa(a){return a.match(Tf)||[]}var la=function a(p){p=p==null?j:at.defaults(j.Object(),p,at.pick(j,Ef));var h=p.Array,C=p.Date,R=p.Error,N=p.Function,X=p.Math,k=p.Object,ai=p.RegExp,fa=p.String,In=p.TypeError,$e=h.prototype,aa=N.prototype,$t=k.prototype,ze=p["__core-js_shared__"],Ke=aa.toString,U=$t.hasOwnProperty,ca=0,Vu=function(){var n=/[^.]+$/.exec(ze&&ze.keys&&ze.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}(),Ze=$t.toString,ha=Ke.call(k),pa=j._,da=ai("^"+Ke.call(U).replace(Kr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ye=Pu?p.Buffer:s,ct=p.Symbol,Je=p.Uint8Array,ju=Ye?Ye.allocUnsafe:s,Xe=Xu(k.getPrototypeOf,k),no=k.create,to=$t.propertyIsEnumerable,Qe=$e.splice,eo=ct?ct.isConcatSpreadable:s,ce=ct?ct.iterator:s,It=ct?ct.toStringTag:s,Ve=function(){try{var n=Et(k,"defineProperty");return n({},"",{}),n}catch{}}(),ga=p.clearTimeout!==j.clearTimeout&&p.clearTimeout,_a=C&&C.now!==j.Date.now&&C.now,ma=p.setTimeout!==j.setTimeout&&p.setTimeout,je=X.ceil,nr=X.floor,ci=k.getOwnPropertySymbols,va=Ye?Ye.isBuffer:s,ro=p.isFinite,wa=$e.join,ya=Xu(k.keys,k),Q=X.max,rn=X.min,xa=C.now,Ca=p.parseInt,io=X.random,ba=$e.reverse,hi=Et(p,"DataView"),he=Et(p,"Map"),pi=Et(p,"Promise"),zt=Et(p,"Set"),pe=Et(p,"WeakMap"),de=Et(k,"create"),tr=pe&&new pe,Kt={},Aa=Ot(hi),Ia=Ot(he),Sa=Ot(pi),Ta=Ot(zt),Ra=Ot(pe),er=ct?ct.prototype:s,ge=er?er.valueOf:s,uo=er?er.toString:s;function u(n){if(K(n)&&!L(n)&&!(n instanceof W)){if(n instanceof Sn)return n;if(U.call(n,"__wrapped__"))return ss(n)}return new Sn(n)}var Zt=function(){function n(){}return function(t){if(!z(t))return{};if(no)return no(t);n.prototype=t;var e=new n;return n.prototype=s,e}}();function rr(){}function Sn(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=s}u.templateSettings={escape:kl,evaluate:ql,interpolate:du,variable:"",imports:{_:u}},u.prototype=rr.prototype,u.prototype.constructor=u,Sn.prototype=Zt(rr.prototype),Sn.prototype.constructor=Sn;function W(n){this.__wrapped__=n,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=kn,this.__views__=[]}function La(){var n=new W(this.__wrapped__);return n.__actions__=an(this.__actions__),n.__dir__=this.__dir__,n.__filtered__=this.__filtered__,n.__iteratees__=an(this.__iteratees__),n.__takeCount__=this.__takeCount__,n.__views__=an(this.__views__),n}function Ea(){if(this.__filtered__){var n=new W(this);n.__dir__=-1,n.__filtered__=!0}else n=this.clone(),n.__dir__*=-1;return n}function Oa(){var n=this.__wrapped__.value(),t=this.__dir__,e=L(n),r=t<0,i=e?n.length:0,o=Gc(0,i,this.__views__),l=o.start,f=o.end,c=f-l,d=r?f:l-1,g=this.__iteratees__,_=g.length,w=0,b=rn(c,this.__takeCount__);if(!e||!r&&i==c&&b==c)return Eo(n,this.__actions__);var I=[];n:for(;c--&&w<b;){d+=t;for(var O=-1,S=n[d];++O<_;){var F=g[O],D=F.iteratee,vn=F.type,fn=D(S);if(vn==Al)S=fn;else if(!fn){if(vn==fu)continue n;break n}}I[w++]=S}return I}W.prototype=Zt(rr.prototype),W.prototype.constructor=W;function St(n){var t=-1,e=n==null?0:n.length;for(this.clear();++t<e;){var r=n[t];this.set(r[0],r[1])}}function Ma(){this.__data__=de?de(null):{},this.size=0}function Fa(n){var t=this.has(n)&&delete this.__data__[n];return this.size-=t?1:0,t}function Wa(n){var t=this.__data__;if(de){var e=t[n];return e===P?s:e}return U.call(t,n)?t[n]:s}function Pa(n){var t=this.__data__;return de?t[n]!==s:U.call(t,n)}function Da(n,t){var e=this.__data__;return this.size+=this.has(n)?0:1,e[n]=de&&t===s?P:t,this}St.prototype.clear=Ma,St.prototype.delete=Fa,St.prototype.get=Wa,St.prototype.has=Pa,St.prototype.set=Da;function Xn(n){var t=-1,e=n==null?0:n.length;for(this.clear();++t<e;){var r=n[t];this.set(r[0],r[1])}}function Ba(){this.__data__=[],this.size=0}function Na(n){var t=this.__data__,e=ir(t,n);if(e<0)return!1;var r=t.length-1;return e==r?t.pop():Qe.call(t,e,1),--this.size,!0}function Ha(n){var t=this.__data__,e=ir(t,n);return e<0?s:t[e][1]}function Ua(n){return ir(this.__data__,n)>-1}function ka(n,t){var e=this.__data__,r=ir(e,n);return r<0?(++this.size,e.push([n,t])):e[r][1]=t,this}Xn.prototype.clear=Ba,Xn.prototype.delete=Na,Xn.prototype.get=Ha,Xn.prototype.has=Ua,Xn.prototype.set=ka;function Qn(n){var t=-1,e=n==null?0:n.length;for(this.clear();++t<e;){var r=n[t];this.set(r[0],r[1])}}function qa(){this.size=0,this.__data__={hash:new St,map:new(he||Xn),string:new St}}function Ga(n){var t=_r(this,n).delete(n);return this.size-=t?1:0,t}function $a(n){return _r(this,n).get(n)}function za(n){return _r(this,n).has(n)}function Ka(n,t){var e=_r(this,n),r=e.size;return e.set(n,t),this.size+=e.size==r?0:1,this}Qn.prototype.clear=qa,Qn.prototype.delete=Ga,Qn.prototype.get=$a,Qn.prototype.has=za,Qn.prototype.set=Ka;function Tt(n){var t=-1,e=n==null?0:n.length;for(this.__data__=new Qn;++t<e;)this.add(n[t])}function Za(n){return this.__data__.set(n,P),this}function Ya(n){return this.__data__.has(n)}Tt.prototype.add=Tt.prototype.push=Za,Tt.prototype.has=Ya;function Pn(n){var t=this.__data__=new Xn(n);this.size=t.size}function Ja(){this.__data__=new Xn,this.size=0}function Xa(n){var t=this.__data__,e=t.delete(n);return this.size=t.size,e}function Qa(n){return this.__data__.get(n)}function Va(n){return this.__data__.has(n)}function ja(n,t){var e=this.__data__;if(e instanceof Xn){var r=e.__data__;if(!he||r.length<T-1)return r.push([n,t]),this.size=++e.size,this;e=this.__data__=new Qn(r)}return e.set(n,t),this.size=e.size,this}Pn.prototype.clear=Ja,Pn.prototype.delete=Xa,Pn.prototype.get=Qa,Pn.prototype.has=Va,Pn.prototype.set=ja;function oo(n,t){var e=L(n),r=!e&&Mt(n),i=!e&&!r&&_t(n),o=!e&&!r&&!i&&Qt(n),l=e||r||i||o,f=l?si(n.length,fa):[],c=f.length;for(var d in n)(t||U.call(n,d))&&!(l&&(d=="length"||i&&(d=="offset"||d=="parent")||o&&(d=="buffer"||d=="byteLength"||d=="byteOffset")||tt(d,c)))&&f.push(d);return f}function so(n){var t=n.length;return t?n[Ai(0,t-1)]:s}function nc(n,t){return mr(an(n),Rt(t,0,n.length))}function tc(n){return mr(an(n))}function di(n,t,e){(e!==s&&!Dn(n[t],e)||e===s&&!(t in n))&&Vn(n,t,e)}function _e(n,t,e){var r=n[t];(!(U.call(n,t)&&Dn(r,e))||e===s&&!(t in n))&&Vn(n,t,e)}function ir(n,t){for(var e=n.length;e--;)if(Dn(n[e][0],t))return e;return-1}function ec(n,t,e,r){return ht(n,function(i,o,l){t(r,i,e(i),l)}),r}function lo(n,t){return n&&Gn(t,nn(t),n)}function rc(n,t){return n&&Gn(t,hn(t),n)}function Vn(n,t,e){t=="__proto__"&&Ve?Ve(n,t,{configurable:!0,enumerable:!0,value:e,writable:!0}):n[t]=e}function gi(n,t){for(var e=-1,r=t.length,i=h(r),o=n==null;++e<r;)i[e]=o?s:Ji(n,t[e]);return i}function Rt(n,t,e){return n===n&&(e!==s&&(n=n<=e?n:e),t!==s&&(n=n>=t?n:t)),n}function Tn(n,t,e,r,i,o){var l,f=t&on,c=t&su,d=t&Wt;if(e&&(l=i?e(n,r,i,o):e(n)),l!==s)return l;if(!z(n))return n;var g=L(n);if(g){if(l=zc(n),!f)return an(n,l)}else{var _=un(n),w=_==De||_==au;if(_t(n))return Fo(n,f);if(_==Jn||_==Nt||w&&!i){if(l=c||w?{}:Vo(n),!f)return c?Wc(n,rc(l,n)):Fc(n,lo(l,n))}else{if(!q[_])return i?n:{};l=Kc(n,_,f)}}o||(o=new Pn);var b=o.get(n);if(b)return b;o.set(n,l),Ts(n)?n.forEach(function(S){l.add(Tn(S,t,e,S,n,o))}):Is(n)&&n.forEach(function(S,F){l.set(F,Tn(S,t,e,F,n,o))});var I=d?c?Pi:Wi:c?hn:nn,O=g?s:I(n);return An(O||n,function(S,F){O&&(F=S,S=n[F]),_e(l,F,Tn(S,t,e,F,n,o))}),l}function ic(n){var t=nn(n);return function(e){return fo(e,n,t)}}function fo(n,t,e){var r=e.length;if(n==null)return!r;for(n=k(n);r--;){var i=e[r],o=t[i],l=n[i];if(l===s&&!(i in n)||!o(l))return!1}return!0}function ao(n,t,e){if(typeof n!="function")throw new In(x);return be(function(){n.apply(s,e)},t)}function me(n,t,e,r){var i=-1,o=ke,l=!0,f=n.length,c=[],d=t.length;if(!f)return c;e&&(t=$(t,gn(e))),r?(o=ti,l=!1):t.length>=T&&(o=ae,l=!1,t=new Tt(t));n:for(;++i<f;){var g=n[i],_=e==null?g:e(g);if(g=r||g!==0?g:0,l&&_===_){for(var w=d;w--;)if(t[w]===_)continue n;c.push(g)}else o(t,_,r)||c.push(g)}return c}var ht=No(qn),co=No(mi,!0);function uc(n,t){var e=!0;return ht(n,function(r,i,o){return e=!!t(r,i,o),e}),e}function ur(n,t,e){for(var r=-1,i=n.length;++r<i;){var o=n[r],l=t(o);if(l!=null&&(f===s?l===l&&!mn(l):e(l,f)))var f=l,c=o}return c}function oc(n,t,e,r){var i=n.length;for(e=E(e),e<0&&(e=-e>i?0:i+e),r=r===s||r>i?i:E(r),r<0&&(r+=i),r=e>r?0:Ls(r);e<r;)n[e++]=t;return n}function ho(n,t){var e=[];return ht(n,function(r,i,o){t(r,i,o)&&e.push(r)}),e}function tn(n,t,e,r,i){var o=-1,l=n.length;for(e||(e=Yc),i||(i=[]);++o<l;){var f=n[o];t>0&&e(f)?t>1?tn(f,t-1,e,r,i):lt(i,f):r||(i[i.length]=f)}return i}var _i=Ho(),po=Ho(!0);function qn(n,t){return n&&_i(n,t,nn)}function mi(n,t){return n&&po(n,t,nn)}function or(n,t){return st(t,function(e){return et(n[e])})}function Lt(n,t){t=dt(t,n);for(var e=0,r=t.length;n!=null&&e<r;)n=n[$n(t[e++])];return e&&e==r?n:s}function go(n,t,e){var r=t(n);return L(n)?r:lt(r,e(n))}function sn(n){return n==null?n===s?Wl:Ml:It&&It in k(n)?qc(n):th(n)}function vi(n,t){return n>t}function sc(n,t){return n!=null&&U.call(n,t)}function lc(n,t){return n!=null&&t in k(n)}function fc(n,t,e){return n>=rn(t,e)&&n<Q(t,e)}function wi(n,t,e){for(var r=e?ti:ke,i=n[0].length,o=n.length,l=o,f=h(o),c=1/0,d=[];l--;){var g=n[l];l&&t&&(g=$(g,gn(t))),c=rn(g.length,c),f[l]=!e&&(t||i>=120&&g.length>=120)?new Tt(l&&g):s}g=n[0];var _=-1,w=f[0];n:for(;++_<i&&d.length<c;){var b=g[_],I=t?t(b):b;if(b=e||b!==0?b:0,!(w?ae(w,I):r(d,I,e))){for(l=o;--l;){var O=f[l];if(!(O?ae(O,I):r(n[l],I,e)))continue n}w&&w.push(I),d.push(b)}}return d}function ac(n,t,e,r){return qn(n,function(i,o,l){t(r,e(i),o,l)}),r}function ve(n,t,e){t=dt(t,n),n=es(n,t);var r=n==null?n:n[$n(Ln(t))];return r==null?s:dn(r,n,e)}function _o(n){return K(n)&&sn(n)==Nt}function cc(n){return K(n)&&sn(n)==fe}function hc(n){return K(n)&&sn(n)==ie}function we(n,t,e,r,i){return n===t?!0:n==null||t==null||!K(n)&&!K(t)?n!==n&&t!==t:pc(n,t,e,r,we,i)}function pc(n,t,e,r,i,o){var l=L(n),f=L(t),c=l?We:un(n),d=f?We:un(t);c=c==Nt?Jn:c,d=d==Nt?Jn:d;var g=c==Jn,_=d==Jn,w=c==d;if(w&&_t(n)){if(!_t(t))return!1;l=!0,g=!1}if(w&&!g)return o||(o=new Pn),l||Qt(n)?Jo(n,t,e,r,i,o):Uc(n,t,c,e,r,i,o);if(!(e&Pt)){var b=g&&U.call(n,"__wrapped__"),I=_&&U.call(t,"__wrapped__");if(b||I){var O=b?n.value():n,S=I?t.value():t;return o||(o=new Pn),i(O,S,e,r,o)}}return w?(o||(o=new Pn),kc(n,t,e,r,i,o)):!1}function dc(n){return K(n)&&un(n)==Mn}function yi(n,t,e,r){var i=e.length,o=i,l=!r;if(n==null)return!o;for(n=k(n);i--;){var f=e[i];if(l&&f[2]?f[1]!==n[f[0]]:!(f[0]in n))return!1}for(;++i<o;){f=e[i];var c=f[0],d=n[c],g=f[1];if(l&&f[2]){if(d===s&&!(c in n))return!1}else{var _=new Pn;if(r)var w=r(d,g,c,n,t,_);if(!(w===s?we(g,d,Pt|Me,r,_):w))return!1}}return!0}function mo(n){if(!z(n)||Xc(n))return!1;var t=et(n)?da:rf;return t.test(Ot(n))}function gc(n){return K(n)&&sn(n)==oe}function _c(n){return K(n)&&un(n)==Fn}function mc(n){return K(n)&&br(n.length)&&!!G[sn(n)]}function vo(n){return typeof n=="function"?n:n==null?pn:typeof n=="object"?L(n)?xo(n[0],n[1]):yo(n):Us(n)}function xi(n){if(!Ce(n))return ya(n);var t=[];for(var e in k(n))U.call(n,e)&&e!="constructor"&&t.push(e);return t}function vc(n){if(!z(n))return nh(n);var t=Ce(n),e=[];for(var r in n)r=="constructor"&&(t||!U.call(n,r))||e.push(r);return e}function Ci(n,t){return n<t}function wo(n,t){var e=-1,r=cn(n)?h(n.length):[];return ht(n,function(i,o,l){r[++e]=t(i,o,l)}),r}function yo(n){var t=Bi(n);return t.length==1&&t[0][2]?ns(t[0][0],t[0][1]):function(e){return e===n||yi(e,n,t)}}function xo(n,t){return Hi(n)&&jo(t)?ns($n(n),t):function(e){var r=Ji(e,n);return r===s&&r===t?Xi(e,n):we(t,r,Pt|Me)}}function sr(n,t,e,r,i){n!==t&&_i(t,function(o,l){if(i||(i=new Pn),z(o))wc(n,t,l,e,sr,r,i);else{var f=r?r(ki(n,l),o,l+"",n,t,i):s;f===s&&(f=o),di(n,l,f)}},hn)}function wc(n,t,e,r,i,o,l){var f=ki(n,e),c=ki(t,e),d=l.get(c);if(d){di(n,e,d);return}var g=o?o(f,c,e+"",n,t,l):s,_=g===s;if(_){var w=L(c),b=!w&&_t(c),I=!w&&!b&&Qt(c);g=c,w||b||I?L(f)?g=f:Z(f)?g=an(f):b?(_=!1,g=Fo(c,!0)):I?(_=!1,g=Wo(c,!0)):g=[]:Ae(c)||Mt(c)?(g=f,Mt(f)?g=Es(f):(!z(f)||et(f))&&(g=Vo(c))):_=!1}_&&(l.set(c,g),i(g,c,r,o,l),l.delete(c)),di(n,e,g)}function Co(n,t){var e=n.length;if(e)return t+=t<0?e:0,tt(t,e)?n[t]:s}function bo(n,t,e){t.length?t=$(t,function(o){return L(o)?function(l){return Lt(l,o.length===1?o[0]:o)}:o}):t=[pn];var r=-1;t=$(t,gn(A()));var i=wo(n,function(o,l,f){var c=$(t,function(d){return d(o)});return{criteria:c,index:++r,value:o}});return Kf(i,function(o,l){return Mc(o,l,e)})}function yc(n,t){return Ao(n,t,function(e,r){return Xi(n,r)})}function Ao(n,t,e){for(var r=-1,i=t.length,o={};++r<i;){var l=t[r],f=Lt(n,l);e(f,l)&&ye(o,dt(l,n),f)}return o}function xc(n){return function(t){return Lt(t,n)}}function bi(n,t,e,r){var i=r?zf:kt,o=-1,l=t.length,f=n;for(n===t&&(t=an(t)),e&&(f=$(n,gn(e)));++o<l;)for(var c=0,d=t[o],g=e?e(d):d;(c=i(f,g,c,r))>-1;)f!==n&&Qe.call(f,c,1),Qe.call(n,c,1);return n}function Io(n,t){for(var e=n?t.length:0,r=e-1;e--;){var i=t[e];if(e==r||i!==o){var o=i;tt(i)?Qe.call(n,i,1):Ti(n,i)}}return n}function Ai(n,t){return n+nr(io()*(t-n+1))}function Cc(n,t,e,r){for(var i=-1,o=Q(je((t-n)/(e||1)),0),l=h(o);o--;)l[r?o:++i]=n,n+=e;return l}function Ii(n,t){var e="";if(!n||t<1||t>ot)return e;do t%2&&(e+=n),t=nr(t/2),t&&(n+=n);while(t);return e}function M(n,t){return qi(ts(n,t,pn),n+"")}function bc(n){return so(Vt(n))}function Ac(n,t){var e=Vt(n);return mr(e,Rt(t,0,e.length))}function ye(n,t,e,r){if(!z(n))return n;t=dt(t,n);for(var i=-1,o=t.length,l=o-1,f=n;f!=null&&++i<o;){var c=$n(t[i]),d=e;if(c==="__proto__"||c==="constructor"||c==="prototype")return n;if(i!=l){var g=f[c];d=r?r(g,c,f):s,d===s&&(d=z(g)?g:tt(t[i+1])?[]:{})}_e(f,c,d),f=f[c]}return n}var So=tr?function(n,t){return tr.set(n,t),n}:pn,Ic=Ve?function(n,t){return Ve(n,"toString",{configurable:!0,enumerable:!1,value:Vi(t),writable:!0})}:pn;function Sc(n){return mr(Vt(n))}function Rn(n,t,e){var r=-1,i=n.length;t<0&&(t=-t>i?0:i+t),e=e>i?i:e,e<0&&(e+=i),i=t>e?0:e-t>>>0,t>>>=0;for(var o=h(i);++r<i;)o[r]=n[r+t];return o}function Tc(n,t){var e;return ht(n,function(r,i,o){return e=t(r,i,o),!e}),!!e}function lr(n,t,e){var r=0,i=n==null?r:n.length;if(typeof t=="number"&&t===t&&i<=Rl){for(;r<i;){var o=r+i>>>1,l=n[o];l!==null&&!mn(l)&&(e?l<=t:l<t)?r=o+1:i=o}return i}return Si(n,t,pn,e)}function Si(n,t,e,r){var i=0,o=n==null?0:n.length;if(o===0)return 0;t=e(t);for(var l=t!==t,f=t===null,c=mn(t),d=t===s;i<o;){var g=nr((i+o)/2),_=e(n[g]),w=_!==s,b=_===null,I=_===_,O=mn(_);if(l)var S=r||I;else d?S=I&&(r||w):f?S=I&&w&&(r||!b):c?S=I&&w&&!b&&(r||!O):b||O?S=!1:S=r?_<=t:_<t;S?i=g+1:o=g}return rn(o,Tl)}function To(n,t){for(var e=-1,r=n.length,i=0,o=[];++e<r;){var l=n[e],f=t?t(l):l;if(!e||!Dn(f,c)){var c=f;o[i++]=l===0?0:l}}return o}function Ro(n){return typeof n=="number"?n:mn(n)?Fe:+n}function _n(n){if(typeof n=="string")return n;if(L(n))return $(n,_n)+"";if(mn(n))return uo?uo.call(n):"";var t=n+"";return t=="0"&&1/n==-bt?"-0":t}function pt(n,t,e){var r=-1,i=ke,o=n.length,l=!0,f=[],c=f;if(e)l=!1,i=ti;else if(o>=T){var d=t?null:Nc(n);if(d)return Ge(d);l=!1,i=ae,c=new Tt}else c=t?[]:f;n:for(;++r<o;){var g=n[r],_=t?t(g):g;if(g=e||g!==0?g:0,l&&_===_){for(var w=c.length;w--;)if(c[w]===_)continue n;t&&c.push(_),f.push(g)}else i(c,_,e)||(c!==f&&c.push(_),f.push(g))}return f}function Ti(n,t){return t=dt(t,n),n=es(n,t),n==null||delete n[$n(Ln(t))]}function Lo(n,t,e,r){return ye(n,t,e(Lt(n,t)),r)}function fr(n,t,e,r){for(var i=n.length,o=r?i:-1;(r?o--:++o<i)&&t(n[o],o,n););return e?Rn(n,r?0:o,r?o+1:i):Rn(n,r?o+1:0,r?i:o)}function Eo(n,t){var e=n;return e instanceof W&&(e=e.value()),ei(t,function(r,i){return i.func.apply(i.thisArg,lt([r],i.args))},e)}function Ri(n,t,e){var r=n.length;if(r<2)return r?pt(n[0]):[];for(var i=-1,o=h(r);++i<r;)for(var l=n[i],f=-1;++f<r;)f!=i&&(o[i]=me(o[i]||l,n[f],t,e));return pt(tn(o,1),t,e)}function Oo(n,t,e){for(var r=-1,i=n.length,o=t.length,l={};++r<i;){var f=r<o?t[r]:s;e(l,n[r],f)}return l}function Li(n){return Z(n)?n:[]}function Ei(n){return typeof n=="function"?n:pn}function dt(n,t){return L(n)?n:Hi(n,t)?[n]:os(H(n))}var Rc=M;function gt(n,t,e){var r=n.length;return e=e===s?r:e,!t&&e>=r?n:Rn(n,t,e)}var Mo=ga||function(n){return j.clearTimeout(n)};function Fo(n,t){if(t)return n.slice();var e=n.length,r=ju?ju(e):new n.constructor(e);return n.copy(r),r}function Oi(n){var t=new n.constructor(n.byteLength);return new Je(t).set(new Je(n)),t}function Lc(n,t){var e=t?Oi(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.byteLength)}function Ec(n){var t=new n.constructor(n.source,gu.exec(n));return t.lastIndex=n.lastIndex,t}function Oc(n){return ge?k(ge.call(n)):{}}function Wo(n,t){var e=t?Oi(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.length)}function Po(n,t){if(n!==t){var e=n!==s,r=n===null,i=n===n,o=mn(n),l=t!==s,f=t===null,c=t===t,d=mn(t);if(!f&&!d&&!o&&n>t||o&&l&&c&&!f&&!d||r&&l&&c||!e&&c||!i)return 1;if(!r&&!o&&!d&&n<t||d&&e&&i&&!r&&!o||f&&e&&i||!l&&i||!c)return-1}return 0}function Mc(n,t,e){for(var r=-1,i=n.criteria,o=t.criteria,l=i.length,f=e.length;++r<l;){var c=Po(i[r],o[r]);if(c){if(r>=f)return c;var d=e[r];return c*(d=="desc"?-1:1)}}return n.index-t.index}function Do(n,t,e,r){for(var i=-1,o=n.length,l=e.length,f=-1,c=t.length,d=Q(o-l,0),g=h(c+d),_=!r;++f<c;)g[f]=t[f];for(;++i<l;)(_||i<o)&&(g[e[i]]=n[i]);for(;d--;)g[f++]=n[i++];return g}function Bo(n,t,e,r){for(var i=-1,o=n.length,l=-1,f=e.length,c=-1,d=t.length,g=Q(o-f,0),_=h(g+d),w=!r;++i<g;)_[i]=n[i];for(var b=i;++c<d;)_[b+c]=t[c];for(;++l<f;)(w||i<o)&&(_[b+e[l]]=n[i++]);return _}function an(n,t){var e=-1,r=n.length;for(t||(t=h(r));++e<r;)t[e]=n[e];return t}function Gn(n,t,e,r){var i=!e;e||(e={});for(var o=-1,l=t.length;++o<l;){var f=t[o],c=r?r(e[f],n[f],f,e,n):s;c===s&&(c=n[f]),i?Vn(e,f,c):_e(e,f,c)}return e}function Fc(n,t){return Gn(n,Ni(n),t)}function Wc(n,t){return Gn(n,Xo(n),t)}function ar(n,t){return function(e,r){var i=L(e)?Hf:ec,o=t?t():{};return i(e,n,A(r,2),o)}}function Yt(n){return M(function(t,e){var r=-1,i=e.length,o=i>1?e[i-1]:s,l=i>2?e[2]:s;for(o=n.length>3&&typeof o=="function"?(i--,o):s,l&&ln(e[0],e[1],l)&&(o=i<3?s:o,i=1),t=k(t);++r<i;){var f=e[r];f&&n(t,f,r,o)}return t})}function No(n,t){return function(e,r){if(e==null)return e;if(!cn(e))return n(e,r);for(var i=e.length,o=t?i:-1,l=k(e);(t?o--:++o<i)&&r(l[o],o,l)!==!1;);return e}}function Ho(n){return function(t,e,r){for(var i=-1,o=k(t),l=r(t),f=l.length;f--;){var c=l[n?f:++i];if(e(o[c],c,o)===!1)break}return t}}function Pc(n,t,e){var r=t&Cn,i=xe(n);function o(){var l=this&&this!==j&&this instanceof o?i:n;return l.apply(r?e:this,arguments)}return o}function Uo(n){return function(t){t=H(t);var e=qt(t)?Wn(t):s,r=e?e[0]:t.charAt(0),i=e?gt(e,1).join(""):t.slice(1);return r[n]()+i}}function Jt(n){return function(t){return ei(Ns(Bs(t).replace(If,"")),n,"")}}function xe(n){return function(){var t=arguments;switch(t.length){case 0:return new n;case 1:return new n(t[0]);case 2:return new n(t[0],t[1]);case 3:return new n(t[0],t[1],t[2]);case 4:return new n(t[0],t[1],t[2],t[3]);case 5:return new n(t[0],t[1],t[2],t[3],t[4]);case 6:return new n(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new n(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var e=Zt(n.prototype),r=n.apply(e,t);return z(r)?r:e}}function Dc(n,t,e){var r=xe(n);function i(){for(var o=arguments.length,l=h(o),f=o,c=Xt(i);f--;)l[f]=arguments[f];var d=o<3&&l[0]!==c&&l[o-1]!==c?[]:ft(l,c);if(o-=d.length,o<e)return zo(n,t,cr,i.placeholder,s,l,d,s,s,e-o);var g=this&&this!==j&&this instanceof i?r:n;return dn(g,this,l)}return i}function ko(n){return function(t,e,r){var i=k(t);if(!cn(t)){var o=A(e,3);t=nn(t),e=function(f){return o(i[f],f,i)}}var l=n(t,e,r);return l>-1?i[o?t[l]:l]:s}}function qo(n){return nt(function(t){var e=t.length,r=e,i=Sn.prototype.thru;for(n&&t.reverse();r--;){var o=t[r];if(typeof o!="function")throw new In(x);if(i&&!l&&gr(o)=="wrapper")var l=new Sn([],!0)}for(r=l?r:e;++r<e;){o=t[r];var f=gr(o),c=f=="wrapper"?Di(o):s;c&&Ui(c[0])&&c[1]==(Yn|Hn|Un|ee)&&!c[4].length&&c[9]==1?l=l[gr(c[0])].apply(l,c[3]):l=o.length==1&&Ui(o)?l[f]():l.thru(o)}return function(){var d=arguments,g=d[0];if(l&&d.length==1&&L(g))return l.plant(g).value();for(var _=0,w=e?t[_].apply(this,d):g;++_<e;)w=t[_].call(this,w);return w}})}function cr(n,t,e,r,i,o,l,f,c,d){var g=t&Yn,_=t&Cn,w=t&Ct,b=t&(Hn|Dt),I=t&Dr,O=w?s:xe(n);function S(){for(var F=arguments.length,D=h(F),vn=F;vn--;)D[vn]=arguments[vn];if(b)var fn=Xt(S),wn=Yf(D,fn);if(r&&(D=Do(D,r,i,b)),o&&(D=Bo(D,o,l,b)),F-=wn,b&&F<d){var Y=ft(D,fn);return zo(n,t,cr,S.placeholder,e,D,Y,f,c,d-F)}var Bn=_?e:this,it=w?Bn[n]:n;return F=D.length,f?D=eh(D,f):I&&F>1&&D.reverse(),g&&c<F&&(D.length=c),this&&this!==j&&this instanceof S&&(it=O||xe(it)),it.apply(Bn,D)}return S}function Go(n,t){return function(e,r){return ac(e,n,t(r),{})}}function hr(n,t){return function(e,r){var i;if(e===s&&r===s)return t;if(e!==s&&(i=e),r!==s){if(i===s)return r;typeof e=="string"||typeof r=="string"?(e=_n(e),r=_n(r)):(e=Ro(e),r=Ro(r)),i=n(e,r)}return i}}function Mi(n){return nt(function(t){return t=$(t,gn(A())),M(function(e){var r=this;return n(t,function(i){return dn(i,r,e)})})})}function pr(n,t){t=t===s?" ":_n(t);var e=t.length;if(e<2)return e?Ii(t,n):t;var r=Ii(t,je(n/Gt(t)));return qt(t)?gt(Wn(r),0,n).join(""):r.slice(0,n)}function Bc(n,t,e,r){var i=t&Cn,o=xe(n);function l(){for(var f=-1,c=arguments.length,d=-1,g=r.length,_=h(g+c),w=this&&this!==j&&this instanceof l?o:n;++d<g;)_[d]=r[d];for(;c--;)_[d++]=arguments[++f];return dn(w,i?e:this,_)}return l}function $o(n){return function(t,e,r){return r&&typeof r!="number"&&ln(t,e,r)&&(e=r=s),t=rt(t),e===s?(e=t,t=0):e=rt(e),r=r===s?t<e?1:-1:rt(r),Cc(t,e,r,n)}}function dr(n){return function(t,e){return typeof t=="string"&&typeof e=="string"||(t=En(t),e=En(e)),n(t,e)}}function zo(n,t,e,r,i,o,l,f,c,d){var g=t&Hn,_=g?l:s,w=g?s:l,b=g?o:s,I=g?s:o;t|=g?Un:Bt,t&=~(g?Bt:Un),t&lu||(t&=~(Cn|Ct));var O=[n,t,i,b,_,I,w,f,c,d],S=e.apply(s,O);return Ui(n)&&rs(S,O),S.placeholder=r,is(S,n,t)}function Fi(n){var t=X[n];return function(e,r){if(e=En(e),r=r==null?0:rn(E(r),292),r&&ro(e)){var i=(H(e)+"e").split("e"),o=t(i[0]+"e"+(+i[1]+r));return i=(H(o)+"e").split("e"),+(i[0]+"e"+(+i[1]-r))}return t(e)}}var Nc=zt&&1/Ge(new zt([,-0]))[1]==bt?function(n){return new zt(n)}:tu;function Ko(n){return function(t){var e=un(t);return e==Mn?fi(t):e==Fn?ta(t):Zf(t,n(t))}}function jn(n,t,e,r,i,o,l,f){var c=t&Ct;if(!c&&typeof n!="function")throw new In(x);var d=r?r.length:0;if(d||(t&=~(Un|Bt),r=i=s),l=l===s?l:Q(E(l),0),f=f===s?f:E(f),d-=i?i.length:0,t&Bt){var g=r,_=i;r=i=s}var w=c?s:Di(n),b=[n,t,e,r,i,g,_,o,l,f];if(w&&jc(b,w),n=b[0],t=b[1],e=b[2],r=b[3],i=b[4],f=b[9]=b[9]===s?c?0:n.length:Q(b[9]-d,0),!f&&t&(Hn|Dt)&&(t&=~(Hn|Dt)),!t||t==Cn)var I=Pc(n,t,e);else t==Hn||t==Dt?I=Dc(n,t,f):(t==Un||t==(Cn|Un))&&!i.length?I=Bc(n,t,e,r):I=cr.apply(s,b);var O=w?So:rs;return is(O(I,b),n,t)}function Zo(n,t,e,r){return n===s||Dn(n,$t[e])&&!U.call(r,e)?t:n}function Yo(n,t,e,r,i,o){return z(n)&&z(t)&&(o.set(t,n),sr(n,t,s,Yo,o),o.delete(t)),n}function Hc(n){return Ae(n)?s:n}function Jo(n,t,e,r,i,o){var l=e&Pt,f=n.length,c=t.length;if(f!=c&&!(l&&c>f))return!1;var d=o.get(n),g=o.get(t);if(d&&g)return d==t&&g==n;var _=-1,w=!0,b=e&Me?new Tt:s;for(o.set(n,t),o.set(t,n);++_<f;){var I=n[_],O=t[_];if(r)var S=l?r(O,I,_,t,n,o):r(I,O,_,n,t,o);if(S!==s){if(S)continue;w=!1;break}if(b){if(!ri(t,function(F,D){if(!ae(b,D)&&(I===F||i(I,F,e,r,o)))return b.push(D)})){w=!1;break}}else if(!(I===O||i(I,O,e,r,o))){w=!1;break}}return o.delete(n),o.delete(t),w}function Uc(n,t,e,r,i,o,l){switch(e){case Ht:if(n.byteLength!=t.byteLength||n.byteOffset!=t.byteOffset)return!1;n=n.buffer,t=t.buffer;case fe:return!(n.byteLength!=t.byteLength||!o(new Je(n),new Je(t)));case re:case ie:case ue:return Dn(+n,+t);case Pe:return n.name==t.name&&n.message==t.message;case oe:case se:return n==t+"";case Mn:var f=fi;case Fn:var c=r&Pt;if(f||(f=Ge),n.size!=t.size&&!c)return!1;var d=l.get(n);if(d)return d==t;r|=Me,l.set(n,t);var g=Jo(f(n),f(t),r,i,o,l);return l.delete(n),g;case Be:if(ge)return ge.call(n)==ge.call(t)}return!1}function kc(n,t,e,r,i,o){var l=e&Pt,f=Wi(n),c=f.length,d=Wi(t),g=d.length;if(c!=g&&!l)return!1;for(var _=c;_--;){var w=f[_];if(!(l?w in t:U.call(t,w)))return!1}var b=o.get(n),I=o.get(t);if(b&&I)return b==t&&I==n;var O=!0;o.set(n,t),o.set(t,n);for(var S=l;++_<c;){w=f[_];var F=n[w],D=t[w];if(r)var vn=l?r(D,F,w,t,n,o):r(F,D,w,n,t,o);if(!(vn===s?F===D||i(F,D,e,r,o):vn)){O=!1;break}S||(S=w=="constructor")}if(O&&!S){var fn=n.constructor,wn=t.constructor;fn!=wn&&"constructor"in n&&"constructor"in t&&!(typeof fn=="function"&&fn instanceof fn&&typeof wn=="function"&&wn instanceof wn)&&(O=!1)}return o.delete(n),o.delete(t),O}function nt(n){return qi(ts(n,s,as),n+"")}function Wi(n){return go(n,nn,Ni)}function Pi(n){return go(n,hn,Xo)}var Di=tr?function(n){return tr.get(n)}:tu;function gr(n){for(var t=n.name+"",e=Kt[t],r=U.call(Kt,t)?e.length:0;r--;){var i=e[r],o=i.func;if(o==null||o==n)return i.name}return t}function Xt(n){var t=U.call(u,"placeholder")?u:n;return t.placeholder}function A(){var n=u.iteratee||ji;return n=n===ji?vo:n,arguments.length?n(arguments[0],arguments[1]):n}function _r(n,t){var e=n.__data__;return Jc(t)?e[typeof t=="string"?"string":"hash"]:e.map}function Bi(n){for(var t=nn(n),e=t.length;e--;){var r=t[e],i=n[r];t[e]=[r,i,jo(i)]}return t}function Et(n,t){var e=Vf(n,t);return mo(e)?e:s}function qc(n){var t=U.call(n,It),e=n[It];try{n[It]=s;var r=!0}catch{}var i=Ze.call(n);return r&&(t?n[It]=e:delete n[It]),i}var Ni=ci?function(n){return n==null?[]:(n=k(n),st(ci(n),function(t){return to.call(n,t)}))}:eu,Xo=ci?function(n){for(var t=[];n;)lt(t,Ni(n)),n=Xe(n);return t}:eu,un=sn;(hi&&un(new hi(new ArrayBuffer(1)))!=Ht||he&&un(new he)!=Mn||pi&&un(pi.resolve())!=cu||zt&&un(new zt)!=Fn||pe&&un(new pe)!=le)&&(un=function(n){var t=sn(n),e=t==Jn?n.constructor:s,r=e?Ot(e):"";if(r)switch(r){case Aa:return Ht;case Ia:return Mn;case Sa:return cu;case Ta:return Fn;case Ra:return le}return t});function Gc(n,t,e){for(var r=-1,i=e.length;++r<i;){var o=e[r],l=o.size;switch(o.type){case"drop":n+=l;break;case"dropRight":t-=l;break;case"take":t=rn(t,n+l);break;case"takeRight":n=Q(n,t-l);break}}return{start:n,end:t}}function $c(n){var t=n.match(Jl);return t?t[1].split(Xl):[]}function Qo(n,t,e){t=dt(t,n);for(var r=-1,i=t.length,o=!1;++r<i;){var l=$n(t[r]);if(!(o=n!=null&&e(n,l)))break;n=n[l]}return o||++r!=i?o:(i=n==null?0:n.length,!!i&&br(i)&&tt(l,i)&&(L(n)||Mt(n)))}function zc(n){var t=n.length,e=new n.constructor(t);return t&&typeof n[0]=="string"&&U.call(n,"index")&&(e.index=n.index,e.input=n.input),e}function Vo(n){return typeof n.constructor=="function"&&!Ce(n)?Zt(Xe(n)):{}}function Kc(n,t,e){var r=n.constructor;switch(t){case fe:return Oi(n);case re:case ie:return new r(+n);case Ht:return Lc(n,e);case Br:case Nr:case Hr:case Ur:case kr:case qr:case Gr:case $r:case zr:return Wo(n,e);case Mn:return new r;case ue:case se:return new r(n);case oe:return Ec(n);case Fn:return new r;case Be:return Oc(n)}}function Zc(n,t){var e=t.length;if(!e)return n;var r=e-1;return t[r]=(e>1?"& ":"")+t[r],t=t.join(e>2?", ":" "),n.replace(Yl,`{
2
+ /* [wrapped with `+t+`] */
3
+ `)}function Yc(n){return L(n)||Mt(n)||!!(eo&&n&&n[eo])}function tt(n,t){var e=typeof n;return t=t??ot,!!t&&(e=="number"||e!="symbol"&&of.test(n))&&n>-1&&n%1==0&&n<t}function ln(n,t,e){if(!z(e))return!1;var r=typeof t;return(r=="number"?cn(e)&&tt(t,e.length):r=="string"&&t in e)?Dn(e[t],n):!1}function Hi(n,t){if(L(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||mn(n)?!0:$l.test(n)||!Gl.test(n)||t!=null&&n in k(t)}function Jc(n){var t=typeof n;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?n!=="__proto__":n===null}function Ui(n){var t=gr(n),e=u[t];if(typeof e!="function"||!(t in W.prototype))return!1;if(n===e)return!0;var r=Di(e);return!!r&&n===r[0]}function Xc(n){return!!Vu&&Vu in n}var Qc=ze?et:ru;function Ce(n){var t=n&&n.constructor,e=typeof t=="function"&&t.prototype||$t;return n===e}function jo(n){return n===n&&!z(n)}function ns(n,t){return function(e){return e==null?!1:e[n]===t&&(t!==s||n in k(e))}}function Vc(n){var t=xr(n,function(r){return e.size===B&&e.clear(),r}),e=t.cache;return t}function jc(n,t){var e=n[1],r=t[1],i=e|r,o=i<(Cn|Ct|Yn),l=r==Yn&&e==Hn||r==Yn&&e==ee&&n[7].length<=t[8]||r==(Yn|ee)&&t[7].length<=t[8]&&e==Hn;if(!(o||l))return n;r&Cn&&(n[2]=t[2],i|=e&Cn?0:lu);var f=t[3];if(f){var c=n[3];n[3]=c?Do(c,f,t[4]):f,n[4]=c?ft(n[3],en):t[4]}return f=t[5],f&&(c=n[5],n[5]=c?Bo(c,f,t[6]):f,n[6]=c?ft(n[5],en):t[6]),f=t[7],f&&(n[7]=f),r&Yn&&(n[8]=n[8]==null?t[8]:rn(n[8],t[8])),n[9]==null&&(n[9]=t[9]),n[0]=t[0],n[1]=i,n}function nh(n){var t=[];if(n!=null)for(var e in k(n))t.push(e);return t}function th(n){return Ze.call(n)}function ts(n,t,e){return t=Q(t===s?n.length-1:t,0),function(){for(var r=arguments,i=-1,o=Q(r.length-t,0),l=h(o);++i<o;)l[i]=r[t+i];i=-1;for(var f=h(t+1);++i<t;)f[i]=r[i];return f[t]=e(l),dn(n,this,f)}}function es(n,t){return t.length<2?n:Lt(n,Rn(t,0,-1))}function eh(n,t){for(var e=n.length,r=rn(t.length,e),i=an(n);r--;){var o=t[r];n[r]=tt(o,e)?i[o]:s}return n}function ki(n,t){if(!(t==="constructor"&&typeof n[t]=="function")&&t!="__proto__")return n[t]}var rs=us(So),be=ma||function(n,t){return j.setTimeout(n,t)},qi=us(Ic);function is(n,t,e){var r=t+"";return qi(n,Zc(r,rh($c(r),e)))}function us(n){var t=0,e=0;return function(){var r=xa(),i=bl-(r-e);if(e=r,i>0){if(++t>=Cl)return arguments[0]}else t=0;return n.apply(s,arguments)}}function mr(n,t){var e=-1,r=n.length,i=r-1;for(t=t===s?r:t;++e<t;){var o=Ai(e,i),l=n[o];n[o]=n[e],n[e]=l}return n.length=t,n}var os=Vc(function(n){var t=[];return n.charCodeAt(0)===46&&t.push(""),n.replace(zl,function(e,r,i,o){t.push(i?o.replace(jl,"$1"):r||e)}),t});function $n(n){if(typeof n=="string"||mn(n))return n;var t=n+"";return t=="0"&&1/n==-bt?"-0":t}function Ot(n){if(n!=null){try{return Ke.call(n)}catch{}try{return n+""}catch{}}return""}function rh(n,t){return An(Ll,function(e){var r="_."+e[0];t&e[1]&&!ke(n,r)&&n.push(r)}),n.sort()}function ss(n){if(n instanceof W)return n.clone();var t=new Sn(n.__wrapped__,n.__chain__);return t.__actions__=an(n.__actions__),t.__index__=n.__index__,t.__values__=n.__values__,t}function ih(n,t,e){(e?ln(n,t,e):t===s)?t=1:t=Q(E(t),0);var r=n==null?0:n.length;if(!r||t<1)return[];for(var i=0,o=0,l=h(je(r/t));i<r;)l[o++]=Rn(n,i,i+=t);return l}function uh(n){for(var t=-1,e=n==null?0:n.length,r=0,i=[];++t<e;){var o=n[t];o&&(i[r++]=o)}return i}function oh(){var n=arguments.length;if(!n)return[];for(var t=h(n-1),e=arguments[0],r=n;r--;)t[r-1]=arguments[r];return lt(L(e)?an(e):[e],tn(t,1))}var sh=M(function(n,t){return Z(n)?me(n,tn(t,1,Z,!0)):[]}),lh=M(function(n,t){var e=Ln(t);return Z(e)&&(e=s),Z(n)?me(n,tn(t,1,Z,!0),A(e,2)):[]}),fh=M(function(n,t){var e=Ln(t);return Z(e)&&(e=s),Z(n)?me(n,tn(t,1,Z,!0),s,e):[]});function ah(n,t,e){var r=n==null?0:n.length;return r?(t=e||t===s?1:E(t),Rn(n,t<0?0:t,r)):[]}function ch(n,t,e){var r=n==null?0:n.length;return r?(t=e||t===s?1:E(t),t=r-t,Rn(n,0,t<0?0:t)):[]}function hh(n,t){return n&&n.length?fr(n,A(t,3),!0,!0):[]}function ph(n,t){return n&&n.length?fr(n,A(t,3),!0):[]}function dh(n,t,e,r){var i=n==null?0:n.length;return i?(e&&typeof e!="number"&&ln(n,t,e)&&(e=0,r=i),oc(n,t,e,r)):[]}function ls(n,t,e){var r=n==null?0:n.length;if(!r)return-1;var i=e==null?0:E(e);return i<0&&(i=Q(r+i,0)),qe(n,A(t,3),i)}function fs(n,t,e){var r=n==null?0:n.length;if(!r)return-1;var i=r-1;return e!==s&&(i=E(e),i=e<0?Q(r+i,0):rn(i,r-1)),qe(n,A(t,3),i,!0)}function as(n){var t=n==null?0:n.length;return t?tn(n,1):[]}function gh(n){var t=n==null?0:n.length;return t?tn(n,bt):[]}function _h(n,t){var e=n==null?0:n.length;return e?(t=t===s?1:E(t),tn(n,t)):[]}function mh(n){for(var t=-1,e=n==null?0:n.length,r={};++t<e;){var i=n[t];r[i[0]]=i[1]}return r}function cs(n){return n&&n.length?n[0]:s}function vh(n,t,e){var r=n==null?0:n.length;if(!r)return-1;var i=e==null?0:E(e);return i<0&&(i=Q(r+i,0)),kt(n,t,i)}function wh(n){var t=n==null?0:n.length;return t?Rn(n,0,-1):[]}var yh=M(function(n){var t=$(n,Li);return t.length&&t[0]===n[0]?wi(t):[]}),xh=M(function(n){var t=Ln(n),e=$(n,Li);return t===Ln(e)?t=s:e.pop(),e.length&&e[0]===n[0]?wi(e,A(t,2)):[]}),Ch=M(function(n){var t=Ln(n),e=$(n,Li);return t=typeof t=="function"?t:s,t&&e.pop(),e.length&&e[0]===n[0]?wi(e,s,t):[]});function bh(n,t){return n==null?"":wa.call(n,t)}function Ln(n){var t=n==null?0:n.length;return t?n[t-1]:s}function Ah(n,t,e){var r=n==null?0:n.length;if(!r)return-1;var i=r;return e!==s&&(i=E(e),i=i<0?Q(r+i,0):rn(i,r-1)),t===t?ra(n,t,i):qe(n,$u,i,!0)}function Ih(n,t){return n&&n.length?Co(n,E(t)):s}var Sh=M(hs);function hs(n,t){return n&&n.length&&t&&t.length?bi(n,t):n}function Th(n,t,e){return n&&n.length&&t&&t.length?bi(n,t,A(e,2)):n}function Rh(n,t,e){return n&&n.length&&t&&t.length?bi(n,t,s,e):n}var Lh=nt(function(n,t){var e=n==null?0:n.length,r=gi(n,t);return Io(n,$(t,function(i){return tt(i,e)?+i:i}).sort(Po)),r});function Eh(n,t){var e=[];if(!(n&&n.length))return e;var r=-1,i=[],o=n.length;for(t=A(t,3);++r<o;){var l=n[r];t(l,r,n)&&(e.push(l),i.push(r))}return Io(n,i),e}function Gi(n){return n==null?n:ba.call(n)}function Oh(n,t,e){var r=n==null?0:n.length;return r?(e&&typeof e!="number"&&ln(n,t,e)?(t=0,e=r):(t=t==null?0:E(t),e=e===s?r:E(e)),Rn(n,t,e)):[]}function Mh(n,t){return lr(n,t)}function Fh(n,t,e){return Si(n,t,A(e,2))}function Wh(n,t){var e=n==null?0:n.length;if(e){var r=lr(n,t);if(r<e&&Dn(n[r],t))return r}return-1}function Ph(n,t){return lr(n,t,!0)}function Dh(n,t,e){return Si(n,t,A(e,2),!0)}function Bh(n,t){var e=n==null?0:n.length;if(e){var r=lr(n,t,!0)-1;if(Dn(n[r],t))return r}return-1}function Nh(n){return n&&n.length?To(n):[]}function Hh(n,t){return n&&n.length?To(n,A(t,2)):[]}function Uh(n){var t=n==null?0:n.length;return t?Rn(n,1,t):[]}function kh(n,t,e){return n&&n.length?(t=e||t===s?1:E(t),Rn(n,0,t<0?0:t)):[]}function qh(n,t,e){var r=n==null?0:n.length;return r?(t=e||t===s?1:E(t),t=r-t,Rn(n,t<0?0:t,r)):[]}function Gh(n,t){return n&&n.length?fr(n,A(t,3),!1,!0):[]}function $h(n,t){return n&&n.length?fr(n,A(t,3)):[]}var zh=M(function(n){return pt(tn(n,1,Z,!0))}),Kh=M(function(n){var t=Ln(n);return Z(t)&&(t=s),pt(tn(n,1,Z,!0),A(t,2))}),Zh=M(function(n){var t=Ln(n);return t=typeof t=="function"?t:s,pt(tn(n,1,Z,!0),s,t)});function Yh(n){return n&&n.length?pt(n):[]}function Jh(n,t){return n&&n.length?pt(n,A(t,2)):[]}function Xh(n,t){return t=typeof t=="function"?t:s,n&&n.length?pt(n,s,t):[]}function $i(n){if(!(n&&n.length))return[];var t=0;return n=st(n,function(e){if(Z(e))return t=Q(e.length,t),!0}),si(t,function(e){return $(n,ii(e))})}function ps(n,t){if(!(n&&n.length))return[];var e=$i(n);return t==null?e:$(e,function(r){return dn(t,s,r)})}var Qh=M(function(n,t){return Z(n)?me(n,t):[]}),Vh=M(function(n){return Ri(st(n,Z))}),jh=M(function(n){var t=Ln(n);return Z(t)&&(t=s),Ri(st(n,Z),A(t,2))}),np=M(function(n){var t=Ln(n);return t=typeof t=="function"?t:s,Ri(st(n,Z),s,t)}),tp=M($i);function ep(n,t){return Oo(n||[],t||[],_e)}function rp(n,t){return Oo(n||[],t||[],ye)}var ip=M(function(n){var t=n.length,e=t>1?n[t-1]:s;return e=typeof e=="function"?(n.pop(),e):s,ps(n,e)});function ds(n){var t=u(n);return t.__chain__=!0,t}function up(n,t){return t(n),n}function vr(n,t){return t(n)}var op=nt(function(n){var t=n.length,e=t?n[0]:0,r=this.__wrapped__,i=function(o){return gi(o,n)};return t>1||this.__actions__.length||!(r instanceof W)||!tt(e)?this.thru(i):(r=r.slice(e,+e+(t?1:0)),r.__actions__.push({func:vr,args:[i],thisArg:s}),new Sn(r,this.__chain__).thru(function(o){return t&&!o.length&&o.push(s),o}))});function sp(){return ds(this)}function lp(){return new Sn(this.value(),this.__chain__)}function fp(){this.__values__===s&&(this.__values__=Rs(this.value()));var n=this.__index__>=this.__values__.length,t=n?s:this.__values__[this.__index__++];return{done:n,value:t}}function ap(){return this}function cp(n){for(var t,e=this;e instanceof rr;){var r=ss(e);r.__index__=0,r.__values__=s,t?i.__wrapped__=r:t=r;var i=r;e=e.__wrapped__}return i.__wrapped__=n,t}function hp(){var n=this.__wrapped__;if(n instanceof W){var t=n;return this.__actions__.length&&(t=new W(this)),t=t.reverse(),t.__actions__.push({func:vr,args:[Gi],thisArg:s}),new Sn(t,this.__chain__)}return this.thru(Gi)}function pp(){return Eo(this.__wrapped__,this.__actions__)}var dp=ar(function(n,t,e){U.call(n,e)?++n[e]:Vn(n,e,1)});function gp(n,t,e){var r=L(n)?qu:uc;return e&&ln(n,t,e)&&(t=s),r(n,A(t,3))}function _p(n,t){var e=L(n)?st:ho;return e(n,A(t,3))}var mp=ko(ls),vp=ko(fs);function wp(n,t){return tn(wr(n,t),1)}function yp(n,t){return tn(wr(n,t),bt)}function xp(n,t,e){return e=e===s?1:E(e),tn(wr(n,t),e)}function gs(n,t){var e=L(n)?An:ht;return e(n,A(t,3))}function _s(n,t){var e=L(n)?Uf:co;return e(n,A(t,3))}var Cp=ar(function(n,t,e){U.call(n,e)?n[e].push(t):Vn(n,e,[t])});function bp(n,t,e,r){n=cn(n)?n:Vt(n),e=e&&!r?E(e):0;var i=n.length;return e<0&&(e=Q(i+e,0)),Ar(n)?e<=i&&n.indexOf(t,e)>-1:!!i&&kt(n,t,e)>-1}var Ap=M(function(n,t,e){var r=-1,i=typeof t=="function",o=cn(n)?h(n.length):[];return ht(n,function(l){o[++r]=i?dn(t,l,e):ve(l,t,e)}),o}),Ip=ar(function(n,t,e){Vn(n,e,t)});function wr(n,t){var e=L(n)?$:wo;return e(n,A(t,3))}function Sp(n,t,e,r){return n==null?[]:(L(t)||(t=t==null?[]:[t]),e=r?s:e,L(e)||(e=e==null?[]:[e]),bo(n,t,e))}var Tp=ar(function(n,t,e){n[e?0:1].push(t)},function(){return[[],[]]});function Rp(n,t,e){var r=L(n)?ei:Ku,i=arguments.length<3;return r(n,A(t,4),e,i,ht)}function Lp(n,t,e){var r=L(n)?kf:Ku,i=arguments.length<3;return r(n,A(t,4),e,i,co)}function Ep(n,t){var e=L(n)?st:ho;return e(n,Cr(A(t,3)))}function Op(n){var t=L(n)?so:bc;return t(n)}function Mp(n,t,e){(e?ln(n,t,e):t===s)?t=1:t=E(t);var r=L(n)?nc:Ac;return r(n,t)}function Fp(n){var t=L(n)?tc:Sc;return t(n)}function Wp(n){if(n==null)return 0;if(cn(n))return Ar(n)?Gt(n):n.length;var t=un(n);return t==Mn||t==Fn?n.size:xi(n).length}function Pp(n,t,e){var r=L(n)?ri:Tc;return e&&ln(n,t,e)&&(t=s),r(n,A(t,3))}var Dp=M(function(n,t){if(n==null)return[];var e=t.length;return e>1&&ln(n,t[0],t[1])?t=[]:e>2&&ln(t[0],t[1],t[2])&&(t=[t[0]]),bo(n,tn(t,1),[])}),yr=_a||function(){return j.Date.now()};function Bp(n,t){if(typeof t!="function")throw new In(x);return n=E(n),function(){if(--n<1)return t.apply(this,arguments)}}function ms(n,t,e){return t=e?s:t,t=n&&t==null?n.length:t,jn(n,Yn,s,s,s,s,t)}function vs(n,t){var e;if(typeof t!="function")throw new In(x);return n=E(n),function(){return--n>0&&(e=t.apply(this,arguments)),n<=1&&(t=s),e}}var zi=M(function(n,t,e){var r=Cn;if(e.length){var i=ft(e,Xt(zi));r|=Un}return jn(n,r,t,e,i)}),ws=M(function(n,t,e){var r=Cn|Ct;if(e.length){var i=ft(e,Xt(ws));r|=Un}return jn(t,r,n,e,i)});function ys(n,t,e){t=e?s:t;var r=jn(n,Hn,s,s,s,s,s,t);return r.placeholder=ys.placeholder,r}function xs(n,t,e){t=e?s:t;var r=jn(n,Dt,s,s,s,s,s,t);return r.placeholder=xs.placeholder,r}function Cs(n,t,e){var r,i,o,l,f,c,d=0,g=!1,_=!1,w=!0;if(typeof n!="function")throw new In(x);t=En(t)||0,z(e)&&(g=!!e.leading,_="maxWait"in e,o=_?Q(En(e.maxWait)||0,t):o,w="trailing"in e?!!e.trailing:w);function b(Y){var Bn=r,it=i;return r=i=s,d=Y,l=n.apply(it,Bn),l}function I(Y){return d=Y,f=be(F,t),g?b(Y):l}function O(Y){var Bn=Y-c,it=Y-d,ks=t-Bn;return _?rn(ks,o-it):ks}function S(Y){var Bn=Y-c,it=Y-d;return c===s||Bn>=t||Bn<0||_&&it>=o}function F(){var Y=yr();if(S(Y))return D(Y);f=be(F,O(Y))}function D(Y){return f=s,w&&r?b(Y):(r=i=s,l)}function vn(){f!==s&&Mo(f),d=0,r=c=i=f=s}function fn(){return f===s?l:D(yr())}function wn(){var Y=yr(),Bn=S(Y);if(r=arguments,i=this,c=Y,Bn){if(f===s)return I(c);if(_)return Mo(f),f=be(F,t),b(c)}return f===s&&(f=be(F,t)),l}return wn.cancel=vn,wn.flush=fn,wn}var Np=M(function(n,t){return ao(n,1,t)}),Hp=M(function(n,t,e){return ao(n,En(t)||0,e)});function Up(n){return jn(n,Dr)}function xr(n,t){if(typeof n!="function"||t!=null&&typeof t!="function")throw new In(x);var e=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=e.cache;if(o.has(i))return o.get(i);var l=n.apply(this,r);return e.cache=o.set(i,l)||o,l};return e.cache=new(xr.Cache||Qn),e}xr.Cache=Qn;function Cr(n){if(typeof n!="function")throw new In(x);return function(){var t=arguments;switch(t.length){case 0:return!n.call(this);case 1:return!n.call(this,t[0]);case 2:return!n.call(this,t[0],t[1]);case 3:return!n.call(this,t[0],t[1],t[2])}return!n.apply(this,t)}}function kp(n){return vs(2,n)}var qp=Rc(function(n,t){t=t.length==1&&L(t[0])?$(t[0],gn(A())):$(tn(t,1),gn(A()));var e=t.length;return M(function(r){for(var i=-1,o=rn(r.length,e);++i<o;)r[i]=t[i].call(this,r[i]);return dn(n,this,r)})}),Ki=M(function(n,t){var e=ft(t,Xt(Ki));return jn(n,Un,s,t,e)}),bs=M(function(n,t){var e=ft(t,Xt(bs));return jn(n,Bt,s,t,e)}),Gp=nt(function(n,t){return jn(n,ee,s,s,s,t)});function $p(n,t){if(typeof n!="function")throw new In(x);return t=t===s?t:E(t),M(n,t)}function zp(n,t){if(typeof n!="function")throw new In(x);return t=t==null?0:Q(E(t),0),M(function(e){var r=e[t],i=gt(e,0,t);return r&&lt(i,r),dn(n,this,i)})}function Kp(n,t,e){var r=!0,i=!0;if(typeof n!="function")throw new In(x);return z(e)&&(r="leading"in e?!!e.leading:r,i="trailing"in e?!!e.trailing:i),Cs(n,t,{leading:r,maxWait:t,trailing:i})}function Zp(n){return ms(n,1)}function Yp(n,t){return Ki(Ei(t),n)}function Jp(){if(!arguments.length)return[];var n=arguments[0];return L(n)?n:[n]}function Xp(n){return Tn(n,Wt)}function Qp(n,t){return t=typeof t=="function"?t:s,Tn(n,Wt,t)}function Vp(n){return Tn(n,on|Wt)}function jp(n,t){return t=typeof t=="function"?t:s,Tn(n,on|Wt,t)}function nd(n,t){return t==null||fo(n,t,nn(t))}function Dn(n,t){return n===t||n!==n&&t!==t}var td=dr(vi),ed=dr(function(n,t){return n>=t}),Mt=_o(function(){return arguments}())?_o:function(n){return K(n)&&U.call(n,"callee")&&!to.call(n,"callee")},L=h.isArray,rd=Du?gn(Du):cc;function cn(n){return n!=null&&br(n.length)&&!et(n)}function Z(n){return K(n)&&cn(n)}function id(n){return n===!0||n===!1||K(n)&&sn(n)==re}var _t=va||ru,ud=Bu?gn(Bu):hc;function od(n){return K(n)&&n.nodeType===1&&!Ae(n)}function sd(n){if(n==null)return!0;if(cn(n)&&(L(n)||typeof n=="string"||typeof n.splice=="function"||_t(n)||Qt(n)||Mt(n)))return!n.length;var t=un(n);if(t==Mn||t==Fn)return!n.size;if(Ce(n))return!xi(n).length;for(var e in n)if(U.call(n,e))return!1;return!0}function ld(n,t){return we(n,t)}function fd(n,t,e){e=typeof e=="function"?e:s;var r=e?e(n,t):s;return r===s?we(n,t,s,e):!!r}function Zi(n){if(!K(n))return!1;var t=sn(n);return t==Pe||t==Ol||typeof n.message=="string"&&typeof n.name=="string"&&!Ae(n)}function ad(n){return typeof n=="number"&&ro(n)}function et(n){if(!z(n))return!1;var t=sn(n);return t==De||t==au||t==El||t==Fl}function As(n){return typeof n=="number"&&n==E(n)}function br(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=ot}function z(n){var t=typeof n;return n!=null&&(t=="object"||t=="function")}function K(n){return n!=null&&typeof n=="object"}var Is=Nu?gn(Nu):dc;function cd(n,t){return n===t||yi(n,t,Bi(t))}function hd(n,t,e){return e=typeof e=="function"?e:s,yi(n,t,Bi(t),e)}function pd(n){return Ss(n)&&n!=+n}function dd(n){if(Qc(n))throw new R(v);return mo(n)}function gd(n){return n===null}function _d(n){return n==null}function Ss(n){return typeof n=="number"||K(n)&&sn(n)==ue}function Ae(n){if(!K(n)||sn(n)!=Jn)return!1;var t=Xe(n);if(t===null)return!0;var e=U.call(t,"constructor")&&t.constructor;return typeof e=="function"&&e instanceof e&&Ke.call(e)==ha}var Yi=Hu?gn(Hu):gc;function md(n){return As(n)&&n>=-ot&&n<=ot}var Ts=Uu?gn(Uu):_c;function Ar(n){return typeof n=="string"||!L(n)&&K(n)&&sn(n)==se}function mn(n){return typeof n=="symbol"||K(n)&&sn(n)==Be}var Qt=ku?gn(ku):mc;function vd(n){return n===s}function wd(n){return K(n)&&un(n)==le}function yd(n){return K(n)&&sn(n)==Pl}var xd=dr(Ci),Cd=dr(function(n,t){return n<=t});function Rs(n){if(!n)return[];if(cn(n))return Ar(n)?Wn(n):an(n);if(ce&&n[ce])return na(n[ce]());var t=un(n),e=t==Mn?fi:t==Fn?Ge:Vt;return e(n)}function rt(n){if(!n)return n===0?n:0;if(n=En(n),n===bt||n===-bt){var t=n<0?-1:1;return t*Sl}return n===n?n:0}function E(n){var t=rt(n),e=t%1;return t===t?e?t-e:t:0}function Ls(n){return n?Rt(E(n),0,kn):0}function En(n){if(typeof n=="number")return n;if(mn(n))return Fe;if(z(n)){var t=typeof n.valueOf=="function"?n.valueOf():n;n=z(t)?t+"":t}if(typeof n!="string")return n===0?n:+n;n=Zu(n);var e=ef.test(n);return e||uf.test(n)?Bf(n.slice(2),e?2:8):tf.test(n)?Fe:+n}function Es(n){return Gn(n,hn(n))}function bd(n){return n?Rt(E(n),-ot,ot):n===0?n:0}function H(n){return n==null?"":_n(n)}var Ad=Yt(function(n,t){if(Ce(t)||cn(t)){Gn(t,nn(t),n);return}for(var e in t)U.call(t,e)&&_e(n,e,t[e])}),Os=Yt(function(n,t){Gn(t,hn(t),n)}),Ir=Yt(function(n,t,e,r){Gn(t,hn(t),n,r)}),Id=Yt(function(n,t,e,r){Gn(t,nn(t),n,r)}),Sd=nt(gi);function Td(n,t){var e=Zt(n);return t==null?e:lo(e,t)}var Rd=M(function(n,t){n=k(n);var e=-1,r=t.length,i=r>2?t[2]:s;for(i&&ln(t[0],t[1],i)&&(r=1);++e<r;)for(var o=t[e],l=hn(o),f=-1,c=l.length;++f<c;){var d=l[f],g=n[d];(g===s||Dn(g,$t[d])&&!U.call(n,d))&&(n[d]=o[d])}return n}),Ld=M(function(n){return n.push(s,Yo),dn(Ms,s,n)});function Ed(n,t){return Gu(n,A(t,3),qn)}function Od(n,t){return Gu(n,A(t,3),mi)}function Md(n,t){return n==null?n:_i(n,A(t,3),hn)}function Fd(n,t){return n==null?n:po(n,A(t,3),hn)}function Wd(n,t){return n&&qn(n,A(t,3))}function Pd(n,t){return n&&mi(n,A(t,3))}function Dd(n){return n==null?[]:or(n,nn(n))}function Bd(n){return n==null?[]:or(n,hn(n))}function Ji(n,t,e){var r=n==null?s:Lt(n,t);return r===s?e:r}function Nd(n,t){return n!=null&&Qo(n,t,sc)}function Xi(n,t){return n!=null&&Qo(n,t,lc)}var Hd=Go(function(n,t,e){t!=null&&typeof t.toString!="function"&&(t=Ze.call(t)),n[t]=e},Vi(pn)),Ud=Go(function(n,t,e){t!=null&&typeof t.toString!="function"&&(t=Ze.call(t)),U.call(n,t)?n[t].push(e):n[t]=[e]},A),kd=M(ve);function nn(n){return cn(n)?oo(n):xi(n)}function hn(n){return cn(n)?oo(n,!0):vc(n)}function qd(n,t){var e={};return t=A(t,3),qn(n,function(r,i,o){Vn(e,t(r,i,o),r)}),e}function Gd(n,t){var e={};return t=A(t,3),qn(n,function(r,i,o){Vn(e,i,t(r,i,o))}),e}var $d=Yt(function(n,t,e){sr(n,t,e)}),Ms=Yt(function(n,t,e,r){sr(n,t,e,r)}),zd=nt(function(n,t){var e={};if(n==null)return e;var r=!1;t=$(t,function(o){return o=dt(o,n),r||(r=o.length>1),o}),Gn(n,Pi(n),e),r&&(e=Tn(e,on|su|Wt,Hc));for(var i=t.length;i--;)Ti(e,t[i]);return e});function Kd(n,t){return Fs(n,Cr(A(t)))}var Zd=nt(function(n,t){return n==null?{}:yc(n,t)});function Fs(n,t){if(n==null)return{};var e=$(Pi(n),function(r){return[r]});return t=A(t),Ao(n,e,function(r,i){return t(r,i[0])})}function Yd(n,t,e){t=dt(t,n);var r=-1,i=t.length;for(i||(i=1,n=s);++r<i;){var o=n==null?s:n[$n(t[r])];o===s&&(r=i,o=e),n=et(o)?o.call(n):o}return n}function Jd(n,t,e){return n==null?n:ye(n,t,e)}function Xd(n,t,e,r){return r=typeof r=="function"?r:s,n==null?n:ye(n,t,e,r)}var Ws=Ko(nn),Ps=Ko(hn);function Qd(n,t,e){var r=L(n),i=r||_t(n)||Qt(n);if(t=A(t,4),e==null){var o=n&&n.constructor;i?e=r?new o:[]:z(n)?e=et(o)?Zt(Xe(n)):{}:e={}}return(i?An:qn)(n,function(l,f,c){return t(e,l,f,c)}),e}function Vd(n,t){return n==null?!0:Ti(n,t)}function jd(n,t,e){return n==null?n:Lo(n,t,Ei(e))}function ng(n,t,e,r){return r=typeof r=="function"?r:s,n==null?n:Lo(n,t,Ei(e),r)}function Vt(n){return n==null?[]:li(n,nn(n))}function tg(n){return n==null?[]:li(n,hn(n))}function eg(n,t,e){return e===s&&(e=t,t=s),e!==s&&(e=En(e),e=e===e?e:0),t!==s&&(t=En(t),t=t===t?t:0),Rt(En(n),t,e)}function rg(n,t,e){return t=rt(t),e===s?(e=t,t=0):e=rt(e),n=En(n),fc(n,t,e)}function ig(n,t,e){if(e&&typeof e!="boolean"&&ln(n,t,e)&&(t=e=s),e===s&&(typeof t=="boolean"?(e=t,t=s):typeof n=="boolean"&&(e=n,n=s)),n===s&&t===s?(n=0,t=1):(n=rt(n),t===s?(t=n,n=0):t=rt(t)),n>t){var r=n;n=t,t=r}if(e||n%1||t%1){var i=io();return rn(n+i*(t-n+Df("1e-"+((i+"").length-1))),t)}return Ai(n,t)}var ug=Jt(function(n,t,e){return t=t.toLowerCase(),n+(e?Ds(t):t)});function Ds(n){return Qi(H(n).toLowerCase())}function Bs(n){return n=H(n),n&&n.replace(sf,Jf).replace(Sf,"")}function og(n,t,e){n=H(n),t=_n(t);var r=n.length;e=e===s?r:Rt(E(e),0,r);var i=e;return e-=t.length,e>=0&&n.slice(e,i)==t}function sg(n){return n=H(n),n&&Ul.test(n)?n.replace(pu,Xf):n}function lg(n){return n=H(n),n&&Kl.test(n)?n.replace(Kr,"\\$&"):n}var fg=Jt(function(n,t,e){return n+(e?"-":"")+t.toLowerCase()}),ag=Jt(function(n,t,e){return n+(e?" ":"")+t.toLowerCase()}),cg=Uo("toLowerCase");function hg(n,t,e){n=H(n),t=E(t);var r=t?Gt(n):0;if(!t||r>=t)return n;var i=(t-r)/2;return pr(nr(i),e)+n+pr(je(i),e)}function pg(n,t,e){n=H(n),t=E(t);var r=t?Gt(n):0;return t&&r<t?n+pr(t-r,e):n}function dg(n,t,e){n=H(n),t=E(t);var r=t?Gt(n):0;return t&&r<t?pr(t-r,e)+n:n}function gg(n,t,e){return e||t==null?t=0:t&&(t=+t),Ca(H(n).replace(Zr,""),t||0)}function _g(n,t,e){return(e?ln(n,t,e):t===s)?t=1:t=E(t),Ii(H(n),t)}function mg(){var n=arguments,t=H(n[0]);return n.length<3?t:t.replace(n[1],n[2])}var vg=Jt(function(n,t,e){return n+(e?"_":"")+t.toLowerCase()});function wg(n,t,e){return e&&typeof e!="number"&&ln(n,t,e)&&(t=e=s),e=e===s?kn:e>>>0,e?(n=H(n),n&&(typeof t=="string"||t!=null&&!Yi(t))&&(t=_n(t),!t&&qt(n))?gt(Wn(n),0,e):n.split(t,e)):[]}var yg=Jt(function(n,t,e){return n+(e?" ":"")+Qi(t)});function xg(n,t,e){return n=H(n),e=e==null?0:Rt(E(e),0,n.length),t=_n(t),n.slice(e,e+t.length)==t}function Cg(n,t,e){var r=u.templateSettings;e&&ln(n,t,e)&&(t=s),n=H(n),t=Ir({},t,r,Zo);var i=Ir({},t.imports,r.imports,Zo),o=nn(i),l=li(i,o),f,c,d=0,g=t.interpolate||Ne,_="__p += '",w=ai((t.escape||Ne).source+"|"+g.source+"|"+(g===du?nf:Ne).source+"|"+(t.evaluate||Ne).source+"|$","g"),b="//# sourceURL="+(U.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Of+"]")+`
4
+ `;n.replace(w,function(S,F,D,vn,fn,wn){return D||(D=vn),_+=n.slice(d,wn).replace(lf,Qf),F&&(f=!0,_+=`' +
5
+ __e(`+F+`) +
6
+ '`),fn&&(c=!0,_+=`';
7
+ `+fn+`;
8
+ __p += '`),D&&(_+=`' +
9
+ ((__t = (`+D+`)) == null ? '' : __t) +
10
+ '`),d=wn+S.length,S}),_+=`';
11
+ `;var I=U.call(t,"variable")&&t.variable;if(!I)_=`with (obj) {
12
+ `+_+`
13
+ }
14
+ `;else if(Vl.test(I))throw new R(m);_=(c?_.replace(Dl,""):_).replace(Bl,"$1").replace(Nl,"$1;"),_="function("+(I||"obj")+`) {
15
+ `+(I?"":`obj || (obj = {});
16
+ `)+"var __t, __p = ''"+(f?", __e = _.escape":"")+(c?`, __j = Array.prototype.join;
17
+ function print() { __p += __j.call(arguments, '') }
18
+ `:`;
19
+ `)+_+`return __p
20
+ }`;var O=Hs(function(){return N(o,b+"return "+_).apply(s,l)});if(O.source=_,Zi(O))throw O;return O}function bg(n){return H(n).toLowerCase()}function Ag(n){return H(n).toUpperCase()}function Ig(n,t,e){if(n=H(n),n&&(e||t===s))return Zu(n);if(!n||!(t=_n(t)))return n;var r=Wn(n),i=Wn(t),o=Yu(r,i),l=Ju(r,i)+1;return gt(r,o,l).join("")}function Sg(n,t,e){if(n=H(n),n&&(e||t===s))return n.slice(0,Qu(n)+1);if(!n||!(t=_n(t)))return n;var r=Wn(n),i=Ju(r,Wn(t))+1;return gt(r,0,i).join("")}function Tg(n,t,e){if(n=H(n),n&&(e||t===s))return n.replace(Zr,"");if(!n||!(t=_n(t)))return n;var r=Wn(n),i=Yu(r,Wn(t));return gt(r,i).join("")}function Rg(n,t){var e=yl,r=xl;if(z(t)){var i="separator"in t?t.separator:i;e="length"in t?E(t.length):e,r="omission"in t?_n(t.omission):r}n=H(n);var o=n.length;if(qt(n)){var l=Wn(n);o=l.length}if(e>=o)return n;var f=e-Gt(r);if(f<1)return r;var c=l?gt(l,0,f).join(""):n.slice(0,f);if(i===s)return c+r;if(l&&(f+=c.length-f),Yi(i)){if(n.slice(f).search(i)){var d,g=c;for(i.global||(i=ai(i.source,H(gu.exec(i))+"g")),i.lastIndex=0;d=i.exec(g);)var _=d.index;c=c.slice(0,_===s?f:_)}}else if(n.indexOf(_n(i),f)!=f){var w=c.lastIndexOf(i);w>-1&&(c=c.slice(0,w))}return c+r}function Lg(n){return n=H(n),n&&Hl.test(n)?n.replace(hu,ia):n}var Eg=Jt(function(n,t,e){return n+(e?" ":"")+t.toUpperCase()}),Qi=Uo("toUpperCase");function Ns(n,t,e){return n=H(n),t=e?s:t,t===s?jf(n)?sa(n):$f(n):n.match(t)||[]}var Hs=M(function(n,t){try{return dn(n,s,t)}catch(e){return Zi(e)?e:new R(e)}}),Og=nt(function(n,t){return An(t,function(e){e=$n(e),Vn(n,e,zi(n[e],n))}),n});function Mg(n){var t=n==null?0:n.length,e=A();return n=t?$(n,function(r){if(typeof r[1]!="function")throw new In(x);return[e(r[0]),r[1]]}):[],M(function(r){for(var i=-1;++i<t;){var o=n[i];if(dn(o[0],this,r))return dn(o[1],this,r)}})}function Fg(n){return ic(Tn(n,on))}function Vi(n){return function(){return n}}function Wg(n,t){return n==null||n!==n?t:n}var Pg=qo(),Dg=qo(!0);function pn(n){return n}function ji(n){return vo(typeof n=="function"?n:Tn(n,on))}function Bg(n){return yo(Tn(n,on))}function Ng(n,t){return xo(n,Tn(t,on))}var Hg=M(function(n,t){return function(e){return ve(e,n,t)}}),Ug=M(function(n,t){return function(e){return ve(n,e,t)}});function nu(n,t,e){var r=nn(t),i=or(t,r);e==null&&!(z(t)&&(i.length||!r.length))&&(e=t,t=n,n=this,i=or(t,nn(t)));var o=!(z(e)&&"chain"in e)||!!e.chain,l=et(n);return An(i,function(f){var c=t[f];n[f]=c,l&&(n.prototype[f]=function(){var d=this.__chain__;if(o||d){var g=n(this.__wrapped__),_=g.__actions__=an(this.__actions__);return _.push({func:c,args:arguments,thisArg:n}),g.__chain__=d,g}return c.apply(n,lt([this.value()],arguments))})}),n}function kg(){return j._===this&&(j._=pa),this}function tu(){}function qg(n){return n=E(n),M(function(t){return Co(t,n)})}var Gg=Mi($),$g=Mi(qu),zg=Mi(ri);function Us(n){return Hi(n)?ii($n(n)):xc(n)}function Kg(n){return function(t){return n==null?s:Lt(n,t)}}var Zg=$o(),Yg=$o(!0);function eu(){return[]}function ru(){return!1}function Jg(){return{}}function Xg(){return""}function Qg(){return!0}function Vg(n,t){if(n=E(n),n<1||n>ot)return[];var e=kn,r=rn(n,kn);t=A(t),n-=kn;for(var i=si(r,t);++e<n;)t(e);return i}function jg(n){return L(n)?$(n,$n):mn(n)?[n]:an(os(H(n)))}function n_(n){var t=++ca;return H(n)+t}var t_=hr(function(n,t){return n+t},0),e_=Fi("ceil"),r_=hr(function(n,t){return n/t},1),i_=Fi("floor");function u_(n){return n&&n.length?ur(n,pn,vi):s}function o_(n,t){return n&&n.length?ur(n,A(t,2),vi):s}function s_(n){return zu(n,pn)}function l_(n,t){return zu(n,A(t,2))}function f_(n){return n&&n.length?ur(n,pn,Ci):s}function a_(n,t){return n&&n.length?ur(n,A(t,2),Ci):s}var c_=hr(function(n,t){return n*t},1),h_=Fi("round"),p_=hr(function(n,t){return n-t},0);function d_(n){return n&&n.length?oi(n,pn):0}function g_(n,t){return n&&n.length?oi(n,A(t,2)):0}return u.after=Bp,u.ary=ms,u.assign=Ad,u.assignIn=Os,u.assignInWith=Ir,u.assignWith=Id,u.at=Sd,u.before=vs,u.bind=zi,u.bindAll=Og,u.bindKey=ws,u.castArray=Jp,u.chain=ds,u.chunk=ih,u.compact=uh,u.concat=oh,u.cond=Mg,u.conforms=Fg,u.constant=Vi,u.countBy=dp,u.create=Td,u.curry=ys,u.curryRight=xs,u.debounce=Cs,u.defaults=Rd,u.defaultsDeep=Ld,u.defer=Np,u.delay=Hp,u.difference=sh,u.differenceBy=lh,u.differenceWith=fh,u.drop=ah,u.dropRight=ch,u.dropRightWhile=hh,u.dropWhile=ph,u.fill=dh,u.filter=_p,u.flatMap=wp,u.flatMapDeep=yp,u.flatMapDepth=xp,u.flatten=as,u.flattenDeep=gh,u.flattenDepth=_h,u.flip=Up,u.flow=Pg,u.flowRight=Dg,u.fromPairs=mh,u.functions=Dd,u.functionsIn=Bd,u.groupBy=Cp,u.initial=wh,u.intersection=yh,u.intersectionBy=xh,u.intersectionWith=Ch,u.invert=Hd,u.invertBy=Ud,u.invokeMap=Ap,u.iteratee=ji,u.keyBy=Ip,u.keys=nn,u.keysIn=hn,u.map=wr,u.mapKeys=qd,u.mapValues=Gd,u.matches=Bg,u.matchesProperty=Ng,u.memoize=xr,u.merge=$d,u.mergeWith=Ms,u.method=Hg,u.methodOf=Ug,u.mixin=nu,u.negate=Cr,u.nthArg=qg,u.omit=zd,u.omitBy=Kd,u.once=kp,u.orderBy=Sp,u.over=Gg,u.overArgs=qp,u.overEvery=$g,u.overSome=zg,u.partial=Ki,u.partialRight=bs,u.partition=Tp,u.pick=Zd,u.pickBy=Fs,u.property=Us,u.propertyOf=Kg,u.pull=Sh,u.pullAll=hs,u.pullAllBy=Th,u.pullAllWith=Rh,u.pullAt=Lh,u.range=Zg,u.rangeRight=Yg,u.rearg=Gp,u.reject=Ep,u.remove=Eh,u.rest=$p,u.reverse=Gi,u.sampleSize=Mp,u.set=Jd,u.setWith=Xd,u.shuffle=Fp,u.slice=Oh,u.sortBy=Dp,u.sortedUniq=Nh,u.sortedUniqBy=Hh,u.split=wg,u.spread=zp,u.tail=Uh,u.take=kh,u.takeRight=qh,u.takeRightWhile=Gh,u.takeWhile=$h,u.tap=up,u.throttle=Kp,u.thru=vr,u.toArray=Rs,u.toPairs=Ws,u.toPairsIn=Ps,u.toPath=jg,u.toPlainObject=Es,u.transform=Qd,u.unary=Zp,u.union=zh,u.unionBy=Kh,u.unionWith=Zh,u.uniq=Yh,u.uniqBy=Jh,u.uniqWith=Xh,u.unset=Vd,u.unzip=$i,u.unzipWith=ps,u.update=jd,u.updateWith=ng,u.values=Vt,u.valuesIn=tg,u.without=Qh,u.words=Ns,u.wrap=Yp,u.xor=Vh,u.xorBy=jh,u.xorWith=np,u.zip=tp,u.zipObject=ep,u.zipObjectDeep=rp,u.zipWith=ip,u.entries=Ws,u.entriesIn=Ps,u.extend=Os,u.extendWith=Ir,nu(u,u),u.add=t_,u.attempt=Hs,u.camelCase=ug,u.capitalize=Ds,u.ceil=e_,u.clamp=eg,u.clone=Xp,u.cloneDeep=Vp,u.cloneDeepWith=jp,u.cloneWith=Qp,u.conformsTo=nd,u.deburr=Bs,u.defaultTo=Wg,u.divide=r_,u.endsWith=og,u.eq=Dn,u.escape=sg,u.escapeRegExp=lg,u.every=gp,u.find=mp,u.findIndex=ls,u.findKey=Ed,u.findLast=vp,u.findLastIndex=fs,u.findLastKey=Od,u.floor=i_,u.forEach=gs,u.forEachRight=_s,u.forIn=Md,u.forInRight=Fd,u.forOwn=Wd,u.forOwnRight=Pd,u.get=Ji,u.gt=td,u.gte=ed,u.has=Nd,u.hasIn=Xi,u.head=cs,u.identity=pn,u.includes=bp,u.indexOf=vh,u.inRange=rg,u.invoke=kd,u.isArguments=Mt,u.isArray=L,u.isArrayBuffer=rd,u.isArrayLike=cn,u.isArrayLikeObject=Z,u.isBoolean=id,u.isBuffer=_t,u.isDate=ud,u.isElement=od,u.isEmpty=sd,u.isEqual=ld,u.isEqualWith=fd,u.isError=Zi,u.isFinite=ad,u.isFunction=et,u.isInteger=As,u.isLength=br,u.isMap=Is,u.isMatch=cd,u.isMatchWith=hd,u.isNaN=pd,u.isNative=dd,u.isNil=_d,u.isNull=gd,u.isNumber=Ss,u.isObject=z,u.isObjectLike=K,u.isPlainObject=Ae,u.isRegExp=Yi,u.isSafeInteger=md,u.isSet=Ts,u.isString=Ar,u.isSymbol=mn,u.isTypedArray=Qt,u.isUndefined=vd,u.isWeakMap=wd,u.isWeakSet=yd,u.join=bh,u.kebabCase=fg,u.last=Ln,u.lastIndexOf=Ah,u.lowerCase=ag,u.lowerFirst=cg,u.lt=xd,u.lte=Cd,u.max=u_,u.maxBy=o_,u.mean=s_,u.meanBy=l_,u.min=f_,u.minBy=a_,u.stubArray=eu,u.stubFalse=ru,u.stubObject=Jg,u.stubString=Xg,u.stubTrue=Qg,u.multiply=c_,u.nth=Ih,u.noConflict=kg,u.noop=tu,u.now=yr,u.pad=hg,u.padEnd=pg,u.padStart=dg,u.parseInt=gg,u.random=ig,u.reduce=Rp,u.reduceRight=Lp,u.repeat=_g,u.replace=mg,u.result=Yd,u.round=h_,u.runInContext=a,u.sample=Op,u.size=Wp,u.snakeCase=vg,u.some=Pp,u.sortedIndex=Mh,u.sortedIndexBy=Fh,u.sortedIndexOf=Wh,u.sortedLastIndex=Ph,u.sortedLastIndexBy=Dh,u.sortedLastIndexOf=Bh,u.startCase=yg,u.startsWith=xg,u.subtract=p_,u.sum=d_,u.sumBy=g_,u.template=Cg,u.times=Vg,u.toFinite=rt,u.toInteger=E,u.toLength=Ls,u.toLower=bg,u.toNumber=En,u.toSafeInteger=bd,u.toString=H,u.toUpper=Ag,u.trim=Ig,u.trimEnd=Sg,u.trimStart=Tg,u.truncate=Rg,u.unescape=Lg,u.uniqueId=n_,u.upperCase=Eg,u.upperFirst=Qi,u.each=gs,u.eachRight=_s,u.first=cs,nu(u,function(){var n={};return qn(u,function(t,e){U.call(u.prototype,e)||(n[e]=t)}),n}(),{chain:!1}),u.VERSION=y,An(["bind","bindKey","curry","curryRight","partial","partialRight"],function(n){u[n].placeholder=u}),An(["drop","take"],function(n,t){W.prototype[n]=function(e){e=e===s?1:Q(E(e),0);var r=this.__filtered__&&!t?new W(this):this.clone();return r.__filtered__?r.__takeCount__=rn(e,r.__takeCount__):r.__views__.push({size:rn(e,kn),type:n+(r.__dir__<0?"Right":"")}),r},W.prototype[n+"Right"]=function(e){return this.reverse()[n](e).reverse()}}),An(["filter","map","takeWhile"],function(n,t){var e=t+1,r=e==fu||e==Il;W.prototype[n]=function(i){var o=this.clone();return o.__iteratees__.push({iteratee:A(i,3),type:e}),o.__filtered__=o.__filtered__||r,o}}),An(["head","last"],function(n,t){var e="take"+(t?"Right":"");W.prototype[n]=function(){return this[e](1).value()[0]}}),An(["initial","tail"],function(n,t){var e="drop"+(t?"":"Right");W.prototype[n]=function(){return this.__filtered__?new W(this):this[e](1)}}),W.prototype.compact=function(){return this.filter(pn)},W.prototype.find=function(n){return this.filter(n).head()},W.prototype.findLast=function(n){return this.reverse().find(n)},W.prototype.invokeMap=M(function(n,t){return typeof n=="function"?new W(this):this.map(function(e){return ve(e,n,t)})}),W.prototype.reject=function(n){return this.filter(Cr(A(n)))},W.prototype.slice=function(n,t){n=E(n);var e=this;return e.__filtered__&&(n>0||t<0)?new W(e):(n<0?e=e.takeRight(-n):n&&(e=e.drop(n)),t!==s&&(t=E(t),e=t<0?e.dropRight(-t):e.take(t-n)),e)},W.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},W.prototype.toArray=function(){return this.take(kn)},qn(W.prototype,function(n,t){var e=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),i=u[r?"take"+(t=="last"?"Right":""):t],o=r||/^find/.test(t);i&&(u.prototype[t]=function(){var l=this.__wrapped__,f=r?[1]:arguments,c=l instanceof W,d=f[0],g=c||L(l),_=function(F){var D=i.apply(u,lt([F],f));return r&&w?D[0]:D};g&&e&&typeof d=="function"&&d.length!=1&&(c=g=!1);var w=this.__chain__,b=!!this.__actions__.length,I=o&&!w,O=c&&!b;if(!o&&g){l=O?l:new W(this);var S=n.apply(l,f);return S.__actions__.push({func:vr,args:[_],thisArg:s}),new Sn(S,w)}return I&&O?n.apply(this,f):(S=this.thru(_),I?r?S.value()[0]:S.value():S)})}),An(["pop","push","shift","sort","splice","unshift"],function(n){var t=$e[n],e=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",r=/^(?:pop|shift)$/.test(n);u.prototype[n]=function(){var i=arguments;if(r&&!this.__chain__){var o=this.value();return t.apply(L(o)?o:[],i)}return this[e](function(l){return t.apply(L(l)?l:[],i)})}}),qn(W.prototype,function(n,t){var e=u[t];if(e){var r=e.name+"";U.call(Kt,r)||(Kt[r]=[]),Kt[r].push({name:t,func:e})}}),Kt[cr(s,Ct).name]=[{name:"wrapper",func:s}],W.prototype.clone=La,W.prototype.reverse=Ea,W.prototype.value=Oa,u.prototype.at=op,u.prototype.chain=sp,u.prototype.commit=lp,u.prototype.next=fp,u.prototype.plant=cp,u.prototype.reverse=hp,u.prototype.toJSON=u.prototype.valueOf=u.prototype.value=pp,u.prototype.first=u.prototype.head,ce&&(u.prototype[ce]=ap),u},at=la();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(j._=at,define(function(){return at})):At?((At.exports=at)._=at,jr._=at):j._=at}).call(te)});var Nn=m_(dl(),1);function v_(s,y){if(s&1){let T=Js();yn(0,"button",6),Xs("click",function(){Zs(T);let x=xn();return Ys(x.removeItem())}),yn(1,"span",7),Ft(2,"\xD7"),On(),yn(3,"span"),Ft(4,"Close"),On()()}if(s&2){let T=xn();Zn(T.widgetStyles().__remove_item__),V(3),Zn(T.widgetStyles().__screen_reader__)}}function w_(s,y){if(s&1&&Kn(0,"p",8),s&2){let T=xn(2);Zn(T.widgetStyles().__help_block__),J("innerHTML",T.options==null?null:T.options.helpBlock,jt)}}function y_(s,y){if(s&1&&(yn(0,"div"),wt(1,w_,1,3,"p",3),On()),s&2){let T=xn();V(),J("ngIf",T.options==null?null:T.options.helpBlock)}}function x_(s,y){if(s&1&&Kn(0,"label",8),s&2){let T,v=xn();Zn((v.options==null?null:v.options.labelHtmlClass)||""),Se("sr-only",v.options==null?null:v.options.notitle),J("innerHTML",v.options==null?null:v.options.title,jt),iu("for","control"+((T=v.layoutNode())==null?null:T._id))}}function C_(s,y){if(s&1&&(yn(0,"p")(1,"strong"),Ft(2,"*"),On(),Ft(3," = required fields "),On()),s&2){let T=xn();V(),Zn(T.widgetStyles().__required_asterisk__)}}function b_(s,y){if(s&1&&Kn(0,"span",8),s&2){let T=xn();Zn(T.widgetStyles().__field_addon_left__),J("innerHTML",T.options==null?null:T.options.fieldAddonLeft,jt)}}function A_(s,y){if(s&1&&Kn(0,"span",8),s&2){let T=xn();Zn(T.widgetStyles().__field_addon_right__),J("innerHTML",T.options==null?null:T.options.fieldAddonRight,jt)}}function I_(s,y){if(s&1&&Kn(0,"span",9),s&2){let T=xn();Se("glyphicon-ok",(T.options==null?null:T.options.enableSuccessState)&&!(T.formControl!=null&&T.formControl.errors))("glyphicon-remove",(T.options==null?null:T.options.enableErrorState)&&(T.formControl==null?null:T.formControl.errors))}}function S_(s,y){if(s&1&&Kn(0,"p",8),s&2){let T=xn(2);Zn(T.widgetStyles().__help_block__),J("innerHTML",T.options==null?null:T.options.helpBlock,jt)}}function T_(s,y){if(s&1&&(yn(0,"div"),wt(1,S_,1,3,"p",3),On()),s&2){let T=xn();V(),J("ngIf",T.options==null?null:T.options.helpBlock)}}function R_(s,y){if(s&1&&(yn(0,"div"),Ft(1,"debug: "),yn(2,"pre"),Ft(3),On()()),s&2){let T=xn();V(3),Qs(T.debugOutput)}}var Oe=(()=>{let y=class y{constructor(){this.frameworkThemeSubject=new $s,this.frameworkTheme$=this.frameworkThemeSubject.asObservable()}requestThemeChange(v){this.frameworkThemeSubject.next(v),this.activeRequestedTheme=v}getActiveRequestedTheme(){return this.activeRequestedTheme}};y.\u0275fac=function(x){return new(x||y)},y.\u0275prov=Ie({token:y,factory:y.\u0275fac,providedIn:"root"});let s=y;return s})(),ou=(()=>{let y=class y{applyCssClasses(v,x,m){let P=this.widgetStyles()[v];(!P||Nn.default.isEmpty(P))&&(P=this.widgetStyles().default),Object.keys(P).forEach(B=>{let en=P[B];en.length&&(x[B]=ut(x[B],en)),m&&(x[B]=ut(x[B],m))})}flattenWidgetStyles(v){var x={};let m=["__themes__"];return Object.keys(v).forEach(P=>{let B=v[P];if(m.indexOf(P)>=0){x[P]=B;return}Nn.default.isArray(B)&&(x[P]=B.join(" ")),Nn.default.isObject(B)&&(x[P]=x[P]||{},Object.keys(B).forEach(en=>{let on=B[en];Nn.default.isArray(on)?x[P][en]=on.join(" "):x[P][en]=on})),Nn.default.isString(B)&&(x[P]=B)}),x}constructor(){this.changeDetector=zn(Rr),this.jsf=zn(ne),this.jsfFLService=zn(Re),this.cssFWService=zn(Oe),this.frameworkInitialized=!1,this.formControl=null,this.debugOutput="",this.debug="",this.parentArray=null,this.isOrderable=!1,this.layoutNode=yt(void 0),this.layoutIndex=yt(void 0),this.dataIndex=yt(void 0),this.widgetStyles=Vs(void 0),this.defaultStyling={array:{},default:{fieldHtmlClass:"cssfw-form-control"},__themes__:[{name:"notheme",text:"None"}],__remove_item__:"cssfw-remove-item",__array_item_nonref__:{htmlClass:"cssfw-array-item-nonref"},__active__:{activeClass:"cssfw-active"},__array__:{htmlClass:"cssfw-array"},__control_label__:{labelHtmlClass:"cssfw-control-label"},__form_group__:{htmlClass:"cssfw-form-group"},__field_addon_left__:"cssfw-addon-left",__field_addon_right__:"cssfw-addon-right",__help_block__:"cssfw-help-block",__required_asterisk__:"cssfw-required-astersisk",__screen_reader__:"cssfw-screen-reader"};let v=this.cssFWService,m=this.jsfFLService.activeFramework.config||{};this.widgetStyles.set(Object.assign(this.defaultStyling,m.widgetstyles));let P=this.widgetStyles().__themes__[0],B=v.activeRequestedTheme||P.name;this.theme=this.options?.theme||B,this.frameworkThemeSubs=v.frameworkTheme$.subscribe(en=>{this.theme=en})}ngOnDestroy(){this.frameworkThemeSubs.unsubscribe(),this.frameworkThemeSubs=null}get showRemoveButton(){let v=this.layoutNode();return!this.options.removable||this.options.readonly||v.type==="$ref"?!1:v.recursiveReference?!0:!v.arrayItem||!this.parentArray||this.parentArray.items.length-1<=this.parentArray.options.minItems?!1:v.arrayItemType==="list"?!0:this.layoutIndex()[this.layoutIndex().length-1]===this.parentArray.items.length-2}ngOnInit(){this.initializeFramework();let v=this.layoutNode();v.arrayItem&&v.type!=="$ref"&&(this.parentArray=this.jsf.getParentNode(this),this.parentArray&&(this.isOrderable=v.arrayItemType==="list"&&!this.options.readonly&&this.parentArray.options.orderable))}ngOnChanges(){this.frameworkInitialized||this.initializeFramework()}initializeFramework(){let v=this.layoutNode();if(v){if(this.options=(0,Nn.cloneDeep)(v.options),this.widgetLayoutNode=Gs(qs({},v),{options:(0,Nn.cloneDeep)(v.options)}),this.widgetOptions=this.widgetLayoutNode.options,this.formControl=this.jsf.getFormControl(this),this.options.isInputWidget=tl(v.type,["button","checkbox","checkboxes-inline","checkboxes","color","date","datetime-local","datetime","email","file","hidden","image","integer","month","number","password","radio","radiobuttons","radios-inline","radios","range","reset","search","select","submit","tel","text","textarea","time","url","week"]),this.options.title=this.setTitle(),this.options.htmlClass=ut(this.options.htmlClass,"schema-form-"+v.type),v.type==="array"?this.options.htmlClass=ut(this.options.htmlClass,this.widgetStyles().__array__.htmlClass):v.arrayItem&&v.type!=="$ref"?this.options.htmlClass=ut(this.options.htmlClass,this.widgetStyles().__array_item_nonref__.htmlClass):this.options.htmlClass=ut(this.options.htmlClass,this.widgetStyles().__form_group__.htmlClass),this.widgetOptions.htmlClass="",this.options.labelHtmlClass=ut(this.options.labelHtmlClass,this.widgetStyles().__control_label__.labelHtmlClass),this.widgetOptions.activeClass=ut(this.widgetOptions.activeClass,this.widgetStyles().__active__.activeClass),this.options.fieldAddonLeft=this.options.fieldAddonLeft||this.options.prepend,this.options.fieldAddonRight=this.options.fieldAddonRight||this.options.append,this.options.title&&v.type!=="tab"&&!this.options.notitle&&this.options.required&&!this.options.title.includes("*")){let x=this.widgetStyles().__required_asterisk__||"text-danger";this.options.title+=` <strong class="${x}">*</strong>`}if(v.type=="optionfieldset"&&(this.options.messageLocation="top"),this.applyCssClasses(v.type,this.widgetOptions,this.options.style),this.formControl&&(this.updateHelpBlock(this.formControl.status),this.formControl.statusChanges.subscribe(x=>this.updateHelpBlock(x)),this.options.debug)){let x=[];this.debugOutput=(0,Nn.map)(x,m=>JSON.stringify(m,null,2)).join(`
21
+ `)}this.frameworkInitialized=!0}}updateHelpBlock(v){this.options.helpBlock=v==="INVALID"&&this.options.enableErrorState&&this.formControl.errors&&(this.formControl.dirty||this.options.feedbackOnRender)?this.jsf.formatErrors(this.formControl.errors,this.options.validationMessages):this.options.description||this.options.help||null}setTitle(){switch(this.layoutNode().type){case"button":case"checkbox":case"section":case"help":case"msg":case"submit":case"message":case"tabarray":case"tabs":case"$ref":return null;case"advancedfieldset":return this.widgetOptions.expandable=!0,this.widgetOptions.title="Advanced options",null;case"authfieldset":return this.widgetOptions.expandable=!0,this.widgetOptions.title="Authentication settings",null;case"fieldset":return this.widgetOptions.title=this.options.title,null;case"array":return this.widgetOptions.title=this.options.title,null;default:return this.widgetOptions.title=null,this.jsf.setItemTitle(this)}}removeItem(){this.jsf.removeItem(this)}};y.\u0275fac=function(x){return new(x||y)},y.\u0275cmp=Tr({type:y,selectors:[["css-framework"]],inputs:{layoutNode:[1,"layoutNode"],layoutIndex:[1,"layoutIndex"],dataIndex:[1,"dataIndex"],widgetStyles:[1,"widgetStyles"]},outputs:{widgetStyles:"widgetStylesChange"},standalone:!1,features:[Sr],decls:12,vars:24,consts:[["type","button",3,"class","click",4,"ngIf"],[4,"ngIf"],[3,"class","sr-only","innerHTML",4,"ngIf"],[3,"class","innerHTML",4,"ngIf"],[3,"layoutNode","dataIndex","layoutIndex"],["aria-hidden","true","class","form-control-feedback glyphicon",3,"glyphicon-ok","glyphicon-remove",4,"ngIf"],["type","button",3,"click"],["aria-hidden","true"],[3,"innerHTML"],["aria-hidden","true",1,"form-control-feedback","glyphicon"]],template:function(x,m){if(x&1&&(yn(0,"div"),wt(1,v_,5,4,"button",0)(2,y_,2,1,"div",1)(3,x_,1,6,"label",2)(4,C_,4,2,"p",1),yn(5,"div"),wt(6,b_,1,3,"span",3),Kn(7,"select-widget-widget",4),wt(8,A_,1,3,"span",3),On(),wt(9,I_,1,4,"span",5)(10,T_,2,1,"div",1),On(),wt(11,R_,4,1,"div",1)),x&2){let P,B,en,on;Zn((m.options==null?null:m.options.htmlClass)||""),Se("has-feedback",(m.options==null?null:m.options.feedback)&&(m.options==null?null:m.options.isInputWidget)&&((m.formControl==null?null:m.formControl.dirty)||(m.options==null?null:m.options.feedbackOnRender)))("has-error",(m.options==null?null:m.options.enableErrorState)&&(m.formControl==null?null:m.formControl.errors)&&((m.formControl==null?null:m.formControl.dirty)||(m.options==null?null:m.options.feedbackOnRender)))("has-success",(m.options==null?null:m.options.enableSuccessState)&&!(m.formControl!=null&&m.formControl.errors)&&((m.formControl==null?null:m.formControl.dirty)||(m.options==null?null:m.options.feedbackOnRender))),iu("data-bs-theme",m.theme)("data-theme",m.theme),V(),J("ngIf",m.showRemoveButton),V(),J("ngIf",(m.options==null?null:m.options.messageLocation)==="top"&&((P=m.layoutNode())==null?null:P.type)!=="array"),V(),J("ngIf",(m.options==null?null:m.options.title)&&((B=m.layoutNode())==null?null:B.type)!=="tab"&&((B=m.layoutNode())==null?null:B.type)!=="array"),V(),J("ngIf",((en=m.layoutNode())==null?null:en.type)==="submit"&&(m.jsf==null||m.jsf.formOptions==null?null:m.jsf.formOptions.fieldsRequired)),V(),Se("input-group",(m.options==null?null:m.options.fieldAddonLeft)||(m.options==null?null:m.options.fieldAddonRight)),V(),J("ngIf",m.options==null?null:m.options.fieldAddonLeft),V(),J("layoutNode",m.widgetLayoutNode)("dataIndex",m.dataIndex())("layoutIndex",m.layoutIndex()),V(),J("ngIf",m.options==null?null:m.options.fieldAddonRight),V(),J("ngIf",(m.options==null?null:m.options.feedback)&&(m.options==null?null:m.options.isInputWidget)&&!(m.options!=null&&m.options.fieldAddonRight)&&!m.layoutNode().arrayItem&&((m.formControl==null?null:m.formControl.dirty)||(m.options==null?null:m.options.feedbackOnRender))),V(),J("ngIf",(m.options==null?null:m.options.messageLocation)!=="top"&&((on=m.layoutNode())==null?null:on.type)!=="array"),V(),J("ngIf",m.debug&&m.debugOutput)}},dependencies:[el,js],styles:[`:host ::ng-deep .list-group-item .form-control-feedback{top:40px}:host ::ng-deep .checkbox,:host ::ng-deep .radio{margin-top:0;margin-bottom:0}:host ::ng-deep .checkbox-inline,:host ::ng-deep .checkbox-inline+.checkbox-inline,:host ::ng-deep .checkbox-inline+.radio-inline,:host ::ng-deep .radio-inline,:host ::ng-deep .radio-inline+.radio-inline,:host ::ng-deep .radio-inline+.checkbox-inline{margin-left:0;margin-right:10px}:host ::ng-deep .checkbox-inline:last-child,:host ::ng-deep .radio-inline:last-child{margin-right:0}:host ::ng-deep .ng-invalid.ng-touched{border:1px solid #f44336}.checkbox-inline,.checkbox-inline+.checkbox-inline,.checkbox-inline+.radio-inline,.radio-inline,.radio-inline+.radio-inline,.radio-inline+.checkbox-inline{margin-left:0;margin-right:10px}.checkbox-inline:last-child,.radio-inline:last-child{margin-right:0}.ng-invalid.ng-touched{border:1px solid #f44336}
22
+ `],encapsulation:2});let s=y;return s})(),L_=new zs("CSS_FRAMEWORK_CFG"),gl;(function(s){class y{}s.csscategories=y})(gl||(gl={}));var _l=(()=>{let y=class y{};y.\u0275fac=function(x){return new(x||y)},y.\u0275mod=vt({type:y}),y.\u0275inj=mt({providers:[ne,Re,Fr,Oe],imports:[Le,xt,Wr]});let s=y;return s})(),ml=(()=>{let y=class y extends Mr{constructor(v){super(),this.cssFWService=zn(Oe),this.name="css",this.framework=ou,this.name=v.name,this.text=v.text||this.name,this.stylesheets=v.stylesheets,this.scripts=v.scripts,this.config=v,this.widgets=v.widgets}getActiveTheme(){let v=this.cssFWService.getActiveRequestedTheme(),x=this.config?.widgetstyles?.__themes__,m=x&&x[0];if(v&&(m={name:v,text:v},x)){let P=x.filter(B=>B.name==v);m=P&&P[0]||m}return m}requestThemeChange(v){this.cssFWService.requestThemeChange(v)}registerTheme(v,x=!0){let P=(this.config?.widgetstyles?.__themes__||[]).filter(B=>v.name==B.name);if(P&&P[0]){if(x)return P[0].text=v.text,!0;if(!x)return!1}if(!P||P.length==0){let B=this.config;return B.widgetstyles=this.config.widgetstyles||{},B.widgetstyles.__themes__=B.widgetstyles.__themes__||[],B.widgetstyles.__themes__.push(v),!0}}unregisterTheme(v){let x=this.config?.widgetstyles?.__themes__,m=-1;return x&&(x.forEach((P,B)=>{v==P.name&&(m=B)}),m>=0)?(x.splice(m,1),!0):!1}getConfig(){return this.config}};y.\u0275fac=function(x){return new(x||y)(Ks(L_))},y.\u0275prov=Ie({token:y,factory:y.\u0275fac});let s=y;return s})();var O_=(()=>{let y=class y{constructor(){this.changeDetector=zn(Rr),this.jsf=zn(ne),this.frameworkInitialized=!1,this.formControl=null,this.debugOutput="",this.debug="",this.parentArray=null,this.isOrderable=!1,this.layoutNode=yt(void 0),this.layoutIndex=yt(void 0),this.dataIndex=yt(void 0)}ngOnInit(){}ngOnChanges(){}};y.\u0275fac=function(x){return new(x||y)},y.\u0275cmp=Tr({type:y,selectors:[["bootstrap-5-framework"]],inputs:{layoutNode:[1,"layoutNode"],layoutIndex:[1,"layoutIndex"],dataIndex:[1,"dataIndex"]},standalone:!1,features:[Sr],decls:2,vars:3,consts:[[3,"layoutNode","layoutIndex","dataIndex"]],template:function(x,m){x&1&&(yn(0,"div"),Kn(1,"css-framework",0),On()),x&2&&(V(),J("layoutNode",m.layoutNode())("layoutIndex",m.layoutIndex())("dataIndex",m.dataIndex()))},dependencies:[ou],styles:[`:host ::ng-deep .list-group-item .list-group-item-hb .form-control-feedback{top:40px}:host ::ng-deep .checkbox,:host ::ng-deep .radio{margin-top:0;margin-bottom:0}:host ::ng-deep .checkbox-inline,:host ::ng-deep .checkbox-inline+.checkbox-inline,:host ::ng-deep .checkbox-inline+.radio-inline,:host ::ng-deep .radio-inline,:host ::ng-deep .radio-inline+.radio-inline,:host ::ng-deep .radio-inline+.checkbox-inline{margin-left:0;margin-right:10px}:host ::ng-deep .checkbox-inline:last-child,:host ::ng-deep .radio-inline:last-child{margin-right:0}:host ::ng-deep .ng-invalid.ng-touched{border:1px solid #f44336}.input-group .form-control:first-child,.input-group-text:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-text:first-child{border-right:0}.input-group .form-control:last-child,.input-group-text:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-text:last-child{border-left:0}.input-group .form-control:not(:first-child):not(:last-child),.input-group-text:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.btn-close>span:first-child{display:none}
23
+ `],encapsulation:2});let s=y;return s})(),M_={name:"bootstrap-5",text:"Bootstrap 5",scripts:["//cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"],stylesheets:["//cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css"],widgetstyles:{__themes__:[{name:"bootstrap5_default",text:"Bootstrap5 default"},{name:"dark",text:"Dark"},{name:"light",text:"Light"}],$ref:{fieldHtmlClass:"btn float-end btn-primary"},__array_item_nonref__:{htmlClass:"list-group-item list-group-item-hb"},__form_group__:{htmlClass:"form-group"},__control_label__:{labelHtmlClass:"control-label"},__active__:{activeClass:"active"},__required_asterisk__:"text-danger",__screen_reader__:"visually-hidden",__remove_item__:"btn-close float-end",__help_block__:"help-block grey-text small",__field_addon_left__:"input-group-text",__field_addon_right__:"input-group-text","alt-date":{},"alt-datetime":{},__array__:{htmlClass:"list-group list-group-hb"},array:{},authfieldset:{},advancedfieldset:{},button:{fieldHtmlClass:"btn btn-sm btn-primary"},checkbox:{fieldHtmlClass:"checkbox"},checkboxes:{fieldHtmlClass:"checkbox"},checkboxbuttons:{fieldHtmlClass:"visually-hidden",htmlClass:"btn-group",itemLabelHtmlClass:"btn"},"checkboxes-inline":{htmlClass:"checkbox",itemLabelHtmlClass:"checkbox-inline"},date:{},"datetime-local":{},fieldset:{},integer:{},number:{},optionfieldset:{},password:{},radiobuttons:{fieldHtmlClass:"visually-hidden",htmlClass:"btn-group",itemLabelHtmlClass:"btn"},radio:{fieldHtmlClass:"radio"},radios:{fieldHtmlClass:"radio"},"radios-inline":{htmlClass:"radio",itemLabelHtmlClass:"radio-inline"},range:{},section:{},selectfieldset:{},select:{},submit:{fieldHtmlClass:"btn btn-primary"},text:{},tabs:{labelHtmlClass:"nav nav-tabs",htmlClass:"tab-content",fieldHtmlClass:"tab-pane"},tabarray:{labelHtmlClass:"nav nav-tabs",htmlClass:"tab-content",fieldHtmlClass:"tab-pane"},textarea:{},default:{fieldHtmlClass:"form-control"}}},F_=(()=>{let y=class y extends ml{constructor(){let v=zn(Oe);super(M_),this.framework=O_,this.cssFWService=v}};y.\u0275fac=function(x){return new(x||y)},y.\u0275prov=Ie({token:y,factory:y.\u0275fac});let s=y;return s})(),vl=(()=>{let y=class y{};y.\u0275fac=function(x){return new(x||y)},y.\u0275mod=vt({type:y}),y.\u0275inj=mt({providers:[ne,Re,Fr,{provide:Mr,useClass:F_,multi:!0}],imports:[Le,xt,Wr,_l,Le]});let s=y;return s})();var wl=(()=>{class s{static \u0275fac=function(v){return new(v||s)};static \u0275mod=vt({type:s});static \u0275inj=mt({providers:[il],imports:[xt,Te,Lr,Er,Or.forChild(),vl,Pr,rl]})}return s})();var q0=(()=>{class s{static \u0275fac=function(v){return new(v||s)};static \u0275mod=vt({type:s});static \u0275inj=mt({providers:[hl],imports:[xt,Lr,Er,Or.forChild(),Te,Pr,nl,Te,wl,al,ul,cl,fl,sl,ol,ll,pl]})}return s})();export{q0 as a};
@@ -0,0 +1 @@
1
+ import{a as vi,b as xi}from"./chunk-WUXDJZ6X.js";import{a as Ci,n as bi,w as R}from"./chunk-XEKVGY7L.js";import{a as E}from"./chunk-6XANA56B.js";import{a as hi}from"./chunk-S6UXXPGF.js";import{a as _i}from"./chunk-IMPGSXGE.js";import{h as ri,i as si,j as di,k as pi,l as ci,m as ui,n as H,t as gi}from"./chunk-2NQ5FYSH.js";import{A as li,c as X,e as Y,f as Z,g as ii,j as ei,m as ni,p as ti,q as oi,z as ai}from"./chunk-5NG7YGKN.js";import{a as mi,d as fi}from"./chunk-JBQX4JBH.js";import{a as U}from"./chunk-C32K5CAV.js";import{b as j}from"./chunk-YIVNLLSL.js";import{k as A,n as F}from"./chunk-A5UYRXPM.js";import{a as N,b as $}from"./chunk-555LSHXI.js";import{$a as t,Ac as s,Bc as g,Cc as D,Gb as B,Hb as d,Ib as p,Kb as L,Lb as G,Mb as W,Nb as x,Ob as a,Pb as l,Qb as c,Ub as b,Xa as O,Xb as _,Ya as I,Yb as u,bd as T,ed as K,h as S,id as Q,jc as f,kc as P,la as w,lb as V,lc as v,ra as C,sa as h,w as k,wc as M,xc as y,yc as J}from"./chunk-W6X46MTW.js";var ki=(n,r)=>({"orange-text":n,"grey-text":r}),z=n=>({opacity:n}),Ii=(n,r)=>({"green-text":n,"grey-text":r}),Vi=(n,r)=>({"purple-text":n,"grey-text":r}),Ti=(n,r)=>({scopedLink:n,verifiedLink:r});function $i(n,r){n&1&&(a(0,"h6",18),f(1),s(2,"translate"),l(),a(3,"p",19),f(4),s(5,"translate"),l(),a(6,"p",19),f(7),s(8,"translate"),l()),n&2&&(t(),P(g(2,3,"plugins.manage.scoped_subtitle")),t(3),P(g(5,5,"plugins.manage.scoped_message")),t(3),P(g(8,7,"plugins.manage.verified_message")))}function Ei(n,r){n&1&&(a(0,"h6",18),f(1),s(2,"translate"),l(),a(3,"p",19),f(4),s(5,"translate"),l()),n&2&&(t(),P(g(2,2,"plugins.manage.verified_subtitle")),t(3),P(g(5,4,"plugins.manage.verified_message")))}function Mi(n,r){n&1&&(a(0,"h6",18),f(1),s(2,"translate"),l(),a(3,"p",19),f(4),s(5,"translate"),l()),n&2&&(t(),P(g(2,2,"plugins.manage.unverified_subtitle")),t(3),P(g(5,4,"plugins.manage.unverified_message")))}function Di(n,r){if(n&1){let e=b();a(0,"button",20),_("click",function(){C(e);let i=u();return h(i.$activeModal.dismiss("Dismiss"))}),f(1),s(2,"translate"),l()}n&2&&(t(),v(" ",g(2,1,"form.button_close")," "))}function Hi(n,r){if(n&1){let e=b();a(0,"button",20),_("click",function(){C(e);let i=u();return h(i.$activeModal.dismiss("Dismiss"))}),f(1),s(2,"translate"),l()}n&2&&(t(),v(" ",g(2,1,"form.button_close")," "))}function Ni(n,r){if(n&1&&(a(0,"a",17),f(1),s(2,"translate"),c(3,"i",21),l()),n&2){let e=u();x("href",e.plugin.links.homepage||e.plugin.links.npm,I),t(),v(" ",g(2,2,"plugins.button_homepage")," ")}}var Pi=(()=>{class n{$activeModal=w(ui);plugin;defaultIcon="assets/hb-icon.png";linkScoped='<a href="https://github.com/homebridge/plugins/wiki/Scoped-Plugins" target="_blank"><i class="fas fa-fw fa-external-link-alt primary-text"></i></a>';linkVerified='<a href="https://github.com/homebridge/plugins/wiki/Verified-Plugins" target="_blank"><i class="fas fa-fw fa-external-link-alt primary-text"></i></a>';constructor(){}ngOnInit(){this.plugin.icon||(this.plugin.icon=this.defaultIcon)}handleIconError(){this.plugin.icon=this.defaultIcon}static \u0275fac=function(o){return new(o||n)};static \u0275cmp=V({type:n,selectors:[["ng-component"]],inputs:{plugin:"plugin"},decls:32,vars:45,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center"],["alt","Plugin Icon",1,"mb-3","plugin-icon-card",3,"error","src"],[1,"mb-1"],[1,"grey-text","mb-0","font-monospace"],[1,"grey-text","mb-1","font-monospace"],[1,"mb-3"],[1,"fas","fa-fw","fa-shield-alt","mb-3",2,"font-size","48px",3,"ngClass","ngStyle"],[1,"mb-0","grey-text",3,"innerHTML"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-end"],["target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","text-decoration-none",3,"href"],[1,"mb-2"],[1,"mb-1","grey-text"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"fas","fa-fw","fa-external-link-alt"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),f(3),s(4,"translate"),l(),a(5,"button",3),s(6,"translate"),_("click",function(){return i.$activeModal.dismiss("Dismiss")}),l()(),a(7,"div",4)(8,"img",5),_("error",function(){return i.handleIconError()}),l(),a(9,"h4",6),f(10),l(),a(11,"p",7),f(12),l(),a(13,"p",8),f(14),l(),a(15,"p",9),f(16),l(),c(17,"i",10)(18,"i",10)(19,"i",10),d(20,$i,9,9),d(21,Ei,6,6),d(22,Mi,6,6),c(23,"p",11),s(24,"translate"),l(),a(25,"div",12)(26,"div",13),d(27,Di,3,3,"button",14),l(),a(28,"div",15),d(29,Hi,3,3,"button",14),l(),a(30,"div",16),d(31,Ni,4,4,"a",17),l()()()),o&2&&(t(3),P(g(4,20,"plugins.manage.information")),t(2),B("aria-label",g(6,22,"form.button_close")),t(3),x("src",i.plugin.icon,I),t(2),P(i.plugin.displayName),t(2),P(i.plugin.name),t(2),v("@",i.plugin.author),t(2),P(i.plugin.description),t(),x("ngClass",y(27,ki,!i.plugin.verifiedPlugin&&!i.plugin.verifiedPlusPlugin,i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin))("ngStyle",M(30,z,!i.plugin.verifiedPlugin&&!i.plugin.verifiedPlusPlugin?1:.25)),t(),x("ngClass",y(32,Ii,!i.plugin.isHbScoped&&(i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin),i.plugin.isHbScoped||!i.plugin.verifiedPlugin&&!i.plugin.verifiedPlusPlugin))("ngStyle",M(35,z,!i.plugin.isHbScoped&&(i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin)?1:.25)),t(),x("ngClass",y(37,Vi,i.plugin.isHbScoped,!i.plugin.isHbScoped))("ngStyle",M(40,z,i.plugin.isHbScoped?1:.25)),t(),p(i.plugin.isHbScoped?20:-1),t(),p(!i.plugin.isHbScoped&&(i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin)?21:-1),t(),p(!i.plugin.verifiedPlugin&&!i.plugin.verifiedPlusPlugin?22:-1),t(),x("innerHTML",D(24,24,"plugins.manage.more_info",y(42,Ti,i.linkScoped,i.linkVerified)),O),t(4),p(i.plugin.links.homepage||i.plugin.links.npm?27:-1),t(2),p(!i.plugin.links.homepage&&!i.plugin.links.npm?29:-1),t(2),p(i.plugin.links.homepage||i.plugin.links.npm?31:-1))},dependencies:[$,T,K],styles:[".plugin-icon[_ngcontent-%COMP%]{height:75px;width:75px;border-radius:15px;border:1px solid #222222}"]})}return n})();var Ai=(n,r,e)=>({"purple-text":n,"green-text":r,"orange-text":e}),Fi=(n,r)=>({"fa-bridge-circle-exclamation orange-text":n,"fa-bridge-circle-xmark red-text":r});function ji(n,r){if(n&1){let e=b();a(0,"a",23),s(1,"translate"),s(2,"translate"),_("click",function(){C(e);let i=u();return h(i.$plugin.checkAndUpdatePlugin(i.plugin,i.plugin.latestVersion))}),c(3,"i",24),l()}n&2&&(x("ngbTooltip",g(1,2,"plugins.button_update")),B("aria-label",g(2,4,"plugins.button_update")))}function Ui(n,r){if(n&1){let e=b();a(0,"a",23),s(1,"translate"),s(2,"translate"),_("click",function(){C(e);let i=u();return h(i.$plugin.switchToScoped(i.plugin))}),c(3,"i",25),l()}n&2&&(x("ngbTooltip",g(1,2,"plugins.manage.scoped.switch")),B("aria-label",g(2,4,"plugins.manage.scoped.switch")))}function Ri(n,r){if(n&1){let e=b();a(0,"a",23),s(1,"translate"),s(2,"translate"),_("click",function(){C(e);let i=u();return h(i.$plugin.settings(i.plugin))}),c(3,"i",26),l()}n&2&&(x("ngbTooltip",g(1,2,"plugins.button_set_up")),B("aria-label",g(2,4,"plugins.button_set_up")))}function zi(n,r){if(n&1){let e=b();a(0,"a",23),s(1,"translate"),s(2,"translate"),_("click",function(){C(e);let i=u();return h(i.$plugin.bridgeSettings(i.plugin))}),c(3,"i",27),l()}n&2&&(x("ngbTooltip",g(1,2,"child_bridge.setup")),B("aria-label",g(2,4,"child_bridge.setup")))}function qi(n,r){if(n&1){let e=b();a(0,"a",23),s(1,"translate"),s(2,"translate"),_("click",function(){C(e);let i=u();return h(i.$plugin.bridgeSettings(i.plugin))}),c(3,"i",28),l()}n&2&&(x("ngbTooltip",g(1,2,"child_bridge.bridge_connect")),B("aria-label",g(2,4,"child_bridge.bridge_connect")))}function Oi(n,r){if(n&1&&c(0,"i",12),n&2){let e=u();x("ngClass",y(1,Fi,e.childBridgeStatus==="pending",e.childBridgeStatus==="down"))}}function Li(n,r){if(n&1){let e=b();a(0,"a",14),_("click",function(){C(e);let i=u();return h(i.openFundingModal(i.plugin))}),c(1,"i",29),a(2,"span",16),f(3),l()()}if(n&2){let e=u();t(3),v("@",e.plugin.author)}}function Gi(n,r){if(n&1&&(a(0,"span",16),c(1,"i",30),f(2),l()),n&2){let e=u();t(2),v("@",e.plugin.author," ")}}function Wi(n,r){if(n&1&&(a(0,"span"),f(1),s(2,"date"),l()),n&2){let e=u(2);t(),v("(",D(2,1,e.plugin.lastUpdated,"yyyy-MM-dd"),")")}}function Ji(n,r){if(n&1&&(a(0,"span"),c(1,"i",31),a(2,"span",16),f(3),d(4,Wi,3,4,"span"),l()()),n&2){let e=u();t(3),v("v",e.plugin.latestVersion," "),t(),p(e.plugin.lastUpdated?4:-1)}}function Ki(n,r){if(n&1&&(c(0,"i",32),f(1)),n&2){let e=u();t(),v("v",e.plugin.installedVersion," ")}}function Qi(n,r){if(n&1){let e=b();a(0,"a",23),s(1,"translate"),_("click",function(){C(e);let i=u();return h(i.doChildBridgeAction("restart"))}),c(2,"i",33),l()}if(n&2){let e=u();x("ngbTooltip",g(1,1,e.setChildBridges.length>1?"child_bridge.restart_plural":"child_bridge.restart"))}}function Xi(n,r){if(n&1){let e=b();a(0,"a",34),_("click",function(){C(e);let i=u();return h(i.enablePlugin(i.plugin))}),c(1,"i",35),s(2,"translate"),l()}n&2&&(t(),x("ngbTooltip",g(2,1,"plugins.status_disabled")))}function Yi(n,r){if(n&1){let e=b();a(0,"a",36),_("click",function(){C(e);let i=u();return h(i.$plugin.installAlternateVersion(i.plugin))}),c(1,"i",37),l()}}function Zi(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=u(2);return h(i.viewPluginLog(i.plugin))}),c(1,"i",46),f(2),s(3,"translate"),l()}n&2&&(t(2),v(" ",g(3,1,"plugins.manage.plugin_logs")," "))}function ie(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=u(2);return h(i.$plugin.installAlternateVersion(i.plugin))}),c(1,"i",47),f(2),s(3,"translate"),l()}n&2&&(t(2),v(" ",g(3,1,"plugins.manage.manage_version")," "))}function ee(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=u(2);return h(i.$plugin.jsonEditor(i.plugin))}),c(1,"i",48),f(2),s(3,"translate"),l()}n&2&&(t(2),v(" ",g(3,1,"plugins.manage.json_config")," "))}function ne(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=u(2);return h(i.disablePlugin(i.plugin))}),c(1,"i",49),f(2),s(3,"translate"),l()}n&2&&(t(2),v(" ",g(3,1,"plugins.manage.disable")," "))}function te(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=u(2);return h(i.enablePlugin(i.plugin))}),c(1,"i",50),f(2),s(3,"translate"),l()}n&2&&(t(2),v(" ",g(3,1,"plugins.manage.enable")," "))}function oe(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=u(2);return h(i.$plugin.uninstallPlugin(i.plugin,i.setChildBridges))}),c(1,"i",51),f(2),s(3,"translate"),l()}n&2&&(t(2),v(" ",g(3,1,"plugins.button_uninstall")," "))}function ae(n,r){n&1&&c(0,"div",44)}function le(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=u(3);return h(i.doChildBridgeAction("restart"))}),c(1,"i",53),f(2),s(3,"translate"),l()}if(n&2){let e=u(3);t(2),v(" ",g(3,1,e.setChildBridges.length>1?"child_bridge.restart_plural":"child_bridge.restart")," ")}}function re(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=u(3);return h(i.doChildBridgeAction("stop"))}),c(1,"i",54),f(2),s(3,"translate"),l()}if(n&2){let e=u(3);t(2),v(" ",g(3,1,e.setChildBridges.length>1?"child_bridge.stop_plural":"child_bridge.stop")," ")}}function se(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=u(3);return h(i.doChildBridgeAction("start"))}),c(1,"i",55),f(2),s(3,"translate"),l()}if(n&2){let e=u(3);t(2),v(" ",g(3,1,e.setChildBridges.length>1?"child_bridge.start_plural":"child_bridge.start")," ")}}function de(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=u(3);return h(i.$plugin.resetChildBridges(i.setChildBridges))}),c(1,"i",56),f(2),s(3,"translate"),l()}n&2&&(t(2),v(" ",g(3,1,"child_bridge.reset_accessories")," "))}function pe(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=u(2);return h(i.$plugin.bridgeSettings(i.plugin))}),c(1,"i",52),f(2),s(3,"translate"),l(),d(4,le,4,3,"button",43),d(5,re,4,3,"button",43),d(6,se,4,3,"button",43),d(7,de,4,3,"button",43)}if(n&2){let e=u(2);t(2),v(" ",g(3,5,"child_bridge.bridge_settings")," "),t(2),p(e.childBridgeRestartInProgress?-1:4),t(),p(e.allChildBridgesStopped?-1:5),t(),p(e.allChildBridgesStopped?6:-1),t(),p(e.$settings.env.serviceMode?7:-1)}}function ce(n,r){n&1&&c(0,"div",44)}function ue(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=u(2);return h(i.$plugin.bridgeSettings(i.plugin))}),c(1,"i",57),f(2),s(3,"translate"),l()}n&2&&(t(2),v(" ",g(3,1,"child_bridge.setup")," "))}function ge(n,r){n&1&&c(0,"div",44)}function me(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=u(2);return h(i.$plugin.bridgeSettings(i.plugin))}),c(1,"i",57),f(2),s(3,"translate"),l()}n&2&&(t(2),v(" ",g(3,1,"child_bridge.setup")," "))}function fe(n,r){n&1&&c(0,"div",44)}function _e(n,r){if(n&1&&(a(0,"a",45),c(1,"i",58),f(2),s(3,"translate"),l()),n&2){let e=u(2);x("href",e.plugin.links.bugs,I),t(2),v(" ",g(3,2,"support.links.issue")," ")}}function Ce(n,r){if(n&1){let e=b();a(0,"span",22)(1,"a",38),c(2,"i",39),l(),a(3,"div",40)(4,"button",41),_("click",function(){C(e);let i=u();return h(i.$plugin.settings(i.plugin))}),c(5,"i",42),f(6),s(7,"translate"),l(),d(8,Zi,4,3,"button",43),d(9,ie,4,3,"button",43),d(10,ee,4,3,"button",43),d(11,ne,4,3,"button",43),d(12,te,4,3,"button",43),d(13,oe,4,3,"button",43),d(14,ae,1,0,"div",44),d(15,pe,8,7),d(16,ce,1,0,"div",44),d(17,ue,4,3,"button",43),d(18,ge,1,0,"div",44),d(19,me,4,3,"button",43),d(20,fe,1,0,"div",44),d(21,_e,4,4,"a",45),l()()}if(n&2){let e=u();t(),B("aria-label","Plugin Actions Dropdown"),t(5),v(" ",g(7,16,"plugins.button_settings")," "),t(2),p(e.plugin.isConfigured&&!e.plugin.disabled?8:-1),t(),p(e.plugin.publicPackage?9:-1),t(),p(!e.isMobile&&e.plugin.name!=="homebridge-config-ui-x"?10:-1),t(),p(e.plugin.name!=="homebridge-config-ui-x"&&!e.plugin.disabled?11:-1),t(),p(e.plugin.name!=="homebridge-config-ui-x"&&e.plugin.disabled?12:-1),t(),p(e.plugin.name!=="homebridge-config-ui-x"?13:-1),t(),p(!e.plugin.disabled&&e.plugin.isConfigured&&e.plugin.hasChildBridges&&e.plugin.installedVersion&&e.plugin.name!=="homebridge-config-ui-x"?14:-1),t(),p(e.plugin.hasChildBridges&&!e.plugin.disabled?15:-1),t(),p(e.plugin.isConfigured&&!e.plugin.hasChildBridges&&!e.plugin.disabled&&!e.plugin.recommendChildBridge?16:-1),t(),p(e.plugin.isConfigured&&!e.plugin.hasChildBridges&&!e.plugin.disabled&&!e.plugin.recommendChildBridge?17:-1),t(),p(e.plugin.isConfigured&&!e.plugin.hasChildBridges&&!e.plugin.disabled&&e.plugin.recommendChildBridge&&e.plugin.updateAvailable?18:-1),t(),p(e.plugin.isConfigured&&!e.plugin.hasChildBridges&&!e.plugin.disabled&&e.plugin.recommendChildBridge&&e.plugin.updateAvailable?19:-1),t(),p(e.plugin.links!=null&&e.plugin.links.bugs?20:-1),t(),p(e.plugin.links!=null&&e.plugin.links.bugs?21:-1)}}var Si=(()=>{class n{$api=w(F);$md=w(hi);$modal=w(H);$plugin=w(R);$settings=w(j);$toastr=w(A);$translate=w(N);$ws=w(U);plugin;hasChildBridges=!1;hasUnpairedChildBridges=!1;allChildBridgesStopped=!1;childBridgeStatus="pending";childBridgeRestartInProgress=!1;defaultIcon="assets/hb-icon.png";isMobile;setChildBridges=[];hb2Status="unknown";io;constructor(){}set childBridges(e){this.hasChildBridges=e.length>0,this.hasUnpairedChildBridges=e.filter(m=>m.paired===!1).length>0,this.allChildBridgesStopped=e.filter(m=>m.manuallyStopped===!0).length===e.length,this.hasChildBridges&&(e.some(m=>m.status==="down")?this.childBridgeStatus="down":e.some(m=>m.status==="pending")?this.childBridgeStatus="pending":e.some(m=>m.status==="ok")&&(this.childBridgeStatus="ok")),this.setChildBridges=e;let o=this.$settings.env.homebridgeVersion.split(".")[0],i=this.plugin.engines?.homebridge?.split("||").map(m=>m.trim())||[];this.hb2Status=o==="2"?"hide":i.some(m=>m.startsWith("^2")||m.startsWith(">=2"))?"supported":this.hb2Status}ngOnInit(){this.isMobile=this.$md.detect.mobile(),this.io=this.$ws.getExistingNamespace("child-bridges"),this.isMobile&&this.plugin.displayName.toLowerCase().startsWith("homebridge ")&&(this.plugin.displayName=this.plugin.displayName.replace(/^homebridge /i,"")),this.plugin.icon||(this.plugin.icon=this.defaultIcon)}openFundingModal(e){let o=this.$modal.open(xi,{size:"lg",backdrop:"static"});o.componentInstance.plugin=e}pluginInfoModal(e){let o=this.$modal.open(Pi,{size:"lg",backdrop:"static"});o.componentInstance.plugin=e}disablePlugin(e){let o=this.$modal.open(vi,{size:"lg",backdrop:"static"});o.componentInstance.pluginName=e.displayName,o.componentInstance.isConfigured=e.isConfigured,o.componentInstance.isConfiguredDynamicPlatform=e.isConfiguredDynamicPlatform,o.result.then(()=>S(this,null,function*(){try{yield k(this.$api.put(`/config-editor/plugin/${encodeURIComponent(e.name)}/disable`,{})),e.disabled=!0,this.hasChildBridges&&this.doChildBridgeAction("stop"),this.$modal.open(E,{size:"lg",backdrop:"static"})}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("plugins.disable.error"),this.$translate.instant("toast.title_error"))}}))}enablePlugin(e){let o=this.$modal.open(_i,{size:"lg",backdrop:"static"});o.componentInstance.title=e.name,o.componentInstance.message=this.$translate.instant("plugins.manage.confirm_enable",{pluginName:e.displayName}),o.componentInstance.confirmButtonLabel=this.$translate.instant("plugins.manage.enable"),o.componentInstance.faIconClass="fa-circle-play primary-text",o.result.then(()=>S(this,null,function*(){try{yield k(this.$api.put(`/config-editor/plugin/${encodeURIComponent(e.name)}/enable`,{})),e.disabled=!1,this.hasChildBridges&&(yield this.doChildBridgeAction("start")),this.$modal.open(E,{size:"lg",backdrop:"static"})}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("plugins.enable.error"),this.$translate.instant("toast.title_error"))}}))}viewPluginLog(e){let o=this.$modal.open(bi,{size:"xl",backdrop:"static"});o.componentInstance.plugin=e}doChildBridgeAction(e){return S(this,null,function*(){this.childBridgeRestartInProgress=!0;try{for(let o of this.setChildBridges)yield k(this.io.request(`${e}-child-bridge`,o.username))}catch(o){console.error(o),this.$toastr.error(this.$translate.instant("plugins.bridge.action_error",{action:e}),this.$translate.instant("toast.title_error")),this.childBridgeRestartInProgress=!1}finally{setTimeout(()=>{this.childBridgeRestartInProgress=!1},e==="restart"?12e3:e==="stop"?6e3:1e3)}})}handleIconError(){this.plugin.icon=this.defaultIcon}static \u0275fac=function(o){return new(o||n)};static \u0275cmp=V({type:n,selectors:[["app-plugin-card"]],inputs:{plugin:"plugin",childBridges:"childBridges"},decls:35,vars:23,consts:[[1,"card","card-body","mb-3"],[1,"d-flex","flex-row","justify-content-between"],[1,"d-flex","flex-column","me-3","align-items-center","justify-content-between"],["alt","Plugin Icon",1,"plugin-icon-card","mb-3",3,"error","src"],[1,"d-flex","flex-column","justify-content-between",2,"min-width","calc(100% - 80px)"],[1,"d-flex","flex-row","align-items-end"],[1,"d-flex","flex-column","w-100"],[1,"d-flex","flex-row"],[1,"card-title","mb-2","text-truncate"],[1,"ms-auto"],["href","javascript:void(0)","container","body","openDelay","150","triggers","hover",1,"card-link",3,"ngbTooltip"],[1,"fas","fa-fw","fa-spinner","fa-pulse","fa-lg","grey-text","ms-3",3,"hidden"],[1,"fas","fa-fw","fa-lg","ms-3",3,"ngClass"],[1,"card-text","mb-2","text-truncate"],["href","javascript:void(0)",1,"card-link",3,"click"],[1,"fas","fa-fw","fa-shield-alt","fa-lg","me-1",3,"ngClass"],[1,"grey-text"],[1,"card-text","mb-2"],["href","javascript:void(0)",1,"card-link"],[1,"card-text","mb-0","grey-text"],["href","javascript:void(0)",1,"card-link","red-text"],["href","javascript:void(0)"],["ngbDropdown","","placement","left",1,"d-inline-block","ms-3","mt-auto"],["href","javascript:void(0)","container","body","openDelay","150","triggers","hover",1,"card-link",3,"click","ngbTooltip"],[1,"far","fa-fw","fa-arrow-alt-circle-up","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-fw","fa-arrow-right-arrow-left","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-fw","fa-sliders","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"icon-button","fas","fa-fw","fa-bridge","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"icon-button","fas","fa-fw","fa-qrcode","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-fw","fa-heart","fa-lg","me-1","pink-text"],[1,"fas","fa-fw","fa-heart","fa-lg","me-1",2,"opacity","0.5"],[1,"far","fa-fw","fa-circle-dot","fa-lg","me-1"],[1,"far","fa-fw","fa-circle-check","fa-lg","me-1"],[1,"fas","fa-fw","fa-lg","fa-power-off","ms-3"],["href","javascript:void(0)",1,"card-link","red-text",3,"click"],["container","body","openDelay","150","triggers","hover",1,"far","fa-fw","fa-pause-circle","fa-lg",3,"ngbTooltip"],["href","javascript:void(0)",3,"click"],[1,"far","fa-fw","fa-arrow-alt-circle-down","fa-lg"],["href","javascript:void(0)","ngbDropdownToggle","",1,"card-link","text-decoration-none","mt-auto",2,"outline","none"],[1,"fa-solid","fa-fw","fa-ellipsis-v","fa-lg"],["ngbDropdownMenu","","aria-labelledby","Plugin Actions Dropdown"],["ngbDropdownItem","",3,"click"],[1,"fas","fa-fw","fa-sliders"],["ngbDropdownItem",""],[1,"dropdown-divider"],["ngbDropdownItem","","rel","noopener noreferrer","target","_blank",3,"href"],[1,"fas","fa-fw","fa-wave-square"],[1,"fas","fa-fw","fa-code-compare"],[1,"fas","fa-fw","fa-code"],[1,"far","fa-fw","fa-circle-pause"],[1,"far","fa-fw","fa-circle-play"],[1,"fas","fa-fw","fa-trash"],[1,"fas","fa-fw","fa-bridge"],[1,"fa-fw","icon-button","fas","fa-fw","fa-power-off"],[1,"fas","fa-fw","fa-stop"],[1,"fas","fa-fw","fa-play"],[1,"fas","fa-fw","fa-broom"],[1,"icon-button","fas","fa-fw","fa-bridge"],[1,"icon-button","fa","fa-fw","fa-question-circle-o"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1)(2,"div",2)(3,"img",3),_("error",function(){return i.handleIconError()}),l()(),a(4,"div",4)(5,"div",5)(6,"div",6)(7,"div",7)(8,"h5",8),f(9),l(),a(10,"div",9),d(11,ji,4,6,"a",10),d(12,Ui,4,6,"a",10),d(13,Ri,4,6,"a",10),d(14,zi,4,6,"a",10),d(15,qi,4,6,"a",10),c(16,"i",11),d(17,Oi,1,4,"i",12),l()(),a(18,"p",13)(19,"a",14),_("click",function(){return i.pluginInfoModal(i.plugin)}),c(20,"i",15),a(21,"span",16),f(22),l()()(),a(23,"p",17),d(24,Li,4,1,"a",18),d(25,Gi,3,1,"span",16),l(),a(26,"div",7)(27,"p",19),d(28,Ji,5,2,"span"),d(29,Ki,2,1),l(),a(30,"div",9),d(31,Qi,3,3,"a",10),d(32,Xi,3,3,"a",20),d(33,Yi,2,0,"a",21),d(34,Ce,22,18,"span",22),l()()()()()()()),o&2&&(t(3),x("src",i.plugin.icon,I),t(6),P(i.plugin.displayName),t(2),p(i.plugin.installedVersion&&i.plugin.updateAvailable&&!i.childBridgeRestartInProgress?11:-1),t(),p(i.plugin.installedVersion&&(i.plugin.newHbScope==null?null:i.plugin.newHbScope.switch)===i.plugin.installedVersion&&!i.childBridgeRestartInProgress?12:-1),t(),p(i.plugin.installedVersion&&(!i.plugin.newHbScope||i.plugin.newHbScope.switch!==i.plugin.installedVersion)&&!i.plugin.updateAvailable&&!i.plugin.isConfigured&&!i.childBridgeRestartInProgress&&!i.plugin.disabled?13:-1),t(),p(i.plugin.installedVersion&&(!i.plugin.newHbScope||i.plugin.newHbScope.switch!==i.plugin.installedVersion)&&!i.plugin.updateAvailable&&i.plugin.isConfigured&&!i.plugin.hasChildBridges&&!i.plugin.disabled&&i.plugin.recommendChildBridge&&!i.childBridgeRestartInProgress?14:-1),t(),p(i.plugin.installedVersion&&(!i.plugin.newHbScope||i.plugin.newHbScope.switch!==i.plugin.installedVersion)&&!i.plugin.updateAvailable&&i.plugin.isConfigured&&i.plugin.hasChildBridges&&!i.childBridgeRestartInProgress&&i.hasUnpairedChildBridges&&i.childBridgeStatus==="ok"&&!i.plugin.disabled?15:-1),t(),x("hidden",!i.childBridgeRestartInProgress),t(),p(i.plugin.installedVersion&&(!i.plugin.newHbScope||i.plugin.newHbScope.switch!==i.plugin.installedVersion)&&!i.plugin.updateAvailable&&i.plugin.isConfigured&&i.plugin.hasChildBridges&&!i.childBridgeRestartInProgress&&!i.hasUnpairedChildBridges&&i.childBridgeStatus!=="ok"&&!i.plugin.disabled?17:-1),t(3),x("ngClass",J(19,Ai,i.plugin.isHbScoped,!i.plugin.isHbScoped&&(i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin),!i.plugin.isHbScoped&&!i.plugin.verifiedPlugin&&!i.plugin.verifiedPlusPlugin)),t(2),P(i.plugin.name),t(2),p((i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin)&&i.plugin.funding?24:-1),t(),p((i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin)&&i.plugin.funding?-1:25),t(3),p(i.plugin.publicPackage&&!i.plugin.installedVersion?28:-1),t(),p(i.plugin.installedVersion?29:-1),t(2),p(!i.plugin.disabled&&i.plugin.hasChildBridges&&i.childBridgeStatus==="ok"?31:-1),t(),p(i.plugin.installedVersion&&i.plugin.disabled?32:-1),t(),p(i.plugin.publicPackage&&!i.plugin.installedVersion?33:-1),t(),p(i.plugin.installedVersion?34:-1))},dependencies:[gi,T,ci,pi,di,si,ri,Q,$],encapsulation:2})}return n})();var he=(n,r)=>({"fa-magnifying-glass":n,"fa-exclamation-circle":r});function be(n,r){n&1&&c(0,"app-spinner")}function ve(n,r){if(n&1){let e=b();a(0,"a",9),_("click",function(){C(e);let i=u();return h(i.onClearSearch())}),c(1,"i",10),l()}}function xe(n,r){if(n&1&&(a(0,"div",11),c(1,"app-plugin-card",13),l()),n&2){let e=r.$implicit,o=u(2);t(),x("plugin",e)("childBridges",o.getPluginChildBridges(e))}}function we(n,r){if(n&1&&(a(0,"div",12),c(1,"i",14),a(2,"p"),f(3),s(4,"translate"),l()()),n&2){let e=u(2);t(),x("ngClass",y(4,he,!e.showExitButton,e.showExitButton)),t(2),P(g(4,2,e.showExitButton?"plugins.placeholder_search_none":"plugins.placeholder_search_first"))}}function Pe(n,r){if(n&1&&(a(0,"div",8),G(1,xe,2,2,"div",11,L),d(3,we,5,7,"div",12),l()),n&2){let e=u();t(),W(e.installedPlugins),t(2),p(e.installedPlugins.length===0&&!e.loading&&!e.mainError?3:-1)}}var _n=(()=>{class n{$api=w(F);$modal=w(H);$plugin=w(R);$router=w(fi);$settings=w(j);$toastr=w(A);$translate=w(N);$ws=w(U);isSearchMode=!1;mainError=!1;loading=!0;installedPlugins=[];childBridges=[];showExitButton=!1;form=new ii({query:new ei("")});io;navigationSubscription;constructor(){}ngOnInit(){return S(this,null,function*(){this.io=this.$ws.connectToNamespace("child-bridges"),this.io.connected.subscribe(()=>S(this,null,function*(){this.getChildBridgeMetadata(),this.io.socket.emit("monitor-child-bridge-status"),yield this.loadInstalledPlugins();let{action:e,plugin:o}=this.$router.parseUrl(this.$router.url).queryParams;if(e){let i=this.installedPlugins.find(m=>m.name===o);switch(e){case"just-installed":{i&&(i.isConfigured?this.$modal.open(E,{size:"lg",backdrop:"static"}):this.$plugin.settings(i));break}case"open-manage-version":{i&&this.$plugin.installAlternateVersion(i);break}}this.$router.navigate([],{queryParams:{},replaceUrl:!0,queryParamsHandling:""})}})),this.io.socket.on("child-bridge-status-update",e=>{let o=this.childBridges.find(i=>i.username===e.username);o?Object.assign(o,e):this.childBridges.push(e)}),this.navigationSubscription=this.$router.events.subscribe(e=>{e instanceof mi&&this.loadInstalledPlugins()})})}loadInstalledPlugins(){return S(this,null,function*(){this.form.setValue({query:""}),this.showExitButton=!1,this.installedPlugins=[],this.loading=!0,this.mainError=!1;try{let e=yield k(this.$api.get("/plugins"));this.installedPlugins=e.filter(i=>i.name!=="homebridge-config-ui-x"),yield this.appendMetaInfo();let o=this.installedPlugins.sort((i,m)=>i.updateAvailable!==m.updateAvailable?i.updateAvailable?-1:1:i.newHbScope&&!m.newHbScope?-1:i.disabled!==m.disabled?i.disabled?1:-1:i.isConfigured!==m.isConfigured?i.isConfigured?1:-1:i.hasChildBridgesUnpaired!==m.hasChildBridgesUnpaired?i.hasChildBridgesUnpaired?-1:1:i.hasChildBridges!==m.hasChildBridges&&this.$settings.env.recommendChildBridges?i.hasChildBridges?1:-1:i.name.localeCompare(m.name));return this.loading=!1,o}catch(e){console.error(e),this.loading=!1,this.mainError=!0,this.$toastr.error(this.$translate.instant("plugins.toast_failed_to_load_plugins"),this.$translate.instant("toast.title_error"))}})}appendMetaInfo(){return S(this,null,function*(){yield Promise.all(this.installedPlugins.filter(e=>e.installedVersion).map(e=>S(this,null,function*(){try{let o=yield k(this.$api.get(`/config-editor/plugin/${encodeURIComponent(e.name)}`));e.isConfigured=o.length>0,e.isConfiguredDynamicPlatform=e.isConfigured&&Object.prototype.hasOwnProperty.call(o[0],"platform"),e.recommendChildBridge=e.isConfiguredDynamicPlatform&&this.$settings.env.recommendChildBridges&&this.$settings.env.serviceMode&&!["homebridge","homebridge-config-ui-x"].includes(e.name),e.hasChildBridges=e.isConfigured&&o.some(m=>m._bridge&&m._bridge.username);let i=this.getPluginChildBridges(e);e.hasChildBridgesUnpaired=i.some(m=>!m.paired),this.$settings.env.plugins?.hideUpdatesFor?.includes(e.name)&&(e.updateAvailable=!1)}catch{e.isConfigured=!0,e.hasChildBridges=!0}})))})}search(){this.installedPlugins=[],this.loading=!0,this.showExitButton=!0,this.$api.get(`/plugins/search/${encodeURIComponent(this.form.value.query)}`).subscribe({next:e=>{let o=new Set;this.installedPlugins=e.reduce((i,m)=>{if(m.name==="homebridge-config-ui-x"||o.has(m.name))return i;if(m.newHbScope){let q=m.newHbScope.to,Bi=e.some(yi=>yi.name===q);(m.installedVersion||!Bi)&&(o.add(q),i.push(m))}else i.push(m);return i},[]),this.appendMetaInfo(),this.loading=!1},error:e=>{this.loading=!1,this.isSearchMode=!1,console.error(e),this.$toastr.error(e.error.message||e.message,this.$translate.instant("toast.title_error")),this.loadInstalledPlugins()}})}onClearSearch(){this.loadInstalledPlugins()}onSubmit({value:e}){e.query.length?(this.isSearchMode=!0,this.search()):this.isSearchMode&&(this.isSearchMode=!1,this.loadInstalledPlugins())}getChildBridgeMetadata(){this.io.request("get-homebridge-child-bridge-status").subscribe(e=>{this.childBridges=e})}getPluginChildBridges(e){return this.childBridges.filter(o=>o.plugin===e.name)}ngOnDestroy(){this.navigationSubscription&&this.navigationSubscription.unsubscribe(),this.io.end()}static \u0275fac=function(o){return new(o||n)};static \u0275cmp=V({type:n,selectors:[["ng-component"]],decls:13,vars:10,consts:[[1,"row","mb-3"],[1,"col-12"],[1,"primary-text","m-0"],[1,"row"],[1,"col-md-12"],["novalidate","",3,"ngSubmit","formGroup"],["type","text","formControlName","query",1,"hb-npm-search",3,"placeholder"],["href","javascript:void(0)",1,"hb-npm-search-clear"],[1,"d-flex","flex-wrap","justify-content-between"],["href","javascript:void(0)",1,"hb-npm-search-clear",3,"click"],[1,"far","fa-fw","fa-times-circle"],[1,"hb-plugin-space-between"],[1,"alert","alert-info","mt-4","text-center","w-100"],[3,"plugin","childBridges"],[1,"fas","fa-fw","primary-text","my-3",2,"font-size","75px",3,"ngClass"]],template:function(o,i){o&1&&(d(0,be,1,0,"app-spinner"),a(1,"div",0)(2,"div",1)(3,"h3",2),f(4),s(5,"translate"),l()()(),a(6,"div",3)(7,"div",4)(8,"form",5),_("ngSubmit",function(){return i.onSubmit(i.form)}),c(9,"input",6),s(10,"translate"),d(11,ve,2,0,"a",7),l()()(),d(12,Pe,4,1,"div",8)),o&2&&(p(i.loading?0:-1),t(4),P(g(5,6,"menu.label_plugins")),t(4),x("formGroup",i.form),t(),x("placeholder",g(10,8,"plugins.placeholder_search_plugin")),t(2),p(i.showExitButton?11:-1),t(),p(i.loading?-1:12))},dependencies:[Ci,ai,ni,X,Y,Z,li,ti,oi,Si,$,T],styles:[".hb-npm-search[_ngcontent-%COMP%]{outline:none;box-sizing:inherit!important;background-color:inherit;height:50px!important;width:100%;border-width:.5px;padding:10px;margin-bottom:15px}@media (hover: hover){.hb-npm-search[_ngcontent-%COMP%]:hover{border:1px solid #000000}}.hb-npm-search[_ngcontent-%COMP%]:focus{border:1px solid #000000;box-shadow:0 1px #000}.hb-npm-search-clear[_ngcontent-%COMP%]{position:absolute;right:25px;font-size:35px;color:#d0d0d0;line-height:50px;cursor:pointer}.hb-plugin-space-between[_ngcontent-%COMP%]{box-sizing:border-box;width:calc(50% - 6.6666666667px)}@media only screen and (max-width: 991px){.hb-plugin-space-between[_ngcontent-%COMP%]{width:100%}}"]})}return n})();export{_n as a};
@@ -0,0 +1 @@
1
+ import{a}from"./chunk-34DWN2DX.js";import{a as f}from"./chunk-T46IIKTY.js";import{v as u}from"./chunk-2NQ5FYSH.js";import{A as p,z as n}from"./chunk-5NG7YGKN.js";import{g as i}from"./chunk-JBQX4JBH.js";import"./chunk-C32K5CAV.js";import"./chunk-PLDH5YJJ.js";import"./chunk-YIVNLLSL.js";import"./chunk-A5UYRXPM.js";import"./chunk-EM4PY2IW.js";import{c as d}from"./chunk-555LSHXI.js";import{ha as t,kd as m,mb as r}from"./chunk-W6X46MTW.js";var M=[{path:"",loadComponent:()=>import("./chunk-UC3KRTST.js").then(o=>o.SetupWizardComponent)}],l=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[i.forChild(M),i]})}return o})();var R=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({providers:[a],imports:[m,n,p,d,u,l,f]})}return o})();export{R as SetupWizardModule};
@@ -0,0 +1 @@
1
+ import"./chunk-D35WUZO6.js";import{v as n}from"./chunk-2NQ5FYSH.js";import{A as p}from"./chunk-5NG7YGKN.js";import{g as i}from"./chunk-JBQX4JBH.js";import"./chunk-EM4PY2IW.js";import{c as u}from"./chunk-555LSHXI.js";import{ha as t,kd as m,mb as r}from"./chunk-W6X46MTW.js";var l=[{path:"",loadComponent:()=>import("./chunk-BY2CUGGW.js").then(o=>o.SupportComponent)}],d=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[i.forChild(l),i]})}return o})();var R=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[m,d,n,p,u]})}return o})();export{R as SupportModule};
@@ -0,0 +1,4 @@
1
+ import{a as P}from"./chunk-WTTWP6KF.js";import{a as O}from"./chunk-S6UXXPGF.js";import{c as y,e as E,l as k,z as $}from"./chunk-5NG7YGKN.js";import{b as D}from"./chunk-JBQX4JBH.js";import{b as L}from"./chunk-YIVNLLSL.js";import{k as I,n as H}from"./chunk-A5UYRXPM.js";import{a as T}from"./chunk-555LSHXI.js";import{$a as s,Hb as d,Ib as m,Nb as f,Ob as u,Pb as l,Qb as w,Ub as g,Xb as _,Yb as a,h as S,jc as v,la as r,lb as x,qc as b,ra as c,rc as M,sa as p,sc as V,w as C}from"./chunk-W6X46MTW.js";function z(i,h){i&1&&w(0,"i",6)}function A(i,h){i&1&&w(0,"i",7)}function F(i,h){if(i&1){let t=g();u(0,"ngx-monaco-editor",10),_("onInit",function(e){c(t);let o=a();return p(o.onEditorInit(e))})("keydown.control.s",function(e){c(t);let o=a();return e.preventDefault(),p(o.onSave())})("keydown.meta.s",function(e){c(t);let o=a();return e.preventDefault(),p(o.onSave())}),l()}if(i&2){let t=a();f("options",t.editorOptions)("model",t.monacoEditorModel)}}function W(i,h){if(i&1){let t=g();u(0,"textarea",11),V("ngModelChange",function(e){c(t);let o=a();return M(o.startupScript,e)||(o.startupScript=e),p(e)}),v(1," "),l()}if(i&2){let t=a();b("ngModel",t.startupScript)}}var tt=(()=>{class i{$api=r(H);$md=r(O);$route=r(D);$settings=r(L);$toastr=r(I);$translate=r(T);startupScript;saveInProgress;isMobile=!1;options={printMargin:!1};monacoEditor;editorOptions;monacoEditorModel;lastHeight;visualViewPortEventCallback;constructor(){this.isMobile=this.$md.detect.mobile()}ngOnInit(){this.editorOptions={language:"shell",theme:this.$settings.actualLightingMode==="dark"?"vs-dark":"vs-light",automaticLayout:!0},this.visualViewPortEventCallback=()=>this.visualViewPortChanged(),this.lastHeight=window.innerHeight,window.visualViewport&&!this.isMobile&&(window.visualViewport.addEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.disableTouchMove()),this.$route.data.subscribe(t=>{this.startupScript=t.startupScript.script}),this.monacoEditorModel={value:"",language:"shell"}}onEditorInit(t){this.monacoEditor=t,this.monacoEditor.getModel().setValue(this.startupScript)}onSave(){return S(this,null,function*(){if(!this.saveInProgress){if(this.saveInProgress=!0,this.isMobile||(yield this.monacoEditor.getAction("editor.action.formatDocument").run(),this.startupScript=this.monacoEditor.getModel().getValue()),!["#!/bin/sh","#!/bin/bash"].includes(this.startupScript.split(`
2
+ `)[0].trim())){this.$toastr.error(this.$translate.instant("platform.docker.must_use_hashbang"),this.$translate.instant("toast.title_error")),this.startupScript=`#!/bin/sh
3
+
4
+ ${this.startupScript}`,this.isMobile||this.monacoEditor.getModel().setValue(this.startupScript),this.saveInProgress=!1;return}try{yield C(this.$api.put("/platform-tools/docker/startup-script",{script:this.startupScript})),this.$toastr.success(this.$translate.instant("platform.docker.restart_required"),this.$translate.instant("platform.docker.script_saved"))}catch(t){console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}this.saveInProgress=!1}})}visualViewPortChanged(){this.lastHeight<window.visualViewport.height&&document.activeElement.blur(),window.visualViewport.height<window.innerHeight?(this.$md.enableTouchMove(),this.lastHeight=window.visualViewport.height):window.visualViewport.height===window.innerHeight&&(this.$md.disableTouchMove(),this.lastHeight=window.visualViewport.height)}ngOnDestroy(){window.visualViewport&&(window.visualViewport.removeEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.enableTouchMove()),this.monacoEditor&&this.monacoEditor.dispose()}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=x({type:i,selectors:[["ng-component"]],decls:11,vars:5,consts:[[1,"flex-column","d-flex","align-items-stretch","h-100"],[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0","font-monospace"],[1,"col-6","text-end"],[1,"btn","btn-primary","waves-effect","m-0",3,"click","disabled"],[1,"fas","fa-fw","fa-floppy-disk"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],[1,"flex-grow-1","h-100","w-100","my-2",3,"options","model"],["wrap","off","autocomplete","off","autocorrect","off","autocapitalize","off","spellcheck","false",1,"hb-plain-text-editor","align-self-end","h-100","w-100","my-2",3,"ngModel"],[1,"flex-grow-1","h-100","w-100","my-2",3,"onInit","keydown.control.s","keydown.meta.s","options","model"],["wrap","off","autocomplete","off","autocorrect","off","autocapitalize","off","spellcheck","false",1,"hb-plain-text-editor","align-self-end","h-100","w-100","my-2",3,"ngModelChange","ngModel"]],template:function(n,e){n&1&&(u(0,"div",0)(1,"div",1)(2,"div",2)(3,"h3",3),v(4,"startup.sh"),l()(),u(5,"div",4)(6,"button",5),_("click",function(){return e.onSave()}),d(7,z,1,0,"i",6),d(8,A,1,0,"i",7),l()()(),d(9,F,1,2,"ngx-monaco-editor",8),d(10,W,2,1,"textarea",9),l()),n&2&&(s(6),f("disabled",e.saveInProgress),s(),m(e.saveInProgress?-1:7),s(),m(e.saveInProgress?8:-1),s(),m(e.isMobile?-1:9),s(),m(e.isMobile?10:-1))},dependencies:[P,$,y,E,k],encapsulation:2})}return i})();export{tt as a};
@@ -0,0 +1 @@
1
+ import{a as l,b as a,c as u,d as C,e as g,f as M,g as R}from"./chunk-HNIRIW54.js";import{a as c}from"./chunk-I5UICZTW.js";import{a as d}from"./chunk-7IUQSGQK.js";import"./chunk-XEKVGY7L.js";import"./chunk-6XANA56B.js";import"./chunk-WTTWP6KF.js";import"./chunk-QJQSHTGR.js";import"./chunk-S6UXXPGF.js";import"./chunk-2ZIDTLBJ.js";import"./chunk-AJTG3DAQ.js";import"./chunk-J764EFYE.js";import"./chunk-SCRWY2OT.js";import"./chunk-IMPGSXGE.js";import{v as s}from"./chunk-2NQ5FYSH.js";import{A as p,z as n}from"./chunk-5NG7YGKN.js";import{g as m}from"./chunk-JBQX4JBH.js";import"./chunk-C32K5CAV.js";import"./chunk-PLDH5YJJ.js";import"./chunk-YIVNLLSL.js";import"./chunk-A5UYRXPM.js";import"./chunk-EM4PY2IW.js";import{c as f}from"./chunk-555LSHXI.js";import{ha as t,kd as i,mb as e}from"./chunk-W6X46MTW.js";var S=[{path:"",loadComponent:()=>import("./chunk-OMTZIJL6.js").then(o=>o.SettingsComponent),canActivate:[c]}],A=(()=>{class o{static \u0275fac=function(r){return new(r||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[m.forChild(S),m]})}return o})();var P=(()=>{class o{static \u0275fac=function(r){return new(r||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[i,n,p,f,s,A,R,l,C,u,d,g,a,M]})}return o})();export{P as SettingsModule};
@@ -0,0 +1 @@
1
+ import"./chunk-NXLDJLPJ.js";import"./chunk-VEXAW4H6.js";import{g as n}from"./chunk-JBQX4JBH.js";import"./chunk-C32K5CAV.js";import"./chunk-PLDH5YJJ.js";import"./chunk-YIVNLLSL.js";import"./chunk-A5UYRXPM.js";import"./chunk-EM4PY2IW.js";import{c as m}from"./chunk-555LSHXI.js";import{ha as t,kd as i,mb as r}from"./chunk-W6X46MTW.js";var d=[{path:"",redirectTo:"/",pathMatch:"full"},{path:"restart-server",loadComponent:()=>import("./chunk-HC6CZKMO.js").then(o=>o.RestartLinuxComponent)},{path:"shutdown-server",loadComponent:()=>import("./chunk-DZC35DKY.js").then(o=>o.ShutdownLinuxComponent)}],u=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[n.forChild(d),n]})}return o})();var g=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[i,m.forChild(),u]})}return o})();export{g as LinuxModule};
@@ -0,0 +1 @@
1
+ import{g as a}from"./chunk-6HC575DW.js";import"./chunk-BQK7VHZI.js";import"./chunk-W7NICAZS.js";import"./chunk-7IUQSGQK.js";import"./chunk-Z7NIAJEB.js";import"./chunk-XEKVGY7L.js";import"./chunk-6XANA56B.js";import"./chunk-WTTWP6KF.js";import"./chunk-QJQSHTGR.js";import"./chunk-S6UXXPGF.js";import"./chunk-2ZIDTLBJ.js";import"./chunk-AJTG3DAQ.js";import"./chunk-J764EFYE.js";import"./chunk-SCRWY2OT.js";import"./chunk-IMPGSXGE.js";import"./chunk-2NQ5FYSH.js";import"./chunk-5NG7YGKN.js";import"./chunk-JBQX4JBH.js";import"./chunk-C32K5CAV.js";import"./chunk-PLDH5YJJ.js";import"./chunk-YIVNLLSL.js";import"./chunk-A5UYRXPM.js";import"./chunk-EM4PY2IW.js";import"./chunk-555LSHXI.js";import"./chunk-W6X46MTW.js";export{a as StatusComponent};
@@ -0,0 +1 @@
1
+ import"./chunk-IZCMCANO.js";import"./chunk-2ZIDTLBJ.js";import"./chunk-AJTG3DAQ.js";import"./chunk-IMPGSXGE.js";import{v as n}from"./chunk-2NQ5FYSH.js";import"./chunk-5NG7YGKN.js";import{g as i}from"./chunk-JBQX4JBH.js";import"./chunk-C32K5CAV.js";import"./chunk-PLDH5YJJ.js";import"./chunk-YIVNLLSL.js";import"./chunk-A5UYRXPM.js";import"./chunk-EM4PY2IW.js";import{c as s}from"./chunk-555LSHXI.js";import{ha as t,kd as m,mb as r}from"./chunk-W6X46MTW.js";var f=[{path:"",loadComponent:()=>import("./chunk-XIQKMSXR.js").then(o=>o.LogsComponent)}],p=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[i.forChild(f),i]})}return o})();var h=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[m,p,n,s.forChild()]})}return o})();export{h as LogsModule};
@@ -0,0 +1 @@
1
+ import{d as y}from"./chunk-JBQX4JBH.js";import{a as T}from"./chunk-C32K5CAV.js";import{b as S}from"./chunk-YIVNLLSL.js";import{k as $,n as C}from"./chunk-A5UYRXPM.js";import{a as _,b as g}from"./chunk-555LSHXI.js";import{$a as i,Ac as p,Bc as c,Hb as l,Ib as m,Ob as r,Pb as n,Qb as x,Yb as v,jc as o,kc as s,la as a,lb as h}from"./chunk-W6X46MTW.js";function w(t,f){t&1&&(r(0,"p",7),o(1),p(2,"translate"),n()),t&2&&(i(),s(c(2,1,"restart.please_wait_while_server_restarts")))}function k(t,f){if(t&1&&(r(0,"div",8),o(1),n()),t&2){let e=v();i(),s(e.error)}}function b(t,f){t&1&&(r(0,"div",9)(1,"div",11),x(2,"i",12),n()())}function E(t,f){t&1&&(r(0,"div",10),o(1),p(2,"translate"),n()),t&2&&(i(),s(c(2,1,"platform.linux.long_time")))}var A=(()=>{class t{$api=a(C);$router=a(y);$settings=a(S);$toastr=a($);$translate=a(_);$ws=a(T);checkTimeout;checkDelay;resp={};timeout=!1;error=!1;io;constructor(){}ngOnInit(){this.io=this.$ws.connectToNamespace("status"),this.io.connected.subscribe(()=>{this.io.socket.emit("monitor-server-status"),this.$settings.getAppSettings().catch(()=>{})}),this.$api.put("/platform-tools/linux/restart-host",{}).subscribe({next:e=>{this.resp=e,this.checkIfServerUp()},error:e=>{console.error(e),this.error=this.$translate.instant("platform.linux.server_restart_error"),this.$toastr.error(this.$translate.instant("platform.linux.server_restart_error"),this.$translate.instant("toast.title_error"))}})}checkIfServerUp(){this.checkDelay=setTimeout(()=>{this.io.socket.on("homebridge-status",e=>{(e.status==="up"||e.status==="pending")&&(this.$toastr.success(this.$translate.instant("platform.linux.server_restarted"),this.$translate.instant("toast.title_success")),this.$router.navigate(["/"]))})},3e4),this.checkTimeout=setTimeout(()=>{this.$toastr.warning(this.$translate.instant("platform.linux.server_taking_long_time"),this.$translate.instant("toast.title_warning"),{timeOut:1e4}),this.timeout=!0},12e4)}ngOnDestroy(){this.io.end(),clearTimeout(this.checkDelay),clearTimeout(this.checkTimeout)}static \u0275fac=function(d){return new(d||t)};static \u0275cmp=h({type:t,selectors:[["ng-component"]],decls:15,vars:10,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],[1,"my-4","align-items-center",2,"max-width","1000px","margin","auto"],[1,"w-100","text-center","primary-text","mb-5"],[1,"fas","fa-fw","fa-power-off",2,"font-size","75px"],[1,"text-center"],[1,"primary-text","mb-4"],[1,"grey-text"],[1,"alert","alert-error","my-4"],[1,"justify-content-center","my-4"],[1,"alert","alert-warning","my-4"],[1,"restart-progress-box","primary-text"],[1,"fas","fa-fw","fa-spinner","fa-spin"]],template:function(d,u){d&1&&(r(0,"div",0)(1,"h3",1),o(2),p(3,"translate"),n()(),r(4,"div",2)(5,"div",3),x(6,"i",4),n(),r(7,"div",5)(8,"h4",6),o(9),p(10,"translate"),n(),l(11,w,3,3,"p",7),l(12,k,2,1,"div",8),l(13,b,3,0,"div",9),l(14,E,3,3,"div",10),n()()),d&2&&(i(2),s(c(3,6,"menu.restart.title")),i(7),s(c(10,8,"platform.linux.restarting_server")),i(2),m(u.error?-1:11),i(),m(u.error?12:-1),i(),m(u.error?-1:13),i(),m(u.timeout?14:-1))},dependencies:[g],styles:[".restart-progress-box[_ngcontent-%COMP%]{font-size:22px;font-weight:300;margin-top:15px}"]})}return t})();export{A as a};
@@ -0,0 +1 @@
1
+ import{g as a}from"./chunk-HNIRIW54.js";import"./chunk-7IUQSGQK.js";import"./chunk-XEKVGY7L.js";import"./chunk-6XANA56B.js";import"./chunk-WTTWP6KF.js";import"./chunk-QJQSHTGR.js";import"./chunk-S6UXXPGF.js";import"./chunk-2ZIDTLBJ.js";import"./chunk-AJTG3DAQ.js";import"./chunk-J764EFYE.js";import"./chunk-SCRWY2OT.js";import"./chunk-IMPGSXGE.js";import"./chunk-2NQ5FYSH.js";import"./chunk-5NG7YGKN.js";import"./chunk-JBQX4JBH.js";import"./chunk-C32K5CAV.js";import"./chunk-PLDH5YJJ.js";import"./chunk-YIVNLLSL.js";import"./chunk-A5UYRXPM.js";import"./chunk-EM4PY2IW.js";import"./chunk-555LSHXI.js";import"./chunk-W6X46MTW.js";export{a as SettingsComponent};
@@ -1 +1 @@
1
- import{a as _,b as D}from"./chunk-BU6UAZVK.js";import{m as c,n as S}from"./chunk-HZUGXGIE.js";import{f as x}from"./chunk-SRP6QX5M.js";import{C as v,g as O,ga as h,h as a,ha as E,ja as y,ka as l,la as f,nb as I,r as p,va as j,w as d,x as T,z as w}from"./chunk-SKZUTSHE.js";var g=new y("JWT_OPTIONS"),m=(()=>{class r{constructor(e=null){this.tokenGetter=e&&e.tokenGetter||function(){}}urlBase64Decode(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:{t+="==";break}case 3:{t+="=";break}default:throw new Error("Illegal base64url string!")}return this.b64DecodeUnicode(t)}b64decode(e){let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o="";if(e=String(e).replace(/=+$/,""),e.length%4===1)throw new Error("'atob' failed: The string to be decoded is not correctly encoded.");for(let i=0,s,n,b=0;n=e.charAt(b++);~n&&(s=i%4?s*64+n:n,i++%4)?o+=String.fromCharCode(255&s>>(-2*i&6)):0)n=t.indexOf(n);return o}b64DecodeUnicode(e){return decodeURIComponent(Array.prototype.map.call(this.b64decode(e),t=>"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2)).join(""))}decodeToken(e=this.tokenGetter()){return e instanceof Promise?e.then(t=>this._decodeToken(t)):this._decodeToken(e)}_decodeToken(e){if(!e||e==="")return null;let t=e.split(".");if(t.length!==3)throw new Error("The inspected token doesn't appear to be a JWT. Check to make sure it has three parts and see https://jwt.io for more.");let o=this.urlBase64Decode(t[1]);if(!o)throw new Error("Cannot decode the token.");return JSON.parse(o)}getTokenExpirationDate(e=this.tokenGetter()){return e instanceof Promise?e.then(t=>this._getTokenExpirationDate(t)):this._getTokenExpirationDate(e)}_getTokenExpirationDate(e){let t;if(t=this.decodeToken(e),!t||!t.hasOwnProperty("exp"))return null;let o=new Date(0);return o.setUTCSeconds(t.exp),o}isTokenExpired(e=this.tokenGetter(),t){return e instanceof Promise?e.then(o=>this._isTokenExpired(o,t)):this._isTokenExpired(e,t)}_isTokenExpired(e,t){if(!e||e==="")return!0;let o=this.getTokenExpirationDate(e);return t=t||0,o===null?!1:!(o.valueOf()>new Date().valueOf()+t*1e3)}getAuthScheme(e,t){return typeof e=="function"?e(t):e}}return r.\u0275fac=function(e){return new(e||r)(l(g))},r.\u0275prov=h({token:r,factory:r.\u0275fac}),r})(),$=r=>r instanceof Promise?v(()=>r):p(r),R=(()=>{class r{constructor(e,t,o){this.jwtHelper=t,this.document=o,this.standardPorts=["80","443"],this.tokenGetter=e.tokenGetter,this.headerName=e.headerName||"Authorization",this.authScheme=e.authScheme||e.authScheme===""?e.authScheme:"Bearer ",this.allowedDomains=e.allowedDomains||[],this.disallowedRoutes=e.disallowedRoutes||[],this.throwNoTokenError=e.throwNoTokenError||!1,this.skipWhenExpired=e.skipWhenExpired}isAllowedDomain(e){let t=new URL(e.url,this.document.location.origin);if(t.host===this.document.location.host)return!0;let o=`${t.hostname}${t.port&&!this.standardPorts.includes(t.port)?":"+t.port:""}`;return this.allowedDomains.findIndex(i=>typeof i=="string"?i===o:i instanceof RegExp?i.test(o):!1)>-1}isDisallowedRoute(e){let t=new URL(e.url,this.document.location.origin);return this.disallowedRoutes.findIndex(o=>{if(typeof o=="string"){let i=new URL(o,this.document.location.origin);return i.hostname===t.hostname&&i.pathname===t.pathname}return o instanceof RegExp?o.test(e.url):!1})>-1}handleInterception(e,t,o){let i=this.jwtHelper.getAuthScheme(this.authScheme,t);if(!e&&this.throwNoTokenError)throw new Error("Could not get token from tokenGetter function.");let s=p(!1);return this.skipWhenExpired&&(s=e?$(this.jwtHelper.isTokenExpired(e)):p(!0)),e?s.pipe(T(n=>n&&this.skipWhenExpired?t.clone():t.clone({setHeaders:{[this.headerName]:`${i}${e}`}})),w(n=>o.handle(n))):o.handle(t)}intercept(e,t){if(!this.isAllowedDomain(e)||this.isDisallowedRoute(e))return t.handle(e);let o=this.tokenGetter(e);return $(o).pipe(w(i=>this.handleInterception(i,e,t)))}}return r.\u0275fac=function(e){return new(e||r)(l(g),l(m),l(j))},r.\u0275prov=h({token:r,factory:r.\u0275fac}),r})(),F=(()=>{class r{constructor(e){if(e)throw new Error("JwtModule is already loaded. It should only be imported in your application's main module.")}static forRoot(e){return{ngModule:r,providers:[{provide:x,useClass:R,multi:!0},e.jwtOptionsProvider||{provide:g,useValue:e.config},m]}}}return r.\u0275fac=function(e){return new(e||r)(l(r,12))},r.\u0275mod=I({type:r}),r.\u0275inj=E({}),r})();var k=O(_(),1);var q=(()=>{class r{$api=f(S);$jwtHelper=f(m);$settings=f(D);token;user={};logoutTimer;constructor(){this.loadToken()}login(e){return a(this,null,function*(){let t=yield d(this.$api.post("/auth/login",e));if(!this.validateToken(t.access_token))throw new Error("Invalid username or password.");window.localStorage.setItem(c.jwt.tokenKey,t.access_token),yield this.$settings.getAppSettings()})}noauth(){return a(this,null,function*(){let e=yield d(this.$api.post("/auth/noauth",{}));if(this.validateToken(e.access_token))window.localStorage.setItem(c.jwt.tokenKey,e.access_token),yield this.$settings.getAppSettings();else throw new Error("Invalid username or password.")})}logout(){this.user=null,this.token=null,window.localStorage.removeItem(c.jwt.tokenKey),window.location.reload()}loadToken(){return a(this,null,function*(){this.$settings.settingsLoaded||(yield d(this.$settings.onSettingsLoaded));let e=window.localStorage.getItem(c.jwt.tokenKey);e&&this.validateToken(e)})}checkToken(){return a(this,null,function*(){try{return yield d(this.$api.get("/auth/check"))}catch(e){e.status===401&&(console.error("Current token is not valid"),this.logout())}})}isLoggedIn(){return this.$settings.env.instanceId!==this.user.instanceId?(console.error("Token does not match instance"),!1):this.user&&this.token&&!this.$jwtHelper.isTokenExpired(this.token,this.$settings.serverTimeOffset)}validateToken(e){try{return this.$jwtHelper.isTokenExpired(e,this.$settings.serverTimeOffset)&&this.logout(),this.user=this.$jwtHelper.decodeToken(e),this.token=e,this.setLogoutTimer(),!0}catch{return window.localStorage.removeItem(c.jwt.tokenKey),this.token=null,!1}}setLogoutTimer(){if(clearTimeout(this.logoutTimer),!this.$jwtHelper.isTokenExpired(this.token,this.$settings.serverTimeOffset)){let t=(0,k.default)(this.$jwtHelper.getTokenExpirationDate(this.token)).diff((0,k.default)().add(this.$settings.serverTimeOffset,"s"),"millisecond");t<=2147483647&&(this.logoutTimer=setTimeout(()=>a(this,null,function*(){this.$settings.formAuth===!1?(yield this.noauth(),window.location.reload()):this.logout()}),t))}}static \u0275fac=function(t){return new(t||r)};static \u0275prov=h({token:r,factory:r.\u0275fac})}return r})();export{F as a,q as b};
1
+ import{a as _,b as D}from"./chunk-YIVNLLSL.js";import{m as c,n as S}from"./chunk-A5UYRXPM.js";import{f as x}from"./chunk-EM4PY2IW.js";import{C as v,g as O,ga as h,h as a,ha as E,ja as y,ka as l,la as f,mb as I,r as p,va as j,w as d,x as T,z as w}from"./chunk-W6X46MTW.js";var g=new y("JWT_OPTIONS"),m=(()=>{class r{constructor(e=null){this.tokenGetter=e&&e.tokenGetter||function(){}}urlBase64Decode(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:{t+="==";break}case 3:{t+="=";break}default:throw new Error("Illegal base64url string!")}return this.b64DecodeUnicode(t)}b64decode(e){let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o="";if(e=String(e).replace(/=+$/,""),e.length%4===1)throw new Error("'atob' failed: The string to be decoded is not correctly encoded.");for(let i=0,s,n,b=0;n=e.charAt(b++);~n&&(s=i%4?s*64+n:n,i++%4)?o+=String.fromCharCode(255&s>>(-2*i&6)):0)n=t.indexOf(n);return o}b64DecodeUnicode(e){return decodeURIComponent(Array.prototype.map.call(this.b64decode(e),t=>"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2)).join(""))}decodeToken(e=this.tokenGetter()){return e instanceof Promise?e.then(t=>this._decodeToken(t)):this._decodeToken(e)}_decodeToken(e){if(!e||e==="")return null;let t=e.split(".");if(t.length!==3)throw new Error("The inspected token doesn't appear to be a JWT. Check to make sure it has three parts and see https://jwt.io for more.");let o=this.urlBase64Decode(t[1]);if(!o)throw new Error("Cannot decode the token.");return JSON.parse(o)}getTokenExpirationDate(e=this.tokenGetter()){return e instanceof Promise?e.then(t=>this._getTokenExpirationDate(t)):this._getTokenExpirationDate(e)}_getTokenExpirationDate(e){let t;if(t=this.decodeToken(e),!t||!t.hasOwnProperty("exp"))return null;let o=new Date(0);return o.setUTCSeconds(t.exp),o}isTokenExpired(e=this.tokenGetter(),t){return e instanceof Promise?e.then(o=>this._isTokenExpired(o,t)):this._isTokenExpired(e,t)}_isTokenExpired(e,t){if(!e||e==="")return!0;let o=this.getTokenExpirationDate(e);return t=t||0,o===null?!1:!(o.valueOf()>new Date().valueOf()+t*1e3)}getAuthScheme(e,t){return typeof e=="function"?e(t):e}}return r.\u0275fac=function(e){return new(e||r)(l(g))},r.\u0275prov=h({token:r,factory:r.\u0275fac}),r})(),$=r=>r instanceof Promise?v(()=>r):p(r),R=(()=>{class r{constructor(e,t,o){this.jwtHelper=t,this.document=o,this.standardPorts=["80","443"],this.tokenGetter=e.tokenGetter,this.headerName=e.headerName||"Authorization",this.authScheme=e.authScheme||e.authScheme===""?e.authScheme:"Bearer ",this.allowedDomains=e.allowedDomains||[],this.disallowedRoutes=e.disallowedRoutes||[],this.throwNoTokenError=e.throwNoTokenError||!1,this.skipWhenExpired=e.skipWhenExpired}isAllowedDomain(e){let t=new URL(e.url,this.document.location.origin);if(t.host===this.document.location.host)return!0;let o=`${t.hostname}${t.port&&!this.standardPorts.includes(t.port)?":"+t.port:""}`;return this.allowedDomains.findIndex(i=>typeof i=="string"?i===o:i instanceof RegExp?i.test(o):!1)>-1}isDisallowedRoute(e){let t=new URL(e.url,this.document.location.origin);return this.disallowedRoutes.findIndex(o=>{if(typeof o=="string"){let i=new URL(o,this.document.location.origin);return i.hostname===t.hostname&&i.pathname===t.pathname}return o instanceof RegExp?o.test(e.url):!1})>-1}handleInterception(e,t,o){let i=this.jwtHelper.getAuthScheme(this.authScheme,t);if(!e&&this.throwNoTokenError)throw new Error("Could not get token from tokenGetter function.");let s=p(!1);return this.skipWhenExpired&&(s=e?$(this.jwtHelper.isTokenExpired(e)):p(!0)),e?s.pipe(T(n=>n&&this.skipWhenExpired?t.clone():t.clone({setHeaders:{[this.headerName]:`${i}${e}`}})),w(n=>o.handle(n))):o.handle(t)}intercept(e,t){if(!this.isAllowedDomain(e)||this.isDisallowedRoute(e))return t.handle(e);let o=this.tokenGetter(e);return $(o).pipe(w(i=>this.handleInterception(i,e,t)))}}return r.\u0275fac=function(e){return new(e||r)(l(g),l(m),l(j))},r.\u0275prov=h({token:r,factory:r.\u0275fac}),r})(),F=(()=>{class r{constructor(e){if(e)throw new Error("JwtModule is already loaded. It should only be imported in your application's main module.")}static forRoot(e){return{ngModule:r,providers:[{provide:x,useClass:R,multi:!0},e.jwtOptionsProvider||{provide:g,useValue:e.config},m]}}}return r.\u0275fac=function(e){return new(e||r)(l(r,12))},r.\u0275mod=I({type:r}),r.\u0275inj=E({}),r})();var k=O(_(),1);var q=(()=>{class r{$api=f(S);$jwtHelper=f(m);$settings=f(D);token;user={};logoutTimer;constructor(){this.loadToken()}login(e){return a(this,null,function*(){let t=yield d(this.$api.post("/auth/login",e));if(!this.validateToken(t.access_token))throw new Error("Invalid username or password.");window.localStorage.setItem(c.jwt.tokenKey,t.access_token),yield this.$settings.getAppSettings()})}noauth(){return a(this,null,function*(){let e=yield d(this.$api.post("/auth/noauth",{}));if(this.validateToken(e.access_token))window.localStorage.setItem(c.jwt.tokenKey,e.access_token),yield this.$settings.getAppSettings();else throw new Error("Invalid username or password.")})}logout(){this.user=null,this.token=null,window.localStorage.removeItem(c.jwt.tokenKey),window.location.reload()}loadToken(){return a(this,null,function*(){this.$settings.settingsLoaded||(yield d(this.$settings.onSettingsLoaded));let e=window.localStorage.getItem(c.jwt.tokenKey);e&&this.validateToken(e)})}validateToken(e){try{return this.$jwtHelper.isTokenExpired(e,this.$settings.serverTimeOffset)&&this.logout(),this.user=this.$jwtHelper.decodeToken(e),this.token=e,this.setLogoutTimer(),!0}catch{return window.localStorage.removeItem(c.jwt.tokenKey),this.token=null,!1}}checkToken(){return a(this,null,function*(){try{return yield d(this.$api.get("/auth/check"))}catch(e){e.status===401&&(console.error("Current token is not valid"),this.logout())}})}setLogoutTimer(){if(clearTimeout(this.logoutTimer),!this.$jwtHelper.isTokenExpired(this.token,this.$settings.serverTimeOffset)){let t=(0,k.default)(this.$jwtHelper.getTokenExpirationDate(this.token)).diff((0,k.default)().add(this.$settings.serverTimeOffset,"s"),"millisecond");t<=2147483647&&(this.logoutTimer=setTimeout(()=>a(this,null,function*(){this.$settings.formAuth===!1?(yield this.noauth(),window.location.reload()):this.logout()}),t))}}isLoggedIn(){return this.$settings.env.instanceId!==this.user.instanceId?(console.error("Token does not match instance"),!1):this.user&&this.token&&!this.$jwtHelper.isTokenExpired(this.token,this.$settings.serverTimeOffset)}static \u0275fac=function(t){return new(t||r)};static \u0275prov=h({token:r,factory:r.\u0275fac})}return r})();export{F as a,q as b};
@@ -0,0 +1 @@
1
+ import{a as ne}from"./chunk-J764EFYE.js";import{g as O,m as G,n as te}from"./chunk-2NQ5FYSH.js";import{A,b as Z,c as M,d as x,e as F,f as z,g as N,j as w,m as q,o as R,p as L,q as j,x as ee,z as V}from"./chunk-5NG7YGKN.js";import{b as ie}from"./chunk-JBQX4JBH.js";import{b as Q}from"./chunk-PLDH5YJJ.js";import{a as ce}from"./chunk-YIVNLLSL.js";import{k as U,n as k}from"./chunk-A5UYRXPM.js";import{a as S,b as $}from"./chunk-555LSHXI.js";import{$a as e,Ac as s,Bc as l,Cc as Y,Gb as u,Hb as g,Ib as h,Kb as K,Lb as W,Mb as X,Nb as f,Ob as i,Pb as n,Qb as p,Ub as D,Xb as b,Yb as v,bd as P,g as de,jc as m,kc as d,la as c,lb as E,lc as C,ra as B,sa as T,wc as I}from"./chunk-W6X46MTW.js";function ue(r,y){r&1&&(i(0,"ngb-alert",13)(1,"p",20),m(2),s(3,"translate"),n()()),r&2&&(f("dismissible",!1),e(2),d(l(3,2,"login.invalid_password")))}var re=(()=>{class r{$activeModal=c(G);$api=c(k);$toastr=c(U);$translate=c(S);formGroup=new N({password:new w("",[x.required])});invalidCredentials=!1;constructor(){}disable2fa(){this.invalidCredentials=!1,this.$api.post("/users/otp/deactivate",this.formGroup.value).subscribe({next:()=>{this.$activeModal.close(),this.$toastr.success(this.$translate.instant("users.setup_2fa_disable_success"),this.$translate.instant("toast.title_success"))},error:()=>{this.formGroup.setValue({password:""}),this.invalidCredentials=!0}})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,selectors:[["ng-component"]],decls:34,vars:27,consts:[[1,"modal-content",2,"min-height","300px"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-key","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["type","password","autocomplete","current-password",1,"form-control","custom-input",3,"formControl","placeholder"],["type","error",1,"mt-3","mb-0",3,"dismissible"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"mb-0"]],template:function(o,a){o&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),m(3),s(4,"translate"),n(),i(5,"button",3),s(6,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4)(8,"div",5),p(9,"i",6),n(),i(10,"ul",7)(11,"li"),m(12),s(13,"translate"),n()(),i(14,"ul",8)(15,"li",9)(16,"label",10),m(17),s(18,"translate"),n(),i(19,"div",11),p(20,"input",12),s(21,"translate"),n()()(),g(22,ue,4,4,"ngb-alert",13),n(),i(23,"div",14)(24,"div",15)(25,"button",16),s(26,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),m(27),s(28,"translate"),n()(),p(29,"div",17),i(30,"div",18)(31,"button",19),b("click",function(){return a.disable2fa()}),m(32),s(33,"translate"),n()()()()),o&2&&(e(3),d(l(4,11,"users.setup_2fa_disable")),e(2),u("aria-label",l(6,13,"form.button_close")),e(7),d(l(13,15,"users.setup_2fa_disable_current_password")),e(5),d(l(18,17,"users.label_password")),e(3),f("formControl",a.formGroup.controls.password)("placeholder",l(21,19,"users.label_password")),e(2),h(a.invalidCredentials&&!a.formGroup.controls.password.value?22:-1),e(3),u("aria-label",l(26,21,"form.button_close")),e(2),C(" ",l(28,23,"form.button_close")," "),e(4),f("disabled",a.formGroup.invalid),e(),C(" ",l(33,25,"form.button_disable")," "))},dependencies:[V,M,F,A,R,$,O],encapsulation:2})}return r})();var ae=de(ce(),1);var fe=r=>({timeDiffError:r});function be(r,y){r&1&&(i(0,"li"),m(1),s(2,"translate"),n()),r&2&&(e(),d(l(2,1,"users.setup_2fa_scan_qr_code")))}function _e(r,y){if(r&1&&(i(0,"ngb-alert",8)(1,"p",16),m(2),s(3,"translate"),n(),i(4,"p",17),m(5),s(6,"translate"),n()()),r&2){let t=v();f("dismissible",!1),e(2),d(l(3,3,"users.setup_2fa_cannot_setup_2fa")),e(3),d(Y(6,5,"users.setup_2fa_server_time_out",I(8,fe,t.timeDiffError)))}}function ve(r,y){if(r&1&&(i(0,"ul",9)(1,"li",18)(2,"div",19),p(3,"app-qrcode",20),n()(),i(4,"li",21)(5,"label",22),m(6),s(7,"translate"),n(),i(8,"div",23),p(9,"input",24),n()()()),r&2){let t=v();e(3),f("data",t.otpString),e(3),d(l(7,3,"users.setup_2fa_enter_code")),e(3),f("formControl",t.formGroup.controls.code)}}function xe(r,y){if(r&1){let t=D();i(0,"button",25),s(1,"translate"),b("click",function(){B(t);let a=v();return T(a.$activeModal.dismiss("Dismiss"))}),m(2),s(3,"translate"),n()}r&2&&(u("aria-label",l(1,2,"form.button_close")),e(2),C(" ",l(3,4,"form.button_close")," "))}function we(r,y){if(r&1){let t=D();i(0,"button",25),s(1,"translate"),b("click",function(){B(t);let a=v();return T(a.$activeModal.dismiss("Dismiss"))}),m(2),s(3,"translate"),n()}r&2&&(u("aria-label",l(1,2,"form.button_close")),e(2),C(" ",l(3,4,"form.button_close")," "))}function Ce(r,y){if(r&1){let t=D();i(0,"button",26),b("click",function(){B(t);let a=v();return T(a.enable2fa())}),m(1),s(2,"translate"),n()}if(r&2){let t=v();f("disabled",t.formGroup.invalid),e(),C(" ",l(2,2,"form.button_enable")," ")}}var oe=(()=>{class r{$activeModal=c(G);$api=c(k);$toastr=c(U);$translate=c(S);user;timeDiffError=null;otpString;formGroup=new N({code:new w("",[x.required,x.minLength(6),x.maxLength(6)])});constructor(){}ngOnInit(){this.$api.post("/users/otp/setup",{}).subscribe({next:t=>{this.checkTimeDiff(t.timestamp),this.timeDiffError||(this.otpString=t.otpauth)},error:t=>{this.$activeModal.dismiss(),console.error(t),this.$toastr.error(this.$translate.instant("users.setup_2fa_enable_error"),this.$translate.instant("toast.title_error"))}})}checkTimeDiff(t){let o=(0,ae.default)(t).diff(new Date,"millisecond");o<-5e3||o>5e3?this.timeDiffError=o:this.timeDiffError=null}enable2fa(){this.$api.post("/users/otp/activate",this.formGroup.value).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("users.setup_2fa_enabled_success"),this.$translate.instant("toast.title_success")),this.$activeModal.close()},error:t=>{console.error(t),this.$toastr.error(this.$translate.instant("users.setup_2fa_activate_error"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,selectors:[["ng-component"]],inputs:{user:"user"},decls:24,vars:15,consts:[[1,"modal-content","setup2fa"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-key","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","error",1,"mb-0",3,"dismissible"],[1,"list-group","list-group-box","mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"disabled"],[1,"fw-bold","mb-1"],[1,"mb-0"],[1,"list-group-item","text-center"],[1,"text-center","w-100","d-flex","justify-content-center"],[1,"mx-auto",2,"width","175px","height","175px",3,"data"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["formControlName","username","type","text","placeholder","eg. 123456","autocomplete","one-time-code","autocapitalize","none","inputmode","numeric","pattern","[0-9]*",1,"form-control","custom-input",3,"formControl"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"]],template:function(o,a){o&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),m(3),s(4,"translate"),n(),i(5,"button",3),s(6,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4)(8,"div",5),p(9,"i",6),n(),i(10,"ul",7)(11,"li"),m(12),s(13,"translate"),n(),g(14,be,3,3,"li"),n(),g(15,_e,7,10,"ngb-alert",8),g(16,ve,10,5,"ul",9),n(),i(17,"div",10)(18,"div",11),g(19,xe,4,6,"button",12),n(),i(20,"div",13),g(21,we,4,6,"button",12),n(),i(22,"div",14),g(23,Ce,3,4,"button",15),n()()()),o&2&&(e(3),d(l(4,9,"users.setup_2fa")),e(2),u("aria-label",l(6,11,"form.button_close")),e(7),d(l(13,13,"users.setup_2fa_warning")),e(2),h(a.timeDiffError?-1:14),e(),h(a.timeDiffError?15:-1),e(),h(a.timeDiffError?-1:16),e(3),h(a.timeDiffError?-1:19),e(2),h(a.timeDiffError?21:-1),e(2),h(a.timeDiffError?-1:23))},dependencies:[O,ne,V,M,F,ee,A,R,j,$],encapsulation:2})}return r})();var se=r=>({"is-invalid":r}),le=(()=>{class r{$activeModal=c(G);$api=c(k);$toastr=c(U);$translate=c(S);form=new N({username:new w("",[x.required]),name:new w("",[x.required]),password:new w("",[x.compose([x.required,x.minLength(4)])]),passwordConfirm:new w("",[x.required]),admin:new w(!0)},this.matchPassword);page={title:"users.title_add_user",save:"users.button_add_new_user",password:"users.label_password"};constructor(){}matchPassword(t){let o=t.get("password").value,a=t.get("passwordConfirm").value;if(o!==a)t.get("passwordConfirm").setErrors({matchPassword:!0});else return null}onSubmit({value:t}){this.$api.post("/users",t).subscribe({next:()=>{this.$activeModal.close(),this.$toastr.success(this.$translate.instant("users.toast_added_new_user"),this.$translate.instant("toast.title_success"))},error:o=>{this.$toastr.error(o.error.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,selectors:[["ng-component"]],decls:58,vars:50,consts:[[1,"modal-content"],["novalidate","",3,"ngSubmit","formGroup"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-user-plus","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-username",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["formControlName","username","type","text","id","form-username","autocomplete","username","autocapitalize","none",1,"form-control","custom-input"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","name","type","text","id","form-name","autocomplete","name",1,"form-control","custom-input"],["for","form-pass",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","password","type","password","autocomplete","new-password","id","form-pass",1,"form-control","custom-input",3,"ngClass"],["for","form-pass-confirm",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","passwordConfirm","type","password","autocomplete","new-password","id","form-pass-confirm",1,"form-control","custom-input",3,"ngClass"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"text-end","grey-text","d-flex","align-items-center"],["type","checkbox","id","isAdmin",1,"rendux-input"],["for","isAdmin",1,"rendux-label","ms-3"],[1,"modal-footer","justify-content-between"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","submit",1,"btn","btn-primary",3,"disabled"]],template:function(o,a){o&1&&(i(0,"div",0)(1,"form",1),b("ngSubmit",function(){return a.onSubmit(a.form)}),i(2,"div",2)(3,"h5",3),m(4),s(5,"translate"),n(),i(6,"button",4),s(7,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),n()(),i(8,"div",5)(9,"div",6),p(10,"i",7),n(),i(11,"ul",8)(12,"li",9)(13,"label",10),m(14),s(15,"translate"),n(),i(16,"div",11),p(17,"input",12),s(18,"translate"),n()(),i(19,"li",9)(20,"label",13),m(21),s(22,"translate"),n(),i(23,"div",11),p(24,"input",14),s(25,"translate"),n()(),i(26,"li",9)(27,"label",15),m(28),s(29,"translate"),n(),i(30,"div",11),p(31,"input",16),s(32,"translate"),n()(),i(33,"li",9)(34,"label",17),m(35),s(36,"translate"),n(),i(37,"div",11),p(38,"input",18),s(39,"translate"),n()(),i(40,"li",19)(41,"span",20),m(42),s(43,"translate"),n(),i(44,"div",21),p(45,"input",22),s(46,"translate"),p(47,"label",23),n()()()(),i(48,"div",24)(49,"div",20)(50,"button",25),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),m(51),s(52,"translate"),n()(),p(53,"div",26),i(54,"div",27)(55,"button",28),m(56),s(57,"translate"),n()()()()()),o&2&&(e(),f("formGroup",a.form),e(3),d(l(5,18,"users.title_add_user")),e(2),u("aria-label",l(7,20,"form.button_close")),e(8),d(l(15,22,"users.label_username")),e(3),u("aria-label",l(18,24,"users.label_username")),e(4),d(l(22,26,"users.label_full_name")),e(3),u("aria-label",l(25,28,"users.label_full_name")),e(4),d(l(29,30,a.page.password)),e(3),f("ngClass",I(46,se,a.form.controls.password.dirty&&a.form.controls.password.errors)),u("aria-label",l(32,32,a.page.password)),e(4),d(l(36,34,"users.label_confirm_password")),e(3),f("ngClass",I(48,se,a.form.controls.passwordConfirm.dirty&&a.form.controls.passwordConfirm.errors)),u("aria-label",l(39,36,"users.label_confirm_password")),e(4),d(l(43,38,"users.label_admin_user")),e(3),u("aria-label",l(46,40,"users.label_admin_user")),e(6),C(" ",l(52,42,"form.button_close")," "),e(4),f("disabled",!a.form.valid),e(),C(" ",l(57,44,"form.button_save")," "))},dependencies:[V,q,M,F,z,A,L,j,P,$],encapsulation:2})}return r})();var me=r=>({"is-invalid":r});function ge(r,y){if(r&1&&(i(0,"li",9)(1,"label",27),m(2),s(3,"translate"),n(),i(4,"div",11),p(5,"input",28),s(6,"translate"),n()()),r&2){let t=v();e(2),d(l(3,3,"users.label_confirm_password")),e(3),f("ngClass",I(7,me,t.form.controls.passwordConfirm.dirty&&t.form.controls.passwordConfirm.errors)),u("aria-label",l(6,5,"users.label_confirm_password"))}}var pe=(()=>{class r{$activeModal=c(G);$api=c(k);$auth=c(Q);$toastr=c(U);$translate=c(S);user;form=new N({username:new w("",[x.required]),name:new w("",[x.required]),password:new w(""),passwordConfirm:new w(""),admin:new w(!0)},this.matchPassword);page={title:"users.title_edit_user",save:"form.button_save",password:"users.label_new_password"};isCurrentUser=!1;constructor(){}ngOnInit(){this.isCurrentUser=this.$auth.user.username===this.user.username,this.form.patchValue(this.user)}matchPassword(t){let o=t.get("password").value,a=t.get("passwordConfirm").value;if(o!==a)t.get("passwordConfirm").setErrors({matchPassword:!0});else return null}onSubmit({value:t}){this.$api.patch(`/users/${this.user.id}`,t).subscribe({next:()=>{this.$activeModal.close(),this.$toastr.success(this.$translate.instant("users.toast_updated_user"),this.$translate.instant("toast.title_success")),this.isCurrentUser&&t.username!==this.$auth.user.username&&this.$auth.logout()},error:o=>{console.error(o),this.$toastr.error(o.error.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,selectors:[["ng-component"]],inputs:{user:"user"},decls:52,vars:42,consts:[[1,"modal-content"],["novalidate","",3,"ngSubmit","formGroup"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-user-pen","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-username",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["formControlName","username","type","text","id","form-username","autocomplete","off","autocapitalize","none",1,"form-control","custom-input"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","name","type","text","id","form-name","autocomplete","name",1,"form-control","custom-input"],["for","form-pass",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","password","type","password","autocomplete","new-password","id","form-pass",1,"form-control","custom-input",3,"ngClass"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"text-end","grey-text","d-flex","align-items-center"],["type","checkbox","formControlName","admin","id","isAdmin",1,"rendux-input"],["for","isAdmin",1,"rendux-label","ms-3"],[1,"modal-footer","justify-content-between"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","submit",1,"btn","btn-primary",3,"disabled"],["for","form-pass-confirm",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","passwordConfirm","type","password","autocomplete","new-password","id","form-pass-confirm",1,"form-control","custom-input",3,"ngClass"]],template:function(o,a){o&1&&(i(0,"div",0)(1,"form",1),b("ngSubmit",function(){return a.onSubmit(a.form)}),i(2,"div",2)(3,"h5",3),m(4),s(5,"translate"),n(),i(6,"button",4),s(7,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),n()(),i(8,"div",5)(9,"div",6),p(10,"i",7),n(),i(11,"ul",8)(12,"li",9)(13,"label",10),m(14),s(15,"translate"),n(),i(16,"div",11),p(17,"input",12),s(18,"translate"),n()(),i(19,"li",9)(20,"label",13),m(21),s(22,"translate"),n(),i(23,"div",11),p(24,"input",14),s(25,"translate"),n()(),i(26,"li",9)(27,"label",15),m(28),s(29,"translate"),n(),i(30,"div",11),p(31,"input",16),s(32,"translate"),n()(),g(33,ge,7,9,"li",9),i(34,"li",17)(35,"span",18),m(36),s(37,"translate"),n(),i(38,"div",19),p(39,"input",20),s(40,"translate"),p(41,"label",21),n()()()(),i(42,"div",22)(43,"div",18)(44,"button",23),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),m(45),s(46,"translate"),n()(),p(47,"div",24),i(48,"div",25)(49,"button",26),m(50),s(51,"translate"),n()()()()()),o&2&&(e(),f("formGroup",a.form),e(3),d(l(5,16,"users.title_edit_user")),e(2),u("aria-label",l(7,18,"form.button_close")),e(8),d(l(15,20,"users.label_username")),e(3),u("aria-label",l(18,22,"users.label_username")),e(4),d(l(22,24,"users.label_full_name")),e(3),u("aria-label",l(25,26,"users.label_full_name")),e(4),d(l(29,28,a.page.password)),e(3),f("ngClass",I(40,me,a.form.controls.password.dirty&&a.form.controls.password.errors)),u("aria-label",l(32,30,a.page.password)),e(2),h(a.form.controls.password.value?33:-1),e(3),d(l(37,32,"users.label_admin_user")),e(3),u("aria-label",l(40,34,"users.label_admin_user")),e(6),C(" ",l(46,36,"form.button_close")," "),e(4),f("disabled",!a.form.valid),e(),C(" ",l(51,38,"form.button_save")," "))},dependencies:[V,q,M,Z,F,z,A,L,j,P,$],encapsulation:2})}return r})();function he(r,y){if(r&1){let t=D();i(0,"button",21),b("click",function(){B(t);let a=v().$implicit,_=v();return T(_.setup2fa(a))}),m(1),s(2,"translate"),n()}r&2&&(e(),d(l(2,1,"users.setup_2fa")))}function ye(r,y){if(r&1){let t=D();i(0,"button",17),b("click",function(){B(t);let a=v().$implicit,_=v();return T(_.disable2fa(a))}),m(1),s(2,"translate"),n()}r&2&&(e(),C(" ",l(2,1,"users.setup_2fa_disable")," "))}function Ee(r,y){if(r&1){let t=D();i(0,"div",7)(1,"div",8)(2,"div",9)(3,"div",10)(4,"span",11),p(5,"h4",12)(6,"h5",13),n()(),i(7,"div",14),g(8,he,3,3,"button",15),g(9,ye,3,3,"button",16),i(10,"div")(11,"button",17),s(12,"translate"),b("click",function(){let a=B(t).$implicit,_=v();return T(_.openEditUser(a))}),p(13,"i",18),n(),i(14,"button",19),s(15,"translate"),b("click",function(){let a=B(t).$implicit,_=v();return T(_.deleteUser(a.id))}),p(16,"i",20),n()()()()()()}if(r&2){let t=y.$implicit,o=v();e(5),f("innerText",t.name),e(),f("innerText",t.username),e(2),h(o.$auth.user.username===t.username&&!t.otpActive?8:-1),e(),h(o.$auth.user.username===t.username&&t.otpActive?9:-1),e(2),u("aria-label",l(12,7,"form.button_edit")),e(3),f("disabled",o.$auth.user.username===t.username),u("aria-label",l(15,9,"form.button_delete"))}}var gt=(()=>{class r{$api=c(k);$auth=c(Q);$modal=c(te);$route=c(ie);$toastr=c(U);$translate=c(S);homebridgeUsers;constructor(){}ngOnInit(){this.$route.data.subscribe(t=>{this.homebridgeUsers=t.homebridgeUsers})}reloadUsers(){return this.$api.get("/users").subscribe(t=>{this.homebridgeUsers=t})}openAddNewUser(){this.$modal.open(le,{size:"lg",backdrop:"static"}).result.finally(()=>{this.reloadUsers()})}openEditUser(t){let o=this.$modal.open(pe,{size:"lg",backdrop:"static"});o.componentInstance.user=t,o.result.finally(()=>{this.reloadUsers()})}deleteUser(t){this.$api.delete(`/users/${t}`).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("users.toast_user_deleted"),this.$translate.instant("toast.title_success")),this.reloadUsers()},error:o=>{console.error(o),this.$toastr.error(o.error.message||this.$translate.instant("users.toast_failed_to_delete_user"),this.$translate.instant("toast.title_error"))}})}setup2fa(t){let o=this.$modal.open(oe,{size:"lg",backdrop:"static"});o.componentInstance.user=t,o.result.finally(()=>{this.reloadUsers()})}disable2fa(t){let o=this.$modal.open(re,{size:"lg",backdrop:"static"});o.componentInstance.user=t,o.result.finally(()=>{this.reloadUsers()})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,selectors:[["app-users"]],decls:12,vars:6,consts:[[1,"row","mb-3"],[1,"col-9"],[1,"primary-text","m-0"],[1,"col-3","text-end"],[1,"btn","btn-elegant","waves-effect","m-0",3,"click"],[1,"fas","fa-fw","fa-user-plus"],[1,"row"],[1,"col-md-6","mb-4"],[1,"card","card-body"],[1,"d-flex","flex-column"],[1,"d-flex","flex-row","mb-3"],[1,"me-auto","my-0"],[3,"innerText"],[1,"small","text-truncate","primary-text",3,"innerText"],[1,"d-flex","flex-row","justify-content-between"],[1,"btn","btn-primary","m-0"],[1,"btn","btn-elegant","m-0"],[1,"btn","btn-elegant","m-0",3,"click"],[1,"fas","fa-fw","fa-user-pen"],[1,"btn","btn-danger","m-0","ms-2",3,"click","disabled"],[1,"fas","fa-fw","fa-trash"],[1,"btn","btn-primary","m-0",3,"click"]],template:function(o,a){o&1&&(i(0,"div",0)(1,"div",1)(2,"h3",2),m(3),s(4,"translate"),n()(),i(5,"div",3)(6,"button",4),s(7,"translate"),b("click",function(){return a.openAddNewUser()}),p(8,"i",5),n()()(),i(9,"div",6),W(10,Ee,17,11,"div",7,K),n()),o&2&&(e(3),d(l(4,2,"users.title_users")),e(3),u("aria-label",l(7,4,"users.button_add_user")),e(4),X(a.homebridgeUsers))},dependencies:[$],encapsulation:2})}return r})();export{re as a,oe as b,le as c,pe as d,gt as e};
@@ -0,0 +1 @@
1
+ import{a as j}from"./chunk-6Z6PXBOR.js";import"./chunk-TJJCM4OW.js";import"./chunk-6XANA56B.js";import{c as M}from"./chunk-WTTWP6KF.js";import"./chunk-S6UXXPGF.js";import{v as u}from"./chunk-2NQ5FYSH.js";import{A as d,z as l}from"./chunk-5NG7YGKN.js";import{d as h,g as a}from"./chunk-JBQX4JBH.js";import"./chunk-YIVNLLSL.js";import{k as v,n as y}from"./chunk-A5UYRXPM.js";import"./chunk-EM4PY2IW.js";import{a as g,c as C}from"./chunk-555LSHXI.js";import{ga as c,h as s,ha as i,kd as p,la as e,mb as n,w as f}from"./chunk-W6X46MTW.js";var m=(()=>{class o{$api=e(y);$router=e(h);$toastr=e(v);$translate=e(g);constructor(){}resolve(){return s(this,null,function*(){try{let r=yield f(this.$api.get("/config-editor"));return JSON.stringify(r,null,4)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.$router.navigate(["/"])}})}static \u0275fac=function(t){return new(t||o)};static \u0275prov=c({token:o,factory:o.\u0275fac})}return o})();var $=[{path:"",loadComponent:()=>import("./chunk-Q6U762OB.js").then(o=>o.ConfigEditorComponent),resolve:{config:m}}],R=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=n({type:o});static \u0275inj=i({imports:[a.forChild($),a]})}return o})();var Q=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=n({type:o});static \u0275inj=i({providers:[m],imports:[p,l,d,M,u,C.forChild(),R,j]})}return o})();export{Q as ConfigEditorModule};
@@ -0,0 +1 @@
1
+ import{a}from"./chunk-6Z6PXBOR.js";import"./chunk-TJJCM4OW.js";import"./chunk-6XANA56B.js";import"./chunk-WTTWP6KF.js";import"./chunk-S6UXXPGF.js";import"./chunk-2NQ5FYSH.js";import"./chunk-5NG7YGKN.js";import"./chunk-JBQX4JBH.js";import"./chunk-YIVNLLSL.js";import"./chunk-A5UYRXPM.js";import"./chunk-EM4PY2IW.js";import"./chunk-555LSHXI.js";import"./chunk-W6X46MTW.js";export{a as ConfigEditorComponent};