@esri/solutions-components 1.1.0-next.20250917.1 → 1.1.0-next.20250917.2
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.
- package/dist/cdn/{BYKHJKXV.js → 2B5CG2GD.js} +2 -2
- package/dist/cdn/{FYY3S3Z5.js → 2EA73XDR.js} +2 -2
- package/dist/cdn/{LHUGR2M5.js → 2QHVM3G6.js} +2 -2
- package/dist/cdn/{EHWB6OZE.js → 2QVYKDOY.js} +2 -2
- package/dist/cdn/{OGCCPNWE.js → 2VSRLXUY.js} +2 -2
- package/dist/cdn/{MLTILQN4.js → 2Z6NX74R.js} +2 -2
- package/dist/cdn/{54Q55Y2U.js → 364JWRQF.js} +1 -1
- package/dist/cdn/3LQXDEB2.js +18 -0
- package/dist/cdn/{QC7NZJ3S.js → 3MM3SVPX.js} +2 -2
- package/dist/cdn/{VL4YBUCG.js → 3N7UFINZ.js} +2 -2
- package/dist/cdn/{UK2A3ONQ.js → 3PQ6EUV4.js} +2 -2
- package/dist/cdn/{YOELOUHA.js → 3PW5DARS.js} +2 -2
- package/dist/cdn/{5C5B4QKH.js → 3QEWJZIQ.js} +2 -2
- package/dist/cdn/{7RMVNXMR.js → 3RGRK6P3.js} +2 -2
- package/dist/cdn/{AETEXDRE.js → 3RUQ23S5.js} +2 -2
- package/dist/cdn/{O5C3YLJE.js → 3TER7WEM.js} +2 -2
- package/dist/cdn/{3RJOS4SB.js → 3UEA2SYR.js} +2 -2
- package/dist/cdn/{MB6SBDLQ.js → 3WHGO3ZA.js} +2 -2
- package/dist/cdn/{CWBGX5QX.js → 3ZYMEGLW.js} +2 -2
- package/dist/cdn/{PU5PZCL4.js → 47KB6BYP.js} +2 -2
- package/dist/cdn/{SKXF2EYJ.js → 4BEHIGCI.js} +2 -2
- package/dist/cdn/{U42WTSOS.js → 4FHKDLPJ.js} +2 -2
- package/dist/cdn/{G7COFGFO.js → 4FQ37C6P.js} +2 -2
- package/dist/cdn/{VZU32GLR.js → 4G5LWBKJ.js} +2 -2
- package/dist/cdn/{2SIN3G2L.js → 4HTYWSQQ.js} +2 -2
- package/dist/cdn/{EFAUQO4F.js → 4KG7VSZG.js} +2 -2
- package/dist/cdn/{ZBI4IGN5.js → 4KOZTOAL.js} +2 -2
- package/dist/cdn/{442YTJO3.js → 4NAXIMZF.js} +1 -1
- package/dist/cdn/{S2Y4WEKE.js → 4UYVA735.js} +2 -2
- package/dist/cdn/{SIN56QR7.js → 4VANEFYM.js} +2 -2
- package/dist/cdn/{RIIZ7QQZ.js → 4WDBDOQO.js} +2 -2
- package/dist/cdn/{F4QOXYGH.js → 4ZOYEYVR.js} +2 -2
- package/dist/cdn/{FFK53NKE.js → 56ND6ZYU.js} +2 -2
- package/dist/cdn/{FG24QZWE.js → 5A7D3CA7.js} +2 -2
- package/dist/cdn/{ZSRLOM3Q.js → 5BNR6F5K.js} +1 -1
- package/dist/cdn/{BXXJOB4H.js → 5DHHLHGR.js} +1 -1
- package/dist/cdn/{OHUDAWEX.js → 5JHMWKAW.js} +2 -2
- package/dist/cdn/{X5KH75KH.js → 5MHB3R3D.js} +2 -2
- package/dist/cdn/{QWOKTIQO.js → 5NJOBWLB.js} +2 -2
- package/dist/cdn/{H7PCNI2B.js → 5XMWJOTF.js} +1 -1
- package/dist/cdn/{ZOCHMKIS.js → 5Y7WXVHS.js} +1 -1
- package/dist/cdn/{POH5W7N2.js → 644I76PJ.js} +2 -2
- package/dist/cdn/{CXA2GZLV.js → 6CI4ALIL.js} +2 -2
- package/dist/cdn/{TFOR5IN2.js → 6EZSKLB2.js} +2 -2
- package/dist/cdn/{UPCU2YNO.js → 6HYMAUUI.js} +2 -2
- package/dist/cdn/{77ZJA5MA.js → 6K5TTZTE.js} +2 -2
- package/dist/cdn/{QTWUBF6E.js → 6OSBEOJF.js} +2 -2
- package/dist/cdn/{LEAZKVUV.js → 6SIXYVLD.js} +2 -2
- package/dist/cdn/{E2OUIXA6.js → 6TEMQ7YL.js} +2 -2
- package/dist/cdn/6TLZ3BWO.js +4 -0
- package/dist/cdn/{KW323Y7Z.js → 6TWXYM4J.js} +2 -2
- package/dist/cdn/{NBDKGDQ3.js → 6UL2R6AK.js} +2 -2
- package/dist/cdn/{AV6ZHPKI.js → 6WGSMUQ7.js} +1 -1
- package/dist/cdn/{6GRO6IWG.js → 6XI3ZWVO.js} +2 -2
- package/dist/cdn/{Q7Z5NYII.js → 73DD3JCD.js} +2 -2
- package/dist/cdn/{33TP7LEP.js → 77DPBKCQ.js} +2 -2
- package/dist/cdn/{LJE5RVH3.js → 7BMLAK67.js} +2 -2
- package/dist/cdn/{7BTE7YBI.js → 7EAHMYUF.js} +2 -2
- package/dist/cdn/{KF2ZU65S.js → 7I3P7TY2.js} +2 -2
- package/dist/cdn/{KSDERO45.js → 7K2TNI3E.js} +2 -2
- package/dist/cdn/{LQYMUUF3.js → 7KAD4UDG.js} +2 -2
- package/dist/cdn/{LJH64QDF.js → 7M5E3WSJ.js} +2 -2
- package/dist/cdn/{6R5GRVZ2.js → 7PBGZACY.js} +2 -2
- package/dist/cdn/{4YMGDWGC.js → 7WZG5VVX.js} +2 -2
- package/dist/cdn/{DMHRAMQR.js → A2MIDTEE.js} +2 -2
- package/dist/cdn/{ATIGVK4O.js → A3YNNKL2.js} +2 -2
- package/dist/cdn/{SAANCWI3.js → A7GJMBGB.js} +2 -2
- package/dist/cdn/{V6KV2EKM.js → ABKCL6AL.js} +2 -2
- package/dist/cdn/{EX3YIW6I.js → ASS23JJR.js} +2 -2
- package/dist/cdn/{OMJEC7PI.js → B2VUGJOL.js} +1 -1
- package/dist/cdn/{ETXJCKXM.js → BIBUPVTN.js} +2 -2
- package/dist/cdn/{LK7J2IL4.js → BNAWO3YV.js} +2 -2
- package/dist/cdn/BPFOLUSE.js +4 -0
- package/dist/cdn/{PL5JEDPA.js → BRNR7JPO.js} +2 -2
- package/dist/cdn/{LOUWTCCR.js → BWM233Y2.js} +2 -2
- package/dist/cdn/{UACNTGZ7.js → C3EO7W5Z.js} +2 -2
- package/dist/cdn/{57LAOXA6.js → CD7W6EWW.js} +2 -2
- package/dist/cdn/{RZDRPSVM.js → CIWVFWA4.js} +2 -2
- package/dist/cdn/{XWLRY4IU.js → CLPOEIEB.js} +2 -2
- package/dist/cdn/{WBOFE34I.js → CMNI7HPB.js} +2 -2
- package/dist/cdn/{OEI42XVX.js → CNTZINRU.js} +2 -2
- package/dist/cdn/{2I2YENHT.js → CRW7KHCH.js} +2 -2
- package/dist/cdn/{2TCRQXKW.js → CS3ELQBP.js} +2 -2
- package/dist/cdn/{Z6JQQJT2.js → CTRA7MHN.js} +2 -2
- package/dist/cdn/{QUOUTJQ3.js → CVDVS2RY.js} +2 -2
- package/dist/cdn/{ZN5AXSHK.js → CWYLLJLY.js} +2 -2
- package/dist/cdn/{DTO23XEP.js → D4YO2FEB.js} +2 -2
- package/dist/cdn/{NJIUK7EX.js → DBJLRGJJ.js} +2 -2
- package/dist/cdn/{4B26SMKT.js → DCQ5JJZJ.js} +2 -2
- package/dist/cdn/DSZPIEVW.js +4 -0
- package/dist/cdn/{DM4LW6Q4.js → DUG5IBHI.js} +2 -2
- package/dist/cdn/{EWVUFFYM.js → DZSLREXG.js} +2 -2
- package/dist/cdn/{EQN33NBW.js → E27L3DFH.js} +2 -2
- package/dist/cdn/{BEWLFFYT.js → E6V536IL.js} +2 -2
- package/dist/cdn/{H7A7RVWX.js → E7PKMOWQ.js} +2 -2
- package/dist/cdn/{2SSFOKDJ.js → ECTFRVKR.js} +2 -2
- package/dist/cdn/{MSQ4QY3M.js → EEC2Q3EB.js} +2 -2
- package/dist/cdn/{PFJJL3K3.js → EHB34ID2.js} +1 -1
- package/dist/cdn/{2SHTW2ZI.js → ELWGKPRP.js} +2 -2
- package/dist/cdn/{Q5GYBZ6S.js → EPMWOCNQ.js} +2 -2
- package/dist/cdn/{PBZRZP7G.js → ERSWMNMV.js} +1 -1
- package/dist/cdn/{Q6WUDFS6.js → EVAI3Q2L.js} +2 -2
- package/dist/cdn/{PEXKY6QE.js → EVECCODA.js} +1 -1
- package/dist/cdn/{D6YOAMN6.js → F2N342KC.js} +2 -2
- package/dist/cdn/{CLNHIIST.js → F7WG54DG.js} +2 -2
- package/dist/cdn/{6H4R6H26.js → FB46LTBK.js} +2 -2
- package/dist/cdn/{YFRFTNM4.js → FEILRWIA.js} +2 -2
- package/dist/cdn/{M3RQ6YB2.js → FFTR3U3E.js} +2 -2
- package/dist/cdn/{WB6EVTKB.js → FJHVSYVF.js} +2 -2
- package/dist/cdn/{U4JBG65X.js → FLL54BR7.js} +2 -2
- package/dist/cdn/{JV5TACGL.js → FLTWVQZV.js} +2 -2
- package/dist/cdn/{Z7BHSA4E.js → FO62AJU7.js} +2 -2
- package/dist/cdn/{EE6BRKTG.js → FQJZZBZS.js} +2 -2
- package/dist/cdn/{UBFQBYB3.js → FQK4E4GI.js} +2 -2
- package/dist/cdn/{6RNO7D3E.js → FQQNEBBN.js} +2 -2
- package/dist/cdn/{7KOGLZ6A.js → FR4VRKHF.js} +2 -2
- package/dist/cdn/{Q4KC5E7I.js → FUZVGEL7.js} +2 -2
- package/dist/cdn/{X7BVJ3FT.js → FV5IMMS5.js} +2 -2
- package/dist/cdn/{PKB6JNV7.js → G7BJA3UA.js} +2 -2
- package/dist/cdn/{YQTNI3UI.js → G7M6V4S3.js} +2 -2
- package/dist/cdn/{RGS23LVD.js → GA33CY3H.js} +2 -2
- package/dist/cdn/{HZ655FWN.js → GAOAQ2JQ.js} +2 -2
- package/dist/cdn/{2BHPIU3V.js → GBVNK6OA.js} +2 -2
- package/dist/cdn/{LHZ3XERP.js → GG3L4SLA.js} +2 -2
- package/dist/cdn/{E3IGEKXX.js → GGMEKIRZ.js} +2 -2
- package/dist/cdn/{MIRER6VJ.js → GH4WMKRH.js} +2 -2
- package/dist/cdn/GJXQQW4E.js +4 -0
- package/dist/cdn/{2KZEQYTV.js → GM4FBMYT.js} +1 -1
- package/dist/cdn/{254J2BPV.js → GNIFB7S5.js} +2 -2
- package/dist/cdn/{NNC5D3XW.js → GNKDENVD.js} +2 -2
- package/dist/cdn/{RSTLLF3I.js → GOX7VJIW.js} +2 -2
- package/dist/cdn/{5WTH4MKL.js → GUCMGX23.js} +2 -2
- package/dist/cdn/{KS6K3G5I.js → GVLKKIOI.js} +2 -2
- package/dist/cdn/{DX6YFVFJ.js → GVLZQUYW.js} +2 -2
- package/dist/cdn/{HJ7JZJMY.js → GVRSW7VY.js} +2 -2
- package/dist/cdn/{TYOYY3PQ.js → GX6ITGNV.js} +2 -2
- package/dist/cdn/GYDQY6XU.js +4 -0
- package/dist/cdn/{GX6IUGMJ.js → GZ5UYHJX.js} +2 -2
- package/dist/cdn/{FC7NSA73.js → HFJY5BRG.js} +2 -2
- package/dist/cdn/{CI2DTN6B.js → HK7CKWPF.js} +2 -2
- package/dist/cdn/{KOKAXSJ3.js → HS3MYU7P.js} +2 -2
- package/dist/cdn/{ZIGUL6LU.js → HU5FMHBP.js} +2 -2
- package/dist/cdn/HUFFP3HX.js +4 -0
- package/dist/cdn/{D2WEMOK5.js → HV7ZJUG4.js} +2 -2
- package/dist/cdn/{STCGIBGD.js → HYSCDQ3E.js} +2 -2
- package/dist/cdn/{DGTWF7ZS.js → I4IPULFF.js} +2 -2
- package/dist/cdn/{6ICUBXEZ.js → I5ADP6VE.js} +2 -2
- package/dist/cdn/{5S44Y56N.js → I7PLVVOZ.js} +2 -2
- package/dist/cdn/{7UP5RDKM.js → IC7ENO6V.js} +2 -2
- package/dist/cdn/{RYT2CJ6F.js → IE3HP3EO.js} +1 -1
- package/dist/cdn/{3DWQM643.js → INBSPLL4.js} +2 -2
- package/dist/cdn/{TD5NAM5H.js → IQB4H7PN.js} +2 -2
- package/dist/cdn/{63NOZPVZ.js → IQSZDJM4.js} +2 -2
- package/dist/cdn/{DZPVXGGI.js → IUZ6DIDP.js} +2 -2
- package/dist/cdn/{GNIUPKE6.js → JAUS7SF3.js} +2 -2
- package/dist/cdn/{UOHDOMRU.js → JAVKV3H2.js} +2 -2
- package/dist/cdn/{J7RBVELL.js → JCFME7P2.js} +2 -2
- package/dist/cdn/{5DJFJXBS.js → JDDACJ7C.js} +1 -1
- package/dist/cdn/{XKSN7OZN.js → JEG56LTH.js} +2 -2
- package/dist/cdn/{PRTIGOIB.js → JHKP4KD4.js} +4 -4
- package/dist/cdn/{UX2L75ED.js → JIAFVTZG.js} +2 -2
- package/dist/cdn/{V4YQJNMY.js → JKHTYESY.js} +2 -2
- package/dist/cdn/{YVQHAXE6.js → JKYYOJDP.js} +2 -2
- package/dist/cdn/{7DVQAKKA.js → JUG4HSUL.js} +1 -1
- package/dist/cdn/{RM6OJ6CC.js → JVT4AG2K.js} +2 -2
- package/dist/cdn/{NYQRE3PP.js → JWJ2B5P3.js} +2 -2
- package/dist/cdn/{U3D5OGPP.js → JWXJCQRW.js} +2 -2
- package/dist/cdn/{6ZGYZNIG.js → JXRTTEWP.js} +2 -2
- package/dist/cdn/{NXUG2Y4D.js → K2JT6JLT.js} +2 -2
- package/dist/cdn/{VA4HF6BT.js → K4WZH4AR.js} +2 -2
- package/dist/cdn/{EHO67FFU.js → KA5XTDOF.js} +1 -1
- package/dist/cdn/{YOTK7QJY.js → KEN6S3GR.js} +2 -2
- package/dist/cdn/{PVWKBRMD.js → KJ4JCHPZ.js} +2 -2
- package/dist/cdn/{DAHTXMBD.js → KJ4ZKCPD.js} +2 -2
- package/dist/cdn/{DHMOLLBL.js → KM2TMD56.js} +2 -2
- package/dist/cdn/{JB65YU3U.js → KMF7IHAP.js} +1 -1
- package/dist/cdn/{N3YIDTVI.js → KQF6ZJVA.js} +2 -2
- package/dist/cdn/{RYYQGQBV.js → KQGJICCT.js} +2 -2
- package/dist/cdn/{TP6Q7Q5F.js → KTMUT3IN.js} +2 -2
- package/dist/cdn/{6NI3ICUC.js → KUTCEKBO.js} +2 -2
- package/dist/cdn/{BL3TWZBW.js → KV6IJ7C5.js} +2 -2
- package/dist/cdn/{EPWJ5MH5.js → KVMIVMVI.js} +2 -2
- package/dist/cdn/{AKYRMP2F.js → KVMVCMLG.js} +1 -1
- package/dist/cdn/{5TISSUZK.js → KVPBNPPS.js} +1 -1
- package/dist/cdn/{AFKJO6CL.js → KVREUTJS.js} +2 -2
- package/dist/cdn/{RDLASZQL.js → KWZSQEVY.js} +2 -2
- package/dist/cdn/{D4NG2DKH.js → L2WRZ7RC.js} +2 -2
- package/dist/cdn/{3XYB36Q3.js → L4TFZRVM.js} +1 -1
- package/dist/cdn/{C5ODWBYI.js → L63PGZD5.js} +2 -2
- package/dist/cdn/{Z7HUXWT7.js → L7LYQVLL.js} +2 -2
- package/dist/cdn/{EE6ZBEFP.js → LARLSPAP.js} +2 -2
- package/dist/cdn/{2JOMSPJR.js → LJF6NBPP.js} +2 -2
- package/dist/cdn/{HYDLFNWZ.js → LMJYFTA4.js} +2 -2
- package/dist/cdn/{4YCVI3FS.js → LNYBWLFL.js} +2 -2
- package/dist/cdn/{DAMQCKMB.js → LOHRDCER.js} +2 -2
- package/dist/cdn/{7LI47G6Q.js → LWLRHORI.js} +2 -2
- package/dist/cdn/{RHJUIQ6M.js → M5CETFR7.js} +2 -2
- package/dist/cdn/{MS4KAGNH.js → M77NQ22F.js} +2 -2
- package/dist/cdn/{O5OZCLSF.js → M7EDLQZ6.js} +2 -2
- package/dist/cdn/{ZII5BUBB.js → MAUETEHW.js} +2 -2
- package/dist/cdn/{KHZSF3FD.js → MAXS7B5Q.js} +2 -2
- package/dist/cdn/{Z7IEGCD6.js → MELI5KJV.js} +2 -2
- package/dist/cdn/{P72YRSGB.js → MFCMYLCX.js} +2 -2
- package/dist/cdn/{NQ3M6L4H.js → MI5QJ6G4.js} +1 -1
- package/dist/cdn/{SGKKUBUH.js → MITKDSQJ.js} +2 -2
- package/dist/cdn/{TV3E3QAW.js → MK3LG2TU.js} +2 -2
- package/dist/cdn/{22IQZT6J.js → MNGTSGG3.js} +2 -2
- package/dist/cdn/{LNW7XNYY.js → MTKZNDJI.js} +2 -2
- package/dist/cdn/{2734ABSH.js → N67FXIF6.js} +1 -1
- package/dist/cdn/{3UJYMJ4M.js → NAIZ62OD.js} +2 -2
- package/dist/cdn/{IGHDZ6NM.js → NDMJIBFT.js} +2 -2
- package/dist/cdn/{4MF7IEUO.js → NDQ5G5H4.js} +2 -2
- package/dist/cdn/{65HGLJRC.js → NGRKIQVV.js} +2 -2
- package/dist/cdn/{7BISYZUI.js → NOMZO53Y.js} +2 -2
- package/dist/cdn/{XGDUNKJK.js → NVZ35ESS.js} +2 -2
- package/dist/cdn/{GTAD2V3J.js → NZNQYGTL.js} +2 -2
- package/dist/cdn/{ZD4PAHDV.js → O2V3XVMF.js} +2 -2
- package/dist/cdn/{ZHL4Y2JO.js → O56CDWBR.js} +2 -2
- package/dist/cdn/{KBZMR6Y4.js → O6FZLO4X.js} +2 -2
- package/dist/cdn/{HQCO6V6Y.js → O7NHLOYI.js} +2 -2
- package/dist/cdn/{2MEEZ5ZM.js → OD5DMLZU.js} +2 -2
- package/dist/cdn/{6M6B4G2D.js → OL4LL6OB.js} +2 -2
- package/dist/cdn/{RPXT2OKO.js → OMNYDQM5.js} +2 -2
- package/dist/cdn/{B44JDUZ2.js → OQL2LCUX.js} +2 -2
- package/dist/cdn/{T6G5VVOC.js → OSSY4LR3.js} +2 -2
- package/dist/cdn/{XYD5LQZ7.js → P2XRN2UF.js} +2 -2
- package/dist/cdn/{D7MXZOLT.js → P5XN5L7G.js} +2 -2
- package/dist/cdn/PCFZO3PT.js +4 -0
- package/dist/cdn/{VB6LKF6E.js → PL4QMZJO.js} +2 -2
- package/dist/cdn/{Z4FRBC4G.js → PLRMXXZL.js} +1 -1
- package/dist/cdn/{NOXDRDHJ.js → PQ5DJQDQ.js} +2 -2
- package/dist/cdn/{KRCQW7YP.js → PSJSGIKL.js} +1 -1
- package/dist/cdn/{JLI2QLLS.js → PWS5IY4G.js} +2 -2
- package/dist/cdn/{FSHGBGA7.js → PXSKVKAL.js} +2 -2
- package/dist/cdn/{7RZYECSQ.js → PYIFC4SW.js} +2 -2
- package/dist/cdn/{BSK2FSTE.js → Q2I5BRLB.js} +2 -2
- package/dist/cdn/{PD62JJHH.js → Q3DDNXCC.js} +2 -2
- package/dist/cdn/{CLYISB65.js → Q6QQOQ7G.js} +2 -2
- package/dist/cdn/{C6ZJEKKF.js → QBLSFSCZ.js} +2 -2
- package/dist/cdn/{Y6OFLOPT.js → QJGLGCY6.js} +2 -2
- package/dist/cdn/{C434YNG2.js → QR4Z5GNL.js} +1 -1
- package/dist/cdn/{JHDFGAEX.js → QTERT7PX.js} +2 -2
- package/dist/cdn/{LWGB5XJM.js → QYA24OPS.js} +2 -2
- package/dist/cdn/{A7TK3HI4.js → R363TCFE.js} +2 -2
- package/dist/cdn/{S4YZPPXH.js → R6PONLTE.js} +2 -2
- package/dist/cdn/{MDWAUWKR.js → R7OEKBBB.js} +2 -2
- package/dist/cdn/{BB7Q2E6F.js → RCFOFAZ4.js} +2 -2
- package/dist/cdn/{6F5NYMCK.js → RDHAX76P.js} +2 -2
- package/dist/cdn/{RJJG2Z2Z.js → REG256EB.js} +2 -2
- package/dist/cdn/{PJISEH5O.js → RFMEIINM.js} +1 -1
- package/dist/cdn/{UHUBSPUI.js → RGUHJTI3.js} +2 -2
- package/dist/cdn/{MKZ36QS2.js → RJIINRDD.js} +2 -2
- package/dist/cdn/{DTK3LA3J.js → RKVFICOU.js} +2 -2
- package/dist/cdn/{KSN3IAEH.js → RKYKO75J.js} +2 -2
- package/dist/cdn/ROQFTEXJ.js +4 -0
- package/dist/cdn/{Q7HZZP5B.js → RQ2NI2FI.js} +2 -2
- package/dist/cdn/{IWRWVYE2.js → S2LHNHIF.js} +2 -2
- package/dist/cdn/{MEIAZRM6.js → S33EWYS4.js} +1 -1
- package/dist/cdn/{MSNUWHZX.js → S5CO7PQO.js} +2 -2
- package/dist/cdn/{GPOQA3W5.js → S5FOL33Z.js} +2 -2
- package/dist/cdn/{J5LUGGEM.js → S6ZT67A3.js} +1 -1
- package/dist/cdn/{OAONHDB7.js → SFT4N6SF.js} +2 -2
- package/dist/cdn/{55Y3NPXC.js → SGD4CC4F.js} +2 -2
- package/dist/cdn/{C6FCTU5X.js → SHPZJTK6.js} +2 -2
- package/dist/cdn/{KXKAKCTY.js → SMKH74K5.js} +2 -2
- package/dist/cdn/{BZLBIIMX.js → STNTU6EO.js} +2 -2
- package/dist/cdn/{MXLDJIIW.js → STZJPJD4.js} +2 -2
- package/dist/cdn/{FZFTTC2N.js → SVJ4SIAD.js} +2 -2
- package/dist/cdn/{QVIZVET7.js → SWVG7YKC.js} +1 -1
- package/dist/cdn/{C37BWQGL.js → T2DKTUJA.js} +2 -2
- package/dist/cdn/{74NSWBXK.js → T4HKMZJG.js} +2 -2
- package/dist/cdn/{QOFZ275H.js → T6QYT2XT.js} +2 -2
- package/dist/cdn/{OAGFAKNI.js → T7SAKDYY.js} +2 -2
- package/dist/cdn/{G5FMCRUO.js → TAPF7CTQ.js} +2 -2
- package/dist/cdn/{PAH2YDTS.js → TEDQIKUH.js} +2 -2
- package/dist/cdn/{ZU6MGOIO.js → TIF2B4CA.js} +2 -2
- package/dist/cdn/{2BJ3YAJW.js → TKVCIAOS.js} +2 -2
- package/dist/cdn/{2LPFG2CT.js → TN6WYWNC.js} +2 -2
- package/dist/cdn/{7S4DT77X.js → TSUHAYI3.js} +2 -2
- package/dist/cdn/{2RPEDXDL.js → TX26EX7S.js} +2 -2
- package/dist/cdn/{WLSSLUAO.js → TX2UBOOT.js} +2 -2
- package/dist/cdn/{HO6FTZFW.js → TY5UJ3OB.js} +2 -2
- package/dist/cdn/{VSK4SSCO.js → TZZ5PQA7.js} +1 -1
- package/dist/cdn/{R26GJTBL.js → U2LSLXGD.js} +2 -2
- package/dist/cdn/{GTPJDWLZ.js → U45HRSAX.js} +2 -2
- package/dist/cdn/{FSOOQC6X.js → UAOFOFNN.js} +2 -2
- package/dist/cdn/{CGMQBOCQ.js → UBDAOBJS.js} +2 -2
- package/dist/cdn/{26G745RA.js → UG3S34JP.js} +2 -2
- package/dist/cdn/{H2G4MMVN.js → UJVVCUUN.js} +2 -2
- package/dist/cdn/{OAGQFGAF.js → UNDJ7YPO.js} +2 -2
- package/dist/cdn/{DUPUWAGJ.js → URL2ELNV.js} +2 -2
- package/dist/cdn/{5OQXQNJT.js → URZWYRCE.js} +2 -2
- package/dist/cdn/{TLGYR64Y.js → UTFBB7GM.js} +1 -1
- package/dist/cdn/{N5R7QFQV.js → UXLATTSW.js} +2 -2
- package/dist/cdn/{277XJSTT.js → UZMSG222.js} +2 -2
- package/dist/cdn/{SXVHHNRC.js → UZQEPAMF.js} +2 -2
- package/dist/cdn/{F4JVAFDH.js → V22KW5OE.js} +2 -2
- package/dist/cdn/{DSIQEKMO.js → V2MTM47E.js} +2 -2
- package/dist/cdn/{J46JZ3HC.js → VBD55LG4.js} +2 -2
- package/dist/cdn/{4QTP52XH.js → VC7L3DS6.js} +1 -1
- package/dist/cdn/{ZKFVGATQ.js → VDABGJEZ.js} +2 -2
- package/dist/cdn/{OHYLULSL.js → VFQXFSDH.js} +2 -2
- package/dist/cdn/{26KCPR7N.js → VK6WKVHH.js} +1 -1
- package/dist/cdn/{ITVEADGM.js → VK7YT7NV.js} +2 -2
- package/dist/cdn/{HDHARZ7G.js → VKRJ44MY.js} +2 -2
- package/dist/cdn/{JK77IEXN.js → VSND7BYN.js} +2 -2
- package/dist/cdn/{NX25NZSD.js → VSUIMUF4.js} +1 -1
- package/dist/cdn/{NN3GLANP.js → VXFTGIAM.js} +2 -2
- package/dist/cdn/{L4JMVIN2.js → W3UGQPJ5.js} +2 -2
- package/dist/cdn/{V7AWXEB3.js → WDK6RFPZ.js} +2 -2
- package/dist/cdn/{TOGKYXTE.js → WJ2VSIQ7.js} +2 -2
- package/dist/cdn/{HS6FHZDV.js → WMEZR7FC.js} +2 -2
- package/dist/cdn/{EBFEJ3UW.js → WSMEWPMH.js} +2 -2
- package/dist/cdn/{S64JEF4E.js → WV2JLUYH.js} +1 -1
- package/dist/cdn/{KY7MCT5Q.js → WX6O5RBN.js} +1 -1
- package/dist/cdn/{BNUMYUKI.js → WZUJS345.js} +2 -2
- package/dist/cdn/{SEBUGPQK.js → X4AT6KUX.js} +3 -3
- package/dist/cdn/{NCADJUKG.js → XC3CRRDY.js} +2 -2
- package/dist/cdn/{FBGSINKC.js → XGJY7EVA.js} +2 -2
- package/dist/cdn/{QN33I7LZ.js → XGKUAYPI.js} +2 -2
- package/dist/cdn/{5NQ7V4XP.js → XHM3CEQL.js} +2 -2
- package/dist/cdn/{3EYWSHHH.js → XI4HJZZE.js} +2 -2
- package/dist/cdn/{GOWTEL4L.js → XJH4WLRE.js} +1 -1
- package/dist/cdn/{FR7FDRQG.js → XN2ZCMXI.js} +2 -2
- package/dist/cdn/{P5QKOX7P.js → XQJOZDDY.js} +2 -2
- package/dist/cdn/{LP2V3LHC.js → XSMTBFNA.js} +2 -2
- package/dist/cdn/{3IDRBBTI.js → XUWSQORW.js} +2 -2
- package/dist/cdn/{UJOAAHPG.js → Y25NPDNV.js} +2 -2
- package/dist/cdn/{LQQNPFDP.js → Y2W6WNR6.js} +2 -2
- package/dist/cdn/{L4YIXDS2.js → Y67Y5ZEF.js} +2 -2
- package/dist/cdn/{FQD3MPL2.js → YFM5I7KQ.js} +2 -2
- package/dist/cdn/{UMCRNTVU.js → YPBKQIYH.js} +2 -2
- package/dist/cdn/{KKFYYIMR.js → ZAXKRRWG.js} +2 -2
- package/dist/cdn/{C6UJS3U4.js → ZB6AOMBI.js} +2 -2
- package/dist/cdn/{7AWMALHG.js → ZKNZ73HF.js} +2 -2
- package/dist/cdn/{E6VNYFTK.js → ZLOG23DX.js} +2 -2
- package/dist/cdn/{RJ5O3HFW.js → ZVADDIZU.js} +2 -2
- package/dist/cdn/{UF6K5ZJL.js → ZVSX6TBK.js} +1 -1
- package/dist/cdn/{54VN5OXT.js → ZZ34FKLA.js} +1 -1
- package/dist/cdn/{3BGTO2BG.js → ZZQSBWOF.js} +2 -2
- package/dist/cdn/index.js +2 -2
- package/dist/chunks/Auth.js +1 -1
- package/dist/chunks/CardsFetcher.js +1 -1
- package/dist/chunks/appConfig.js +1 -1
- package/dist/chunks/cardFetchingUtils.js +1 -1
- package/dist/chunks/cardsHelpers.js +1 -1
- package/dist/chunks/common.js +1 -1
- package/dist/chunks/deployAppContexts.js +1 -1
- package/dist/chunks/downloadUtils.js +1 -1
- package/dist/chunks/getItemIcon.js +1 -1
- package/dist/chunks/helpers.js +1 -1
- package/dist/chunks/interfaces.js +1 -1
- package/dist/chunks/loadModules.js +1 -1
- package/dist/chunks/mapViewUtils.js +1 -1
- package/dist/chunks/pciUtils.js +1 -1
- package/dist/chunks/popupUtils.js +1 -1
- package/dist/chunks/prepareDataForSolutionDisplay.js +1 -1
- package/dist/chunks/privilegeUtils.js +1 -1
- package/dist/chunks/publicNotificationContext.js +1 -1
- package/dist/chunks/queryUtils.js +1 -1
- package/dist/chunks/runtime.js +1 -1
- package/dist/chunks/solution-store.js +1 -1
- package/dist/chunks/templates.js +1 -1
- package/dist/chunks/useT9n.js +1 -1
- package/dist/components/arcgis-solutions-assistant/customElement.js +1 -1
- package/dist/components/basemap-gallery/customElement.js +1 -1
- package/dist/components/buffer-tools/customElement.js +1 -1
- package/dist/components/card-manager/customElement.js +1 -1
- package/dist/components/consent-manager/customElement.js +1 -1
- package/dist/components/create-feature/customElement.js +1 -1
- package/dist/components/create-related-feature/customElement.js +1 -1
- package/dist/components/crowdsource-manager/customElement.js +1 -1
- package/dist/components/crowdsource-reporter/customElement.js +1 -1
- package/dist/components/deduct-calculator/customElement.js +1 -1
- package/dist/components/delete-button/customElement.js +1 -1
- package/dist/components/delete-dialog/customElement.js +1 -1
- package/dist/components/edit-card/customElement.js +1 -1
- package/dist/components/feature-details/customElement.js +1 -1
- package/dist/components/feature-list/customElement.js +1 -1
- package/dist/components/field-selection/customElement.js +1 -1
- package/dist/components/floor-filter/customElement.js +1 -1
- package/dist/components/info-card/customElement.js +1 -1
- package/dist/components/json-editor/customElement.js +1 -1
- package/dist/components/layer-list/customElement.js +1 -1
- package/dist/components/layer-table/customElement.js +1 -1
- package/dist/components/map-card/customElement.js +1 -1
- package/dist/components/map-draw-tools/customElement.js +1 -1
- package/dist/components/map-fullscreen/customElement.js +1 -1
- package/dist/components/map-layer-picker/customElement.js +1 -1
- package/dist/components/map-legend/customElement.js +1 -1
- package/dist/components/map-picker/customElement.js +1 -1
- package/dist/components/map-search/customElement.js +1 -1
- package/dist/components/map-select-tools/customElement.js +1 -1
- package/dist/components/map-tools/customElement.js +1 -1
- package/dist/components/pci-calculator/customElement.js +1 -1
- package/dist/components/pdf-download/customElement.js +1 -1
- package/dist/components/public-notification/customElement.js +1 -1
- package/dist/components/refine-selection/customElement.js +1 -1
- package/dist/components/selection-tool/customElement.js +1 -1
- package/dist/components/solution-article-card/customElement.js +1 -1
- package/dist/components/solution-configuration/customElement.js +1 -1
- package/dist/components/solution-configure-dialog/customElement.js +1 -1
- package/dist/components/solution-configure-titles/customElement.js +1 -1
- package/dist/components/solution-contents/customElement.js +1 -1
- package/dist/components/solution-delete-dialog/customElement.js +1 -1
- package/dist/components/solution-deploy-dialog/customElement.js +1 -1
- package/dist/components/solution-deployed-card/customElement.js +1 -1
- package/dist/components/solution-deploying-dialog/customElement.js +1 -1
- package/dist/components/solution-details-card/customElement.js +1 -1
- package/dist/components/solution-details-panel/customElement.js +1 -1
- package/dist/components/solution-item/customElement.js +1 -1
- package/dist/components/solution-item-accordion/customElement.js +1 -1
- package/dist/components/solution-item-details/customElement.js +1 -1
- package/dist/components/solution-item-diagram/customElement.js +1 -1
- package/dist/components/solution-item-icon/customElement.js +1 -1
- package/dist/components/solution-item-sharing/customElement.js +1 -1
- package/dist/components/solution-organization-variables/customElement.js +1 -1
- package/dist/components/solution-resource-item/customElement.js +1 -1
- package/dist/components/solution-snapshot-gallery/customElement.js +1 -1
- package/dist/components/solution-social-share/customElement.js +1 -1
- package/dist/components/solution-spatial-ref/customElement.js +1 -1
- package/dist/components/solution-template-data/customElement.js +1 -1
- package/dist/components/solution-variables/customElement.js +1 -1
- package/dist/components/solutions-all-panel/customElement.js +1 -1
- package/dist/components/solutions-all-shell/customElement.d.ts +1 -1
- package/dist/components/solutions-all-shell/customElement.js +2 -2
- package/dist/components/solutions-article-panel/customElement.js +1 -1
- package/dist/components/solutions-articles/customElement.js +1 -1
- package/dist/components/solutions-articles-shell/customElement.js +1 -1
- package/dist/components/solutions-deploy-app/customElement.d.ts +1 -1
- package/dist/components/solutions-deploy-app/customElement.js +44 -33
- package/dist/components/solutions-deployed-filter-panel/customElement.js +1 -1
- package/dist/components/solutions-deployed-panel/customElement.js +1 -1
- package/dist/components/solutions-deployed-shell/customElement.d.ts +1 -1
- package/dist/components/solutions-deployed-shell/customElement.js +2 -2
- package/dist/components/solutions-filter-panel/customElement.js +1 -1
- package/dist/components/spatial-ref/customElement.js +1 -1
- package/dist/components/store-manager/customElement.js +1 -1
- package/dist/docs/api.json +21 -35
- package/dist/docs/docs.json +13 -23
- package/dist/docs/vscode.html-custom-data.json +3 -3
- package/dist/docs/web-types.json +4 -4
- package/dist/index.js +1 -1
- package/dist/loader.js +1 -1
- package/package.json +1 -1
- package/dist/cdn/EJ5MXJ4L.js +0 -4
- package/dist/cdn/MT6GA5XY.js +0 -18
- package/dist/cdn/NAGICQWY.js +0 -4
- package/dist/cdn/QLFISHK2.js +0 -4
- package/dist/cdn/QZFQNFNX.js +0 -4
- package/dist/cdn/RFZSMTAS.js +0 -4
- package/dist/cdn/RJK57CKL.js +0 -4
- package/dist/cdn/VJFEHP5L.js +0 -4
- package/dist/cdn/WUVU4M3M.js +0 -4
@@ -1,20 +1,20 @@
|
|
1
|
-
import { c as
|
2
|
-
import { css as
|
3
|
-
import { u as
|
4
|
-
import { LitElement as
|
5
|
-
import { createRef as
|
6
|
-
import { C as
|
7
|
-
import { q as
|
1
|
+
import { c as _ } from "../../chunks/runtime.js";
|
2
|
+
import { css as b, html as h } from "lit";
|
3
|
+
import { u as g } from "../../chunks/useT9n.js";
|
4
|
+
import { LitElement as y, createEvent as d, safeClassMap as u } from "@arcgis/lumina";
|
5
|
+
import { createRef as a, ref as l } from "lit-html/directives/ref.js";
|
6
|
+
import { C as f } from "../../chunks/CardsFetcher.js";
|
7
|
+
import { q as m, r as S } from "../../chunks/interfaces.js";
|
8
8
|
import { useContextProvider as r } from "@arcgis/lumina/context";
|
9
|
-
import { a as
|
10
|
-
import { A as
|
11
|
-
import { _ as
|
12
|
-
import { UserSession as
|
13
|
-
import { f as
|
9
|
+
import { a as T, i as v, l as C, u as x } from "../../chunks/deployAppContexts.js";
|
10
|
+
import { A as I } from "../../chunks/Auth.js";
|
11
|
+
import { _ as w } from "../../chunks/appConfig.js";
|
12
|
+
import { UserSession as A } from "@esri/solution-common";
|
13
|
+
import { f as L, a as k } from "../../chunks/cardsHelpers.js";
|
14
14
|
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
15
15
|
See https://js.arcgis.com/1.1/esri/copyright.txt for details.
|
16
|
-
v1.1.0-next.20250917.
|
17
|
-
const
|
16
|
+
v1.1.0-next.20250917.2 */
|
17
|
+
const $ = b`/** @license
|
18
18
|
* Copyright 2025 Esri
|
19
19
|
*
|
20
20
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -29,53 +29,54 @@ const A = u`/** @license
|
|
29
29
|
* See the License for the specific language governing permissions and
|
30
30
|
* limitations under the License.
|
31
31
|
*/.back-color-override{background-color:var(--calcite-color-foreground-2);--calcite-tab-border-color: var(--calcite-color-foreground-3)}.back-color-override-details{background-color:var(--calcite-color-foreground-1)}.display-none{display:none}.shell-container{width:1440px;display:block;max-width:96vw;padding-right:0;padding-left:0;margin-left:auto;margin-right:auto;box-sizing:border-box}.height-100{height:100%}calcite-tab-nav{padding-bottom:6px;padding-top:6px}calcite-tabs{--calcite-color-focus: transparent;height:100%}`;
|
32
|
-
class
|
32
|
+
class O extends y {
|
33
33
|
constructor() {
|
34
|
-
super(), this.locale = "", this.orgUrl = "", this.portalUrl = "", this.primarySolutionsGroupId = "", this.sortType = "relevance", this.useLocalAppConfig = !1, this._isLoaded = !1, this.isMobile = !1, this._translations =
|
34
|
+
super(), this.locale = "", this.orgUrl = "", this.portalUrl = "", this.primarySolutionsGroupId = "", this.sortType = "relevance", this.useLocalAppConfig = !1, this._isLoaded = !1, this.isMobile = !1, this._translations = g({ name: "solutions-deploy-app", blocking: !0 }), this._agoTerms = `${m} OR ${S}`, this._allCards = [], this._allShell = a(), this._allTab = a(), this._allTabTitle = a(), this._articlesTab = a(), this._articlesTabTitle = a(), this._authContextProvider = r({ context: T }), this.authentication = void 0, this._categories = [], this._delay = !1, this._detailsShell = a(), this._detailsTab = a(), this._detailsTabTitle = a(), this._getSuggested = !1, this._isMobileContextProvider = r({ context: v }), this._localDebugContextProvider = r({ context: C }), this._mySolutionsShell = a(), this._mySolutionsTab = a(), this._mySolutionsTabTitle = a(), this._sortField = "relevance", this._sortOrder = "desc", this._userSessionContextProvider = r({ context: x }), this.deployAppTabSelected = d(), this.detailsCardSelected = d(), this.tokenRefreshed = d(), this.listenOn(window, "solutionsAllLoaded", this._solutionsAllLoaded), this.listenOn(window, "detailsCardSelected", this._detailsCardSelected), this.listenOn(window, "deployProgressEnd", this._deployProgressEnd), this._mediaQueryChange = this._mediaQueryChange.bind(this);
|
35
35
|
}
|
36
36
|
static {
|
37
37
|
this.properties = { appConfig: 1, locale: 1, orgUrl: 1, portalUrl: 1, primarySolutionsGroupId: 1, sortType: 1, useLocalAppConfig: 5, _isLoaded: 16, isMobile: 16, _translations: 16 };
|
38
38
|
}
|
39
39
|
static {
|
40
|
-
this.styles =
|
40
|
+
this.styles = $;
|
41
41
|
}
|
42
42
|
selectTab(e, t) {
|
43
|
-
|
43
|
+
const s = this._getDefaultSearchOptions(t);
|
44
|
+
switch (console.log(s), e.tabType) {
|
44
45
|
case "all-solutions":
|
45
|
-
this._allTab.value.selected = !0, this._allTabTitle.value.selected = !0,
|
46
|
+
this._allTab.value.selected = !0, this._allTabTitle.value.selected = !0, s && this._allShell.value?.searchSolutions(s);
|
46
47
|
break;
|
47
48
|
case "articles":
|
48
49
|
this._articlesTab.value.selected = !0, this._articlesTabTitle.value.selected = !0;
|
49
50
|
break;
|
50
51
|
case "details":
|
51
52
|
if (this._allCards) {
|
52
|
-
let
|
53
|
-
|
53
|
+
let i = L(this._allCards, e.tabTitleOrId);
|
54
|
+
i = i || k(this._allCards, e.tabTitleOrId), i ? (this._detailsTab.value.selected = !0, this._detailsTabTitle.value.selected = !0, this.detailsCardSelected.emit(i)) : (this._allTab.value.selected = !0, this._allTabTitle.value.selected = !0, this._setActiveTab("all-solutions"));
|
54
55
|
}
|
55
56
|
break;
|
56
57
|
case "my-solutions":
|
57
|
-
this._mySolutionsTab.value.selected = !0, this._mySolutionsTabTitle.value.selected = !0,
|
58
|
+
this._mySolutionsTab.value.selected = !0, this._mySolutionsTabTitle.value.selected = !0, s && this._mySolutionsShell.value?.searchSolutions(s);
|
58
59
|
break;
|
59
60
|
}
|
60
61
|
this._blurTabs();
|
61
62
|
}
|
62
63
|
async connectedCallback() {
|
63
64
|
super.connectedCallback();
|
64
|
-
const e = new
|
65
|
+
const e = new A({
|
65
66
|
username: "",
|
66
67
|
password: ""
|
67
68
|
});
|
68
69
|
this._userSessionContextProvider.setValue(e), this._mediaQuery = window.matchMedia("(max-width: 800px)"), this._mediaQuery.addEventListener("change", this._mediaQueryChange), this._mediaQueryChange(this._mediaQuery);
|
69
70
|
}
|
70
71
|
async load() {
|
71
|
-
this.useLocalAppConfig ? (this.appConfig =
|
72
|
+
this.useLocalAppConfig ? (this.appConfig = w, this.primarySolutionsGroupId = this.appConfig.primarySolutionsGroupId, this.orgUrl = this.appConfig.orgUrl, this.locale = this.appConfig.locale, this.portalUrl = this.appConfig.portalURL, this._localDebugContextProvider.setValue(!0)) : (this.primarySolutionsGroupId = this.appConfig.primarySolutionsGroupId, this._localDebugContextProvider.setValue(!1)), this._cardsFetcher = new f(this.locale, this.orgUrl, this.portalUrl), this.authentication || (this.appConfig.authentication ? this.authentication = this.appConfig.authentication : (this.authentication = new I(this.appConfig.appId, this.appConfig.portalURL, this.appConfig.locale), await this.authentication.initialize(), this.authentication.IsSignedIn || this.authentication.signIn())), this._authContextProvider.setValue(this.authentication), this.authentication.RestUserSession && this._userSessionContextProvider.setValue(this.authentication.RestUserSession), this._setRefreshInterval(), await this._getSolutions();
|
72
73
|
}
|
73
74
|
loaded() {
|
74
75
|
this._handleTabs();
|
75
76
|
}
|
76
77
|
render() {
|
77
78
|
const e = this._isLoaded ? "display-none" : "", t = this._isLoaded ? "" : "display-none";
|
78
|
-
return
|
79
|
+
return h`<calcite-loader class=${u(e)} id=solutions-loader .label=${this._translations.fetchingAllSolutions}></calcite-loader><calcite-tabs class=${u(t)} scale=l><calcite-tab-nav class="shell-container" slot=title-group><calcite-tab-title @calciteTabsActivate=${() => this._setActiveTab("all-solutions")} ${l(this._allTabTitle)}>${this._translations.allSolutions}</calcite-tab-title>${this.authentication?.IsSignedIn ? h`<calcite-tab-title @calciteTabsActivate=${() => this._setActiveTab("my-solutions")} ${l(this._mySolutionsTabTitle)}>${this._translations.mySolutions}</calcite-tab-title>` : ""}<calcite-tab-title class="display-none" @calciteTabsActivate=${() => this._setActiveTab("details")} ${l(this._detailsTabTitle)}></calcite-tab-title></calcite-tab-nav><calcite-tab class="back-color-override" selected ${l(this._allTab)}><solutions-all-shell .appConfig=${this.appConfig} class="shell-container height-100" ${l(this._allShell)}></solutions-all-shell></calcite-tab>${this.authentication?.IsSignedIn ? h`<calcite-tab class="back-color-override" ${l(this._mySolutionsTab)}><solutions-deployed-shell .appConfig=${this.appConfig} class="shell-container height-100" ${l(this._mySolutionsShell)}></solutions-deployed-shell></calcite-tab>` : ""}<calcite-tab class="back-color-override-details" ${l(this._detailsTab)}><solution-details-panel class="shell-container height-100" ${l(this._detailsShell)}></solution-details-panel></calcite-tab></calcite-tabs>`;
|
79
80
|
}
|
80
81
|
disconnectedCallback() {
|
81
82
|
super.disconnectedCallback(), this._mediaQuery?.removeEventListener("change", this._mediaQueryChange);
|
@@ -123,7 +124,7 @@ class L extends _ {
|
|
123
124
|
num: 1e3
|
124
125
|
}
|
125
126
|
), t = "/Categories/New Release", s = e?.cards.length ? e.cards : [];
|
126
|
-
return this.sortType === "new" && s.sort((
|
127
|
+
return this.sortType === "new" && s.sort((i, o) => i.categories.includes(t) && !o.categories.includes(t) ? -1 : !i.categories.includes(t) && o.categories.includes(t) ? 1 : i.categories.includes(t) && o.categories.includes(t) ? i.categories.length - o.categories.length : 0), this._allCards.length === 0 && e?.cards && (this._allCards = e?.cards), this._allCards;
|
127
128
|
}
|
128
129
|
_blurTabs() {
|
129
130
|
this._allTabTitle.value?.blur(), this._articlesTabTitle.value?.blur(), this._detailsTabTitle.value?.blur(), this._mySolutionsTabTitle.value?.blur();
|
@@ -135,10 +136,10 @@ class L extends _ {
|
|
135
136
|
setInterval(
|
136
137
|
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
137
138
|
async () => {
|
138
|
-
const
|
139
|
-
if (
|
140
|
-
this._userSessionContextProvider.setValue(
|
141
|
-
const o =
|
139
|
+
const i = await t?.refreshSession();
|
140
|
+
if (i) {
|
141
|
+
this._userSessionContextProvider.setValue(i);
|
142
|
+
const o = i?.token ?? "";
|
142
143
|
this.tokenRefreshed.emit(o);
|
143
144
|
}
|
144
145
|
},
|
@@ -146,9 +147,19 @@ class L extends _ {
|
|
146
147
|
);
|
147
148
|
}
|
148
149
|
}
|
150
|
+
_getDefaultSearchOptions(e) {
|
151
|
+
let t;
|
152
|
+
if (e) {
|
153
|
+
const s = e.domain, i = e.industry, o = e.offerType, n = e.searchTerm, p = "", c = e.sortField;
|
154
|
+
t = s || i || o ? {
|
155
|
+
type: s ? "domain" : i ? "industry" : "type"
|
156
|
+
} : void 0, s && (t = t ? { ...t, domain: s } : { domain: s }), i && (t = t ? { ...t, industry: i } : { industry: i }), n && (t = t ? { ...t, searchTerm: n } : { searchTerm: n }), t && (t = { ...t, displayValue: p }), c && (t = t ? { ...t, sortType: c } : { sortType: c });
|
157
|
+
}
|
158
|
+
return t;
|
159
|
+
}
|
149
160
|
}
|
150
|
-
|
161
|
+
_("solutions-deploy-app", O);
|
151
162
|
export {
|
152
|
-
|
163
|
+
O as SolutionsDeployApp
|
153
164
|
};
|
154
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tRWxlbWVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc29sdXRpb25zLWRlcGxveS1hcHAvc29sdXRpb25zLWRlcGxveS1hcHAudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBAbGljZW5zZVxyXG4gKiBDb3B5cmlnaHQgMjAyNSBFc3JpXHJcbiAqXHJcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAnTGljZW5zZScpO1xyXG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXHJcbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxyXG4gKlxyXG4gKiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcclxuICpcclxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxyXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLFxyXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cclxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxyXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cclxuICovXHJcblxyXG5pbXBvcnQgdHlwZSBUOW5TdHJpbmdzIGZyb20gJy4vYXNzZXRzL3Q5bi9tZXNzYWdlcy5lbi5qc29uJztcclxuaW1wb3J0IHsgdXNlVDluIH0gZnJvbSAnLi4vLi4vY29udHJvbGxlcnMvdXNlVDluJztcclxuaW1wb3J0IHtcclxuICBjcmVhdGVFdmVudCxcclxuICBGcmFnbWVudCxcclxuICBoLFxyXG4gIExpdEVsZW1lbnQsXHJcbiAgbWV0aG9kLFxyXG4gIHByb3BlcnR5LFxyXG4gIHN0YXRlLFxyXG59IGZyb20gJ0BhcmNnaXMvbHVtaW5hJztcclxuaW1wb3J0IHR5cGUge1xyXG4gIEpzeE5vZGUsXHJcbn0gZnJvbSAnQGFyY2dpcy9sdW1pbmEnO1xyXG5pbXBvcnQgeyBzdHlsZXMgfSBmcm9tICcuL3NvbHV0aW9ucy1kZXBsb3ktYXBwLmNzcyc7XHJcbmltcG9ydCB0eXBlIHtcclxuICBEZXBsb3lBcHBUYWIsXHJcbiAgSUFjdGl2ZVRhYixcclxuICBJU29sdXRpb25JbmZvQ2FyZCxcclxufSBmcm9tICcuLi8uLi91dGlscy9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgY3JlYXRlUmVmIH0gZnJvbSAnbGl0LWh0bWwvZGlyZWN0aXZlcy9yZWYuanMnO1xyXG5pbXBvcnQgKiBhcyBjYXJkc0ZldGNoZXIgZnJvbSAnLi4vLi4vdXRpbHMvQ2FyZHNGZXRjaGVyJztcclxuaW1wb3J0IHtcclxuICBCQVNFX0RJU1BMQVlfT05MWV9URVJNUyxcclxuICBCQVNFX1NPTFVUSU9OU19URVJNUyxcclxuICBTb3J0VHlwZSxcclxufSBmcm9tICcuLi8uLi91dGlscy9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHtcclxuICB1c2VDb250ZXh0UHJvdmlkZXIsXHJcbn0gZnJvbSAnQGFyY2dpcy9sdW1pbmEvY29udGV4dCc7XHJcbmltcG9ydCB7XHJcbiAgYXV0aENvbnRleHQsXHJcbiAgaXNNb2JpbGVDb250ZXh0LFxyXG4gIGxvY2FsRGVidWdDb250ZXh0LFxyXG4gIHVzZXJTZXNzaW9uQ29udGV4dFxyXG59IGZyb20gJy4uLy4uL3V0aWxzL2RlcGxveUFwcENvbnRleHRzJztcclxuaW1wb3J0IHsgQXV0aCB9IGZyb20gJy4uLy4uL3V0aWxzL0F1dGgnO1xyXG5pbXBvcnQgKiBhcyBfYXBwQ29uZmlnIGZyb20gJy4uLy4uL2Fzc2V0cy9jb25maWcvYXBwQ29uZmlnLmpzb24nO1xyXG5pbXBvcnQgeyBVc2VyU2Vzc2lvbiB9IGZyb20gJ0Blc3JpL3NvbHV0aW9uLWNvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgZmluZFNvbHV0aW9uQnlUaXRsZU9ySWQsXHJcbiAgZmluZFNvbHV0aW9uQnlUeXBlS2V5d29yZFNvbHV0aW9uSWRcclxufSBmcm9tICcuLi8uLi91dGlscy9jYXJkc0hlbHBlcnMnO1xyXG5pbXBvcnQgeyBTb2x1dGlvbnNBbGxTaGVsbCB9IGZyb20gJy4uL3NvbHV0aW9ucy1hbGwtc2hlbGwvc29sdXRpb25zLWFsbC1zaGVsbCc7XHJcbmltcG9ydCB7IFNvbHV0aW9uc0RlcGxveWVkU2hlbGwgfSBmcm9tICcuLi9zb2x1dGlvbnMtZGVwbG95ZWQtc2hlbGwvc29sdXRpb25zLWRlcGxveWVkLXNoZWxsJztcclxuaW1wb3J0IHsgU29sdXRpb25EZXRhaWxzUGFuZWwgfSBmcm9tICcuLi9zb2x1dGlvbi1kZXRhaWxzLXBhbmVsL3NvbHV0aW9uLWRldGFpbHMtcGFuZWwnO1xyXG5cclxuZGVjbGFyZSBnbG9iYWwge1xyXG4gIGludGVyZmFjZSBEZWNsYXJlRWxlbWVudHMge1xyXG4gICAgJ3NvbHV0aW9ucy1kZXBsb3ktYXBwJzogU29sdXRpb25zRGVwbG95QXBwO1xyXG4gIH1cclxufVxyXG5cclxuLy8gVE9ETyBjb25zb2xpZGF0ZSBjYXJkIGZldGNoaW5nIGFuZCBjb250ZXh0IHByb3ZpZGVycyBoZXJlXHJcbi8vIHdlIG9ubHkgbmVlZCB0byBmZXRjaCBhbGwgb2YgdGhlIGNhcmRzIDEgdGltZSBhdCB0aGUgc3RhcnQuXHJcbi8vICB0aG9zZSBjYXJkcyB3aWxsIGJlIHNoYXJlZCB0aHJvdWdoIGEgY29udGV4dCBvciBldmVudC5cclxuLy8gVGhlbiBJIHdhcyB0aGlua2luZyB0aGF0IHRoZSBjYXJkRmV0Y2hlciBhbmQgZGVwbG95ZWRDYXJkRmV0Y2hlciB3b3VsZCBhbHNvIGJlIHNoYXJlZCBpbiBhIGNvbnRleHRcclxuLy8gIHNvIHRoZXkgY2FuIGFsbCBiZSBzZXR1cCBpbiBvbmUgcGxhY2UgYnV0IHRoZW4gd2Ugd2lsbCBzdGlsbCBkbyBvdGhlciBxdWVyaWVzIGZvciBzb2x1dGlvbnNcclxuLy8gIG9yIGRlcGxveWVkIHNvbHV0aW9ucyBiYXNlZCBvbiBzZWFyY2ggdGVybXMvZmlsdGVycyBpbiB2YXJpb3VzIGNvbXBvbmVudHMgdXNpbmcgdGhlIGZldGNoZXIgaW5zdGFuY2VcclxuLy8gIHRoYXQgd2Ugc2hhcmVkIHRocm91Z2ggYSBjb250ZXh0IGZyb20gdGhlIHNvdXJjZSBhcHAgY29tcG9uZW50XHJcblxyXG5leHBvcnQgY2xhc3MgU29sdXRpb25zRGVwbG95QXBwIGV4dGVuZHMgTGl0RWxlbWVudCB7XHJcblxyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAvL1xyXG4gIC8vICBPdmVycmlkZXMgKGludGVybmFsKVxyXG4gIC8vXHJcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuICBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzID0gc3R5bGVzO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLmxpc3Rlbk9uKHdpbmRvdywgJ3NvbHV0aW9uc0FsbExvYWRlZCcsIHRoaXMuX3NvbHV0aW9uc0FsbExvYWRlZCk7XHJcbiAgICB0aGlzLmxpc3Rlbk9uKHdpbmRvdywgJ2RldGFpbHNDYXJkU2VsZWN0ZWQnLCB0aGlzLl9kZXRhaWxzQ2FyZFNlbGVjdGVkKTtcclxuICAgIHRoaXMubGlzdGVuT24od2luZG93LCAnZGVwbG95UHJvZ3Jlc3NFbmQnLCB0aGlzLl9kZXBsb3lQcm9ncmVzc0VuZCk7XHJcbiAgICB0aGlzLl9tZWRpYVF1ZXJ5Q2hhbmdlID0gdGhpcy5fbWVkaWFRdWVyeUNoYW5nZS5iaW5kKHRoaXMpO1xyXG4gIH1cclxuXHJcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gIC8vXHJcbiAgLy8gIFByb3BlcnRpZXMgKHB1YmxpYylcclxuICAvL1xyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgLyoqIEFwcCBjb25maWcgdG8gdXNlIHdoZW4gdXNlTG9jYWxBcHBDb25maWcgaXMgZmFsc2UgKi9cclxuICBAcHJvcGVydHkoKSBhcHBDb25maWc6IGFueTtcclxuXHJcbiAgLyoqIFRoZSBjdXJyZW50IGxvY2FsZS4gKi9cclxuICBAcHJvcGVydHkoKSBsb2NhbGUgPSAnJztcclxuXHJcbiAgLyoqIFVSTCBvZiBvcmdhbml6YXRpb24sIGUuZy4sICdodHRwOi8vbXlPcmcubWFwcy5hcmNnaXMuY29tJyAqL1xyXG4gIEBwcm9wZXJ0eSgpIG9yZ1VybCA9ICcnO1xyXG5cclxuICAvKiogVVJMIG9mIHBvcnRhbCwgZS5nLiwgJ2h0dHBzOi8vd3d3LmFyY2dpcy5jb20nICovXHJcbiAgQHByb3BlcnR5KCkgcG9ydGFsVXJsID0gJyc7XHJcblxyXG4gIC8qKiBUaGUgZ3JvdXAgaWQgdGhhdCBjb250YWlucyB0aGUgc29sdXRpb25zLiAqL1xyXG4gIEBwcm9wZXJ0eSgpIHByaW1hcnlTb2x1dGlvbnNHcm91cElkID0gJyc7IC8vIGNhbiBsaWtlbHkganVzdCByZWx5IG9uIGFwcENvbmZpZyBhbmQgbm90IGhhdmUgYSBwcm9wXHJcblxyXG4gIC8qKiBEZWZpbmUgaG93IHRoZSBjYXJkcyB3aWxsIGJlIHNvcnRlZCAqL1xyXG4gIEBwcm9wZXJ0eSgpIHNvcnRUeXBlOiBTb3J0VHlwZSA9ICdyZWxldmFuY2UnO1xyXG5cclxuICAvKipcclxuICAgKiBXaGVuIHRydWUgdGhlIGxvY2FsIGFwcENvbmZpZyB3aWxsIGJlIHVzZWQgb3ZlciBhbnl0aGluZyB0aGF0IHdhcyBwYXNzZWQgaW4uXHJcbiAgICogVGhpcyBpcyB1c2VkIGZvciBsb2NhbCBkZWJ1Z2dpbmcuXHJcbiAgICogV2hlbiB0aGlzIGlzIGZhbHNlIGF1dGhlbnRpY2F0aW9uLCBsb2NhbGUsIG9yZ1VybCwgYW5kIHBvcnRhbFVybCBNVVNUIGJlIGRlZmluZWQuXHJcbiAgICovXHJcbiAgQHByb3BlcnR5KCkgdXNlTG9jYWxBcHBDb25maWcgPSBmYWxzZTtcclxuXHJcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gIC8vXHJcbiAgLy8gIFN0YXRlIChpbnRlcm5hbClcclxuICAvL1xyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgLyoqIFdoZW4gdHJ1ZSBhIGxvYWRlciB3aWxsIG5vdCBiZSBzaG93biAqL1xyXG4gIEBzdGF0ZSgpIF9pc0xvYWRlZCA9IGZhbHNlO1xyXG5cclxuICAvKiogV2hlbiB0cnVlIHdlIGFyZSBpbiBtb2JpbGUgdmlldy4gKi9cclxuICBAc3RhdGUoKSBpc01vYmlsZSA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBDb250YWlucyB0aGUgdHJhbnNsYXRpb25zIGZvciB0aGlzIGNvbXBvbmVudC5cclxuICAgKiBBbGwgVUkgc3RyaW5ncyBzaG91bGQgYmUgZGVmaW5lZCBoZXJlLlxyXG4gICAqL1xyXG4gIEBzdGF0ZSgpIF90cmFuc2xhdGlvbnMgPSB1c2VUOW48dHlwZW9mIFQ5blN0cmluZ3M+KHsgbmFtZTogJ3NvbHV0aW9ucy1kZXBsb3ktYXBwJywgYmxvY2tpbmc6IHRydWUgfSk7XHJcblxyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAvL1xyXG4gIC8vICBQcm9wZXJ0aWVzIChwcml2YXRlKVxyXG4gIC8vXHJcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuICAvKiogVXNlZCBmb3Igc29sdXRpb24gcXVlcmllcywgdGhlIHNlYXJjaCB0ZXJtcyBmb3IgYWdvICovXHJcbiAgcHJpdmF0ZSBfYWdvVGVybXMgPSBgJHtCQVNFX1NPTFVUSU9OU19URVJNU30gT1IgJHtCQVNFX0RJU1BMQVlfT05MWV9URVJNU31gO1xyXG5cclxuICAvKiogQWxsIG9mIHRoZSBmZXRlY2hlZCBzb2x1dGlvbiBjYXJkcyB0aGlzIGlzIG9ubHkgcG9wdWxhdGVkIG9uY2Ugb24gbG9hZC4gKi9cclxuICBwcml2YXRlIF9hbGxDYXJkczogSVNvbHV0aW9uSW5mb0NhcmRbXSA9IFtdO1xyXG5cclxuICAvKiogVGhlIGFsbCBzb2x1dGlvbnMgc2hlbGwgcmVmZXJlbmNlICovXHJcbiAgcHJpdmF0ZSBfYWxsU2hlbGwgPSBjcmVhdGVSZWY8U29sdXRpb25zQWxsU2hlbGxbJ2VsJ10+KCk7XHJcblxyXG4gIC8qKiBUaGUgYWxsLXNvbHV0aW9ucyB0YWIgcmVmZXJlbmNlICovXHJcbiAgcHJpdmF0ZSBfYWxsVGFiID0gY3JlYXRlUmVmPEhUTUxDYWxjaXRlVGFiRWxlbWVudD4oKTtcclxuXHJcbiAgLyoqIFRoZSBhbGwtc29sdXRpb25zIHRhYiB0aXRsZSByZWZlcmVuY2UgKi9cclxuICBwcml2YXRlIF9hbGxUYWJUaXRsZSA9IGNyZWF0ZVJlZjxIVE1MQ2FsY2l0ZVRhYlRpdGxlRWxlbWVudD4oKTtcclxuXHJcbiAgLyoqIFRoZSBhcnRpY2xlcyB0YWIgcmVmZXJlbmNlICovXHJcbiAgcHJpdmF0ZSBfYXJ0aWNsZXNUYWIgPSBjcmVhdGVSZWY8SFRNTENhbGNpdGVUYWJFbGVtZW50PigpO1xyXG5cclxuICAvKiogVGhlIGFydGljbGVzIHRhYi10aXRsZSByZWZlcmVuY2UgKi9cclxuICBwcml2YXRlIF9hcnRpY2xlc1RhYlRpdGxlID0gY3JlYXRlUmVmPEhUTUxDYWxjaXRlVGFiVGl0bGVFbGVtZW50PigpO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgQXV0aCBjb250ZXh0IHByb3ZpZGVyLlxyXG4gICAqIFRoaXMgYWxsb3dzIGFueSBkb3duc3RyZWFtIGNvbXBvbmVudHMgdGhhdCBpbXBsZW1lbnQgY29udGV4dENvbnN1bWVyIHRvIGhhdmUgYWNjZXNzIHRvIHRoZSBjdXJyZW50IGF1dGhlbnRpY2F0aW9uLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2F1dGhDb250ZXh0UHJvdmlkZXIgPSB1c2VDb250ZXh0UHJvdmlkZXIoeyBjb250ZXh0OiBhdXRoQ29udGV4dCB9KTtcclxuXHJcbiAgLyoqXHJcbiAgICogQXV0aGVudGljYXRpb24sIHdoZW4gbm90IHByb3ZpZGVkIHRocm91Z2ggdGhlIGFwcENvbmZpZyBwcm9wZXJ0eVxyXG4gICAqIHRoZSBsb2NhbCBhcHBDb25maWcgZGV0YWlscyB3aWxsIGJlIHVzZWQgdG8gY3JlYXRlIHRoZSBhdXRoZW50aWNhdGlvblxyXG4gICAqL1xyXG4gIHByaXZhdGUgYXV0aGVudGljYXRpb246IEF1dGggfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcblxyXG4gIC8qKiBIZWxwZXIgbW9kdWxlIHRoYXQgd2lsbCBoYW5kbGUgdGhlIGZlY3RoaW5nIG9mIHNvbHV0aW9ucyAqL1xyXG4gIHByaXZhdGUgX2NhcmRzRmV0Y2hlcjogY2FyZHNGZXRjaGVyLkNhcmRzRmV0Y2hlciB8IHVuZGVmaW5lZDtcclxuXHJcbiAgLyoqIFVzZWQgZm9yIHNvbHV0aW9uIHF1ZXJpZXMsIHNob3VsZCBiZSBwb3B1bGF0ZWQgd2hlbiBkb21haW4gZmlsdGVycyBhcmUgYXBwbGllZCAqL1xyXG4gIHByaXZhdGUgX2NhdGVnb3JpZXM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIC8qKiBVc2VkIGZvciBzb2x1dGlvbiBxdWVyaWVzIHRvIGRlbGF5IHRoZSBxdWVyeSAqL1xyXG4gIHByaXZhdGUgX2RlbGF5ID0gZmFsc2U7XHJcblxyXG4gIC8qKiBUaGUgZGV0YWlscyBzaGVsbCByZWZlcmVuY2UgKi9cclxuICBwcml2YXRlIF9kZXRhaWxzU2hlbGwgPSBjcmVhdGVSZWY8U29sdXRpb25EZXRhaWxzUGFuZWxbJ2VsJ10+KCk7XHJcblxyXG4gIC8qKiBUaGUgZGV0YWlscyB0YWIgcmVmZXJlbmNlICovXHJcbiAgcHJpdmF0ZSBfZGV0YWlsc1RhYiA9IGNyZWF0ZVJlZjxIVE1MQ2FsY2l0ZVRhYkVsZW1lbnQ+KCk7XHJcblxyXG4gIC8qKiBUaGUgZGV0YWlscyB0aXRsZSB0YWIgcmVmZXJlbmNlICovXHJcbiAgcHJpdmF0ZSBfZGV0YWlsc1RhYlRpdGxlID0gY3JlYXRlUmVmPEhUTUxDYWxjaXRlVGFiVGl0bGVFbGVtZW50PigpO1xyXG5cclxuICAvKiogVXNlZCBmb3Igc29sdXRpb24gcXVlcmllcywgdHJ1ZSB3aGVuIHRoZSBnZXRTdWdnZXN0ZWQgZmlsdGVyIGlzIGFwcGxpZWQgKi9cclxuICBwcml2YXRlIF9nZXRTdWdnZXN0ZWQgPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIG1vYmlsZSB2aWV3IGNvbnRleHQgcHJvdmlkZXIuXHJcbiAgICogVGhpcyBhbGxvd3MgYW55IGRvd25zdHJlYW0gY29tcG9uZW50cyB0aGF0IGltcGxlbWVudCBjb250ZXh0Q29uc3VtZXIgdG8gaGF2ZSBhY2Nlc3MgdG8gdGhlIGlzTW9iaWxlIHByb3BlcnR5LlxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2lzTW9iaWxlQ29udGV4dFByb3ZpZGVyID0gdXNlQ29udGV4dFByb3ZpZGVyKHsgY29udGV4dDogaXNNb2JpbGVDb250ZXh0IH0pO1xyXG5cclxuICAvKipcclxuICAgKiBMb2NhbCBkZWJ1ZyBjb250ZXh0IHByb3ZpZGVyLlxyXG4gICAqIFRoaXMgYWxsb3dzIGFueSBkb3duc3RyZWFtIGNvbXBvbmVudHMgdGhhdCBpbXBsZW1lbnQgY29udGV4dENvbnN1bWVyIHRvIGhhdmUgYWNjZXNzIHRvIHRoZSBsb2NhbERlYnVnIHByb3BlcnR5LlxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2xvY2FsRGVidWdDb250ZXh0UHJvdmlkZXIgPSB1c2VDb250ZXh0UHJvdmlkZXIoeyBjb250ZXh0OiBsb2NhbERlYnVnQ29udGV4dCB9KTtcclxuXHJcbiAgLyoqIFRoZSBtZWRpYSBxdWVyeSB1c2VkIHRvIHVuZGVyc3RhbmQgaWYgd2UgYXJlIGluIG1vYmlsZSB2aWV3ICovXHJcbiAgcHJpdmF0ZSBfbWVkaWFRdWVyeTogYW55O1xyXG5cclxuICAvKiogVGhlIG15IHNvbHV0aW9ucyBzaGVsbCByZWZlcmVuY2UgKi9cclxuICBwcml2YXRlIF9teVNvbHV0aW9uc1NoZWxsID0gY3JlYXRlUmVmPFNvbHV0aW9uc0RlcGxveWVkU2hlbGxbJ2VsJ10+KCk7XHJcblxyXG4gIC8qKiBUaGUgbXktc29sdXRpb25zIHRhYiByZWZlcmVuY2UgKi9cclxuICBwcml2YXRlIF9teVNvbHV0aW9uc1RhYiA9IGNyZWF0ZVJlZjxIVE1MQ2FsY2l0ZVRhYkVsZW1lbnQ+KCk7XHJcblxyXG4gIC8qKiBUaGUgbXktc29sdXRpb25zIHRhYiB0aXRsZSByZWZlcmVuY2UgKi9cclxuICBwcml2YXRlIF9teVNvbHV0aW9uc1RhYlRpdGxlID0gY3JlYXRlUmVmPEhUTUxDYWxjaXRlVGFiVGl0bGVFbGVtZW50PigpO1xyXG5cclxuICAvKiogVXNlZCBmb3Igc29sdXRpb24gcXVlcmllcywgZGVmaW5lcyB0aGUga2V5IGZpZWxkIHRoYXQgd2lsbCBiZSB1c2VkIHRvIHNvcnQgdGhlIHNvbHV0aW9ucyAqL1xyXG4gIHByaXZhdGUgX3NvcnRGaWVsZDogJ2NyZWF0ZWQnIHwgJ3JlbGV2YW5jZScgfCAndGl0bGUnID0gJ3JlbGV2YW5jZSc7XHJcblxyXG4gIC8qKiBVc2VkIGZvciBzb2x1dGlvbiBxdWVyaWVzLCBjb25yb2xzIHRoZSBvcmRlciBzb2x1dGlvbnMgYXJlIHNvcnRlZCAqL1xyXG4gIHByaXZhdGUgX3NvcnRPcmRlcjogJ2FzYycgfCAnZGVzYycgPSAnZGVzYyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBVc2VyU2Vzc2lvbiBjb250ZXh0IHByb3ZpZGVyLlxyXG4gICAqIFRoaXMgYWxsb3dzIGFueSBkb3duc3RyZWFtIGNvbXBvbmVudHMgdGhhdCBpbXBsZW1lbnQgY29udGV4dENvbnN1bWVyIHRvIGhhdmUgYWNjZXNzIHRvIHRoZSBjdXJyZW50IFVzZXJTZXNzaW9uLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgX3VzZXJTZXNzaW9uQ29udGV4dFByb3ZpZGVyID0gdXNlQ29udGV4dFByb3ZpZGVyKHsgY29udGV4dDogdXNlclNlc3Npb25Db250ZXh0IH0pO1xyXG5cclxuXHJcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gIC8vXHJcbiAgLy8gIFdhdGNoIGhhbmRsZXJzXHJcbiAgLy9cclxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAvL1xyXG4gIC8vICBNZXRob2RzIChwdWJsaWMpXHJcbiAgLy9cclxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4gIC8qKiBDbG9zZXMgdGhlIGRpYWxvZyAqL1xyXG4gIEBtZXRob2QoKVxyXG4gIHB1YmxpYyBzZWxlY3RUYWIoXHJcbiAgICB0YWI6IElBY3RpdmVUYWIsXHJcbiAgICBzZWFyY2hPcHRpb25zOiBhbnkgLy9zdGF5IGxvb3NlIGZvciBub3dcclxuICApOiB2b2lkIHtcclxuICAgIGNvbnNvbGUubG9nKHNlYXJjaE9wdGlvbnMpXHJcbiAgICAvLyBUT0RPIHRlc3RpbmcgZm9yIGxpbmdlcmluZyB1bmRlcmxpbmUgd2l0aCBoaXN0b3J5IHBhZ2UgbmF2XHJcbiAgICAvL3RoaXMuX2JsdXJUYWJzKCk7XHJcbiAgICBzd2l0Y2ggKHRhYi50YWJUeXBlKSB7XHJcbiAgICAgIGNhc2UgJ2FsbC1zb2x1dGlvbnMnOlxyXG4gICAgICAgIHRoaXMuX2FsbFRhYi52YWx1ZSEuc2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuX2FsbFRhYlRpdGxlLnZhbHVlIS5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgICAgaWYgKHNlYXJjaE9wdGlvbnMpIHtcclxuICAgICAgICAgIHRoaXMuX2FsbFNoZWxsLnZhbHVlPy5zZWFyY2hTb2x1dGlvbnMoc2VhcmNoT3B0aW9ucyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdhcnRpY2xlcyc6XHJcbiAgICAgICAgdGhpcy5fYXJ0aWNsZXNUYWIudmFsdWUhLnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLl9hcnRpY2xlc1RhYlRpdGxlLnZhbHVlIS5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2RldGFpbHMnOlxyXG4gICAgICAgIGlmICh0aGlzLl9hbGxDYXJkcykge1xyXG4gICAgICAgICAgbGV0IGNhcmQgPSBmaW5kU29sdXRpb25CeVRpdGxlT3JJZCh0aGlzLl9hbGxDYXJkcywgdGFiLnRhYlRpdGxlT3JJZCk7XHJcbiAgICAgICAgICAvLyBhbHNvIHNlYXJjaCBmb3IgdjEgdHlwZUtleXdvcmQgaWRcclxuICAgICAgICAgIGNhcmQgPSBjYXJkID8gY2FyZCA6IGZpbmRTb2x1dGlvbkJ5VHlwZUtleXdvcmRTb2x1dGlvbklkKHRoaXMuX2FsbENhcmRzLCB0YWIudGFiVGl0bGVPcklkKTtcclxuICAgICAgICAgIGlmIChjYXJkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2RldGFpbHNUYWIudmFsdWUhLnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5fZGV0YWlsc1RhYlRpdGxlLnZhbHVlIS5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuZGV0YWlsc0NhcmRTZWxlY3RlZC5lbWl0KGNhcmQpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgLy8gaWYgbm8gY2FyZCBpcyBmb3VuZCB3ZSBzaG91bGQgb3BlbiB0aGUgYWxsLXNvbHV0aW9ucyB0YWJcclxuICAgICAgICAgICAgdGhpcy5fYWxsVGFiLnZhbHVlIS5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuX2FsbFRhYlRpdGxlLnZhbHVlIS5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuX3NldEFjdGl2ZVRhYignYWxsLXNvbHV0aW9ucycpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdteS1zb2x1dGlvbnMnOlxyXG4gICAgICAgIHRoaXMuX215U29sdXRpb25zVGFiLnZhbHVlIS5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5fbXlTb2x1dGlvbnNUYWJUaXRsZS52YWx1ZSEuc2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgIGlmIChzZWFyY2hPcHRpb25zKSB7XHJcbiAgICAgICAgICB0aGlzLl9teVNvbHV0aW9uc1NoZWxsLnZhbHVlPy5zZWFyY2hTb2x1dGlvbnMoc2VhcmNoT3B0aW9ucyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgLy8gVE9ETyB0ZXN0aW5nIGZvciBsaW5nZXJpbmcgdW5kZXJsaW5lIHdpdGggaGlzdG9yeSBwYWdlIG5hdlxyXG4gICAgdGhpcy5fYmx1clRhYnMoKTtcclxuICB9XHJcblxyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAvL1xyXG4gIC8vICBFdmVudHMgKHB1YmxpYylcclxuICAvL1xyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgLyoqIFRhYiBzZWxlY3RlZCBldmVudCAqL1xyXG4gIGRlcGxveUFwcFRhYlNlbGVjdGVkID0gY3JlYXRlRXZlbnQ8RGVwbG95QXBwVGFiPigpO1xyXG5cclxuICAvKiogRGV0YWlscyBjYXJkIHNlbGVjdGVkIGV2ZW50ICovXHJcbiAgZGV0YWlsc0NhcmRTZWxlY3RlZCA9IGNyZWF0ZUV2ZW50PElTb2x1dGlvbkluZm9DYXJkPigpO1xyXG5cclxuICAvKiogRW1pdHRlZCBvbiBkZW1hbmQgd2hlbiB0aGUgYXV0aCB0b2tlbiBpcyB1cGRhdGVkICovXHJcbiAgdG9rZW5SZWZyZXNoZWQgPSBjcmVhdGVFdmVudDxzdHJpbmc+KCk7XHJcblxyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAvL1xyXG4gIC8vICBGdW5jdGlvbnMgKGxpZmVjeWNsZSlcclxuICAvL1xyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgLyoqIEludm9rZWQgZWFjaCB0aW1lIHlvdXIgY29tcG9uZW50IGlzIGFkZGVkIHRvIHRoZSBkb2N1bWVudCdzIERPTS4gKi9cclxuICBvdmVycmlkZSBhc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IHVzZXJTZXNzaW9uID0gbmV3IFVzZXJTZXNzaW9uKHtcclxuICAgICAgdXNlcm5hbWU6ICcnLFxyXG4gICAgICBwYXNzd29yZDogJydcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fdXNlclNlc3Npb25Db250ZXh0UHJvdmlkZXIuc2V0VmFsdWUodXNlclNlc3Npb24pO1xyXG4gICAgLy8gVGhpcyBpcyB0aWVkIHRvIGEgY3NzIG1lZGlhIHF1ZXJ5XHJcbiAgICAvLyBXZSB3aWxsIHVzZSB0aGlzIHRvIHRyYWNrIHdoZW4gdGhlIGZpbHRlciB3YXMgZm9yY2VkIG9wZW4vY2xvc2VkIGJhc2VkIG9uIHRoZSBzaXplIG9mIHRoZSBicm93c2VyXHJcbiAgICAvLyBJZiB5b3UgbmVlZCB0byBjaGFuZ2UgdGhpcyBzaXplIHlvdSBuZWVkIHRvIGFsc28gY2hhbmdlIHRoZSBhc3NvY2lhdGVkIHNpemUgaW4gY3NzXHJcbiAgICB0aGlzLl9tZWRpYVF1ZXJ5ID0gd2luZG93Lm1hdGNoTWVkaWEoJyhtYXgtd2lkdGg6IDgwMHB4KScpO1xyXG4gICAgdGhpcy5fbWVkaWFRdWVyeS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLl9tZWRpYVF1ZXJ5Q2hhbmdlKTtcclxuICAgIHRoaXMuX21lZGlhUXVlcnlDaGFuZ2UodGhpcy5fbWVkaWFRdWVyeSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDYWxsZWQgb25jZSBqdXN0IGFmdGVyIHRoZSBjb21wb25lbnQgaXMgZmlyc3QgY29ubmVjdGVkIHRvIHRoZSBET00uXHJcbiAgICpcclxuICAgKiBAcmV0dXJucyBQcm9taXNlIHdoZW4gY29tcGxldGVcclxuICAgKi9cclxuICBhc3luYyBsb2FkKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMudXNlTG9jYWxBcHBDb25maWcpIHtcclxuICAgICAgdGhpcy5hcHBDb25maWcgPSBfYXBwQ29uZmlnO1xyXG4gICAgICB0aGlzLnByaW1hcnlTb2x1dGlvbnNHcm91cElkID0gdGhpcy5hcHBDb25maWcucHJpbWFyeVNvbHV0aW9uc0dyb3VwSWQ7XHJcbiAgICAgIHRoaXMub3JnVXJsID0gdGhpcy5hcHBDb25maWcub3JnVXJsO1xyXG4gICAgICB0aGlzLmxvY2FsZSA9IHRoaXMuYXBwQ29uZmlnLmxvY2FsZTtcclxuICAgICAgdGhpcy5wb3J0YWxVcmwgPSB0aGlzLmFwcENvbmZpZy5wb3J0YWxVUkw7XHJcbiAgICAgIHRoaXMuX2xvY2FsRGVidWdDb250ZXh0UHJvdmlkZXIuc2V0VmFsdWUodHJ1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBUT0RPIGNvbnNvbGlkYXRlIHRoaXMgYW5kIGNvbmZpcm0gd2l0aCBNaWtlIHRoZSBleHBlY3RhdGlvblxyXG4gICAgICB0aGlzLnByaW1hcnlTb2x1dGlvbnNHcm91cElkID0gdGhpcy5hcHBDb25maWcucHJpbWFyeVNvbHV0aW9uc0dyb3VwSWQ7XHJcbiAgICAgIHRoaXMuX2xvY2FsRGVidWdDb250ZXh0UHJvdmlkZXIuc2V0VmFsdWUoZmFsc2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX2NhcmRzRmV0Y2hlciA9IG5ldyBjYXJkc0ZldGNoZXIuQ2FyZHNGZXRjaGVyKHRoaXMubG9jYWxlLCB0aGlzLm9yZ1VybCwgdGhpcy5wb3J0YWxVcmwpO1xyXG5cclxuICAgIGlmICghdGhpcy5hdXRoZW50aWNhdGlvbikge1xyXG4gICAgICBpZiAodGhpcy5hcHBDb25maWcuYXV0aGVudGljYXRpb24pIHtcclxuICAgICAgICB0aGlzLmF1dGhlbnRpY2F0aW9uID0gdGhpcy5hcHBDb25maWcuYXV0aGVudGljYXRpb247XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5hdXRoZW50aWNhdGlvbiA9IG5ldyBBdXRoKHRoaXMuYXBwQ29uZmlnLmFwcElkLCB0aGlzLmFwcENvbmZpZy5wb3J0YWxVUkwsIHRoaXMuYXBwQ29uZmlnLmxvY2FsZSk7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5hdXRoZW50aWNhdGlvbi5pbml0aWFsaXplKCk7XHJcbiAgICAgICAgaWYgKCF0aGlzLmF1dGhlbnRpY2F0aW9uLklzU2lnbmVkSW4pIHtcclxuICAgICAgICAgIHRoaXMuYXV0aGVudGljYXRpb24uc2lnbkluKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fYXV0aENvbnRleHRQcm92aWRlci5zZXRWYWx1ZSh0aGlzLmF1dGhlbnRpY2F0aW9uISk7XHJcblxyXG4gICAgaWYgKHRoaXMuYXV0aGVudGljYXRpb24hLlJlc3RVc2VyU2Vzc2lvbikge1xyXG4gICAgICB0aGlzLl91c2VyU2Vzc2lvbkNvbnRleHRQcm92aWRlci5zZXRWYWx1ZSh0aGlzLmF1dGhlbnRpY2F0aW9uIS5SZXN0VXNlclNlc3Npb24pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX3NldFJlZnJlc2hJbnRlcnZhbCgpO1xyXG4gICAgYXdhaXQgdGhpcy5fZ2V0U29sdXRpb25zKCk7XHJcbiAgfVxyXG5cclxuICAvKiogQ2FsbGVkIG9uY2UganVzdCBhZnRlciB0aGUgY29tcG9uZW50IGlzIGZ1bGx5IGxvYWRlZCBhbmQgdGhlIGZpcnN0IHJlbmRlcigpIG9jY3Vycy4gKi9cclxuICBsb2FkZWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9oYW5kbGVUYWJzKCk7XHJcbiAgfVxyXG5cclxuICAvKiogUmVuZGVycyB0aGUgY29tcG9uZW50LiAqL1xyXG4gIG92ZXJyaWRlIHJlbmRlcigpOiBKc3hOb2RlIHtcclxuICAgIGNvbnN0IGxvYWRlckNzcyA9IHRoaXMuX2lzTG9hZGVkID8gJ2Rpc3BsYXktbm9uZScgOiAnJztcclxuICAgIGNvbnN0IHRhYnNDc3MgPSB0aGlzLl9pc0xvYWRlZCA/ICcnIDogJ2Rpc3BsYXktbm9uZSc7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8PlxyXG4gICAgICAgIDxjYWxjaXRlLWxvYWRlclxyXG4gICAgICAgICAgY2xhc3M9e2xvYWRlckNzc31cclxuICAgICAgICAgIGlkPSdzb2x1dGlvbnMtbG9hZGVyJ1xyXG4gICAgICAgICAgbGFiZWw9e3RoaXMuX3RyYW5zbGF0aW9ucy5mZXRjaGluZ0FsbFNvbHV0aW9uc31cclxuICAgICAgICA+XHJcbiAgICAgICAgPC9jYWxjaXRlLWxvYWRlcj5cclxuICAgICAgICA8Y2FsY2l0ZS10YWJzIGNsYXNzPXt0YWJzQ3NzfSBzY2FsZT0nbCc+XHJcbiAgICAgICAgICA8Y2FsY2l0ZS10YWItbmF2XHJcbiAgICAgICAgICAgIGNsYXNzPSdzaGVsbC1jb250YWluZXInXHJcbiAgICAgICAgICAgIHNsb3Q9J3RpdGxlLWdyb3VwJ1xyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8Y2FsY2l0ZS10YWItdGl0bGVcclxuICAgICAgICAgICAgICBvbmNhbGNpdGVUYWJzQWN0aXZhdGU9eygpID0+IHRoaXMuX3NldEFjdGl2ZVRhYignYWxsLXNvbHV0aW9ucycpfVxyXG4gICAgICAgICAgICAgIHJlZj17dGhpcy5fYWxsVGFiVGl0bGV9XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICB7dGhpcy5fdHJhbnNsYXRpb25zLmFsbFNvbHV0aW9uc31cclxuICAgICAgICAgICAgPC9jYWxjaXRlLXRhYi10aXRsZT5cclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHRoaXMuYXV0aGVudGljYXRpb24/LklzU2lnbmVkSW4gPyAoXHJcbiAgICAgICAgICAgICAgICA8Y2FsY2l0ZS10YWItdGl0bGVcclxuICAgICAgICAgICAgICAgICAgb25jYWxjaXRlVGFic0FjdGl2YXRlPXsoKSA9PiB0aGlzLl9zZXRBY3RpdmVUYWIoJ215LXNvbHV0aW9ucycpfVxyXG4gICAgICAgICAgICAgICAgICByZWY9e3RoaXMuX215U29sdXRpb25zVGFiVGl0bGV9XHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIHt0aGlzLl90cmFuc2xhdGlvbnMubXlTb2x1dGlvbnN9XHJcbiAgICAgICAgICAgICAgICA8L2NhbGNpdGUtdGFiLXRpdGxlPlxyXG4gICAgICAgICAgICAgICkgOiAoPD48Lz4pXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgey8qIDxjYWxjaXRlLXRhYi10aXRsZVxyXG4gICAgICAgICAgICAgIG9uY2FsY2l0ZVRhYnNBY3RpdmF0ZT17KCkgPT4gdGhpcy5fc2V0QWN0aXZlVGFiKCdhcnRpY2xlcycpfVxyXG4gICAgICAgICAgICAgIHJlZj17dGhpcy5fYXJ0aWNsZXNUYWJUaXRsZX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIHt0aGlzLl90cmFuc2xhdGlvbnMuc29sdXRpb25BcnRpY2xlc31cclxuICAgICAgICAgICAgPC9jYWxjaXRlLXRhYi10aXRsZT4gKi99XHJcbiAgICAgICAgICAgIDxjYWxjaXRlLXRhYi10aXRsZVxyXG4gICAgICAgICAgICAgIGNsYXNzPSdkaXNwbGF5LW5vbmUnXHJcbiAgICAgICAgICAgICAgb25jYWxjaXRlVGFic0FjdGl2YXRlPXsoKSA9PiB0aGlzLl9zZXRBY3RpdmVUYWIoJ2RldGFpbHMnKX1cclxuICAgICAgICAgICAgICByZWY9e3RoaXMuX2RldGFpbHNUYWJUaXRsZX1cclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgIDwvY2FsY2l0ZS10YWItbmF2PlxyXG4gICAgICAgICAgPGNhbGNpdGUtdGFiXHJcbiAgICAgICAgICAgIGNsYXNzPSdiYWNrLWNvbG9yLW92ZXJyaWRlJ1xyXG4gICAgICAgICAgICByZWY9e3RoaXMuX2FsbFRhYn1cclxuICAgICAgICAgICAgc2VsZWN0ZWRcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPHNvbHV0aW9ucy1hbGwtc2hlbGxcclxuICAgICAgICAgICAgICBhcHBDb25maWc9e3RoaXMuYXBwQ29uZmlnfVxyXG4gICAgICAgICAgICAgIGNsYXNzPSdzaGVsbC1jb250YWluZXIgaGVpZ2h0LTEwMCdcclxuICAgICAgICAgICAgICByZWY9e3RoaXMuX2FsbFNoZWxsfVxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgPC9jYWxjaXRlLXRhYj5cclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGhpcy5hdXRoZW50aWNhdGlvbj8uSXNTaWduZWRJbiA/IChcclxuICAgICAgICAgICAgICA8Y2FsY2l0ZS10YWJcclxuICAgICAgICAgICAgICAgIGNsYXNzPSdiYWNrLWNvbG9yLW92ZXJyaWRlJ1xyXG4gICAgICAgICAgICAgICAgcmVmPXt0aGlzLl9teVNvbHV0aW9uc1RhYn1cclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8c29sdXRpb25zLWRlcGxveWVkLXNoZWxsXHJcbiAgICAgICAgICAgICAgICAgIGFwcENvbmZpZz17dGhpcy5hcHBDb25maWd9XHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPSdzaGVsbC1jb250YWluZXIgaGVpZ2h0LTEwMCdcclxuICAgICAgICAgICAgICAgICAgcmVmPXt0aGlzLl9teVNvbHV0aW9uc1NoZWxsfVxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICA8L2NhbGNpdGUtdGFiPlxyXG4gICAgICAgICAgICApIDogKDw+PC8+KVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgey8qIDxjYWxjaXRlLXRhYlxyXG4gICAgICAgICAgICBjbGFzcz0nYmFjay1jb2xvci1vdmVycmlkZSdcclxuICAgICAgICAgICAgcmVmPXt0aGlzLl9hcnRpY2xlc1RhYn1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPHNvbHV0aW9ucy1hcnRpY2xlcy1zaGVsbCBjbGFzcz0nc2hlbGwtY29udGFpbmVyIGhlaWdodC0xMDAnIC8+XHJcbiAgICAgICAgICA8L2NhbGNpdGUtdGFiPiAqL31cclxuICAgICAgICAgIDxjYWxjaXRlLXRhYlxyXG4gICAgICAgICAgICBjbGFzcz0nYmFjay1jb2xvci1vdmVycmlkZS1kZXRhaWxzJ1xyXG4gICAgICAgICAgICByZWY9e3RoaXMuX2RldGFpbHNUYWJ9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxzb2x1dGlvbi1kZXRhaWxzLXBhbmVsXHJcbiAgICAgICAgICAgICAgY2xhc3M9J3NoZWxsLWNvbnRhaW5lciBoZWlnaHQtMTAwJ1xyXG4gICAgICAgICAgICAgIHJlZj17dGhpcy5fZGV0YWlsc1NoZWxsfVxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgPC9jYWxjaXRlLXRhYj5cclxuICAgICAgICA8L2NhbGNpdGUtdGFicz5cclxuICAgICAgPC8+XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqIEludm9rZWQgd2hlbiB0aGUgY29tcG9uZW50IGlzIHJlbW92ZWQgZnJvbSB0aGUgZG9jdW1lbnQncyBET00uXHJcbiAgICogVGhpcyBjYWxsYmFjayBpcyB0aGUgbWFpbiBzaWduYWwgdG8gdGhlIGVsZW1lbnQgdGhhdCBpdCBtYXkgbm8gbG9uZ2VyIGJlIHVzZWQuXHJcbiAgICogZGlzY29ubmVjdGVkQ2FsbGJhY2soKSBzaG91bGQgZW5zdXJlIHRoYXQgbm90aGluZyBpcyBob2xkaW5nIGEgcmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50XHJcbiAgICogKHN1Y2ggYXMgZXZlbnQgbGlzdGVuZXJzIGFkZGVkIHRvIG5vZGVzIGV4dGVybmFsIHRvIHRoZSBlbGVtZW50KSwgc28gdGhhdCBpdCBpcyBmcmVlIHRvIGJlIGdhcmJhZ2UgY29sbGVjdGVkLlxyXG4gICovXHJcbiAgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLl9tZWRpYVF1ZXJ5Py5yZW1vdmVFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLl9tZWRpYVF1ZXJ5Q2hhbmdlKTtcclxuICB9XHJcblxyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAvL1xyXG4gIC8vICBGdW5jdGlvbnMgKHByaXZhdGUpXHJcbiAgLy9cclxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4gIC8qKiBVcGRhdGUgdGhlIG1vYmlsZSB2aWV3IHN0YXRlIHdoZW4gdGhpcyBtZWRpYSBxdWVyeSBjaGFuZ2Ugb2NjdXJzLiAqL1xyXG4gIHByaXZhdGUgX21lZGlhUXVlcnlDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5pc01vYmlsZSA9IGV2ZW50Lm1hdGNoZXM7XHJcbiAgICB0aGlzLl9pc01vYmlsZUNvbnRleHRQcm92aWRlci5zZXRWYWx1ZSh0aGlzLmlzTW9iaWxlKTtcclxuICB9XHJcblxyXG4gIC8vIHJlY29tbWVuZGVkIHBhdGggZnJvbSBDYWxjaXRlIHRlYW0gdG8gYXZvaWQgdGhlIGJvcmRlciBhcm91bmQgdGhlIHRhYnNcclxuICBwcml2YXRlIF9oYW5kbGVUYWJzKCk6IHZvaWQge1xyXG4gICAgLy8gVE9ETyBjaGFuZ2UgdGhlc2UgdG8gY2xlYW5lciByZWZzIGFuZCBsaXN0ZW5PbiBpZiBwb3NzaWJsZVxyXG4gICAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgZnVuY3Rpb24gKGV2ZW50KSB7XHJcbiAgICAgIGlmIChldmVudC5rZXkgPT0gJ1RhYicgfHwgZXZlbnQua2V5ID09ICdTaGlmdCAnIHx8IGV2ZW50LmtleSA9PSAnRW50ZXInKSB7XHJcbiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignY2FsY2l0ZS10YWJzJyk/LnN0eWxlLnNldFByb3BlcnR5KFxyXG4gICAgICAgICAgJy0tY2FsY2l0ZS1jb2xvci1mb2N1cycsXHJcbiAgICAgICAgICAndmFyKC0tY2FsY2l0ZS1jb2xvci1icmFuZCknXHJcbiAgICAgICAgKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdjYWxjaXRlLXRhYnMnKT8uc3R5bGUuc2V0UHJvcGVydHkoJy0tY2FsY2l0ZS1jb2xvci1mb2N1cycsICd0cmFuc3BhcmVudCcpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24gKCkge1xyXG4gICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdjYWxjaXRlLXRhYnMnKT8uc3R5bGUuc2V0UHJvcGVydHkoJy0tY2FsY2l0ZS1jb2xvci1mb2N1cycsICd0cmFuc3BhcmVudCcpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKiogRW1pdCBkZXBsb3lBcHBUYWJTZWxlY3RlZCBldmVudCB3aGVuIGEgdGFiIGlzIHNlbGVjdGVkICovXHJcbiAgcHJpdmF0ZSBfc2V0QWN0aXZlVGFiKGFjdGl2ZVRhYjogRGVwbG95QXBwVGFiKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlcGxveUFwcFRhYlNlbGVjdGVkLmVtaXQoYWN0aXZlVGFiKTtcclxuICB9XHJcblxyXG4gIC8qKiBSZXNwb25kIHRvIHNvbHV0aW9uc0FsbExvYWRlZCBldmVudCBhbmQgaGlkZSB0aGUgbG9hZGVyICovXHJcbiAgcHJpdmF0ZSBfc29sdXRpb25zQWxsTG9hZGVkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5faXNMb2FkZWQgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgLyoqIFJlc3BvbmQgdG8gZGV0YWlsc0NhcmRTZWxlY3RlZCBldmVudCBhbmQgc2VsZWN0IHRoZSBkZXRhaWxzIHRhYiAqL1xyXG4gIHByaXZhdGUgX2RldGFpbHNDYXJkU2VsZWN0ZWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXRhaWxzVGFiVGl0bGUudmFsdWUhLnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgIHRoaXMuX2RldGFpbHNUYWIudmFsdWUhLnNlbGVjdGVkID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKiBSZXNwb25kIHRvIGRlcGxveVByb2dyZXNzRW5kIGV2ZW50IGFuZCBzZWxlY3QgdGhlIG15LXNvbHV0aW9ucyB0YWIgKi9cclxuICBwcml2YXRlIF9kZXBsb3lQcm9ncmVzc0VuZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX215U29sdXRpb25zVGFiVGl0bGUudmFsdWUhLnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgIHRoaXMuX215U29sdXRpb25zVGFiLnZhbHVlIS5zZWxlY3RlZCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICAvKiogR2V0IHRoZSBzb2x1dGlvbnMgZnJvbSB0aGUgYWdvIG9yIGVudGVycHJpc2Ugb3JnLiAqL1xyXG4gIHByaXZhdGUgYXN5bmMgX2dldFNvbHV0aW9ucygpOiBQcm9taXNlPElTb2x1dGlvbkluZm9DYXJkW10+IHtcclxuICAgIGNvbnN0IGZldGNoZWRDYXJkcyA9IGF3YWl0IHRoaXMuX2NhcmRzRmV0Y2hlcj8ucmVxdWVzdEF2YWlsYWJsZVNvbHV0aW9uQ2FyZHMoXHJcbiAgICAgIHtcclxuICAgICAgICAncSc6IHRoaXMuX2Fnb1Rlcm1zLFxyXG4gICAgICAgICdmaWx0ZXInOiAndHlwZTpTb2x1dGlvbicsXHJcbiAgICAgICAgJ3NvcnRGaWVsZCc6IHRoaXMuX3NvcnRGaWVsZCxcclxuICAgICAgICAnc29ydE9yZGVyJzogdGhpcy5fc29ydE9yZGVyLCAvLyBUT0RPIGRlZmF1bHQgc2VhcmNoIHdoZW4gb2xkIGFwcCBsb2FkcyBpcyBkZXNjLi4ubWF5IG5lZWQgdG8gc3dpdGNoIHRoaXMgZm9yIG90aGVyXHJcbiAgICAgICAgJ25leHRTdGFydCc6IC0xLFxyXG4gICAgICAgICdjYXRlZ29yaWVzJzogdGhpcy5fY2F0ZWdvcmllcyxcclxuICAgICAgICAnZGVsYXknOiB0aGlzLl9kZWxheSxcclxuICAgICAgICAnZ2V0U3VnZ2VzdGVkJzogdGhpcy5fZ2V0U3VnZ2VzdGVkXHJcbiAgICAgIH0sXHJcbiAgICAgIHRoaXMucHJpbWFyeVNvbHV0aW9uc0dyb3VwSWQsXHJcbiAgICAgICcnLCAvL3RoaXMuZW50ZXJwcmlzZVNvbHV0aW9uc0dyb3VwSWQsIFRPRE8gYm90aCBhcmUgcGFzc2VkIGJ5IGRlZmF1bHQgaW4gdGhlIG9sZCBhcHAuLi5kb24ndCBmb2xsb3cgd2h5XHJcbiAgICAgIHRoaXMuX3VzZXJTZXNzaW9uQ29udGV4dFByb3ZpZGVyLnZhbHVlLFxyXG4gICAgICB7XHJcbiAgICAgICAgJ251bSc6IDEwMDBcclxuICAgICAgfVxyXG4gICAgKTtcclxuXHJcbiAgICBjb25zdCBuZXdSZWxlYXNlID0gJy9DYXRlZ29yaWVzL05ldyBSZWxlYXNlJztcclxuICAgIGNvbnN0IGNhcmRzID0gZmV0Y2hlZENhcmRzPy5jYXJkcy5sZW5ndGggPyBmZXRjaGVkQ2FyZHMuY2FyZHMgOiBbXTtcclxuICAgIGlmICh0aGlzLnNvcnRUeXBlID09PSAnbmV3Jykge1xyXG4gICAgICBjYXJkcy5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgICAgaWYgKGEuY2F0ZWdvcmllcy5pbmNsdWRlcyhuZXdSZWxlYXNlKSAmJiAhYi5jYXRlZ29yaWVzLmluY2x1ZGVzKG5ld1JlbGVhc2UpKSB7XHJcbiAgICAgICAgICByZXR1cm4gLTE7XHJcbiAgICAgICAgfSBlbHNlIGlmICghYS5jYXRlZ29yaWVzLmluY2x1ZGVzKG5ld1JlbGVhc2UpICYmIGIuY2F0ZWdvcmllcy5pbmNsdWRlcyhuZXdSZWxlYXNlKSkge1xyXG4gICAgICAgICAgcmV0dXJuIDE7XHJcbiAgICAgICAgfSBlbHNlIGlmIChhLmNhdGVnb3JpZXMuaW5jbHVkZXMobmV3UmVsZWFzZSkgJiYgYi5jYXRlZ29yaWVzLmluY2x1ZGVzKG5ld1JlbGVhc2UpKSB7XHJcbiAgICAgICAgICByZXR1cm4gYS5jYXRlZ29yaWVzLmxlbmd0aCAtIGIuY2F0ZWdvcmllcy5sZW5ndGg7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIH1cclxuICAgIC8vIFRPRE8gd2lsbCBkbyB0aGlzIHR5cGUgb2YgY2hlY2sgYWZ0ZXIgd2UgYXJlIGFibGUgdG8gZnVsbHkgY29uc29saWRhdGVcclxuICAgIC8vIHJpZ2h0IG5vdyBjYW4ndCBmdWxseSBjb25zb2xpZGF0ZSB3aXRob3V0IGJyZWFraW5nIHRoZSBhcHAgdGhhdCBkb2Vzbid0IHVzZSB0aGlzIGNvbXBvbmVudFxyXG4gICAgLy8gY29uc3Qgc29sdXRpb25EZXRhaWxzQ2FyZHMgPSBjYXJkcy5tYXAoZmV0Y2hlZENhcmQgPT4ge1xyXG4gICAgLy8gICAvLyBjYW4gd2UgaGF2ZSBib3RoIHVwZGF0ZWQgYW5kIGRlcGxveWVkPyBTZWVtcyBsaWtlIHdlIGNvdWxkLi4ubmVlZCB0byB1cGRhdGUgdGhlIGNhcmQgdG8gc3VwcG9ydCB0aGF0XHJcbiAgICAvLyAgIGNvbnN0IGhhc05ld1JlbGVhc2UgPSBmZXRjaGVkQ2FyZC5jYXRlZ29yaWVzLmluZGV4T2YobmV3UmVsZWFzZSkgPiAtMTtcclxuICAgIC8vICAgbGV0IGlzRGVwbG95ZWQgPSBmYWxzZTtcclxuICAgIC8vICAgaWYgKHRoaXMuX2RlcGxveWVkU29sdXRpb25zKSB7XHJcbiAgICAvLyAgICAgaXNEZXBsb3llZCA9IHRoaXMuX2lzU29sdXRpb25EZXBsb3llZChmZXRjaGVkQ2FyZC5kZXBsb3lDb21tb25JZCk7XHJcbiAgICAvLyAgIH1cclxuICAgIC8vICAgZmV0Y2hlZENhcmQuY2hpcCA9IGhhc05ld1JlbGVhc2UgPyAndXBkYXRlZCcgOiBpc0RlcGxveWVkID8gJ2RlcGxveWVkJyA6ICdub25lJztcclxuICAgIC8vICAgcmV0dXJuIGZldGNoZWRDYXJkO1xyXG4gICAgLy8gfSk7XHJcblxyXG4gICAgaWYgKHRoaXMuX2FsbENhcmRzLmxlbmd0aCA9PT0gMCAmJiBmZXRjaGVkQ2FyZHM/LmNhcmRzKSB7XHJcbiAgICAgIHRoaXMuX2FsbENhcmRzID0gZmV0Y2hlZENhcmRzPy5jYXJkcztcclxuICAgIH1cclxuXHJcbiAgICAvL3RoaXMuY2FyZHNGZXRjaGVkLmVtaXQoc29sdXRpb25EZXRhaWxzQ2FyZHMubGVuZ3RoKTtcclxuICAgIC8vcmV0dXJuIHNvbHV0aW9uRGV0YWlsc0NhcmRzO1xyXG4gICAgcmV0dXJuIHRoaXMuX2FsbENhcmRzO1xyXG4gIH1cclxuXHJcbiAgLyoqIEJsdXIgYWxsIHRhYnMgKi9cclxuICBwcml2YXRlIF9ibHVyVGFicygpOiB2b2lkIHtcclxuICAgIHRoaXMuX2FsbFRhYlRpdGxlLnZhbHVlPy5ibHVyKCk7XHJcbiAgICB0aGlzLl9hcnRpY2xlc1RhYlRpdGxlLnZhbHVlPy5ibHVyKCk7XHJcbiAgICB0aGlzLl9kZXRhaWxzVGFiVGl0bGUudmFsdWU/LmJsdXIoKTtcclxuICAgIHRoaXMuX215U29sdXRpb25zVGFiVGl0bGUudmFsdWU/LmJsdXIoKTtcclxuICB9XHJcblxyXG4gIC8qKiBSZWZyZXNoIHRoZSB0b2tlbiBuZWFyIHRoZSBlbmQgb2YgdGhlIGV4cGlyYXRpb24gcGVyaW9kICovXHJcbiAgcHJpdmF0ZSBfc2V0UmVmcmVzaEludGVydmFsKCk6IHZvaWQge1xyXG4gICAgY29uc3QgdXNlclNlc3Npb24gPSB0aGlzLl91c2VyU2Vzc2lvbkNvbnRleHRQcm92aWRlcj8udmFsdWU7XHJcbiAgICBjb25zdCBhdXRoZW50aWNhdGlvbiA9IHRoaXMuX2F1dGhDb250ZXh0UHJvdmlkZXI/LnZhbHVlO1xyXG4gICAgaWYgKHVzZXJTZXNzaW9uICYmIHVzZXJTZXNzaW9uLnRva2VuRHVyYXRpb24gJiYgYXV0aGVudGljYXRpb24/LklzU2lnbmVkSW4pIHtcclxuICAgICAgY29uc3QgcmVmcmVzaEludGVydmFsID0gdXNlclNlc3Npb24udG9rZW5EdXJhdGlvbiAqIDAuOTtcclxuICAgICAgc2V0SW50ZXJ2YWwoXHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1taXN1c2VkLXByb21pc2VzXHJcbiAgICAgICAgYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgcmVmcmVzaFNlc3Npb24gPSBhd2FpdCBhdXRoZW50aWNhdGlvbj8ucmVmcmVzaFNlc3Npb24oKTtcclxuICAgICAgICAgIGlmIChyZWZyZXNoU2Vzc2lvbikge1xyXG4gICAgICAgICAgICB0aGlzLl91c2VyU2Vzc2lvbkNvbnRleHRQcm92aWRlci5zZXRWYWx1ZShyZWZyZXNoU2Vzc2lvbik7XHJcbiAgICAgICAgICAgIGNvbnN0IHRva2VuID0gcmVmcmVzaFNlc3Npb24/LnRva2VuID8/ICcnO1xyXG4gICAgICAgICAgICB0aGlzLnRva2VuUmVmcmVzaGVkLmVtaXQodG9rZW4pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sIHJlZnJlc2hJbnRlcnZhbFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXSwibmFtZXMiOlsiU29sdXRpb25zRGVwbG95QXBwIiwiTGl0RWxlbWVudCIsInVzZVQ5biIsIkJBU0VfU09MVVRJT05TX1RFUk1TIiwiQkFTRV9ESVNQTEFZX09OTFlfVEVSTVMiLCJjcmVhdGVSZWYiLCJ1c2VDb250ZXh0UHJvdmlkZXIiLCJhdXRoQ29udGV4dCIsImlzTW9iaWxlQ29udGV4dCIsImxvY2FsRGVidWdDb250ZXh0IiwidXNlclNlc3Npb25Db250ZXh0IiwiY3JlYXRlRXZlbnQiLCJzdHlsZXMiLCJ0YWIiLCJzZWFyY2hPcHRpb25zIiwiY2FyZCIsImZpbmRTb2x1dGlvbkJ5VGl0bGVPcklkIiwiZmluZFNvbHV0aW9uQnlUeXBlS2V5d29yZFNvbHV0aW9uSWQiLCJ1c2VyU2Vzc2lvbiIsIlVzZXJTZXNzaW9uIiwiX2FwcENvbmZpZyIsImNhcmRzRmV0Y2hlci5DYXJkc0ZldGNoZXIiLCJBdXRoIiwibG9hZGVyQ3NzIiwidGFic0NzcyIsImh0bWwiLCJzYWZlQ2xhc3NNYXAiLCJyZWYkanN4IiwiZXZlbnQiLCJhY3RpdmVUYWIiLCJmZXRjaGVkQ2FyZHMiLCJuZXdSZWxlYXNlIiwiY2FyZHMiLCJhIiwiYiIsImF1dGhlbnRpY2F0aW9uIiwicmVmcmVzaEludGVydmFsIiwicmVmcmVzaFNlc3Npb24iLCJ0b2tlbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQThFTSxNQUFPQSxVQUEyQkMsRUFBVTtBQUFBLEVBVWhELGNBQUE7QUFDRSxVQUFBLEdBaUJVLEtBQUEsU0FBUyxJQUdULEtBQUEsU0FBUyxJQUdULEtBQUEsWUFBWSxJQUdaLEtBQUEsMEJBQTBCLElBRzFCLEtBQUEsV0FBcUIsYUFPckIsS0FBQSxvQkFBb0IsSUFTdkIsS0FBQSxZQUFZLElBR1osS0FBQSxXQUFXLElBTVgsS0FBQSxnQkFBZ0JDLEVBQTBCLEVBQUUsTUFBTSx3QkFBd0IsVUFBVSxJQUFNLEdBU25HLEtBQVEsWUFBWSxHQUFHQyxDQUFvQixPQUFPQyxDQUF1QixJQUd6RSxLQUFRLFlBQWlDLENBQUEsR0FHekMsS0FBUSxZQUFZQyxFQUFBLEdBR3BCLEtBQVEsVUFBVUEsRUFBQSxHQUdsQixLQUFRLGVBQWVBLEVBQUEsR0FHdkIsS0FBUSxlQUFlQSxFQUFBLEdBR3ZCLEtBQVEsb0JBQW9CQSxFQUFBLEdBTTVCLEtBQVEsdUJBQXVCQyxFQUFtQixFQUFFLFNBQVNDLEdBQWEsR0FNMUUsS0FBUSxpQkFBbUMsUUFNM0MsS0FBUSxjQUF3QixDQUFBLEdBR2hDLEtBQVEsU0FBUyxJQUdqQixLQUFRLGdCQUFnQkYsRUFBQSxHQUd4QixLQUFRLGNBQWNBLEVBQUEsR0FHdEIsS0FBUSxtQkFBbUJBLEVBQUEsR0FHM0IsS0FBUSxnQkFBZ0IsSUFNeEIsS0FBUSwyQkFBMkJDLEVBQW1CLEVBQUUsU0FBU0UsR0FBaUIsR0FNbEYsS0FBUSw2QkFBNkJGLEVBQW1CLEVBQUUsU0FBU0csR0FBbUIsR0FNdEYsS0FBUSxvQkFBb0JKLEVBQUEsR0FHNUIsS0FBUSxrQkFBa0JBLEVBQUEsR0FHMUIsS0FBUSx1QkFBdUJBLEVBQUEsR0FHL0IsS0FBUSxhQUFnRCxhQUd4RCxLQUFRLGFBQTZCLFFBTXJDLEtBQVEsOEJBQThCQyxFQUFtQixFQUFFLFNBQVNJLEdBQW9CLEdBMEV4RixLQUFBLHVCQUF1QkMsRUFBQSxHQUd2QixLQUFBLHNCQUFzQkEsRUFBQSxHQUd0QixLQUFBLGlCQUFpQkEsRUFBQSxHQXJPZixLQUFLLFNBQVMsUUFBUSxzQkFBc0IsS0FBSyxtQkFBbUIsR0FDcEUsS0FBSyxTQUFTLFFBQVEsdUJBQXVCLEtBQUssb0JBQW9CLEdBQ3RFLEtBQUssU0FBUyxRQUFRLHFCQUFxQixLQUFLLGtCQUFrQixHQUNsRSxLQUFLLG9CQUFvQixLQUFLLGtCQUFrQixLQUFLLElBQUk7QUFBQSxFQUMzRDtBQUFBOzs7RUFSQSxPQUFBO0FBQUEsU0FBZ0IsU0FBU0M7QUFBQSxFQUFBO0FBQUEsRUEwS2xCLFVBQ0xDLEdBQ0FDLEdBQ0s7QUFJTCxZQUhBLFFBQVEsSUFBSUEsQ0FBYSxHQUdqQkQsRUFBSSxTQUFBO0FBQUEsTUFDVixLQUFLO0FBQ0gsYUFBSyxRQUFRLE1BQU8sV0FBVyxJQUMvQixLQUFLLGFBQWEsTUFBTyxXQUFXLElBQ2hDQyxLQUNGLEtBQUssVUFBVSxPQUFPLGdCQUFnQkEsQ0FBYTtBQUVyRDtBQUFBLE1BQ0YsS0FBSztBQUNILGFBQUssYUFBYSxNQUFPLFdBQVcsSUFDcEMsS0FBSyxrQkFBa0IsTUFBTyxXQUFXO0FBQ3pDO0FBQUEsTUFDRixLQUFLO0FBQ0gsWUFBSSxLQUFLLFdBQVc7QUFDbEIsY0FBSUMsSUFBT0MsRUFBd0IsS0FBSyxXQUFXSCxFQUFJLFlBQVk7QUFFbkUsVUFBQUUsSUFBT0EsS0FBY0UsRUFBb0MsS0FBSyxXQUFXSixFQUFJLFlBQVksR0FDckZFLEtBQ0YsS0FBSyxZQUFZLE1BQU8sV0FBVyxJQUNuQyxLQUFLLGlCQUFpQixNQUFPLFdBQVcsSUFDeEMsS0FBSyxvQkFBb0IsS0FBS0EsQ0FBSSxNQUdsQyxLQUFLLFFBQVEsTUFBTyxXQUFXLElBQy9CLEtBQUssYUFBYSxNQUFPLFdBQVcsSUFDcEMsS0FBSyxjQUFjLGVBQWU7QUFBQSxRQUV0QztBQUNBO0FBQUEsTUFDRixLQUFLO0FBQ0gsYUFBSyxnQkFBZ0IsTUFBTyxXQUFXLElBQ3ZDLEtBQUsscUJBQXFCLE1BQU8sV0FBVyxJQUN4Q0QsS0FDRixLQUFLLGtCQUFrQixPQUFPLGdCQUFnQkEsQ0FBYTtBQUU3RDtBQUFBLElBRUE7QUFHSixTQUFLLFVBQUE7QUFBQSxFQUNQO0FBQUEsRUF3QkEsTUFBZSxvQkFBa0M7O0FBQy9DLFVBQU1JLElBQWMsSUFBSUMsRUFBWTtBQUFBLE1BQ2xDLFVBQVU7QUFBQSxNQUNWLFVBQVU7QUFBQSxJQUFBLENBQ1g7QUFDRCxTQUFLLDRCQUE0QixTQUFTRCxDQUFXLEdBSXJELEtBQUssY0FBYyxPQUFPLFdBQVcsb0JBQW9CLEdBQ3pELEtBQUssWUFBWSxpQkFBaUIsVUFBVSxLQUFLLGlCQUFpQixHQUNsRSxLQUFLLGtCQUFrQixLQUFLLFdBQVc7QUFBQSxFQUN4QztBQUFBLEVBT0QsTUFBTSxPQUFxQjtBQUN6QixJQUFJLEtBQUsscUJBQ1AsS0FBSyxZQUFZRSxHQUNqQixLQUFLLDBCQUEwQixLQUFLLFVBQVUseUJBQzlDLEtBQUssU0FBUyxLQUFLLFVBQVUsUUFDN0IsS0FBSyxTQUFTLEtBQUssVUFBVSxRQUM3QixLQUFLLFlBQVksS0FBSyxVQUFVLFdBQ2hDLEtBQUssMkJBQTJCLFNBQVMsRUFBSSxNQUc3QyxLQUFLLDBCQUEwQixLQUFLLFVBQVUseUJBQzlDLEtBQUssMkJBQTJCLFNBQVMsRUFBSyxJQUdoRCxLQUFLLGdCQUFnQixJQUFJQyxFQUEwQixLQUFLLFFBQVEsS0FBSyxRQUFRLEtBQUssU0FBUyxHQUV0RixLQUFLLG1CQUNKLEtBQUssVUFBVSxpQkFDakIsS0FBSyxpQkFBaUIsS0FBSyxVQUFVLGtCQUVyQyxLQUFLLGlCQUFpQixJQUFJQyxFQUFLLEtBQUssVUFBVSxPQUFPLEtBQUssVUFBVSxXQUFXLEtBQUssVUFBVSxNQUFNLEdBQ3BHLE1BQU0sS0FBSyxlQUFlLFdBQUEsR0FDckIsS0FBSyxlQUFlLGNBQ3ZCLEtBQUssZUFBZSxPQUFBLEtBSzFCLEtBQUsscUJBQXFCLFNBQVMsS0FBSyxjQUFlLEdBRW5ELEtBQUssZUFBZ0IsbUJBQ3ZCLEtBQUssNEJBQTRCLFNBQVMsS0FBSyxlQUFnQixlQUFlLEdBR2hGLEtBQUssb0JBQUEsR0FDTCxNQUFNLEtBQUssY0FBQTtBQUFBLEVBQ2I7QUFBQSxFQUdBLFNBQWM7QUFDWixTQUFLLFlBQUE7QUFBQSxFQUNQO0FBQUEsRUFHUyxTQUFpQjtBQUN4QixVQUFNQyxJQUFZLEtBQUssWUFBWSxpQkFBaUIsSUFDOUNDLElBQVUsS0FBSyxZQUFZLEtBQUs7QUFDdEMsV0FBT0MsMEJBQUFDLEVBR01ILENBQVMsQ0FBQSwrQkFFVCxLQUFLLGNBQWMsb0JBQW9CLHlDQUFBRyxFQUczQkYsQ0FBTyxDQUFBLDhHQU1DLE1BQU0sS0FBSyxjQUFjLGVBQWUsQ0FBQyxJQUFBRyxFQUMzRCxLQUFLLFlBQVksQ0FBQSxJQUVyQixLQUFLLGNBQWMsWUFBWSx1QkFHaEMsS0FBSyxnQkFBZ0IsYUFBYUYsNENBRVAsTUFBTSxLQUFLLGNBQWMsY0FBYyxDQUFDLElBQUFFLEVBQzFELEtBQUssb0JBQW9CLENBQUEsSUFFN0IsS0FBSyxjQUFjLFdBQVcseUJBRS9CLEVBQU8sZ0VBVVksTUFBTSxLQUFLLGNBQWMsU0FBUyxDQUFDLElBQUFBLEVBQ3JELEtBQUssZ0JBQWdCLENBQUEsNEZBQUFBLEVBS3ZCLEtBQUssT0FBTyxDQUFBLG9DQUlKLEtBQUssU0FBUyx1Q0FBQUEsRUFFcEIsS0FBSyxTQUFTLENBQUEsd0NBSXJCLEtBQUssZ0JBQWdCLGFBQWFGLDZDQUFBRSxFQUd6QixLQUFLLGVBQWUsQ0FBQSx5Q0FHWixLQUFLLFNBQVMsdUNBQUFBLEVBRXBCLEtBQUssaUJBQWlCLENBQUEsK0NBRzdCLEVBQU8sb0RBQUFBLEVBVU4sS0FBSyxXQUFXLENBQUEsK0RBQUFBLEVBSWQsS0FBSyxhQUFhO0VBTW5DO0FBQUEsRUFPUyx1QkFBNEI7a0NBQ25DLEtBQUssYUFBYSxvQkFBb0IsVUFBVSxLQUFLLGlCQUFpQjtBQUFBLEVBQ3ZFO0FBQUEsRUFTTyxrQkFBa0JDLEdBQVU7QUFDbEMsU0FBSyxXQUFXQSxFQUFNLFNBQ3RCLEtBQUsseUJBQXlCLFNBQVMsS0FBSyxRQUFRO0FBQUEsRUFDdEQ7QUFBQSxFQUdRLGNBQW1CO0FBRXpCLGFBQVMsS0FBSyxpQkFBaUIsV0FBVyxTQUFVQSxHQUFLO0FBQ3ZELE1BQUlBLEVBQU0sT0FBTyxTQUFTQSxFQUFNLE9BQU8sWUFBWUEsRUFBTSxPQUFPLFVBQzlELFNBQVMsY0FBYyxjQUFjLEdBQUcsTUFBTSxZQUM1Qyx5QkFDQSw0QkFBNEIsSUFHOUIsU0FBUyxjQUFjLGNBQWMsR0FBRyxNQUFNLFlBQVkseUJBQXlCLGFBQWE7QUFBQSxJQUVwRyxDQUFDLEdBRUQsU0FBUyxLQUFLLGlCQUFpQixTQUFTLFdBQUE7QUFDdEMsZUFBUyxjQUFjLGNBQWMsR0FBRyxNQUFNLFlBQVkseUJBQXlCLGFBQWE7QUFBQSxJQUNsRyxDQUFDO0FBQUEsRUFDSDtBQUFBLEVBR1EsY0FBY0MsR0FBOEI7QUFDbEQsU0FBSyxxQkFBcUIsS0FBS0EsQ0FBUztBQUFBLEVBQzFDO0FBQUEsRUFHUSxzQkFBMkI7QUFDakMsU0FBSyxZQUFZO0FBQUEsRUFDbkI7QUFBQSxFQUdRLHVCQUE0QjtBQUNsQyxTQUFLLGlCQUFpQixNQUFPLFdBQVcsSUFDeEMsS0FBSyxZQUFZLE1BQU8sV0FBVztBQUFBLEVBQ3JDO0FBQUEsRUFHUSxxQkFBMEI7QUFDaEMsU0FBSyxxQkFBcUIsTUFBTyxXQUFXLElBQzVDLEtBQUssZ0JBQWdCLE1BQU8sV0FBVztBQUFBLEVBQ3pDO0FBQUEsRUFHQSxNQUFjLGdCQUE2QztBQUN6RCxVQUFNQyxJQUFlLE1BQU0sS0FBSyxlQUFlO0FBQUEsTUFDN0M7QUFBQSxRQUNFLEdBQUssS0FBSztBQUFBLFFBQ1YsUUFBVTtBQUFBLFFBQ1YsV0FBYSxLQUFLO0FBQUEsUUFDbEIsV0FBYSxLQUFLO0FBQUE7QUFBQSxRQUNsQixXQUFhO0FBQUEsUUFDYixZQUFjLEtBQUs7QUFBQSxRQUNuQixPQUFTLEtBQUs7QUFBQSxRQUNkLGNBQWdCLEtBQUs7QUFBQSxNQUFBO0FBQUEsTUFFdkIsS0FBSztBQUFBLE1BQ0w7QUFBQTtBQUFBLE1BQ0EsS0FBSyw0QkFBNEI7QUFBQSxNQUNqQztBQUFBLFFBQ0UsS0FBTztBQUFBLE1BQUE7QUFBQSxJQUNSLEdBR0dDLElBQWEsMkJBQ2JDLElBQVFGLEdBQWMsTUFBTSxTQUFTQSxFQUFhLFFBQVEsQ0FBQTtBQUNoRSxXQUFJLEtBQUssYUFBYSxTQUNwQkUsRUFBTSxLQUFLLENBQUNDLEdBQUdDLE1BQ1RELEVBQUUsV0FBVyxTQUFTRixDQUFVLEtBQUssQ0FBQ0csRUFBRSxXQUFXLFNBQVNILENBQVUsSUFDakUsS0FDRSxDQUFDRSxFQUFFLFdBQVcsU0FBU0YsQ0FBVSxLQUFLRyxFQUFFLFdBQVcsU0FBU0gsQ0FBVSxJQUN4RSxJQUNFRSxFQUFFLFdBQVcsU0FBU0YsQ0FBVSxLQUFLRyxFQUFFLFdBQVcsU0FBU0gsQ0FBVSxJQUN2RUUsRUFBRSxXQUFXLFNBQVNDLEVBQUUsV0FBVyxTQUVuQyxDQUVWLEdBZUMsS0FBSyxVQUFVLFdBQVcsS0FBS0osR0FBYyxVQUMvQyxLQUFLLFlBQVlBLEdBQWMsUUFLMUIsS0FBSztBQUFBLEVBQ2Q7QUFBQSxFQUdRLFlBQWlCO0FBQ3ZCLFNBQUssYUFBYSxPQUFPLEtBQUEsR0FDekIsS0FBSyxrQkFBa0IsT0FBTyxLQUFBLEdBQzlCLEtBQUssaUJBQWlCLE9BQU8sS0FBQSxHQUM3QixLQUFLLHFCQUFxQixPQUFPLEtBQUE7QUFBQSxFQUNuQztBQUFBLEVBR1Esc0JBQTJCO0FBQ2pDLFVBQU1aLElBQWMsS0FBSyw2QkFBNkIsT0FDaERpQixJQUFpQixLQUFLLHNCQUFzQjtBQUNsRCxRQUFJakIsS0FBZUEsRUFBWSxpQkFBaUJpQixHQUFnQixZQUFZO0FBQzFFLFlBQU1DLElBQWtCbEIsRUFBWSxnQkFBZ0I7QUFDcEQ7QUFBQTtBQUFBLFFBRUUsWUFBVztBQUNULGdCQUFNbUIsSUFBaUIsTUFBTUYsR0FBZ0IsZUFBQTtBQUM3QyxjQUFJRSxHQUFnQjtBQUNsQixpQkFBSyw0QkFBNEIsU0FBU0EsQ0FBYztBQUN4RCxrQkFBTUMsSUFBUUQsR0FBZ0IsU0FBUztBQUN2QyxpQkFBSyxlQUFlLEtBQUtDLENBQUs7QUFBQSxVQUNoQztBQUFBLFFBQ0Y7QUFBQSxRQUFHRjtBQUFBLE1BQUE7QUFBQSxJQUVQO0FBQUEsRUFDRjtBQUNEOzsifQ==
|
165
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tRWxlbWVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc29sdXRpb25zLWRlcGxveS1hcHAvc29sdXRpb25zLWRlcGxveS1hcHAudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBAbGljZW5zZVxyXG4gKiBDb3B5cmlnaHQgMjAyNSBFc3JpXHJcbiAqXHJcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAnTGljZW5zZScpO1xyXG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXHJcbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxyXG4gKlxyXG4gKiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcclxuICpcclxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxyXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLFxyXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cclxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxyXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cclxuICovXHJcblxyXG5pbXBvcnQgdHlwZSBUOW5TdHJpbmdzIGZyb20gJy4vYXNzZXRzL3Q5bi9tZXNzYWdlcy5lbi5qc29uJztcclxuaW1wb3J0IHsgdXNlVDluIH0gZnJvbSAnLi4vLi4vY29udHJvbGxlcnMvdXNlVDluJztcclxuaW1wb3J0IHtcclxuICBjcmVhdGVFdmVudCxcclxuICBGcmFnbWVudCxcclxuICBoLFxyXG4gIExpdEVsZW1lbnQsXHJcbiAgbWV0aG9kLFxyXG4gIHByb3BlcnR5LFxyXG4gIHN0YXRlLFxyXG59IGZyb20gJ0BhcmNnaXMvbHVtaW5hJztcclxuaW1wb3J0IHR5cGUge1xyXG4gIEpzeE5vZGUsXHJcbn0gZnJvbSAnQGFyY2dpcy9sdW1pbmEnO1xyXG5pbXBvcnQgeyBzdHlsZXMgfSBmcm9tICcuL3NvbHV0aW9ucy1kZXBsb3ktYXBwLmNzcyc7XHJcbmltcG9ydCB0eXBlIHtcclxuICBEZXBsb3lBcHBUYWIsXHJcbiAgSUFjdGl2ZVRhYixcclxuICBJU29sdXRpb25JbmZvQ2FyZCxcclxufSBmcm9tICcuLi8uLi91dGlscy9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgY3JlYXRlUmVmIH0gZnJvbSAnbGl0LWh0bWwvZGlyZWN0aXZlcy9yZWYuanMnO1xyXG5pbXBvcnQgKiBhcyBjYXJkc0ZldGNoZXIgZnJvbSAnLi4vLi4vdXRpbHMvQ2FyZHNGZXRjaGVyJztcclxuaW1wb3J0IHtcclxuICBCQVNFX0RJU1BMQVlfT05MWV9URVJNUyxcclxuICBCQVNFX1NPTFVUSU9OU19URVJNUyxcclxuICBTb3J0VHlwZSxcclxufSBmcm9tICcuLi8uLi91dGlscy9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHtcclxuICB1c2VDb250ZXh0UHJvdmlkZXIsXHJcbn0gZnJvbSAnQGFyY2dpcy9sdW1pbmEvY29udGV4dCc7XHJcbmltcG9ydCB7XHJcbiAgYXV0aENvbnRleHQsXHJcbiAgaXNNb2JpbGVDb250ZXh0LFxyXG4gIGxvY2FsRGVidWdDb250ZXh0LFxyXG4gIHVzZXJTZXNzaW9uQ29udGV4dFxyXG59IGZyb20gJy4uLy4uL3V0aWxzL2RlcGxveUFwcENvbnRleHRzJztcclxuaW1wb3J0IHsgQXV0aCB9IGZyb20gJy4uLy4uL3V0aWxzL0F1dGgnO1xyXG5pbXBvcnQgKiBhcyBfYXBwQ29uZmlnIGZyb20gJy4uLy4uL2Fzc2V0cy9jb25maWcvYXBwQ29uZmlnLmpzb24nO1xyXG5pbXBvcnQgeyBVc2VyU2Vzc2lvbiB9IGZyb20gJ0Blc3JpL3NvbHV0aW9uLWNvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgZmluZFNvbHV0aW9uQnlUaXRsZU9ySWQsXHJcbiAgZmluZFNvbHV0aW9uQnlUeXBlS2V5d29yZFNvbHV0aW9uSWRcclxufSBmcm9tICcuLi8uLi91dGlscy9jYXJkc0hlbHBlcnMnO1xyXG5pbXBvcnQgeyBTb2x1dGlvbnNBbGxTaGVsbCB9IGZyb20gJy4uL3NvbHV0aW9ucy1hbGwtc2hlbGwvc29sdXRpb25zLWFsbC1zaGVsbCc7XHJcbmltcG9ydCB7IFNvbHV0aW9uc0RlcGxveWVkU2hlbGwgfSBmcm9tICcuLi9zb2x1dGlvbnMtZGVwbG95ZWQtc2hlbGwvc29sdXRpb25zLWRlcGxveWVkLXNoZWxsJztcclxuaW1wb3J0IHsgU29sdXRpb25EZXRhaWxzUGFuZWwgfSBmcm9tICcuLi9zb2x1dGlvbi1kZXRhaWxzLXBhbmVsL3NvbHV0aW9uLWRldGFpbHMtcGFuZWwnO1xyXG5cclxuZGVjbGFyZSBnbG9iYWwge1xyXG4gIGludGVyZmFjZSBEZWNsYXJlRWxlbWVudHMge1xyXG4gICAgJ3NvbHV0aW9ucy1kZXBsb3ktYXBwJzogU29sdXRpb25zRGVwbG95QXBwO1xyXG4gIH1cclxufVxyXG5cclxuLy8gVE9ETyBjb25zb2xpZGF0ZSBjYXJkIGZldGNoaW5nIGFuZCBjb250ZXh0IHByb3ZpZGVycyBoZXJlXHJcbi8vIHdlIG9ubHkgbmVlZCB0byBmZXRjaCBhbGwgb2YgdGhlIGNhcmRzIDEgdGltZSBhdCB0aGUgc3RhcnQuXHJcbi8vICB0aG9zZSBjYXJkcyB3aWxsIGJlIHNoYXJlZCB0aHJvdWdoIGEgY29udGV4dCBvciBldmVudC5cclxuLy8gVGhlbiBJIHdhcyB0aGlua2luZyB0aGF0IHRoZSBjYXJkRmV0Y2hlciBhbmQgZGVwbG95ZWRDYXJkRmV0Y2hlciB3b3VsZCBhbHNvIGJlIHNoYXJlZCBpbiBhIGNvbnRleHRcclxuLy8gIHNvIHRoZXkgY2FuIGFsbCBiZSBzZXR1cCBpbiBvbmUgcGxhY2UgYnV0IHRoZW4gd2Ugd2lsbCBzdGlsbCBkbyBvdGhlciBxdWVyaWVzIGZvciBzb2x1dGlvbnNcclxuLy8gIG9yIGRlcGxveWVkIHNvbHV0aW9ucyBiYXNlZCBvbiBzZWFyY2ggdGVybXMvZmlsdGVycyBpbiB2YXJpb3VzIGNvbXBvbmVudHMgdXNpbmcgdGhlIGZldGNoZXIgaW5zdGFuY2VcclxuLy8gIHRoYXQgd2Ugc2hhcmVkIHRocm91Z2ggYSBjb250ZXh0IGZyb20gdGhlIHNvdXJjZSBhcHAgY29tcG9uZW50XHJcblxyXG5leHBvcnQgY2xhc3MgU29sdXRpb25zRGVwbG95QXBwIGV4dGVuZHMgTGl0RWxlbWVudCB7XHJcblxyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAvL1xyXG4gIC8vICBPdmVycmlkZXMgKGludGVybmFsKVxyXG4gIC8vXHJcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuICBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzID0gc3R5bGVzO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLmxpc3Rlbk9uKHdpbmRvdywgJ3NvbHV0aW9uc0FsbExvYWRlZCcsIHRoaXMuX3NvbHV0aW9uc0FsbExvYWRlZCk7XHJcbiAgICB0aGlzLmxpc3Rlbk9uKHdpbmRvdywgJ2RldGFpbHNDYXJkU2VsZWN0ZWQnLCB0aGlzLl9kZXRhaWxzQ2FyZFNlbGVjdGVkKTtcclxuICAgIHRoaXMubGlzdGVuT24od2luZG93LCAnZGVwbG95UHJvZ3Jlc3NFbmQnLCB0aGlzLl9kZXBsb3lQcm9ncmVzc0VuZCk7XHJcbiAgICB0aGlzLl9tZWRpYVF1ZXJ5Q2hhbmdlID0gdGhpcy5fbWVkaWFRdWVyeUNoYW5nZS5iaW5kKHRoaXMpO1xyXG4gIH1cclxuXHJcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gIC8vXHJcbiAgLy8gIFByb3BlcnRpZXMgKHB1YmxpYylcclxuICAvL1xyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgLyoqIEFwcCBjb25maWcgdG8gdXNlIHdoZW4gdXNlTG9jYWxBcHBDb25maWcgaXMgZmFsc2UgKi9cclxuICBAcHJvcGVydHkoKSBhcHBDb25maWc6IGFueTtcclxuXHJcbiAgLyoqIFRoZSBjdXJyZW50IGxvY2FsZS4gKi9cclxuICBAcHJvcGVydHkoKSBsb2NhbGUgPSAnJztcclxuXHJcbiAgLyoqIFVSTCBvZiBvcmdhbml6YXRpb24sIGUuZy4sICdodHRwOi8vbXlPcmcubWFwcy5hcmNnaXMuY29tJyAqL1xyXG4gIEBwcm9wZXJ0eSgpIG9yZ1VybCA9ICcnO1xyXG5cclxuICAvKiogVVJMIG9mIHBvcnRhbCwgZS5nLiwgJ2h0dHBzOi8vd3d3LmFyY2dpcy5jb20nICovXHJcbiAgQHByb3BlcnR5KCkgcG9ydGFsVXJsID0gJyc7XHJcblxyXG4gIC8qKiBUaGUgZ3JvdXAgaWQgdGhhdCBjb250YWlucyB0aGUgc29sdXRpb25zLiAqL1xyXG4gIEBwcm9wZXJ0eSgpIHByaW1hcnlTb2x1dGlvbnNHcm91cElkID0gJyc7IC8vIGNhbiBsaWtlbHkganVzdCByZWx5IG9uIGFwcENvbmZpZyBhbmQgbm90IGhhdmUgYSBwcm9wXHJcblxyXG4gIC8qKiBEZWZpbmUgaG93IHRoZSBjYXJkcyB3aWxsIGJlIHNvcnRlZCAqL1xyXG4gIEBwcm9wZXJ0eSgpIHNvcnRUeXBlOiBTb3J0VHlwZSA9ICdyZWxldmFuY2UnO1xyXG5cclxuICAvKipcclxuICAgKiBXaGVuIHRydWUgdGhlIGxvY2FsIGFwcENvbmZpZyB3aWxsIGJlIHVzZWQgb3ZlciBhbnl0aGluZyB0aGF0IHdhcyBwYXNzZWQgaW4uXHJcbiAgICogVGhpcyBpcyB1c2VkIGZvciBsb2NhbCBkZWJ1Z2dpbmcuXHJcbiAgICogV2hlbiB0aGlzIGlzIGZhbHNlIGF1dGhlbnRpY2F0aW9uLCBsb2NhbGUsIG9yZ1VybCwgYW5kIHBvcnRhbFVybCBNVVNUIGJlIGRlZmluZWQuXHJcbiAgICovXHJcbiAgQHByb3BlcnR5KCkgdXNlTG9jYWxBcHBDb25maWcgPSBmYWxzZTtcclxuXHJcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gIC8vXHJcbiAgLy8gIFN0YXRlIChpbnRlcm5hbClcclxuICAvL1xyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgLyoqIFdoZW4gdHJ1ZSBhIGxvYWRlciB3aWxsIG5vdCBiZSBzaG93biAqL1xyXG4gIEBzdGF0ZSgpIF9pc0xvYWRlZCA9IGZhbHNlO1xyXG5cclxuICAvKiogV2hlbiB0cnVlIHdlIGFyZSBpbiBtb2JpbGUgdmlldy4gKi9cclxuICBAc3RhdGUoKSBpc01vYmlsZSA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBDb250YWlucyB0aGUgdHJhbnNsYXRpb25zIGZvciB0aGlzIGNvbXBvbmVudC5cclxuICAgKiBBbGwgVUkgc3RyaW5ncyBzaG91bGQgYmUgZGVmaW5lZCBoZXJlLlxyXG4gICAqL1xyXG4gIEBzdGF0ZSgpIF90cmFuc2xhdGlvbnMgPSB1c2VUOW48dHlwZW9mIFQ5blN0cmluZ3M+KHsgbmFtZTogJ3NvbHV0aW9ucy1kZXBsb3ktYXBwJywgYmxvY2tpbmc6IHRydWUgfSk7XHJcblxyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAvL1xyXG4gIC8vICBQcm9wZXJ0aWVzIChwcml2YXRlKVxyXG4gIC8vXHJcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuICAvKiogVXNlZCBmb3Igc29sdXRpb24gcXVlcmllcywgdGhlIHNlYXJjaCB0ZXJtcyBmb3IgYWdvICovXHJcbiAgcHJpdmF0ZSBfYWdvVGVybXMgPSBgJHtCQVNFX1NPTFVUSU9OU19URVJNU30gT1IgJHtCQVNFX0RJU1BMQVlfT05MWV9URVJNU31gO1xyXG5cclxuICAvKiogQWxsIG9mIHRoZSBmZXRlY2hlZCBzb2x1dGlvbiBjYXJkcyB0aGlzIGlzIG9ubHkgcG9wdWxhdGVkIG9uY2Ugb24gbG9hZC4gKi9cclxuICBwcml2YXRlIF9hbGxDYXJkczogSVNvbHV0aW9uSW5mb0NhcmRbXSA9IFtdO1xyXG5cclxuICAvKiogVGhlIGFsbCBzb2x1dGlvbnMgc2hlbGwgcmVmZXJlbmNlICovXHJcbiAgcHJpdmF0ZSBfYWxsU2hlbGwgPSBjcmVhdGVSZWY8U29sdXRpb25zQWxsU2hlbGxbJ2VsJ10+KCk7XHJcblxyXG4gIC8qKiBUaGUgYWxsLXNvbHV0aW9ucyB0YWIgcmVmZXJlbmNlICovXHJcbiAgcHJpdmF0ZSBfYWxsVGFiID0gY3JlYXRlUmVmPEhUTUxDYWxjaXRlVGFiRWxlbWVudD4oKTtcclxuXHJcbiAgLyoqIFRoZSBhbGwtc29sdXRpb25zIHRhYiB0aXRsZSByZWZlcmVuY2UgKi9cclxuICBwcml2YXRlIF9hbGxUYWJUaXRsZSA9IGNyZWF0ZVJlZjxIVE1MQ2FsY2l0ZVRhYlRpdGxlRWxlbWVudD4oKTtcclxuXHJcbiAgLyoqIFRoZSBhcnRpY2xlcyB0YWIgcmVmZXJlbmNlICovXHJcbiAgcHJpdmF0ZSBfYXJ0aWNsZXNUYWIgPSBjcmVhdGVSZWY8SFRNTENhbGNpdGVUYWJFbGVtZW50PigpO1xyXG5cclxuICAvKiogVGhlIGFydGljbGVzIHRhYi10aXRsZSByZWZlcmVuY2UgKi9cclxuICBwcml2YXRlIF9hcnRpY2xlc1RhYlRpdGxlID0gY3JlYXRlUmVmPEhUTUxDYWxjaXRlVGFiVGl0bGVFbGVtZW50PigpO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgQXV0aCBjb250ZXh0IHByb3ZpZGVyLlxyXG4gICAqIFRoaXMgYWxsb3dzIGFueSBkb3duc3RyZWFtIGNvbXBvbmVudHMgdGhhdCBpbXBsZW1lbnQgY29udGV4dENvbnN1bWVyIHRvIGhhdmUgYWNjZXNzIHRvIHRoZSBjdXJyZW50IGF1dGhlbnRpY2F0aW9uLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2F1dGhDb250ZXh0UHJvdmlkZXIgPSB1c2VDb250ZXh0UHJvdmlkZXIoeyBjb250ZXh0OiBhdXRoQ29udGV4dCB9KTtcclxuXHJcbiAgLyoqXHJcbiAgICogQXV0aGVudGljYXRpb24sIHdoZW4gbm90IHByb3ZpZGVkIHRocm91Z2ggdGhlIGFwcENvbmZpZyBwcm9wZXJ0eVxyXG4gICAqIHRoZSBsb2NhbCBhcHBDb25maWcgZGV0YWlscyB3aWxsIGJlIHVzZWQgdG8gY3JlYXRlIHRoZSBhdXRoZW50aWNhdGlvblxyXG4gICAqL1xyXG4gIHByaXZhdGUgYXV0aGVudGljYXRpb246IEF1dGggfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcblxyXG4gIC8qKiBIZWxwZXIgbW9kdWxlIHRoYXQgd2lsbCBoYW5kbGUgdGhlIGZlY3RoaW5nIG9mIHNvbHV0aW9ucyAqL1xyXG4gIHByaXZhdGUgX2NhcmRzRmV0Y2hlcjogY2FyZHNGZXRjaGVyLkNhcmRzRmV0Y2hlciB8IHVuZGVmaW5lZDtcclxuXHJcbiAgLyoqIFVzZWQgZm9yIHNvbHV0aW9uIHF1ZXJpZXMsIHNob3VsZCBiZSBwb3B1bGF0ZWQgd2hlbiBkb21haW4gZmlsdGVycyBhcmUgYXBwbGllZCAqL1xyXG4gIHByaXZhdGUgX2NhdGVnb3JpZXM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIC8qKiBVc2VkIGZvciBzb2x1dGlvbiBxdWVyaWVzIHRvIGRlbGF5IHRoZSBxdWVyeSAqL1xyXG4gIHByaXZhdGUgX2RlbGF5ID0gZmFsc2U7XHJcblxyXG4gIC8qKiBUaGUgZGV0YWlscyBzaGVsbCByZWZlcmVuY2UgKi9cclxuICBwcml2YXRlIF9kZXRhaWxzU2hlbGwgPSBjcmVhdGVSZWY8U29sdXRpb25EZXRhaWxzUGFuZWxbJ2VsJ10+KCk7XHJcblxyXG4gIC8qKiBUaGUgZGV0YWlscyB0YWIgcmVmZXJlbmNlICovXHJcbiAgcHJpdmF0ZSBfZGV0YWlsc1RhYiA9IGNyZWF0ZVJlZjxIVE1MQ2FsY2l0ZVRhYkVsZW1lbnQ+KCk7XHJcblxyXG4gIC8qKiBUaGUgZGV0YWlscyB0aXRsZSB0YWIgcmVmZXJlbmNlICovXHJcbiAgcHJpdmF0ZSBfZGV0YWlsc1RhYlRpdGxlID0gY3JlYXRlUmVmPEhUTUxDYWxjaXRlVGFiVGl0bGVFbGVtZW50PigpO1xyXG5cclxuICAvKiogVXNlZCBmb3Igc29sdXRpb24gcXVlcmllcywgdHJ1ZSB3aGVuIHRoZSBnZXRTdWdnZXN0ZWQgZmlsdGVyIGlzIGFwcGxpZWQgKi9cclxuICBwcml2YXRlIF9nZXRTdWdnZXN0ZWQgPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIG1vYmlsZSB2aWV3IGNvbnRleHQgcHJvdmlkZXIuXHJcbiAgICogVGhpcyBhbGxvd3MgYW55IGRvd25zdHJlYW0gY29tcG9uZW50cyB0aGF0IGltcGxlbWVudCBjb250ZXh0Q29uc3VtZXIgdG8gaGF2ZSBhY2Nlc3MgdG8gdGhlIGlzTW9iaWxlIHByb3BlcnR5LlxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2lzTW9iaWxlQ29udGV4dFByb3ZpZGVyID0gdXNlQ29udGV4dFByb3ZpZGVyKHsgY29udGV4dDogaXNNb2JpbGVDb250ZXh0IH0pO1xyXG5cclxuICAvKipcclxuICAgKiBMb2NhbCBkZWJ1ZyBjb250ZXh0IHByb3ZpZGVyLlxyXG4gICAqIFRoaXMgYWxsb3dzIGFueSBkb3duc3RyZWFtIGNvbXBvbmVudHMgdGhhdCBpbXBsZW1lbnQgY29udGV4dENvbnN1bWVyIHRvIGhhdmUgYWNjZXNzIHRvIHRoZSBsb2NhbERlYnVnIHByb3BlcnR5LlxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2xvY2FsRGVidWdDb250ZXh0UHJvdmlkZXIgPSB1c2VDb250ZXh0UHJvdmlkZXIoeyBjb250ZXh0OiBsb2NhbERlYnVnQ29udGV4dCB9KTtcclxuXHJcbiAgLyoqIFRoZSBtZWRpYSBxdWVyeSB1c2VkIHRvIHVuZGVyc3RhbmQgaWYgd2UgYXJlIGluIG1vYmlsZSB2aWV3ICovXHJcbiAgcHJpdmF0ZSBfbWVkaWFRdWVyeTogYW55O1xyXG5cclxuICAvKiogVGhlIG15IHNvbHV0aW9ucyBzaGVsbCByZWZlcmVuY2UgKi9cclxuICBwcml2YXRlIF9teVNvbHV0aW9uc1NoZWxsID0gY3JlYXRlUmVmPFNvbHV0aW9uc0RlcGxveWVkU2hlbGxbJ2VsJ10+KCk7XHJcblxyXG4gIC8qKiBUaGUgbXktc29sdXRpb25zIHRhYiByZWZlcmVuY2UgKi9cclxuICBwcml2YXRlIF9teVNvbHV0aW9uc1RhYiA9IGNyZWF0ZVJlZjxIVE1MQ2FsY2l0ZVRhYkVsZW1lbnQ+KCk7XHJcblxyXG4gIC8qKiBUaGUgbXktc29sdXRpb25zIHRhYiB0aXRsZSByZWZlcmVuY2UgKi9cclxuICBwcml2YXRlIF9teVNvbHV0aW9uc1RhYlRpdGxlID0gY3JlYXRlUmVmPEhUTUxDYWxjaXRlVGFiVGl0bGVFbGVtZW50PigpO1xyXG5cclxuICAvKiogVXNlZCBmb3Igc29sdXRpb24gcXVlcmllcywgZGVmaW5lcyB0aGUga2V5IGZpZWxkIHRoYXQgd2lsbCBiZSB1c2VkIHRvIHNvcnQgdGhlIHNvbHV0aW9ucyAqL1xyXG4gIHByaXZhdGUgX3NvcnRGaWVsZDogJ2NyZWF0ZWQnIHwgJ3JlbGV2YW5jZScgfCAndGl0bGUnID0gJ3JlbGV2YW5jZSc7XHJcblxyXG4gIC8qKiBVc2VkIGZvciBzb2x1dGlvbiBxdWVyaWVzLCBjb25yb2xzIHRoZSBvcmRlciBzb2x1dGlvbnMgYXJlIHNvcnRlZCAqL1xyXG4gIHByaXZhdGUgX3NvcnRPcmRlcjogJ2FzYycgfCAnZGVzYycgPSAnZGVzYyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBVc2VyU2Vzc2lvbiBjb250ZXh0IHByb3ZpZGVyLlxyXG4gICAqIFRoaXMgYWxsb3dzIGFueSBkb3duc3RyZWFtIGNvbXBvbmVudHMgdGhhdCBpbXBsZW1lbnQgY29udGV4dENvbnN1bWVyIHRvIGhhdmUgYWNjZXNzIHRvIHRoZSBjdXJyZW50IFVzZXJTZXNzaW9uLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgX3VzZXJTZXNzaW9uQ29udGV4dFByb3ZpZGVyID0gdXNlQ29udGV4dFByb3ZpZGVyKHsgY29udGV4dDogdXNlclNlc3Npb25Db250ZXh0IH0pO1xyXG5cclxuXHJcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gIC8vXHJcbiAgLy8gIFdhdGNoIGhhbmRsZXJzXHJcbiAgLy9cclxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAvL1xyXG4gIC8vICBNZXRob2RzIChwdWJsaWMpXHJcbiAgLy9cclxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4gIC8qKiBDbG9zZXMgdGhlIGRpYWxvZyAqL1xyXG4gIEBtZXRob2QoKVxyXG4gIHB1YmxpYyBzZWxlY3RUYWIoXHJcbiAgICB0YWI6IElBY3RpdmVUYWIsXHJcbiAgICBmaWx0ZXJzOiBhbnkgLy9zdGF5IGxvb3NlIGZvciBub3dcclxuICApOiB2b2lkIHtcclxuICAgIGNvbnN0IHNlYXJjaE9wdGlvbnMgPSB0aGlzLl9nZXREZWZhdWx0U2VhcmNoT3B0aW9ucyhmaWx0ZXJzKTtcclxuICAgIGNvbnNvbGUubG9nKHNlYXJjaE9wdGlvbnMpXHJcbiAgICAvLyBUT0RPIHRlc3RpbmcgZm9yIGxpbmdlcmluZyB1bmRlcmxpbmUgd2l0aCBoaXN0b3J5IHBhZ2UgbmF2XHJcbiAgICAvL3RoaXMuX2JsdXJUYWJzKCk7XHJcbiAgICBzd2l0Y2ggKHRhYi50YWJUeXBlKSB7XHJcbiAgICAgIGNhc2UgJ2FsbC1zb2x1dGlvbnMnOlxyXG4gICAgICAgIHRoaXMuX2FsbFRhYi52YWx1ZSEuc2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuX2FsbFRhYlRpdGxlLnZhbHVlIS5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgICAgaWYgKHNlYXJjaE9wdGlvbnMpIHtcclxuICAgICAgICAgIHRoaXMuX2FsbFNoZWxsLnZhbHVlPy5zZWFyY2hTb2x1dGlvbnMoc2VhcmNoT3B0aW9ucyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdhcnRpY2xlcyc6XHJcbiAgICAgICAgdGhpcy5fYXJ0aWNsZXNUYWIudmFsdWUhLnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLl9hcnRpY2xlc1RhYlRpdGxlLnZhbHVlIS5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2RldGFpbHMnOlxyXG4gICAgICAgIGlmICh0aGlzLl9hbGxDYXJkcykge1xyXG4gICAgICAgICAgbGV0IGNhcmQgPSBmaW5kU29sdXRpb25CeVRpdGxlT3JJZCh0aGlzLl9hbGxDYXJkcywgdGFiLnRhYlRpdGxlT3JJZCk7XHJcbiAgICAgICAgICAvLyBhbHNvIHNlYXJjaCBmb3IgdjEgdHlwZUtleXdvcmQgaWRcclxuICAgICAgICAgIGNhcmQgPSBjYXJkID8gY2FyZCA6IGZpbmRTb2x1dGlvbkJ5VHlwZUtleXdvcmRTb2x1dGlvbklkKHRoaXMuX2FsbENhcmRzLCB0YWIudGFiVGl0bGVPcklkKTtcclxuICAgICAgICAgIGlmIChjYXJkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2RldGFpbHNUYWIudmFsdWUhLnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5fZGV0YWlsc1RhYlRpdGxlLnZhbHVlIS5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuZGV0YWlsc0NhcmRTZWxlY3RlZC5lbWl0KGNhcmQpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgLy8gaWYgbm8gY2FyZCBpcyBmb3VuZCB3ZSBzaG91bGQgb3BlbiB0aGUgYWxsLXNvbHV0aW9ucyB0YWJcclxuICAgICAgICAgICAgdGhpcy5fYWxsVGFiLnZhbHVlIS5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuX2FsbFRhYlRpdGxlLnZhbHVlIS5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuX3NldEFjdGl2ZVRhYignYWxsLXNvbHV0aW9ucycpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdteS1zb2x1dGlvbnMnOlxyXG4gICAgICAgIHRoaXMuX215U29sdXRpb25zVGFiLnZhbHVlIS5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5fbXlTb2x1dGlvbnNUYWJUaXRsZS52YWx1ZSEuc2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgIGlmIChzZWFyY2hPcHRpb25zKSB7XHJcbiAgICAgICAgICB0aGlzLl9teVNvbHV0aW9uc1NoZWxsLnZhbHVlPy5zZWFyY2hTb2x1dGlvbnMoc2VhcmNoT3B0aW9ucyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgLy8gVE9ETyB0ZXN0aW5nIGZvciBsaW5nZXJpbmcgdW5kZXJsaW5lIHdpdGggaGlzdG9yeSBwYWdlIG5hdlxyXG4gICAgdGhpcy5fYmx1clRhYnMoKTtcclxuICB9XHJcblxyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAvL1xyXG4gIC8vICBFdmVudHMgKHB1YmxpYylcclxuICAvL1xyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgLyoqIFRhYiBzZWxlY3RlZCBldmVudCAqL1xyXG4gIGRlcGxveUFwcFRhYlNlbGVjdGVkID0gY3JlYXRlRXZlbnQ8RGVwbG95QXBwVGFiPigpO1xyXG5cclxuICAvKiogRGV0YWlscyBjYXJkIHNlbGVjdGVkIGV2ZW50ICovXHJcbiAgZGV0YWlsc0NhcmRTZWxlY3RlZCA9IGNyZWF0ZUV2ZW50PElTb2x1dGlvbkluZm9DYXJkPigpO1xyXG5cclxuICAvKiogRW1pdHRlZCBvbiBkZW1hbmQgd2hlbiB0aGUgYXV0aCB0b2tlbiBpcyB1cGRhdGVkICovXHJcbiAgdG9rZW5SZWZyZXNoZWQgPSBjcmVhdGVFdmVudDxzdHJpbmc+KCk7XHJcblxyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAvL1xyXG4gIC8vICBGdW5jdGlvbnMgKGxpZmVjeWNsZSlcclxuICAvL1xyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgLyoqIEludm9rZWQgZWFjaCB0aW1lIHlvdXIgY29tcG9uZW50IGlzIGFkZGVkIHRvIHRoZSBkb2N1bWVudCdzIERPTS4gKi9cclxuICBvdmVycmlkZSBhc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IHVzZXJTZXNzaW9uID0gbmV3IFVzZXJTZXNzaW9uKHtcclxuICAgICAgdXNlcm5hbWU6ICcnLFxyXG4gICAgICBwYXNzd29yZDogJydcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fdXNlclNlc3Npb25Db250ZXh0UHJvdmlkZXIuc2V0VmFsdWUodXNlclNlc3Npb24pO1xyXG4gICAgLy8gVGhpcyBpcyB0aWVkIHRvIGEgY3NzIG1lZGlhIHF1ZXJ5XHJcbiAgICAvLyBXZSB3aWxsIHVzZSB0aGlzIHRvIHRyYWNrIHdoZW4gdGhlIGZpbHRlciB3YXMgZm9yY2VkIG9wZW4vY2xvc2VkIGJhc2VkIG9uIHRoZSBzaXplIG9mIHRoZSBicm93c2VyXHJcbiAgICAvLyBJZiB5b3UgbmVlZCB0byBjaGFuZ2UgdGhpcyBzaXplIHlvdSBuZWVkIHRvIGFsc28gY2hhbmdlIHRoZSBhc3NvY2lhdGVkIHNpemUgaW4gY3NzXHJcbiAgICB0aGlzLl9tZWRpYVF1ZXJ5ID0gd2luZG93Lm1hdGNoTWVkaWEoJyhtYXgtd2lkdGg6IDgwMHB4KScpO1xyXG4gICAgdGhpcy5fbWVkaWFRdWVyeS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLl9tZWRpYVF1ZXJ5Q2hhbmdlKTtcclxuICAgIHRoaXMuX21lZGlhUXVlcnlDaGFuZ2UodGhpcy5fbWVkaWFRdWVyeSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDYWxsZWQgb25jZSBqdXN0IGFmdGVyIHRoZSBjb21wb25lbnQgaXMgZmlyc3QgY29ubmVjdGVkIHRvIHRoZSBET00uXHJcbiAgICpcclxuICAgKiBAcmV0dXJucyBQcm9taXNlIHdoZW4gY29tcGxldGVcclxuICAgKi9cclxuICBhc3luYyBsb2FkKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMudXNlTG9jYWxBcHBDb25maWcpIHtcclxuICAgICAgdGhpcy5hcHBDb25maWcgPSBfYXBwQ29uZmlnO1xyXG4gICAgICB0aGlzLnByaW1hcnlTb2x1dGlvbnNHcm91cElkID0gdGhpcy5hcHBDb25maWcucHJpbWFyeVNvbHV0aW9uc0dyb3VwSWQ7XHJcbiAgICAgIHRoaXMub3JnVXJsID0gdGhpcy5hcHBDb25maWcub3JnVXJsO1xyXG4gICAgICB0aGlzLmxvY2FsZSA9IHRoaXMuYXBwQ29uZmlnLmxvY2FsZTtcclxuICAgICAgdGhpcy5wb3J0YWxVcmwgPSB0aGlzLmFwcENvbmZpZy5wb3J0YWxVUkw7XHJcbiAgICAgIHRoaXMuX2xvY2FsRGVidWdDb250ZXh0UHJvdmlkZXIuc2V0VmFsdWUodHJ1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBUT0RPIGNvbnNvbGlkYXRlIHRoaXMgYW5kIGNvbmZpcm0gd2l0aCBNaWtlIHRoZSBleHBlY3RhdGlvblxyXG4gICAgICB0aGlzLnByaW1hcnlTb2x1dGlvbnNHcm91cElkID0gdGhpcy5hcHBDb25maWcucHJpbWFyeVNvbHV0aW9uc0dyb3VwSWQ7XHJcbiAgICAgIHRoaXMuX2xvY2FsRGVidWdDb250ZXh0UHJvdmlkZXIuc2V0VmFsdWUoZmFsc2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX2NhcmRzRmV0Y2hlciA9IG5ldyBjYXJkc0ZldGNoZXIuQ2FyZHNGZXRjaGVyKHRoaXMubG9jYWxlLCB0aGlzLm9yZ1VybCwgdGhpcy5wb3J0YWxVcmwpO1xyXG5cclxuICAgIGlmICghdGhpcy5hdXRoZW50aWNhdGlvbikge1xyXG4gICAgICBpZiAodGhpcy5hcHBDb25maWcuYXV0aGVudGljYXRpb24pIHtcclxuICAgICAgICB0aGlzLmF1dGhlbnRpY2F0aW9uID0gdGhpcy5hcHBDb25maWcuYXV0aGVudGljYXRpb247XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5hdXRoZW50aWNhdGlvbiA9IG5ldyBBdXRoKHRoaXMuYXBwQ29uZmlnLmFwcElkLCB0aGlzLmFwcENvbmZpZy5wb3J0YWxVUkwsIHRoaXMuYXBwQ29uZmlnLmxvY2FsZSk7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5hdXRoZW50aWNhdGlvbi5pbml0aWFsaXplKCk7XHJcbiAgICAgICAgaWYgKCF0aGlzLmF1dGhlbnRpY2F0aW9uLklzU2lnbmVkSW4pIHtcclxuICAgICAgICAgIHRoaXMuYXV0aGVudGljYXRpb24uc2lnbkluKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fYXV0aENvbnRleHRQcm92aWRlci5zZXRWYWx1ZSh0aGlzLmF1dGhlbnRpY2F0aW9uISk7XHJcblxyXG4gICAgaWYgKHRoaXMuYXV0aGVudGljYXRpb24hLlJlc3RVc2VyU2Vzc2lvbikge1xyXG4gICAgICB0aGlzLl91c2VyU2Vzc2lvbkNvbnRleHRQcm92aWRlci5zZXRWYWx1ZSh0aGlzLmF1dGhlbnRpY2F0aW9uIS5SZXN0VXNlclNlc3Npb24pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX3NldFJlZnJlc2hJbnRlcnZhbCgpO1xyXG4gICAgYXdhaXQgdGhpcy5fZ2V0U29sdXRpb25zKCk7XHJcbiAgfVxyXG5cclxuICAvKiogQ2FsbGVkIG9uY2UganVzdCBhZnRlciB0aGUgY29tcG9uZW50IGlzIGZ1bGx5IGxvYWRlZCBhbmQgdGhlIGZpcnN0IHJlbmRlcigpIG9jY3Vycy4gKi9cclxuICBsb2FkZWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9oYW5kbGVUYWJzKCk7XHJcbiAgfVxyXG5cclxuICAvKiogUmVuZGVycyB0aGUgY29tcG9uZW50LiAqL1xyXG4gIG92ZXJyaWRlIHJlbmRlcigpOiBKc3hOb2RlIHtcclxuICAgIGNvbnN0IGxvYWRlckNzcyA9IHRoaXMuX2lzTG9hZGVkID8gJ2Rpc3BsYXktbm9uZScgOiAnJztcclxuICAgIGNvbnN0IHRhYnNDc3MgPSB0aGlzLl9pc0xvYWRlZCA/ICcnIDogJ2Rpc3BsYXktbm9uZSc7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8PlxyXG4gICAgICAgIDxjYWxjaXRlLWxvYWRlclxyXG4gICAgICAgICAgY2xhc3M9e2xvYWRlckNzc31cclxuICAgICAgICAgIGlkPSdzb2x1dGlvbnMtbG9hZGVyJ1xyXG4gICAgICAgICAgbGFiZWw9e3RoaXMuX3RyYW5zbGF0aW9ucy5mZXRjaGluZ0FsbFNvbHV0aW9uc31cclxuICAgICAgICA+XHJcbiAgICAgICAgPC9jYWxjaXRlLWxvYWRlcj5cclxuICAgICAgICA8Y2FsY2l0ZS10YWJzIGNsYXNzPXt0YWJzQ3NzfSBzY2FsZT0nbCc+XHJcbiAgICAgICAgICA8Y2FsY2l0ZS10YWItbmF2XHJcbiAgICAgICAgICAgIGNsYXNzPSdzaGVsbC1jb250YWluZXInXHJcbiAgICAgICAgICAgIHNsb3Q9J3RpdGxlLWdyb3VwJ1xyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8Y2FsY2l0ZS10YWItdGl0bGVcclxuICAgICAgICAgICAgICBvbmNhbGNpdGVUYWJzQWN0aXZhdGU9eygpID0+IHRoaXMuX3NldEFjdGl2ZVRhYignYWxsLXNvbHV0aW9ucycpfVxyXG4gICAgICAgICAgICAgIHJlZj17dGhpcy5fYWxsVGFiVGl0bGV9XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICB7dGhpcy5fdHJhbnNsYXRpb25zLmFsbFNvbHV0aW9uc31cclxuICAgICAgICAgICAgPC9jYWxjaXRlLXRhYi10aXRsZT5cclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHRoaXMuYXV0aGVudGljYXRpb24/LklzU2lnbmVkSW4gPyAoXHJcbiAgICAgICAgICAgICAgICA8Y2FsY2l0ZS10YWItdGl0bGVcclxuICAgICAgICAgICAgICAgICAgb25jYWxjaXRlVGFic0FjdGl2YXRlPXsoKSA9PiB0aGlzLl9zZXRBY3RpdmVUYWIoJ215LXNvbHV0aW9ucycpfVxyXG4gICAgICAgICAgICAgICAgICByZWY9e3RoaXMuX215U29sdXRpb25zVGFiVGl0bGV9XHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIHt0aGlzLl90cmFuc2xhdGlvbnMubXlTb2x1dGlvbnN9XHJcbiAgICAgICAgICAgICAgICA8L2NhbGNpdGUtdGFiLXRpdGxlPlxyXG4gICAgICAgICAgICAgICkgOiAoPD48Lz4pXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgey8qIDxjYWxjaXRlLXRhYi10aXRsZVxyXG4gICAgICAgICAgICAgIG9uY2FsY2l0ZVRhYnNBY3RpdmF0ZT17KCkgPT4gdGhpcy5fc2V0QWN0aXZlVGFiKCdhcnRpY2xlcycpfVxyXG4gICAgICAgICAgICAgIHJlZj17dGhpcy5fYXJ0aWNsZXNUYWJUaXRsZX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIHt0aGlzLl90cmFuc2xhdGlvbnMuc29sdXRpb25BcnRpY2xlc31cclxuICAgICAgICAgICAgPC9jYWxjaXRlLXRhYi10aXRsZT4gKi99XHJcbiAgICAgICAgICAgIDxjYWxjaXRlLXRhYi10aXRsZVxyXG4gICAgICAgICAgICAgIGNsYXNzPSdkaXNwbGF5LW5vbmUnXHJcbiAgICAgICAgICAgICAgb25jYWxjaXRlVGFic0FjdGl2YXRlPXsoKSA9PiB0aGlzLl9zZXRBY3RpdmVUYWIoJ2RldGFpbHMnKX1cclxuICAgICAgICAgICAgICByZWY9e3RoaXMuX2RldGFpbHNUYWJUaXRsZX1cclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgIDwvY2FsY2l0ZS10YWItbmF2PlxyXG4gICAgICAgICAgPGNhbGNpdGUtdGFiXHJcbiAgICAgICAgICAgIGNsYXNzPSdiYWNrLWNvbG9yLW92ZXJyaWRlJ1xyXG4gICAgICAgICAgICByZWY9e3RoaXMuX2FsbFRhYn1cclxuICAgICAgICAgICAgc2VsZWN0ZWRcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPHNvbHV0aW9ucy1hbGwtc2hlbGxcclxuICAgICAgICAgICAgICBhcHBDb25maWc9e3RoaXMuYXBwQ29uZmlnfVxyXG4gICAgICAgICAgICAgIGNsYXNzPSdzaGVsbC1jb250YWluZXIgaGVpZ2h0LTEwMCdcclxuICAgICAgICAgICAgICByZWY9e3RoaXMuX2FsbFNoZWxsfVxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgPC9jYWxjaXRlLXRhYj5cclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGhpcy5hdXRoZW50aWNhdGlvbj8uSXNTaWduZWRJbiA/IChcclxuICAgICAgICAgICAgICA8Y2FsY2l0ZS10YWJcclxuICAgICAgICAgICAgICAgIGNsYXNzPSdiYWNrLWNvbG9yLW92ZXJyaWRlJ1xyXG4gICAgICAgICAgICAgICAgcmVmPXt0aGlzLl9teVNvbHV0aW9uc1RhYn1cclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8c29sdXRpb25zLWRlcGxveWVkLXNoZWxsXHJcbiAgICAgICAgICAgICAgICAgIGFwcENvbmZpZz17dGhpcy5hcHBDb25maWd9XHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPSdzaGVsbC1jb250YWluZXIgaGVpZ2h0LTEwMCdcclxuICAgICAgICAgICAgICAgICAgcmVmPXt0aGlzLl9teVNvbHV0aW9uc1NoZWxsfVxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICA8L2NhbGNpdGUtdGFiPlxyXG4gICAgICAgICAgICApIDogKDw+PC8+KVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgey8qIDxjYWxjaXRlLXRhYlxyXG4gICAgICAgICAgICBjbGFzcz0nYmFjay1jb2xvci1vdmVycmlkZSdcclxuICAgICAgICAgICAgcmVmPXt0aGlzLl9hcnRpY2xlc1RhYn1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPHNvbHV0aW9ucy1hcnRpY2xlcy1zaGVsbCBjbGFzcz0nc2hlbGwtY29udGFpbmVyIGhlaWdodC0xMDAnIC8+XHJcbiAgICAgICAgICA8L2NhbGNpdGUtdGFiPiAqL31cclxuICAgICAgICAgIDxjYWxjaXRlLXRhYlxyXG4gICAgICAgICAgICBjbGFzcz0nYmFjay1jb2xvci1vdmVycmlkZS1kZXRhaWxzJ1xyXG4gICAgICAgICAgICByZWY9e3RoaXMuX2RldGFpbHNUYWJ9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxzb2x1dGlvbi1kZXRhaWxzLXBhbmVsXHJcbiAgICAgICAgICAgICAgY2xhc3M9J3NoZWxsLWNvbnRhaW5lciBoZWlnaHQtMTAwJ1xyXG4gICAgICAgICAgICAgIHJlZj17dGhpcy5fZGV0YWlsc1NoZWxsfVxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgPC9jYWxjaXRlLXRhYj5cclxuICAgICAgICA8L2NhbGNpdGUtdGFicz5cclxuICAgICAgPC8+XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqIEludm9rZWQgd2hlbiB0aGUgY29tcG9uZW50IGlzIHJlbW92ZWQgZnJvbSB0aGUgZG9jdW1lbnQncyBET00uXHJcbiAgICogVGhpcyBjYWxsYmFjayBpcyB0aGUgbWFpbiBzaWduYWwgdG8gdGhlIGVsZW1lbnQgdGhhdCBpdCBtYXkgbm8gbG9uZ2VyIGJlIHVzZWQuXHJcbiAgICogZGlzY29ubmVjdGVkQ2FsbGJhY2soKSBzaG91bGQgZW5zdXJlIHRoYXQgbm90aGluZyBpcyBob2xkaW5nIGEgcmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50XHJcbiAgICogKHN1Y2ggYXMgZXZlbnQgbGlzdGVuZXJzIGFkZGVkIHRvIG5vZGVzIGV4dGVybmFsIHRvIHRoZSBlbGVtZW50KSwgc28gdGhhdCBpdCBpcyBmcmVlIHRvIGJlIGdhcmJhZ2UgY29sbGVjdGVkLlxyXG4gICovXHJcbiAgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLl9tZWRpYVF1ZXJ5Py5yZW1vdmVFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLl9tZWRpYVF1ZXJ5Q2hhbmdlKTtcclxuICB9XHJcblxyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAvL1xyXG4gIC8vICBGdW5jdGlvbnMgKHByaXZhdGUpXHJcbiAgLy9cclxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4gIC8qKiBVcGRhdGUgdGhlIG1vYmlsZSB2aWV3IHN0YXRlIHdoZW4gdGhpcyBtZWRpYSBxdWVyeSBjaGFuZ2Ugb2NjdXJzLiAqL1xyXG4gIHByaXZhdGUgX21lZGlhUXVlcnlDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5pc01vYmlsZSA9IGV2ZW50Lm1hdGNoZXM7XHJcbiAgICB0aGlzLl9pc01vYmlsZUNvbnRleHRQcm92aWRlci5zZXRWYWx1ZSh0aGlzLmlzTW9iaWxlKTtcclxuICB9XHJcblxyXG4gIC8vIHJlY29tbWVuZGVkIHBhdGggZnJvbSBDYWxjaXRlIHRlYW0gdG8gYXZvaWQgdGhlIGJvcmRlciBhcm91bmQgdGhlIHRhYnNcclxuICBwcml2YXRlIF9oYW5kbGVUYWJzKCk6IHZvaWQge1xyXG4gICAgLy8gVE9ETyBjaGFuZ2UgdGhlc2UgdG8gY2xlYW5lciByZWZzIGFuZCBsaXN0ZW5PbiBpZiBwb3NzaWJsZVxyXG4gICAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgZnVuY3Rpb24gKGV2ZW50KSB7XHJcbiAgICAgIGlmIChldmVudC5rZXkgPT0gJ1RhYicgfHwgZXZlbnQua2V5ID09ICdTaGlmdCAnIHx8IGV2ZW50LmtleSA9PSAnRW50ZXInKSB7XHJcbiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignY2FsY2l0ZS10YWJzJyk/LnN0eWxlLnNldFByb3BlcnR5KFxyXG4gICAgICAgICAgJy0tY2FsY2l0ZS1jb2xvci1mb2N1cycsXHJcbiAgICAgICAgICAndmFyKC0tY2FsY2l0ZS1jb2xvci1icmFuZCknXHJcbiAgICAgICAgKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdjYWxjaXRlLXRhYnMnKT8uc3R5bGUuc2V0UHJvcGVydHkoJy0tY2FsY2l0ZS1jb2xvci1mb2N1cycsICd0cmFuc3BhcmVudCcpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24gKCkge1xyXG4gICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdjYWxjaXRlLXRhYnMnKT8uc3R5bGUuc2V0UHJvcGVydHkoJy0tY2FsY2l0ZS1jb2xvci1mb2N1cycsICd0cmFuc3BhcmVudCcpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKiogRW1pdCBkZXBsb3lBcHBUYWJTZWxlY3RlZCBldmVudCB3aGVuIGEgdGFiIGlzIHNlbGVjdGVkICovXHJcbiAgcHJpdmF0ZSBfc2V0QWN0aXZlVGFiKGFjdGl2ZVRhYjogRGVwbG95QXBwVGFiKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlcGxveUFwcFRhYlNlbGVjdGVkLmVtaXQoYWN0aXZlVGFiKTtcclxuICB9XHJcblxyXG4gIC8qKiBSZXNwb25kIHRvIHNvbHV0aW9uc0FsbExvYWRlZCBldmVudCBhbmQgaGlkZSB0aGUgbG9hZGVyICovXHJcbiAgcHJpdmF0ZSBfc29sdXRpb25zQWxsTG9hZGVkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5faXNMb2FkZWQgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgLyoqIFJlc3BvbmQgdG8gZGV0YWlsc0NhcmRTZWxlY3RlZCBldmVudCBhbmQgc2VsZWN0IHRoZSBkZXRhaWxzIHRhYiAqL1xyXG4gIHByaXZhdGUgX2RldGFpbHNDYXJkU2VsZWN0ZWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXRhaWxzVGFiVGl0bGUudmFsdWUhLnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgIHRoaXMuX2RldGFpbHNUYWIudmFsdWUhLnNlbGVjdGVkID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKiBSZXNwb25kIHRvIGRlcGxveVByb2dyZXNzRW5kIGV2ZW50IGFuZCBzZWxlY3QgdGhlIG15LXNvbHV0aW9ucyB0YWIgKi9cclxuICBwcml2YXRlIF9kZXBsb3lQcm9ncmVzc0VuZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX215U29sdXRpb25zVGFiVGl0bGUudmFsdWUhLnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgIHRoaXMuX215U29sdXRpb25zVGFiLnZhbHVlIS5zZWxlY3RlZCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICAvKiogR2V0IHRoZSBzb2x1dGlvbnMgZnJvbSB0aGUgYWdvIG9yIGVudGVycHJpc2Ugb3JnLiAqL1xyXG4gIHByaXZhdGUgYXN5bmMgX2dldFNvbHV0aW9ucygpOiBQcm9taXNlPElTb2x1dGlvbkluZm9DYXJkW10+IHtcclxuICAgIGNvbnN0IGZldGNoZWRDYXJkcyA9IGF3YWl0IHRoaXMuX2NhcmRzRmV0Y2hlcj8ucmVxdWVzdEF2YWlsYWJsZVNvbHV0aW9uQ2FyZHMoXHJcbiAgICAgIHtcclxuICAgICAgICAncSc6IHRoaXMuX2Fnb1Rlcm1zLFxyXG4gICAgICAgICdmaWx0ZXInOiAndHlwZTpTb2x1dGlvbicsXHJcbiAgICAgICAgJ3NvcnRGaWVsZCc6IHRoaXMuX3NvcnRGaWVsZCxcclxuICAgICAgICAnc29ydE9yZGVyJzogdGhpcy5fc29ydE9yZGVyLCAvLyBUT0RPIGRlZmF1bHQgc2VhcmNoIHdoZW4gb2xkIGFwcCBsb2FkcyBpcyBkZXNjLi4ubWF5IG5lZWQgdG8gc3dpdGNoIHRoaXMgZm9yIG90aGVyXHJcbiAgICAgICAgJ25leHRTdGFydCc6IC0xLFxyXG4gICAgICAgICdjYXRlZ29yaWVzJzogdGhpcy5fY2F0ZWdvcmllcyxcclxuICAgICAgICAnZGVsYXknOiB0aGlzLl9kZWxheSxcclxuICAgICAgICAnZ2V0U3VnZ2VzdGVkJzogdGhpcy5fZ2V0U3VnZ2VzdGVkXHJcbiAgICAgIH0sXHJcbiAgICAgIHRoaXMucHJpbWFyeVNvbHV0aW9uc0dyb3VwSWQsXHJcbiAgICAgICcnLCAvL3RoaXMuZW50ZXJwcmlzZVNvbHV0aW9uc0dyb3VwSWQsIFRPRE8gYm90aCBhcmUgcGFzc2VkIGJ5IGRlZmF1bHQgaW4gdGhlIG9sZCBhcHAuLi5kb24ndCBmb2xsb3cgd2h5XHJcbiAgICAgIHRoaXMuX3VzZXJTZXNzaW9uQ29udGV4dFByb3ZpZGVyLnZhbHVlLFxyXG4gICAgICB7XHJcbiAgICAgICAgJ251bSc6IDEwMDBcclxuICAgICAgfVxyXG4gICAgKTtcclxuXHJcbiAgICBjb25zdCBuZXdSZWxlYXNlID0gJy9DYXRlZ29yaWVzL05ldyBSZWxlYXNlJztcclxuICAgIGNvbnN0IGNhcmRzID0gZmV0Y2hlZENhcmRzPy5jYXJkcy5sZW5ndGggPyBmZXRjaGVkQ2FyZHMuY2FyZHMgOiBbXTtcclxuICAgIGlmICh0aGlzLnNvcnRUeXBlID09PSAnbmV3Jykge1xyXG4gICAgICBjYXJkcy5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgICAgaWYgKGEuY2F0ZWdvcmllcy5pbmNsdWRlcyhuZXdSZWxlYXNlKSAmJiAhYi5jYXRlZ29yaWVzLmluY2x1ZGVzKG5ld1JlbGVhc2UpKSB7XHJcbiAgICAgICAgICByZXR1cm4gLTE7XHJcbiAgICAgICAgfSBlbHNlIGlmICghYS5jYXRlZ29yaWVzLmluY2x1ZGVzKG5ld1JlbGVhc2UpICYmIGIuY2F0ZWdvcmllcy5pbmNsdWRlcyhuZXdSZWxlYXNlKSkge1xyXG4gICAgICAgICAgcmV0dXJuIDE7XHJcbiAgICAgICAgfSBlbHNlIGlmIChhLmNhdGVnb3JpZXMuaW5jbHVkZXMobmV3UmVsZWFzZSkgJiYgYi5jYXRlZ29yaWVzLmluY2x1ZGVzKG5ld1JlbGVhc2UpKSB7XHJcbiAgICAgICAgICByZXR1cm4gYS5jYXRlZ29yaWVzLmxlbmd0aCAtIGIuY2F0ZWdvcmllcy5sZW5ndGg7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIH1cclxuICAgIC8vIFRPRE8gd2lsbCBkbyB0aGlzIHR5cGUgb2YgY2hlY2sgYWZ0ZXIgd2UgYXJlIGFibGUgdG8gZnVsbHkgY29uc29saWRhdGVcclxuICAgIC8vIHJpZ2h0IG5vdyBjYW4ndCBmdWxseSBjb25zb2xpZGF0ZSB3aXRob3V0IGJyZWFraW5nIHRoZSBhcHAgdGhhdCBkb2Vzbid0IHVzZSB0aGlzIGNvbXBvbmVudFxyXG4gICAgLy8gY29uc3Qgc29sdXRpb25EZXRhaWxzQ2FyZHMgPSBjYXJkcy5tYXAoZmV0Y2hlZENhcmQgPT4ge1xyXG4gICAgLy8gICAvLyBjYW4gd2UgaGF2ZSBib3RoIHVwZGF0ZWQgYW5kIGRlcGxveWVkPyBTZWVtcyBsaWtlIHdlIGNvdWxkLi4ubmVlZCB0byB1cGRhdGUgdGhlIGNhcmQgdG8gc3VwcG9ydCB0aGF0XHJcbiAgICAvLyAgIGNvbnN0IGhhc05ld1JlbGVhc2UgPSBmZXRjaGVkQ2FyZC5jYXRlZ29yaWVzLmluZGV4T2YobmV3UmVsZWFzZSkgPiAtMTtcclxuICAgIC8vICAgbGV0IGlzRGVwbG95ZWQgPSBmYWxzZTtcclxuICAgIC8vICAgaWYgKHRoaXMuX2RlcGxveWVkU29sdXRpb25zKSB7XHJcbiAgICAvLyAgICAgaXNEZXBsb3llZCA9IHRoaXMuX2lzU29sdXRpb25EZXBsb3llZChmZXRjaGVkQ2FyZC5kZXBsb3lDb21tb25JZCk7XHJcbiAgICAvLyAgIH1cclxuICAgIC8vICAgZmV0Y2hlZENhcmQuY2hpcCA9IGhhc05ld1JlbGVhc2UgPyAndXBkYXRlZCcgOiBpc0RlcGxveWVkID8gJ2RlcGxveWVkJyA6ICdub25lJztcclxuICAgIC8vICAgcmV0dXJuIGZldGNoZWRDYXJkO1xyXG4gICAgLy8gfSk7XHJcblxyXG4gICAgaWYgKHRoaXMuX2FsbENhcmRzLmxlbmd0aCA9PT0gMCAmJiBmZXRjaGVkQ2FyZHM/LmNhcmRzKSB7XHJcbiAgICAgIHRoaXMuX2FsbENhcmRzID0gZmV0Y2hlZENhcmRzPy5jYXJkcztcclxuICAgIH1cclxuXHJcbiAgICAvL3RoaXMuY2FyZHNGZXRjaGVkLmVtaXQoc29sdXRpb25EZXRhaWxzQ2FyZHMubGVuZ3RoKTtcclxuICAgIC8vcmV0dXJuIHNvbHV0aW9uRGV0YWlsc0NhcmRzO1xyXG4gICAgcmV0dXJuIHRoaXMuX2FsbENhcmRzO1xyXG4gIH1cclxuXHJcbiAgLyoqIEJsdXIgYWxsIHRhYnMgKi9cclxuICBwcml2YXRlIF9ibHVyVGFicygpOiB2b2lkIHtcclxuICAgIHRoaXMuX2FsbFRhYlRpdGxlLnZhbHVlPy5ibHVyKCk7XHJcbiAgICB0aGlzLl9hcnRpY2xlc1RhYlRpdGxlLnZhbHVlPy5ibHVyKCk7XHJcbiAgICB0aGlzLl9kZXRhaWxzVGFiVGl0bGUudmFsdWU/LmJsdXIoKTtcclxuICAgIHRoaXMuX215U29sdXRpb25zVGFiVGl0bGUudmFsdWU/LmJsdXIoKTtcclxuICB9XHJcblxyXG4gIC8qKiBSZWZyZXNoIHRoZSB0b2tlbiBuZWFyIHRoZSBlbmQgb2YgdGhlIGV4cGlyYXRpb24gcGVyaW9kICovXHJcbiAgcHJpdmF0ZSBfc2V0UmVmcmVzaEludGVydmFsKCk6IHZvaWQge1xyXG4gICAgY29uc3QgdXNlclNlc3Npb24gPSB0aGlzLl91c2VyU2Vzc2lvbkNvbnRleHRQcm92aWRlcj8udmFsdWU7XHJcbiAgICBjb25zdCBhdXRoZW50aWNhdGlvbiA9IHRoaXMuX2F1dGhDb250ZXh0UHJvdmlkZXI/LnZhbHVlO1xyXG4gICAgaWYgKHVzZXJTZXNzaW9uICYmIHVzZXJTZXNzaW9uLnRva2VuRHVyYXRpb24gJiYgYXV0aGVudGljYXRpb24/LklzU2lnbmVkSW4pIHtcclxuICAgICAgY29uc3QgcmVmcmVzaEludGVydmFsID0gdXNlclNlc3Npb24udG9rZW5EdXJhdGlvbiAqIDAuOTtcclxuICAgICAgc2V0SW50ZXJ2YWwoXHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1taXN1c2VkLXByb21pc2VzXHJcbiAgICAgICAgYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgcmVmcmVzaFNlc3Npb24gPSBhd2FpdCBhdXRoZW50aWNhdGlvbj8ucmVmcmVzaFNlc3Npb24oKTtcclxuICAgICAgICAgIGlmIChyZWZyZXNoU2Vzc2lvbikge1xyXG4gICAgICAgICAgICB0aGlzLl91c2VyU2Vzc2lvbkNvbnRleHRQcm92aWRlci5zZXRWYWx1ZShyZWZyZXNoU2Vzc2lvbik7XHJcbiAgICAgICAgICAgIGNvbnN0IHRva2VuID0gcmVmcmVzaFNlc3Npb24/LnRva2VuID8/ICcnO1xyXG4gICAgICAgICAgICB0aGlzLnRva2VuUmVmcmVzaGVkLmVtaXQodG9rZW4pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sIHJlZnJlc2hJbnRlcnZhbFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIEdldCB0aGUgc2VhcmNoT3B0aW9ucyBmcm9tIHRoZSBwcm92aWRlZCBmaWx0ZXJzIHdlIGdldCBmcm9tIHRoZSBhcHBzIHVybCBwYXJzaW5nICovXHJcbiAgcHJpdmF0ZSBfZ2V0RGVmYXVsdFNlYXJjaE9wdGlvbnMoXHJcbiAgICBmaWx0ZXJzOiBhbnlcclxuICApOiBhbnkge1xyXG4gICAgbGV0IHNlYXJjaE9wdGlvbnMgPSB1bmRlZmluZWQ7XHJcbiAgICBpZiAoZmlsdGVycykge1xyXG4gICAgICBjb25zdCBkb21haW4gPSBmaWx0ZXJzLmRvbWFpblxyXG4gICAgICBjb25zdCBpbmR1c3RyeSA9IGZpbHRlcnMuaW5kdXN0cnlcclxuICAgICAgY29uc3QgdHlwZSA9IGZpbHRlcnMub2ZmZXJUeXBlXHJcbiAgICAgIGNvbnN0IHNlYXJjaFRlcm0gPSBmaWx0ZXJzLnNlYXJjaFRlcm1cclxuICAgICAgY29uc3QgZGlzcGxheVZhbHVlID0gJyc7XHJcbiAgICAgIGNvbnN0IHNvcnRUeXBlID0gZmlsdGVycy5zb3J0RmllbGRcclxuXHJcbiAgICAgIHNlYXJjaE9wdGlvbnMgPSBkb21haW4gfHwgaW5kdXN0cnkgfHwgdHlwZSA/IHtcclxuICAgICAgICB0eXBlOiBkb21haW4gPyAnZG9tYWluJyA6IGluZHVzdHJ5ID8gJ2luZHVzdHJ5JyA6ICd0eXBlJ1xyXG4gICAgICB9IDogdW5kZWZpbmVkXHJcblxyXG4gICAgICBpZiAoZG9tYWluKSB7XHJcbiAgICAgICAgc2VhcmNoT3B0aW9ucyA9IHNlYXJjaE9wdGlvbnMgPyB7IC4uLnNlYXJjaE9wdGlvbnMsIGRvbWFpbiB9IDogeyBkb21haW4gfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoaW5kdXN0cnkpIHtcclxuICAgICAgICBzZWFyY2hPcHRpb25zID0gc2VhcmNoT3B0aW9ucyA/IHsgLi4uc2VhcmNoT3B0aW9ucywgaW5kdXN0cnkgfSA6IHsgaW5kdXN0cnkgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoc2VhcmNoVGVybSkge1xyXG4gICAgICAgIHNlYXJjaE9wdGlvbnMgPSBzZWFyY2hPcHRpb25zID8geyAuLi5zZWFyY2hPcHRpb25zLCBzZWFyY2hUZXJtIH0gOiB7IHNlYXJjaFRlcm0gfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBUT0RPIG5vdCBzdXJlIGhvdyB0byBzZXQgdGhlIHJlcXVpcmVkIHZhbHVlXHJcbiAgICAgIGlmIChzZWFyY2hPcHRpb25zKSB7XHJcbiAgICAgICAgLy8gVE9ETyB1bmRlcnN0YW5kIGhvdyB3ZSBhcmUgc3VwcG9zZWQgdG8gZGV0ZXJtaW5lIHRoZSBkaXNwbGF5VmFsdWVcclxuICAgICAgICBzZWFyY2hPcHRpb25zID0geyAuLi5zZWFyY2hPcHRpb25zLCBkaXNwbGF5VmFsdWUgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoc29ydFR5cGUpIHtcclxuICAgICAgICBzZWFyY2hPcHRpb25zID0gc2VhcmNoT3B0aW9ucyA/IHsgLi4uc2VhcmNoT3B0aW9ucywgc29ydFR5cGUgfSA6IHsgc29ydFR5cGUgfVxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHNlYXJjaE9wdGlvbnNcclxuICB9XHJcbn1cclxuIl0sIm5hbWVzIjpbIlNvbHV0aW9uc0RlcGxveUFwcCIsIkxpdEVsZW1lbnQiLCJ1c2VUOW4iLCJCQVNFX1NPTFVUSU9OU19URVJNUyIsIkJBU0VfRElTUExBWV9PTkxZX1RFUk1TIiwiY3JlYXRlUmVmIiwidXNlQ29udGV4dFByb3ZpZGVyIiwiYXV0aENvbnRleHQiLCJpc01vYmlsZUNvbnRleHQiLCJsb2NhbERlYnVnQ29udGV4dCIsInVzZXJTZXNzaW9uQ29udGV4dCIsImNyZWF0ZUV2ZW50Iiwic3R5bGVzIiwidGFiIiwiZmlsdGVycyIsInNlYXJjaE9wdGlvbnMiLCJjYXJkIiwiZmluZFNvbHV0aW9uQnlUaXRsZU9ySWQiLCJmaW5kU29sdXRpb25CeVR5cGVLZXl3b3JkU29sdXRpb25JZCIsInVzZXJTZXNzaW9uIiwiVXNlclNlc3Npb24iLCJfYXBwQ29uZmlnIiwiY2FyZHNGZXRjaGVyLkNhcmRzRmV0Y2hlciIsIkF1dGgiLCJsb2FkZXJDc3MiLCJ0YWJzQ3NzIiwiaHRtbCIsInNhZmVDbGFzc01hcCIsInJlZiRqc3giLCJldmVudCIsImFjdGl2ZVRhYiIsImZldGNoZWRDYXJkcyIsIm5ld1JlbGVhc2UiLCJjYXJkcyIsImEiLCJiIiwiYXV0aGVudGljYXRpb24iLCJyZWZyZXNoSW50ZXJ2YWwiLCJyZWZyZXNoU2Vzc2lvbiIsInRva2VuIiwiZG9tYWluIiwiaW5kdXN0cnkiLCJ0eXBlIiwic2VhcmNoVGVybSIsImRpc3BsYXlWYWx1ZSIsInNvcnRUeXBlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBOEVNLE1BQU9BLFVBQTJCQyxFQUFVO0FBQUEsRUFVaEQsY0FBQTtBQUNFLFVBQUEsR0FpQlUsS0FBQSxTQUFTLElBR1QsS0FBQSxTQUFTLElBR1QsS0FBQSxZQUFZLElBR1osS0FBQSwwQkFBMEIsSUFHMUIsS0FBQSxXQUFxQixhQU9yQixLQUFBLG9CQUFvQixJQVN2QixLQUFB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
|
@@ -5,7 +5,7 @@ import { LitElement as a, createEvent as c, safeClassMap as d, nothing as h } fr
|
|
5
5
|
import { m as i } from "../../chunks/interfaces.js";
|
6
6
|
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
7
7
|
See https://js.arcgis.com/1.1/esri/copyright.txt for details.
|
8
|
-
v1.1.0-next.20250917.
|
8
|
+
v1.1.0-next.20250917.2 */
|
9
9
|
const u = o`/** @license
|
10
10
|
* Copyright 2025 Esri
|
11
11
|
*
|
@@ -11,7 +11,7 @@ import { g as S } from "../../chunks/cardFetchingUtils.js";
|
|
11
11
|
import { g as x } from "../../chunks/privilegeUtils.js";
|
12
12
|
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
13
13
|
See https://js.arcgis.com/1.1/esri/copyright.txt for details.
|
14
|
-
v1.1.0-next.20250917.
|
14
|
+
v1.1.0-next.20250917.2 */
|
15
15
|
const v = c`/** @license
|
16
16
|
* Copyright 2025 Esri
|
17
17
|
*
|
@@ -7,7 +7,7 @@ export declare class SolutionsDeployedShell extends LitElement {
|
|
7
7
|
appConfig: any;
|
8
8
|
solutionsCount: number;
|
9
9
|
sortType: SortType;
|
10
|
-
searchSolutions(searchOptions: IFilterOption
|
10
|
+
searchSolutions(searchOptions: IFilterOption | ISearchOption | ISortOption): Promise<void>;
|
11
11
|
readonly filterRemoved: TargetedEvent<this, IFilterOption>;
|
12
12
|
readonly tokenRefreshed: TargetedEvent<this, string>;
|
13
13
|
}
|
@@ -8,7 +8,7 @@ import { createRef as f, ref as b } from "lit/directives/ref.js";
|
|
8
8
|
import { g } from "../../chunks/privilegeUtils.js";
|
9
9
|
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
10
10
|
See https://js.arcgis.com/1.1/esri/copyright.txt for details.
|
11
|
-
v1.1.0-next.20250917.
|
11
|
+
v1.1.0-next.20250917.2 */
|
12
12
|
const m = p`/** @license
|
13
13
|
* Copyright 2025 Esri
|
14
14
|
*
|
@@ -120,4 +120,4 @@ r("solutions-deployed-shell", y);
|
|
120
120
|
export {
|
121
121
|
y as SolutionsDeployedShell
|
122
122
|
};
|
123
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tRWxlbWVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc29sdXRpb25zLWRlcGxveWVkLXNoZWxsL3NvbHV0aW9ucy1kZXBsb3llZC1zaGVsbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBsaWNlbnNlXHJcbiAqIENvcHlyaWdodCAyMDI1IEVzcmlcclxuICpcclxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICdMaWNlbnNlJyk7XHJcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cclxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XHJcbiAqXHJcbiAqICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxyXG4gKlxyXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXHJcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsXHJcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxyXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXHJcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxyXG4gKi9cclxuXHJcbmltcG9ydCB0eXBlIFQ5blN0cmluZ3MgZnJvbSAnLi9hc3NldHMvdDluL21lc3NhZ2VzLmVuLmpzb24nO1xyXG5pbXBvcnQgeyB1c2VUOW4gfSBmcm9tICcuLi8uLi9jb250cm9sbGVycy91c2VUOW4nO1xyXG5pbXBvcnQge1xyXG4gIGNyZWF0ZUV2ZW50LFxyXG4gIEZyYWdtZW50LFxyXG4gIGgsXHJcbiAgTGl0RWxlbWVudCxcclxuICBtZXRob2QsXHJcbiAgcHJvcGVydHksXHJcbiAgc3RhdGUsXHJcbn0gZnJvbSAnQGFyY2dpcy9sdW1pbmEnO1xyXG5pbXBvcnQge1xyXG4gIHVzZUNvbnRleHRDb25zdW1lcixcclxufSBmcm9tICdAYXJjZ2lzL2x1bWluYS9jb250ZXh0JztcclxuaW1wb3J0IHR5cGUge1xyXG4gIEpzeE5vZGUsXHJcbn0gZnJvbSAnQGFyY2dpcy9sdW1pbmEnO1xyXG5pbXBvcnQgeyBzdHlsZXMgfSBmcm9tICcuL3NvbHV0aW9ucy1kZXBsb3llZC1zaGVsbC5jc3MnO1xyXG5pbXBvcnQge1xyXG4gIGF1dGhDb250ZXh0LFxyXG4gIGlzTW9iaWxlQ29udGV4dCxcclxufSBmcm9tICcuLi8uLi91dGlscy9kZXBsb3lBcHBDb250ZXh0cyc7XHJcbmltcG9ydCB7XHJcbiAgSUZpbHRlck9wdGlvbixcclxuICBJU2VhcmNoT3B0aW9uLFxyXG4gIElTb3J0T3B0aW9uLFxyXG4gIFNvcnRUeXBlXHJcbn0gZnJvbSAnLi4vLi4vdXRpbHMvaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB0eXBlIHsgUHJvcGVydHlWYWx1ZXMgfSBmcm9tICdsaXQnO1xyXG5pbXBvcnQgeyBjcmVhdGVSZWYgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZWYuanMnO1xyXG5pbXBvcnQgdHlwZSB7IFNvbHV0aW9uc0RlcGxveWVkUGFuZWwgfSBmcm9tICcuLi9zb2x1dGlvbnMtZGVwbG95ZWQtcGFuZWwvc29sdXRpb25zLWRlcGxveWVkLXBhbmVsJztcclxuaW1wb3J0IHsgZ2V0VXNlcklzQWRtaW4gfSBmcm9tICcuLi8uLi91dGlscy9wcml2aWxlZ2VVdGlscyc7XHJcblxyXG5kZWNsYXJlIGdsb2JhbCB7XHJcbiAgaW50ZXJmYWNlIERlY2xhcmVFbGVtZW50cyB7XHJcbiAgICAnc29sdXRpb25zLWRlcGxveWVkLXNoZWxsJzogU29sdXRpb25zRGVwbG95ZWRTaGVsbDtcclxuICB9XHJcbn1cclxuXHJcbi8vIFRPRE8gdGhpcyBzaG91bGQgYmUgcmVtb3ZlZCBhZnRlciBpbml0aWFsIGRldiBjeWNsZVxyXG4vLyBodHRwczovL2RldnRvcGlhLmVzcmkuY29tL1dlYkdJUy9zb2x1dGlvbi1kZXBsb3ltZW50LWFwcHMvaXNzdWVzLzQwM1xyXG5cclxuZXhwb3J0IGNsYXNzIFNvbHV0aW9uc0RlcGxveWVkU2hlbGwgZXh0ZW5kcyBMaXRFbGVtZW50IHtcclxuXHJcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gIC8vXHJcbiAgLy8gIE92ZXJyaWRlcyAoaW50ZXJuYWwpXHJcbiAgLy9cclxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4gIHN0YXRpYyBvdmVycmlkZSBzdHlsZXMgPSBzdHlsZXM7XHJcblxyXG4gIC8qKiBJbnZva2VkIGJlZm9yZSB1cGRhdGUoKSB0byBjb21wdXRlIHZhbHVlcyBuZWVkZWQgZHVyaW5nIHRoZSB1cGRhdGUuXHJcbiAgICogSW1wbGVtZW50IHdpbGxVcGRhdGUgdG8gY29tcHV0ZSBwcm9wZXJ0eSB2YWx1ZXMgdGhhdCBkZXBlbmQgb24gb3RoZXIgcHJvcGVydGllcyBhbmQgYXJlIHVzZWQgaW4gdGhlIHJlc3Qgb2YgdGhlIHVwZGF0ZSBwcm9jZXNzXHJcbiAgKi9cclxuICBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlcy5oYXMoJ2lzTW9iaWxlJykpIHtcclxuICAgICAgLy8gd2hlbiB3ZSBzd2l0Y2ggdG8vZnJvbSBtb2JpbGUgdmlldyB0aGUgZmlsdGVyIGlzIGZvcmNlZCB0byBvcGVuL2Nsb3NlXHJcbiAgICAgIHRoaXMuZmlsdGVyT3BlbiA9ICF0aGlzLmlzTW9iaWxlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gIC8vXHJcbiAgLy8gIFByb3BlcnRpZXMgKHB1YmxpYylcclxuICAvL1xyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgLyoqIEFwcCBjb25maWcgdG8gdXNlIHdoZW4gdXNlTG9jYWxBcHBDb25maWcgaXMgZmFsc2UgKi9cclxuICBAcHJvcGVydHkoKSBhcHBDb25maWc6IGFueTtcclxuXHJcbiAgLyoqIFRoZSBudW1iZXIgb2Ygc29sdXRpb24gY2FyZHMgY3VycmVudGx5IGRpc3BsYXllZCAqL1xyXG4gIEBwcm9wZXJ0eSgpIHNvbHV0aW9uc0NvdW50ID0gMDtcclxuXHJcbiAgLyoqIFRoZSBjdXJyZW50IHNvcnQgdHlwZSBhcHBsaWVkIHRvIHRoZSBkaXNwbGF5ZWQgY2FyZHMgKi9cclxuICBAcHJvcGVydHkoKSBzb3J0VHlwZTogU29ydFR5cGUgPSAnY3JlYXRlZCc7XHJcblxyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAvL1xyXG4gIC8vICBTdGF0ZSAoaW50ZXJuYWwpXHJcbiAgLy9cclxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4gIC8qKiBUaGUgZmlsdGVyIGlzIGFsd2F5cyBvcGVuIHdoZW4gd2UgYXJlIG5vdCBpbiBtb2JpbGUgdmlldy5cclxuICAgKiBXaGVuIGZhbHNlIGFuZCBpbiBtb2JpbGUgdmlldyB0aGUgZmlsdGVyIGlzIGhpZGRlbi5cclxuICAgKi9cclxuICBAc3RhdGUoKSBmaWx0ZXJPcGVuID0gdHJ1ZTtcclxuXHJcbiAgLyoqIFRoZSBjdXJyZW50IGZpbHRlcnMgYXBwbGllZCB0byB0aGUgZGlzcGxheWVkIGNhcmRzICovXHJcbiAgQHN0YXRlKCkgZmlsdGVyczogSUZpbHRlck9wdGlvbltdID0gW107XHJcblxyXG4gIEBzdGF0ZSgpIGlzTW9iaWxlID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnRhaW5zIHRoZSB0cmFuc2xhdGlvbnMgZm9yIHRoaXMgY29tcG9uZW50LlxyXG4gICAqIEFsbCBVSSBzdHJpbmdzIHNob3VsZCBiZSBkZWZpbmVkIGhlcmUuXHJcbiAgICovXHJcbiAgQHN0YXRlKCkgX3RyYW5zbGF0aW9ucyA9IHVzZVQ5bjx0eXBlb2YgVDluU3RyaW5ncz4oeyBuYW1lOiAnc29sdXRpb25zLWRlcGxveWVkLXNoZWxsJywgYmxvY2tpbmc6IHRydWUgfSk7XHJcblxyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAvL1xyXG4gIC8vICBQcm9wZXJ0aWVzIChwcml2YXRlKVxyXG4gIC8vXHJcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuICAvKiogVGhlIEF1dGggY29udGV4dCBjb25zdW1lci4gKi9cclxuICBwcml2YXRlIF9hdXRoQ29udGV4dENvbnN1bWVyID0gdXNlQ29udGV4dENvbnN1bWVyKHtcclxuICAgIGNvbnRleHQ6IGF1dGhDb250ZXh0LFxyXG4gICAgc3Vic2NyaWJlOiB0cnVlXHJcbiAgfSk7XHJcblxyXG4gIC8qKiBXaGVuIHRydWUgd2UgYXJlIGluIG1vYmlsZSB2aWV3LiAqL1xyXG4gIHByaXZhdGUgX2lzTW9iaWxlQ29udGV4dENvbnN1bWVyID0gdXNlQ29udGV4dENvbnN1bWVyKHtcclxuICAgIGNvbnRleHQ6IGlzTW9iaWxlQ29udGV4dCxcclxuICAgIHN1YnNjcmliZTogdHJ1ZSxcclxuICAgIGNhbGxiYWNrOiAodmFsdWUpID0+IHRoaXMuaXNNb2JpbGUgPSB2YWx1ZSxcclxuICB9KTtcclxuXHJcbiAgLyoqIEZsYWcgdG8gc3RvcmUgaWYgbG9nZ2VkIGluIHVzZXIgaXMgYW4gYWRtaW4gdG8gdGhpcyBBcmNHSVMgRW50ZXJwcmlzZS4gKi9cclxuICBwcml2YXRlIF9pc09yZ0FkbWluID0gZmFsc2U7XHJcblxyXG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIHNvbHV0aW9ucy1hbGwtcGFuZWwgc28gd2UgY2FuIHNlYXJjaCBmb3Igc29sdXRpb25zIHdoZW4gZmlsdGVyIGFuZCBzb3J0IG9wdGlvbnMgY2hhbmdlICovXHJcbiAgcHJpdmF0ZSBfc29sdXRpb25zRGVwbG95ZWRQYW5lbFJlZiA9IGNyZWF0ZVJlZjxTb2x1dGlvbnNEZXBsb3llZFBhbmVsPigpO1xyXG5cclxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgLy9cclxuICAvLyAgV2F0Y2ggaGFuZGxlcnNcclxuICAvL1xyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gIC8vXHJcbiAgLy8gIE1ldGhvZHMgKHB1YmxpYylcclxuICAvL1xyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VhcmNoIHNvbHV0aW9ucyBiYXNlZCBvbiBrZXkgY3JpdGVyaWFcclxuICAgKlxyXG4gICAqIEBwYXJhbSBzZWFyY2hPcHRpb25zIHRoZSBrZXkgY3JpdGVyaWEgdG8gc2VhcmNoIHdpdGhcclxuICAgKi9cclxuICBAbWV0aG9kKClcclxuICBhc3luYyBzZWFyY2hTb2x1dGlvbnMoXHJcbiAgICBzZWFyY2hPcHRpb25zOiBJRmlsdGVyT3B0aW9uW10gfCBJU2VhcmNoT3B0aW9uIHwgSVNvcnRPcHRpb25cclxuICApOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnNvbGUubG9nKHNlYXJjaE9wdGlvbnMpO1xyXG4gICAgLy8gVE9ETyBzZWUgaWYgd2UgY2FuIGhhbmRsZSB0aGlzIHdpdGhvdXQgZHVwbGljYXRlIHNlYXJjaGVzIHdoZW4gd2UgaGF2ZSBtdWx0aXBsZSBjcml0ZXJpYVxyXG4gICAgaWYgKCdzZWFyY2hUZXJtJyBpbiBzZWFyY2hPcHRpb25zKSB7XHJcbiAgICAgIHRoaXMuX3NvbHV0aW9uc0RlcGxveWVkUGFuZWxSZWYudmFsdWU/LnNlYXJjaFNvbHV0aW9ucyhzZWFyY2hPcHRpb25zKTtcclxuICAgIH1cclxuICAgIGlmICgnc29ydFR5cGUnIGluIHNlYXJjaE9wdGlvbnMpIHtcclxuICAgICAgdGhpcy5fc29ydENoYW5nZWQoc2VhcmNoT3B0aW9ucy5zb3J0VHlwZSk7XHJcbiAgICB9XHJcbiAgICBpZiAoJ2luZHVzdHJ5JyBpbiBzZWFyY2hPcHRpb25zIHx8ICdkb21haW4nIGluIHNlYXJjaE9wdGlvbnMpIHtcclxuICAgICAgY29uc3QgZXZ0ID0gbmV3IEN1c3RvbUV2ZW50KCdzb2x1dGlvbnNGaWx0ZXJBcHBsaWVkJywge1xyXG4gICAgICAgIGRldGFpbDogc2VhcmNoT3B0aW9ucyxcclxuICAgICAgICBidWJibGVzOiB0cnVlLFxyXG4gICAgICAgIGNhbmNlbGFibGU6IGZhbHNlLFxyXG4gICAgICAgIGNvbXBvc2VkOiB0cnVlLFxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5fZmlsdGVyQXBwbGllZChldnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gIC8vXHJcbiAgLy8gIEV2ZW50cyAocHVibGljKVxyXG4gIC8vXHJcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuICAvKiogRW1pdHRlZCBvbiBkZW1hbmQgd2hlbiBhIGZpbHRlciBjaGlwIGlzIGNsb3NlZCAqL1xyXG4gIGZpbHRlclJlbW92ZWQgPSBjcmVhdGVFdmVudDxJRmlsdGVyT3B0aW9uPigpO1xyXG5cclxuICAvKiogRW1pdHRlZCBvbiBkZW1hbmQgd2hlbiB0aGUgYXV0aCB0b2tlbiBpcyB1cGRhdGVkICovXHJcbiAgdG9rZW5SZWZyZXNoZWQgPSBjcmVhdGVFdmVudDxzdHJpbmc+KCk7XHJcblxyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAvL1xyXG4gIC8vICBGdW5jdGlvbnMgKGxpZmVjeWNsZSlcclxuICAvL1xyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgLyoqIENhbGxlZCBvbmNlIGp1c3QgYWZ0ZXIgdGhlIGNvbXBvbmVudCBpcyBmaXJzdCBjb25uZWN0ZWQgdG8gdGhlIERPTS5cclxuICAgKiBTaW5jZSB0aGlzIG1ldGhvZCBpcyBvbmx5IGNhbGxlZCBvbmNlLCBpdCdzIGEgZ29vZCBwbGFjZSB0byBsb2FkIGRhdGEgYXN5bmNocm9ub3VzbHlcclxuICAgKiBhbmQgdG8gc2V0dXAgdGhlIHN0YXRlIHdpdGhvdXQgdHJpZ2dlcmluZyBleHRyYSByZS1yZW5kZXJzLiAqL1xyXG4gIGFzeW5jIGxvYWQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy5faXNNb2JpbGVDb250ZXh0Q29uc3VtZXIudmFsdWUpIHtcclxuICAgICAgdGhpcy5pc01vYmlsZSA9IHRoaXMuX2lzTW9iaWxlQ29udGV4dENvbnN1bWVyLnZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX2lzT3JnQWRtaW4gPSBnZXRVc2VySXNBZG1pbih0aGlzLl9hdXRoQ29udGV4dENvbnN1bWVyLnZhbHVlISk7XHJcbiAgfVxyXG5cclxuICAvKiogUmVuZGVycyB0aGUgY29tcG9uZW50LiAqL1xyXG4gIG92ZXJyaWRlIHJlbmRlcigpOiBKc3hOb2RlIHtcclxuICAgIGNvbnN0IGZhYkljb24gPSB0aGlzLmZpbHRlck9wZW4gPyAnY2hldnJvbi1sZWZ0JyA6ICdjaGV2cm9uLXJpZ2h0JztcclxuICAgIGNvbnN0IHNvbHV0aW9uc0NvdW50U3R5bGUgPSB0aGlzLmlzTW9iaWxlID8gJ2p1c3RpZnktY29udGVudC1lbmQnIDogJyc7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8Y2FsY2l0ZS1zaGVsbCBjbGFzcz0ncG9zaXRpb24tcmVsYXRpdmUnPlxyXG4gICAgICAgIDxjYWxjaXRlLWJ1dHRvblxyXG4gICAgICAgICAgYXBwZWFyYW5jZT0nb3V0bGluZS1maWxsJ1xyXG4gICAgICAgICAgY2xhc3M9J2ZpbHRlci1idXR0b24gbW9jay1mYWIgei1pbmRleC0yJ1xyXG4gICAgICAgICAgaWNvbi1zdGFydD17ZmFiSWNvbn1cclxuICAgICAgICAgIGtpbmQ9J25ldXRyYWwnXHJcbiAgICAgICAgICBvbkNsaWNrPXt0aGlzLl90b2dnbGVGaWx0ZXJ9XHJcbiAgICAgICAgICBzY2FsZT0nbSdcclxuICAgICAgICAvPlxyXG4gICAgICAgIDxjYWxjaXRlLXBhbmVsIGNsYXNzPSdib3JkZXItb3ZlcnJpZGUgaGVhZGVyLW92ZXJyaWRlIGJhY2tncm91bmQtb3ZlcnJpZGUgei1pbmRleC0xJz5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9e2BkaXNwbGF5LWZsZXggYWxpZ24taXRlbXMtY2VudGVyICR7c29sdXRpb25zQ291bnRTdHlsZX1gfVxyXG4gICAgICAgICAgICBzbG90PSdoZWFkZXItY29udGVudCdcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGNhbGNpdGUtbGFiZWwgY2xhc3M9J2xhYmVsLW92ZXJyaWRlIGZsZXgtZ3JvdycgbGF5b3V0PSdpbmxpbmUnPlxyXG4gICAgICAgICAgICAgIHt0aGlzLmlzTW9iaWxlID8gKDw+PC8+KSA6IHRoaXMuX2dldEZpbHRlclBhbmVsKCl9XHJcbiAgICAgICAgICAgIDwvY2FsY2l0ZS1sYWJlbD5cclxuICAgICAgICAgICAgPGNhbGNpdGUtbGFiZWwgY2xhc3M9J2xhYmVsLW92ZXJyaWRlIGZsZXgtc2hyaW5rLTAnIGxheW91dD0naW5saW5lJz5cclxuICAgICAgICAgICAgICB7dGhpcy5fdHJhbnNsYXRpb25zLm51bWJlck9mU29sdXRpb25zLnJlcGxhY2UoJ3t7Y291bnR9fScsIHRoaXMuc29sdXRpb25zQ291bnQudG9TdHJpbmcoKSl9XHJcbiAgICAgICAgICAgIDwvY2FsY2l0ZS1sYWJlbD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBzbG90PSdoZWFkZXItYWN0aW9ucy1lbmQnPlxyXG4gICAgICAgICAgICB7dGhpcy5fcmVuZGVyRHJvcGRvd24oKX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAge3RoaXMuaXNNb2JpbGUgJiYgdGhpcy5fZ2V0RmlsdGVyUGFuZWwoKX1cclxuICAgICAgICAgIHt0aGlzLl9nZXRTb2x1dGlvbnNBbGxQYW5lbCgpfVxyXG4gICAgICAgIDwvY2FsY2l0ZS1wYW5lbD5cclxuICAgICAgPC9jYWxjaXRlLXNoZWxsPlxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAvL1xyXG4gIC8vICBGdW5jdGlvbnMgKHByaXZhdGUpXHJcbiAgLy9cclxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4gIC8qKiBSZW5kZXJzIHRoZSBvcHRpb25zIGZvciBmaWx0ZXJpbmcgdGhlIGN1cnJlbnQgc29sdXRpb24gY2FyZHMgKi9cclxuICBwcml2YXRlIF9nZXRGaWx0ZXJQYW5lbCgpOiBKc3hOb2RlIHtcclxuICAgIGNvbnN0IGZpbHRlck92ZXJyaWRlID0gdGhpcy5maWx0ZXJPcGVuID8geyAnZGlzcGxheSc6ICdmbGV4JyB9IDogJyc7XHJcbiAgICByZXR1cm4gIChcclxuICAgICAgPGNhbGNpdGUtcGFuZWxcclxuICAgICAgICBjbGFzcz17dGhpcy5maWx0ZXJPcGVuID8gJ2JhY2tncm91bmQtb3ZlcnJpZGUnIDogJ2ZpbHRlciBiYWNrZ3JvdW5kLW92ZXJyaWRlJ31cclxuICAgICAgICBpZD0nc29sdXRpb25zLWFsbC1zaGVsbC1wYW5lbC1zdGFydCcgLy8gVE9ETyBjb25maXJtIHdpdGggQXppemEgaWYgc2hlIHdhbnRzIHRoaXMgdG8gc3RheSB0aGUgc2FtZSBmb3IgaGVyIHRlc3RzXHJcbiAgICAgICAgc3R5bGU9e2ZpbHRlck92ZXJyaWRlfVxyXG4gICAgICA+XHJcbiAgICAgICAgPHNvbHV0aW9ucy1kZXBsb3llZC1maWx0ZXItcGFuZWxcclxuICAgICAgICAgIGNsYXNzPSdoZWlnaHQtMTAwIGZsZXgtMSdcclxuICAgICAgICAgIGlzTW9iaWxlPXt0aGlzLmlzTW9iaWxlfVxyXG4gICAgICAgICAgaXNPcmdBZG1pbj17dGhpcy5faXNPcmdBZG1pbn1cclxuICAgICAgICAgIG9uYXBwbHlGaWx0ZXI9e3RoaXMuX2ZpbHRlckFwcGxpZWR9XHJcbiAgICAgICAgLz5cclxuICAgICAgPC9jYWxjaXRlLXBhbmVsPlxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKiBSZW5kZXJzIHRoZSBwYW5lbCB0aGF0IHNob3dzIHRoZSBjdXJyZW50IHNvbHV0aW9uIGNhcmRzLiAqL1xyXG4gIHByaXZhdGUgX2dldFNvbHV0aW9uc0FsbFBhbmVsKCk6IEpzeE5vZGUge1xyXG4gICAgY29uc3Qgc29sdXRpb25zQWxsUGFuZWxPdmVycmlkZSA9IHRoaXMuaXNNb2JpbGUgJiYgdGhpcy5maWx0ZXJPcGVuID8geyAnZGlzcGxheSc6ICdub25lJyB9IDogJyc7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8c29sdXRpb25zLWRlcGxveWVkLXBhbmVsXHJcbiAgICAgICAgYWdvU29sdXRpb25zR3JvdXBJZD17dGhpcy5hcHBDb25maWcucHJpbWFyeVNvbHV0aW9uc0dyb3VwSWR9XHJcbiAgICAgICAgZW50ZXJwcmlzZVNvbHV0aW9uc0dyb3VwSWQ9e3RoaXMuYXBwQ29uZmlnLmFnb0Jhc2VkRW50ZXJwcmlzZVNvbHV0aW9uc0dyb3VwSWR9XHJcbiAgICAgICAgbG9jYWxlPXt0aGlzLmFwcENvbmZpZy5sb2NhbGUgfHwgJ2VuJ31cclxuICAgICAgICBvcmdVcmw9e3RoaXMuYXBwQ29uZmlnLnBvcnRhbFVSTH1cclxuICAgICAgICBvbmRlcGxveWVkQ2FyZHNGZXRjaGVkPXt0aGlzLl91cGRhdGVTb2x1dGlvbkNvdW50fVxyXG4gICAgICAgIHBvcnRhbFVybD17dGhpcy5hcHBDb25maWcucG9ydGFsVVJMfVxyXG4gICAgICAgIHJlZj17dGhpcy5fc29sdXRpb25zRGVwbG95ZWRQYW5lbFJlZn1cclxuICAgICAgICBzb3J0VHlwZT17dGhpcy5zb3J0VHlwZX1cclxuICAgICAgICBzdHlsZT17c29sdXRpb25zQWxsUGFuZWxPdmVycmlkZX1cclxuICAgICAgLz5cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKiogUmVuZGVycyBhIGRyb3Bkb3duIHdpdGggdGhlIHZhcmlvdXMgc29ydCBvcHRpb25zLiAqL1xyXG4gIHByaXZhdGUgX3JlbmRlckRyb3Bkb3duKCk6IEpzeE5vZGUge1xyXG4gICAgY29uc3QgZHJvcGRvd25JdGVtcyA9IFt7XHJcbiAgICAgIGRpc3BsYXlWYWx1ZTogdGhpcy5fdHJhbnNsYXRpb25zLnNvcnRCeVJlbGV2YW5jZSxcclxuICAgICAgc29ydFR5cGU6ICdyZWxldmFuY2UnXHJcbiAgICB9LCB7XHJcbiAgICAgIGRpc3BsYXlWYWx1ZTogdGhpcy5fdHJhbnNsYXRpb25zLnNvcnRCeVRpdGxlLFxyXG4gICAgICBzb3J0VHlwZTogJ3RpdGxlJ1xyXG4gICAgfSwge1xyXG4gICAgICBkaXNwbGF5VmFsdWU6IHRoaXMuX3RyYW5zbGF0aW9ucy5zb3J0QnlEYXRlRGVwbG95ZWQsXHJcbiAgICAgIHNvcnRUeXBlOiAnY3JlYXRlZCdcclxuICAgIH1dO1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgPGNhbGNpdGUtZHJvcGRvd24gd2lkdGg9J20nPlxyXG4gICAgICAgIDxjYWxjaXRlLWJ1dHRvblxyXG4gICAgICAgICAgYXBwZWFyYW5jZT0nb3V0bGluZS1maWxsJ1xyXG4gICAgICAgICAgY2xhc3M9J2hlYWRlci1idXR0b24tcGFkZGluZydcclxuICAgICAgICAgIGljb25TdGFydD0nc29ydC1kZXNjZW5kaW5nJ1xyXG4gICAgICAgICAga2luZD0nbmV1dHJhbCdcclxuICAgICAgICAgIHNsb3Q9J3RyaWdnZXInXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3RoaXMuaXNNb2JpbGUgPyAnJyA6IHRoaXMuX2dldFN0cmluZyh0aGlzLnNvcnRUeXBlKX1cclxuICAgICAgICA8L2NhbGNpdGUtYnV0dG9uPlxyXG4gICAgICAgIDxjYWxjaXRlLWRyb3Bkb3duLWdyb3VwIGdyb3VwLXRpdGxlPXt0aGlzLl90cmFuc2xhdGlvbnMuY2hvb3NlU29ydFR5cGV9PlxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBkcm9wZG93bkl0ZW1zLm1hcChkcm9wZG93bkl0ZW0gPT4ge1xyXG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLl9nZXREcm9wZG93bkl0ZW0oXHJcbiAgICAgICAgICAgICAgICBkcm9wZG93bkl0ZW0uZGlzcGxheVZhbHVlLFxyXG4gICAgICAgICAgICAgICAgZHJvcGRvd25JdGVtLnNvcnRUeXBlIGFzIFNvcnRUeXBlXHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2NhbGNpdGUtZHJvcGRvd24tZ3JvdXA+XHJcbiAgICAgIDwvY2FsY2l0ZS1kcm9wZG93bj5cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKiogR2V0IGFuIGluZGl2aWR1YWwgZHJvcGRvd24gaXRlbSBmb3IgdGhlIHNvcnQgb3B0aW9ucyAqL1xyXG4gIHByaXZhdGUgX2dldERyb3Bkb3duSXRlbShcclxuICAgIGRpc3BsYXlWYWx1ZTogc3RyaW5nLFxyXG4gICAgc29ydFR5cGU6IFNvcnRUeXBlXHJcbiAgKTogSnN4Tm9kZSB7XHJcbiAgICAvLyBpZiBzZWxlY3RlZCBhdHRyaWJ1dGUgaXMgdHJ1ZSBvciBmYWxzZSBpdCB3aWxsIGJlIHNlbGVjdGVkIGlmIHNldCBvbiB0aGUgZHJvcGRvd24gaXRlbVxyXG4gICAgLy8gdGhpcyBhbGxvd3MgdXMgdG8gb25seSBzZXQgdGhlIGF0dHJpYnV0ZSBpZiBpdCdzIHNlbGVjdGVkLi4ub3BlbiB0byBhIGJldHRlciB3YXkgaWYgZm91bmRcclxuICAgIHJldHVybiB0aGlzLnNvcnRUeXBlICE9PSBzb3J0VHlwZSA/IChcclxuICAgICAgPGNhbGNpdGUtZHJvcGRvd24taXRlbSBvbkNsaWNrPXsoKSA9PiB0aGlzLl9zb3J0Q2hhbmdlZChzb3J0VHlwZSl9PlxyXG4gICAgICAgIHtkaXNwbGF5VmFsdWV9XHJcbiAgICAgIDwvY2FsY2l0ZS1kcm9wZG93bi1pdGVtPlxyXG4gICAgKSA6IChcclxuICAgICAgPGNhbGNpdGUtZHJvcGRvd24taXRlbVxyXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHRoaXMuX3NvcnRDaGFuZ2VkKHNvcnRUeXBlKX1cclxuICAgICAgICBzZWxlY3RlZFxyXG4gICAgICA+XHJcbiAgICAgICAge2Rpc3BsYXlWYWx1ZX1cclxuICAgICAgPC9jYWxjaXRlLWRyb3Bkb3duLWl0ZW0+XHJcbiAgICApXHJcbiAgfVxyXG5cclxuICAvKiogR2V0IHRoZSBkaXNwbGF5IHN0cmluZyBiYXNlZCBvbiB0aGUgc29ydCB0eXBlICovXHJcbiAgcHJpdmF0ZSBfZ2V0U3RyaW5nKFxyXG4gICAgc29ydFR5cGU6IFNvcnRUeXBlXHJcbiAgKTogc3RyaW5nIHtcclxuICAgIGxldCBzb3J0U3RyaW5nID0gJyc7XHJcbiAgICBzd2l0Y2ggKHNvcnRUeXBlKSB7XHJcbiAgICAgIGNhc2UgJ2NyZWF0ZWQnOlxyXG4gICAgICAgIHNvcnRTdHJpbmcgPSB0aGlzLl90cmFuc2xhdGlvbnMuc29ydEJ5RGF0ZURlcGxveWVkO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSAncmVsZXZhbmNlJzpcclxuICAgICAgICBzb3J0U3RyaW5nID0gdGhpcy5fdHJhbnNsYXRpb25zLnNvcnRCeVJlbGV2YW5jZTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgJ3RpdGxlJzpcclxuICAgICAgICBzb3J0U3RyaW5nID0gdGhpcy5fdHJhbnNsYXRpb25zLnNvcnRCeVRpdGxlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBzb3J0U3RyaW5nO1xyXG4gIH1cclxuXHJcbiAgLyoqIFVwZGF0ZSB0aGUgc29sdXRpb24gY291bnQgd2hlbiBuZXcgY2FyZHMgYXJlIGZldGNoZWQgYnkgdGhlIHNvbHV0aW9ucy1hbGwtcGFuZWwgKi9cclxuICBwcml2YXRlIF91cGRhdGVTb2x1dGlvbkNvdW50KGV2dDogQ3VzdG9tRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuc29sdXRpb25zQ291bnQgPSBldnQuZGV0YWlsO1xyXG4gIH1cclxuXHJcbiAgLyoqIFN0b3JlIHRoZSB1c2VyIHNlbGVjdGVkIHNvcnQgdHlwZSAqL1xyXG4gIHByaXZhdGUgX3NvcnRDaGFuZ2VkKHNvcnRUeXBlOiBTb3J0VHlwZSk6IHZvaWQge1xyXG4gICAgdGhpcy5zb3J0VHlwZSA9IHNvcnRUeXBlO1xyXG4gICAgLy8gVE9ETyBJbXBsZW1lbnQgdGhpcyBpbiB0aGUgcGFuZWxcclxuICAgIHRoaXMuX3NvbHV0aW9uc0RlcGxveWVkUGFuZWxSZWYudmFsdWU/LnNlYXJjaFNvbHV0aW9ucyh7XHJcbiAgICAgIHNvcnRUeXBlXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKiBUaGlzIGZ1bmN0aW9uIGlzIG9ubHkgcmVsZXZhbnQgaW4gbW9iaWxlIHZpZXcuXHJcbiAgICogV2hlbiB0cnVlIHRoZSBmaWx0ZXIgd2lsbCBiZSBzaG93blxyXG4gICAqL1xyXG4gIHByaXZhdGUgX3RvZ2dsZUZpbHRlcigpOiB2b2lkIHtcclxuICAgIHRoaXMuZmlsdGVyT3BlbiA9ICF0aGlzLmZpbHRlck9wZW47XHJcbiAgfVxyXG5cclxuICAvKiogU2VhcmNoIHNvbHV0aW9ucyBhbmQgdXBkYXRlIHRoZSBjaGlwcyB3aGVuIGEgZmlsdGVyIGlzIGFwcGxpZWQgKi9cclxuICBwcml2YXRlIF9maWx0ZXJBcHBsaWVkKFxyXG4gICAgZXZ0OiBDdXN0b21FdmVudFxyXG4gICk6IHZvaWQge1xyXG4gICAgaWYgKGV2dC5kZXRhaWwpIHtcclxuICAgICAgaWYgKCdkaXNwbGF5VmFsdWUnIGluIGV2dC5kZXRhaWwpIHtcclxuICAgICAgICAvLyB0aGlzIGlzIGEgZmlsdGVyIGFuZCB3ZSBzaG91bGQgdXBkYXRlIHRoZSBjaGlwc1xyXG4gICAgICAgIC8vIGZpbHRlciBvdXQgYW55IGV4aXN0aW5nIGluZHVzdHJ5IGNoaXBzLCBvbmx5IDEgaW5kdXN0cnkgYXQgYSB0aW1lLlxyXG4gICAgICAgIGlmICgndHlwZScgaW4gZXZ0LmRldGFpbCAmJiBldnQuZGV0YWlsLnR5cGUgPT09ICdpbmR1c3RyeScpIHtcclxuICAgICAgICAgIHRoaXMuZmlsdGVycyA9IHRoaXMuZmlsdGVycy5maWx0ZXIoZmlsdGVyID0+IGZpbHRlci50eXBlICE9PSAnaW5kdXN0cnknKTtcclxuICAgICAgICAgIHRoaXMuZmlsdGVycy5wdXNoKGV2dC5kZXRhaWwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLl9zb2x1dGlvbnNEZXBsb3llZFBhbmVsUmVmLnZhbHVlPy5zZWFyY2hTb2x1dGlvbnMoZXZ0LmRldGFpbCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZpbHRlcnMgPSBbXTtcclxuICAgICAgdGhpcy5fc29sdXRpb25zRGVwbG95ZWRQYW5lbFJlZi52YWx1ZT8uc2VhcmNoU29sdXRpb25zKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdLCJuYW1lcyI6WyJTb2x1dGlvbnNEZXBsb3llZFNoZWxsIiwiTGl0RWxlbWVudCIsInVzZVQ5biIsInVzZUNvbnRleHRDb25zdW1lciIsImF1dGhDb250ZXh0IiwiaXNNb2JpbGVDb250ZXh0IiwidmFsdWUiLCJjcmVhdGVSZWYiLCJjcmVhdGVFdmVudCIsInN0eWxlcyIsImNoYW5nZXMiLCJzZWFyY2hPcHRpb25zIiwiZXZ0IiwiZ2V0VXNlcklzQWRtaW4iLCJmYWJJY29uIiwic29sdXRpb25zQ291bnRTdHlsZSIsImh0bWwiLCJmaWx0ZXJPdmVycmlkZSIsInNhZmVDbGFzc01hcCIsInNhZmVTdHlsZU1hcCIsInNvbHV0aW9uc0FsbFBhbmVsT3ZlcnJpZGUiLCJkcm9wZG93bkl0ZW1zIiwibm90aGluZyIsImRyb3Bkb3duSXRlbSIsImRpc3BsYXlWYWx1ZSIsInNvcnRUeXBlIiwic29ydFN0cmluZyIsImZpbHRlciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUEyRE0sTUFBT0EsVUFBK0JDLEVBQVU7QUFBQSxF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
|
123
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tRWxlbWVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc29sdXRpb25zLWRlcGxveWVkLXNoZWxsL3NvbHV0aW9ucy1kZXBsb3llZC1zaGVsbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBsaWNlbnNlXHJcbiAqIENvcHlyaWdodCAyMDI1IEVzcmlcclxuICpcclxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICdMaWNlbnNlJyk7XHJcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cclxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XHJcbiAqXHJcbiAqICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxyXG4gKlxyXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXHJcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsXHJcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxyXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXHJcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxyXG4gKi9cclxuXHJcbmltcG9ydCB0eXBlIFQ5blN0cmluZ3MgZnJvbSAnLi9hc3NldHMvdDluL21lc3NhZ2VzLmVuLmpzb24nO1xyXG5pbXBvcnQgeyB1c2VUOW4gfSBmcm9tICcuLi8uLi9jb250cm9sbGVycy91c2VUOW4nO1xyXG5pbXBvcnQge1xyXG4gIGNyZWF0ZUV2ZW50LFxyXG4gIEZyYWdtZW50LFxyXG4gIGgsXHJcbiAgTGl0RWxlbWVudCxcclxuICBtZXRob2QsXHJcbiAgcHJvcGVydHksXHJcbiAgc3RhdGUsXHJcbn0gZnJvbSAnQGFyY2dpcy9sdW1pbmEnO1xyXG5pbXBvcnQge1xyXG4gIHVzZUNvbnRleHRDb25zdW1lcixcclxufSBmcm9tICdAYXJjZ2lzL2x1bWluYS9jb250ZXh0JztcclxuaW1wb3J0IHR5cGUge1xyXG4gIEpzeE5vZGUsXHJcbn0gZnJvbSAnQGFyY2dpcy9sdW1pbmEnO1xyXG5pbXBvcnQgeyBzdHlsZXMgfSBmcm9tICcuL3NvbHV0aW9ucy1kZXBsb3llZC1zaGVsbC5jc3MnO1xyXG5pbXBvcnQge1xyXG4gIGF1dGhDb250ZXh0LFxyXG4gIGlzTW9iaWxlQ29udGV4dCxcclxufSBmcm9tICcuLi8uLi91dGlscy9kZXBsb3lBcHBDb250ZXh0cyc7XHJcbmltcG9ydCB7XHJcbiAgSUZpbHRlck9wdGlvbixcclxuICBJU2VhcmNoT3B0aW9uLFxyXG4gIElTb3J0T3B0aW9uLFxyXG4gIFNvcnRUeXBlXHJcbn0gZnJvbSAnLi4vLi4vdXRpbHMvaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB0eXBlIHsgUHJvcGVydHlWYWx1ZXMgfSBmcm9tICdsaXQnO1xyXG5pbXBvcnQgeyBjcmVhdGVSZWYgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZWYuanMnO1xyXG5pbXBvcnQgdHlwZSB7IFNvbHV0aW9uc0RlcGxveWVkUGFuZWwgfSBmcm9tICcuLi9zb2x1dGlvbnMtZGVwbG95ZWQtcGFuZWwvc29sdXRpb25zLWRlcGxveWVkLXBhbmVsJztcclxuaW1wb3J0IHsgZ2V0VXNlcklzQWRtaW4gfSBmcm9tICcuLi8uLi91dGlscy9wcml2aWxlZ2VVdGlscyc7XHJcblxyXG5kZWNsYXJlIGdsb2JhbCB7XHJcbiAgaW50ZXJmYWNlIERlY2xhcmVFbGVtZW50cyB7XHJcbiAgICAnc29sdXRpb25zLWRlcGxveWVkLXNoZWxsJzogU29sdXRpb25zRGVwbG95ZWRTaGVsbDtcclxuICB9XHJcbn1cclxuXHJcbi8vIFRPRE8gdGhpcyBzaG91bGQgYmUgcmVtb3ZlZCBhZnRlciBpbml0aWFsIGRldiBjeWNsZVxyXG4vLyBodHRwczovL2RldnRvcGlhLmVzcmkuY29tL1dlYkdJUy9zb2x1dGlvbi1kZXBsb3ltZW50LWFwcHMvaXNzdWVzLzQwM1xyXG5cclxuZXhwb3J0IGNsYXNzIFNvbHV0aW9uc0RlcGxveWVkU2hlbGwgZXh0ZW5kcyBMaXRFbGVtZW50IHtcclxuXHJcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gIC8vXHJcbiAgLy8gIE92ZXJyaWRlcyAoaW50ZXJuYWwpXHJcbiAgLy9cclxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4gIHN0YXRpYyBvdmVycmlkZSBzdHlsZXMgPSBzdHlsZXM7XHJcblxyXG4gIC8qKiBJbnZva2VkIGJlZm9yZSB1cGRhdGUoKSB0byBjb21wdXRlIHZhbHVlcyBuZWVkZWQgZHVyaW5nIHRoZSB1cGRhdGUuXHJcbiAgICogSW1wbGVtZW50IHdpbGxVcGRhdGUgdG8gY29tcHV0ZSBwcm9wZXJ0eSB2YWx1ZXMgdGhhdCBkZXBlbmQgb24gb3RoZXIgcHJvcGVydGllcyBhbmQgYXJlIHVzZWQgaW4gdGhlIHJlc3Qgb2YgdGhlIHVwZGF0ZSBwcm9jZXNzXHJcbiAgKi9cclxuICBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlcy5oYXMoJ2lzTW9iaWxlJykpIHtcclxuICAgICAgLy8gd2hlbiB3ZSBzd2l0Y2ggdG8vZnJvbSBtb2JpbGUgdmlldyB0aGUgZmlsdGVyIGlzIGZvcmNlZCB0byBvcGVuL2Nsb3NlXHJcbiAgICAgIHRoaXMuZmlsdGVyT3BlbiA9ICF0aGlzLmlzTW9iaWxlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gIC8vXHJcbiAgLy8gIFByb3BlcnRpZXMgKHB1YmxpYylcclxuICAvL1xyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgLyoqIEFwcCBjb25maWcgdG8gdXNlIHdoZW4gdXNlTG9jYWxBcHBDb25maWcgaXMgZmFsc2UgKi9cclxuICBAcHJvcGVydHkoKSBhcHBDb25maWc6IGFueTtcclxuXHJcbiAgLyoqIFRoZSBudW1iZXIgb2Ygc29sdXRpb24gY2FyZHMgY3VycmVudGx5IGRpc3BsYXllZCAqL1xyXG4gIEBwcm9wZXJ0eSgpIHNvbHV0aW9uc0NvdW50ID0gMDtcclxuXHJcbiAgLyoqIFRoZSBjdXJyZW50IHNvcnQgdHlwZSBhcHBsaWVkIHRvIHRoZSBkaXNwbGF5ZWQgY2FyZHMgKi9cclxuICBAcHJvcGVydHkoKSBzb3J0VHlwZTogU29ydFR5cGUgPSAnY3JlYXRlZCc7XHJcblxyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAvL1xyXG4gIC8vICBTdGF0ZSAoaW50ZXJuYWwpXHJcbiAgLy9cclxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4gIC8qKiBUaGUgZmlsdGVyIGlzIGFsd2F5cyBvcGVuIHdoZW4gd2UgYXJlIG5vdCBpbiBtb2JpbGUgdmlldy5cclxuICAgKiBXaGVuIGZhbHNlIGFuZCBpbiBtb2JpbGUgdmlldyB0aGUgZmlsdGVyIGlzIGhpZGRlbi5cclxuICAgKi9cclxuICBAc3RhdGUoKSBmaWx0ZXJPcGVuID0gdHJ1ZTtcclxuXHJcbiAgLyoqIFRoZSBjdXJyZW50IGZpbHRlcnMgYXBwbGllZCB0byB0aGUgZGlzcGxheWVkIGNhcmRzICovXHJcbiAgQHN0YXRlKCkgZmlsdGVyczogSUZpbHRlck9wdGlvbltdID0gW107XHJcblxyXG4gIEBzdGF0ZSgpIGlzTW9iaWxlID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnRhaW5zIHRoZSB0cmFuc2xhdGlvbnMgZm9yIHRoaXMgY29tcG9uZW50LlxyXG4gICAqIEFsbCBVSSBzdHJpbmdzIHNob3VsZCBiZSBkZWZpbmVkIGhlcmUuXHJcbiAgICovXHJcbiAgQHN0YXRlKCkgX3RyYW5zbGF0aW9ucyA9IHVzZVQ5bjx0eXBlb2YgVDluU3RyaW5ncz4oeyBuYW1lOiAnc29sdXRpb25zLWRlcGxveWVkLXNoZWxsJywgYmxvY2tpbmc6IHRydWUgfSk7XHJcblxyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAvL1xyXG4gIC8vICBQcm9wZXJ0aWVzIChwcml2YXRlKVxyXG4gIC8vXHJcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuICAvKiogVGhlIEF1dGggY29udGV4dCBjb25zdW1lci4gKi9cclxuICBwcml2YXRlIF9hdXRoQ29udGV4dENvbnN1bWVyID0gdXNlQ29udGV4dENvbnN1bWVyKHtcclxuICAgIGNvbnRleHQ6IGF1dGhDb250ZXh0LFxyXG4gICAgc3Vic2NyaWJlOiB0cnVlXHJcbiAgfSk7XHJcblxyXG4gIC8qKiBXaGVuIHRydWUgd2UgYXJlIGluIG1vYmlsZSB2aWV3LiAqL1xyXG4gIHByaXZhdGUgX2lzTW9iaWxlQ29udGV4dENvbnN1bWVyID0gdXNlQ29udGV4dENvbnN1bWVyKHtcclxuICAgIGNvbnRleHQ6IGlzTW9iaWxlQ29udGV4dCxcclxuICAgIHN1YnNjcmliZTogdHJ1ZSxcclxuICAgIGNhbGxiYWNrOiAodmFsdWUpID0+IHRoaXMuaXNNb2JpbGUgPSB2YWx1ZSxcclxuICB9KTtcclxuXHJcbiAgLyoqIEZsYWcgdG8gc3RvcmUgaWYgbG9nZ2VkIGluIHVzZXIgaXMgYW4gYWRtaW4gdG8gdGhpcyBBcmNHSVMgRW50ZXJwcmlzZS4gKi9cclxuICBwcml2YXRlIF9pc09yZ0FkbWluID0gZmFsc2U7XHJcblxyXG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIHNvbHV0aW9ucy1hbGwtcGFuZWwgc28gd2UgY2FuIHNlYXJjaCBmb3Igc29sdXRpb25zIHdoZW4gZmlsdGVyIGFuZCBzb3J0IG9wdGlvbnMgY2hhbmdlICovXHJcbiAgcHJpdmF0ZSBfc29sdXRpb25zRGVwbG95ZWRQYW5lbFJlZiA9IGNyZWF0ZVJlZjxTb2x1dGlvbnNEZXBsb3llZFBhbmVsPigpO1xyXG5cclxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgLy9cclxuICAvLyAgV2F0Y2ggaGFuZGxlcnNcclxuICAvL1xyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gIC8vXHJcbiAgLy8gIE1ldGhvZHMgKHB1YmxpYylcclxuICAvL1xyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VhcmNoIHNvbHV0aW9ucyBiYXNlZCBvbiBrZXkgY3JpdGVyaWFcclxuICAgKlxyXG4gICAqIEBwYXJhbSBzZWFyY2hPcHRpb25zIHRoZSBrZXkgY3JpdGVyaWEgdG8gc2VhcmNoIHdpdGhcclxuICAgKi9cclxuICBAbWV0aG9kKClcclxuICBhc3luYyBzZWFyY2hTb2x1dGlvbnMoXHJcbiAgICBzZWFyY2hPcHRpb25zOiBJRmlsdGVyT3B0aW9uIHwgSVNlYXJjaE9wdGlvbiB8IElTb3J0T3B0aW9uXHJcbiAgKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb25zb2xlLmxvZyhzZWFyY2hPcHRpb25zKTtcclxuICAgIC8vIFRPRE8gc2VlIGlmIHdlIGNhbiBoYW5kbGUgdGhpcyB3aXRob3V0IGR1cGxpY2F0ZSBzZWFyY2hlcyB3aGVuIHdlIGhhdmUgbXVsdGlwbGUgY3JpdGVyaWFcclxuICAgIGlmICgnc2VhcmNoVGVybScgaW4gc2VhcmNoT3B0aW9ucykge1xyXG4gICAgICB0aGlzLl9zb2x1dGlvbnNEZXBsb3llZFBhbmVsUmVmLnZhbHVlPy5zZWFyY2hTb2x1dGlvbnMoc2VhcmNoT3B0aW9ucyk7XHJcbiAgICB9XHJcbiAgICBpZiAoJ3NvcnRUeXBlJyBpbiBzZWFyY2hPcHRpb25zKSB7XHJcbiAgICAgIHRoaXMuX3NvcnRDaGFuZ2VkKHNlYXJjaE9wdGlvbnMuc29ydFR5cGUpO1xyXG4gICAgfVxyXG4gICAgaWYgKCdpbmR1c3RyeScgaW4gc2VhcmNoT3B0aW9ucyB8fCAnZG9tYWluJyBpbiBzZWFyY2hPcHRpb25zKSB7XHJcbiAgICAgIGNvbnN0IGV2dCA9IG5ldyBDdXN0b21FdmVudCgnc29sdXRpb25zRmlsdGVyQXBwbGllZCcsIHtcclxuICAgICAgICBkZXRhaWw6IHNlYXJjaE9wdGlvbnMsXHJcbiAgICAgICAgYnViYmxlczogdHJ1ZSxcclxuICAgICAgICBjYW5jZWxhYmxlOiBmYWxzZSxcclxuICAgICAgICBjb21wb3NlZDogdHJ1ZSxcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuX2ZpbHRlckFwcGxpZWQoZXZ0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAvL1xyXG4gIC8vICBFdmVudHMgKHB1YmxpYylcclxuICAvL1xyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgLyoqIEVtaXR0ZWQgb24gZGVtYW5kIHdoZW4gYSBmaWx0ZXIgY2hpcCBpcyBjbG9zZWQgKi9cclxuICBmaWx0ZXJSZW1vdmVkID0gY3JlYXRlRXZlbnQ8SUZpbHRlck9wdGlvbj4oKTtcclxuXHJcbiAgLyoqIEVtaXR0ZWQgb24gZGVtYW5kIHdoZW4gdGhlIGF1dGggdG9rZW4gaXMgdXBkYXRlZCAqL1xyXG4gIHRva2VuUmVmcmVzaGVkID0gY3JlYXRlRXZlbnQ8c3RyaW5nPigpO1xyXG5cclxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgLy9cclxuICAvLyAgRnVuY3Rpb25zIChsaWZlY3ljbGUpXHJcbiAgLy9cclxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4gIC8qKiBDYWxsZWQgb25jZSBqdXN0IGFmdGVyIHRoZSBjb21wb25lbnQgaXMgZmlyc3QgY29ubmVjdGVkIHRvIHRoZSBET00uXHJcbiAgICogU2luY2UgdGhpcyBtZXRob2QgaXMgb25seSBjYWxsZWQgb25jZSwgaXQncyBhIGdvb2QgcGxhY2UgdG8gbG9hZCBkYXRhIGFzeW5jaHJvbm91c2x5XHJcbiAgICogYW5kIHRvIHNldHVwIHRoZSBzdGF0ZSB3aXRob3V0IHRyaWdnZXJpbmcgZXh0cmEgcmUtcmVuZGVycy4gKi9cclxuICBhc3luYyBsb2FkKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMuX2lzTW9iaWxlQ29udGV4dENvbnN1bWVyLnZhbHVlKSB7XHJcbiAgICAgIHRoaXMuaXNNb2JpbGUgPSB0aGlzLl9pc01vYmlsZUNvbnRleHRDb25zdW1lci52YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9pc09yZ0FkbWluID0gZ2V0VXNlcklzQWRtaW4odGhpcy5fYXV0aENvbnRleHRDb25zdW1lci52YWx1ZSEpO1xyXG4gIH1cclxuXHJcbiAgLyoqIFJlbmRlcnMgdGhlIGNvbXBvbmVudC4gKi9cclxuICBvdmVycmlkZSByZW5kZXIoKTogSnN4Tm9kZSB7XHJcbiAgICBjb25zdCBmYWJJY29uID0gdGhpcy5maWx0ZXJPcGVuID8gJ2NoZXZyb24tbGVmdCcgOiAnY2hldnJvbi1yaWdodCc7XHJcbiAgICBjb25zdCBzb2x1dGlvbnNDb3VudFN0eWxlID0gdGhpcy5pc01vYmlsZSA/ICdqdXN0aWZ5LWNvbnRlbnQtZW5kJyA6ICcnO1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgPGNhbGNpdGUtc2hlbGwgY2xhc3M9J3Bvc2l0aW9uLXJlbGF0aXZlJz5cclxuICAgICAgICA8Y2FsY2l0ZS1idXR0b25cclxuICAgICAgICAgIGFwcGVhcmFuY2U9J291dGxpbmUtZmlsbCdcclxuICAgICAgICAgIGNsYXNzPSdmaWx0ZXItYnV0dG9uIG1vY2stZmFiIHotaW5kZXgtMidcclxuICAgICAgICAgIGljb24tc3RhcnQ9e2ZhYkljb259XHJcbiAgICAgICAgICBraW5kPSduZXV0cmFsJ1xyXG4gICAgICAgICAgb25DbGljaz17dGhpcy5fdG9nZ2xlRmlsdGVyfVxyXG4gICAgICAgICAgc2NhbGU9J20nXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8Y2FsY2l0ZS1wYW5lbCBjbGFzcz0nYm9yZGVyLW92ZXJyaWRlIGhlYWRlci1vdmVycmlkZSBiYWNrZ3JvdW5kLW92ZXJyaWRlIHotaW5kZXgtMSc+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPXtgZGlzcGxheS1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciAke3NvbHV0aW9uc0NvdW50U3R5bGV9YH1cclxuICAgICAgICAgICAgc2xvdD0naGVhZGVyLWNvbnRlbnQnXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxjYWxjaXRlLWxhYmVsIGNsYXNzPSdsYWJlbC1vdmVycmlkZSBmbGV4LWdyb3cnIGxheW91dD0naW5saW5lJz5cclxuICAgICAgICAgICAgICB7dGhpcy5pc01vYmlsZSA/ICg8PjwvPikgOiB0aGlzLl9nZXRGaWx0ZXJQYW5lbCgpfVxyXG4gICAgICAgICAgICA8L2NhbGNpdGUtbGFiZWw+XHJcbiAgICAgICAgICAgIDxjYWxjaXRlLWxhYmVsIGNsYXNzPSdsYWJlbC1vdmVycmlkZSBmbGV4LXNocmluay0wJyBsYXlvdXQ9J2lubGluZSc+XHJcbiAgICAgICAgICAgICAge3RoaXMuX3RyYW5zbGF0aW9ucy5udW1iZXJPZlNvbHV0aW9ucy5yZXBsYWNlKCd7e2NvdW50fX0nLCB0aGlzLnNvbHV0aW9uc0NvdW50LnRvU3RyaW5nKCkpfVxyXG4gICAgICAgICAgICA8L2NhbGNpdGUtbGFiZWw+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgc2xvdD0naGVhZGVyLWFjdGlvbnMtZW5kJz5cclxuICAgICAgICAgICAge3RoaXMuX3JlbmRlckRyb3Bkb3duKCl9XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIHt0aGlzLmlzTW9iaWxlICYmIHRoaXMuX2dldEZpbHRlclBhbmVsKCl9XHJcbiAgICAgICAgICB7dGhpcy5fZ2V0U29sdXRpb25zQWxsUGFuZWwoKX1cclxuICAgICAgICA8L2NhbGNpdGUtcGFuZWw+XHJcbiAgICAgIDwvY2FsY2l0ZS1zaGVsbD5cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgLy9cclxuICAvLyAgRnVuY3Rpb25zIChwcml2YXRlKVxyXG4gIC8vXHJcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuICAvKiogUmVuZGVycyB0aGUgb3B0aW9ucyBmb3IgZmlsdGVyaW5nIHRoZSBjdXJyZW50IHNvbHV0aW9uIGNhcmRzICovXHJcbiAgcHJpdmF0ZSBfZ2V0RmlsdGVyUGFuZWwoKTogSnN4Tm9kZSB7XHJcbiAgICBjb25zdCBmaWx0ZXJPdmVycmlkZSA9IHRoaXMuZmlsdGVyT3BlbiA/IHsgJ2Rpc3BsYXknOiAnZmxleCcgfSA6ICcnO1xyXG4gICAgcmV0dXJuICAoXHJcbiAgICAgIDxjYWxjaXRlLXBhbmVsXHJcbiAgICAgICAgY2xhc3M9e3RoaXMuZmlsdGVyT3BlbiA/ICdiYWNrZ3JvdW5kLW92ZXJyaWRlJyA6ICdmaWx0ZXIgYmFja2dyb3VuZC1vdmVycmlkZSd9XHJcbiAgICAgICAgaWQ9J3NvbHV0aW9ucy1hbGwtc2hlbGwtcGFuZWwtc3RhcnQnIC8vIFRPRE8gY29uZmlybSB3aXRoIEF6aXphIGlmIHNoZSB3YW50cyB0aGlzIHRvIHN0YXkgdGhlIHNhbWUgZm9yIGhlciB0ZXN0c1xyXG4gICAgICAgIHN0eWxlPXtmaWx0ZXJPdmVycmlkZX1cclxuICAgICAgPlxyXG4gICAgICAgIDxzb2x1dGlvbnMtZGVwbG95ZWQtZmlsdGVyLXBhbmVsXHJcbiAgICAgICAgICBjbGFzcz0naGVpZ2h0LTEwMCBmbGV4LTEnXHJcbiAgICAgICAgICBpc01vYmlsZT17dGhpcy5pc01vYmlsZX1cclxuICAgICAgICAgIGlzT3JnQWRtaW49e3RoaXMuX2lzT3JnQWRtaW59XHJcbiAgICAgICAgICBvbmFwcGx5RmlsdGVyPXt0aGlzLl9maWx0ZXJBcHBsaWVkfVxyXG4gICAgICAgIC8+XHJcbiAgICAgIDwvY2FsY2l0ZS1wYW5lbD5cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKiogUmVuZGVycyB0aGUgcGFuZWwgdGhhdCBzaG93cyB0aGUgY3VycmVudCBzb2x1dGlvbiBjYXJkcy4gKi9cclxuICBwcml2YXRlIF9nZXRTb2x1dGlvbnNBbGxQYW5lbCgpOiBKc3hOb2RlIHtcclxuICAgIGNvbnN0IHNvbHV0aW9uc0FsbFBhbmVsT3ZlcnJpZGUgPSB0aGlzLmlzTW9iaWxlICYmIHRoaXMuZmlsdGVyT3BlbiA/IHsgJ2Rpc3BsYXknOiAnbm9uZScgfSA6ICcnO1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgPHNvbHV0aW9ucy1kZXBsb3llZC1wYW5lbFxyXG4gICAgICAgIGFnb1NvbHV0aW9uc0dyb3VwSWQ9e3RoaXMuYXBwQ29uZmlnLnByaW1hcnlTb2x1dGlvbnNHcm91cElkfVxyXG4gICAgICAgIGVudGVycHJpc2VTb2x1dGlvbnNHcm91cElkPXt0aGlzLmFwcENvbmZpZy5hZ29CYXNlZEVudGVycHJpc2VTb2x1dGlvbnNHcm91cElkfVxyXG4gICAgICAgIGxvY2FsZT17dGhpcy5hcHBDb25maWcubG9jYWxlIHx8ICdlbid9XHJcbiAgICAgICAgb3JnVXJsPXt0aGlzLmFwcENvbmZpZy5wb3J0YWxVUkx9XHJcbiAgICAgICAgb25kZXBsb3llZENhcmRzRmV0Y2hlZD17dGhpcy5fdXBkYXRlU29sdXRpb25Db3VudH1cclxuICAgICAgICBwb3J0YWxVcmw9e3RoaXMuYXBwQ29uZmlnLnBvcnRhbFVSTH1cclxuICAgICAgICByZWY9e3RoaXMuX3NvbHV0aW9uc0RlcGxveWVkUGFuZWxSZWZ9XHJcbiAgICAgICAgc29ydFR5cGU9e3RoaXMuc29ydFR5cGV9XHJcbiAgICAgICAgc3R5bGU9e3NvbHV0aW9uc0FsbFBhbmVsT3ZlcnJpZGV9XHJcbiAgICAgIC8+XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqIFJlbmRlcnMgYSBkcm9wZG93biB3aXRoIHRoZSB2YXJpb3VzIHNvcnQgb3B0aW9ucy4gKi9cclxuICBwcml2YXRlIF9yZW5kZXJEcm9wZG93bigpOiBKc3hOb2RlIHtcclxuICAgIGNvbnN0IGRyb3Bkb3duSXRlbXMgPSBbe1xyXG4gICAgICBkaXNwbGF5VmFsdWU6IHRoaXMuX3RyYW5zbGF0aW9ucy5zb3J0QnlSZWxldmFuY2UsXHJcbiAgICAgIHNvcnRUeXBlOiAncmVsZXZhbmNlJ1xyXG4gICAgfSwge1xyXG4gICAgICBkaXNwbGF5VmFsdWU6IHRoaXMuX3RyYW5zbGF0aW9ucy5zb3J0QnlUaXRsZSxcclxuICAgICAgc29ydFR5cGU6ICd0aXRsZSdcclxuICAgIH0sIHtcclxuICAgICAgZGlzcGxheVZhbHVlOiB0aGlzLl90cmFuc2xhdGlvbnMuc29ydEJ5RGF0ZURlcGxveWVkLFxyXG4gICAgICBzb3J0VHlwZTogJ2NyZWF0ZWQnXHJcbiAgICB9XTtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxjYWxjaXRlLWRyb3Bkb3duIHdpZHRoPSdtJz5cclxuICAgICAgICA8Y2FsY2l0ZS1idXR0b25cclxuICAgICAgICAgIGFwcGVhcmFuY2U9J291dGxpbmUtZmlsbCdcclxuICAgICAgICAgIGNsYXNzPSdoZWFkZXItYnV0dG9uLXBhZGRpbmcnXHJcbiAgICAgICAgICBpY29uU3RhcnQ9J3NvcnQtZGVzY2VuZGluZydcclxuICAgICAgICAgIGtpbmQ9J25ldXRyYWwnXHJcbiAgICAgICAgICBzbG90PSd0cmlnZ2VyJ1xyXG4gICAgICAgID5cclxuICAgICAgICAgIHt0aGlzLmlzTW9iaWxlID8gJycgOiB0aGlzLl9nZXRTdHJpbmcodGhpcy5zb3J0VHlwZSl9XHJcbiAgICAgICAgPC9jYWxjaXRlLWJ1dHRvbj5cclxuICAgICAgICA8Y2FsY2l0ZS1kcm9wZG93bi1ncm91cCBncm91cC10aXRsZT17dGhpcy5fdHJhbnNsYXRpb25zLmNob29zZVNvcnRUeXBlfT5cclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgZHJvcGRvd25JdGVtcy5tYXAoZHJvcGRvd25JdGVtID0+IHtcclxuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fZ2V0RHJvcGRvd25JdGVtKFxyXG4gICAgICAgICAgICAgICAgZHJvcGRvd25JdGVtLmRpc3BsYXlWYWx1ZSxcclxuICAgICAgICAgICAgICAgIGRyb3Bkb3duSXRlbS5zb3J0VHlwZSBhcyBTb3J0VHlwZVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9jYWxjaXRlLWRyb3Bkb3duLWdyb3VwPlxyXG4gICAgICA8L2NhbGNpdGUtZHJvcGRvd24+XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqIEdldCBhbiBpbmRpdmlkdWFsIGRyb3Bkb3duIGl0ZW0gZm9yIHRoZSBzb3J0IG9wdGlvbnMgKi9cclxuICBwcml2YXRlIF9nZXREcm9wZG93bkl0ZW0oXHJcbiAgICBkaXNwbGF5VmFsdWU6IHN0cmluZyxcclxuICAgIHNvcnRUeXBlOiBTb3J0VHlwZVxyXG4gICk6IEpzeE5vZGUge1xyXG4gICAgLy8gaWYgc2VsZWN0ZWQgYXR0cmlidXRlIGlzIHRydWUgb3IgZmFsc2UgaXQgd2lsbCBiZSBzZWxlY3RlZCBpZiBzZXQgb24gdGhlIGRyb3Bkb3duIGl0ZW1cclxuICAgIC8vIHRoaXMgYWxsb3dzIHVzIHRvIG9ubHkgc2V0IHRoZSBhdHRyaWJ1dGUgaWYgaXQncyBzZWxlY3RlZC4uLm9wZW4gdG8gYSBiZXR0ZXIgd2F5IGlmIGZvdW5kXHJcbiAgICByZXR1cm4gdGhpcy5zb3J0VHlwZSAhPT0gc29ydFR5cGUgPyAoXHJcbiAgICAgIDxjYWxjaXRlLWRyb3Bkb3duLWl0ZW0gb25DbGljaz17KCkgPT4gdGhpcy5fc29ydENoYW5nZWQoc29ydFR5cGUpfT5cclxuICAgICAgICB7ZGlzcGxheVZhbHVlfVxyXG4gICAgICA8L2NhbGNpdGUtZHJvcGRvd24taXRlbT5cclxuICAgICkgOiAoXHJcbiAgICAgIDxjYWxjaXRlLWRyb3Bkb3duLWl0ZW1cclxuICAgICAgICBvbkNsaWNrPXsoKSA9PiB0aGlzLl9zb3J0Q2hhbmdlZChzb3J0VHlwZSl9XHJcbiAgICAgICAgc2VsZWN0ZWRcclxuICAgICAgPlxyXG4gICAgICAgIHtkaXNwbGF5VmFsdWV9XHJcbiAgICAgIDwvY2FsY2l0ZS1kcm9wZG93bi1pdGVtPlxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgLyoqIEdldCB0aGUgZGlzcGxheSBzdHJpbmcgYmFzZWQgb24gdGhlIHNvcnQgdHlwZSAqL1xyXG4gIHByaXZhdGUgX2dldFN0cmluZyhcclxuICAgIHNvcnRUeXBlOiBTb3J0VHlwZVxyXG4gICk6IHN0cmluZyB7XHJcbiAgICBsZXQgc29ydFN0cmluZyA9ICcnO1xyXG4gICAgc3dpdGNoIChzb3J0VHlwZSkge1xyXG4gICAgICBjYXNlICdjcmVhdGVkJzpcclxuICAgICAgICBzb3J0U3RyaW5nID0gdGhpcy5fdHJhbnNsYXRpb25zLnNvcnRCeURhdGVEZXBsb3llZDtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgJ3JlbGV2YW5jZSc6XHJcbiAgICAgICAgc29ydFN0cmluZyA9IHRoaXMuX3RyYW5zbGF0aW9ucy5zb3J0QnlSZWxldmFuY2U7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlICd0aXRsZSc6XHJcbiAgICAgICAgc29ydFN0cmluZyA9IHRoaXMuX3RyYW5zbGF0aW9ucy5zb3J0QnlUaXRsZTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gc29ydFN0cmluZztcclxuICB9XHJcblxyXG4gIC8qKiBVcGRhdGUgdGhlIHNvbHV0aW9uIGNvdW50IHdoZW4gbmV3IGNhcmRzIGFyZSBmZXRjaGVkIGJ5IHRoZSBzb2x1dGlvbnMtYWxsLXBhbmVsICovXHJcbiAgcHJpdmF0ZSBfdXBkYXRlU29sdXRpb25Db3VudChldnQ6IEN1c3RvbUV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLnNvbHV0aW9uc0NvdW50ID0gZXZ0LmRldGFpbDtcclxuICB9XHJcblxyXG4gIC8qKiBTdG9yZSB0aGUgdXNlciBzZWxlY3RlZCBzb3J0IHR5cGUgKi9cclxuICBwcml2YXRlIF9zb3J0Q2hhbmdlZChzb3J0VHlwZTogU29ydFR5cGUpOiB2b2lkIHtcclxuICAgIHRoaXMuc29ydFR5cGUgPSBzb3J0VHlwZTtcclxuICAgIC8vIFRPRE8gSW1wbGVtZW50IHRoaXMgaW4gdGhlIHBhbmVsXHJcbiAgICB0aGlzLl9zb2x1dGlvbnNEZXBsb3llZFBhbmVsUmVmLnZhbHVlPy5zZWFyY2hTb2x1dGlvbnMoe1xyXG4gICAgICBzb3J0VHlwZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKiogVGhpcyBmdW5jdGlvbiBpcyBvbmx5IHJlbGV2YW50IGluIG1vYmlsZSB2aWV3LlxyXG4gICAqIFdoZW4gdHJ1ZSB0aGUgZmlsdGVyIHdpbGwgYmUgc2hvd25cclxuICAgKi9cclxuICBwcml2YXRlIF90b2dnbGVGaWx0ZXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZpbHRlck9wZW4gPSAhdGhpcy5maWx0ZXJPcGVuO1xyXG4gIH1cclxuXHJcbiAgLyoqIFNlYXJjaCBzb2x1dGlvbnMgYW5kIHVwZGF0ZSB0aGUgY2hpcHMgd2hlbiBhIGZpbHRlciBpcyBhcHBsaWVkICovXHJcbiAgcHJpdmF0ZSBfZmlsdGVyQXBwbGllZChcclxuICAgIGV2dDogQ3VzdG9tRXZlbnRcclxuICApOiB2b2lkIHtcclxuICAgIGlmIChldnQuZGV0YWlsKSB7XHJcbiAgICAgIGlmICgnZGlzcGxheVZhbHVlJyBpbiBldnQuZGV0YWlsKSB7XHJcbiAgICAgICAgLy8gdGhpcyBpcyBhIGZpbHRlciBhbmQgd2Ugc2hvdWxkIHVwZGF0ZSB0aGUgY2hpcHNcclxuICAgICAgICAvLyBmaWx0ZXIgb3V0IGFueSBleGlzdGluZyBpbmR1c3RyeSBjaGlwcywgb25seSAxIGluZHVzdHJ5IGF0IGEgdGltZS5cclxuICAgICAgICBpZiAoJ3R5cGUnIGluIGV2dC5kZXRhaWwgJiYgZXZ0LmRldGFpbC50eXBlID09PSAnaW5kdXN0cnknKSB7XHJcbiAgICAgICAgICB0aGlzLmZpbHRlcnMgPSB0aGlzLmZpbHRlcnMuZmlsdGVyKGZpbHRlciA9PiBmaWx0ZXIudHlwZSAhPT0gJ2luZHVzdHJ5Jyk7XHJcbiAgICAgICAgICB0aGlzLmZpbHRlcnMucHVzaChldnQuZGV0YWlsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5fc29sdXRpb25zRGVwbG95ZWRQYW5lbFJlZi52YWx1ZT8uc2VhcmNoU29sdXRpb25zKGV2dC5kZXRhaWwpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5maWx0ZXJzID0gW107XHJcbiAgICAgIHRoaXMuX3NvbHV0aW9uc0RlcGxveWVkUGFuZWxSZWYudmFsdWU/LnNlYXJjaFNvbHV0aW9ucygpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXSwibmFtZXMiOlsiU29sdXRpb25zRGVwbG95ZWRTaGVsbCIsIkxpdEVsZW1lbnQiLCJ1c2VUOW4iLCJ1c2VDb250ZXh0Q29uc3VtZXIiLCJhdXRoQ29udGV4dCIsImlzTW9iaWxlQ29udGV4dCIsInZhbHVlIiwiY3JlYXRlUmVmIiwiY3JlYXRlRXZlbnQiLCJzdHlsZXMiLCJjaGFuZ2VzIiwic2VhcmNoT3B0aW9ucyIsImV2dCIsImdldFVzZXJJc0FkbWluIiwiZmFiSWNvbiIsInNvbHV0aW9uc0NvdW50U3R5bGUiLCJodG1sIiwiZmlsdGVyT3ZlcnJpZGUiLCJzYWZlQ2xhc3NNYXAiLCJzYWZlU3R5bGVNYXAiLCJzb2x1dGlvbnNBbGxQYW5lbE92ZXJyaWRlIiwiZHJvcGRvd25JdGVtcyIsIm5vdGhpbmciLCJkcm9wZG93bkl0ZW0iLCJkaXNwbGF5VmFsdWUiLCJzb3J0VHlwZSIsInNvcnRTdHJpbmciLCJmaWx0ZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBMkRNLE1BQU9BLFVBQStCQyxFQUFVO0FBQUEsRUFB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
|
@@ -6,7 +6,7 @@ import { LitElement as A, createEvent as b } from "@arcgis/lumina";
|
|
6
6
|
import { j as E } from "../../chunks/interfaces.js";
|
7
7
|
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
8
8
|
See https://js.arcgis.com/1.1/esri/copyright.txt for details.
|
9
|
-
v1.1.0-next.20250917.
|
9
|
+
v1.1.0-next.20250917.2 */
|
10
10
|
const y = I`/** @license
|
11
11
|
* Copyright 2025 Esri
|
12
12
|
*
|
@@ -5,7 +5,7 @@ import { css as E, html as t, nothing as i } from "lit";
|
|
5
5
|
import { LitElement as o, createEvent as b, noShadowRoot as f, safeClassMap as y } from "@arcgis/lumina";
|
6
6
|
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
7
7
|
See https://js.arcgis.com/1.1/esri/copyright.txt for details.
|
8
|
-
v1.1.0-next.20250917.
|
8
|
+
v1.1.0-next.20250917.2 */
|
9
9
|
/**
|
10
10
|
* @license
|
11
11
|
* Copyright 2025 Esri
|
@@ -4,7 +4,7 @@ import { g as o, a as n } from "../../chunks/templates.js";
|
|
4
4
|
import { LitElement as i, createEvent as l, noShadowRoot as u } from "@arcgis/lumina";
|
5
5
|
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
6
6
|
See https://js.arcgis.com/1.1/esri/copyright.txt for details.
|
7
|
-
v1.1.0-next.20250917.
|
7
|
+
v1.1.0-next.20250917.2 */
|
8
8
|
class c extends i {
|
9
9
|
constructor() {
|
10
10
|
super(...arguments), this.value = "", this.templates = [], this.stateLoaded = l();
|